[BACK]Return to ip6_input.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netinet6

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netinet6/ip6_input.c between version 1.73 and 1.73.2.3

version 1.73, 2004/03/24 15:34:54 version 1.73.2.3, 2007/06/04 19:24:35
Line 1015  ip6_savecontrol(in6p, mp, ip6, m)
Line 1015  ip6_savecontrol(in6p, mp, ip6, m)
                         mp = &(*mp)->m_next;                          mp = &(*mp)->m_next;
         }          }
 #endif  #endif
   
          /* some OSes call this logic with IPv4 packet, for SO_TIMESTAMP */
          if ((ip6->ip6_vfc & IPV6_VERSION_MASK) != IPV6_VERSION)
                  return;
   
         if (in6p->in6p_flags & IN6P_RECVDSTADDR) {          if (in6p->in6p_flags & IN6P_RECVDSTADDR) {
                 *mp = sbcreatecontrol((caddr_t) &ip6->ip6_dst,                  *mp = sbcreatecontrol((caddr_t) &ip6->ip6_dst,
                     sizeof(struct in6_addr), IPV6_RECVDSTADDR, IPPROTO_IPV6);                      sizeof(struct in6_addr), IPV6_RECVDSTADDR, IPPROTO_IPV6);
Line 1435  u_char inet6ctlerrmap[PRC_NCMDS] = {
Line 1440  u_char inet6ctlerrmap[PRC_NCMDS] = {
         ENOPROTOOPT          ENOPROTOOPT
 };  };
   
   static int
   sysctl_net_inet6_ip6_rht0(SYSCTLFN_ARGS)
   {
           int error, tmp;
           struct sysctlnode node;
   
           node = *rnode;
           tmp = ip6_rht0;
           node.sysctl_data = &tmp;
           error = sysctl_lookup(SYSCTLFN_CALL(&node));
           if (error || newp == NULL)
                   return error;
   
           switch (tmp) {
           case -1:        /* disable processing */
           case 0:         /* disable for host, enable for router */
           case 1:         /* enable for all */
                   break;
           default:
                   return EINVAL;
           }
           ip6_rht0 = tmp;
           return 0;
   }
   
 SYSCTL_SETUP(sysctl_net_inet6_ip6_setup, "sysctl net.inet6.ip6 subtree setup")  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup, "sysctl net.inet6.ip6 subtree setup")
 {  {
   
Line 1445  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
Line 1475  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
                        CTL_NET, CTL_EOL);                         CTL_NET, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT,                         CTLFLAG_PERMANENT,
                        CTLTYPE_NODE, "inet6", NULL,                         CTLTYPE_NODE, "inet6",
                          SYSCTL_DESCR("PF_INET6 related settings"),
                        NULL, 0, NULL, 0,                         NULL, 0, NULL, 0,
                        CTL_NET, PF_INET6, CTL_EOL);                         CTL_NET, PF_INET6, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT,                         CTLFLAG_PERMANENT,
                        CTLTYPE_NODE, "ip6", NULL,                         CTLTYPE_NODE, "ip6",
                          SYSCTL_DESCR("IPv6 related settings"),
                        NULL, 0, NULL, 0,                         NULL, 0, NULL, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6, CTL_EOL);                         CTL_NET, PF_INET6, IPPROTO_IPV6, CTL_EOL);
   
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "forwarding", NULL,                         CTLTYPE_INT, "forwarding",
                          SYSCTL_DESCR("Enable forwarding of INET6 datagrams"),
                        NULL, 0, &ip6_forwarding, 0,                         NULL, 0, &ip6_forwarding, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_FORWARDING, CTL_EOL);                         IPV6CTL_FORWARDING, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "redirect", NULL,                         CTLTYPE_INT, "redirect",
                          SYSCTL_DESCR("Enable sending of ICMPv6 redirect messages"),
                        NULL, 0, &ip6_sendredirects, 0,                         NULL, 0, &ip6_sendredirects, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_SENDREDIRECTS, CTL_EOL);                         IPV6CTL_SENDREDIRECTS, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "hlim", NULL,                         CTLTYPE_INT, "hlim",
                          SYSCTL_DESCR("Hop limit for an INET6 datagram"),
                        NULL, 0, &ip6_defhlim, 0,                         NULL, 0, &ip6_defhlim, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_DEFHLIM, CTL_EOL);                         IPV6CTL_DEFHLIM, CTL_EOL);
