From eef08bcc6be11e8c9310de99af0b90b2115e91f3 Mon Sep 17 00:00:00 2001 From: manu Date: Sun, 9 Feb 2025 20:38:41 +0100 Subject: [PATCH] use plain dict in IOSDriver.get_bgp_neighbors_detail() (#2163) --- napalm/ios/ios.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 92e40d6c7..c42837609 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -22,7 +22,6 @@ import telnetlib import tempfile import uuid -from collections import defaultdict from netmiko import FileTransfer, InLineTransfer @@ -2076,7 +2075,7 @@ def get_bgp_neighbors(self): return bgp_neighbor_data def get_bgp_neighbors_detail(self, neighbor_address=""): - bgp_detail = defaultdict(lambda: defaultdict(lambda: [])) + bgp_detail = {} raw_bgp_sum = self._send_command("show ip bgp all sum").strip() @@ -2227,6 +2226,14 @@ def get_bgp_neighbors_detail(self, neighbor_address=""): "export_policy": bgp_neigh_afi["policy_out"], } ) + + vrf_name = details["routing_table"] + if vrf_name not in bgp_detail.keys(): + bgp_detail[vrf_name] = {} + remote_as = details["remote_as"] + if remote_as not in bgp_detail[vrf_name].keys(): + bgp_detail[vrf_name][remote_as] = [] + bgp_detail[details["routing_table"]][details["remote_as"]].append(details) return bgp_detail