[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#508460: ipv6: add/up results in permanent 'tentative' flag, up/add works



Package: linux-image-2.6.26-1-amd64
Version: 2.6.26-11
Severity: normal
Tags: ipv6
X-Debbugs-Cc: 507646@bugs.debian.org

Over at #507646, we stumbled over something that seems like a bug in
the duplicate address detection mechanism of the kernel:

If I add an address to an interface (bridge or physical interface,
does not matter), and then up the iface, then the tentative flag on
the address never gets cleared (look for SEE HERE markers):

khyber:/# ip addr add 2001:41e0:ff38:fffd::5 dev br1 && ip addr show
  dev br1 && sleep 10 && ip addr show dev br1 && ip link set br1 up &&
  ip addr show dev br1 && sleep 10 && ip addr show dev br1
9: br1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global tentative 
       valid_lft forever preferred_lft forever
9: br1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global tentative 
       valid_lft forever preferred_lft forever
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global tentative 
       valid_lft forever preferred_lft forever    ^^^^^^^^^ SEE HERE
    inet6 fe80::3c2b:4aff:fef3:6ae1/64 scope link tentative 
       valid_lft forever preferred_lft forever
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global tentative 
       valid_lft forever preferred_lft forever    ^^^^^^^^^ SEE HERE
    inet6 fe80::3c2b:4aff:fef3:6ae1/64 scope link 
       valid_lft forever preferred_lft forever

If I first up the interface, then add the address, it works as
expected (look for SEE HERE markers)

khyber:/# ip addr show dev br1 && ip link set br1 up && ip addr show
  dev br1 && ip addr add 2001:41e0:ff38:fffd::5 dev br1 && ip addr
  show dev br1 && sleep 10 && ip addr show dev br1
9: br1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::3c2b:4aff:fef3:6ae1/64 scope link tentative 
       valid_lft forever preferred_lft forever
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global tentative 
       valid_lft forever preferred_lft forever    ^^^^^^^^^ SEE HERE
    inet6 fe80::3c2b:4aff:fef3:6ae1/64 scope link tentative 
       valid_lft forever preferred_lft forever
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 3e:2b:4a:f3:6a:e1 brd ff:ff:ff:ff:ff:ff
    inet6 2001:41e0:ff38:fffd::5/128 scope global 
       valid_lft forever preferred_lft forever    ^^^^^^^^^ SEE HERE
    inet6 fe80::3c2b:4aff:fef3:6ae1/64 scope link 
       valid_lft forever preferred_lft forever

I cannot reproduce this with a sit tunnel device, which seems
logical as DAD/tentative states are not used in a point-to-point
context, I think.

-- 
 .''`.   martin f. krafft <madduck@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
 
"ah, but a man's reach should exceed his grasp,
 or what's a heaven for?"
                                                    -- robert browning

-- System Information:
Debian Release: 5.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_GB, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-image-2.6.26-1-amd64 depends on:
ii  debconf [debconf-2.0]         1.5.24     Debian configuration management sy
ii  initramfs-tools [linux-initra 0.92l      tools for generating an initramfs
ii  module-init-tools             3.4-1      tools for managing Linux kernel mo

linux-image-2.6.26-1-amd64 recommends no packages.

Versions of packages linux-image-2.6.26-1-amd64 suggests:
ii  grub                       0.97-47lenny1 GRand Unified Bootloader (Legacy v
pn  linux-doc-2.6.26           <none>        (no description available)

-- debconf information:
  linux-image-2.6.26-1-amd64/postinst/create-kimage-link-2.6.26-1-amd64: true
  shared/kernel-image/really-run-bootloader: true
  linux-image-2.6.26-1-amd64/postinst/kimage-is-a-directory:
  linux-image-2.6.26-1-amd64/postinst/old-initrd-link-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/preinst/bootloader-initrd-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/preinst/initrd-2.6.26-1-amd64:
  linux-image-2.6.26-1-amd64/postinst/old-system-map-link-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/postinst/depmod-error-initrd-2.6.26-1-amd64: false
  linux-image-2.6.26-1-amd64/preinst/overwriting-modules-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/preinst/elilo-initrd-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/postinst/bootloader-error-2.6.26-1-amd64:
  linux-image-2.6.26-1-amd64/preinst/abort-install-2.6.26-1-amd64:
  linux-image-2.6.26-1-amd64/preinst/lilo-initrd-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/postinst/depmod-error-2.6.26-1-amd64: false
  linux-image-2.6.26-1-amd64/prerm/removing-running-kernel-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/prerm/would-invalidate-boot-loader-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/postinst/bootloader-test-error-2.6.26-1-amd64:
  linux-image-2.6.26-1-amd64/preinst/abort-overwrite-2.6.26-1-amd64:
  linux-image-2.6.26-1-amd64/postinst/old-dir-initrd-link-2.6.26-1-amd64: true
  linux-image-2.6.26-1-amd64/preinst/lilo-has-ramdisk:
  linux-image-2.6.26-1-amd64/preinst/failed-to-move-modules-2.6.26-1-amd64:


-- 
 .''`.   martin f. krafft <madduck@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems

Attachment: digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)


Reply to: