Tip
This is the documentation for the v21.03 version. Looking for the documentation of the latest version? Have a look here.
Monitoring Interfaces¶
Each interface has associated counters, which enable traffic volume and error monitoring.
Note
To limit the amount of administrative traffic, VPP only updates these counters every 10 seconds.
There are several commands used to monitor interfaces: show interface
,
show interface counters
, interface clear counters
, and show
packet-counters
. Additionally, the counters may be retrieved using RESTCONF.
show interface¶
The show interface
command prints important traffic volume and error counters
specific to each interface. For example:
tnsr# show interface
Interface: TenGigabitEthernet6/0/0
Admin status: up
Link up, link-speed 1000 Mbps, full duplex
Link MTU: 1500 bytes
MAC address: 00:90:0b:7a:8a:67
IPv4 Route Table: ipv4-VRF:0
IPv4 addresses:
203.0.113.2/24
IPv6 Route Table: ipv6-VRF:0
IPv6 addresses:
2001:db8:0:2::2/64
VLAN tag rewrite: disabled
counters:
received: 9253580 bytes, 61588 packets, 0 errors
transmitted: 628148 bytes, 5755 packets, 8 errors
protocols: 12810 IPv4, 5101 IPv6
50972 drops, 0 punts, 0 rx miss, 0 rx no buffer
The show interface
command also supports filtering of its output. When the
list is filtered, its name, description, and administrative status are printed
along with the chosen output.
- access-list:
Prints the access control lists configured on an interface
- counters:
Prints the interface traffic counters for an interface
- ip [(nat|vrrp-virtual-router)]:
Prints the IPv4 addresses present on the interface and the IPv4 route table used by the interface.
- nat:
Prints the NAT role for an interface (e.g. inside or outside)
- vrrp-virtual-router:
Prints the IPv4 VRRP status for an interface.
- ipv6 [vrrp-virtual-router]:
Prints the IPv6 addresses present on the interface and the IPv6 route table used by the interface.
- vrrp-virtual-router:
Prints the IPv6 VRRP status for an interface.
- link:
Prints the link status (e.g. up or down), media type and duplex, and MTU
- mac-address:
Prints the hardware MAC address, if present
- vlan tag-rewrite:
Shows VLAN tag rewriting attributes for an interface.
These keywords may be used with the entire list of interfaces, for example:
tnsr# show interface ip
The filtering may also be applied to a single interface:
tnsr# show interface TenGigabitEthernet6/0/0 link
show interface counters¶
The show interface [<if-name>] counters [verbose]
command displays detailed
information on all available interface counters.
Example output:
tnsr(config)# show interface TenGigabitEthernet6/0/0 counters
Interface: TenGigabitEthernet6/0/0
counters:
received: 9253580 bytes, 61588 packets, 0 errors
transmitted: 628148 bytes, 5755 packets, 8 errors
protocols: 12810 IPv4, 5101 IPv6
50972 drops, 0 punts, 0 rx miss, 0 rx no buffer
Additional detailed packet counters for transmit and receive of unicast,
multicast, and broadcast traffic may be enabled or disabled on a per-interface
basis (Interface Configuration Options). Add the verbose
keyword to display
these statistics:
tnsr(config)# show interface TenGigabitEthernet6/0/0 counters verbose
Interface: TenGigabitEthernet6/0/0
detailed counters:
received: 9258555 bytes, 61641 packets, 0 errors
received unicast: 2464 bytes, 18 packets
received multicast: 2464 bytes, 18 packets
received broadcast: 622 bytes, 8 packets
transmitted: 628676 bytes, 5761 packets, 8 errors
transmitted unicast: 2480 bytes, 18 packets
transmitted multicast: 2480 bytes, 18 packets
transmitted broadcast: 0 bytes, 0 packets
protocols: 12820 IPv4, 5105 IPv6
51016 drops, 0 punts, 0 rx miss, 0 rx no buffer
Counter values take a minimum of 10 seconds to be populated with valid data.
clear interface counters¶
The interface clear counters <name>
command clears all counters on a given
interface. This command is available in config
mode. If no specific
interface is given, all interfaces will have their counters cleared:
tnsr# configure
tnsr(config)# interface clear counters
Counters cleared
tnsr(config)#
show packet-counters¶
The show packet-counters
command prints packet statistics and error counters
taken from the dataplane. These counters show counts of packets that have passed
through various aspects of processing, such as encryption, along with various
types of packet send/receive errors. The set of counters displayed will vary
depending on the set of enabled features, such as NAT, IPsec, and so on.
Example output:
tnsr# show packet-counters
Count Node Reason
624 dpdk-crypto-input Crypto ops dequeued
624 dpdk-esp-decrypt-post ESP post pkts
624 dpdk-esp-decrypt ESP pkts received
622 esp-encrypt ESP pkts received
624 ipsec-if-input good packets received
304 ip4-input Multicast RPF check failed
9 ip4-arp ARP requests sent
22 lldp-input lldp packets received on disabled interfaces
8 ethernet-input no error
2 ethernet-input unknown ethernet type
5821 ethernet-input unknown vlan
16 arp-input ARP request IP4 source address learned
28 GigabitEthernet0/14/0-output interface is down
8 GigabitEthernet3/0/0-output interface is down
Interface status via API¶
If the RESTCONF API is enabled, the interface counter data may also be polled that way. For example:
Command:
$ curl --cert ~/tnsr/tnsr-myuser.crt \
--key ~/tnsr/tnsr-myuser.key \
--cacert ~/tnsr/tnsr-selfca.crt \
-X GET \
http://tnsr.example.com/restconf/data/netgate-interface:interfaces-state/interface=TenGigabitEthernet6%2F0%2F0/counters/
Output:
{
"netgate-interface:counters": {
"collect-time": 1563807148,
"reset-time": 0,
"detailed-counters": true,
"rx-bytes": 120317,
"rx-packets": 736,
"rx-unicast-bytes": 19775,
"rx-unicast-packets": 102,
"rx-multicast-bytes": 97965,
"rx-multicast-packets": 597,
"rx-broadcast-bytes": 2577,
"rx-broadcast-packets": 37,
"rx-ip4": 175,
"rx-ip6": 57,
"tx-bytes": 15530,
"tx-packets": 101,
"tx-unicast-bytes": 15178,
"tx-unicast-packets": 95,
"tx-multicast-bytes": 226,
"tx-multicast-packets": 3,
"tx-broadcast-bytes": 126,
"tx-broadcast-packets": 3,
"drop": 601,
"punt": 0,
"rx-no-buffer": 0,
"rx-miss": 0,
"rx-error": 0,
"tx-error": 21
}
}