Network Statistics¶
Overview¶
Network statistics are collected if :kconfig:`CONFIG_NET_STATISTICS` is set. Individual component statistics for IPv4 or IPv6 can be turned off if those statistics are not needed. See various options in subsys/net/ip/Kconfig.stats file for details.
By default, the system collects network statistics per network interface. This can be controlled by :kconfig:`CONFIG_NET_STATISTICS_PER_INTERFACE` option.
The :kconfig:`CONFIG_NET_STATISTICS_USER_API` option can be set if the application wants to collect statistics for further processing. The network management interface API is used for that. See Network Management for details.
The :kconfig:`CONFIG_NET_STATISTICS_ETHERNET` option can be set to collect generic Ethernet statistics. If the :kconfig:`CONFIG_NET_STATISTICS_ETHERNET_VENDOR` option is set, then Ethernet device driver can collect Ethernet device specific statistics. These statistics can then be transferred to application for processing.
If the :kconfig:`CONFIG_NET_SHELL` option is set, then network shell can
show statistics information with net stats
command.
API Reference¶
-
group
net_stats
Network statistics library.
Typedefs
-
typedef uint32_t
net_stats_t
¶ Network statistics counter.
-
struct
net_stats_bytes
¶ - #include <net_stats.h>
Number of bytes sent and received.
Public Members
-
net_stats_t
sent
¶ Number of bytes sent
-
net_stats_t
received
¶ Number of bytes received
-
net_stats_t
-
struct
net_stats_pkts
¶ - #include <net_stats.h>
Number of network packets sent and received.
-
struct
net_stats_ip
¶ - #include <net_stats.h>
IP layer statistics.
Public Members
-
net_stats_t
recv
¶ Number of received packets at the IP layer.
-
net_stats_t
sent
¶ Number of sent packets at the IP layer.
-
net_stats_t
forwarded
¶ Number of forwarded packets at the IP layer.
-
net_stats_t
drop
¶ Number of dropped packets at the IP layer.
-
net_stats_t
-
struct
net_stats_ip_errors
¶ - #include <net_stats.h>
IP layer error statistics.
Public Members
-
net_stats_t
vhlerr
¶ Number of packets dropped due to wrong IP version or header length.
-
net_stats_t
hblenerr
¶ Number of packets dropped due to wrong IP length, high byte.
-
net_stats_t
lblenerr
¶ Number of packets dropped due to wrong IP length, low byte.
-
net_stats_t
fragerr
¶ Number of packets dropped because they were IP fragments.
-
net_stats_t
chkerr
¶ Number of packets dropped due to IP checksum errors.
-
net_stats_t
protoerr
¶ Number of packets dropped because they were neither ICMP, UDP nor TCP.
-
net_stats_t
-
struct
net_stats_icmp
¶ - #include <net_stats.h>
ICMP statistics.
Public Members
-
net_stats_t
recv
¶ Number of received ICMP packets.
-
net_stats_t
sent
¶ Number of sent ICMP packets.
-
net_stats_t
drop
¶ Number of dropped ICMP packets.
-
net_stats_t
typeerr
¶ Number of ICMP packets with a wrong type.
-
net_stats_t
chkerr
¶ Number of ICMP packets with a bad checksum.
-
net_stats_t
-
struct
net_stats_tcp
¶ - #include <net_stats.h>
TCP statistics.
Public Members
-
struct net_stats_bytes
bytes
¶ Amount of received and sent TCP application data.
-
net_stats_t
resent
¶ Amount of retransmitted data.
-
net_stats_t
drop
¶ Number of dropped packets at the TCP layer.
-
net_stats_t
recv
¶ Number of received TCP segments.
-
net_stats_t
sent
¶ Number of sent TCP segments.
-
net_stats_t
seg_drop
¶ Number of dropped TCP segments.
-
net_stats_t
chkerr
¶ Number of TCP segments with a bad checksum.
-
net_stats_t
ackerr
¶ Number of received TCP segments with a bad ACK number.
-
net_stats_t
rsterr
¶ Number of received bad TCP RST (reset) segments.
-
net_stats_t
rst
¶ Number of received TCP RST (reset) segments.
-
net_stats_t
rexmit
¶ Number of retransmitted TCP segments.
-
net_stats_t
conndrop
¶ Number of dropped connection attempts because too few connections were available.
-
net_stats_t
connrst
¶ Number of connection attempts for closed ports, triggering a RST.
-
struct net_stats_bytes
-
struct
net_stats_udp
¶ - #include <net_stats.h>
UDP statistics.
Public Members
-
net_stats_t
drop
¶ Number of dropped UDP segments.
-
net_stats_t
recv
¶ Number of received UDP segments.
-
net_stats_t
sent
¶ Number of sent UDP segments.
-
net_stats_t
chkerr
¶ Number of UDP segments with a bad checksum.
-
net_stats_t
-
struct
net_stats_ipv6_nd
¶ - #include <net_stats.h>
IPv6 neighbor discovery statistics.
-
struct
net_stats_ipv6_mld
¶ - #include <net_stats.h>
IPv6 multicast listener daemon statistics.
Public Members
-
net_stats_t
recv
¶ Number of received IPv6 MLD queries
-
net_stats_t
sent
¶ Number of sent IPv6 MLD reports
-
net_stats_t
drop
¶ Number of dropped IPv6 MLD packets
-
net_stats_t
-
struct
net_stats_ipv4_igmp
¶ - #include <net_stats.h>
IPv4 IGMP daemon statistics.
Public Members
-
net_stats_t
recv
¶ Number of received IPv4 IGMP queries
-
net_stats_t
sent
¶ Number of sent IPv4 IGMP reports
-
net_stats_t
drop
¶ Number of dropped IPv4 IGMP packets
-
net_stats_t
-
struct
net_stats_tx_time
¶ - #include <net_stats.h>
Network packet transfer times for calculating average TX time.
-
struct
net_stats_rx_time
¶ - #include <net_stats.h>
Network packet receive times for calculating average RX time.
-
struct
net_stats_tc
¶ - #include <net_stats.h>
Traffic class statistics.
-
struct
net_stats_pm
¶ - #include <net_stats.h>
Power management statistics.
-
struct
net_stats
¶ - #include <net_stats.h>
All network statistics in one struct.
Public Members
-
net_stats_t
processing_error
¶ Count of malformed packets or packets we do not have handler for
-
struct net_stats_bytes
bytes
¶ This calculates amount of data transferred through all the network interfaces.
-
struct net_stats_ip_errors
ip_errors
¶ IP layer errors
-
net_stats_t
-
struct
net_stats_eth_errors
¶ - #include <net_stats.h>
Ethernet error statistics.
-
struct
net_stats_eth_flow
¶ - #include <net_stats.h>
Ethernet flow control statistics.
-
struct
net_stats_eth_csum
¶ - #include <net_stats.h>
Ethernet checksum statistics.
-
struct
net_stats_eth_hw_timestamp
¶ - #include <net_stats.h>
Ethernet hardware timestamp statistics.
-
struct
net_stats_eth
¶ - #include <net_stats.h>
All Ethernet specific statistics.
-
struct
net_stats_ppp
¶ - #include <net_stats.h>
All PPP specific statistics.
Public Members
-
net_stats_t
drop
¶ Number of received and dropped PPP frames.
-
net_stats_t
chkerr
¶ Number of received PPP frames with a bad checksum.
-
net_stats_t
-
typedef uint32_t