diff options
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> | 2008-04-02 03:00:58 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-02 03:00:58 -0400 |
commit | c6fbfac2e61c9a8617f64b93e8c990b8d864bce5 (patch) | |
tree | 54fd0c1543069a617e3b315346e3593e0b3be52c /net/ipv6/addrconf.c | |
parent | 1905f6c736cb618e07eca0c96e60e3c024023428 (diff) |
IPv6: only update the lifetime of the relevant temporary address
When receiving a prefix information from a routeur, only update the
lifetimes of the temporary address associated with that prefix.
Otherwise if one deprecated prefix is advertized, all your temporary
addresses will become deprecated.
Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 101e0e70ba27..e11f10eceffc 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -1831,6 +1831,9 @@ ok: | |||
1831 | * lifetimes of an existing temporary address | 1831 | * lifetimes of an existing temporary address |
1832 | * when processing a Prefix Information Option. | 1832 | * when processing a Prefix Information Option. |
1833 | */ | 1833 | */ |
1834 | if (ifp != ift->ifpub) | ||
1835 | continue; | ||
1836 | |||
1834 | spin_lock(&ift->lock); | 1837 | spin_lock(&ift->lock); |
1835 | flags = ift->flags; | 1838 | flags = ift->flags; |
1836 | if (ift->valid_lft > valid_lft && | 1839 | if (ift->valid_lft > valid_lft && |