]> 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)
commitb0f7016aaea828810308d79ae9b00104de8def83
tree13666363e35caf4ee8c97d7f765d55ea9062f32d
parent18d1ce05bc5b530a92ea65ff287c2ca633f15804
net: Exempt multicast addresses from five-second neighbor lifetime

Commit af2ec2028230 ("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: af2ec2028230 ("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