[Bug 245181] Proxy ARP (net.link.ether.inet.proxyall) does not work for FIB other than 0
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Mar 30 07:51:21 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245181
Bug ID: 245181
Summary: Proxy ARP (net.link.ether.inet.proxyall) does not work
for FIB other than 0
Product: Base System
Version: 12.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: freebsd-bugzilla at thismonkey.com
Through troubleshooting and subsequent source code verification
(sys/netinet/if_ether.c) it appears that FreeBSD does not perform proxy ARP for
ARP requests whose target host reside in any FIB other than FIB 0.
Code at line 1073 indicates this:
/* XXX MRT use table 0 for arp checks */
if (fib4_lookup_nh_basic(0, isaddr, 0, 0, &nh4) != 0)
goto drop;
This seems to be an incomplete implementation of the FIB functionality.
FreeBSD should
1) lookup the FIB of the interface on which the ARP request arrived
2) perform a route lookup of the target in correct FIB
3) perform sanity checks
4) proxy-reply to the ARP request accordingly
Without this, operations like dropping some cloned interfaces into a non-zero
FIB are futile.
Thanks.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list