Module Name: src
Committed By: pgoyette
Date: Sat Dec 9 08:03:07 UTC 2017
Modified Files:
src/distrib/sets/lists/modules: mi
src/sys/modules: Makefile
src/sys/modules/if_gif: Makefile
src/sys/net: if_gif.c
src/sys/netinet: ip_ecn.c
Added Files:
src/sys/modules/ip_ecn: Makefile
Log Message:
Split ip_ecn code into its own module, so it can be shared between
gif(4), stf(4), and ipsec(4). Without this, loading the if_gif
module can result in redefined global symbols if either ipsec(4) or
stf(4) but not gif(4) is built into the kernel.
Fixes PR kern/52795 (as reported by martin@ via irc).
XXX pullup to netbsd-8
To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/distrib/sets/lists/modules/mi
cvs rdiff -u -r1.195 -r1.196 src/sys/modules/Makefile
cvs rdiff -u -r1.2 -r1.3 src/sys/modules/if_gif/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/ip_ecn/Makefile
cvs rdiff -u -r1.135 -r1.136 src/sys/net/if_gif.c
cvs rdiff -u -r1.16 -r1.17 src/sys/netinet/ip_ecn.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/modules/mi
diff -u src/distrib/sets/lists/modules/mi:1.111 src/distrib/sets/lists/modules/mi:1.112
--- src/distrib/sets/lists/modules/mi:1.111 Sun Jun 11 22:22:36 2017
+++ src/distrib/sets/lists/modules/mi Sat Dec 9 08:03:06 2017
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.111 2017/06/11 22:22:36 pgoyette Exp $
+# $NetBSD: mi,v 1.112 2017/12/09 08:03:06 pgoyette Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -182,6 +182,8 @@
./@MODULEDIR@/if_vlan/if_vlan.kmod base-kernel-modules kmod
./@MODULEDIR@/iic base-kernel-modules kmod
./@MODULEDIR@/iic/iic.kmod base-kernel-modules kmod
+./@MODULEDIR@/ip_ecn base-kernel-modules kmod
+./@MODULEDIR@/ip_ecn/ip_ecn.kmod base-kernel-modules kmod
./@MODULEDIR@/ipl base-kernel-modules kmod
./@MODULEDIR@/ipl/ipl.kmod base-kernel-modules kmod
./@MODULEDIR@/iscsi base-kernel-modules kmod,iscsi
Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.195 src/sys/modules/Makefile:1.196
--- src/sys/modules/Makefile:1.195 Fri Aug 11 12:58:14 2017
+++ src/sys/modules/Makefile Sat Dec 9 08:03:07 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.195 2017/08/11 12:58:14 maxv Exp $
+# $NetBSD: Makefile,v 1.196 2017/12/09 08:03:07 pgoyette Exp $
.include <bsd.own.mk>
@@ -70,6 +70,7 @@ SUBDIR+= if_strip
SUBDIR+= if_tun tun
SUBDIR+= if_vlan
SUBDIR+= iic
+SUBDIR+= ip_ecn
SUBDIR+= ipl
SUBDIR+= kernfs
SUBDIR+= layerfs
Index: src/sys/modules/if_gif/Makefile
diff -u src/sys/modules/if_gif/Makefile:1.2 src/sys/modules/if_gif/Makefile:1.3
--- src/sys/modules/if_gif/Makefile:1.2 Thu Aug 18 11:41:58 2016
+++ src/sys/modules/if_gif/Makefile Sat Dec 9 08:03:07 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2016/08/18 11:41:58 knakahara Exp $
+# $NetBSD: Makefile,v 1.3 2017/12/09 08:03:07 pgoyette Exp $
.include "../Makefile.inc"
@@ -6,7 +6,7 @@
KMOD= if_gif
IOCONF= gif.ioconf
-SRCS= if_gif.c in_gif.c in6_gif.c ip_ecn.c
+SRCS= if_gif.c in_gif.c in6_gif.c
CPPFLAGS+= -DINET
CPPFLAGS+= -DINET6
Index: src/sys/net/if_gif.c
diff -u src/sys/net/if_gif.c:1.135 src/sys/net/if_gif.c:1.136
--- src/sys/net/if_gif.c:1.135 Wed Dec 6 08:23:17 2017
+++ src/sys/net/if_gif.c Sat Dec 9 08:03:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: if_gif.c,v 1.135 2017/12/06 08:23:17 knakahara Exp $ */
+/* $NetBSD: if_gif.c,v 1.136 2017/12/09 08:03:06 pgoyette Exp $ */
/* $KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.135 2017/12/06 08:23:17 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.136 2017/12/09 08:03:06 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1187,4 +1187,4 @@ gif_update_variant(struct gif_softc *sc,
*/
#include "if_module.h"
-IF_MODULE(MODULE_CLASS_DRIVER, gif, "")
+IF_MODULE(MODULE_CLASS_DRIVER, gif, "ip_ecn")
Index: src/sys/netinet/ip_ecn.c
diff -u src/sys/netinet/ip_ecn.c:1.16 src/sys/netinet/ip_ecn.c:1.17
--- src/sys/netinet/ip_ecn.c:1.16 Mon Aug 24 22:21:26 2015
+++ src/sys/netinet/ip_ecn.c Sat Dec 9 08:03:07 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_ecn.c,v 1.16 2015/08/24 22:21:26 pooka Exp $ */
+/* $NetBSD: ip_ecn.c,v 1.17 2017/12/09 08:03:07 pgoyette Exp $ */
/* $KAME: ip_ecn.c,v 1.11 2001/05/03 16:09:29 itojun Exp $ */
/*
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_ecn.c,v 1.16 2015/08/24 22:21:26 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_ecn.c,v 1.17 2017/12/09 08:03:07 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -47,6 +47,7 @@ __KERNEL_RCSID(0, "$NetBSD: ip_ecn.c,v 1
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/errno.h>
+#include <sys/module.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
@@ -130,3 +131,20 @@ ip6_ecn_egress(int mode, const u_int32_t
*inner |= htonl((u_int32_t)inner8 << 20);
}
#endif
+
+MODULE(MODULE_CLASS_MISC, ip_ecn, NULL);
+
+static int
+ip_ecn_modcmd(modcmd_t cmd, void *arg)
+{
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ case MODULE_CMD_FINI:
+ return 0;
+
+ default:
+ return ENOTTY;
+ }
+}
+
Added files:
Index: src/sys/modules/ip_ecn/Makefile
diff -u /dev/null src/sys/modules/ip_ecn/Makefile:1.1
--- /dev/null Sat Dec 9 08:03:07 2017
+++ src/sys/modules/ip_ecn/Makefile Sat Dec 9 08:03:07 2017
@@ -0,0 +1,13 @@
+# $NetBSD: Makefile,v 1.1 2017/12/09 08:03:07 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/netinet
+
+KMOD= ip_ecn
+SRCS= ip_ecn.c
+
+CPPFLAGS+= -DINET
+CPPFLAGS+= -DINET6
+
+.include <bsd.kmodule.mk>