nfp: IPsec offload support
From: | Simon Horman <simon.horman-AT-corigine.com> | |
To: | David Miller <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com> | |
Subject: | [PATCH net-next v3 0/3] nfp: IPsec offload support | |
Date: | Tue, 01 Nov 2022 12:02:45 +0100 | |
Message-ID: | <20221101110248.423966-1-simon.horman@corigine.com> | |
Cc: | Steffen Klassert <steffen.klassert-AT-secunet.com>, Herbert Xu <herbert-AT-gondor.apana.org.au>, Leon Romanovsky <leon-AT-kernel.org>, Chentian Liu <chengtian.liu-AT-corigine.com>, Huanhuan Wang <huanhuan.wang-AT-corigine.com>, Yinjun Zhang <yinjun.zhang-AT-corigine.com>, Louis Peens <louis.peens-AT-corigine.com>, netdev-AT-vger.kernel.org, oss-drivers-AT-corigine.com | |
Archive-link: | Article |
Huanhuan Wang says: this short series is support IPsec offload for the NFP driver. It covers three enhancements: 1. Patches 1/3: - Extend the capability word and control word to to support new features. 2. Patch 2/3: - Add framework to support IPsec offloading for NFP driver, but IPsec offload control plane interface xfrm callbacks which interact with upper layer are not implemented in this patch. 3. Patch 3/3: - IPsec control plane interface xfrm callbacks are implemented in this patch. Changes since v2 * OFFLOAD_HANDLE_ERROR macro and the associated code removed * Unnecessary logging removed * Hook function xdo_dev_state_free in struct xfrmdev_ops removed * Use Xarray to maintain SA entries Changes since v1 * Explicitly return failure when XFRM_STATE_ESN is set * Fix the issue that AEAD algorithm is not correctly offloaded Huanhuan Wang (2): nfp: add framework to support ipsec offloading nfp: implement xfrm callbacks and expose ipsec offload feature to upper layer Yinjun Zhang (1): nfp: extend capability and control words drivers/net/ethernet/netronome/Kconfig | 11 + drivers/net/ethernet/netronome/nfp/Makefile | 2 + .../ethernet/netronome/nfp/crypto/crypto.h | 23 + .../net/ethernet/netronome/nfp/crypto/ipsec.c | 633 ++++++++++++++++++ drivers/net/ethernet/netronome/nfp/nfd3/dp.c | 58 +- .../net/ethernet/netronome/nfp/nfd3/ipsec.c | 18 + .../net/ethernet/netronome/nfp/nfd3/nfd3.h | 8 + drivers/net/ethernet/netronome/nfp/nfp_net.h | 11 + .../ethernet/netronome/nfp/nfp_net_common.c | 10 + .../net/ethernet/netronome/nfp/nfp_net_ctrl.h | 22 +- 10 files changed, 781 insertions(+), 15 deletions(-) create mode 100644 drivers/net/ethernet/netronome/nfp/crypto/ipsec.c create mode 100644 drivers/net/ethernet/netronome/nfp/nfd3/ipsec.c -- 2.30.2