Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 2012 01:28:23 +0100
From:      Freek Dijkstra <public@macfreek.nl>
To:        freebsd-questions@freebsd.org
Cc:        Matt Mullins <mokomull@gmail.com>
Subject:   Re: Disable auto_linklocal
Message-ID:  <4F14C0A7.4060505@macfreek.nl>
In-Reply-To: <CAPyT1SETL7%2BA3rgMWhwpFaD7HNCcp1FvT6ekzP2p0kpfOY2X6A@mail.gmail.com>
References:  <4F12F04B.2080504@macfreek.nl> <CAPyT1SETL7%2BA3rgMWhwpFaD7HNCcp1FvT6ekzP2p0kpfOY2X6A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matt Mullins wrote:

>> The link-local addresses don't really harm, but I found them confusing,
>> as the host is running as a router, and rtadv announces the link-local
>> address by default.
> 
> IPv6-standards-wise, this is the correct thing to do.  Router
> advertisements should contain link-local source addresses and
> advertise the link-local address as the router; the globally-routable
> prefix that is being advertised is a completely different field in
> those messages.

Hi Matt,

Thanks for the info. I figured out as much. It is not possible to turn
of link-local addresses in FreeBSD 9. Neither
  sysctl net.inet6.ip6.auto_linklocal=0
nor
  ifconfig em0 inet6 -auto_linklocal
has any effect.

The man page for ifconfig explicitly states that removing the link-local
IPv6 address may result in unexpected behaviour


The good news is that it *is* possible to use the global scope IPv6
address in router advertisements. RFC 4861, as you mentioned, defines a
prefix. However, RFC 6275 alters the property of that field if a new
flag, the router address flag, is set. In that case, the prefix field
can contain the actual IPv6 address of the router. Apparently, this is
needed for mobile IP.

Unfortunately rtadvd (the default BSD router advertisement daemon) does
not support this R-flag. The radvd daemon (available in a port) does
support this bit by setting:
  AdvRouterAddr on

Wireshark show that indeed this works. Unfortunately, most of my clients
on the network still don't understand this bit, so it seems that after
all I just have to remember the link-local IP addresses next to the
global scope IP addresses for my network. Oh well, they say it's good to
train one's memory :)

Freek



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F14C0A7.4060505>