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/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D245181 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 */=20=20=20=20=20=20=20=20=20=20=20= =20=20 if (fib4_lookup_nh_basic(0, isaddr, 0, 0, &nh4) !=3D 0) goto drop;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 This seems to be an incomplete implementation of the FIB functionality.=20 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-ze= ro FIB are futile. Thanks. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-245181-227>