|
|
Subscribe / Log in / New account

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



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds