The first patch adds an option to learn a neighbor from garp only if
the source ip is in the same subnet as an address configured on the
interface that received the garp message. The option has been added
to arp_accept in ipv4.
The same feature has been added to ndisc (patch 2). For ipv6, the
subnet filtering knob is an extension of the accept_untracked_na
option introduced in these patches:
https://lore.kernel.org/all/[email protected]/t/
https://lore.kernel.org/netdev/[email protected]/T/
The third patch contains selftests for testing the different options
for accepting arp and neighbor advertisements.
Jaehee Park (3):
net: ipv4: new arp_accept option to accept garp only if in-network
net: ipv6: new accept_untracked_na option to accept na only if
in-network
selftests: net: arp_ndisc_untracked_subnets: test for arp_accept and
accept_untracked_na
Documentation/networking/ip-sysctl.rst | 52 +--
include/linux/inetdevice.h | 2 +-
net/ipv4/arp.c | 24 +-
net/ipv6/addrconf.c | 2 +-
net/ipv6/ndisc.c | 29 +-
tools/testing/selftests/net/Makefile | 1 +
.../net/arp_ndisc_untracked_subnets.sh | 308 ++++++++++++++++++
7 files changed, 389 insertions(+), 29 deletions(-)
create mode 100755 tools/testing/selftests/net/arp_ndisc_untracked_subnets.sh
--
2.30.2