go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/traffic/ip_route/test_inter_vrf_routes.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 IPv4 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}= 10.1.1.1 22 ${IP_2}= 10.1.1.2 23 ${IP_3}= 10.1.2.1 24 ${IP_4}= 10.1.2.2 25 ${NET1}= 10.1.1.0 26 ${NET2}= 10.1.2.0 27 28 *** Test Cases *** 29 # Non default VRF table 2 used in Agent VPP Node agent_vpp_2 30 Start Two Agents And Then Configure With Default And Non Default VRF 31 Add Agent VPP Node agent_vpp_1 32 Add Agent VPP Node agent_vpp_2 33 34 Create Master memif0 on agent_vpp_1 with IP ${IP_1}, MAC 02:f1:be:90:00:00, key 1 and m0.sock socket 35 Create Slave memif0 on agent_vpp_2 with IP ${IP_2}, MAC 02:f1:be:90:00:02, key 1 and m0.sock socket 36 37 Then Create VRF Table node=agent_vpp_1 id=2 protocol=ipv4 38 Then Create VRF Table node=agent_vpp_2 id=2 protocol=ipv4 39 40 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 41 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 42 43 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_1 Should Contain Interface memif1/1 44 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_2 Should Contain Interface memif1/1 45 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_1 Should Contain Interface memif2/1 46 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_2 Should Contain Interface memif2/1 47 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${IP_1}/32 48 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP Fib Table 2 On agent_vpp_1 Should Contain Route With IP ${IP_3}/32 49 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${IP_2}/32 50 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${IP_4}/32 51 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}/24 With Next Hop ${IP_2} And Vrf Id 0 77 Create Route On agent_vpp_1 With IP ${NET1}/24 With Next Hop ${IP_4} And Vrf Id 2 78 Create Route On agent_vpp_2 With IP ${NET2}/24 With Next Hop VRF 2 From Vrf Id 0 And Type 1 79 Create Route On agent_vpp_2 With IP ${NET1}/24 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 IP Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${NET2}/24 87 IP Fib Table 0 On agent_vpp_1 Should Contain Vrf ipv4 via ${IP_2} memif1/1 88 Show IP Fib On agent_vpp_2 89 IP Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET1}/24 90 IP Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv4-VRF: 91 IP Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET2}/24 92 IP Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv4-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 *** Keywords *** 103 List of interfaces On ${node} Should Contain Interface ${int} 104 ${out}= vpp_term: Show Interfaces ${node} 105 Should Match Regexp ${out} ${int} 106 107 IP Fib Table ${table_id} On ${node} Should Contain Vrf ${inter_vrf_string} 108 ${out}= vpp_term: Show IP Fib Table ${node} ${table_id} 109 Should Contain ${out} ${inter_vrf_string}