diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/xfrm6_output.c | 2 | ||||
-rw-r--r-- | net/xfrm/xfrm_user.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv6/xfrm6_output.c b/net/ipv6/xfrm6_output.c index b4628fbf8ff5..db58104e710b 100644 --- a/net/ipv6/xfrm6_output.c +++ b/net/ipv6/xfrm6_output.c | |||
@@ -75,6 +75,8 @@ static int xfrm6_output_one(struct sk_buff *skb) | |||
75 | 75 | ||
76 | x->curlft.bytes += skb->len; | 76 | x->curlft.bytes += skb->len; |
77 | x->curlft.packets++; | 77 | x->curlft.packets++; |
78 | if (x->props.mode == XFRM_MODE_ROUTEOPTIMIZATION) | ||
79 | x->lastused = (u64)xtime.tv_sec; | ||
78 | 80 | ||
79 | spin_unlock_bh(&x->lock); | 81 | spin_unlock_bh(&x->lock); |
80 | 82 | ||
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 939808de9e20..f643063a1cbd 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
@@ -595,6 +595,9 @@ static int dump_one_state(struct xfrm_state *x, int count, void *ptr) | |||
595 | if (x->coaddr) | 595 | if (x->coaddr) |
596 | RTA_PUT(skb, XFRMA_COADDR, sizeof(*x->coaddr), x->coaddr); | 596 | RTA_PUT(skb, XFRMA_COADDR, sizeof(*x->coaddr), x->coaddr); |
597 | 597 | ||
598 | if (x->lastused) | ||
599 | RTA_PUT(skb, XFRMA_LASTUSED, sizeof(x->lastused), &x->lastused); | ||
600 | |||
598 | nlh->nlmsg_len = skb->tail - b; | 601 | nlh->nlmsg_len = skb->tail - b; |
599 | out: | 602 | out: |
600 | sp->this_idx++; | 603 | sp->this_idx++; |