svn commit: r220881 - head/sys/netinet6

Bjoern A. Zeeb bz at FreeBSD.org
Wed Apr 20 08:05:24 UTC 2011


Author: bz
Date: Wed Apr 20 08:05:23 2011
New Revision: 220881
URL: http://svn.freebsd.org/changeset/base/220881

Log:
  MFp4 CH=191760,191770:
  
  Not compiling in and not initializing from inetsw from in_proto.c for
  IPv6 only, we need to initialize upper layer protocols from inet6sw.
  Make sure to not initialize them twice in a Dual-Stack
  environment but only conditionally on no INET as we have done for
  TCP for a long time.  Otherwise we would leak resources.
  
  Reviewed by:	gnn
  Sponsored by:	The FreeBSD Foundation
  Sponsored by:	iXsystems
  MFC after:	3 days

Modified:
  head/sys/netinet6/in6_proto.c

Modified: head/sys/netinet6/in6_proto.c
==============================================================================
--- head/sys/netinet6/in6_proto.c	Wed Apr 20 08:03:22 2011	(r220880)
+++ head/sys/netinet6/in6_proto.c	Wed Apr 20 08:05:23 2011	(r220881)
@@ -169,6 +169,9 @@ struct ip6protosw inet6sw[] = {
 	.pr_input =		udp6_input,
 	.pr_ctlinput =		udp6_ctlinput,
 	.pr_ctloutput =		ip6_ctloutput,
+#ifndef INET	/* Do not call initialization twice. */
+	.pr_init =		udp_init,
+#endif
 	.pr_usrreqs =		&udp6_usrreqs,
 },
 {
@@ -196,6 +199,9 @@ struct ip6protosw inet6sw[] = {
         .pr_ctlinput =  sctp6_ctlinput,
         .pr_ctloutput = sctp_ctloutput,
         .pr_drain =	sctp_drain,
+#ifndef INET	/* Do not call initialization twice. */
+	.pr_init =	sctp_init,
+#endif
         .pr_usrreqs =	&sctp6_usrreqs
 },
 {
@@ -231,6 +237,9 @@ struct ip6protosw inet6sw[] = {
 	.pr_output =		rip6_output,
 	.pr_ctlinput =		rip6_ctlinput,
 	.pr_ctloutput =		rip6_ctloutput,
+#ifndef INET	/* Do not call initialization twice. */
+	.pr_init =		rip_init,
+#endif
 	.pr_usrreqs =		&rip6_usrreqs
 },
 {


More information about the svn-src-head mailing list