git: 7e0bba4d8083 - main - ifnet: make V_if_index static to if.c

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
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