]> git.baikalelectronics.ru Git - kernel.git/commit
net: Exempt multicast addresses from five-second neighbor lifetime
authorJeff Dike <jdike@akamai.com>
Fri, 13 Nov 2020 01:58:15 +0000 (20:58 -0500)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Nov 2020 22:24:39 +0000 (14:24 -0800)
commit0bce1c508b687a54b0da944a5a209f23814c6b25
tree13666363e35caf4ee8c97d7f765d55ea9062f32d
parent9568e9c3c685890c1e4eedb7c9af621e50b04338
net: Exempt multicast addresses from five-second neighbor lifetime

Commit 48a2a33ddf58 ("neighbor: Improve garbage collection")
guarantees neighbour table entries a five-second lifetime.  Processes
which make heavy use of multicast can fill the neighour table with
multicast addresses in five seconds.  At that point, neighbour entries
can't be GC-ed because they aren't five seconds old yet, the kernel
log starts to fill up with "neighbor table overflow!" messages, and
sends start to fail.

This patch allows multicast addresses to be thrown out before they've
lived out their five seconds.  This makes room for non-multicast
addresses and makes messages to all addresses more reliable in these
circumstances.

Fixes: 48a2a33ddf58 ("neighbor: Improve garbage collection")
Signed-off-by: Jeff Dike <jdike@akamai.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20201113015815.31397-1-jdike@akamai.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/neighbour.h
net/core/neighbour.c
net/ipv4/arp.c
net/ipv6/ndisc.c