go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/trafficIPv6/acl_traffic/acl_trafficIPv6.robot (about) 1 *** Settings *** 2 Library OperatingSystem 3 #Library RequestsLibrary 4 #Library SSHLibrary timeout=60s 5 #Library String 6 7 Resource ../../../variables/${VARIABLES}_variables.robot 8 9 Resource ../../../libraries/all_libs.robot 10 Resource ../../../libraries/pretty_keywords.robot 11 12 Force Tags traffic IPv6 ExpectedFailure 13 Suite Setup Testsuite Setup 14 Suite Teardown Suite Cleanup 15 Test Setup TestSetup 16 Test Teardown TestTeardown 17 18 *** Variables *** 19 ${VARIABLES}= common 20 ${ENV}= common 21 ${WAIT_TIMEOUT}= 20s 22 ${SYNC_SLEEP}= 3s 23 ${RESYNC_SLEEP}= 20s 24 25 ${AGENT1_VETH_MAC}= 02:00:00:00:00:01 26 ${AGENT2_VETH_MAC}= 02:00:00:00:00:02 27 ${REPLY_DATA_FOLDER} ${CURDIR}/replyACL 28 ${VARIABLES}= common 29 ${ENV}= common 30 ${ACL1_NAME}= acl1_tcp 31 ${ACL2_NAME}= acl2_tcp 32 ${ACL3_NAME}= acl3_UDP 33 ${ACL4_NAME}= acl4_UDP 34 ${ACL5_NAME}= acl5_ICMP 35 ${ACL6_NAME}= acl6_ICMP 36 ${E_INTF1}= IF_AFPIF_VSWITCH_node_2_node2_veth 37 ${I_INTF1}= IF_AFPIF_VSWITCH_node_1_node1_veth 38 ${E_INTF2}= IF_AFPIF_VSWITCH_node_1_node1_veth 39 ${I_INTF2}= IF_AFPIF_VSWITCH_node_2_node2_veth 40 ${RULE_NM1_1}= acl1_rule1 41 ${RULE_NM2_1}= acl2_rule1 42 ${RULE_NM3_1}= acl3_rule1 43 ${RULE_NM4_1}= acl3_rule1 44 45 ${ACTION_DENY}= 1 46 ${ACTION_PERMIT}= 2 47 ${DEST_NTW}= fd35::1:0:0:0:0/64 48 ${SRC_NTW}= fd35::1:0:0:0:0/64 49 ${NO_PORT}= 50 ${TCP_PORT}= 3000 51 ${UDP_PORT}= 3001 52 53 ${IP_1}= fd31::1:a:0:0:1 54 ${IP_2}= fd32::1:a:0:0:1 55 ${IP_3}= fd35::1:a:0:0:10 56 ${IP_4}= fd35::1:a:0:0:11 57 ${IP_3_PREFIX}= fd35::1:a:0:0:10/64 58 ${IP_4_PREFIX}= fd35::1:a:0:0:11/64 59 ${AFPACKET_INTERNAL_NAME1}= host-node_1_noeth_1 60 ${AFPACKET_INTERNAL_NAME1}= host-node_2_noeth_2 61 62 *** Test Cases *** 63 Configure Environment 64 [Tags] setup 65 Configure Environment 2 acl_basicIPv6.conf 66 Sleep ${SYNC_SLEEP} 67 Show Interfaces And Other Objects 68 69 Check AfPackets On Vswitch 70 vat_term: Check Afpacket Interface State agent_vpp_1 IF_AFPIF_VSWITCH_node_1_node1_veth enabled=1 71 vat_term: Check Afpacket Interface State agent_vpp_1 IF_AFPIF_VSWITCH_node_2_node2_veth enabled=1 72 73 Create Loopbak Intfs 74 Create loopback interface loop0 on agent_vpp_1 with ip ${IP_1}/64 and mac 8a:f1:be:90:00:00 75 Create loopback interface loop1 on agent_vpp_1 with ip ${IP_2}/64 and mac 8a:f1:be:90:20:00 76 77 Check Veth Interface On Agent1 78 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} linux: Interface With IP Is Created node_1 mac=${AGENT1_VETH_MAC} ipv4=${IP_3_PREFIX} 79 # status check not implemented in linux plugin 80 #linux: Check Veth Interface State agent_vpp_1 agent1_veth mac=${AGENT1_VETH_MAC} ipv6=${IP_3}/64 mtu=1500 state=up 81 82 Check Veth Interface On Agent2 83 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} linux: Interface With IP Is Created node_2 mac=${AGENT2_VETH_MAC} ipv4=${IP_4_PREFIX} 84 # status check not implemented in linux plugin 85 #linux: Check Veth Interface State agent_vpp_1 agent2_veth mac=${AGENT2_VETH_MAC} ipv6=${IP_4}/64 mtu=1500 state=up 86 87 Check Bridge Domain Is Created 88 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: BD Is Created agent_vpp_1 IF_AFPIF_VSWITCH_node_1_node1_veth IF_AFPIF_VSWITCH_node_2_node2_veth 89 90 Check loop0 Is Created 91 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=8a:f1:be:90:00:00 92 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_1 loop0 enabled=1 mac=8a:f1:be:90:00:00 mtu=1500 ipv6=${IP_1}/64 93 94 Check loop1 Is Created 95 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=8a:f1:be:90:20:00 96 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_1 loop0 enabled=1 mac=8a:f1:be:90:20:00 mtu=1500 ipv6=${IP_2}/64 97 98 Create BD fo Loopbacks 99 Create Bridge Domain bd2 With Autolearn On agent_vpp_1 with interfaces loop0, loop1 100 101 #Add Routes 102 # Create Route On agent_vpp_1 With IP 20.0.0.0/64 With Next Hop ${IP_3} And Vrf Id 0 103 # Create Route On agent_vpp_1 With IP 10.0.0.0/64 With Next Hop 20.0.0.11 And Vrf Id 0 104 105 Add Tracing on Vpp for AFpackets 106 vpp_term: Add Trace Afpacket agent_vpp_1 107 108 109 Show All Objects 110 Show Interfaces And Other Objects 111 112 Start TCP And UDP Listeners 113 Start UDP and TCP Ping Servers 114 115 Check Ping Agent1 -> Agent2 116 linux: Check Ping6 node_1 ${IP_4} 117 118 Check Ping Agent2 -> Agent1 119 linux: Check Ping6 node_2 ${IP_3} 120 121 Ping Loop0 -> Loop1 122 vpp_term: Check Ping6 Within Interface agent_vpp_1 ${IP_2} loop0 15 123 124 Ping Loop1 -> Loop0 125 vpp_term: Check Ping6 Within Interface agent_vpp_1 ${IP_1} loop1 15 126 127 128 #Check UDP Ping Agent1 -> Agent2 129 # linux: UDPPing node_1 ${IP_4} ${UDP_PORT} 130 # 131 #Check TCP Ping Agent1 -> Agent2 132 # linux: TCPPing node_1 ${IP_4} ${TCP_PORT} 133 # 134 #Check UDP Ping Agent2 -> Agent1 135 # linux: UDPPing node_2 ${IP_3} ${UDP_PORT} 136 # 137 #Check TCP Ping Agent2 -> Agent1 138 # linux: TCPPing node_2 ${IP_3} ${TCP_PORT} 139 140 Show Tracing 141 vpp_term: Show Trace agent_vpp_1 142 143 #Sleep 500s 144 145 #Add ACL1_TCP Disable TCP Port 146 # Put ACL TCP agent_vpp_1 ${ACL1_NAME} ${E_INTF1} ${I_INTF1} ${RULE_NM1_1} ${ACTION_DENY} ${DEST_NTW} ${SRC_NTW} ${TCP_PORT} ${TCP_PORT} ${TCP_PORT} ${TCP_PORT} 147 # Sleep ${SYNC_SLEEP} 148 # 149 #Check ACL1_TCP is created 150 # Check ACL Reply agent_vpp_1 ${ACL1_NAME} ${REPLY_DATA_FOLDER}/reply_acl1_tcp.txt ${REPLY_DATA_FOLDER}/reply_acl1_tcp_term.txt 151 # 152 #ADD ACL1_UDP Disable UDP Port 153 # Put ACL UDP agent_vpp_1 ${ACL3_NAME} ${E_INTF1} ${I_INTF1} ${E_INTF2} ${I_INTF2} ${RULE_NM3_1} ${ACTION_DENY} ${DEST_NTW} ${SRC_NTW} ${UDP_PORT} ${UDP_PORT} ${UDP_PORT} ${UDP_PORT} 154 # Sleep ${SYNC_SLEEP} 155 # 156 #Check ACL1_UDP Is Created 157 # Check ACL Reply agent_vpp_1 ${ACL3_NAME} ${REPLY_DATA_FOLDER}/reply_acl3_UDP.txt ${REPLY_DATA_FOLDER}/reply_acl3_UDP_term.txt 158 # 159 #Show ACLs on VPP 160 # vpp_term: Show ACL agent_vpp_1 161 # 162 #Check UDP Not Ping Agent2 -> Agent1 After Disabling 163 # linux: UDPPingNot node_2 ${IP_3} ${UDP_PORT} 164 # 165 #Check UDP Not Ping Agent1 -> Agent2 After Disabling 166 # linux: UDPPingNot node_1 ${IP_4} ${UDP_PORT} 167 # 168 #Check TCP Not Ping Agent1 -> Agent2 169 # linux: TCPPingNot node_1 ${IP_4} ${TCP_PORT} 170 # 171 #Check TCP Not Ping Agent2 -> Agent1 172 # linux: TCPPingNot node_2 ${IP_3} ${TCP_PORT} 173 # 174 #Remove Agent Nodes 175 # Remove All Nodes 176 # Sleep ${RESYNC_SLEEP} 177 # 178 #Start Agent Nodes Again 179 # Add Agent VPP Node agent_vpp_1 vswitch=${TRUE} 180 # Add Agent Node node_1 181 # Add Agent Node node_2 182 # Sleep ${SYNC_SLEEP} 183 # 184 #Check AfPackets On Vswitch After Resync 185 # vat_term: Check Afpacket Interface State agent_vpp_1 IF_AFPIF_VSWITCH_node_1_node1_veth enabled=1 186 # vat_term: Check Afpacket Interface State agent_vpp_1 IF_AFPIF_VSWITCH_node_2_node2_veth enabled=1 187 # 188 #Check Veth Interface On Agent1 After Resync 189 # linux: Interface With IP Is Created node_1 mac=${AGENT1_VETH_MAC} ipv6=${IP_3}/64 190 # # status check not implemented in linux plugin 191 # #linux: Check Veth Interface State agent_vpp_1 agent1_veth mac=${AGENT1_VETH_MAC} ipv6=${IP_3}/64 mtu=1500 state=up 192 # 193 #Check Veth Interface On Agent2 After Resync 194 # linux: Interface With IP Is Created node_2 mac=${AGENT2_VETH_MAC} ipv6=${IP_4}/64 195 # # status check not implemented in linux plugin 196 # #linux: Check Veth Interface State agent_vpp_1 agent2_veth mac=${AGENT2_VETH_MAC} ipv6=${IP_4}/64 mtu=1500 state=up 197 # 198 #Check Bridge Domain Is Created After Resync 199 # vat_term: BD Is Created agent_vpp_1 IF_AFPIF_VSWITCH_node_1_node1_veth IF_AFPIF_VSWITCH_node_2_node2_veth 200 # 201 #Show All Objects After Resync 202 # Show Interfaces And Other Objects 203 # 204 #Show ACLs on VPP After Resync 205 # vpp_term: Show ACL agent_vpp_1 206 # 207 #Start TCP And UDP Listeners After Resync 208 # Start UDP and TCP Ping Servers 209 # 210 #Check Ping Agent1 -> Agent2 After Resync 211 # linux: Check Ping node_1 ${IP_4} 212 # 213 #Check Ping Agent2 -> Agent1 After Resync 214 # linux: Check Ping node_2 ${IP_3} 215 # 216 #Check UDP Not Ping Agent1 -> Agent2 After Resync 217 # linux: UDPPingNot node_1 ${IP_4} ${UDP_PORT} 218 # 219 #Check UDP Not Ping Agent2 -> Agent1 After Resync 220 # linux: UDPPingNot node_2 ${IP_3} ${UDP_PORT} 221 # 222 #Check TCP Not Ping Agent1 -> Agent2 After Resync 223 # linux: TCPPingNot node_1 ${IP_4} ${TCP_PORT} 224 # 225 #Check TCP Not Ping Agent2 -> Agent1 After Resync 226 # linux: TCPPingNot node_2 ${IP_3} ${TCP_PORT} 227 228 Done 229 [Tags] debug 230 No Operation 231 232 233 Remove Agent Nodes Again 234 Remove All Nodes 235 236 *** Keywords *** 237 Show Interfaces And Other Objects 238 vpp_term: Show Interfaces agent_vpp_1 239 Write To Machine agent_vpp_1_term show int addr 240 Write To Machine agent_vpp_1_term show h 241 Write To Machine agent_vpp_1_term show br 242 Write To Machine agent_vpp_1_term show br 1 detail 243 Write To Machine agent_vpp_1_term show err 244 vpp_term: Show L2fib agent_vpp_1 245 vpp_term: Show IP Fib Table agent_vpp_1 0 246 vpp_term: Show IP Fib agent_vpp_1 247 vat_term: Interfaces Dump agent_vpp_1 248 Execute In Container agent_vpp_1 ip a 249 Execute In Container node_1 ip a 250 Execute In Container node_2 ip a 251 linux: Check Processes on Node node_1 252 linux: Check Processes on Node node_2 253 Make Datastore Snapshots before_resync 254 255 Start UDP and TCP Ping Servers 256 linux: Run TCP Ping Server On Node node_1 ${TCP_PORT} 257 linux: Run UDP Ping Server On Node node_1 ${UDP_PORT} 258 linux: Run TCP Ping Server On Node node_2 ${TCP_PORT} 259 linux: Run UDP Ping Server On Node node_2 ${UDP_PORT} 260 linux: Check Processes on Node node_1 261 linux: Check Processes on Node node_2 262 Sleep ${SYNC_SLEEP} 263 264 265 TestSetup 266 Make Datastore Snapshots ${TEST_NAME}_test_setup 267 268 TestTeardown 269 Make Datastore Snapshots ${TEST_NAME}_test_teardown 270 271 Suite Cleanup 272 Stop SFC Controller Container 273 Testsuite Teardown