from scapy.layers.l2 import Ether
from scapy.layers.inet import IP, UDP
-from framework import VppTestCase, VppTestRunner
+from framework import VppTestCase, VppTestRunner, running_extended_tests
from util import Host, ppp
super(TestL2bdMultiInst, cls).tearDownClass()
raise
+ @classmethod
+ def tearDownClass(cls):
+ super(TestL2bdMultiInst, cls).tearDownClass()
+
def setUp(self):
"""
Clear trace and packet infos before running each test.
self.bd_deleted_list.remove(b)
for j in self.bd_if_range(b):
pg_if = self.pg_interfaces[j]
- self.vapi.sw_interface_set_l2_bridge(pg_if.sw_if_index,
- bd_id=b)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=pg_if.sw_if_index, bd_id=b)
self.logger.info("pg-interface %s added to bridge domain ID %d"
% (pg_if.name, b))
self.pg_in_bd.append(pg_if)
for b in range(start, start + count):
for j in self.bd_if_range(b):
pg_if = self.pg_interfaces[j]
- self.vapi.sw_interface_set_l2_bridge(pg_if.sw_if_index,
- bd_id=b, enable=0)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=pg_if.sw_if_index, bd_id=b, enable=0)
self.pg_in_bd.remove(pg_if)
self.vapi.bridge_domain_add_del(bd_id=b, is_add=0)
self.bd_list.remove(b)
try:
ip = packet[IP]
udp = packet[UDP]
- info = self.payload_to_info(str(packet[Raw]))
+ info = self.payload_to_info(packet[Raw])
self.assertEqual(info.dst, dst)
self.logger.debug("Got packet on port %s: src=%u (id=%u)" %
(dst_if.name, info.src, info.index))
else:
raise ValueError("Unknown feature used: %s" % flag)
is_set = 1 if args[flag] else 0
- self.vapi.bridge_flags(bd_id, is_set, feature_bitmap)
+ self.vapi.bridge_flags(bd_id=bd_id, is_set=is_set,
+ flags=feature_bitmap)
self.logger.info("Bridge domain ID %d updated" % bd_id)
def verify_bd(self, bd_id, **args):
self.run_verify_test()
def test_l2bd_inst_02(self):
- """ L2BD Multi-instance test 2 - delete 2 BDs
+ """ L2BD Multi-instance test 2 - update data of 5 BDs
+ """
+ # Config 2
+ # Update data of 5 BDs (disable learn, forward, flood, uu-flood)
+ self.set_bd_flags(self.bd_list[0], learn=False, forward=False,
+ flood=False, uu_flood=False)
+ self.set_bd_flags(self.bd_list[1], forward=False)
+ self.set_bd_flags(self.bd_list[2], flood=False)
+ self.set_bd_flags(self.bd_list[3], uu_flood=False)
+ self.set_bd_flags(self.bd_list[4], learn=False)
+
+ # Verify 2
+ # Skipping check of uu_flood as it is not returned by
+ # bridge_domain_dump api command
+ self.verify_bd(self.bd_list[0], learn=False, forward=False,
+ flood=False, uu_flood=False)
+ self.verify_bd(self.bd_list[1], learn=True, forward=False,
+ flood=True, uu_flood=True)
+ self.verify_bd(self.bd_list[2], learn=True, forward=True,
+ flood=False, uu_flood=True)
+ self.verify_bd(self.bd_list[3], learn=True, forward=True,
+ flood=True, uu_flood=False)
+ self.verify_bd(self.bd_list[4], learn=False, forward=True,
+ flood=True, uu_flood=True)
+
+ def test_l2bd_inst_03(self):
+ """ L2BD Multi-instance test 3 - delete 2 BDs
"""
# Config 3
# Delete 2 BDs
# Test 3
self.run_verify_test()
- def test_l2bd_inst_03(self):
- """ L2BD Multi-instance test 3 - add 2 BDs
+ def test_l2bd_inst_04(self):
+ """ L2BD Multi-instance test 4 - add 2 BDs
"""
# Config 4
# Create 5 BDs, put interfaces to these BDs and send MAC learning
# self.vapi.cli("clear trace")
self.run_verify_test()
- def test_l2bd_inst_04(self):
- """ L2BD Multi-instance test 4 - update data of 5 BDs
- """
- # Config 2
- # Update data of 5 BDs (disable learn, forward, flood, uu-flood)
- self.set_bd_flags(self.bd_list[0], learn=False, forward=False,
- flood=False, uu_flood=False)
- self.set_bd_flags(self.bd_list[1], forward=False)
- self.set_bd_flags(self.bd_list[2], flood=False)
- self.set_bd_flags(self.bd_list[3], uu_flood=False)
- self.set_bd_flags(self.bd_list[4], learn=False)
-
- # Verify 2
- # Skipping check of uu_flood as it is not returned by
- # bridge_domain_dump api command
- self.verify_bd(self.bd_list[0], learn=False, forward=False,
- flood=False, uu_flood=False)
- self.verify_bd(self.bd_list[1], learn=True, forward=False,
- flood=True, uu_flood=True)
- self.verify_bd(self.bd_list[2], learn=True, forward=True,
- flood=False, uu_flood=True)
- self.verify_bd(self.bd_list[3], learn=True, forward=True,
- flood=True, uu_flood=False)
- self.verify_bd(self.bd_list[4], learn=False, forward=True,
- flood=True, uu_flood=True)
-
+ @unittest.skipUnless(running_extended_tests, "part of extended tests")
def test_l2bd_inst_05(self):
""" L2BD Multi-instance test 5 - delete 5 BDs
"""