Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Aug 2022 18:52:24 GMT
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: aea0cd0432f0 - main - ip_reass: separate ipreass_init() into global and VIMAGE parts
Message-ID:  <202208171852.27HIqO4o013173@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=aea0cd0432f0bb21f78ed7dbf44a64d0cd05c941

commit aea0cd0432f0bb21f78ed7dbf44a64d0cd05c941
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2022-08-17 18:50:31 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2022-08-17 18:50:31 +0000

    ip_reass: separate ipreass_init() into global and VIMAGE parts
    
    Should have been done in 89128ff3e42.
---
 sys/netinet/ip_input.c |  5 ++++-
 sys/netinet/ip_reass.c | 24 ++++++++++++++----------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index e17d6fccb202..059f26869e0e 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -101,6 +101,7 @@ CTASSERT(sizeof(struct ip) == 20);
 
 /* IP reassembly functions are defined in ip_reass.c. */
 extern void ipreass_init(void);
+extern void ipreass_vnet_init(void);
 #ifdef VIMAGE
 extern void ipreass_destroy(void);
 #endif
@@ -315,7 +316,7 @@ ip_vnet_init(void *arg __unused)
 	V_in_ifaddrhashtbl = hashinit(INADDR_NHASH, M_IFADDR, &V_in_ifaddrhmask);
 
 	/* Initialize IP reassembly queue. */
-	ipreass_init();
+	ipreass_vnet_init();
 
 	/* Initialize packet filter hooks. */
 	args.pa_version = PFIL_VERSION;
@@ -349,6 +350,8 @@ static void
 ip_init(const void *unused __unused)
 {
 
+	ipreass_init();
+
 	/*
 	 * Register statically compiled protocols, that are unlikely to
 	 * ever become dynamic.
diff --git a/sys/netinet/ip_reass.c b/sys/netinet/ip_reass.c
index a0a8dd42b758..0420091e0a2a 100644
--- a/sys/netinet/ip_reass.c
+++ b/sys/netinet/ip_reass.c
@@ -92,6 +92,7 @@ VNET_DEFINE_STATIC(int, ipreass_maxbucketsize);
 #define	V_ipreass_maxbucketsize	VNET(ipreass_maxbucketsize)
 
 void		ipreass_init(void);
+void		ipreass_vnet_init(void);
 #ifdef VIMAGE
 void		ipreass_destroy(void);
 #endif
@@ -625,7 +626,7 @@ ipreass_drain(void)
  * Initialize IP reassembly structures.
  */
 void
-ipreass_init(void)
+ipreass_vnet_init(void)
 {
 	int max;
 
@@ -642,16 +643,19 @@ ipreass_init(void)
 	max = IP_MAXFRAGPACKETS;
 	max = uma_zone_set_max(V_ipq_zone, max);
 	V_ipreass_maxbucketsize = imax(max / (IPREASS_NHASH / 2), 1);
+}
 
-	if (IS_DEFAULT_VNET(curvnet)) {
-		maxfrags = IP_MAXFRAGS;
-		EVENTHANDLER_REGISTER(nmbclusters_change, ipreass_zone_change,
-		    NULL, EVENTHANDLER_PRI_ANY);
-		EVENTHANDLER_REGISTER(vm_lowmem, ipreass_drain, NULL,
-		    LOWMEM_PRI_DEFAULT);
-		EVENTHANDLER_REGISTER(mbuf_lowmem, ipreass_drain, NULL,
-			LOWMEM_PRI_DEFAULT);
-	}
+void
+ipreass_init(void)
+{
+
+	maxfrags = IP_MAXFRAGS;
+	EVENTHANDLER_REGISTER(nmbclusters_change, ipreass_zone_change,
+	    NULL, EVENTHANDLER_PRI_ANY);
+	EVENTHANDLER_REGISTER(vm_lowmem, ipreass_drain, NULL,
+	    LOWMEM_PRI_DEFAULT);
+	EVENTHANDLER_REGISTER(mbuf_lowmem, ipreass_drain, NULL,
+		LOWMEM_PRI_DEFAULT);
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202208171852.27HIqO4o013173>