Bug 450855 - Unbalance reference count in ndisc_recv_ns
Unbalance reference count in ndisc_recv_ns
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
5.3
All Linux
urgent Severity urgent
: rc
: ---
Assigned To: Neil Horman
Martin Jenner
: ZStream
: 453755 (view as bug list)
Depends On:
Blocks: 538409
  Show dependency treegraph
 
Reported: 2008-06-11 09:15 EDT by Neil Horman
Modified: 2009-11-18 08:56 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-01-20 14:39:43 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Neil Horman 2008-06-11 09:15:30 EDT
Description of problem:
the out: clause of ndisc_recv_ns attempts to drop the ref count of an ipv6
address, which is incorrect if addrconf_dad_failure has been called earlier in
the function (since that drops the ref count already when deleteing the address.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
fixed by upstream commit 9e3be4b34364a670bd6e57d2e8c3caabdd8d89f8
Comment 1 Lawrence Lim 2008-06-11 12:14:10 EDT
Irina, Linda,
Please provide the acks for the fix to go in. 
Comment 2 Zhiyong Wu 2008-06-12 00:11:58 EDT
kernel-2.6.18-94.el5.jitcdbg.1.i686.rpm dont still work and dont resolve the issue.

****the description of the issue***

two hosts(RHEL5.2-GA) on the same subnet

      cisco (c2811)
            |
------------------------
    |             |
  host1          host2


(1) host1 auto-conifgure global and local-link address (given by c2811)

(2) host2 manual configure static global and local-link address same as host1's

Expect result: DoD expects the host to update to a new address if
duplicate address has been detected

****Procedure****

1) when doing global address testing.

The result: when deleteing host1's global address, after som minutes, host1 will
regain the same global address.

(1) host1 info after host1 regain global address and the log in /var/log/messages

[root@103client ~]# ip -6 addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global dynamic 
       valid_lft 2591839sec preferred_lft 604639sec
    inet6 fe80::213:20ff:fef5:fd1c/64 scope link 
       valid_lft forever preferred_lft forever
[root@103client ~]# ip -6 route list
unreachable ::/96 dev lo  metric 1024  expires 21275460sec error -101 mtu 16436
advmss 16376 hoplimit 4294967295
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  expires 21275460sec error
-101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a00::/24 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:7f00::/24 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a9fe::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:ac10::/28 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:c0a8::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:e000::/19 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
3ffe:501:ffff:103::/64 dev eth0  proto kernel  metric 256  expires 2146990sec
mtu 1500 advmss 1440 hoplimit 4294967295
unreachable 3ffe:ffff::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
default via fe80::21f:caff:fee1:6831 dev eth0  proto kernel  metric 1024 
expires 1633sec mtu 1500 advmss 1440 hoplimit 64

[root@103client ~]# tail /var/log/messages
Jun 12 02:45:05 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 02:48:26 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 02:49:34 103client kernel: device eth0 left promiscuous mode
Jun 12 02:49:34 103client scim-bridge: An IOException at
scim_bridge_messenger_receive_message (): Connection reset by peer
Jun 12 02:49:34 103client scim-bridge: Panel client has not yet been prepared
Jun 12 02:49:34 103client scim-bridge: Panel client has not yet been prepared
Jun 12 02:51:46 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 02:55:07 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 02:58:27 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 03:00:17 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!

(3) host2's info and log in /var/log/messages

[root@103server ~]# ip -6 add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:218:8bff:fe74:2ee7/64 scope global dynamic 
       valid_lft 2591927sec preferred_lft 604727sec
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::218:8bff:fe74:2ee7/64 scope link 
       valid_lft forever preferred_lft forever
[root@103server ~]# 
[root@103server ~]# 
[root@103server ~]# 
[root@103server ~]# ip -6 route list
unreachable ::/96 dev lo  metric 1024  expires 21275173sec error -101 mtu 16436
advmss 16376 hoplimit 4294967295
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  expires 21275173sec error
-101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a00::/24 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:7f00::/24 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a9fe::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:ac10::/28 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:c0a8::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:e000::/19 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
3ffe:501:ffff:103::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440
hoplimit 4294967295
unreachable 3ffe:ffff::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
fe80::/64 dev eth0  metric 256  expires 21275171sec mtu 1500 advmss 1440
hoplimit 4294967295
default via fe80::21f:caff:fee1:6831 dev eth0  proto kernel  metric 1024 
expires 1718sec mtu 1500 advmss 1440 hoplimit 64


