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}