DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Nicolau, Radu" <radu.nicolau@intel.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>,
	"Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "mdr@ashroe.eu" <mdr@ashroe.eu>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"Zhang, Roy Fan" <roy.fan.zhang@intel.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
	 "gakhil@marvell.com" <gakhil@marvell.com>,
	"anoobj@marvell.com" <anoobj@marvell.com>,
	"Doherty, Declan" <declan.doherty@intel.com>,
	"Sinha, Abhijit" <abhijit.sinha@intel.com>,
	"Buckley, Daniel M" <daniel.m.buckley@intel.com>,
	"marchana@marvell.com" <marchana@marvell.com>,
	"ktejasree@marvell.com" <ktejasree@marvell.com>,
	"matan@nvidia.com" <matan@nvidia.com>
Subject: Re: [dpdk-dev] [PATCH v8 06/10] ipsec: add transmit segmentation offload support
Date: Tue, 12 Oct 2021 12:42:35 +0000	[thread overview]
Message-ID: <DM6PR11MB4491220C3D667DDB5F6F18B99AB69@DM6PR11MB4491.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211011112945.2876-7-radu.nicolau@intel.com>

 
> Add support for transmit segmentation offload to inline crypto processing
> mode. This offload is not supported by other offload modes, as at a
> minimum it requires inline crypto for IPsec to be supported on the
> network interface.
> 
> Signed-off-by: Declan Doherty <declan.doherty@intel.com>
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
> Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
> Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
> Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
>  doc/guides/prog_guide/ipsec_lib.rst    |   2 +
>  doc/guides/rel_notes/release_21_11.rst |   1 +
>  lib/ipsec/esp_outb.c                   | 119 +++++++++++++++++++++----
>  3 files changed, 103 insertions(+), 19 deletions(-)
> 
> diff --git a/doc/guides/prog_guide/ipsec_lib.rst b/doc/guides/prog_guide/ipsec_lib.rst
> index af51ff8131..fc0af5eadb 100644
> --- a/doc/guides/prog_guide/ipsec_lib.rst
> +++ b/doc/guides/prog_guide/ipsec_lib.rst
> @@ -315,6 +315,8 @@ Supported features
> 
>  *  NAT-T / UDP encapsulated ESP.
> 
> +*  TSO support (only for inline crypto mode)
> +
>  *  algorithms: 3DES-CBC, AES-CBC, AES-CTR, AES-GCM, AES_CCM, CHACHA20_POLY1305,
>     AES_GMAC, HMAC-SHA1, NULL.
> 
> diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
> index 73a566eaca..77535ace36 100644
> --- a/doc/guides/rel_notes/release_21_11.rst
> +++ b/doc/guides/rel_notes/release_21_11.rst
> @@ -138,6 +138,7 @@ New Features
> 
>    * Added support for AEAD algorithms AES_CCM, CHACHA20_POLY1305 and AES_GMAC.
>    * Added support for NAT-T / UDP encapsulated ESP
> +  * Added support TSO offload support; only supported for inline crypto mode.
> 
> 
>  Removed Items
> diff --git a/lib/ipsec/esp_outb.c b/lib/ipsec/esp_outb.c
> index 0e3314b358..df7d3e8645 100644
> --- a/lib/ipsec/esp_outb.c
> +++ b/lib/ipsec/esp_outb.c
> @@ -147,6 +147,7 @@ outb_tun_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc,
>  	struct rte_esp_tail *espt;
>  	char *ph, *pt;
>  	uint64_t *iv;
> +	uint8_t tso = !!(mb->ol_flags & (PKT_TX_TCP_SEG | PKT_TX_UDP_SEG));

Why not simply 
int tso = mb->ol_flags & (PKT_TX_TCP_SEG | PKT_TX_UDP_SEG)) != 0;
?

As this functionality is supported only for inbound, it is better to pass tso as a aparamer,
Instead of checking it here.
Then for lookaside and cpu invocations it will always be zero, for inline it would be determinied
by packet flags. 

