Skip to content

Commit 077be75

Browse files
authored
Merge pull request #1751 from jtishey/ios_bgp_duplicate_neighbor
IOS get_bgp_neighbors same IP different VRF - Fix #1497 #1231
2 parents 3d411b0 + 98a87e3 commit 077be75

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

napalm/ios/ios.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,12 +1957,17 @@ def get_bgp_neighbors(self):
19571957
# get neighbor_entry out of neighbor data
19581958
neighbor_entry = None
19591959
for neighbor in neighbor_data:
1960-
if (
1961-
neighbor["afi"].lower() == afi
1962-
and napalm.base.helpers.ip(neighbor["remote_addr"]) == remote_addr
1963-
):
1964-
neighbor_entry = neighbor
1965-
break
1960+
current_neighbor = napalm.base.helpers.ip(neighbor["remote_addr"])
1961+
if neighbor["afi"].lower() == afi and current_neighbor == remote_addr:
1962+
# Neighbor IPs in VRFs can overlap, so make sure
1963+
# we haven't covered this VRF + IP already
1964+
vrf = neighbor["vrf"] or "global"
1965+
if (
1966+
vrf == "global"
1967+
or current_neighbor not in bgp_neighbor_data[vrf]["peers"]
1968+
):
1969+
neighbor_entry = neighbor
1970+
break
19661971
# check for proper session data for the afi
19671972
if neighbor_entry is None:
19681973
continue

0 commit comments

Comments
 (0)