diff options
author | David Miller <davem@davemloft.net> | 2017-11-28 21:40:40 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-11-30 15:54:26 +0100 |
commit | 3a2232e92e87166a8a5113e918b8c7b7bdce4d83 (patch) | |
tree | d4bea5d4b31fe38dde724e8eb102038438f17f36 /include/net/dst.h | |
parent | xfrm: Move child route linkage into xfrm_dst. (diff) | |
download | linux-3a2232e92e87166a8a5113e918b8c7b7bdce4d83.tar.xz linux-3a2232e92e87166a8a5113e918b8c7b7bdce4d83.zip |
ipv6: Move dst->from into struct rt6_info.
The dst->from value is only used by ipv6 routes to track where
a route "came from".
Any time we clone or copy a core ipv6 route in the ipv6 routing
tables, we have the copy/clone's ->from point to the base route.
This is used to handle route expiration properly.
Only ipv6 uses this mechanism, and only ipv6 code references
it. So it is safe to move it into rt6_info.
Signed-off-by: David S. Miller <davem@davemloft.net>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Diffstat (limited to 'include/net/dst.h')
-rw-r--r-- | include/net/dst.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/dst.h b/include/net/dst.h index cef46207408c..13c839d8235a 100644 --- a/include/net/dst.h +++ b/include/net/dst.h @@ -39,7 +39,6 @@ struct dst_entry { unsigned long _metrics; unsigned long expires; struct dst_entry *path; - struct dst_entry *from; #ifdef CONFIG_XFRM struct xfrm_state *xfrm; #else @@ -88,7 +87,7 @@ struct dst_entry { * Align __refcnt to a 64 bytes alignment * (L1_CACHE_SIZE would be too much) */ - long __pad_to_align_refcnt[3]; + long __pad_to_align_refcnt[4]; #endif /* * __refcnt wants to be on a different cache line from |