DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Nicolau, Radu" <radu.nicolau@intel.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	Ray Kinsella <mdr@ashroe.eu>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Doherty, Declan" <declan.doherty@intel.com>,
	"Sinha, Abhijit" <abhijit.sinha@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 2/4] net/iavf: add iAVF IPsec inline crypto support
Date: Mon, 20 Sep 2021 14:44:25 +0100	[thread overview]
Message-ID: <c110aaf6-ad12-0316-d795-36f2a8b67d6b@intel.com> (raw)
In-Reply-To: <MW3PR11MB4587DF4A188262B67E681501E3DE9@MW3PR11MB4587.namprd11.prod.outlook.com>

Hi Jingjing, thanks for reviewing!


On 9/18/2021 6:28 AM, Wu, Jingjing wrote:
> In general, the patch is too big to review. Patch split would help a lot!
I will do my best to split in in the next revision.
>
> [...]
>> +static const struct rte_cryptodev_symmetric_capability *
>> +get_capability(struct iavf_security_ctx *iavf_sctx,
>> +	uint32_t algo, uint32_t type)
>> +{
>> +	const struct rte_cryptodev_capabilities *capability;
>> +	int i = 0;
>> +
>> +	capability = &iavf_sctx->crypto_capabilities[i];
>> +
>> +	while (capability->op != RTE_CRYPTO_OP_TYPE_UNDEFINED) {
>> +		if (capability->op == RTE_CRYPTO_OP_TYPE_SYMMETRIC &&
>> +			capability->sym.xform_type == type &&
>> +			capability->sym.cipher.algo == algo)
>> +			return &capability->sym;
>> +		/** try next capability */
>> +		capability = &iavf_crypto_capabilities[i++];
> Better to  check i to avoid out of boundary.
The condition in the while statement plus the last element in the array 
set as RTE_CRYPTO_OP_TYPE_UNDEFINED prevents the loop from going out of 
bounds.
> [...]
>
>> +
>> +static int
>> +valid_length(uint32_t len, uint32_t min, uint32_t max, uint32_t increment)
>> +{
>> +	if (len < min || len > max)
>> +		return 0;
>> +
>> +	if (increment == 0)
>> +		return 1;
>> +
>> +	if ((len - min) % increment)
>> +		return 0;
>> +
>> +	return 1;
>> +}
> Would it be better to use true/false instead of 1/0? And the same to following valid functions.
Will do.
> [...]
>
>> +static int
>> +iavf_ipsec_crypto_session_validate_conf(struct iavf_security_ctx *iavf_sctx,
>> +	struct rte_security_session_conf *conf)
>> +{
>> +	/** validate security action/protocol selection */
>> +	if (conf->action_type != RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO ||
>> +		conf->protocol != RTE_SECURITY_PROTOCOL_IPSEC) {
>> +		PMD_DRV_LOG(ERR, "Unsupported action / protocol specified");
>> +		return -EINVAL;
>> +	}
>> +
>> +	/** validate IPsec protocol selection */
>> +	if (conf->ipsec.proto != RTE_SECURITY_IPSEC_SA_PROTO_ESP) {
>> +		PMD_DRV_LOG(ERR, "Unsupported IPsec protocol specified");
>> +		return -EINVAL;
>> +	}
>> +
>> +	/** validate selected options */
>> +	if (conf->ipsec.options.copy_dscp ||
>> +		conf->ipsec.options.copy_flabel ||
>> +		conf->ipsec.options.copy_df ||
>> +		conf->ipsec.options.dec_ttl ||
>> +		conf->ipsec.options.ecn ||
>> +		conf->ipsec.options.stats) {
>> +		PMD_DRV_LOG(ERR, "Unsupported IPsec option specified");
>> +		return -EINVAL;
>> +	}
>> +
>> +	/**
>> +	 * Validate crypto xforms parameters.
>> +	 *
>> +	 * AEAD transforms can be used for either inbound/outbound IPsec SAs,
>> +	 * for non-AEAD crypto transforms we explicitly only support CIPHER/AUTH
>> +	 * for outbound and AUTH/CIPHER chained transforms for inbound IPsec.
>> +	 */
>> +	if (conf->crypto_xform->type == RTE_CRYPTO_SYM_XFORM_AEAD) {
>> +		if (!valid_aead_xform(iavf_sctx, &conf->crypto_xform->aead)) {
>> +			PMD_DRV_LOG(ERR, "Unsupported IPsec option specified");
>> +			return -EINVAL;
>> +		}
> Invalid parameter, but not unsupported option, right? Same to below.
I reworked the messages to be consistent
> [...]
>
>> +static void
>> +sa_add_set_aead_params(struct virtchnl_ipsec_crypto_cfg_item *cfg,
>> +	struct rte_crypto_aead_xform *aead, uint32_t salt)
>> +{
>> +	cfg->crypto_type = VIRTCHNL_AEAD;
>> +
>> +	switch (aead->algo) {
>> +	case RTE_CRYPTO_AEAD_AES_CCM:
>> +		cfg->algo_type = VIRTCHNL_AES_CCM; break;
>> +	case RTE_CRYPTO_AEAD_AES_GCM:
>> +		cfg->algo_type = VIRTCHNL_AES_GCM; break;
>> +	case RTE_CRYPTO_AEAD_CHACHA20_POLY1305:
>> +		cfg->algo_type = VIRTCHNL_CHACHA20_POLY1305; break;
>> +	default:
>> +		RTE_ASSERT("we should be here");
> Assert just because invalid config? Similar comments to other valid functions.
Removed
>
>> +	}
>> +
>> +	cfg->key_len = aead->key.length;
>> +	cfg->iv_len = aead->iv.length;
>> +	cfg->digest_len = aead->digest_length;
>> +	cfg->salt = salt;
>> +
>> +	RTE_ASSERT(sizeof(cfg->key_data) < cfg->key_len);
>> +
> Not only data, but length, better to valid before setting? The same to other kind params setting.
The length here is checked to fit into the array, it can still be valid; 
I moved this check in the valid_length function that can actually return 
an error.
> [...]
>
>
>> +static inline void
>> +iavf_build_data_desc_cmd_offset_fields(volatile uint64_t *qw1,
>> +		struct rte_mbuf *m)
>> +{
>> +	uint64_t command = 0;
>> +	uint64_t offset = 0;
>> +	uint64_t l2tag1 = 0;
>> +
>> +	*qw1 = IAVF_TX_DESC_DTYPE_DATA;
>> +
>> +	command = (uint64_t)IAVF_TX_DESC_CMD_ICRC;
>> +
>> +	/* Descriptor based VLAN insertion */
>> +	if (m->ol_flags & PKT_TX_VLAN_PKT) {
>> +		command |= (uint64_t)IAVF_TX_DESC_CMD_IL2TAG1;
>> +		l2tag1 |= m->vlan_tci;
>> +	}
>> +
>>   	/* Set MACLEN */
>> -	*td_offset |= (tx_offload.l2_len >> 1) <<
>> -		      IAVF_TX_DESC_LENGTH_MACLEN_SHIFT;
>> -
>> -	/* Enable L3 checksum offloads */
>> -	if (ol_flags & PKT_TX_IP_CKSUM) {
>> -		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV4_CSUM;
>> -		*td_offset |= (tx_offload.l3_len >> 2) <<
>> -			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
>> -	} else if (ol_flags & PKT_TX_IPV4) {
>> -		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV4;
>> -		*td_offset |= (tx_offload.l3_len >> 2) <<
>> -			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
>> -	} else if (ol_flags & PKT_TX_IPV6) {
>> -		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV6;
>> -		*td_offset |= (tx_offload.l3_len >> 2) <<
>> -			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
>> -	}
>> -
>> -	if (ol_flags & PKT_TX_TCP_SEG) {
>> -		*td_cmd |= IAVF_TX_DESC_CMD_L4T_EOFT_TCP;
>> -		*td_offset |= (tx_offload.l4_len >> 2) <<
>> -			      IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
>> -		return;
> PKT_TX_TCP_SEG flag implies PKT_TX_TCP_CKSUM,
> so the offset cannot removed by just check cusm offload fields.
I added this back, most likely it was a rebase mistake.
> [...]
>
>
>>   struct iavf_32b_rx_flex_desc_comms {
>> +	union {
>> +		struct {
>>   	/* Qword 0 */
>>   	u8 rxdid;
>>   	u8 mir_id_umb_cast;
>> @@ -305,6 +375,101 @@ struct iavf_32b_rx_flex_desc_comms {
>>   		} flex;
>>   		__le32 ts_high;
>>   	} flex_ts;
>> +		};
>> +		struct {
>> +			/* Quad Word 0 */
>> +
>> +			u8 rxdid;	/**< Descriptor builder profile ID */
>> +
>> +			u8 mirror_id:6;
>> +			u8 umbcast:2;
>> +
>> +			__le16 ptype:10;
>> +			__le16 flexi_flags_0:6;
>> +
>> +			__le16 packet_length:14;
>> +			__le16 rsv_0:2;
>> +
>> +			__le16 hlen:11;
>> +			__le16 sph:1;
>> +			__le16 flexi_flags_1:4;
>> +
>> +			/* Quad Word 1 */
>> +			union {
>> +				__le16 status_error0;
>> +				struct {
>> +					__le16 status_error0_dd:1;
>> +					/* descriptor done */
>> +					__le16 status_error0_eop:1;
>> +					/* end of packet */
>> +					__le16 status_error0_hbo:1;
>> +					/* header buffer overflow */
>> +					__le16 status_error0_l3l4p:1;
>> +					/* l3/l4 integrity check */
>> +					__le16 status_error0_xsum:4;
>> +					/* checksum report */
>> +					__le16 status_error0_lpbk:1;
>> +					/* loopback */
>> +					__le16 status_error0_ipv6exadd:1;
>> +					/* ipv6 w/ dst options or routing hdr */
>> +					__le16 status_error0_rxe:1;
>> +					/* rcv mac errors */
>> +					__le16 status_error0_crcp:1;
>> +					/* ethernet crc present */
>> +					__le16 status_error0_rsshash:1;
>> +					/* rss hash valid */
>> +					__le16 status_error0_l2tag1p:1;
>> +					/* l2 tag 1 present */
>> +					__le16 status_error0_flexi_md0:1;
>> +					/* flexi md field 0 valid */
>> +					__le16 status_error0_flexi_md1:1;
>> +					/* flexi md field 1 valid */
>> +				};
>> +			};
>> +			__le16 l2tag1;
>> +			__le16 flex_meta0;	/**< flexi metadata field 0 */
>> +			__le16 flex_meta1;	/**< flexi metadata field 1 */
>> +
>> +			/* Quad Word 2 */
>> +			union {
>> +				__le16 status_error1;
>> +				struct {
>> +					__le16 status_error1_cpm:4;
>> +					/* Inline IPsec Crypto Status */
>> +					__le16 status_error1_udp_tunnel:1;
>> +					/* UDP tunnelled packet NAT-T/UDP-NAT */
>> +					__le16 status_error1_crypto:1;
>> +					/* Inline IPsec Crypto Offload */
>> +					__le16 status_error1_rsv:5;
>> +					/* Reserved */
>> +					__le16 status_error1_l2tag2p:1;
>> +					/* l2 tag 2 present */
>> +					__le16 status_error1_flexi_md2:1;
>> +					/* flexi md field 2 valid */
>> +					__le16 status_error1_flexi_md3:1;
>> +					/* flexi md field 3 valid */
>> +					__le16 status_error1_flexi_md4:1;
>> +					/* flexi md field 4 valid */
>> +					__le16 status_error1_flexi_md5:1;
>> +					/* flexi md field 5 valid */
>> +				};
>> +			};
>> +
>> +			u8 flex_flags2;
>> +			u8 time_stamp_low;
>> +
>> +			__le16 l2tag2_1st;			/**< L2TAG */
>> +			__le16 l2tag2_2nd;			/**< L2TAG */
>> +
>> +			/* Quad Word 3 */
>> +
>> +			__le16 flex_meta2;	/**< flexi metadata field 2 */
>> +			__le16 flex_meta3;	/**< flexi metadata field 3 */
>> +			__le16 flex_meta4;	/**< flexi metadata field 4 */
>> +			__le16 flex_meta5;	/**< flexi metadata field 5 */
>> +
>> +		} debug;
>> +	};
>>   };
> If you check the description of this struct, you will find it is for RxDID Profile ID 16-21.
> I think you need define a new struct for ipsec. And for debug, also prefer a new struct
> or some func instead of adding union and fields in defined formatted descriptor.
I removed this altogether as it has no functional purpose.
> [....]
>
>
>> +
>> +#include <netinet/in.h>
>> +
> Put this inline at the beginning of file?
I removed this section
> [...]
>
>> @@ -330,18 +339,40 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
>>   		case iavf_aqc_opc_send_msg_to_vf:
>>   			if (msg_opc == VIRTCHNL_OP_EVENT) {
>>   				iavf_handle_pf_event_msg(dev, info.msg_buf,
>> -							info.msg_len);
>> +						info.msg_len);
>>   			} else {
>> +				/* check for inline IPsec events */
>> +				struct inline_ipsec_msg *imsg =
>> +					(struct inline_ipsec_msg *)info.msg_buf;
>> +				struct rte_eth_event_ipsec_desc desc;
>> +				if (msg_opc == VIRTCHNL_OP_INLINE_IPSEC_CRYPTO
>> +					&& imsg->ipsec_opcode ==
>> +						INLINE_IPSEC_OP_EVENT) {
>> +					struct virtchnl_ipsec_event *ev =
>> +							imsg->ipsec_data.event;
>> +					desc.subtype =
>> +						RTE_ETH_EVENT_IPSEC_UNKNOWN;
>> +					desc.metadata = ev->ipsec_event_data;
>> +					rte_eth_dev_callback_process(dev,
>> +							RTE_ETH_EVENT_IPSEC,
>> +							&desc);
>> +					return;
>> +				}
>> +
>>   				/* read message and it's expected one */
>> -				if (msg_opc == vf->pend_cmd)
>> -					_notify_cmd(vf, msg_ret);
>> -				else
>> -					PMD_DRV_LOG(ERR, "command mismatch,"
>> -						    "expect %u, get %u",
>> -						    vf->pend_cmd, msg_opc);
>> +				if (msg_opc == vf->pend_cmd) {
>> +					rte_atomic32_dec(&vf->pend_cmd_count);
>> +					if (rte_atomic32_read(
>> +						&vf->pend_cmd_count) == 0)
>> +						_notify_cmd(vf, msg_ret);
> Only dec the count, does the async mean only the second message carries response info?
Yes, from my understanding the 1st message is the confirmation of the 
request and the second is the reply.
>
> [...]

  reply	other threads:[~2021-09-20 13:45 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 14:24 [dpdk-dev] [PATCH 0/4] iavf: " Radu Nicolau
2021-09-09 14:24 ` [dpdk-dev] [PATCH 1/4] common/iavf: " Radu Nicolau
2021-09-09 14:24 ` [dpdk-dev] [PATCH 2/4] net/iavf: " Radu Nicolau
2021-09-09 14:24 ` [dpdk-dev] [PATCH 3/4] net/iavf: Add xstats support for inline IPsec crypto Radu Nicolau
2021-09-09 14:24 ` [dpdk-dev] [PATCH 4/4] net/iavf: add watchdog for VFLR Radu Nicolau
2021-09-15 13:32 ` [dpdk-dev] [PATCH v2 0/4] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-09-15 13:32   ` [dpdk-dev] [PATCH v2 1/4] common/iavf: " Radu Nicolau
2021-09-15 13:32   ` [dpdk-dev] [PATCH v2 2/4] net/iavf: " Radu Nicolau
2021-09-18  5:28     ` Wu, Jingjing
2021-09-20 13:44       ` Nicolau, Radu [this message]
2021-09-15 13:32   ` [dpdk-dev] [PATCH v2 3/4] net/iavf: Add xstats support for inline IPsec crypto Radu Nicolau
2021-09-15 13:32   ` [dpdk-dev] [PATCH v2 4/4] net/iavf: add watchdog for VFLR Radu Nicolau
2021-09-20 13:51 ` [dpdk-dev] [PATCH v3 0/6] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-09-20 13:51   ` [dpdk-dev] [PATCH v3 1/6] common/iavf: " Radu Nicolau
2021-09-20 13:51   ` [dpdk-dev] [PATCH v3 2/6] net/iavf: rework tx path Radu Nicolau
2021-09-20 13:51   ` [dpdk-dev] [PATCH v3 3/6] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-09-20 13:52   ` [dpdk-dev] [PATCH v3 4/6] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-09-20 13:52   ` [dpdk-dev] [PATCH v3 5/6] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-09-20 13:52   ` [dpdk-dev] [PATCH v3 6/6] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-01  9:51 ` [dpdk-dev] [PATCH v4 0/6] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 1/6] common/iavf: " Radu Nicolau
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 2/6] net/iavf: rework tx path Radu Nicolau
2021-10-04  1:24     ` Wu, Jingjing
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 3/6] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-04  1:34     ` Wu, Jingjing
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 4/6] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-04  1:50     ` Wu, Jingjing
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 5/6] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-04  2:01     ` Wu, Jingjing
2021-10-01  9:51   ` [dpdk-dev] [PATCH v4 6/6] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-04  2:15     ` Wu, Jingjing
2021-10-04 11:18       ` Nicolau, Radu
2021-10-04 14:21         ` Nicolau, Radu
2021-10-08  6:19         ` Wu, Jingjing
2021-10-08 10:09           ` Nicolau, Radu
2021-10-06  9:28 ` [dpdk-dev] [PATCH v5 0/6] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 1/6] common/iavf: " Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 2/6] net/iavf: rework tx path Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 3/6] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 4/6] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 5/6] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-06  9:28   ` [dpdk-dev] [PATCH v5 6/6] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-08 10:19 ` [dpdk-dev] [PATCH v6 0/6] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-08 10:19   ` [dpdk-dev] [PATCH v6 1/6] common/iavf: " Radu Nicolau
2021-10-08 10:20   ` [dpdk-dev] [PATCH v6 2/6] net/iavf: rework tx path Radu Nicolau
2021-10-08 10:20   ` [dpdk-dev] [PATCH v6 3/6] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-08 10:20   ` [dpdk-dev] [PATCH v6 4/6] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-08 10:20   ` [dpdk-dev] [PATCH v6 5/6] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-08 10:20   ` [dpdk-dev] [PATCH v6 6/6] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-13 15:33 ` [dpdk-dev] [PATCH v7 0/6] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 1/6] common/iavf: " Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 2/6] net/iavf: rework tx path Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 3/6] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 4/6] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 5/6] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-13 15:33   ` [dpdk-dev] [PATCH v7 6/6] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-15 10:15 ` [dpdk-dev] [PATCH v8 0/7] iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 1/7] common/iavf: " Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-18  5:34     ` Wu, Jingjing
2021-10-15 10:15   ` [dpdk-dev] [PATCH v8 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-18 10:10 ` [dpdk-dev] [PATCH v9 0/7] iavf: add iAVF IPsec " Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 1/7] common/iavf: " Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-18 10:10   ` [dpdk-dev] [PATCH v9 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-19  9:23 ` [dpdk-dev] [PATCH v10 0/7] iavf: add iAVF IPsec " Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 1/7] common/iavf: " Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-19  9:23   ` [dpdk-dev] [PATCH v10 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-26 10:38 ` [dpdk-dev] [PATCH v11 0/7] iavf: add iAVF IPsec " Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 1/7] common/iavf: " Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-26 10:38   ` [dpdk-dev] [PATCH v11 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-26 12:30   ` [dpdk-dev] [PATCH v11 0/7] iavf: add iAVF IPsec " Zhang, Qi Z
2021-10-26 13:56 ` [dpdk-dev] [PATCH v12 " Radu Nicolau
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 1/7] common/iavf: " Radu Nicolau
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-27  0:43     ` Zhang, Qi Z
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-27  0:36     ` Zhang, Qi Z
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-26 13:56   ` [dpdk-dev] [PATCH v12 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-27  0:36   ` [dpdk-dev] [PATCH v12 0/7] iavf: add iAVF IPsec " Zhang, Qi Z
2021-10-28 14:47   ` Ferruh Yigit
2021-10-28 15:52 ` [dpdk-dev] [PATCH v13 " Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 1/7] common/iavf: " Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 2/7] net/iavf: rework tx path Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-10-28 15:52   ` [dpdk-dev] [PATCH v13 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-28 16:04 ` [dpdk-dev] [PATCH v13 0/7] iavf: add iAVF IPsec " Radu Nicolau
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 1/7] common/iavf: " Radu Nicolau
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 2/7] net/iavf: rework Tx path Radu Nicolau
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 3/7] net/iavf: add support for asynchronous virt channel messages Radu Nicolau
2021-10-29 20:33     ` Ferruh Yigit
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 4/7] net/iavf: add iAVF IPsec inline crypto support Radu Nicolau
2021-10-29 17:33     ` Ferruh Yigit
2021-10-30 20:41     ` David Marchand
2021-11-01 10:45       ` Ferruh Yigit
2021-11-01 11:36         ` Ferruh Yigit
2021-11-01 11:41           ` Ferruh Yigit
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 5/7] net/iavf: add xstats support for inline IPsec crypto Radu Nicolau
2021-10-29 19:32     ` Ferruh Yigit
2021-10-28 16:04   ` [dpdk-dev] [PATCH v13 6/7] net/iavf: add watchdog for VFLR Radu Nicolau
2021-11-05 11:54     ` Ferruh Yigit
2021-10-28 16:05   ` [dpdk-dev] [PATCH v13 7/7] net/iavf: update doc with inline crypto support Radu Nicolau
2021-10-29 13:27     ` Ferruh Yigit
2021-10-29  2:21   ` [dpdk-dev] [PATCH v13 0/7] iavf: add iAVF IPsec " Zhang, Qi Z

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=c110aaf6-ad12-0316-d795-36f2a8b67d6b@intel.com \
    --to=radu.nicolau@intel.com \
    --cc=abhijit.sinha@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=mdr@ashroe.eu \
    --cc=qi.z.zhang@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).