From: Leon Romanovsky <leon@kernel.org>
To: Bharat Bhushan <bbhushan2@marvell.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
sgoutham@marvell.com, gakula@marvell.com, sbhatta@marvell.com,
hkelam@marvell.com, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, jerinj@marvell.com,
lcherian@marvell.com, richardcochran@gmail.com
Subject: Re: [net-next,v3 6/8] cn10k-ipsec: Process inline ipsec transmit offload
Date: Sun, 2 Jun 2024 09:51:25 +0300 [thread overview]
Message-ID: <20240602065125.GH3884@unreal> (raw)
In-Reply-To: <20240528135349.932669-7-bbhushan2@marvell.com>
On Tue, May 28, 2024 at 07:23:47PM +0530, Bharat Bhushan wrote:
> Prepare and submit crypto hardware (CPT) instruction for
> outbound inline ipsec crypto mode offload. The CPT instruction
> have authentication offset, IV offset and encapsulation offset
> in input packet. Also provide SA context pointer which have
> details about algo, keys, salt etc. Crypto hardware encrypt,
> authenticate and provide the ESP packet to networking hardware.
>
> Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
> ---
> .../marvell/octeontx2/nic/cn10k_ipsec.c | 224 ++++++++++++++++++
> .../marvell/octeontx2/nic/cn10k_ipsec.h | 40 ++++
> .../marvell/octeontx2/nic/otx2_common.c | 23 ++
> .../marvell/octeontx2/nic/otx2_common.h | 3 +
> .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 2 +
> .../marvell/octeontx2/nic/otx2_txrx.c | 33 ++-
> .../marvell/octeontx2/nic/otx2_txrx.h | 3 +
> 7 files changed, 325 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c b/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
> index 136aebe2a007..1974fda2e0d3 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
> @@ -7,8 +7,11 @@
> #include <net/xfrm.h>
> #include <linux/netdevice.h>
> #include <linux/bitfield.h>
> +#include <crypto/aead.h>
> +#include <crypto/gcm.h>
>
> #include "otx2_common.h"
> +#include "otx2_struct.h"
> #include "cn10k_ipsec.h"
>
> static bool is_dev_support_inline_ipsec(struct pci_dev *pdev)
> @@ -843,3 +846,224 @@ void cn10k_ipsec_clean(struct otx2_nic *pf)
> cn10k_outb_cpt_clean(pf);
> }
> EXPORT_SYMBOL(cn10k_ipsec_clean);
<...>
> +bool cn10k_ipsec_transmit(struct otx2_nic *pf, struct netdev_queue *txq,
> + struct otx2_snd_queue *sq, struct sk_buff *skb,
> + int num_segs, int size)
> +{
> + struct cpt_ctx_info_s *sa_info;
> + struct cpt_inst_s inst;
> + struct cpt_res_s *res;
> + struct xfrm_state *x;
> + dma_addr_t dptr_iova;
> + struct sec_path *sp;
> + u8 encap_offset;
> + u8 auth_offset;
> + u8 gthr_size;
> + u8 iv_offset;
> + u16 dlen;
> +
> + /* Check for Inline IPSEC enabled */
> + if (!(pf->flags & OTX2_FLAG_INLINE_IPSEC_ENABLED)) {
> + netdev_err(pf->netdev, "Ipsec not enabled, drop packet\n");
<...>
> + netdev_err(pf->netdev, "%s: no xfrm state len = %d\n",
> + __func__, sp->len);
<...>
> + netdev_err(pf->netdev, "no xfrm_input_state()\n");
<...>
> + netdev_err(pf->netdev, "un supported offload mode %d\n",
> + x->props.mode);
<...>
> + netdev_err(pf->netdev, "Invalid IP header, ip-length zero\n");
<...>
> + netdev_err(pf->netdev, "Invalid SA conext\n");
All these prints are in datapath and can be triggered by network
packets. These and RX prints need to be deleted.
Thanks
next prev parent reply other threads:[~2024-06-02 6:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-28 13:53 [net-next,v3 0/8] cn10k-ipsec: Add outbound inline ipsec support Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 1/8] octeontx2-pf: map skb data as device writeable Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 2/8] octeontx2-pf: Move skb fragment map/unmap to common code Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 3/8] octeontx2-af: Disable backpressure between CPT and NIX Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 4/8] cn10k-ipsec: Initialize crypto hardware for outb inline ipsec Bharat Bhushan
2024-05-29 5:46 ` Kalesh Anakkur Purayil
2024-06-03 8:45 ` [EXTERNAL] " Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 5/8] cn10k-ipsec: Add SA add/delete support " Bharat Bhushan
2024-05-30 14:49 ` Leon Romanovsky
2024-06-03 9:04 ` [EXTERNAL] " Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 6/8] cn10k-ipsec: Process inline ipsec transmit offload Bharat Bhushan
2024-06-01 10:19 ` Simon Horman
2024-06-03 9:06 ` [EXTERNAL] " Bharat Bhushan
2024-06-02 6:51 ` Leon Romanovsky [this message]
2024-06-03 4:33 ` Sunil Kovvuri Goutham
2024-06-03 9:18 ` Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 7/8] cn10k-ipsec: Allow inline ipsec offload for skb with SA Bharat Bhushan
2024-05-28 13:53 ` [net-next,v3 8/8] cn10k-ipsec: Enable outbound inline ipsec offload Bharat Bhushan
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=20240602065125.GH3884@unreal \
--to=leon@kernel.org \
--cc=bbhushan2@marvell.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gakula@marvell.com \
--cc=hkelam@marvell.com \
--cc=jerinj@marvell.com \
--cc=kuba@kernel.org \
--cc=lcherian@marvell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.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.