18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __NETNS_MIB_H__
38c2ecf20Sopenharmony_ci#define __NETNS_MIB_H__
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <net/snmp.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cistruct netns_mib {
88c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct tcp_mib, tcp_statistics);
98c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct ipstats_mib, ip_statistics);
108c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct linux_mib, net_statistics);
118c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct udp_mib, udp_statistics);
128c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct udp_mib, udplite_statistics);
138c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct icmp_mib, icmp_statistics);
148c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT_ATOMIC(struct icmpmsg_mib, icmpmsg_statistics);
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#if IS_ENABLED(CONFIG_IPV6)
178c2ecf20Sopenharmony_ci	struct proc_dir_entry *proc_net_devsnmp6;
188c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6);
198c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6);
208c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
218c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics);
228c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT_ATOMIC(struct icmpv6msg_mib, icmpv6msg_statistics);
238c2ecf20Sopenharmony_ci#endif
248c2ecf20Sopenharmony_ci#ifdef CONFIG_XFRM_STATISTICS
258c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct linux_xfrm_mib, xfrm_statistics);
268c2ecf20Sopenharmony_ci#endif
278c2ecf20Sopenharmony_ci#if IS_ENABLED(CONFIG_TLS)
288c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct linux_tls_mib, tls_statistics);
298c2ecf20Sopenharmony_ci#endif
308c2ecf20Sopenharmony_ci#ifdef CONFIG_MPTCP
318c2ecf20Sopenharmony_ci	DEFINE_SNMP_STAT(struct mptcp_mib, mptcp_statistics);
328c2ecf20Sopenharmony_ci#endif
338c2ecf20Sopenharmony_ci};
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci#endif
36