forked from Mirror/frr
Merge pull request #15794 from chiragshah6/fdev2
tools: fix pim interface config deletion II
This commit is contained in:
commit
3bb7b49791
|
@ -1083,19 +1083,34 @@ def pim_delete_move_lines(lines_to_add, lines_to_del):
|
|||
# Remove all such depdendent options from delete
|
||||
# pending list.
|
||||
pim_disable = False
|
||||
lines_to_del_to_del = []
|
||||
|
||||
index = -1
|
||||
for ctx_keys, line in lines_to_del:
|
||||
index = index + 1
|
||||
if ctx_keys[0].startswith("interface") and line and line == "ip pim":
|
||||
pim_disable = True
|
||||
|
||||
# no ip msdp peer <> does not accept source so strip it off.
|
||||
if line and line.startswith("ip msdp peer "):
|
||||
pim_msdp_peer = re.search("ip msdp peer (\S+) source (\S+)", line)
|
||||
if pim_msdp_peer:
|
||||
source_sub_str = "source %s" % pim_msdp_peer.group(2)
|
||||
new_line = line.replace(source_sub_str, "").strip()
|
||||
lines_to_del.remove((ctx_keys, line))
|
||||
lines_to_del.insert(index, (ctx_keys, new_line))
|
||||
|
||||
if pim_disable:
|
||||
for ctx_keys, line in lines_to_del:
|
||||
if (
|
||||
ctx_keys[0].startswith("interface")
|
||||
and line
|
||||
and line.startswith("ip pim ")
|
||||
and (line.startswith("ip pim ") or line.startswith("ip multicast "))
|
||||
):
|
||||
lines_to_del.remove((ctx_keys, line))
|
||||
lines_to_del_to_del.append((ctx_keys, line))
|
||||
|
||||
for ctx_keys, line in lines_to_del_to_del:
|
||||
lines_to_del.remove((ctx_keys, line))
|
||||
|
||||
return (lines_to_add, lines_to_del)
|
||||
|
||||
|
|
Loading…
Reference in a new issue