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_IPV6_PMTU
61	bool "IPv6 PMTU statistics"
62	depends on NET_IPV6_PMTU
63	default y
64	help
65	  Keep track of IPv6 Path MTU Discovery related statistics
66
67config NET_STATISTICS_IPV4_PMTU
68	bool "IPv4 PMTU statistics"
69	depends on NET_IPV4_PMTU
70	default y
71	help
72	  Keep track of IPv4 Path MTU Discovery related statistics
73
74config NET_STATISTICS_ICMP
75	bool "ICMP statistics"
76	depends on NET_IPV6 || NET_IPV4
77	default y
78	help
79	  Keep track of ICMPv4/6 related statistics, depending whether IPv4
80	  and/or IPv6 is/are enabled.
81
82config NET_STATISTICS_UDP
83	bool "UDP statistics"
84	depends on NET_UDP
85	default y
86	help
87	  Keep track of UDP related statistics
88
89config NET_STATISTICS_TCP
90	bool "TCP statistics"
91	depends on NET_TCP
92	default y
93	help
94	  Keep track of TCP related statistics
95
96config NET_STATISTICS_MLD
97	bool "Multicast Listener Discovery (MLD) statistics"
98	depends on NET_IPV6_MLD
99	default y
100	help
101	  Keep track of MLD related statistics
102
103config NET_STATISTICS_IGMP
104	bool "Internet Group Management Protocol (IGMP) statistics"
105	depends on NET_IPV4_IGMP
106	default y
107	help
108	  Keep track of IGMP related statistics
109
110config NET_STATISTICS_DNS
111	bool "Domain Name Service (DNS) statistics"
112	depends on DNS_RESOLVER || MDNS_RESPONDER || LLMNR_RESPONDER
113	default y
114	help
115	  Keep track of DNS related statistics
116
117config NET_STATISTICS_PPP
118	bool "Point-to-point (PPP) statistics"
119	depends on NET_L2_PPP
120	default y
121	help
122	  Keep track of PPP related statistics
123
124config NET_STATISTICS_ETHERNET
125	bool "Ethernet statistics"
126	depends on NET_L2_ETHERNET
127	default y
128	help
129	  Keep track of Ethernet related statistics. Note that this
130	  requires support from the ethernet driver. The driver needs
131	  to collect the statistics.
132
133config NET_STATISTICS_ETHERNET_VENDOR
134	bool "Vendor specific Ethernet statistics"
135	depends on NET_STATISTICS_ETHERNET
136	help
137	  Allows Ethernet drivers to provide statistics information
138	  from vendor specific hardware registers in a form of
139	  key-value pairs. Deciphering the information may require
140	  vendor documentation.
141
142config NET_STATISTICS_POWER_MANAGEMENT
143	bool "Power management statistics"
144	depends on NET_POWER_MANAGEMENT
145	help
146	  This will provide how many time a network interface went
147	  suspended, for how long the last time and on average.
148
149config NET_STATISTICS_WIFI
150	bool "Wi-Fi statistics"
151	depends on NET_L2_WIFI_MGMT
152	default y
153	help
154	  Keep track of Wi-Fi related statistics. Note that this
155	  requires support from the Wi-Fi driver. The driver needs
156	  to collect the statistics.
157
158config NET_STATISTICS_VIA_PROMETHEUS
159	bool "Export statistics via Prometheus"
160	depends on PROMETHEUS
161	help
162	  Enable this option to expose the network statistics
163	  to Prometheus monitoring system.
164
165endif # NET_STATISTICS
166