Node soliciting neighbour twice, results in duplicate IPv6 address

martin f krafft <[email protected]> Sun, 3 Jan 2016 10:48:13 +1300
Newsgroups gmane.linux.debian.devel.ipv6
Organization The Debian project
Message-ID <[email protected]>
Hi folks,

Happy New Year to start with.

My laptop is hooking up to a no-frills WLAN behind a Debian router
advertising a prefix using radvd. I've used this laptop for years in
similar situations, but this time I am seeing the kernel warn about
duplicate IPv6 addresses being detected:

  IPv6: wifi: IPv6 duplicate address 2001:4428:29c:0:2ad2:44ff:fe8c:5bd detected!

I've unplugged/disconnected all other devices and yet the problem
persists. Hence I fired up tcpdump and captured the ICMPv6 packages.
And curiously, the laptop is sending two solicitations, one to the
multicast MAC address 33:33:ff:* and the other *to itself*!

Attached are the two packet dumps, and here's a diff between them,
with timestamps and identical stuff stripped:

  -Frame 1: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
  +Frame 2: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
  […]
  -Ethernet II, Src: 28:d2:44:8c:05:bd, Dst: 33:33:ff:8c:05:bd
  -    Destination: 33:33:ff:8c:05:bd
  -        Address: 33:33:ff:8c:05:bd
  -        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
  -        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
  +Ethernet II, Src: 28:d2:44:8c:05:bd, Dst: 28:d2:44:8c:05:bd
  +    Destination: 28:d2:44:8c:05:bd
  +        Address: 28:d2:44:8c:05:bd
  +        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
  +        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

Correct me if I am wrong, but that second frame should not be sent,
right? Why would the node send a solicitation to itself?

Unfortunately, I have no idea where this is coming from. I've
disabled all bridges. This is Debian's 4.3.0-1-amd64 kernel
(4.3.3-1).

Do you have any clue what might be going on?

-- 
 .''`.   martin f. krafft <[email protected]> @martinkrafft
: :'  :  proud Debian developer
`. `'`   http://people.debian.org/~madduck
  `-  Debian - when you have better things to do than fixing systems
 
"most people become bankrupt through having invested too heavily in
 the prose of life. to have ruined one's self over poetry is an
 honour."
                                                      -- oscar wilde
frame1.txt (text/plain, 2.1 KB)
Frame 1: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
    Interface id: 0 (wifi)
    Encapsulation type: Ethernet (1)
    Arrival Time: Jan  3, 2016 10:25:50.168744045 NZDT
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1451769950.168744045 seconds
    [Time delta from previous captured frame: 0.000000000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.000000000 seconds]
    Frame Number: 1
    Frame Length: 78 bytes (624 bits)
    Capture Length: 78 bytes (624 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 28:d2:44:8c:05:bd, Dst: 33:33:ff:8c:05:bd
    Destination: 33:33:ff:8c:05:bd
        Address: 33:33:ff:8c:05:bd
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
    Source: 28:d2:44:8c:05:bd
        Address: 28:d2:44:8c:05:bd
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff8c:5bd
    0110 .... = Version: 6
    .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT)
        .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0)
        .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0)
    .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
    Payload length: 24
    Next header: ICMPv6 (58)
    Hop limit: 255
    Source: ::
    Destination: ff02::1:ff8c:5bd
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Internet Control Message Protocol v6
    Type: Neighbor Solicitation (135)
    Code: 0
    Checksum: 0x997e [correct]
    Reserved: 00000000
    Target Address: 2001:4428:29c:0:2ad2:44ff:fe8c:5bd
frame2.txt (text/plain, 2 KB)
Frame 2: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
    Interface id: 0 (wifi)
    Encapsulation type: Ethernet (1)
    Arrival Time: Jan  3, 2016 10:25:50.169511800 NZDT
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1451769950.169511800 seconds
    [Time delta from previous captured frame: 0.000767755 seconds]
    [Time delta from previous displayed frame: 0.000767755 seconds]
    [Time since reference or first frame: 0.000767755 seconds]
    Frame Number: 2
    Frame Length: 78 bytes (624 bits)
    Capture Length: 78 bytes (624 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 28:d2:44:8c:05:bd, Dst: 28:d2:44:8c:05:bd
    Destination: 28:d2:44:8c:05:bd
        Address: 28:d2:44:8c:05:bd
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: 28:d2:44:8c:05:bd
        Address: 28:d2:44:8c:05:bd
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff8c:5bd
    0110 .... = Version: 6
    .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT)
        .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0)
        .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0)
    .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
    Payload length: 24
    Next header: ICMPv6 (58)
    Hop limit: 255
    Source: ::
    Destination: ff02::1:ff8c:5bd
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Internet Control Message Protocol v6
    Type: Neighbor Solicitation (135)
    Code: 0
    Checksum: 0x997e [correct]
    Reserved: 00000000
    Target Address: 2001:4428:29c:0:2ad2:44ff:fe8c:5bd
digital_signature_gpg.asc (application/pgp-signature, 1.1 KB)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQLvBAEBCgDZBQJWiEWbwBEaaHR0cDovL21hcnRpbi1rcmFmZnQubmV0L2dwZy9z
aWctcG9saWN5LzU1Yzk4ODJkOTk5YmJjYzQvMjAxMTAxMjQxMTI1P3NoYTUxMnN1
bT0xY2FkOTZmZDI3ZDMyMzNmNTNlMjI4NDk1MzM2NDgxMDdlNWVlOGQ1YmU2NTUy
NTFkNzRjOGYxYzVjM2JjNDJmMjMwNGZhNTE1MTUwZjdiZDRkZDA1ZTk4MTk5MjRm
MDQ5NTEzZWU5OTYyY2E3MTcwOWY4MWQ5NDUxNTg1MmJkOAAKCRBVyYgtmZu8xFaG
EADFacq3ENIR9RSflIUB8MEmPJENJm70v/Fapjc4pqUBjD0bwEzxXiUgFbHkbRzR
2FPY8FFeq/7/zvjCDfk++WP8owFv20Yk3L6wUbk7YbV07nfSFOefgo1GE53F0Yd6
k1A9nMBxj38Ml0VmW7d4/foHuvWEKYKPyhXpjcE59GWEKyuTS92+vgutTn3BHy00
cErkAm9KKmMN2toYRHCOzDTjDcFWZu+gu60YnkklZq+lIWG68bnM3q0K+DnGfkAZ
wPsQqxfxRV3ZDA9cn1WpX5L0R9Tr0zZoOf+kmdG8YT5hYtp3fG4aJeMJcVdOkdN6
u/ow8EhcM9zEniOiMmv0n7Im1WSjx6FJl0AZSdR8qKlUGKbibfZ8tAzqrQdAyOVp
ZI/q2lUIiMO8l6dlz3C0KxdjaqUSefaDfkXsuRhwEllja91aYLw+eQsTuSB4il71
FMlLApZ7a3wNGNRyYNDRJ521RnhnUu7lBWX83qHggxac8B0EUtEMHn7L5bkzboZv
Ah1T5CeLmMUdAUXFkkPghxhdiuf/zpLBOc0LV9Uu/YChATJhWCGEPphELcCkWQFa
ZqNqwzxV7TZclwC+LOnQ5U2u3VQYHruyx5OpYMBD8HxmZjWJfHCM/e2H7MNDOrpx
PXkGYMrePd2Fc4rtT3bxOpM2Ppti0tbLwWGVR52WlwChwQ==
=eWzf
-----END PGP SIGNATURE-----