netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v7 0/8] cn10k-ipsec: Add outbound inline ipsec support
@ 2024-08-27 13:32 Bharat Bhushan
  2024-08-27 13:32 ` [net-next PATCH v7 1/8] octeontx2-pf: map skb data as device writeable Bharat Bhushan
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Bharat Bhushan @ 2024-08-27 13:32 UTC (permalink / raw)
  To: netdev, linux-kernel, sgoutham, gakula, sbhatta, hkelam, davem,
	edumazet, kuba, pabeni, jerinj, lcherian, richardcochran,
	bbhushan2, bharatb.linux

This patch series adds outbound inline ipsec support on Marvell
cn10k series of platform. One crypto hardware logical function
(cpt-lf) per netdev is required for inline ipsec outbound
functionality. Software prepare and submit crypto hardware
(CPT) instruction for outbound inline ipsec crypto mode offload.
The CPT instruction have details for encryption and authentication
Crypto hardware encrypt, authenticate and provide the ESP packet
to network hardware logic to transmit ipsec packet.

First patch makes dma memory writable for in-place encryption,
Second patch moves code to common file, Third patch disable
backpressure on crypto (CPT) and network (NIX) hardware.
Patch four onwards enables inline outbound ipsec.

v6->v7:
 - skb data was mapped as device writeable but it was not ensured
   that skb is writeable. This version calls skb_unshare() to make
   skb data writeable (Thanks Jakub Kicinski for pointing out).

v4->v5:
 - Fixed un-initialized warning and pointer check
   (comment from Kalesh Anakkur Purayil)

v3->v4:
 - Few error messages in datapath removed and some moved
   under netif_msg_tx_err().
 - Added check for crypto offload (XFRM_DEV_OFFLOAD_CRYPTO)
   Thanks "Leon Romanovsky" for pointing out
 - Fixed codespell error as per comment from Simon Horman
 - Added some other cleanup comment from Kalesh Anakkur Purayil

v2->v3:
 - Fix smatch and sparse erros (Comment from Simon Horman)
 - Fix build error with W=1 (Comment from Simon Horman)
   https://patchwork.kernel.org/project/netdevbpf/patch/20240513105446.297451-6-bbhushan2@marvell.com/
 - Some other minor cleanup as per comment
   https://www.spinics.net/lists/netdev/msg997197.html

v1->v2:
 - Fix compilation error to build driver a module
 - Use dma_wmb() instead of architecture specific barrier
 - Fix couple of other compilation warnings

Bharat Bhushan (8):
  octeontx2-pf: map skb data as device writeable
  octeontx2-pf: Move skb fragment map/unmap to common code
  octeontx2-af: Disable backpressure between CPT and NIX
  cn10k-ipsec: Init hardware for outbound ipsec crypto offload
  cn10k-ipsec: Add SA add/del support for outb ipsec crypto offload
  cn10k-ipsec: Process outbound ipsec crypto offload
  cn10k-ipsec: Allow ipsec crypto offload for skb with SA
  cn10k-ipsec: Enable outbound ipsec crypto offload

 MAINTAINERS                                   |    1 +
 .../net/ethernet/marvell/octeontx2/af/mbox.h  |    4 +
 .../ethernet/marvell/octeontx2/af/rvu_nix.c   |   68 +-
 .../ethernet/marvell/octeontx2/nic/Makefile   |    1 +
 .../marvell/octeontx2/nic/cn10k_ipsec.c       | 1095 +++++++++++++++++
 .../marvell/octeontx2/nic/cn10k_ipsec.h       |  266 ++++
 .../marvell/octeontx2/nic/otx2_common.c       |  113 +-
 .../marvell/octeontx2/nic/otx2_common.h       |   25 +
 .../marvell/octeontx2/nic/otx2_dcbnl.c        |    3 +
 .../ethernet/marvell/octeontx2/nic/otx2_pf.c  |   19 +-
 .../marvell/octeontx2/nic/otx2_txrx.c         |   65 +-
 .../marvell/octeontx2/nic/otx2_txrx.h         |    3 +
 .../ethernet/marvell/octeontx2/nic/otx2_vf.c  |   10 +-
 13 files changed, 1619 insertions(+), 54 deletions(-)
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.h

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-09-02  5:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-27 13:32 [net-next PATCH v7 0/8] cn10k-ipsec: Add outbound inline ipsec support Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 1/8] octeontx2-pf: map skb data as device writeable Bharat Bhushan
2024-08-29  1:21   ` Jakub Kicinski
2024-08-29  5:47     ` Bharat Bhushan
2024-08-29 14:48       ` Jakub Kicinski
2024-09-02  5:48         ` Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 2/8] octeontx2-pf: Move skb fragment map/unmap to common code Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 3/8] octeontx2-af: Disable backpressure between CPT and NIX Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 4/8] cn10k-ipsec: Init hardware for outbound ipsec crypto offload Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 5/8] cn10k-ipsec: Add SA add/del support for outb " Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 6/8] cn10k-ipsec: Process outbound " Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 7/8] cn10k-ipsec: Allow ipsec crypto offload for skb with SA Bharat Bhushan
2024-08-27 13:32 ` [net-next PATCH v7 8/8] cn10k-ipsec: Enable outbound ipsec crypto offload Bharat Bhushan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).