> 
>  	/* calculate extra header space required */
>  	hlen = sa->hdr_len + sa->iv_len + sizeof(*esph);
> @@ -157,11 +158,20 @@ outb_tun_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc,
> 
>  	/* number of bytes to encrypt */
>  	clen = plen + sizeof(*espt);
> -	clen = RTE_ALIGN_CEIL(clen, sa->pad_align);
> +
> +	/* We don't need to pad/ailgn packet when using TSO offload */
> +	if (likely(!tso))

I don't think we really do likely/unlikely here.
Especially if it will be a constant for non-inline cases.

> +		clen = RTE_ALIGN_CEIL(clen, sa->pad_align);
> +
> 
>  	/* pad length + esp tail */
>  	pdlen = clen - plen;
> -	tlen = pdlen + sa->icv_len + sqh_len;
> +
> +	/* We don't append ICV length when using TSO offload */
> +	if (likely(!tso))
> +		tlen = pdlen + sa->icv_len + sqh_len;
> +	else
> +		tlen = pdlen + sqh_len;
> 
>  	/* do append and prepend */
>  	ml = rte_pktmbuf_lastseg(mb);
> @@ -346,6 +356,7 @@ outb_trs_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc,
>  	char *ph, *pt;
>  	uint64_t *iv;
>  	uint32_t l2len, l3len;
> +	uint8_t tso = !!(mb->ol_flags & (PKT_TX_TCP_SEG | PKT_TX_UDP_SEG));

Same thoughts as for _tun_ counterpart.

