diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2021-12-04 17:49:36 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2021-12-06 17:32:31 +0000 |
commit | 7e0bba4d8083b6fac71180681b51aee9ed5fb664 (patch) | |
tree | 874f7225b324faffc7fff75006b29b258c7d166b | |
parent | d74b7baeb0d419fce46994075b6ccf944a0fae9a (diff) | |
download | src-7e0bba4d8083b6fac71180681b51aee9ed5fb664.tar.gz src-7e0bba4d8083b6fac71180681b51aee9ed5fb664.zip |
ifnet: make V_if_index static to if.c
This requires moving net.link.generic sysctl declaration from if_mib.c
to if.c. Ideally if_mib.c needs just to be merged to if.c, but they
have different license texts.
Differential revision: https://reviews.freebsd.org/D33263
-rw-r--r-- | sys/net/if.c | 17 | ||||
-rw-r--r-- | sys/net/if_mib.c | 10 | ||||
-rw-r--r-- | sys/net/if_var.h | 2 |
3 files changed, 13 insertions, 16 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 87c3e4af4380..6543cee5ef5a 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -84,6 +84,7 @@ #include <net/if_types.h> #include <net/if_var.h> #include <net/if_media.h> +#include <net/if_mib.h> #include <net/if_vlan_var.h> #include <net/radix.h> #include <net/route.h> @@ -305,19 +306,25 @@ extern void nd6_setmtu(struct ifnet *); VNET_DEFINE(struct hhook_head *, ipsec_hhh_in[HHOOK_IPSEC_COUNT]); VNET_DEFINE(struct hhook_head *, ipsec_hhh_out[HHOOK_IPSEC_COUNT]); -VNET_DEFINE(int, if_index); int ifqmaxlen = IFQ_MAXLEN; VNET_DEFINE(struct ifnethead, ifnet); /* depend on static init XXX */ VNET_DEFINE(struct ifgrouphead, ifg_head); -VNET_DEFINE_STATIC(int, if_indexlim) = 8; - /* Table of ifnet by index. */ -VNET_DEFINE_STATIC(struct ifnet **, ifindex_table); - +VNET_DEFINE_STATIC(int, if_index); +#define V_if_index VNET(if_index) +VNET_DEFINE_STATIC(int, if_indexlim) = 8; #define V_if_indexlim VNET(if_indexlim) +VNET_DEFINE_STATIC(struct ifnet **, ifindex_table); #define V_ifindex_table VNET(ifindex_table) +SYSCTL_NODE(_net_link_generic, IFMIB_SYSTEM, system, + CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "Variables global to all interfaces"); +SYSCTL_INT(_net_link_generic_system, IFMIB_IFCOUNT, ifcount, + CTLFLAG_VNET | CTLFLAG_RD, &VNET_NAME(if_index), 0, + "Number of configured interfaces"); + /* * The global network interface list (V_ifnet) and related state (such as * if_index, if_indexlim, and ifindex_table) are protected by an sxlock. diff --git a/sys/net/if_mib.c b/sys/net/if_mib.c index 27d7a87bdf84..abf983a02c79 100644 --- a/sys/net/if_mib.c +++ b/sys/net/if_mib.c @@ -64,15 +64,6 @@ * services stuff). */ -SYSCTL_DECL(_net_link_generic); -static SYSCTL_NODE(_net_link_generic, IFMIB_SYSTEM, system, - CTLFLAG_RW | CTLFLAG_MPSAFE, 0, - "Variables global to all interfaces"); - -SYSCTL_INT(_net_link_generic_system, IFMIB_IFCOUNT, ifcount, - CTLFLAG_VNET | CTLFLAG_RD, &VNET_NAME(if_index), 0, - "Number of configured interfaces"); - static int sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! */ { @@ -147,6 +138,7 @@ out: return error; } +SYSCTL_DECL(_net_link_generic); static SYSCTL_NODE(_net_link_generic, IFMIB_IFDATA, ifdata, CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_ifdata, "Interface table"); diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 1647eb351db3..f181780501fe 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -629,12 +629,10 @@ struct ifaddr *ifaddr_byindex(u_short idx); VNET_DECLARE(struct ifnethead, ifnet); VNET_DECLARE(struct ifgrouphead, ifg_head); -VNET_DECLARE(int, if_index); VNET_DECLARE(struct ifnet *, loif); /* first loopback interface */ #define V_ifnet VNET(ifnet) #define V_ifg_head VNET(ifg_head) -#define V_if_index VNET(if_index) #define V_loif VNET(loif) #ifdef MCAST_VERBOSE |