From cbaf2f619a1d88ab521a1848f89f7e7f0ee4f60e Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 29 Dec 2011 15:22:33 -0500 Subject: [PATCH] --- yaml --- r: 279127 b: refs/heads/master c: 346f870b8a9aaf0847f7c7cffdbb447bb2f3853e h: refs/heads/master i: 279125: 33fba3acaf4faff8313a8b3064b53626910d70da 279123: b29e2cb972d1927ffc03550be35a96ea8527502b 279119: 5b9661e55f53cef189b412701e0417c3bb6fc6ca v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 24430ff43a85..cbe7491a1213 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 95f56e7aa807e9eec241a5b70f0695b2514b5ad5 +refs/heads/master: 346f870b8a9aaf0847f7c7cffdbb447bb2f3853e diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 0940729d2f91..30de9e74a813 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -2360,11 +2360,13 @@ static int rt6_fill_node(struct net *net, int iif, int type, u32 pid, u32 seq, int prefix, int nowait, unsigned int flags) { + const struct inet_peer *peer; struct rtmsg *rtm; struct nlmsghdr *nlh; long expires; u32 table; struct neighbour *n; + u32 ts, tsage; if (prefix) { /* user wants prefix routes only */ if (!(rt->rt6i_flags & RTF_PREFIX_RT)) { @@ -2471,7 +2473,14 @@ static int rt6_fill_node(struct net *net, else expires = INT_MAX; - if (rtnl_put_cacheinfo(skb, &rt->dst, 0, 0, 0, + peer = rt->rt6i_peer; + ts = tsage = 0; + if (peer && peer->tcp_ts_stamp) { + ts = peer->tcp_ts; + tsage = get_seconds() - peer->tcp_ts_stamp; + } + + if (rtnl_put_cacheinfo(skb, &rt->dst, 0, ts, tsage, expires, rt->dst.error) < 0) goto nla_put_failure;