All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antony Antony <antony.antony@secunet.com>
To: Steffen Klassert <steffen.klassert@secunet.com>,
	Herbert Xu <herbert@gondor.apana.org.au>
Cc: <netdev@vger.kernel.org>, Tobias Brunner <tobias@strongswan.org>
Subject: [PATCH ipsec-next 3/4] xfrm: update x->lastused for every packet
Date: Fri, 8 Jul 2022 08:17:25 +0200	[thread overview]
Message-ID: <b3bf2249efe00502fdfa352d07ddaab93aab385e.1657260947.git.antony.antony@secunet.com> (raw)
In-Reply-To: <3e201e1156639286e1874ebc29233741b8b2ac54.1657260947.git.antony.antony@secunet.com>

x->lastused was only updated for outgoing mobile IPv6.
With this fix make it generic, update it for every,
both in and out packet.
This useful to check if the a SA is still in use, or when was the last time
an SA was used.

Signed-off-by: Antony Antony <antony.antony@secunet.com>
---
 net/xfrm/xfrm_input.c  | 1 +
 net/xfrm/xfrm_output.c | 3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 70a8c36f0ba6..7978048df837 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -669,6 +669,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 
 		x->curlft.bytes += skb->len;
 		x->curlft.packets++;
+		x->lastused = ktime_get_real_seconds();
 
 		spin_unlock(&x->lock);
 
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
index 9a5e79a38c67..78cb8d0a6a18 100644
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
@@ -209,8 +209,6 @@ static int xfrm6_ro_output(struct xfrm_state *x, struct sk_buff *skb)
 	__skb_pull(skb, hdr_len);
 	memmove(ipv6_hdr(skb), iph, hdr_len);
 
-	x->lastused = ktime_get_real_seconds();
-
 	return 0;
 #else
 	WARN_ON_ONCE(1);
@@ -534,6 +532,7 @@ static int xfrm_output_one(struct sk_buff *skb, int err)
 
 		x->curlft.bytes += skb->len;
 		x->curlft.packets++;
+		x->lastused = ktime_get_real_seconds();
 
 		spin_unlock_bh(&x->lock);
 
-- 
2.30.2


  parent reply	other threads:[~2022-07-08  6:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08  6:16 [PATCH ipsec-next 1/4] Revert "xfrm: update SA curlft.use_time" Antony Antony
2022-07-08  6:16 ` [PATCH ipsec-next 2/4] xfrm: fix XFRMA_LASTUSED comment Antony Antony
2022-07-08  6:17 ` Antony Antony [this message]
2022-07-08  6:18 ` [PATCH ipsec-next 4/4] xfrm: clone x->lastused in xfrm_do_migrate Antony Antony
2022-07-11  8:34   ` Steffen Klassert
2022-07-11  8:24 ` [PATCH ipsec-next 1/4] Revert "xfrm: update SA curlft.use_time" Steffen Klassert
2022-07-27 15:38 ` [PATCH ipsec 1/3] " Antony Antony
2022-07-27 15:45   ` Antony Antony
2022-08-04  9:31   ` Steffen Klassert
2022-07-27 15:40 ` [PATCH ipsec 2/3] xfrm: fix XFRMA_LASTUSED comment Antony Antony
2022-07-27 15:41 ` [PATCH ipsec 3/3] xfrm: clone missing x->lastused in xfrm_do_migrate Antony Antony
2022-10-21 13:42 ` [PATCH ipsec-next v2] xfrm: update x->lastused for every packet Antony Antony
2022-10-28 11:35   ` Steffen Klassert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3bf2249efe00502fdfa352d07ddaab93aab385e.1657260947.git.antony.antony@secunet.com \
    --to=antony.antony@secunet.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    --cc=tobias@strongswan.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.