Line 1508  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
Line 1543  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
 #endif  #endif
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "maxfragpackets", NULL,                         CTLTYPE_INT, "maxfragpackets",
                          SYSCTL_DESCR("Maximum number of fragments to buffer "
                                       "for reassembly"),
                        NULL, 0, &ip6_maxfragpackets, 0,                         NULL, 0, &ip6_maxfragpackets, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_MAXFRAGPACKETS, CTL_EOL);                         IPV6CTL_MAXFRAGPACKETS, CTL_EOL);
Line 1528  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
Line 1565  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
 #endif  #endif
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "accept_rtadv", NULL,                         CTLTYPE_INT, "accept_rtadv",
                          SYSCTL_DESCR("Accept router advertisements"),
                        NULL, 0, &ip6_accept_rtadv, 0,                         NULL, 0, &ip6_accept_rtadv, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_ACCEPT_RTADV, CTL_EOL);                         IPV6CTL_ACCEPT_RTADV, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "keepfaith", NULL,                         CTLTYPE_INT, "keepfaith",
                          SYSCTL_DESCR("Activate faith interface"),
                        NULL, 0, &ip6_keepfaith, 0,                         NULL, 0, &ip6_keepfaith, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_KEEPFAITH, CTL_EOL);                         IPV6CTL_KEEPFAITH, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "log_interval", NULL,                         CTLTYPE_INT, "log_interval",
                          SYSCTL_DESCR("Minumum interval between logging "
                                       "unroutable packets"),
                        NULL, 0, &ip6_log_interval, 0,                         NULL, 0, &ip6_log_interval, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_LOG_INTERVAL, CTL_EOL);                         IPV6CTL_LOG_INTERVAL, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "hdrnestlimit", NULL,                         CTLTYPE_INT, "hdrnestlimit",
                          SYSCTL_DESCR("Maximum number of nested IPv6 headers"),
                        NULL, 0, &ip6_hdrnestlimit, 0,                         NULL, 0, &ip6_hdrnestlimit, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_HDRNESTLIMIT, CTL_EOL);                         IPV6CTL_HDRNESTLIMIT, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "dad_count", NULL,                         CTLTYPE_INT, "dad_count",
                          SYSCTL_DESCR("Number of Duplicate Address Detection "
                                       "probes to send"),
                        NULL, 0, &ip6_dad_count, 0,                         NULL, 0, &ip6_dad_count, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_DAD_COUNT, CTL_EOL);                         IPV6CTL_DAD_COUNT, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "auto_flowlabel", NULL,                         CTLTYPE_INT, "auto_flowlabel",
                          SYSCTL_DESCR("Assign random IPv6 flow labels"),
                        NULL, 0, &ip6_auto_flowlabel, 0,                         NULL, 0, &ip6_auto_flowlabel, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_AUTO_FLOWLABEL, CTL_EOL);                         IPV6CTL_AUTO_FLOWLABEL, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "defmcasthlim", NULL,                         CTLTYPE_INT, "defmcasthlim",
                          SYSCTL_DESCR("Default multicast hop limit"),
                        NULL, 0, &ip6_defmcasthlim, 0,                         NULL, 0, &ip6_defmcasthlim, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_DEFMCASTHLIM, CTL_EOL);                         IPV6CTL_DEFMCASTHLIM, CTL_EOL);
 #if NGIF > 0  #if NGIF > 0
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "gifhlim", NULL,                         CTLTYPE_INT, "gifhlim",
                          SYSCTL_DESCR("Default hop limit for a gif tunnel datagram"),
                        NULL, 0, &ip6_gif_hlim, 0,                         NULL, 0, &ip6_gif_hlim, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_GIF_HLIM, CTL_EOL);                         IPV6CTL_GIF_HLIM, CTL_EOL);
 #endif /* NGIF */  #endif /* NGIF */
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT,                         CTLFLAG_PERMANENT,
                        CTLTYPE_STRING, "kame_version", NULL,                         CTLTYPE_STRING, "kame_version",
                          SYSCTL_DESCR("KAME Version"),
                        NULL, 0, __KAME_VERSION, 0,                         NULL, 0, __KAME_VERSION, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_KAME_VERSION, CTL_EOL);                         IPV6CTL_KAME_VERSION, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "use_deprecated", NULL,                         CTLTYPE_INT, "use_deprecated",
                          SYSCTL_DESCR("Allow use of deprecated addresses as "
                                       "source addresses"),
                        NULL, 0, &ip6_use_deprecated, 0,                         NULL, 0, &ip6_use_deprecated, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_USE_DEPRECATED, CTL_EOL);                         IPV6CTL_USE_DEPRECATED, CTL_EOL);
