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
 },
 {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to