Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jun 2001 13:27:02 +0200 (CEST)
From:      Luigi Rizzo <luigi@info.iet.unipi.it>
To:        Darren Henderson <darren@nighttide.net>
Cc:        freebsd-ipfw@FreeBSD.ORG
Subject:   Re: buckets & sysctl
Message-ID:  <200106091127.NAA61182@info.iet.unipi.it>
In-Reply-To: <Pine.BSF.4.30.0106081123510.81663-100000@localhost> from Darren Henderson at "Jun 8, 2001 11:55:59 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> I can't seem to get the number of buckets ipfw uses to increase.

you are right, there is some bug in the part of code which handles
updates to dyn_buckets.
The actual variable used is curr_dyn_buckets, which in my intentions
should be set to the power of 2 closest to dyn_buckets -- but as
you can see in the code there is no place where the variable is
actually set. This should be done in add_dyn_rule, probably something
like this in /sys/netinet/ip_fw.c

      u_int32_t i = dyn_buckets ;
       while ( i > 0 && (i & 1) == 0 )
           i >>= 1 ;
       if (i != 1) /* not a power of 2 */
           dyn_buckets = curr_dyn_buckets ; /* reset */
       else {
+          curr_dyn_buckets = dyn_buckets ; /* update */
           if (ipfw_dyn_v != NULL)
                free(ipfw_dyn_v, M_IPFW);
           ipfw_dyn_v = malloc(curr_dyn_buckets * sizeof r,

but i want to look at the code a bit more carefully before committing this.
If you want to test this patch, i'd be glad to know how it works
for you.

	cheers
	luigi
-----------------------------------+-------------------------------------
  Luigi RIZZO, luigi@iet.unipi.it  . Dip. di Ing. dell'Informazione
  http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
  TEL/FAX: +39-050-568.533/522     . via Diotisalvi 2, 56126 PISA (Italy)
  Mobile   +39-347-0373137
-----------------------------------+-------------------------------------

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ipfw" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106091127.NAA61182>