This is mainly for Google, as I found a lot of things talking about the error with not a lot of solutions when I looked for it.
I had a machine that was outputing the
Neighbour table overflow message
with reasonable frequency, and while it didn't actually seem to be causing
problems it was disconcerting. Digging around seemed to suggest it was an
ARP issue, with some pages mentioning Blaster - presumably because the
scanning that this sort of worm can do is likely to fill up the ARP table?
Anyway, this machine has over a /22 of IPv4 space hanging off its various
interfaces, so it seemed logical that I might need a larger cache than the
default. I found this
which solves the problem perfectly. So I've added the appropriate magic to
net/ipv4/neigh/default/gc_thresh1=1024 net/ipv4/neigh/default/gc_thresh2=2048 net/ipv4/neigh/default/gc_thresh3=4096
(Oh, and the message comes from
net/ipv4/route.c in the kernel source