Skip to content
This repository was archived by the owner on Feb 10, 2018. It is now read-only.

Commit

Permalink
Merge pull request #209 from ckishimo/devel-bgp
Browse files Browse the repository at this point in the history
fix sent_prefixes if not advertising using send-state
  • Loading branch information
mirceaulinic authored Oct 10, 2017
2 parents 21c3512 + 96baf37 commit 0fbda09
Show file tree
Hide file tree
Showing 9 changed files with 1,246 additions and 1 deletion.
9 changes: 8 additions & 1 deletion napalm_junos/junos.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,12 +467,19 @@ def _parse_route_stats(self, neighbor):
if not neighbor['is_up']:
return data
elif isinstance(neighbor['tables'], list):
if isinstance(neighbor['sent_prefixes'], int):
# We expect sent_prefixes to be a list, but sometimes it
# is of type int. Therefore convert attribute to list
neighbor['sent_prefixes'] = [neighbor['sent_prefixes']]
for idx, table in enumerate(neighbor['tables']):
family = self._get_address_family(table)
data[family] = {}
data[family]['received_prefixes'] = neighbor['received_prefixes'][idx]
data[family]['accepted_prefixes'] = neighbor['accepted_prefixes'][idx]
data[family]['sent_prefixes'] = neighbor['sent_prefixes'][idx]
if 'in sync' in neighbor['send-state'][idx]:
data[family]['sent_prefixes'] = neighbor['sent_prefixes'].pop(0)
else:
data[family]['sent_prefixes'] = 0
else:
family = self._get_address_family(neighbor['tables'])
data[family] = {}
Expand Down
1 change: 1 addition & 0 deletions napalm_junos/utils/junos_views.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ junos_bgp_view:
received_prefixes: { bgp-rib/received-prefix-count: int }
accepted_prefixes: { bgp-rib/accepted-prefix-count: int }
sent_prefixes: { bgp-rib/advertised-prefix-count: int }
send-state: bgp-rib/send-state
tables: bgp-rib/name
local_as: { local-as: int }
peer_as: { peer-as: int }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"global": {
"peers": {
"10.92.51.2": {
"address_family": {
"ipv4": {
"accepted_prefixes": 3,
"received_prefixes": 3,
"sent_prefixes": 6
},
"ipv6": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
}
},
"description": "Leaf1_Underlay",
"is_enabled": true,
"is_up": true,
"local_as": 65000,
"remote_as": 65001,
"remote_id": "10.92.99.91",
"uptime": 61468
},
"10.92.52.2": {
"address_family": {
"ipv4": {
"accepted_prefixes": 4,
"received_prefixes": 4,
"sent_prefixes": 5
},
"ipv6": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
}
},
"description": "Leaf2_Underlay",
"is_enabled": true,
"is_up": true,
"local_as": 65000,
"remote_as": 65002,
"remote_id": "10.92.99.92",
"uptime": 320020
},
"10.92.99.91": {
"address_family": {
"evpn": {
"accepted_prefixes": 5,
"received_prefixes": 5,
"sent_prefixes": 0
},
"ipv4": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
},
"ipv6": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
}
},
"description": "Leaf1_Overlay",
"is_enabled": true,
"is_up": true,
"local_as": 65005,
"remote_as": 65005,
"remote_id": "10.92.99.91",
"uptime": 61458
},
"10.92.99.92": {
"address_family": {
"evpn": {
"accepted_prefixes": 3,
"received_prefixes": 3,
"sent_prefixes": 0
},
"ipv4": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
},
"ipv6": {
"accepted_prefixes": -1,
"received_prefixes": -1,
"sent_prefixes": -1
}
},
"description": "Leaf2_Overlay",
"is_enabled": true,
"is_up": true,
"local_as": 65005,
"remote_as": 65005,
"remote_id": "10.92.99.92",
"uptime": 320013
}
},
"router_id": "10.91.1.1"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
version: 17.3R1.10
Loading

0 comments on commit 0fbda09

Please sign in to comment.