Skip to content

Commit

Permalink
Fix VLAN member not removed from VLAN TABLE after executing the CLI
Browse files Browse the repository at this point in the history
  • Loading branch information
twtseng-tim authored Aug 12, 2024
1 parent 02586f1 commit 3b4c70f
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions show/vlan.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,28 +147,28 @@ def config(db):
member_data = db.cfgdb.get_table('VLAN_MEMBER')
interface_naming_mode = clicommon.get_interface_naming_mode()
iface_alias_converter = clicommon.InterfaceAliasConverter(db)

def get_iface_name_for_display(member):
name_for_display = member
if interface_naming_mode == "alias" and member:
name_for_display = iface_alias_converter.name_to_alias(member)
return name_for_display

def get_tagging_mode(vlan, member):
if not member:
return ''
tagging_mode = db.cfgdb.get_entry('VLAN_MEMBER', (vlan, member)).get('tagging_mode')
return '?' if tagging_mode is None else tagging_mode

def tablelize(keys, data):
table = []

for k in natsorted(keys):
members = set([(vlan, member) for vlan, member in member_data if vlan == k] + [(k, member) for member in set(data[k].get('members', []))])
members = set([(vlan, member) for vlan, member in member_data if vlan == k])
# vlan with no members
if not members:
members = [(k, '')]

for vlan, member in natsorted(members):
r = [vlan, data[vlan]['vlanid'], get_iface_name_for_display(member), get_tagging_mode(vlan, member)]
table.append(r)
Expand Down

0 comments on commit 3b4c70f

Please sign in to comment.