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 luigiReceived on Mon Dec 14 2009 - 06:50:05 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC