svn commit: r207902 - head/sys/netinet6
Kip Macy
kmacy at FreeBSD.org
Mon May 10 21:31:21 UTC 2010
Author: kmacy
Date: Mon May 10 21:31:20 2010
New Revision: 207902
URL: http://svn.freebsd.org/changeset/base/207902
Log:
boot time size the flowtable
MFC after: 3 days
Modified:
head/sys/netinet6/ip6_input.c
Modified: head/sys/netinet6/ip6_input.c
==============================================================================
--- head/sys/netinet6/ip6_input.c Mon May 10 21:04:45 2010 (r207901)
+++ head/sys/netinet6/ip6_input.c Mon May 10 21:31:20 2010 (r207902)
@@ -177,9 +177,21 @@ ip6_init(void)
frag6_init();
#ifdef FLOWTABLE
- TUNABLE_INT_FETCH("net.inet6.ip6.output_flowtable_size",
- &V_ip6_output_flowtable_size);
- V_ip6_ft = flowtable_alloc("ipv6", V_ip6_output_flowtable_size, FL_PCPU);
+ if (TUNABLE_INT_FETCH("net.inet6.ip6.output_flowtable_size",
+ &V_ip6_output_flowtable_size)) {
+ if (V_ip6_output_flowtable_size < 256)
+ V_ip6_output_flowtable_size = 256;
+ if (!powerof2(V_ip6_output_flowtable_size)) {
+ printf("flowtable must be power of 2 size\n");
+ V_ip6_output_flowtable_size = 2048;
+ }
+ } else {
+ /*
+ * round up to the next power of 2
+ */
+ V_ip6_output_flowtable_size = 1 << fls((1024 + maxusers * 64)-1);
+ }
+ V_ip6_ft = flowtable_alloc("ipv6", V_ip6_output_flowtable_size, FL_PCPU);
#endif
V_ip6_desync_factor = arc4random() % MAX_TEMP_DESYNC_FACTOR;
More information about the svn-src-all
mailing list