Message ID | 20240513105446.297451-1-bbhushan2@marvell.com (mailing list archive) |
---|---|
Headers | show |
Series | cn10k-ipsec: Add outbound inline ipsec support | expand |
On Mon, May 13, 2024 at 4:25 PM Bharat Bhushan <bbhushan2@marvell.com> wrote: > > 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. > > v1->v2: > - Fix compilation error to build driver a module > - Use dma_wmb() instead of architecture specific barrier > - Fix couple of other compilation warnings Comments on V1 is not addressed. Also, please respect the 24h grace period when posting on netdev: https://elixir.bootlin.com/linux/latest/source/Documentation/process/maintainer-netdev.rst#L399 > > 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: Initialize crypto hardware for outb inline ipsec > cn10k-ipsec: Add SA add/delete support for outb inline ipsec > cn10k-ipsec: Process inline ipsec transmit offload > cn10k-ipsec: Allow inline ipsec offload for skb with SA > cn10k-ipsec: Enable outbound inline ipsec offload > > .../net/ethernet/marvell/octeontx2/af/mbox.h | 4 + > .../ethernet/marvell/octeontx2/af/rvu_nix.c | 74 +- > .../ethernet/marvell/octeontx2/nic/Makefile | 1 + > .../marvell/octeontx2/nic/cn10k_ipsec.c | 1068 +++++++++++++++++ > .../marvell/octeontx2/nic/cn10k_ipsec.h | 258 ++++ > .../marvell/octeontx2/nic/otx2_common.c | 80 ++ > .../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 +- > 12 files changed, 1563 insertions(+), 47 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 > >