Date: Mon, 14 Dec 2009 08:57:25 +0100 From: Luigi Rizzo <rizzo@iet.unipi.it> To: current@freebsd.org Subject: need clarifications on net/radix.c usage Message-ID: <20091214075725.GA80173@onelab2.iet.unipi.it>
next in thread | raw e-mail | index | archive | help
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.
cheers
luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091214075725.GA80173>
