Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2016 16:31:24 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r298152 - projects/vnet/sys/net
Message-ID:  <201604171631.u3HGVOCY084470@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Sun Apr 17 16:31:24 2016
New Revision: 298152
URL: https://svnweb.freebsd.org/changeset/base/298152

Log:
  Move the interface teardown (destroy) to SI_SUB_INIT_IF to make interfaces
  go last on network stack teardown.
  We do need to detach the hhook consumers hwever before the L3 protocols
  go away, thus run that detach just befre L3 along with the L4 protocols
  on SI_SUB_PROTO_DOMAIN / SI_ORDER_FOURTH.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/if_enc.c

Modified: projects/vnet/sys/net/if_enc.c
==============================================================================
--- projects/vnet/sys/net/if_enc.c	Sun Apr 17 16:29:24 2016	(r298151)
+++ projects/vnet/sys/net/if_enc.c	Sun Apr 17 16:31:24 2016	(r298152)
@@ -383,12 +383,25 @@ vnet_enc_uninit(const void *unused __unu
 {
 	KASSERT(V_enc_sc != NULL, ("%s: V_enc_sc is %p\n", __func__, V_enc_sc));
 
-	enc_remove_hhooks(V_enc_sc);
 	if_clone_detach(V_enc_cloner);
 }
-VNET_SYSUNINIT(vnet_enc_uninit, SI_SUB_PSEUDO_DONE, SI_ORDER_ANY,
+VNET_SYSUNINIT(vnet_enc_uninit, SI_SUB_INIT_IF, SI_ORDER_ANY,
     vnet_enc_uninit, NULL);
 
+/*
+ * The hhook consumer needs to go before ip[6]_destroy are called on
+ * SI_ORDER_THIRD.
+ */
+static void
+vnet_enc_uninit_hhook(const void *unused __unused)
+{
+	KASSERT(V_enc_sc != NULL, ("%s: V_enc_sc is %p\n", __func__, V_enc_sc));
+
+	enc_remove_hhooks(V_enc_sc);
+}
+VNET_SYSUNINIT(vnet_enc_uninit_hhook, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH,
+    vnet_enc_uninit_hhook, NULL);
+
 static int
 enc_modevent(module_t mod, int type, void *data)
 {



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