X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=tests%2Fsuites%2Fbridge_domain%2Ftest.robot;h=a2cf0c0ce34f4d20619bc05d5b21d22633c32323;hb=f4050fdb4d771e232f44a96e58a3c050bd99f5ca;hp=a36e5928b60479c3ae06c995b4c75d2fa41a8c09;hpb=33499c81c94c2d3baef9d3e9f061cd76ef86fa74;p=csit.git diff --git a/tests/suites/bridge_domain/test.robot b/tests/suites/bridge_domain/test.robot index a36e5928b6..a2cf0c0ce3 100644 --- a/tests/suites/bridge_domain/test.robot +++ b/tests/suites/bridge_domain/test.robot @@ -10,30 +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 +| 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 -| Library | resources.libraries.python.topology.Topology -| Variables | resources/libraries/python/topology.py -| Force Tags | 3_NODE_DOUBLE_LINK_TOPO *** 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 -| | 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_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}