diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-04-09 03:47:16 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-09 13:12:23 -0400 |
commit | 617fe29d45bdfffba2739e6512c83e766e6ae72c (patch) | |
tree | 8eb3d331f1c042893a990af3ee48e2aab4061fef /include/net | |
parent | fc403832f7bd94014fe3d965e0652a857160f1c9 (diff) |
net: ipv6: only invalidate previously tokenized addresses
Instead of invalidating all IPv6 addresses with global scope
when one decides to use IPv6 tokens, we should only invalidate
previous tokens and leave the rest intact until they expire
eventually (or are intact forever). For doing this less greedy
approach, we're adding a bool at the end of inet6_ifaddr structure
instead, for two reasons: i) per-inet6_ifaddr flag space is
already used up, making it wider might not be a good idea,
since ii) also we do not necessarily need to export this
information into user space.
Suggested-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/if_inet6.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h index f1063d62cd1..100fb8cec17 100644 --- a/include/net/if_inet6.h +++ b/include/net/if_inet6.h @@ -71,6 +71,8 @@ struct inet6_ifaddr { struct inet6_ifaddr *ifpub; int regen_count; #endif + bool tokenized; + struct rcu_head rcu; }; |