aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorBenoit Boissinot <benoit.boissinot@ens-lyon.org>2008-04-02 03:00:58 -0400
committerDavid S. Miller <davem@davemloft.net>2008-04-02 03:00:58 -0400
commitc6fbfac2e61c9a8617f64b93e8c990b8d864bce5 (patch)
tree54fd0c1543069a617e3b315346e3593e0b3be52c /net/ipv6/addrconf.c
parent1905f6c736cb618e07eca0c96e60e3c024023428 (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.c3
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 &&