Public bug reported:

A DHCPv6 server may respond with multiple addresses, and is not an
unusual case as you may wish to provide both a ULA and a global prefix
to a common suffix. Recent versions of OpenWRT behave in this manner for
DHCPv6.

Network Manager is handling this *almost* correctly. Both addresses get
applied, just not simultaneously as would be expected.

The dhclient process is seeing both addresses, and both get processed by
the handler, but is handled as though there were two seperate requests,
applies the first address, promptly removes it, and replaces it with the
second address, resulting in only the latter address persisting after
interface setup.

After adding the following to the upstart config for network manager,
you can easily follow the mishandling of the response:

--log-level=debug --log-domains=DEVICE,IP6,DHCP6

The following are key lines from the debug logging:

Jun 20 23:21:16 pinky-linux NetworkManager[6244]: <debug> [1434856876.790352] 
[nm-system.c:280] sync_addresses(): (wlan0): adding address 
'2607:xxxx:xxxx:ad10::61/128'
...

Jun 20 23:21:17 pinky-linux NetworkManager[6244]: <debug> [1434856877.837130] 
[nm-system.c:247] sync_addresses(): (wlan0): removing address 
'2607:xxxx:xxxx:ad10::61/128'
Jun 20 23:21:17 pinky-linux NetworkManager[6244]: <debug> [1434856877.837526] 
[nm-system.c:280] sync_addresses(): (wlan0): adding address 
'fd5b:xxxx:xxxx:10::61/128'

In this case the global prefixed address was applied, then immediately
replaced by the ULA prefixed one.

So it's correctly parsing both addresses of the response as supplied by
dhclient, but the end result is not what is expected for the given
configuration sent from the server.

The correct behaviour is to add/replace all addresses in the response as
a set.

This negates much of the usefulness of supporting DHCPv6, and is an
impediment to integration with IPv6 networks requiring it's use.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: network-manager 0.9.8.8-0ubuntu7.1
ProcVersionSignature: Ubuntu 3.16.0-38.52~14.04.1-generic 3.16.7-ckt10
Uname: Linux 3.16.0-38-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.11
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Jun 26 22:19:20 2015
IfupdownConfig:
 # interfaces(5) file used by ifup(8) and ifdown(8)
 auto lo
 iface lo inet loopback
InstallationDate: Installed on 2015-05-21 (36 days ago)
InstallationMedia: Ubuntu 14.04.2 LTS "Trusty Tahr" - Release amd64 (20150218.1)
IpRoute:
 default via 192.168.169.1 dev wlan0  proto static 
 192.168.169.0/24 dev wlan0  proto kernel  scope link  src 192.168.169.61  
metric 9
NetworkManager.state:
 [main]
 NetworkingEnabled=true
 WirelessEnabled=true
 WWANEnabled=true
 WimaxEnabled=true
ProcEnviron:
 LANGUAGE=en_CA:en
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
SourcePackage: network-manager
UpgradeStatus: No upgrade log present (probably fresh install)
mtime.conffile..etc.NetworkManager.NetworkManager.conf: 
2015-06-17T17:39:57.347300
mtime.conffile..etc.init.network.manager.conf: 2015-06-20T23:20:39.172713
nmcli-con:
 NAME                      UUID                                   TYPE          
    TIMESTAMP    TIMESTAMP-REAL                     AUTOCONNECT   READONLY   
DBUS-PATH                                 
 somewhere                 1bc6a70d-cf1a-4109-8a21-71656d34685c   
802-11-wireless   1435371500   Fri 26 Jun 2015 10:18:20 PM EDT    yes           
no         /org/freedesktop/NetworkManager/Settings/0
nmcli-dev:
 DEVICE     TYPE              STATE         DBUS-PATH                           
       
 eth0       802-3-ethernet    unavailable   
/org/freedesktop/NetworkManager/Devices/1  
 wlan0      802-11-wireless   connected     
/org/freedesktop/NetworkManager/Devices/0
nmcli-nm:
 RUNNING         VERSION    STATE           NET-ENABLED   WIFI-HARDWARE   WIFI  
     WWAN-HARDWARE   WWAN      
 running         0.9.8.8    connected       enabled       enabled         
enabled    enabled         enabled

** Affects: network-manager (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug trusty

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

Title:
  DHCPv6 responses with multiple addresses applied incorrectly to
  interface

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1469346/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to