forked from Mirror/frr
tools: fix frr-reload for no ip msdp peer cmd
no form of 'ip pm msdp peer <> source <>' does not accept source argument. Stip the 'source <>' part from config line being deleted via frr-reload. Ticket: #3874971 Testing: Config: vrf blue ip msdp peer 1.1.1.1 source 1.1.1.1 frr-reload failure log: 2024-04-23 02:08:32,501 INFO: Failed to execute vrf blue no ip msdp peer 1.1.1.1 source 1.1.1.1 exit 2024-04-23 02:08:32,501 ERROR: "vrf blue -- no ip msdp peer 1.1.1.1 source 1.1.1.1 -- exit" we failed to remove this command 2024-04-23 02:08:32,501 ERROR: % Unknown command: no ip msdp peer 1.1.1.1 source 1.1.1.1 Signed-off-by: Chirag Shah <chirag@nvidia.com>
This commit is contained in:
parent
bb52e5ebdc
commit
da2093ba39
|
@ -1085,10 +1085,21 @@ def pim_delete_move_lines(lines_to_add, lines_to_del):
|
||||||
pim_disable = False
|
pim_disable = False
|
||||||
lines_to_del_to_del = []
|
lines_to_del_to_del = []
|
||||||
|
|
||||||
|
index = -1
|
||||||
for ctx_keys, line in lines_to_del:
|
for ctx_keys, line in lines_to_del:
|
||||||
|
index = index + 1
|
||||||
if ctx_keys[0].startswith("interface") and line and line == "ip pim":
|
if ctx_keys[0].startswith("interface") and line and line == "ip pim":
|
||||||
pim_disable = True
|
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:
|
if pim_disable:
|
||||||
for ctx_keys, line in lines_to_del:
|
for ctx_keys, line in lines_to_del:
|
||||||
if (
|
if (
|
||||||
|
|
Loading…
Reference in a new issue