[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.64.2.3 and 1.70

version 1.64.2.3, 2004/09/21 13:37:34 version 1.70, 2003/12/04 19:38:24
Line 466  ip6_input(m)
Line 466  ip6_input(m)
         if (ip6_forward_rt.ro_rt != NULL &&          if (ip6_forward_rt.ro_rt != NULL &&
             (ip6_forward_rt.ro_rt->rt_flags & RTF_UP) != 0 &&              (ip6_forward_rt.ro_rt->rt_flags & RTF_UP) != 0 &&
             IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst,              IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst,
             &((struct sockaddr_in6 *)(&ip6_forward_rt.ro_dst))->sin6_addr))                                 &((struct sockaddr_in6 *)(&ip6_forward_rt.ro_dst))->sin6_addr))
                 ip6stat.ip6s_forward_cachehit++;                  ip6stat.ip6s_forward_cachehit++;
         else {          else {
                 struct sockaddr_in6 *dst6;                  struct sockaddr_in6 *dst6;
Line 541  ip6_input(m)
Line 541  ip6_input(m)
          */           */
 #if defined(NFAITH) && 0 < NFAITH  #if defined(NFAITH) && 0 < NFAITH
         if (ip6_keepfaith) {          if (ip6_keepfaith) {
                 if (ip6_forward_rt.ro_rt && ip6_forward_rt.ro_rt->rt_ifp &&                  if (ip6_forward_rt.ro_rt && ip6_forward_rt.ro_rt->rt_ifp
                     ip6_forward_rt.ro_rt->rt_ifp->if_type == IFT_FAITH) {                   && ip6_forward_rt.ro_rt->rt_ifp->if_type == IFT_FAITH) {
                         /* XXX do we need more sanity checks? */                          /* XXX do we need more sanity checks? */
                         ours = 1;                          ours = 1;
                         deliverifp = ip6_forward_rt.ro_rt->rt_ifp; /* faith */                          deliverifp = ip6_forward_rt.ro_rt->rt_ifp; /* faith */
Line 997  ip6_savecontrol(in6p, mp, ip6, m)
Line 997  ip6_savecontrol(in6p, mp, ip6, m)
         struct ip6_hdr *ip6;          struct ip6_hdr *ip6;
         struct mbuf *m;          struct mbuf *m;
 {  {
           struct proc *p = curproc;       /* XXX */
           int privileged;
   
           privileged = 0;
           if (p && !suser(p->p_ucred, &p->p_acflag))
                   privileged++;
   
 #ifdef SO_TIMESTAMP  #ifdef SO_TIMESTAMP
         if (in6p->in6p_socket->so_options & SO_TIMESTAMP) {          if (in6p->in6p_socket->so_options & SO_TIMESTAMP) {
Line 1049  ip6_savecontrol(in6p, mp, ip6, m)
Line 1055  ip6_savecontrol(in6p, mp, ip6, m)
         /* IN6P_NEXTHOP - for outgoing packet only */          /* IN6P_NEXTHOP - for outgoing packet only */
   
         /*          /*
          * IPV6_HOPOPTS socket option.  Recall that we required super-user           * IPV6_HOPOPTS socket option. We require super-user privilege
          * privilege for the option (see ip6_ctloutput), but it might be too           * for the option, but it might be too strict, since there might
          * strict, since there might be some hop-by-hop options which can be           * be some hop-by-hop options which can be returned to normal user.
          * returned to normal user.           * See RFC 2292 section 6.
          * See also RFC 2292 section 6.  
          */           */
         if ((in6p->in6p_flags & IN6P_HOPOPTS) != 0) {          if ((in6p->in6p_flags & IN6P_HOPOPTS) != 0 && privileged) {
                 /*                  /*
                  * Check if a hop-by-hop options header is contatined in the                   * Check if a hop-by-hop options header is contatined in the
                  * received packet, and if so, store the options as ancillary                   * received packet, and if so, store the options as ancillary
Line 1150  ip6_savecontrol(in6p, mp, ip6, m)
Line 1155  ip6_savecontrol(in6p, mp, ip6, m)
                                 if (!in6p->in6p_flags & IN6P_DSTOPTS)                                  if (!in6p->in6p_flags & IN6P_DSTOPTS)
                                         break;                                          break;
   
                                   /*
                                    * We also require super-user privilege for
                                    * the option.
                                    * See the comments on IN6_HOPOPTS.
                                    */
                                   if (!privileged)
                                           break;
   
                                 *mp = sbcreatecontrol((caddr_t)ip6e, elen,                                  *mp = sbcreatecontrol((caddr_t)ip6e, elen,
                                     IPV6_DSTOPTS, IPPROTO_IPV6);                                      IPV6_DSTOPTS, IPPROTO_IPV6);
                                 if (*mp)                                  if (*mp)
Line 1425  u_char inet6ctlerrmap[PRC_NCMDS] = {
Line 1438  u_char inet6ctlerrmap[PRC_NCMDS] = {
 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")
 {  {
   
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT,
                        CTLFLAG_PERMANENT,  
                        CTLTYPE_NODE, "net", NULL,                         CTLTYPE_NODE, "net", NULL,
                        NULL, 0, NULL, 0,                         NULL, 0, NULL, 0,
                        CTL_NET, CTL_EOL);                         CTL_NET, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_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(SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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);
 #ifdef notyet  #ifdef notyet
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_INT, "mtu", NULL,                         CTLTYPE_INT, "mtu", NULL,
                        NULL, 0, &, 0,                         NULL, 0, &, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_DEFMTU, CTL_EOL);                         IPV6CTL_DEFMTU, CTL_EOL);
 #endif  #endif
 #ifdef __no_idea__  #ifdef __no_idea__
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_INT, "forwsrcrt", NULL,                         CTLTYPE_INT, "forwsrcrt", NULL,
                        NULL, 0, &?, 0,                         NULL, 0, &?, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_FORWSRCRT, CTL_EOL);                         IPV6CTL_FORWSRCRT, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_STRUCT, "stats", NULL,                         CTLTYPE_STRUCT, "stats", NULL,
                        NULL, 0, &?, sizeof(?),                         NULL, 0, &?, sizeof(?),
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_STATS, CTL_EOL);                         IPV6CTL_STATS, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_STRUCT, "mrtstats", NULL,                         CTLTYPE_STRUCT, "mrtstats", NULL,
                        NULL, 0, &?, sizeof(?),                         NULL, 0, &?, sizeof(?),
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_MRTSTATS, CTL_EOL);                         IPV6CTL_MRTSTATS, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_?, "mrtproto", NULL,                         CTLTYPE_?, "mrtproto", NULL,
                        NULL, 0, &?, sizeof(?),                         NULL, 0, &?, sizeof(?),
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_MRTPROTO, CTL_EOL);                         IPV6CTL_MRTPROTO, CTL_EOL);
 #endif  #endif
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_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);
 #ifdef __no_idea__  #ifdef __no_idea__
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_INT, "sourcecheck", NULL,                         CTLTYPE_INT, "sourcecheck", NULL,
                        NULL, 0, &?, 0,                         NULL, 0, &?, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_SOURCECHECK, CTL_EOL);                         IPV6CTL_SOURCECHECK, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_INT, "sourcecheck_logint", NULL,                         CTLTYPE_INT, "sourcecheck_logint", NULL,
                        NULL, 0, &?, 0,                         NULL, 0, &?, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_SOURCECHECK_LOGINT, CTL_EOL);                         IPV6CTL_SOURCECHECK_LOGINT, CTL_EOL);
 #endif  #endif
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                        CTLTYPE_INT, "rr_prune", NULL,                         CTLTYPE_INT, "rr_prune", NULL,
                        NULL, 0, &ip6_rr_prune, 0,                         NULL, 0, &ip6_rr_prune, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        IPV6CTL_RR_PRUNE, CTL_EOL);                         IPV6CTL_RR_PRUNE, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(SYSCTL_PERMANENT
                        CTLFLAG_PERMANENT  
 #ifndef INET6_BINDV6ONLY  #ifndef INET6_BINDV6ONLY
                        |CTLFLAG_READWRITE,                         |SYSCTL_READWRITE,
 #endif  #endif
                        CTLTYPE_INT, "v6only",                         CTLTYPE_INT, "v6only", NULL,
                        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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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(SYSCTL_PERMANENT|SYSCTL_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);

Legend:
Removed from v.1.64.2.3  
changed lines
  Added in v.1.70

CVSweb <webmaster@jp.NetBSD.org>