From a70895e83ae49b15f13e0801e0743d788b0cb595 Mon Sep 17 00:00:00 2001 From: anlan_cs Date: Fri, 14 Apr 2023 08:32:32 +0800 Subject: [PATCH] tools: fix missing remote-as configuration when reload From commit `411d1a2`, `bgp_delete_nbr_remote_as_line()` is added to remove some specific bgp neighbors. But, when reloading the following configuration, it will wrongly remove some good ones: `neighbor 66.66.66.6 remote-as internal`: ``` router bgp 66 bgp router-id 172.16.204.6 neighbor ANLAN peer-group neighbor ANLAN remote-as internal neighbor 66.66.66.6 remote-as internal <- LOST neighbor 66.66.66.60 peer-group ANLAN ``` The reason is that "66.66.66.6" is included in "66.66.66.60" literally, then it is mistakenly thought to be a match. Just fix it with excat match. Signed-off-by: anlan_cs --- tools/frr-reload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/frr-reload.py b/tools/frr-reload.py index 490e519ae..77772f80c 100755 --- a/tools/frr-reload.py +++ b/tools/frr-reload.py @@ -850,7 +850,7 @@ def bgp_delete_nbr_remote_as_line(lines_to_add): for pg in pg_dict[ctx_keys[0]]: if pg_dict[ctx_keys[0]][pg]["remoteas"] == True: for nbr in pg_dict[ctx_keys[0]][pg]["nbr"]: - if re_nbr_rmtas.group(1) in nbr: + if re_nbr_rmtas.group(1) == nbr: lines_to_del_from_add.append((ctx_keys, line)) for ctx_keys, line in lines_to_del_from_add: -- 2.39.2