Date: Tue, 01 Oct 2019 13:21:22 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 240969] [netinet6] neighbour reachability detection broken when using multiple FIB Message-ID: <bug-240969-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D240969 Bug ID: 240969 Summary: [netinet6] neighbour reachability detection broken when using multiple FIB Product: Base System Version: 12.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: topical@gmx.net If you define multiple FIB and set "net.add_addr_allfibs=3D0", ND reachabil= ity packets are sent via wrong interface, containing wrong data. Effectively: * reachability detection only works in FIB 0 * neighbour routers/firewalls may barf about strange ND packets for other FIBs (this is what happens to me) Still, network connectivity recovers automatically as standard ND multicasts are sent out automatically after reachability detection fails. After some investigation, I found the source of the problem: review D1998 introduced FIB-aware nd6_ns_output_fib() and a legacy wrapper nd6_ns_output= () passing RT_DEFAULT_FIB unconditionally. So, all calls to nd6_ns_output() mu= st be enhanced by FIB and replaced by calls to nd6_ns_output_fib().=20 As nd6_ns_output() is enclosed by "#ifndef BURN_BRIDGES", this seems to be = the original intention, but work has never been finished. --=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-240969-227>