From: Leon Romanovsky <leon@kernel.org>
To: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Jianbo Liu <jianbol@nvidia.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Eric Dumazet <edumazet@google.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Jakub Kicinski <kuba@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org, linux-rdma@vger.kernel.org,
netdev@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>,
Potnuri Bharat Teja <bharat@chelsio.com>,
Saeed Mahameed <saeedm@nvidia.com>,
Tariq Toukan <tariqt@nvidia.com>
Subject: Re: [PATCH ipsec-next 1/2] xfrm: Support ESN context update to hardware for TX
Date: Tue, 7 Jan 2025 12:22:04 +0200 [thread overview]
Message-ID: <20250107102204.GB87447@unreal> (raw)
In-Reply-To: <874f965d786606b0b4351c976f50271349f68b03.1734611621.git.leon@kernel.org>
On Thu, Dec 19, 2024 at 02:37:29PM +0200, Leon Romanovsky wrote:
> From: Jianbo Liu <jianbol@nvidia.com>
>
> Previously xfrm_dev_state_advance_esn() was added for RX only. But
> it's possible that ESN context also need to be synced to hardware for
> TX, so call it for outbound in this patch.
>
> Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
> Documentation/networking/xfrm_device.rst | 3 ++-
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 3 +++
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 3 +++
> net/xfrm/xfrm_replay.c | 1 +
> 4 files changed, 9 insertions(+), 1 deletion(-)
Steffen,
This is kindly reminder.
Thanks
>
> diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm_device.rst
> index bfea9d8579ed..66f6e9a9b59a 100644
> --- a/Documentation/networking/xfrm_device.rst
> +++ b/Documentation/networking/xfrm_device.rst
> @@ -169,7 +169,8 @@ the stack in xfrm_input().
>
> hand the packet to napi_gro_receive() as usual
>
> -In ESN mode, xdo_dev_state_advance_esn() is called from xfrm_replay_advance_esn().
> +In ESN mode, xdo_dev_state_advance_esn() is called from
> +xfrm_replay_advance_esn() for RX, and xfrm_replay_overflow_offload_esn for TX.
> Driver will check packet seq number and update HW ESN state machine if needed.
>
> Packet offload mode:
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> index bc3af0054406..e56e4f238795 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
> @@ -6559,6 +6559,9 @@ static void cxgb4_advance_esn_state(struct xfrm_state *x)
> {
> struct adapter *adap = netdev2adap(x->xso.dev);
>
> + if (x->xso.dir != XFRM_DEV_OFFLOAD_IN)
> + return;
> +
> if (!mutex_trylock(&uld_mutex)) {
> dev_dbg(adap->pdev_dev,
> "crypto uld critical resource is under use\n");
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
> index ca92e518be76..3dd4f2492090 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
> @@ -980,6 +980,9 @@ static void mlx5e_xfrm_advance_esn_state(struct xfrm_state *x)
> struct mlx5e_ipsec_sa_entry *sa_entry_shadow;
> bool need_update;
>
> + if (x->xso.dir != XFRM_DEV_OFFLOAD_IN)
> + return;
> +
> need_update = mlx5e_ipsec_update_esn_state(sa_entry);
> if (!need_update)
> return;
> diff --git a/net/xfrm/xfrm_replay.c b/net/xfrm/xfrm_replay.c
> index bc56c6305725..e500aebbad22 100644
> --- a/net/xfrm/xfrm_replay.c
> +++ b/net/xfrm/xfrm_replay.c
> @@ -729,6 +729,7 @@ static int xfrm_replay_overflow_offload_esn(struct xfrm_state *x, struct sk_buff
> }
>
> replay_esn->oseq = oseq;
> + xfrm_dev_state_advance_esn(x);
>
> if (xfrm_aevent_is_on(net))
> xfrm_replay_notify(x, XFRM_REPLAY_UPDATE);
> --
> 2.47.0
>
>
next prev parent reply other threads:[~2025-01-07 10:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-19 12:37 [PATCH ipsec-next 1/2] xfrm: Support ESN context update to hardware for TX Leon Romanovsky
2024-12-19 12:37 ` [PATCH ipsec-next 2/2] net/mlx5e: Update TX ESN context for IPSec hardware offload Leon Romanovsky
2025-01-07 10:22 ` Leon Romanovsky [this message]
2025-01-07 11:56 ` [PATCH ipsec-next 1/2] xfrm: Support ESN context update to hardware for TX Steffen Klassert
2025-01-07 12:09 ` Leon Romanovsky
2025-01-08 10:25 ` 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=20250107102204.GB87447@unreal \
--to=leon@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=bharat@chelsio.com \
--cc=corbet@lwn.net \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=jianbol@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=steffen.klassert@secunet.com \
--cc=tariqt@nvidia.com \
/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.