tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Use lltable/llentry for NDP



Hi,

As I promised somewhere, I'm trying to use
lltable/llentry, which were introduced for ARP
while ago, for NDP as well.

Here is a patch:
http://www.netbsd.org/~ozaki-r/lltable-ndp.diff


Unlike ARP case, the old data structure (llinfo_nd6)
is similar to new one (llentry) and there isn't
so much radical changes (compared to ARP case).

One noticeable change is for neighbor cache GC
mechanism that was introduced to prevent IPv6 DoS
attacks. net.inet6.ip6.neighborgcthresh was the max
number of caches that we store in the system. After
introducing lltable/llentry, the value is changed
to be per-interface basis because lltable/llentry
stores neighbor caches in each interface separately.
And the change brings one degradation; the old GC
mechanism dropped exceeded packets based on LRU
while the new implementation drops packets in order
from the beginning of lltable (a hash table + linked
lists). It would be improved in the future.

Any comments and suggestions are appreciated.

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index