[root@103server ~]# tail /var/log/messages
Jun 12 10:43:12 103server kernel: device eth0 entered promiscuous mode
Jun 12 10:43:26 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 10:43:33 103server kernel: device eth0 left promiscuous mode
Jun 12 10:46:46 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 10:50:07 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 10:53:27 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 10:56:48 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 11:00:08 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 11:01:57 103server kernel: eth0: duplicate address detected!
Jun 12 11:01:58 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!

2) when doing local-link address

The result: when deleteing host1's global address, host1 can not regain the
local-link address.

the log is similiar with the above display.

(1)host1's info and log

[root@103client ~]# ip -6 addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global dynamic 
       valid_lft 2591839sec preferred_lft 604639sec
[root@103client ~]# ip -6 route list
unreachable ::/96 dev lo  metric 1024  expires 21275460sec error -101 mtu 16436
advmss 16376 hoplimit 4294967295
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  expires 21275460sec error
-101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a00::/24 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:7f00::/24 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a9fe::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:ac10::/28 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:c0a8::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:e000::/19 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
3ffe:501:ffff:103::/64 dev eth0  proto kernel  metric 256  expires 2146990sec
mtu 1500 advmss 1440 hoplimit 4294967295
unreachable 3ffe:ffff::/32 dev lo  metric 1024  expires 21275460sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
default via fe80::21f:caff:fee1:6831 dev eth0  proto kernel  metric 1024 
expires 1633sec mtu 1500 advmss 1440 hoplimit 64


[root@103client ~]# tail /var/log/messages
Jun 12 03:24:02 103client avahi-daemon[12648]: Joining mDNS multicast group on
interface eth0.IPv6 with address fe80::213:20ff:fef5:fd1c.
Jun 12 03:24:02 103client avahi-daemon[12648]: Registering new address record
for fe80::213:20ff:fef5:fd1c on eth0.
Jun 12 03:26:57 103client avahi-daemon[12648]: Leaving mDNS multicast group on
interface eth0.IPv6 with address fe80::213:20ff:fef5:fd1c.
Jun 12 03:26:57 103client avahi-daemon[12648]: Joining mDNS multicast group on
interface eth0.IPv6 with address 3ffe:501:ffff:103:213:20ff:fef5:fd1c.
Jun 12 03:26:57 103client avahi-daemon[12648]: Registering new address record
for 3ffe:501:ffff:103:213:20ff:fef5:fd1c on eth0.
Jun 12 03:26:57 103client avahi-daemon[12648]: Withdrawing address record for
fe80::213:20ff:fef5:fd1c on eth0.
Jun 12 03:28:41 103client kernel: device eth0 entered promiscuous mode
Jun 12 03:30:16 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 03:33:36 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!

(2)host2's info and log

[root@103server ~]# ip -6 add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:218:8bff:fe74:2ee7/64 scope global dynamic 
       valid_lft 2591927sec preferred_lft 604727sec
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::213:20ff:fef5:fd1c/64 scope link tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::218:8bff:fe74:2ee7/64 scope link 
       valid_lft forever preferred_lft forever
[root@103server ~]# 
[root@103server ~]# 
[root@103server ~]# 
[root@103server ~]# ip -6 route list
unreachable ::/96 dev lo  metric 1024  expires 21275173sec error -101 mtu 16436
advmss 16376 hoplimit 4294967295
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  expires 21275173sec error
-101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a00::/24 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:7f00::/24 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a9fe::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:ac10::/28 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:c0a8::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:e000::/19 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
3ffe:501:ffff:103::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440
hoplimit 4294967295
unreachable 3ffe:ffff::/32 dev lo  metric 1024  expires 21275173sec error -101
mtu 16436 advmss 16376 hoplimit 4294967295
fe80::/64 dev eth0  metric 256  expires 21275171sec mtu 1500 advmss 1440
hoplimit 4294967295
default via fe80::21f:caff:fee1:6831 dev eth0  proto kernel  metric 1024 
expires 1718sec mtu 1500 advmss 1440 hoplimit 64

[root@103server ~]# tail /var/log/messages
Jun 12 11:21:57 103server avahi-daemon[10326]: Registering new address record
for 3ffe:501:ffff:103:218:8bff:fe74:2ee7 on eth0.
Jun 12 11:21:57 103server avahi-daemon[10326]: Withdrawing address record for
fe80::218:8bff:fe74:2ee7 on eth0.
Jun 12 11:25:16 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 11:25:16 103server kernel: eth0: duplicate address detected!
Jun 12 11:28:36 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 11:28:37 103server kernel: eth0: duplicate address detected!
Jun 12 11:30:48 103server kernel: device eth0 entered promiscuous mode
Jun 12 11:31:13 103server kernel: eth0: duplicate address detected!
Jun 12 11:31:57 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 11:32:00 103server kernel: device eth0 left promiscuous mode



