1# Statistics Options
2
3# Copyright (c) 2016 Intel Corporation.
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig NET_STATISTICS
7	bool "Network statistics"
8	help
9	  Manage statistics accounting. This takes memory so say 'n' if unsure.
10
11if NET_STATISTICS
12
13module = NET_STATISTICS
14module-dep = NET_LOG
15module-str = Log level for network statistics
16module-help = Enables statistics module to output debug messages.
17source "subsys/net/Kconfig.template.log_config.net"
18
19config NET_STATISTICS_PER_INTERFACE
20	bool "Collect statistics per network interface"
21	default y
22	help
23	  Collect statistics also for each network interface.
24
25config NET_STATISTICS_USER_API
26	bool "Expose statistics through NET MGMT API"
27	select NET_MGMT
28	help
29	  Enable this if you need to grab relevant statistics in your code,
30	  via calling net_mgmt() with relevant NET_REQUEST_STATS_GET_* command.
31
32config NET_STATISTICS_PERIODIC_OUTPUT
33	bool "Simple periodic output"
34	depends on NET_LOG
35	help
36	  Print out all the statistics periodically through logging.
37	  This is meant for testing mostly.
38
39config NET_STATISTICS_IPV4
40	bool "IPv4 statistics"
41	depends on NET_IPV4
42	default y
43	help
44	  Keep track of IPv4 related statistics
45
46config NET_STATISTICS_IPV6
47	bool "IPv6 statistics"
48	depends on NET_IPV6
49	default y
50	help
51	  Keep track of IPv6 related statistics
52
53config NET_STATISTICS_IPV6_ND
54	bool "IPv6 statistics"
55	depends on NET_IPV6_ND
56	default y
57	help
58	  Keep track of IPv6 Neighbor Discovery related statistics
59
60config NET_STATISTICS_ICMP
61	bool "ICMP statistics"
62	depends on NET_IPV6 || NET_IPV4
63	default y
64	help
65	  Keep track of ICMPv4/6 related statistics, depending whether IPv4
66	  and/or IPv6 is/are enabled.
67
68config NET_STATISTICS_UDP
69	bool "UDP statistics"
70	depends on NET_UDP
71	default y
72	help
73	  Keep track of UDP related statistics
74
75config NET_STATISTICS_TCP
76	bool "TCP statistics"
77	depends on NET_TCP
78	default y
79	help
80	  Keep track of TCP related statistics
81
82config NET_STATISTICS_MLD
83	bool "Multicast Listener Discovery (MLD) statistics"
84	depends on NET_IPV6_MLD
85	default y
86	help
87	  Keep track of MLD related statistics
88
89config NET_STATISTICS_IGMP
90	bool "Internet Group Management Protocol (IGMP) statistics"
91	depends on NET_IPV4_IGMP
92	default y
93	help
94	  Keep track of IGMP related statistics
95
96config NET_STATISTICS_PPP
97	bool "Point-to-point (PPP) statistics"
98	depends on NET_PPP
99	default y
100	help
101	  Keep track of PPP related statistics
102
103config NET_STATISTICS_ETHERNET
104	bool "Ethernet statistics"
105	depends on NET_L2_ETHERNET
106	default y
107	help
108	  Keep track of Ethernet related statistics. Note that this
109	  requires support from the ethernet driver. The driver needs
110	  to collect the statistics.
111
112config NET_STATISTICS_ETHERNET_VENDOR
113	bool "Vendor specific Ethernet statistics"
114	depends on NET_STATISTICS_ETHERNET
115	help
116	  Allows Ethernet drivers to provide statistics information
117	  from vendor specific hardware registers in a form of
118	  key-value pairs. Deciphering the information may require
119	  vendor documentation.
120
121config NET_STATISTICS_POWER_MANAGEMENT
122	bool "Power management statistics"
123	depends on NET_POWER_MANAGEMENT
124	help
125	  This will provide how many time a network interface went
126	  suspended, for how long the last time and on average.
127
128endif # NET_STATISTICS
129