need clarifications on net/radix.c usage

Bjoern A. Zeeb bzeeb-lists at
Tue Dec 15 09:55:06 UTC 2009

On Mon, 14 Dec 2009, Luigi Rizzo wrote:

Hi Luigi,

> Hi,
> i am revising the code in net/radix.c and there are a few
> things that are not completely clear to me and I would like
> to understand and possibly fix.
> I know that this code has been untouched in 15 years so it
> probably reflects old requirements or design ideas that have
> changed since then.
> Initial list of things:
> - struct radix_node_head has a number of fields that are never used
>  (rnh_addpkt and friends, rnh_addrsize, rnh_pktsize)
>  Unless there are objections I'd like to remove the unused fields.
> - there are some static variables in radix.c (max_keylen, mask_rnhead,
>  the freelist, the allzero and allone masks, 'last_zeroed' in a function)
>  which would probably deserve becoming members of radix_node_head,
>  last not least for correctness of operation -- some of those fields
>  are read-write, but there are now multiple instances of radix_node_head
>  running under different locks.
>     Again, if there are no objections, I'd like to move those variables
>  into radix_node_head.

I think the chances to get feedback on this might be better on net at .


Bjoern A. Zeeb         It will not break if you know what you are doing.

More information about the freebsd-current mailing list