[Bug 1214385] Re: Stateless DHCPv6 not working in precise

Philipp Kern pkern at google.com
Tue Sep 17 10:17:52 UTC 2013


Friendly ping. :)

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1214385

Title:
  Stateless DHCPv6 not working in precise

Status in “isc-dhcp” package in Ubuntu:
  Fix Released
Status in “isc-dhcp” source package in Precise:
  Fix Committed

Bug description:
  [Impact]
  isc-dhcp-client in precise does not do stateless DHCPv6 correctly if it's enabled as "dhcp 1" within "iface <IFACE> inet6 auto" within /etc/network/interfaces. The dhclient-script responsible for updating /etc/resolv.conf exists if it doesn't find an IPv6 address in its environment, which is only true for stateful DHCPv6.

  [Test Case]
  * You should have IPv6 on your network segment, make a note of the subnet.
  * Have a stateless DHCPv6 server listen on the network segment:
  ** Minimal dhcpd6.conf:
  authoritative;
  option dhcp6.name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;
  option dhcp6.domain-search "ubuntu.com";
  pid-file-name "/tmp/dhcpd.test.pid";
  subnet6 fd7a:4ac2:1751:0::/64 {}
  ** Adjust the subnet information to the one you're actually using or the DHCP server will refuse to start.
  ** Install isc-dhcp-server on a host on the same network segment.
  ** Disable apparmor (it will yield losts of EPERM for the test file locations).
  ** Start up the server there using: /usr/sbin/dhcpd -cf dhcpd.conf -6 -lf /tmp/leases.test
  * Have network configuration be managed by ifupdown, not network-manager:
  * Add the following configuration to /etc/network/interfaces:
  iface eth0 inet6 auto
   dhcp 1
  * ifdown eth0 && ifup eth0 (alternatively: dhclient -6 -S -v IFACE)
  * Check if /etc/resolv.conf contains:
  search ubuntu.com.
  nameserver 2001:4860:4860::8888
  nameserver 2001:4860:4860::8844
  * If the old version of the package is installed, /etc/resolv.conf content will not change.

  [Regression Potential]
  The suggested change is already present since quantal. The change itself is self-contained

  [Additional Info]
  /sbin/dhclient-script in precise's isc-dhcp-client 4.1.ESV-R4-0ubuntu5.8 contains the following snippet:

      BOUND6|RENEW6|REBIND6)
          if [ -z "${new_ip6_address}" ] || [ -z "${new_ip6_prefixlen}" ]; then
              exit_with_hooks 2
          fi

          # set leased IP
          ip -6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
              dev ${interface} scope global

  This assumes that the result of the DHCPv6 transaction is an address
  with a prefix, which is the case for stateful DHCPv6. For stateless
  DHCPv6, however, we only get additional information that's not
  directly address-related. This is fixed since quantal and reads like
  this:

      BOUND6|RENEW6|REBIND6)
          if [ "${new_ip6_address}" ] && [ "${new_ip6_prefixlen}" ]; then
              # set leased IP
              ip -6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
                  dev ${interface} scope global
          fi

  It looks like the only change from the diff to the current saucy
  version we need for it to work correctly.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1214385/+subscriptions



More information about the Ubuntu-sponsors mailing list