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>