Disable auto_linklocal

Freek Dijkstra public at macfreek.nl
Tue Jan 17 00:28:31 UTC 2012

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
  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 :)


More information about the freebsd-questions mailing list