Subject: IPV6 address lifetime update

From: Abhijeet Dharmapurikar <[email-masked]>
Date: Wed, 15 Dec 2010 11:33:38 -0800

Our product uses Linux kernel 2.6.35.  For IPV6 support, the device is 
using stateless address configuration. We see the global scope address 
is assigned correctly when the network interface transitions to UP 
state.  However, we are seeing issue where subsequent router 
advertisement (RA) messages for assigned prefix results in *new* IPV6 
address on same interface and duplicate-address-detection for same.  Our 
goal is to have the subsequent router RA message simply update the 
address lifetime for existing IPV6 address(es) using the specific prefix 
per RFC2462 section 5.5.3(e).  Looking at /net/ipv6/addrconf.c function 
addrconf_prefix_rcv(), it does not seem like updating existing addresses 
only (without new address creation) is supported.  Is this correct?  Or 
what configuration options are required to achieve the desired behavior?
Below is an excerpt from ‘ip addr’ output, showing interface state after 
a few RA messages have been received.  Note we have configured the 
router to send RA frequently for testing purposes.  Ideally only one 
global address will be present, with lifetime updated on each RA arrival 
for same prefix.
Thank you in advance for guidance on this issue.

3: net0: <UP,LOWER_UP> mtu 1280 qdisc pfifo_fast qlen 1000
     link/[530]
     inet6 2002:c023:9c17:c23:f2f9:6c83:be61:a743/64 scope global dynamic
        valid_lft 7170sec preferred_lft 3570sec
     inet6 2002:c023:9c17:c23:1282:1b78:75dd:b9ed/64 scope global dynamic
        valid_lft 7150sec preferred_lft 3550sec
     inet6 2002:c023:9c17:c23:5326:714d:e25b:797e/64 scope global dynamic
        valid_lft 7134sec preferred_lft 3534sec
     inet6 2002:c023:9c17:c23:488c:95c8:34a2:587f/64 scope global dynamic
        valid_lft 7117sec preferred_lft 3517sec
     inet6 fe80::97e0:7661:c51d:bdb/64 scope link
        valid_lft forever preferred_lft forever