git: 7e0bba4d8083 - main - ifnet: make V_if_index static to if.c
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 06 Dec 2021 17:32:50 UTC
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=7e0bba4d8083b6fac71180681b51aee9ed5fb664 commit 7e0bba4d8083b6fac71180681b51aee9ed5fb664 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2021-12-04 17:49:36 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2021-12-06 17:32:31 +0000 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 --- sys/net/if.c | 17 ++++++++++++----- sys/net/if_mib.c | 10 +--------- 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