← Back to team overview

kernel-packages team mailing list archive

[Bug 994931] Re: Altering use_tempaddr drops all IPv6 addresses

 

verified this works as expected in utopic.
  $ vals() { for i in net.ipv6.conf.all.use_tempaddr net.ipv6.conf.default.use_tempaddr; do 
                  [ -n "$1" ] && { sudo sysctl $i=$1 || return; } || sysctl $i; done; }
  $ vals 0
  net.ipv6.conf.all.use_tempaddr = 0
  net.ipv6.conf.default.use_tempaddr = 0

  $ sudo ip -6 addr del 2001:db8::1:3/64 dev eth0 &>/dev/null;
  $ sudo ip -6 addr add 2001:db8::1:3/64 dev eth0

  $ vals 2
  net.ipv6.conf.all.use_tempaddr = 2
  net.ipv6.conf.default.use_tempaddr = 2
  $ ip -6 addr show dev eth0
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:db8::1:3/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fefd:d570/64 scope link
       valid_lft forever preferred_lft forever
  $ vals 0
  net.ipv6.conf.all.use_tempaddr = 0
  net.ipv6.conf.default.use_tempaddr = 0

  $ ip -6 addr show dev eth0
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:db8::1:3/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fefd:d570/64 scope link
       valid_lft forever preferred_lft forever

  $ uname -r
  3.16.0-21-generic

** Changed in: linux (Ubuntu Utopic)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/994931

Title:
  Altering use_tempaddr drops all IPv6 addresses

Status in The Linux Kernel:
  Invalid
Status in “linux” package in Ubuntu:
  Fix Released
Status in “linux” source package in Precise:
  In Progress
Status in “linux” source package in Trusty:
  In Progress
Status in “linux” source package in Utopic:
  Fix Released

Bug description:
  $ uname -a
  Linux expvr-alnilam 3.2.0-24-generic-pae #37-Ubuntu SMP Wed Apr 25 10:47:59 UTC 2012 i686 i686 i386 GNU/Linux

  $ sysctl net.ipv6.conf.eth2.use_tempaddr
  net.ipv6.conf.eth2.use_tempaddr = 2
  # (as per the default /etc/sysctl.d/10-ipv6-privacy.conf in 12.04)

  # Add a static IPv6 address:
  $ sudo ip addr add 2001:470:9321:f003::1122/64 dev eth2

  # Verify that it has been set up, and that a temporary address and a SLAAC address also exist:
  $ ip -6 addr list dev eth2
  4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
      inet6 2001:470:9321:f003:74e3:aa2b:7ee5:c002/64 scope global temporary dynamic 
         valid_lft 86393sec preferred_lft 14393sec
      inet6 2001:470:9321:f003:6c97:24ff:fe3f:263b/64 scope global dynamic 
         valid_lft 86393sec preferred_lft 14393sec
      inet6 2001:470:9321:f003::1122/64 scope global 
         valid_lft forever preferred_lft forever
      inet6 fe80::6c97:24ff:fe3f:263b/64 scope link 
         valid_lft forever preferred_lft forever

  # Disable RFC 4941 temporary addresses:
  $ sudo sysctl net.ipv6.conf.eth2.use_tempaddr=0
  net.ipv6.conf.eth2.use_tempaddr = 0

  $ ip -6 addr list dev eth2
  4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
      inet6 fe80::6c97:24ff:fe3f:263b/64 scope link tentative 
         valid_lft forever preferred_lft forever

  I.e. on setting use_tempaddr=0, _all_ IPv6 addresses are removed,
  including statically-configured and non-temporary SLAAC-configured
  addresses.  (The link-local address reappears quickly but the
  'tentative' flag indicates that it has been newly re-added.  The SLAAC
  address reappears after a slightly longer interval as the kernel
  continues to undergo SLAAC, but the static address is gone forever
  unless manually reinstated.)

  The same happens if use_tempaddr is changed from 0 back to 2.

  The expected outcome is that only temporary addresses are affected by a change to use_tempaddr.
  --- 
  AcpiTables:
   
  AlsaDevices:
   total 0
   crw-rw---T 1 root audio 116,  1 May  5 03:53 seq
   crw-rw---T 1 root audio 116, 33 May  5 03:53 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  ApportVersion: 2.0.1-0ubuntu7
  Architecture: i386
  ArecordDevices: Error: [Errno 2] No such file or directory
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
  CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
  CurrentDmesg:
   
  DistroRelease: Ubuntu 12.04
  IwConfig: Error: [Errno 2] No such file or directory
  Lspci: Error: [Errno 2] No such file or directory
  Lsusb: Error: [Errno 2] No such file or directory
  Package: linux (not installed)
  PciMultimedia:
   
  ProcEnviron:
   TERM=screen.linux
   PATH=(custom, no user)
   LANG=en_GB.UTF-8
   SHELL=/bin/bash
  ProcFB:
   
  ProcKernelCmdLine: root=UUID=b16ffd9c-a54a-4dd3-a839-16c382ea8787 ro  console=hvc0
  ProcModules:
   lp 17455 0 - Live 0x00000000
   parport 40930 1 lp, Live 0x00000000
   xenfs 17877 1 - Live 0x00000000
  ProcVersionSignature: Ubuntu 3.2.0-24.37-generic-pae 3.2.14
  RelatedPackageVersions:
   linux-restricted-modules-3.2.0-24-generic-pae N/A
   linux-backports-modules-3.2.0-24-generic-pae  N/A
   linux-firmware                                1.79
  RfKill: Error: [Errno 2] No such file or directory
  Tags:  precise
  Uname: Linux 3.2.0-24-generic-pae i686
  UpgradeStatus: Upgraded to precise on 2012-05-05 (0 days ago)
  UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/994931/+subscriptions