diff options
author | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2010-08-22 17:02:05 +0000 |
---|---|---|
committer | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2010-08-22 17:02:05 +0000 |
commit | 2f3261e08f312980102806912ec735174e2a0b94 (patch) | |
tree | 70b2f15b8f5f4d54e7f932364e14529f49e2bf16 /lib/libform/form_requestname.3 | |
parent | 324632ad309f5e20994ed7b63e56216f1b47ff08 (diff) |
Fix a 16 year old bug in the sorting routine for non-contiguous netmasks.
For masks of identical length rn_lexobetter() did not stop on the
first non-equal byte. This leads rn_addroute() to not detecting
duplicate entries and thus we might create a very long list of masks
to check for each node.
This can have a huge impact on IPsec performance, where non-contiguous
masks are used for the flow lookup. In a setup with 1300 flows we
saw 400 duplicate masks and only a third of the expected throughput.
Lots of help in narrowing this down from markus@.
Improved comments from claudio@.
OK markus@, claudio@
Diffstat (limited to 'lib/libform/form_requestname.3')
0 files changed, 0 insertions, 0 deletions