Running rtadvd or DHCPv6 server via if_bridge interface

Andrew Thompson thompsa at
Fri Mar 19 00:00:46 UTC 2010

On Thu, Mar 18, 2010 at 11:27:43PM +0100, Stefan Bethke wrote:
> Am 11.12.2009 um 07:51 schrieb Chris Cowart:
> > Bruce Cran wrote:
> >> I have a router configured using if_bridge with a 4-port NIC that's
> >> serving addresses over DHCP. I'd like to add in either rtadvd or
> >> DHCPv6, but neither work because the bridge interface doesn't have an
> >> IPv6 link-local address. Is there a way around this, or is it not
> >> possible to serve IPv6 addresses over if_bridge interfaces?
> > 
> > It's totally doable; you just have to assigned a link-local address to
> > the bridge. There are some reasons why one isn't defined by default,
> > which somebody more knowledgeable about the challenges in the
> > implementation can highlight.
> > 
> > Here's my configuration from rc.conf:
> > 
> > ipv6_ifconfig_bridge0="2001:470:8337:10::1/64"
> > ipv6_ifconfig_bridge0_alias0="fe80::2%bridge0 prefixlen 64"
> > 
> > Once you're doing that, rtadvd will start doing the right thing.
> I've just stumbled over this the first time.
> I thought that best practice nowadays was to use the bridge interface for host communications, and leaving the physical interfaces unconfigured, so I'm a bit confused why if_bridge would not allow the auto-assignment of a link-local address.
> If you have two or more bridged interfaces now, and you enable automatic assignment of link-local addresses, you already have multiple link-locals this way; having the bridge have one as well wouldn't make things worse (I think).

"IPv6 auto-configuration is disabled. An IPv6 link-local address has a
link-local scope within one link, the spec is unclear for the bridge
case and it may cause scope violation."

That is the reason. I dont know if its still true but you would need to
find someone more familair with IPv6 to comment on it.


More information about the freebsd-net mailing list