Subject: Re: IPV6 address lifetime update

From: Brian Haley <[email-masked]>
Date: Wed, 15 Dec 2010 16:33:07 -0500

On 12/15/2010 02:33 PM, Abhijeet Dharmapurikar wrote:
> 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]

What type of interface is this?  Doesn't look like Ethernet.

>     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

These don't look like privacy addresses since they'd have either "temporary"
or "secondary", someone is generating a MAC though...

-Brian