[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.165 and 1.166

version 1.165, 2016/08/01 03:15:31 version 1.166, 2016/08/02 04:50:16
Line 1530  ip6_delaux(struct mbuf *m)
Line 1530  ip6_delaux(struct mbuf *m)
                 m_tag_delete(m, mtag);                  m_tag_delete(m, mtag);
 }  }
   
 #ifdef GATEWAY  
 /*  
  * sysctl helper routine for net.inet.ip6.maxflows. Since  
  * we could reduce this value, call ip6flow_reap();  
  */  
 static int  
 sysctl_net_inet6_ip6_maxflows(SYSCTLFN_ARGS)  
 {  
         int error;  
   
         error = sysctl_lookup(SYSCTLFN_CALL(rnode));  
         if (error || newp == NULL)  
                 return (error);  
   
         mutex_enter(softnet_lock);  
         KERNEL_LOCK(1, NULL);  
   
         ip6flow_reap(0);  
   
         KERNEL_UNLOCK_ONE(NULL);  
         mutex_exit(softnet_lock);  
   
         return (0);  
 }  
   
 static int  
 sysctl_net_inet6_ip6_hashsize(SYSCTLFN_ARGS)  
 {  
         int error, tmp;  
         struct sysctlnode node;  
   
         node = *rnode;  
         tmp = ip6_hashsize;  
         node.sysctl_data = &tmp;  
         error = sysctl_lookup(SYSCTLFN_CALL(&node));  
         if (error || newp == NULL)  
                 return (error);  
   
         if ((tmp & (tmp - 1)) == 0 && tmp != 0) {  
                 /*  
                  * Can only fail due to malloc()  
                  */  
                 mutex_enter(softnet_lock);  
                 KERNEL_LOCK(1, NULL);  
   
                 error = ip6flow_invalidate_all(tmp);  
   
                 KERNEL_UNLOCK_ONE(NULL);  
                 mutex_exit(softnet_lock);  
         } else {  
                 /*  
                  * EINVAL if not a power of 2  
                  */  
                 error = EINVAL;  
         }  
   
         return error;  
 }  
 #endif /* GATEWAY */  
   
 /*  /*
  * System control for IP6   * System control for IP6
  */   */
Line 1908  sysctl_net_inet6_ip6_setup(struct sysctl
Line 1848  sysctl_net_inet6_ip6_setup(struct sysctl
                        NULL, 0, &ip6_mcast_pmtu, 0,                         NULL, 0, &ip6_mcast_pmtu, 0,
                        CTL_NET, PF_INET6, IPPROTO_IPV6,                         CTL_NET, PF_INET6, IPPROTO_IPV6,
                        CTL_CREATE, CTL_EOL);                         CTL_CREATE, CTL_EOL);
 #ifdef GATEWAY  
         sysctl_createv(clog, 0, NULL, NULL,  
                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                         CTLTYPE_INT, "maxflows",  
                         SYSCTL_DESCR("Number of flows for fast forwarding (IPv6)"),  
                         sysctl_net_inet6_ip6_maxflows, 0, &ip6_maxflows, 0,  
                         CTL_NET, PF_INET6, IPPROTO_IPV6,  
                         CTL_CREATE, CTL_EOL);  
         sysctl_createv(clog, 0, NULL, NULL,  
                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,  
                         CTLTYPE_INT, "hashsize",  
                         SYSCTL_DESCR("Size of hash table for fast forwarding (IPv6)"),  
                         sysctl_net_inet6_ip6_hashsize, 0, &ip6_hashsize, 0,  
                         CTL_NET, PF_INET6, IPPROTO_IPV6,  
                         CTL_CREATE, CTL_EOL);  
 #endif  
         /* anonportalgo RFC6056 subtree */          /* anonportalgo RFC6056 subtree */
         const struct sysctlnode *portalgo_node;          const struct sysctlnode *portalgo_node;
         sysctl_createv(clog, 0, NULL, &portalgo_node,          sysctl_createv(clog, 0, NULL, &portalgo_node,

Legend:
Removed from v.1.165  
changed lines
  Added in v.1.166

CVSweb <webmaster@jp.NetBSD.org>