Skip to content

Commit ea374a7

Browse files
Fix for dhcp_relay deletion on a VLAN (sonic-net#813)
Signed-off-by: Akhilesh Samineni <[email protected]>
1 parent fa21372 commit ea374a7

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

config/main.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,8 @@ def add_vlan_dhcp_relay_destination(ctx, vid, dhcp_relay_destination_ip):
11931193
return
11941194
else:
11951195
dhcp_relay_dests.append(dhcp_relay_destination_ip)
1196-
db.set_entry('VLAN', vlan_name, {"dhcp_servers":dhcp_relay_dests})
1196+
vlan['dhcp_servers'] = dhcp_relay_dests
1197+
db.set_entry('VLAN', vlan_name, vlan)
11971198
click.echo("Added DHCP relay destination address {} to {}".format(dhcp_relay_destination_ip, vlan_name))
11981199
try:
11991200
click.echo("Restarting DHCP relay service...")
@@ -1218,7 +1219,11 @@ def del_vlan_dhcp_relay_destination(ctx, vid, dhcp_relay_destination_ip):
12181219
dhcp_relay_dests = vlan.get('dhcp_servers', [])
12191220
if dhcp_relay_destination_ip in dhcp_relay_dests:
12201221
dhcp_relay_dests.remove(dhcp_relay_destination_ip)
1221-
db.set_entry('VLAN', vlan_name, {"dhcp_servers":dhcp_relay_dests})
1222+
if len(dhcp_relay_dests) == 0:
1223+
del vlan['dhcp_servers']
1224+
else:
1225+
vlan['dhcp_servers'] = dhcp_relay_dests
1226+
db.set_entry('VLAN', vlan_name, vlan)
12221227
click.echo("Removed DHCP relay destination address {} from {}".format(dhcp_relay_destination_ip, vlan_name))
12231228
try:
12241229
click.echo("Restarting DHCP relay service...")

0 commit comments

Comments
 (0)