Skip site navigation (1)Skip section navigation (2)
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>