[Bug 247700] rtadvd: fails to generate error when iface lacks a link-local address
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jul 2 00:18:04 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247700
Bug ID: 247700
Summary: rtadvd: fails to generate error when iface lacks a
link-local address
Product: Base System
Version: 12.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: standards
Assignee: standards at FreeBSD.org
Reporter: john at saltant.com
Scenario
========
rtadvd is configured on an interface that has a globally unique address (GUA)
and does not have a link-local address (LLA).
Expected behavior
=================
rtadvd emits an error and does not send Router Advertisement (RA) messages on
the interface.
Observed behavior
=================
rtadvd sends RAs that are invalid per the specification [0], using a GUA source
with an LLA destination. The kernel on a receiving node correctly identifies
these as invalid and ignores them.
[0] https://tools.ietf.org/html/rfc4861#section-4.2
Analysis
========
rtadvd does not validate the configuration of each interface. It relies on the
source address selection algorithm in the kernel. That is a reasonable design.
The steps the algorithms performs to exclude source address candidates with
scopes that are incompatible with the destination address appear to neglect
this case. Therefore, this is probably not a bug in rtadvd, but in the source
address selection algorithm.
That is, if an interface has a globally unique address (GUA) and no link-local
address (LLA), and the destination is an LLA via that interface, then the
kernel will erroneously select the GUA as the source address. However, I have
not yet found a way to reproduce this behavior other than in the scenario
above.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-standards
mailing list