CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2009/01/06 14:40:47
Modified files: sys/net : radix.c radix_mpath.c Log message: Change the way way rn_mklists work (especially the RNF_NORMAL ones). Until now RNF_NORMAL masks did not use the refcount because only one route in a particular subtree could have this mask. With multipath routing this is no longer correct. The result was wrong backtracking information beeing stored in the radix tree and so cretain lookups ended up on the wrong multipath nodes. Use rm_refs for RNF_NORMAL masks so that all multipath routes are able to point to the same radix_mask entry. Additional logic ensures that rm_leaf always points back to the head of the multipath rn_dupedkey chain. Tested by dlg@, gollo@, david@, sthen@ and a few more This can have my OK dlg@