Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 450855 - Unbalance reference count in ndisc_recv_ns
Summary: Unbalance reference count in ndisc_recv_ns
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.3
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: rc
: ---
Assignee: Neil Horman
QA Contact: Martin Jenner
URL:
Whiteboard:
: 453755 (view as bug list)
Depends On:
Blocks: 538409
TreeView+ depends on / blocked
 
Reported: 2008-06-11 13:15 UTC by Neil Horman
Modified: 2009-11-18 13:56 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-20 19:39:43 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:0225 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.3 kernel security and bug fix update 2009-01-20 16:06:24 UTC

Description Neil Horman 2008-06-11 13:15:30 UTC
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 16:14:10 UTC
Irina, Linda,
Please provide the acks for the fix to go in. 

Comment 2 Zhiyong Wu 2008-06-12 04:11:58 UTC
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 04:56:23 UTC
(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 04:57:01 UTC
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 05:45:23 UTC
(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 05:49:56 UTC
> 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 06:07:44 UTC
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 06:20:47 UTC
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 06:32:28 UTC
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 06:33:21 UTC
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 06:42:50 UTC
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 06:57:19 UTC
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 06:57:54 UTC
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 06:59:00 UTC
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 13:50:39 UTC
RE: Comment #20

Failed assertion issued is fixed with the test package. 

Comment 23 Don Zickus 2008-07-23 18:55:47 UTC
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 19:39:43 UTC
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 10:45:14 UTC
*** 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.