On 07.11.2012 23:48, Alexander V. Chernikov wrote:
Hello list!

Currently size of arp/ndp hash is the following:
#define    LLTBL_HASHTBL_SIZE      32      /* default 32 ? */

This may be OK for end hosts, but this is definitely not enough for router 
howadays. Especially
given that IPv6 hosts generate 2 ndp records.

Output from 2 random v4 / v6 routers from my $job:
2:23 [0] m@matisse arp -an | wc -l
     1494
2:24 [0] m@singapore ndp -an | wc -l
     3999

Given that LIST_HEAD is just a pointer, and we currently have single global 
(actually per-VNET)
instance for every l3 proto, bumping hash to, say, at least 4096 should do no 
harm.

A small list per hash bucket isn't bad.  The hash should be about 1/4
of the expected table size.

One problem here may be the memory consumption on smaller systems.  A
very large hash table size may hurt and isn't needed for a few entries.

For a compromise I'd say the default hash table size should be 256 or 512.

--
Andre

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to