[Bug 1006979] [NEW] Configuring IPv6 addresses, should wait for DAD to succeed

Sander Smeenk ubuntu at freshdot.net
Thu May 31 15:33:41 UTC 2012


Public bug reported:

When an interface gets configured for IPv6, the (new) address is
'tentative' by default until DAD (Duplicate Address Detection) succeeds.
During the time the address is marked 'tentative' the OS does not accept
routes to, with or from that address.

This breaks ifup during boot in some situations where extra routes or
source based routing is configured. This could happen on 'inet6 static'
configured interfaces that want to add specific routes via that same
gateway, as illustrated in this example config:

iface eth0 inet6 static
	pre-up /bin/echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
	address 2001:db8::2
	netmask 64
	gateway 2001:db8::1
        post-up /sbin/ip -6 route add 2001:db8:1::/64 via 2001:db8::1

The post-up route add will not work (all the time). This same problem
also occurs when additional IP-addresses are added to the interface,
f.e., for loadbalancing we require source based routing and we had to
add a sleep in the post-up's to get it to work:

| post-up /sbin/ip -6 addr add fded:e128:5900:1d::1/64 dev eth0
| post-up /bin/sleep 4
| post-up /sbin/ip -6 route add fded:e128:5900:1d::/64 dev eth0 src fded:e128:5900:1d::1 table 2
| post-up /sbin/ip -6 route add default via fded:e128:5900:1d::ffff table 2
| post-up /sbin/ip -6 rule add from fded:e128:5900:1d::/64 lookup 2

That last situation is probably not something ifupdown could (or should)
fix?

Fixes in other distribution include delaying the ifup process until the
address is no longer tentative and failing (verbosely) if it times out.

** Affects: ifupdown (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1006979

Title:
  Configuring IPv6 addresses, should wait for DAD to succeed

Status in “ifupdown” package in Ubuntu:
  New

Bug description:
  When an interface gets configured for IPv6, the (new) address is
  'tentative' by default until DAD (Duplicate Address Detection)
  succeeds. During the time the address is marked 'tentative' the OS
  does not accept routes to, with or from that address.

  This breaks ifup during boot in some situations where extra routes or
  source based routing is configured. This could happen on 'inet6
  static' configured interfaces that want to add specific routes via
  that same gateway, as illustrated in this example config:

  iface eth0 inet6 static
  	pre-up /bin/echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
  	address 2001:db8::2
  	netmask 64
  	gateway 2001:db8::1
          post-up /sbin/ip -6 route add 2001:db8:1::/64 via 2001:db8::1

  The post-up route add will not work (all the time). This same problem
  also occurs when additional IP-addresses are added to the interface,
  f.e., for loadbalancing we require source based routing and we had to
  add a sleep in the post-up's to get it to work:

  | post-up /sbin/ip -6 addr add fded:e128:5900:1d::1/64 dev eth0
  | post-up /bin/sleep 4
  | post-up /sbin/ip -6 route add fded:e128:5900:1d::/64 dev eth0 src fded:e128:5900:1d::1 table 2
  | post-up /sbin/ip -6 route add default via fded:e128:5900:1d::ffff table 2
  | post-up /sbin/ip -6 rule add from fded:e128:5900:1d::/64 lookup 2

  That last situation is probably not something ifupdown could (or
  should) fix?

  Fixes in other distribution include delaying the ifup process until
  the address is no longer tentative and failing (verbosely) if it times
  out.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1006979/+subscriptions




More information about the foundations-bugs mailing list