Comment 3 Zhiyong Wu 2008-06-12 00:56:23 EDT
(1) host1

[root@103client Desktop]# uname -a
Linux 103client.priv.redhat.com 2.6.18-94.el5.jitcdbg.1 #1 SMP Wed Jun 11
11:10:24 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

(2) host2

[root@103server Desktop]# uname -a
Linux 103server.priv.redhat.com 2.6.18-94.el5.jitcdbg.1 #1 SMP Wed Jun 11
11:10:04 EDT 2008 i686 athlon i386 GNU/Linux
Comment 4 Herbert Xu 2008-06-12 00:57:01 EDT
Can you tell me the exact sequence actions executed on the two hosts? As it is
what you've presented could be the expected behaviour.  For example, if you
added host1's address to host2 while host1 still had it, then host2 would fail
to acquire it.  If you then delete it from host1 and readd it, of course host1
is going to get it back since host2 didn't get it anyway.
Comment 6 Zhiyong Wu 2008-06-12 01:45:23 EDT
(1) host1

[root@103client Desktop]# uname -a
Linux 103client.priv.redhat.com 2.6.18-94.el5.jitcdbg.1 #1 SMP Wed Jun 11
11:10:24 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

(2) host2

[root@103server Desktop]# uname -a
Linux 103server.priv.redhat.com 2.6.18-94.el5.jitcdbg.1 #1 SMP Wed Jun 11
11:10:04 EDT 2008 i686 athlon i386 GNU/Linux
Comment 7 Zhiyong Wu 2008-06-12 01:49:56 EDT
> Can you tell me the exact sequence actions executed on the two hosts? As it is
> what you've presented could be the expected behaviour.  For example, if you
> added host1's address to host2 while host1 still had it, then host2 would fail
> to acquire it.  
no, at this moment, host2 can acquire the global address same as
host1's, but it is a tentative address.

[root@103server ~]# ip -6 add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:218:8bff:fe74:2ee7/64 scope global dynamic 
       valid_lft 2591927sec preferred_lft 604727sec
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global
tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::218:8bff:fe74:2ee7/64 scope link 
       valid_lft forever preferred_lft forever

> If you then delete it from host1 and readd it, of course host1
> is going to get it back since host2 didn't get it anyway.

when i delete its global address from host1, and dont manually readd it, host1 

will automatically reacquire global address same as the previous one by 

stateless autoconfig method.

But when host2 have a local-link address same as host1's, if i delete its 

local-link address , host1 will not forever reacquire its local-link address.

> 
Comment 8 Zhiyong Wu 2008-06-12 02:07:44 EDT
The action sequences are shown below:

Prequirement:

[root@103client ~]# ip -6 addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global dynamic 
       valid_lft 2591839sec preferred_lft 604639sec
    inet6 fe80::213:20ff:fef5:fd1c/64 scope link 
       valid_lft forever preferred_lft forever

[root@103server ~]# ip -6 add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:218:8bff:fe74:2ee7/64 scope global dynamic 
       valid_lft 2591927sec preferred_lft 604727sec
    inet6 fe80::218:8bff:fe74:2ee7/64 scope link 
       valid_lft forever preferred_lft forever

(1) add a global address same as host1's address to host2
   
   NOTE: the adding method is to modify interface configure and restart 

network, not by "ifconfig eth0 add 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64"

