X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_l2bd_multi_instance.py;h=b51bb5e6c8100a96b8ee7e41a70df46261e36f65;hb=61717cc38;hp=1cf1b13d728eafade6fa4f50313ea08ae179cc00;hpb=c83c8ed1db3dcb820a4df8dad54daf0805cb1605;p=vpp.git diff --git a/test/test_l2bd_multi_instance.py b/test/test_l2bd_multi_instance.py index 1cf1b13d728..b51bb5e6c81 100644 --- a/test/test_l2bd_multi_instance.py +++ b/test/test_l2bd_multi_instance.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """L2BD Multi-instance Test Case HLD: **NOTES:** @@ -69,7 +69,7 @@ from scapy.packet import Raw 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 @@ -115,25 +115,28 @@ class TestL2bdMultiInst(VppTestCase): for i in cls.pg_interfaces: i.admin_up() - # Create list of BDs - cls.bd_list = list() - - # Create list of deleted BDs - cls.bd_deleted_list = list() - - # Create list of pg_interfaces in BDs - cls.pg_in_bd = list() - except Exception: 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.reset_packet_infos() super(TestL2bdMultiInst, self).setUp() + # Create list of BDs + self.bd_list = [] + + # Create list of deleted BDs + self.bd_deleted_list = [] + + # Create list of pg_interfaces in BDs + self.pg_in_bd = [] def tearDown(self): """ @@ -187,8 +190,8 @@ class TestL2bdMultiInst(VppTestCase): 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) @@ -212,8 +215,8 @@ class TestL2bdMultiInst(VppTestCase): 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) @@ -263,7 +266,7 @@ class TestL2bdMultiInst(VppTestCase): 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)) @@ -316,7 +319,8 @@ class TestL2bdMultiInst(VppTestCase): 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): @@ -401,12 +405,14 @@ class TestL2bdMultiInst(VppTestCase): # Test 1 # self.vapi.cli("clear trace") self.run_verify_test() + self.delete_bd(5) def test_l2bd_inst_02(self): """ L2BD Multi-instance test 2 - update data of 5 BDs """ # Config 2 # Update data of 5 BDs (disable learn, forward, flood, uu-flood) + self.create_bd_and_mac_learn(5) 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) @@ -427,12 +433,14 @@ class TestL2bdMultiInst(VppTestCase): flood=True, uu_flood=False) self.verify_bd(self.bd_list[4], learn=False, forward=True, flood=True, uu_flood=True) + self.delete_bd(5) def test_l2bd_inst_03(self): - """ L2BD Multi-instance 3 - delete 2 BDs + """ L2BD Multi-instance test 3 - delete 2 BDs """ # Config 3 # Delete 2 BDs + self.create_bd_and_mac_learn(5) self.delete_bd(2) # Verify 3 @@ -443,6 +451,7 @@ class TestL2bdMultiInst(VppTestCase): # Test 3 self.run_verify_test() + self.delete_bd(3, 3) def test_l2bd_inst_04(self): """ L2BD Multi-instance test 4 - add 2 BDs @@ -459,12 +468,14 @@ class TestL2bdMultiInst(VppTestCase): # Test 4 # self.vapi.cli("clear trace") self.run_verify_test() + self.delete_bd(2) def test_l2bd_inst_05(self): - """ L2BD Multi-instance 5 - delete 5 BDs + """ L2BD Multi-instance test 5 - delete 5 BDs """ # Config 5 # Delete 5 BDs + self.create_bd_and_mac_learn(5) self.delete_bd(5) # Verify 5