Skip to content

Commit

Permalink
Bugfix/ios get interfaces counters mgmt0 (#1201)
Browse files Browse the repository at this point in the history
* IOS: fix get_interfaces_counters when interface = canonical

Fixes #1200

mgmt0 interface is not translated to it's canonical name
on the 'show interface' command.

Thix fix attempt to use the expected Canonical name first
and fallback to the interface name in case of a KeyError is
raised

* Add test

* Make black happy !
  • Loading branch information
ExaneServerTeam authored May 9, 2020
1 parent 803f764 commit 061e297
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 3 deletions.
14 changes: 11 additions & 3 deletions napalm/ios/ios.py
Original file line number Diff line number Diff line change
Expand Up @@ -2129,9 +2129,17 @@ def get_interfaces_counters(self):
)
match = re.search(regex, line)
if match:
interface = canonical_interface_name(interface)
counters[interface]["rx_discards"] = int(match.group("IQD"))
counters[interface]["tx_discards"] = int(match.group("OQD"))
can_interface = canonical_interface_name(interface)
try:
counters[can_interface]["rx_discards"] = int(
match.group("IQD")
)
counters[can_interface]["tx_discards"] = int(
match.group("OQD")
)
except KeyError:
counters[interface]["rx_discards"] = int(match.group("IQD"))
counters[interface]["tx_discards"] = int(match.group("OQD"))

return counters

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"mgmt0": {
"rx_unicast_packets": 10039584,
"rx_octets": 860372462,
"rx_broadcast_packets": 10025891,
"rx_multicast_packets": 6,
"rx_errors": 0,
"rx_discards": 0,
"tx_unicast_packets": 309048,
"tx_octets": 110610635,
"tx_broadcast_packets": -1,
"tx_multicast_packets": -1,
"tx_errors": 0,
"tx_discards": 0
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@


*: interface is up
IHQ: pkts in input hold queue IQD: pkts dropped from input queue
OHQ: pkts in output hold queue OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec) RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec) TXPS: tx rate (pkts/sec)
TRTL: throttle count

Interface IHQ IQD OHQ OQD RXBS RXPS TXBS TXPS TRTL
-----------------------------------------------------------------------------------------------------------------
* mgmt0 0 0 0 0 0 1 0 0 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
mgmt0 is up, line protocol is up (connected)
Hardware is I82580 MGMT, address is 0008.e3ff.fd68 (bia 0008.e3ff.fd68)
Internet address is 10.211.127.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive not supported
Full-duplex, 1000Mb/s
Media-type configured as RJ45 connector
input flow-control is off, output flow-control is unsupported
Clock mode is auto
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:01, output never, output hang never
Last clearing of "show interface" counters 23w5d
Input queue: 0/1000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
10039584 packets input, 860372462 bytes, 0 no buffer
Received 10025891 broadcasts (416 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 0 multicast, 0 pause input
0 input packets with dribble condition detected
309048 packets output, 110610635 bytes, 0 underruns
0 output errors, 0 collisions, 25 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out

0 comments on commit 061e297

Please sign in to comment.