ipv6: Report TCP timetstamp info in cacheinfo just like ipv4 does.
I missed this while adding ipv6 support to inet_peer. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2360,11 +2360,13 @@ static int rt6_fill_node(struct net *net,
|
|||||||
int iif, int type, u32 pid, u32 seq,
|
int iif, int type, u32 pid, u32 seq,
|
||||||
int prefix, int nowait, unsigned int flags)
|
int prefix, int nowait, unsigned int flags)
|
||||||
{
|
{
|
||||||
|
const struct inet_peer *peer;
|
||||||
struct rtmsg *rtm;
|
struct rtmsg *rtm;
|
||||||
struct nlmsghdr *nlh;
|
struct nlmsghdr *nlh;
|
||||||
long expires;
|
long expires;
|
||||||
u32 table;
|
u32 table;
|
||||||
struct neighbour *n;
|
struct neighbour *n;
|
||||||
|
u32 ts, tsage;
|
||||||
|
|
||||||
if (prefix) { /* user wants prefix routes only */
|
if (prefix) { /* user wants prefix routes only */
|
||||||
if (!(rt->rt6i_flags & RTF_PREFIX_RT)) {
|
if (!(rt->rt6i_flags & RTF_PREFIX_RT)) {
|
||||||
@@ -2471,7 +2473,14 @@ static int rt6_fill_node(struct net *net,
|
|||||||
else
|
else
|
||||||
expires = INT_MAX;
|
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)
|
expires, rt->dst.error) < 0)
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user