X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=tests%2Fsuites%2Fbridge_domain%2Ftest.robot;h=a2cf0c0ce34f4d20619bc05d5b21d22633c32323;hp=108e2aa4dd28e0a918e6f3c3cb0d09a3693af413;hb=ee768ca7451bb49f0a591bedf3360b332d983f64;hpb=b92a827b1c7f48da4214e992e5503ebe1c182416 diff --git a/tests/suites/bridge_domain/test.robot b/tests/suites/bridge_domain/test.robot index 108e2aa4dd..a2cf0c0ce3 100644 --- a/tests/suites/bridge_domain/test.robot +++ b/tests/suites/bridge_domain/test.robot @@ -10,41 +10,62 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + *** Settings *** | Resource | resources/libraries/robot/default.robot | Resource | resources/libraries/robot/interfaces.robot | Resource | resources/libraries/robot/bridge_domain.robot -| Test Setup | Setup all DUTs before test -| Library | resources.libraries.python.topology.Topology -| Variables | resources/libraries/python/topology.py -| Force Tags | 3_NODE_DOUBLE_LINK_TOPO +| Resource | resources/libraries/robot/l2_traffic.robot +| Library | resources.libraries.python.NodePath +| Force Tags | HW_ENV | VM_ENV | Suite Setup | Setup all TGs before traffic script +| Test Setup | Setup all DUTs before test *** Test Cases *** - | VPP reports interfaces +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO | | VPP reports interfaces on | ${nodes['DUT1']} | Vpp forwards packets via L2 bridge domain 2 ports | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO -| | ${TG_DUT_links}= | Get active links connecting "${nodes['TG']}" and "${nodes['DUT1']}" -| | Setup l2 bridge on node "${nodes['DUT1']}" via links "${TG_DUT_links}" -| | Send traffic on node "${nodes['TG']}" from link "${TG_DUT_links[0]}" to link "${TG_DUT_links[1]}" +| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} +| | Compute Path | always_same_link=${FALSE} +| | ${tg_if1} | ${tmp}= | First Interface +| | ${tg_if2} | ${tmp}= | Last Interface +| | ${bd_if1} | ${tmp}= | First Ingress Interface +| | ${bd_if2} | ${tmp}= | Last Egress Interface +| | Vpp l2bd forwarding setup | ${nodes['DUT1']} | ${bd_if1} | ${bd_if2} +| | Send and receive ICMPv4 bidirectionally | ${nodes['TG']} | ${tg_if1} | ${tg_if2} | Vpp forwards packets via L2 bridge domain in circular topology -| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO -| | ${tg}= | Set Variable | ${nodes['TG']} -| | ${dut1}= | Set Variable | ${nodes['DUT1']} -| | ${dut2}= | Set Variable | ${nodes['DUT2']} -| | ${tg_links}= | Setup TG "${tg}" DUT1 "${dut1}" and DUT2 "${dut2}" for 3 node l2 bridge domain test -| | Sleep | 5 | Workaround for interface still in down state after vpp restart -| | Send traffic on node "${nodes['TG']}" from link "${tg_links[0]}" to link "${tg_links[1]}" +| | [Tags] | 3_NODE_SINGLE_LINK_TOPO +| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} +| | ... | ${nodes['TG']} +| | Compute Path +| | ${tg_if1} | ${tg}= | Next Interface +| | ${dut1_if1} | ${dut1}= | Next Interface +| | ${dut1_if2} | ${dut1}= | Next Interface +| | ${dut2_if1} | ${dut2}= | Next Interface +| | ${dut2_if2} | ${dut2}= | Next Interface +| | ${tg_if2} | ${tg}= | Next Interface +| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2} +| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} +| | Send and receive ICMPv4 bidirectionally | ${tg} | ${tg_if1} | ${tg_if2} | Vpp forwards packets via L2 bridge domain in circular topology with static L2FIB entries -| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO -| | ${tg}= | Set Variable | ${nodes['TG']} -| | ${dut1}= | Set Variable | ${nodes['DUT1']} -| | ${dut2}= | Set Variable | ${nodes['DUT2']} -| | ${tg_links}= | Setup TG "${tg}" DUT1 "${dut1}" and DUT2 "${dut2}" for 3 node static l2fib test -| | Sleep | 5 | Workaround for interface still in down state after vpp restart -| | Send traffic on node "${nodes['TG']}" from link "${tg_links[0]}" to link "${tg_links[1]}" +| | [Tags] | 3_NODE_SINGLE_LINK_TOPO +| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} +| | ... | ${nodes['TG']} +| | Compute Path +| | ${tg_if1} | ${tg}= | Next Interface +| | ${dut1_if1} | ${dut1}= | Next Interface +| | ${dut1_if2} | ${dut1}= | Next Interface +| | ${dut2_if1} | ${dut2}= | Next Interface +| | ${dut2_if2} | ${dut2}= | Next Interface +| | ${tg_if2} | ${tg}= | Next Interface +| | ${mac}= | Get Interface Mac | ${tg} | ${tg_if2} +| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2} | ${FALSE} +| | ... | ${mac} +| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} | ${FALSE} +| | ... | ${mac} +| | Send and receive ICMPv4 bidirectionally | ${tg} | ${tg_if1} | ${tg_if2}