[root@103server ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:18:8B:74:2E:E7
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=yes
IPV6ADDR=3ffe:501:ffff:103:213:20ff:fef5:fd1c/64

[root@103server ~]# service network restart

[root@103server ~]# ip -6 add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 3ffe:501:ffff:103:218:8bff:fe74:2ee7/64 scope global dynamic 
       valid_lft 2591927sec preferred_lft 604727sec
    inet6 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64 scope global tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::218:8bff:fe74:2ee7/64 scope link 
       valid_lft forever preferred_lft forever

(2) delete host1's global address from host1

[root@103client ~]# ifconfig eth0 del 3ffe:501:ffff:103:213:20ff:fef5:fd1c/64

(3) wait for some minutes, u will find that host1 reacquires a global address
same as the previous one.

Comment 9 Zhiyong Wu 2008-06-12 02:20:47 EDT
when i add a global address to host2 by "ifconfig eth0 add 

3ffe:501:ffff:103:213:20ff:fef5:fd1c/64", the result is same as the above.

[root@103client ~]# tail /var/log/messages
Jun 12 06:09:03 103client avahi-daemon[12648]: Joining mDNS multicast group on
interface eth0.IPv4 with address 192.168.3.12.
Jun 12 06:09:03 103client avahi-daemon[12648]: Registering new address record
for 192.168.3.12 on eth0.
Jun 12 06:09:03 103client avahi-daemon[12648]: New relevant interface eth0.IPv6
for mDNS.
Jun 12 06:09:03 103client avahi-daemon[12648]: Joining mDNS multicast group on
interface eth0.IPv6 with address fe80::213:20ff:fef5:fd1c.
Jun 12 06:09:03 103client avahi-daemon[12648]: Registering new address record
for fe80::213:20ff:fef5:fd1c on eth0.
Jun 12 06:09:04 103client avahi-daemon[12648]: Leaving mDNS multicast group on
interface eth0.IPv6 with address fe80::213:20ff:fef5:fd1c.
Jun 12 06:09:04 103client avahi-daemon[12648]: Joining mDNS multicast group on
interface eth0.IPv6 with address 3ffe:501:ffff:103:213:20ff:fef5:fd1c.
Jun 12 06:09:04 103client avahi-daemon[12648]: Registering new address record
for 3ffe:501:ffff:103:213:20ff:fef5:fd1c on eth0.
Jun 12 06:09:04 103client avahi-daemon[12648]: Withdrawing address record for
fe80::213:20ff:fef5:fd1c on eth0.
Jun 12 06:10:28 103client kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!


[root@103server ~]# tail /var/log/messages
Jun 12 14:12:20 103server avahi-daemon[10326]: Registering new address record
for 192.168.3.11 on eth0.
Jun 12 14:12:22 103server avahi-daemon[10326]: Leaving mDNS multicast group on
interface eth0.IPv6 with address fe80::218:8bff:fe74:2ee7.
Jun 12 14:12:22 103server avahi-daemon[10326]: Joining mDNS multicast group on
interface eth0.IPv6 with address 3ffe:501:ffff:103:218:8bff:fe74:2ee7.
Jun 12 14:12:22 103server avahi-daemon[10326]: Registering new address record
for 3ffe:501:ffff:103:218:8bff:fe74:2ee7 on eth0.
Jun 12 14:12:22 103server avahi-daemon[10326]: Withdrawing address record for
fe80::218:8bff:fe74:2ee7 on eth0.
Jun 12 14:13:00 103server kernel: eth0: duplicate address detected!
Jun 12 14:13:44 103server kernel: eth0: duplicate address detected!
Jun 12 14:13:46 103server last message repeated 2 times
Jun 12 14:15:41 103server kernel: addrconf_prefix_rcv: FOUND ADDR!  SKIPPING DAD!
Jun 12 14:15:42 103server kernel: eth0: duplicate address detected!
Comment 10 Herbert Xu 2008-06-12 02:32:28 EDT
If an address stays in the tentative state after DAD has finished it means that
you didn't acquire the address.
Comment 11 Herbert Xu 2008-06-12 02:33:21 EDT
We do not delete addresses added manually in case of DAD failure, only
automatically acquired addresses are deleted.
Comment 12 Zhiyong Wu 2008-06-12 02:42:50 EDT
Hi, herbert, but why the testing result for local-link address is different from 

global address when we do the same testing?

Host2's local-link address that is same as host1's is also tentative. But why will  

host1 not acquire the local-link address ?



Comment 13 Zhiyong Wu 2008-06-12 02:57:19 EDT
One more thing, if i cut off host1 from the subnet, after a long time, host2's 

global address same as host1's will still keep tentative, and it's NETWORK MASK 

become from 64 to ZERO, why?
Comment 14 Herbert Xu 2008-06-12 02:57:54 EDT
You deleted the link-local address administratively.  Why should the kernel
disobey your command and recreate the address?

If you want the kernel to regnereate the link-local address, bring the interface
down and up again.
Comment 15 Herbert Xu 2008-06-12 02:59:00 EDT
It stays tentative because once DAD fails the address stays in the failed state
until you delete it.  As to the netmask please show me the output of ip.
Comment 21 Lawrence Lim 2008-06-12 09:50:39 EDT
RE: Comment #20

Failed assertion issued is fixed with the test package. 
Comment 23 Don Zickus 2008-07-23 14:55:47 EDT
in kernel-2.6.18-99.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5
Comment 28 errata-xmlrpc 2009-01-20 14:39:43 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2009-0225.html
Comment 29 Neil Horman 2009-06-03 06:45:14 EDT
*** Bug 453755 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.