Date: Mon, 30 Mar 2020 07:50:59 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 245181] Proxy ARP (net.link.ether.inet.proxyall) does not work for FIB other than 0 Message-ID: <bug-245181-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
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@FreeBSD.org Reporter: freebsd-bugzilla@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.help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-245181-227>
