Public bug reported:

My ISP's router provides IPv6 connectivity and advertises valid lifetime
of 900 secs and preferred lifetime of 300 secs. My Ubuntu 17.04 (and
previous) installation has been showing weird behavior over IPv6, with
connections dropping quite often but on a regular basis.

After extensive debugging and verification that there was no issue on router 
side, and on WiFi physical connection, I have verified that this was not 
related to the lack of ICMPv6 RA packets.
Running |watch -d -n1 ip -6 addr show dev wlan0| shows:
 - decreasing valid_lft and preferred_lft on both IPv6 addresses
 - upon ICMPv6 RA packet received, the global SLAAC address derived from MAC 
gets valid_lft and preferred_lft field updated
 - at the same time, the privacy extension address is still decreasing

System uses NetworkManager to handle all of that. I could verify that my
desktop system, running Debian Sid with NetworkManager v1.6 was not
exposing the issue.

Running NetworkManager in debug mode gives more informations:
> nm_ubuntu_zesty.log:NetworkManager[2418]: <trace> [1496447074.7897] 
> platform-linux: event-notification: NEWADDR, seq 0: 
> 2a01:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:39c5/64 lft 900sec pref 300sec lifetime 
> 289-289[300,900] dev 3 flags secondary src kernel
> nm_ubuntu_zesty.log:NetworkManager[2418]: <trace> [1496447074.7901] 
> platform-linux: event-notification: NEWADDR, seq 0: 
> 2a01:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:39c5/64 lft 622sec pref 22sec lifetime 
> 289-289[22,622] dev 3 flags secondary src kernel

The two timestamps of the NEWADDR event are very very close. The first
one shows proper update of the lifetimes values ; while the second one
shows invalid values being pushed. With those informations in mind, I
dug a little bit in the NetworkManager source code, and I found that
there was one change between v1.4.4 (current Zesty package) and v1.6
(Debian sid package) that was touching the code handling IPv6 addresses
sync:
https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=1dbd9d7948
; the commit states that without this change, NM might overwrite IPv6
temporary addresses changes.

I took my chance and rebuilt network-manager-1.4.4 package with that
patch included: IPv6 temporary privacy extensions enabled addresses gets
proper updates of their lifetime when ICMPv6 packets reaches my system.

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

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/1695601

Title:
  IPv6 temporary/privacy addresses lifetime are not renewed upon new
  ICMPv6 Router-Advertisement packet

Status in network-manager package in Ubuntu:
  New

Bug description:
  My ISP's router provides IPv6 connectivity and advertises valid
  lifetime of 900 secs and preferred lifetime of 300 secs. My Ubuntu
  17.04 (and previous) installation has been showing weird behavior over
  IPv6, with connections dropping quite often but on a regular basis.

  After extensive debugging and verification that there was no issue on router 
side, and on WiFi physical connection, I have verified that this was not 
related to the lack of ICMPv6 RA packets.
  Running |watch -d -n1 ip -6 addr show dev wlan0| shows:
   - decreasing valid_lft and preferred_lft on both IPv6 addresses
   - upon ICMPv6 RA packet received, the global SLAAC address derived from MAC 
gets valid_lft and preferred_lft field updated
   - at the same time, the privacy extension address is still decreasing

  System uses NetworkManager to handle all of that. I could verify that
  my desktop system, running Debian Sid with NetworkManager v1.6 was not
  exposing the issue.

  Running NetworkManager in debug mode gives more informations:
  > nm_ubuntu_zesty.log:NetworkManager[2418]: <trace> [1496447074.7897] 
platform-linux: event-notification: NEWADDR, seq 0: 
2a01:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:39c5/64 lft 900sec pref 300sec lifetime 
289-289[300,900] dev 3 flags secondary src kernel
  > nm_ubuntu_zesty.log:NetworkManager[2418]: <trace> [1496447074.7901] 
platform-linux: event-notification: NEWADDR, seq 0: 
2a01:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:39c5/64 lft 622sec pref 22sec lifetime 
289-289[22,622] dev 3 flags secondary src kernel

  The two timestamps of the NEWADDR event are very very close. The first
  one shows proper update of the lifetimes values ; while the second one
  shows invalid values being pushed. With those informations in mind, I
  dug a little bit in the NetworkManager source code, and I found that
  there was one change between v1.4.4 (current Zesty package) and v1.6
  (Debian sid package) that was touching the code handling IPv6
  addresses sync:
  
https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=1dbd9d7948
  ; the commit states that without this change, NM might overwrite IPv6
  temporary addresses changes.

  I took my chance and rebuilt network-manager-1.4.4 package with that
  patch included: IPv6 temporary privacy extensions enabled addresses
  gets proper updates of their lifetime when ICMPv6 packets reaches my
  system.

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to