Ticket: CM-14260
Reviewed By: CCR-14260
Testing Done: quagga reload tests (quagga_service, bgp_enhe etc.)
Quagga reload handles deletes of entire context by issuing a "no.." on the
entire context itself instead of deleting each individual line of the context.
However, this doesn't work when the context is "interface" since its not
allowed to do "no interface <ifname>" inside quagga. So special case this by
deleting each individual line of the context.
Signed-off-by: Dinesh Dutt <ddutt@cumulusnetworks.com>
delete_bgpd = True
lines_to_del.append((running_ctx_keys, None))
+ # We cannot do 'no interface' in quagga, and so deal with it
+ elif running_ctx_keys[0].startswith('interface'):
+ for line in running_ctx.lines:
+ lines_to_del.append((running_ctx_keys, line))
+
# If this is an address-family under 'router bgp' and we are already deleting the
# entire 'router bgp' context then ignore this sub-context
elif "router bgp" in running_ctx_keys[0] and len(running_ctx_keys) > 1 and delete_bgpd: