go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/crudIPv6/inter_vrf_routing_crud_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 trafficIPv4 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 ${IP_5}= fd32::1:b:0:0:1 26 ${IP_6}= fd32::1:b:0:0:2 27 ${NET1}= fd30:0:0:1:: 28 ${NET2}= fd31:0:0:1:: 29 ${NET3}= fd32:0:0:1:: 30 31 *** Test Cases *** 32 # Non default VRF table 2 used in Agent VPP Node agent_vpp_2 33 Start Two Agents And Then Configure With Default And Non Default VRF 34 Add Agent VPP Node agent_vpp_1 35 Add Agent VPP Node agent_vpp_2 36 37 Create Master memif0 on agent_vpp_1 with IP ${IP_1}, MAC 02:f1:be:90:00:00, key 1 and m0.sock socket 38 Create Slave memif0 on agent_vpp_2 with IP ${IP_2}, MAC 02:f1:be:90:00:02, key 1 and m0.sock socket 39 40 Create VRF Table node=agent_vpp_1 id=1 protocol=ipv6 41 Create VRF Table node=agent_vpp_1 id=2 protocol=ipv6 42 Create VRF Table node=agent_vpp_2 id=1 protocol=ipv6 43 Create VRF Table node=agent_vpp_2 id=2 protocol=ipv6 44 45 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 46 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 47 48 Create Master memif2 on agent_vpp_1 with VRF 1, IP ${IP_5}, MAC 02:f1:be:90:04:00, key 1 and m2.sock socket 49 Create Slave memif2 on agent_vpp_2 with VRF 1, IP ${IP_6}, MAC 02:f1:be:90:04:02, key 1 and m2.sock socket 50 51 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_1 Should Contain Interface memif1/1 52 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_2 Should Contain Interface memif1/1 53 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_1 Should Contain Interface memif2/1 54 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_2 Should Contain Interface memif2/1 55 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_1 Should Contain Interface memif3/1 56 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} List of interfaces On agent_vpp_2 Should Contain Interface memif3/1 57 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${IP_1}/128 58 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 2 On agent_vpp_1 Should Contain Route With IP ${IP_3}/128 59 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${IP_2}/128 60 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${IP_4}/128 61 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 1 On agent_vpp_1 Should Contain Route With IP ${IP_5}/128 62 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${IP_6}/128 63 64 Create Route For Inter Vrf Routing 65 Create Route On agent_vpp_1 With IP ${NET2}/64 With Next Hop ${IP_2} And Vrf Id 0 66 Create Route On agent_vpp_1 With IP ${NET1}/64 With Next Hop ${IP_4} And Vrf Id 2 67 Create Route On agent_vpp_2 With IP ${NET2}/64 With Next Hop VRF 2 From Vrf Id 0 And Type 1 68 Create Route On agent_vpp_2 With IP ${NET1}/64 With Next Hop VRF 0 From Vrf Id 2 And Type 1 69 70 Config Done 71 No Operation 72 73 Check Inter VRF Routing 74 Show IP Fib On agent_vpp_1 75 IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${NET2}/64 76 IP6 Fib Table 0 On agent_vpp_1 Should Contain Vrf ipv6 via ${IP_2} memif1/1 77 Show IP Fib On agent_vpp_2 78 IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 79 IP6 Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 80 IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET2}/64 81 IP6 Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 82 83 Create Next Route For Inter Vrf Routing 84 Create Route On agent_vpp_2 With IP ${NET3}/64 With Next Hop VRF 1 From Vrf Id 0 And Type 1 85 Create Route On agent_vpp_2 With IP ${NET3}/64 With Next Hop VRF 1 From Vrf Id 2 And Type 1 86 Create Route On agent_vpp_2 With IP ${NET1}/64 With Next Hop VRF 0 From Vrf Id 1 And Type 1 87 Create Route On agent_vpp_2 With IP ${NET2}/64 With Next Hop VRF 2 From Vrf Id 1 And Type 1 88 89 Check Inter VRF Routing Again 90 Show IP Fib On agent_vpp_1 91 IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${NET2}/64 92 IP6 Fib Table 0 On agent_vpp_1 Should Contain Vrf ipv6 via ${IP_2} memif1/1 93 Show IP Fib On agent_vpp_2 94 IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 95 IP6 Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 96 IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET2}/64 97 IP6 Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 98 99 IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET3}/64 100 IP6 Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 101 IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET3}/64 102 IP6 Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 103 104 IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 105 IP6 Fib Table 1 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 106 IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${NET2}/64 107 IP6 Fib Table 1 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 108 109 Delete Route VRF 1 110 Delete Route agent_vpp_2 1 ${NET1} 64 111 Delete Route agent_vpp_2 1 ${NET2} 64 112 Delete Route agent_vpp_2 0 ${NET3} 64 113 Delete Route agent_vpp_2 2 ${NET3} 64 114 115 Check State After Delete 116 Show IP Fib On agent_vpp_1 117 IP6 Fib Table 0 On agent_vpp_1 Should Contain Route With IP ${NET2}/64 118 IP6 Fib Table 0 On agent_vpp_1 Should Contain Vrf ipv6 via ${IP_2} memif1/1 119 Show IP Fib On agent_vpp_2 120 IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 121 IP6 Fib Table 2 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 122 IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET2}/64 123 IP6 Fib Table 0 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 124 125 ${status}= Run Keyword And Return Status IP6 Fib Table 2 On agent_vpp_2 Should Contain Route With IP ${NET3}/64 126 Should Not Be True ${status} 127 128 ${status}= Run Keyword And Return Status IP6 Fib Table 0 On agent_vpp_2 Should Contain Route With IP ${NET3}/64 129 Should Not Be True ${status} 130 131 ${status}= Run Keyword And Return Status IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 132 Should Not Be True ${status} 133 134 ${status}= Run Keyword And Return Status IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${NET2}/64 135 Should Not Be True ${status} 136 137 ${status}= Run Keyword And Return Status IP6 Fib Table 1 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF: 138 Should Not Be True ${status} 139 140 Update Inter Vrf Route 141 Create Route On agent_vpp_2 With IP ${NET1}/64 With Next Hop VRF 0 From Vrf Id 1 And Type 1 142 Create Route On agent_vpp_2 With IP ${NET1}/64 With Next Hop VRF 2 From Vrf Id 1 And Type 1 143 144 Check Route After Update 145 Show IP Fib On agent_vpp_2 146 IP6 Fib Table 1 On agent_vpp_2 Should Contain Route With IP ${NET1}/64 147 IP6 Fib Table 1 On agent_vpp_2 Should Contain Vrf unicast lookup in ipv6-VRF:2 148 149 #can use in debug 150 #Check Route With Ping 151 # Ping On agent_vpp_1 With IP ${IP_4}, Source memif1/1 152 # Ping On agent_vpp_1 With IP ${IP_4}, Source memif2/1 153 # Ping On agent_vpp_1 With IP ${IP_3}, Source memif1/1 154 # 155 156 Final Sleep For Manual Checking 157 Sleep ${FINAL_SLEEP} 158 159 *** Keywords *** 160 List of interfaces On ${node} Should Contain Interface ${int} 161 ${out}= vpp_term: Show Interfaces ${node} 162 Should Match Regexp ${out} ${int} 163 164 IP Fib Table ${table_id} On ${node} Should Contain Vrf ${inter_vrf_string} 165 ${out}= vpp_term: Show IP Fib Table ${node} ${table_id} 166 Should Contain ${out} ${inter_vrf_string} 167 168 IP6 Fib Table ${table_id} On ${node} Should Contain Vrf ${inter_vrf_string} 169 ${out}= vpp_term: Show IP6 Fib Table ${node} ${table_id} 170 Should Contain ${out} ${inter_vrf_string}