diff --git a/tests/test_vlan.py b/tests/test_vlan.py index 9ab27c14fdb5..3ff9990571f3 100644 --- a/tests/test_vlan.py +++ b/tests/test_vlan.py @@ -251,3 +251,30 @@ def test_AddVlanWithIncorrectValueType(self, dvs, testlog, test_input, expected) #remove vlan self.remove_vlan(vlan) + def test_AddMaxVlan(self, dvs, testlog): + self.setup_db(dvs) + + min_vid = 2 + max_vid = 4094 + + # create max vlan + vlan = min_vid + while vlan <= max_vid: + self.create_vlan(str(vlan)) + vlan += 1 + + # check asic database + tbl = swsscommon.Table(self.adb, "ASIC_STATE:SAI_OBJECT_TYPE_VLAN") + vlan_entries = [k for k in tbl.getKeys() if k != dvs.asicdb.default_vlan_id] + assert len(vlan_entries) == (4094-1) + + # remove all vlan + vlan = min_vid + while vlan <= max_vid: + self.remove_vlan(str(vlan)) + vlan += 1 + + # check asic database + tbl = swsscommon.Table(self.adb, "ASIC_STATE:SAI_OBJECT_TYPE_VLAN") + vlan_entries = [k for k in tbl.getKeys() if k != dvs.asicdb.default_vlan_id] + assert len(vlan_entries) == 0