> 
>  	l2len = mb->l2_len;
>  	l3len = mb->l3_len;
> @@ -358,11 +369,19 @@ outb_trs_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc,
> 
>  	/* number of bytes to encrypt */
>  	clen = plen + sizeof(*espt);
> -	clen = RTE_ALIGN_CEIL(clen, sa->pad_align);
> +
> +	/* We don't need to pad/ailgn packet when using TSO offload */
> +	if (likely(!tso))
> +		clen = RTE_ALIGN_CEIL(clen, sa->pad_align);
> 
>  	/* pad length + esp tail */
>  	pdlen = clen - plen;
> -	tlen = pdlen + sa->icv_len + sqh_len;
> +
> +	/* We don't append ICV length when using TSO offload */
> +	if (likely(!tso))
> +		tlen = pdlen + sa->icv_len + sqh_len;
> +	else
> +		tlen = pdlen + sqh_len;
> 
>  	/* do append and insert */
>  	ml = rte_pktmbuf_lastseg(mb);
> @@ -660,6 +679,29 @@ inline_outb_mbuf_prepare(const struct rte_ipsec_session *ss,
>  	}
>  }
> 
> +/* check if packet will exceed MSS and segmentation is required */
> +static inline int
> +esn_outb_nb_segments(struct rte_mbuf *m) {

DPDK codying style pls.

> +	uint16_t segments = 1;
> +	uint16_t pkt_l3len = m->pkt_len - m->l2_len;
> +
> +	/* Only support segmentation for UDP/TCP flows */
> +	if (!(m->packet_type & (RTE_PTYPE_L4_UDP | RTE_PTYPE_L4_TCP)))

For ptypes it is not a bit flag, it should be something like:

pt =  m->packet_type & RTE_PTYPE_L4_MASK;
if (pt == RTE_PTYPE_L4_UDP || pt == RTE_PTYPE_L4_TCP) {...}

BTW, ptype is usually used for RX path.
If you expect user to setup it up on TX path - it has to be documented in formal API comments.

> +		return segments;
> +
> +	if (m->tso_segsz > 0 && pkt_l3len > m->tso_segsz) {
> +		segments = pkt_l3len / m->tso_segsz;
> +		if (segments * m->tso_segsz < pkt_l3len)
> +			segments++;

Why not simply:
segments =  (pkt_l3len >= m->tso_segsz) ? 1 : (pkt_l3len + m->tso_segsz - 1) / m->tso_segsz; 
?

> +		if  (m->packet_type & RTE_PTYPE_L4_TCP)
> +			m->ol_flags |= (PKT_TX_TCP_SEG | PKT_TX_TCP_CKSUM);
> +		else
> +			m->ol_flags |= (PKT_TX_UDP_SEG | PKT_TX_UDP_CKSUM);
> +	}
> +
> +	return segments;
> +}
> +
>  /*
>   * process group of ESP outbound tunnel packets destined for
>   * INLINE_CRYPTO type of device.
> @@ -669,24 +711,36 @@ inline_outb_tun_pkt_process(const struct rte_ipsec_session *ss,
>  	struct rte_mbuf *mb[], uint16_t num)
>  {
>  	int32_t rc;
> -	uint32_t i, k, n;
> +	uint32_t i, k, nb_sqn = 0, nb_sqn_alloc;
>  	uint64_t sqn;
>  	rte_be64_t sqc;
>  	struct rte_ipsec_sa *sa;
>  	union sym_op_data icv;
>  	uint64_t iv[IPSEC_MAX_IV_QWORD];
>  	uint32_t dr[num];
> +	uint16_t nb_segs[num];
> 
>  	sa = ss->sa;
> 
> -	n = num;
> -	sqn = esn_outb_update_sqn(sa, &n);
> -	if (n != num)
> +	for (i = 0; i != num; i++) {
> +		nb_segs[i] = esn_outb_nb_segments(mb[i]);
> +		nb_sqn += nb_segs[i];
> +		/* setup offload fields for TSO */
> +		if (nb_segs[i] > 1) {
> +			mb[i]->ol_flags |= (PKT_TX_OUTER_IPV4 |
> +					PKT_TX_OUTER_IP_CKSUM |

Hmm..., why did you deicde it would be always ipv4 packet?
Why it definitely needs outer ip cksum?

> +					PKT_TX_TUNNEL_ESP);

Another question, why some flags you setup in esn_outb_nb_segments(),
others here?

> +			mb[i]->outer_l3_len = mb[i]->l3_len;

Not sure I understand that part:
l3_len will be provided to us by user and will be inner l3_len,
while, we do add our own l3 hdr, which will become outer l3, no?

> +		}
> +	}
> +
> +	nb_sqn_alloc = nb_sqn;
> +	sqn = esn_outb_update_sqn(sa, &nb_sqn_alloc);
> +	if (nb_sqn_alloc != nb_sqn)
>  		rte_errno = EOVERFLOW;
> 
>  	k = 0;
> -	for (i = 0; i != n; i++) {
> -
> +	for (i = 0; i != num; i++) {

You can't expect that nb_sqn_alloc == nb_sqn.
You need to handle EOVERFLOW here properly. 


>  		sqc = rte_cpu_to_be_64(sqn + i);
>  		gen_iv(iv, sqc);
> 
> @@ -700,11 +754,18 @@ inline_outb_tun_pkt_process(const struct rte_ipsec_session *ss,
>  			dr[i - k] = i;
>  			rte_errno = -rc;
>  		}
> +
> +		/**
> +		 * If packet is using tso, increment sqn by the number of
> +		 * segments for	packet
> +		 */
> +		if  (mb[i]->ol_flags & (PKT_TX_TCP_SEG | PKT_TX_UDP_SEG))
> +			sqn += nb_segs[i] - 1;

I think instead of that you can just:
sqn +=  nb_segs[i];
and then above:
- sqc = rte_cpu_to_be_64(sqn + i);
+ sqc = rte_cpu_to_be_64(sqn);

>  	}
> 
>  	/* copy not processed mbufs beyond good ones */
> -	if (k != n && k != 0)
> -		move_bad_mbufs(mb, dr, n, n - k);
> +	if (k != num && k != 0)
> +		move_bad_mbufs(mb, dr, num, num - k);

Same as above - you can't just assume there would be no failures
with SQN allocation.

 
>  	inline_outb_mbuf_prepare(ss, mb, k);
>  	return k;

Similar thoughts for _trs_ counterpart.
Honestly considering amount of changes introduced, I'd would like to see a new test-case for it.
Otherwise it is really hard to be sure that it does work as expected.
Can you add a new test-case for it to examples/ipsec-secgw/test?

> @@ -719,23 +780,36 @@ inline_outb_trs_pkt_process(const struct rte_ipsec_session *ss,
>  	struct rte_mbuf *mb[], uint16_t num)
>  {
>  	int32_t rc;
> -	uint32_t i, k, n;
> +	uint32_t i, k, nb_sqn, nb_sqn_alloc;
>  	uint64_t sqn;
>  	rte_be64_t sqc;
>  	struct rte_ipsec_sa *sa;
>  	union sym_op_data icv;
>  	uint64_t iv[IPSEC_MAX_IV_QWORD];
>  	uint32_t dr[num];
> +	uint16_t nb_segs[num];
> 
>  	sa = ss->sa;
> 
> -	n = num;
> -	sqn = esn_outb_update_sqn(sa, &n);
> -	if (n != num)
> +	/* Calculate number of sequence numbers required */
> +	for (i = 0, nb_sqn = 0; i != num; i++) {
> +		nb_segs[i] = esn_outb_nb_segments(mb[i]);
> +		nb_sqn += nb_segs[i];
> +		/* setup offload fields for TSO */
> +		if (nb_segs[i] > 1) {
> +			mb[i]->ol_flags |= (PKT_TX_OUTER_IPV4 |
> +					PKT_TX_OUTER_IP_CKSUM);
> +			mb[i]->outer_l3_len = mb[i]->l3_len;
> +		}
> +	}
> +
> +	nb_sqn_alloc = nb_sqn;
> +	sqn = esn_outb_update_sqn(sa, &nb_sqn_alloc);
> +	if (nb_sqn_alloc != nb_sqn)
>  		rte_errno = EOVERFLOW;
> 
>  	k = 0;
> -	for (i = 0; i != n; i++) {
> +	for (i = 0; i != num; i++) {
> 
>  		sqc = rte_cpu_to_be_64(sqn + i);
>  		gen_iv(iv, sqc);
> @@ -750,11 +824,18 @@ inline_outb_trs_pkt_process(const struct rte_ipsec_session *ss,
>  			dr[i - k] = i;
>  			rte_errno = -rc;
>  		}
> +
> +		/**
> +		 * If packet is using tso, increment sqn by the number of
> +		 * segments for	packet
> +		 */
> +		if  (mb[i]->ol_flags & (PKT_TX_TCP_SEG | PKT_TX_UDP_SEG))
> +			sqn += nb_segs[i] - 1;
>  	}
> 
>  	/* copy not processed mbufs beyond good ones */
> -	if (k != n && k != 0)
> -		move_bad_mbufs(mb, dr, n, n - k);
> +	if (k != num && k != 0)
> +		move_bad_mbufs(mb, dr, num, num - k);
> 
>  	inline_outb_mbuf_prepare(ss, mb, k);
>  	return k;
> --
> 2.25.1


  reply	other threads:[~2021-10-12 12:42 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-13 13:35 [dpdk-dev] [PATCH 00/10] new features for ipsec and security libraries Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-07-27 18:34   ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-29  8:37     ` Nicolau, Radu
2021-07-31 17:50     ` Akhil Goyal
2021-07-13 13:35 ` [dpdk-dev] [PATCH 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-07-13 13:35 ` [dpdk-dev] [PATCH 10/10] ipsec: add ol_flags support Radu Nicolau
2021-08-12 13:54 ` [dpdk-dev] [PATCH v2 00/10] new features for ipsec and security libraries Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-08-12 13:54   ` [dpdk-dev] [PATCH v2 10/10] ipsec: add ol_flags support Radu Nicolau
2021-08-13  9:30 ` [dpdk-dev] [PATCH v3 00/10] new features for ipsec and security libraries Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-08-31 10:17     ` Zhang, Roy Fan
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-08-13  9:30   ` [dpdk-dev] [PATCH v3 10/10] ipsec: add ol_flags support Radu Nicolau
2021-08-13 11:08   ` [dpdk-dev] [EXT] [PATCH v3 00/10] new features for ipsec and security libraries Akhil Goyal
2021-08-13 11:41     ` Nicolau, Radu
2021-09-03 11:26 ` [dpdk-dev] [PATCH v4 " Radu Nicolau
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-09-03 12:50     ` Zhang, Roy Fan
2021-09-24  9:09     ` Hemant Agrawal
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-09-03 12:51     ` Zhang, Roy Fan
2021-09-05 14:19     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-06 11:09       ` Nicolau, Radu
2021-09-24  9:11         ` Hemant Agrawal
2021-09-27  9:16           ` Nicolau, Radu
2021-09-28  7:07             ` Akhil Goyal
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-09-03 12:50     ` Zhang, Roy Fan
2021-09-05 14:47     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-06 11:21       ` Nicolau, Radu
2021-09-06 11:36         ` Anoob Joseph
2021-09-06 13:39           ` Nicolau, Radu
2021-09-06 13:50             ` Anoob Joseph
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-09-03 12:49     ` Zhang, Roy Fan
2021-09-05 14:34     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-09-03 12:49     ` Zhang, Roy Fan
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-09-03 12:52     ` Zhang, Roy Fan
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-09-03 12:52     ` Zhang, Roy Fan
2021-09-05 15:00     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-06 11:31       ` Nicolau, Radu
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-09-03 12:53     ` Zhang, Roy Fan
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-09-03 12:53     ` Zhang, Roy Fan
2021-09-03 11:26   ` [dpdk-dev] [PATCH v4 10/10] ipsec: add ol_flags support Radu Nicolau
2021-09-05 15:14     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-06 11:53       ` Nicolau, Radu
2021-09-10 11:32 ` [dpdk-dev] [PATCH v5 00/10] new features for ipsec and security libraries Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-09-16 12:38     ` Olivier Matz
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-09-10 11:32   ` [dpdk-dev] [PATCH v5 10/10] ipsec: add ol_flags support Radu Nicolau
2021-09-15 15:25   ` [dpdk-dev] [PATCH v5 00/10] new features for ipsec and security libraries Ananyev, Konstantin
2021-09-17  9:17 ` [dpdk-dev] [PATCH v6 " Radu Nicolau
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 01/10] security: add support for TSO on IPsec session Radu Nicolau
2021-09-23 12:35     ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 02/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-09-23 12:43     ` Ananyev, Konstantin
2021-09-27 12:14       ` Nicolau, Radu
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 03/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-09-23 12:46     ` Ananyev, Konstantin
2021-09-27 12:23       ` Nicolau, Radu
2021-09-27 13:15         ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 04/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-09-23 12:59     ` Ananyev, Konstantin
2021-09-30  9:03       ` Nicolau, Radu
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 05/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-09-23 13:07     ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-09-23 14:09     ` Ananyev, Konstantin
2021-09-28 15:14       ` Nicolau, Radu
2021-09-28 22:24         ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 07/10] ipsec: add support for NAT-T Radu Nicolau
2021-09-23 16:43     ` Ananyev, Konstantin
2021-09-27 13:27       ` Nicolau, Radu
2021-09-27 14:55         ` Ananyev, Konstantin
2021-09-27 15:06           ` Nicolau, Radu
2021-09-27 15:39             ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 08/10] ipsec: add support for SA telemetry Radu Nicolau
2021-09-23 18:31     ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 09/10] ipsec: add support for initial SQN value Radu Nicolau
2021-09-24 10:22     ` Ananyev, Konstantin
2021-09-17  9:17   ` [dpdk-dev] [PATCH v6 10/10] ipsec: add ol_flags support Radu Nicolau
2021-09-22 13:18     ` Zhang, Roy Fan
2021-09-24 11:39     ` Ananyev, Konstantin
2021-09-24 12:42   ` [dpdk-dev] [PATCH v6 00/10] new features for ipsec and security libraries Ananyev, Konstantin
2021-10-01  9:50 ` [dpdk-dev] [PATCH v7 0/8] " Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 1/8] security: add ESN field to ipsec_xform Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 2/8] ipsec: add support for AEAD algorithms Radu Nicolau
2021-10-08 18:30     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 3/8] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-10-01 12:20     ` [dpdk-dev] [EXT] " Anoob Joseph
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 4/8] ipsec: add support for NAT-T Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 5/8] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 6/8] ipsec: add transmit segmentation offload support Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 7/8] ipsec: add support for SA telemetry Radu Nicolau
2021-10-01  9:50   ` [dpdk-dev] [PATCH v7 8/8] ipsec: add support for initial SQN value Radu Nicolau
2021-10-08 18:26   ` [dpdk-dev] [EXT] [PATCH v7 0/8] new features for ipsec and security libraries Akhil Goyal
2021-10-08 20:33     ` Akhil Goyal
2021-10-11 11:29 ` [dpdk-dev] [PATCH v8 00/10] " Radu Nicolau
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 01/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-10-12 10:23     ` Ananyev, Konstantin
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 02/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 03/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-10-12 10:24     ` Ananyev, Konstantin
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 04/10] ipsec: add support for NAT-T Radu Nicolau
2021-10-12 10:50     ` Ananyev, Konstantin
2021-10-12 11:05       ` Nicolau, Radu
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 05/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-10-12 12:42     ` Ananyev, Konstantin [this message]
2021-10-12 16:25       ` Ananyev, Konstantin
2021-10-13 12:15         ` Nicolau, Radu
2021-10-14 14:44           ` Ananyev, Konstantin
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 07/10] ipsec: add support for SA telemetry Radu Nicolau
2021-10-12 15:25     ` Ananyev, Konstantin
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 08/10] ipsec: add support for initial SQN value Radu Nicolau
2021-10-12 15:35     ` Ananyev, Konstantin
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 09/10] doc: remove unneeded ipsec new field deprecation Radu Nicolau
2021-10-11 11:29   ` [dpdk-dev] [PATCH v8 10/10] doc: remove unneeded security deprecation Radu Nicolau
2021-10-13 12:13 ` [dpdk-dev] [PATCH v9 00/10] new features for ipsec and security libraries Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 01/10] security: add ESN field to ipsec_xform Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 02/10] ipsec: add support for AEAD algorithms Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 03/10] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 04/10] ipsec: add support for NAT-T Radu Nicolau
2021-10-14 12:34     ` Ananyev, Konstantin
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 05/10] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 06/10] ipsec: add transmit segmentation offload support Radu Nicolau
2021-10-14 14:42     ` Ananyev, Konstantin
2021-10-18 16:32       ` Nicolau, Radu
2021-10-26 17:45         ` Ananyev, Konstantin
2021-10-27 12:29           ` Nicolau, Radu
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 07/10] ipsec: add support for SA telemetry Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 08/10] ipsec: add support for initial SQN value Radu Nicolau
2021-10-14 12:08     ` Ananyev, Konstantin
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 09/10] doc: remove unneeded ipsec new field deprecation Radu Nicolau
2021-10-13 12:13   ` [dpdk-dev] [PATCH v9 10/10] doc: remove unneeded security deprecation Radu Nicolau
2021-10-14 16:03 ` [dpdk-dev] [PATCH v10 0/9] new features for ipsec and security libraries Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 1/9] security: add ESN field to ipsec_xform Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 2/9] ipsec: add support for AEAD algorithms Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 3/9] security: add UDP params for IPsec NAT-T Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 4/9] ipsec: add support for NAT-T Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 5/9] mbuf: add IPsec ESP tunnel type Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 6/9] ipsec: add support for SA telemetry Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 7/9] ipsec: add support for initial SQN value Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 8/9] doc: remove unneeded ipsec new field deprecation Radu Nicolau
2021-10-14 16:03   ` [dpdk-dev] [PATCH v10 9/9] doc: remove unneeded security deprecation Radu Nicolau
2021-10-17 12:17   ` [dpdk-dev] [EXT] [PATCH v10 0/9] new features for ipsec and security libraries Akhil Goyal
2021-10-18  9:06     ` Nicolau, Radu

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=DM6PR11MB4491220C3D667DDB5F6F18B99AB69@DM6PR11MB4491.namprd11.prod.outlook.com \
    --to=konstantin.ananyev@intel.com \
    --cc=abhijit.sinha@intel.com \
    --cc=anoobj@marvell.com \
    --cc=bernard.iremonger@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=daniel.m.buckley@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=ktejasree@marvell.com \
    --cc=marchana@marvell.com \
    --cc=matan@nvidia.com \
    --cc=mdr@ashroe.eu \
    --cc=radu.nicolau@intel.com \
    --cc=roy.fan.zhang@intel.com \
    --cc=vladimir.medvedkin@intel.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 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).