Line 1599  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
Line 1649  SYSCTL_SETUP(sysctl_net_inet6_ip6_setup,
 #ifndef INET6_BINDV6ONLY  #ifndef INET6_BINDV6ONLY
                        |CTLFLAG_READWRITE,                         |CTLFLAG_READWRITE,
 #endif  #endif
                        CTLTYPE_INT, "v6only", NULL,                         CTLTYPE_INT, "v6only",
                          SYSCTL_DESCR("Disallow PF_INET6 sockets from connecting "
                                       "to PF_INET sockets"),
                        NULL, 0, &ip6_v6only, 0,                         NULL, 0, &ip6_v6only, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_V6ONLY, CTL_EOL);                         IPV6CTL_V6ONLY, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "anonportmin", NULL,                         CTLTYPE_INT, "anonportmin",
                          SYSCTL_DESCR("Lowest ephemeral port number to assign"),
                        sysctl_net_inet_ip_ports, 0, &ip6_anonportmin, 0,                         sysctl_net_inet_ip_ports, 0, &ip6_anonportmin, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_ANONPORTMIN, CTL_EOL);                         IPV6CTL_ANONPORTMIN, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "anonportmax", NULL,                         CTLTYPE_INT, "anonportmax",
                          SYSCTL_DESCR("Highest ephemeral port number to assign"),
                        sysctl_net_inet_ip_ports, 0, &ip6_anonportmax, 0,                         sysctl_net_inet_ip_ports, 0, &ip6_anonportmax, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_ANONPORTMAX, CTL_EOL);                         IPV6CTL_ANONPORTMAX, CTL_EOL);
 #ifndef IPNOPRIVPORTS  #ifndef IPNOPRIVPORTS
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "lowportmin", NULL,                         CTLTYPE_INT, "lowportmin",
                          SYSCTL_DESCR("Lowest privileged ephemeral port number "
                                       "to assign"),
                        sysctl_net_inet_ip_ports, 0, &ip6_lowportmin, 0,                         sysctl_net_inet_ip_ports, 0, &ip6_lowportmin, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_LOWPORTMIN, CTL_EOL);                         IPV6CTL_LOWPORTMIN, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "lowportmax", NULL,                         CTLTYPE_INT, "lowportmax",
                          SYSCTL_DESCR("Highest privileged ephemeral port number "
                                       "to assign"),
                        sysctl_net_inet_ip_ports, 0, &ip6_lowportmax, 0,                         sysctl_net_inet_ip_ports, 0, &ip6_lowportmax, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_LOWPORTMAX, CTL_EOL);                         IPV6CTL_LOWPORTMAX, CTL_EOL);
 #endif /* IPNOPRIVPORTS */  #endif /* IPNOPRIVPORTS */
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "maxfrags", NULL,                         CTLTYPE_INT, "maxfrags",
                          SYSCTL_DESCR("Maximum fragments in reassembly queue"),
                        NULL, 0, &ip6_maxfrags, 0,                         NULL, 0, &ip6_maxfrags, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_MAXFRAGS, CTL_EOL);                         IPV6CTL_MAXFRAGS, CTL_EOL);
           sysctl_createv(clog, 0, NULL, NULL,
                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                           CTLTYPE_INT, "rht0",
                           SYSCTL_DESCR("Processing of routing header type 0 (IPv6)"),
                           sysctl_net_inet6_ip6_rht0, 0, &ip6_rht0, 0,
                           CTL_NET, PF_INET6, IPPROTO_IPV6,
                           CTL_CREATE, CTL_EOL);
 }  }

Legend:
Removed from v.1.73  
changed lines
  Added in v.1.73.2.3

CVSweb <webmaster@jp.NetBSD.org>