go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/trafficIPv6/ip_route/test1_ip_routeIPv6.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 Testsuite Setup 13 Suite Teardown Testsuite Teardown 14 Test Setup TestSetup 15 Test Teardown TestTeardown 16 17 *** Variables *** 18 ${VARIABLES}= common 19 ${ENV}= common 20 ${IP_1}= fd30::1:b:0:0:1 21 ${IP_2}= fd30::1:b:0:0:2 22 ${IP_3}= fd31::1:b:0:0:1 23 ${IP_4}= fd31::1:b:0:0:2 24 ${NET1}= fd30::1:0:0:0:0 25 ${NET2}= fd31::1:0:0:0:0 26 ${MAC_LOOP1}= 8a:f1:be:90:00:00 27 ${MAC_LOOP2}= 8a:f1:be:90:02:00 28 ${MAC_MEMIF1}= 02:f1:be:90:00:00 29 ${MAC_MEMIF2}= 02:f1:be:90:02:00 30 31 ${MAC2_LOOP1}= 8a:f1:be:90:00:02 32 ${MAC3_LOOP1}= 8a:f1:be:90:00:03 33 ${MAC2_MEMIF1}= 02:f1:be:90:00:02 34 ${MAC3_MEMIF1}= 02:f1:be:90:00:03 35 36 ${PREFIX}= 64 37 ${WAIT_TIMEOUT}= 20s 38 ${SYNC_SLEEP}= 3s 39 *** Test Cases *** 40 # Default VRF table ... 41 Start Three Agents 42 43 Add Agent VPP Node agent_vpp_1 44 Add Agent VPP Node agent_vpp_2 45 Add Agent VPP Node agent_vpp_3 46 47 Setup Agent1 for agent2 48 Create loopback interface bvi_loop0 on agent_vpp_1 with ip ${IP_1}/${PREFIX} and mac ${MAC_LOOP1} 49 Create Master memif0 on agent_vpp_1 with MAC ${MAC_MEMIF1}, key 1 and m0.sock socket 50 Create bridge domain bd1 With Autolearn on agent_vpp_1 with interfaces bvi_loop0, memif0 51 52 53 Check Interfaces on Agent1 for Agent2 54 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_1 bvi_loop0 enabled=1 mac=${MAC_LOOP1} ipv6=${IP_1}/${PREFIX} 55 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 memif0 mac=${MAC_MEMIF1} role=master id=1 connected=0 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/m0.sock 56 57 Create BD on Agent1 58 Create bridge domain bd1 With Autolearn on agent_vpp_1 with interfaces bvi_loop0, memif0 59 60 Check1 bd1 on Agent1 Is Created 61 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: BD Is Created agent_vpp_1 bvi_loop0 memif0 62 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Bridge Domain State IPv6 agent_vpp_1 bd1 flood=1 unicast=1 forward=1 learn=1 arp_term=1 interface=memif0 interface=bvi_loop0 63 64 Check2 Interfaces on Agent1 for Agent2 65 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_1 bvi_loop0 enabled=1 mac=${MAC_LOOP1} ipv6=${IP_1}/${PREFIX} 66 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 memif0 mac=${MAC_MEMIF1} role=master id=1 connected=0 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/m0.sock 67 68 Setup Agent1 for Agent3 69 Create loopback interface bvi_loop1 on agent_vpp_1 with ip ${IP_3}/${PREFIX} and mac ${MAC_LOOP2} 70 Create Master memif1 on agent_vpp_1 with MAC ${MAC_MEMIF2}, key 2 and m1.sock socket 71 Create bridge domain bd2 With Autolearn on agent_vpp_1 with interfaces bvi_loop1, memif1 72 73 Check Interfaces on Agent1 for Agent3 74 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_1 bvi_loop1 enabled=1 mac=${MAC_LOOP2} ipv6=${IP_3}/${PREFIX} 75 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 memif1 mac=${MAC_MEMIF2} role=master id=2 connected=0 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/m1.sock 76 77 Check bd2 on Agent1 Is Created 78 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: BD Is Created agent_vpp_1 bvi_loop1 memif1 79 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Bridge Domain State IPv6 agent_vpp_1 bd2 flood=1 unicast=1 forward=1 learn=1 arp_term=1 interface=memif1 interface=bvi_loop1 80 81 Setup Agent2 82 Create loopback interface bvi_loop0 on agent_vpp_2 with ip ${IP_2}/${PREFIX} and mac ${MAC2_LOOP1} 83 Create Slave memif0 on agent_vpp_2 with MAC ${MAC2_MEMIF1}, key 1 and m0.sock socket 84 Create bridge domain bd1 With Autolearn on agent_vpp_2 with interfaces bvi_loop0, memif0 85 86 Check Interfaces on Agent2 87 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_2 bvi_loop0 enabled=1 mac=${MAC2_LOOP1} ipv6=${IP_2}/${PREFIX} 88 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_2 memif0 mac=${MAC2_MEMIF1} role=slave id=1 connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/m0.sock 89 90 Check bd1 on Agent2 Is Created 91 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: BD Is Created agent_vpp_2 bvi_loop0 memif0 92 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Bridge Domain State IPv6 agent_vpp_2 bd1 flood=1 unicast=1 forward=1 learn=1 arp_term=1 interface=memif0 interface=bvi_loop0 93 94 Setup Agent3 95 Create loopback interface bvi_loop0 on agent_vpp_3 with ip ${IP_4}/${PREFIX} and mac ${MAC3_LOOP1} 96 Create Slave memif0 on agent_vpp_3 with MAC ${MAC3_MEMIF1}, key 2 and m1.sock socket 97 Create bridge domain bd1 With Autolearn on agent_vpp_3 with interfaces bvi_loop0, memif0 98 99 Check Interfaces on Agent3 100 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Loopback Interface State agent_vpp_3 bvi_loop0 enabled=1 mac=${MAC3_LOOP1} ipv6=${IP_4}/${PREFIX} 101 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_3 memif0 mac=${MAC3_MEMIF1} role=slave id=2 connected=1 enabled=1 socket=${AGENT_VPP_3_MEMIF_SOCKET_FOLDER}/m1.sock 102 103 Check bd1 on Agent3 Is Created 104 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: BD Is Created agent_vpp_3 bvi_loop0 memif0 105 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Bridge Domain State IPv6 agent_vpp_3 bd1 flood=1 unicast=1 forward=1 learn=1 arp_term=1 interface=memif0 interface=bvi_loop0 106 107 Setup route on Agent2 108 Create Route On agent_vpp_2 With IP ${NET2}/${PREFIX} With Next Hop ${IP_1} And Vrf Id 0 109 110 Setup route on Agent3 111 Create Route On agent_vpp_3 With IP ${NET1}/${PREFIX} With Next Hop ${IP_3} And Vrf Id 0 112 113 114 Pinging 115 Ping6 From agent_vpp_1 To ${IP_2} 116 Ping6 From agent_vpp_1 To ${IP_4} 117 #Ping From agent_vpp_2 To ${IP_4} 118 119 ${int}= Get Interface Internal Name agent_vpp_2 bvi_loop0 120 Ping On agent_vpp_2 With IP ${IP_4}, Source ${int} 121 #Ping From agent_vpp_3 To ${IP_2} 122 ${int}= Get Interface Internal Name agent_vpp_3 bvi_loop0 123 Ping On agent_vpp_3 With IP ${IP_2}, Source ${int} 124 125 126 *** Keywords *** 127 List of interfaces On ${node} Should Contain Interface ${int} 128 ${out}= vpp_term: Show Interfaces ${node} 129 Should Match Regexp ${out} ${int} 130 131 TestSetup 132 Make Datastore Snapshots ${TEST_NAME}_test_setup 133 134 TestTeardown 135 Make Datastore Snapshots ${TEST_NAME}_test_teardown