From i.e. the man pages of FreeBSD it appears that IPv6 stateless autoconfiguration for assigning globally routable addresses won't work on hosts with multiple interfaces.

  • Is that a general limitation of IPv6?
  • Why is that?
  • So I am stuck with (stateful) DHCP?
  • 2
    where did you read that? url? It should work, so it might be a current FreeBSD limitation, but still seems weird to me.
    – mulaz
    Aug 31 '12 at 14:42
  • 1) freebsd.org/cgi/man.cgi?query=rtsol&sektion=8 : "If rtsold finds multiple interfaces, rtsold will exit with error." 2) "Also, due to restrictions in the IPv6 specification, it is not recommended to autoconfigure a host with multiple external interfaces (like 2 ethernet interfaces)." netbsd.org/docs/network/ipv6
    – oberstet
    Aug 31 '12 at 14:49
  • 1
    That's only in the description of the -a option to autolocate the desired interface. My guess is that, if you have multiple interfaces, you're supposed to run multiple copies of rtsold each independently managing one of the interfaces. In that case it makes sense that you'd want to avoid the -a option and instead explicitly tell each instance what interface to manage.
    – Celada
    Sep 1 '12 at 3:02
  • 1
    These two sentences from the BUGS section of the manpage seem scary and wrong: "The IPv6 autoconfiguration specification assumes a single-interface host. You may see kernel error messages if you try to autoconfigure a host with multiple interfaces.". It sounds like someone at some point had a funny idea of how SLAAC works.
    – Celada
    Sep 1 '12 at 3:04
  • Running one rtsold per interface makes sense. I will need to test that.
    – oberstet
    Sep 1 '12 at 18:23

So, SLAAC lets you configure an IPv6 address without anything else.

rtsold gets you a gateway address automatically. What happens when you have multiple interfaces, and get multiple gateway addresses? Which one do you use? Do you alternate between them? Is one supposed to be preferred?

When you've got multiple gateway entries, there's no clean way to determine which one should actually be used. In that case, it's better to bail out and let a human decide what to do.

  • Due to packet filtering the most reliable way to decide which route to use for a packet in that case is to look at the source IP of the packet and route it through the interface which has the longest prefix in common with the source IP. Unfortunately I haven't seen any standard specifying that behavior. The point where this becomes really tricky is in source address selection because in certain situations source address selection depends on which interface the packet will be sent on. That creates a cyclic dependency where the route depends on the source IP and vice-versa.
    – kasperd
    May 15 '14 at 0:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.