summaryrefslogtreecommitdiffstats
path: root/include/net/dst.h
diff options
context:
space:
mode:
authorDavid Miller <davem@davemloft.net>2017-11-28 15:40:40 -0500
committerDavid S. Miller <davem@davemloft.net>2017-11-30 09:54:26 -0500
commit3a2232e92e87166a8a5113e918b8c7b7bdce4d83 (patch)
treed4bea5d4b31fe38dde724e8eb102038438f17f36 /include/net/dst.h
parentb6ca8bd5a9198c70c48297390723e4e56bd6e879 (diff)
downloadlinux-stable-3a2232e92e87166a8a5113e918b8c7b7bdce4d83.tar.gz
linux-stable-3a2232e92e87166a8a5113e918b8c7b7bdce4d83.tar.bz2
linux-stable-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.h3
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