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

Philipp Kern pkern at google.com
Tue Aug 20 15:35:45 UTC 2013


** Description changed:

- /sbin/dhclient-script in precise's isc-dhcp-client 4.1.ESV-R4-0ubuntu5.8
- contains the following snippet:
+ [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.
  
-     BOUND6|RENEW6|REBIND6)
-         if [ -z "${new_ip6_address}" ] || [ -z "${new_ip6_prefixlen}" ]; then
-             exit_with_hooks 2
-         fi
+ [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";
+ 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.
+ ** 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
+ * Check if /etc/resolv.conf contains:
+ search ubuntu.com
+ nameserver 2001:4860:4860::8888
+ nameserver 2001:4860:4860::8844
  
-         # set leased IP
-         ip -6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
-             dev ${interface} scope global
+ [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 in saucy and reads like this:
+ 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
+     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.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
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:
  New

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";
  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.
  ** 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
  * Check if /etc/resolv.conf contains:
  search ubuntu.com
  nameserver 2001:4860:4860::8888
  nameserver 2001:4860:4860::8844

  [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 foundations-bugs mailing list