Processing IPv6 Router Advertisements

David Horn dhorn2000 at gmail.com
Tue Jan 19 14:25:06 UTC 2010


On Tue, Jan 19, 2010 at 6:59 AM, Fernando Gont <fernando at gont.com.ar> wrote:
> Hello, folks,
>
> I'm running FreeBSD 6.2-Release in one of my boxes, and there seems to
> be a bug in the processing of Router Advertisement messages.
>
> RA messages seem to be required to have a Source Address in the
> fe80::/32 prefix, rather than in the fe80::/10 prefix. That is, the
> first 32 bits of the IPv6 Source address must be fe80:0000, or else the
> message is dropped (at least, no changes are made to the destination
> cache or the neighbor cache).
>
> Can anybody confirm this one, or correct me if I am wrong?

A cursory look at the netinet6/nd6_rtr.c code looks like it is using
IN6_IS_ADDR_LINKLOCAL from netinet6/in6.h which should be smart enough
to just look at fe80::/10.

Try setting net.inet6.icmp6.nd6_debug=1 in /etc/sysctl.conf and reboot
to see if there is anything interesting coming out of debug logging.
(will show in dmesg and /var/log/messages)

Out of curiousity, what device is using a non EUI-64 for link-local,
or is this a manually configured link-local situation ?

Good Luck.

---Dave Horn


More information about the freebsd-net mailing list