go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/trafficIPv6/ip_route/test_inter_vrf_routes_ipv6.robot (about)

     1  *** Settings ***
     2  
     3  Library     OperatingSystem
     4  Library     String
     5  #Library     RequestsLibrary
     6  
     7  Resource     ../../../variables/${VARIABLES}_variables.robot
     8  Resource    ../../../libraries/all_libs.robot
     9  Resource    ../../../libraries/pretty_keywords.robot
    10  
    11  Force Tags        traffic     IPv6
    12  Suite Setup       Run Keywords    Discard old results     Test Setup
    13  Suite Teardown    Test Teardown
    14  
    15  *** Variables ***
    16  ${VARIABLES}=          common
    17  ${ENV}=                common
    18  ${WAIT_TIMEOUT}=       20s
    19  ${SYNC_SLEEP}=         2s
    20  ${FINAL_SLEEP}=        1s
    21  ${IP_1}=               fd30::1:b:0:0:1
    22  ${IP_2}=               fd30::1:b:0:0:2
    23  ${IP_3}=               fd31::1:b:0:0:1
    24  ${IP_4}=               fd31::1:b:0:0:2
    25  #${NET1}=               fd30::1:0:0:0:0
    26  #${NET2}=               fd31::1:0:0:0:0
    27  ${NET1}=               fd30:0:0:1::
    28  ${NET2}=               fd31:0:0:1::
    29  
    30  *** Test Cases ***
    31  # Non default VRF table 2 used in Agent VPP Node agent_vpp_2
    32  Start Two Agents And Then Configure With Default And Non Default VRF
    33      Add Agent VPP Node    agent_vpp_1
    34      Add Agent VPP Node    agent_vpp_2
    35      Create Master memif0 on agent_vpp_1 with IP ${IP_1}, MAC 02:f1:be:90:00:00, key 1 and m0.sock socket
    36      Create Slave memif0 on agent_vpp_2 with IP ${IP_2}, MAC 02:f1:be:90:00:02, key 1 and m0.sock socket
    37  
    38      Then Create VRF Table    node=agent_vpp_1    id=2    protocol=ipv6
    39      Then Create VRF Table    node=agent_vpp_2    id=2    protocol=ipv6
    40  
    41      Create Master memif1 on agent_vpp_1 with VRF 2, IP ${IP_3}, MAC 02:f1:be:90:02:00, key 1 and m1.sock socket
    42      Create Slave memif1 on agent_vpp_2 with VRF 2, IP ${IP_4}, MAC 02:f1:be:90:02:02, key 1 and m1.sock socket
    43  
    44      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    List of interfaces On agent_vpp_1 Should Contain Interface memif1/1
    45      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    List of interfaces On agent_vpp_2 Should Contain Interface memif1/1
    46      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    List of interfaces On agent_vpp_1 Should Contain Interface memif2/1
    47      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    List of interfaces On agent_vpp_2 Should Contain Interface memif2/1
    48      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${IP_1}/128
    49      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    IP6 Fib Table 2 On agent_vpp_1 Should Contain Route With IP ${IP_3}/128
    50      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${IP_2}/128
    51      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${IP_4}/128
    52  
    53  Check Normal Ping Inside VRF
    54      # try ping
    55      Ping From agent_vpp_1 To ${IP_2}
    56      Ping From agent_vpp_2 To ${IP_1}
    57  
    58  Ping From Source Agent 1
    59      Ping On agent_vpp_1 With IP ${IP_2}, Source memif1/1
    60      Ping On agent_vpp_1 With IP ${IP_4}, Source memif2/1
    61  
    62  Ping From Source Agent 2
    63  #    ${int}=    Get Interface Internal Name    agent_vpp_2    memif0
    64  #    Ping On agent_vpp_2 With IP 10.1.1.1, Source ${int}
    65      Ping On agent_vpp_2 With IP ${IP_1}, Source memif1/1
    66      Ping On agent_vpp_2 With IP ${IP_3}, Source memif2/1
    67  
    68  Ping Should Fail
    69      #no route from vrf 0 to vrf 2, then shoul fail
    70      Command: Ping On agent_vpp_1 With IP ${IP_4}, Source memif1/1 should fail
    71      Command: Ping On agent_vpp_1 With IP ${IP_3}, Source memif1/1 should fail
    72      Command: Ping On agent_vpp_2 With IP ${IP_4}, Source memif1/1 should fail
    73      Command: Ping On agent_vpp_2 With IP ${IP_3}, Source memif1/1 should fail
    74  
    75  Create Route For Inter Vrf Routing
    76      Create Route On agent_vpp_1 With IP ${NET2}/64 With Next Hop ${IP_2} And Vrf Id 0
    77      Create Route On agent_vpp_1 With IP ${NET1}/64 With Next Hop ${IP_4} And Vrf Id 2
    78      Create Route On agent_vpp_2 With IP ${NET2}/64 With Next Hop VRF 2 From Vrf Id 0 And Type 1
    79      Create Route On agent_vpp_2 With IP ${NET1}/64 With Next Hop VRF 0 From Vrf Id 2 And Type 1
    80  
    81  Config Done
    82      No Operation
    83  
    84  Check Inter VRF Routing
    85      Show IP Fib On agent_vpp_1
    86      IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${NET2}/64
    87      IP6 Fib Table 0 On agent_vpp_1 Should Contain Vrf ipv6 via ${IP_2} memif1/1
    88      Show IP Fib On agent_vpp_2
    89      IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET1}/64
    90      IP6 Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF:
    91      IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET2}/64
    92      IP6 Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF:
    93  
    94  Check Route With Ping
    95      Ping On agent_vpp_1 With IP ${IP_4}, Source memif1/1
    96      Ping On agent_vpp_1 With IP ${IP_4}, Source memif2/1
    97      Ping On agent_vpp_1 With IP ${IP_3}, Source memif1/1
    98  
    99  Final Sleep For Manual Checking
   100      Sleep   ${FINAL_SLEEP}
   101  
   102  
   103  *** Keywords ***
   104  List of interfaces On ${node} Should Contain Interface ${int}
   105      ${out}=   vpp_term: Show Interfaces    ${node}
   106      Should Match Regexp        ${out}  ${int}
   107  
   108  IP6 Fib Table ${table_id} On ${node} Should Contain Vrf ${inter_vrf_string}
   109      ${out}=    vpp_term: Show IP6 Fib Table    ${node}    ${table_id}
   110      Should Contain  ${out}  ${inter_vrf_string}