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_PKT_FILTER
118	bool "Network packet filter statistics"
119	depends on NET_PKT_FILTER
120	default y
121	help
122	  Keep track of network packet filter related statistics
123
124config NET_STATISTICS_PPP
125	bool "Point-to-point (PPP) statistics"
126	depends on NET_L2_PPP
127	default y
128	help
129	  Keep track of PPP related statistics
130
131config NET_STATISTICS_ETHERNET
132	bool "Ethernet statistics"
133	depends on NET_L2_ETHERNET
134	default y
135	help
136	  Keep track of Ethernet related statistics. Note that this
137	  requires support from the ethernet driver. The driver needs
138	  to collect the statistics.
139
140config NET_STATISTICS_ETHERNET_VENDOR
141	bool "Vendor specific Ethernet statistics"
142	depends on NET_STATISTICS_ETHERNET
143	help
144	  Allows Ethernet drivers to provide statistics information
145	  from vendor specific hardware registers in a form of
146	  key-value pairs. Deciphering the information may require
147	  vendor documentation.
148
149config NET_STATISTICS_POWER_MANAGEMENT
150	bool "Power management statistics"
151	depends on NET_POWER_MANAGEMENT
152	help
153	  This will provide how many time a network interface went
154	  suspended, for how long the last time and on average.
155
156config NET_STATISTICS_WIFI
157	bool "Wi-Fi statistics"
158	depends on NET_L2_WIFI_MGMT
159	default y
160	help
161	  Keep track of Wi-Fi related statistics. Note that this
162	  requires support from the Wi-Fi driver. The driver needs
163	  to collect the statistics.
164
165config NET_STATISTICS_VIA_PROMETHEUS
166	bool "Export statistics via Prometheus"
167	depends on PROMETHEUS
168	help
169	  Enable this option to expose the network statistics
170	  to Prometheus monitoring system.
171
172config NET_STATISTICS_VPN
173	bool "VPN statistics"
174	depends on NET_VPN
175	default y
176	help
177	  Keep track of VPN related statistics
178
179endif # NET_STATISTICS
180