DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
From: "Stillwell Jr, Paul M" <paul.m.stillwell.jr@intel.com>
To: "Ye, Xiaolong" <xiaolong.ye@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Ye, Xiaolong" <xiaolong.ye@intel.com>,
	"Burra, Phani R" <phani.r.burra@intel.com>
Subject: Re: [dpdk-dev] [PATCH 57/69] net/i40e/base: update virtchnl header with	advanced features
Date: Mon, 2 Dec 2019 19:14:31 +0000
Message-ID: <BN8PR11MB3828D4875676422BC20A863AE0430@BN8PR11MB3828.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20191202074935.97629-58-xiaolong.ye@intel.com>

NACK, this code is not properly stripped and should not be released externally. Additionally, APF is NOT released and is only for Mt Evans and should not be in the code.

Paul

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Xiaolong Ye
> Sent: Sunday, December 1, 2019 11:49 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Burra, Phani R
> <phani.r.burra@intel.com>
> Subject: [dpdk-dev] [PATCH 57/69] net/i40e/base: update virtchnl header
> with advanced features
> 
> Updating the virtchnl header file with new interfaces. The new interfaces will
> support the split queue and advanced features. These new features are
> initially targeted for APF and CPF driver model. AVF also will enable the new
> features in future and use the advanced interfaces.
> 
> Signed-off-by: Phani R Burra <phani.r.burra@intel.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Reviewed-by: Kirsher Jeffrey T <jeffrey.t.kirsher@intel.com>
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> ---
>  drivers/net/i40e/base/virtchnl.h | 511
> ++++++++++++++++++++++++++++++-
>  1 file changed, 509 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/base/virtchnl.h
> b/drivers/net/i40e/base/virtchnl.h
> index 0ea03d06b..c3495ab39 100644
> --- a/drivers/net/i40e/base/virtchnl.h
> +++ b/drivers/net/i40e/base/virtchnl.h
> @@ -134,7 +134,34 @@ enum virtchnl_ops {
>  	VIRTCHNL_OP_DISABLE_CHANNELS = 31,
>  	VIRTCHNL_OP_ADD_CLOUD_FILTER = 32,
>  	VIRTCHNL_OP_DEL_CLOUD_FILTER = 33,
> -
> +#ifdef VIRTCHNL_EXT_FEATURES
> +	/* New major set of opcodes introduced and so leaving room for
> +	* old misc opcodes to be added in future. Also these opcodes may
> only
> +	* be used if both the PF and VF have successfully negotiated the
> +	* VIRTCHNL_VF_CAP_EXT_FEATURES capability during initial
> capabilities
> +	* exchange.
> +	*/
> +       VIRTCHNL_OP_GET_CAPS = 100,
> +       VIRTCHNL_OP_CREATE_VPORT = 101,
> +       VIRTCHNL_OP_DESTROY_VPORT = 102,
> +       VIRTCHNL_OP_ENABLE_VPORT = 103,
> +       VIRTCHNL_OP_DISABLE_VPORT = 104,
> +       VIRTCHNL_OP_CONFIG_TX_QUEUES = 105,
> +       VIRTCHNL_OP_CONFIG_RX_QUEUES = 106,
> +       VIRTCHNL_OP_ENABLE_QUEUES_V2 = 107,
> +       VIRTCHNL_OP_DISABLE_QUEUES_V2 = 108,
> +       VIRTCHNL_OP_ADD_QUEUES = 109,
> +       VIRTCHNL_OP_DEL_QUEUES = 110,
> +       VIRTCHNL_OP_MAP_VECTOR_QUEUE = 111,
> +       VIRTCHNL_OP_UNMAP_VECTOR_QUEUE = 112,
> +       VIRTCHNL_OP_MAP_VECTOR_ITR = 113,
> +       VIRTCHNL_OP_GET_RSS_KEY = 114,
> +       VIRTCHNL_OP_GET_RSS_LUT = 115,
> +       VIRTCHNL_OP_GET_RSS_HASH = 116,
> +       VIRTCHNL_OP_SET_RSS_HASH = 117,
> +       VIRTCHNL_OP_CREATE_VFS = 118,
> +       VIRTCHNL_OP_DESTROY_VFS = 119,
> +#endif /* VIRTCHNL_EXT_FEATURES */
>  };
> 
>  /* These macros are used to generate compilation errors if a structure/union
> @@ -248,8 +275,10 @@ VIRTCHNL_CHECK_STRUCT_LEN(16,
> virtchnl_vsi_resource);
>  #define VIRTCHNL_VF_OFFLOAD_RX_ENCAP_CSUM	0X00400000
>  #define VIRTCHNL_VF_OFFLOAD_ADQ			0X00800000
>  /* Define below the capability flags that are not offloads */
> +#ifdef VIRTCHNL_EXT_FEATURES
> +#define VIRTCHNL_VF_CAP_EXT_FEATURES		0x01000000
> +#endif /* VIRTCHNL_EXT_FEATURES */
>  #define VIRTCHNL_VF_CAP_ADV_LINK_SPEED		0x00000080
> -
>  #define VF_BASE_MODE_OFFLOADS (VIRTCHNL_VF_OFFLOAD_L2 | \
>  			       VIRTCHNL_VF_OFFLOAD_VLAN | \
>  			       VIRTCHNL_VF_OFFLOAD_RSS_PF)
> @@ -707,6 +736,362 @@ enum virtchnl_vfr_states {
>  	VIRTCHNL_VFR_VFACTIVE,
>  };
> 
> +#ifdef VIRTCHNL_EXT_FEATURES
> +/* PF capability flags
> + * VIRTCHNL_CAP_STATELESS_OFFLOADS flag indicates stateless offloads
> + * such as TX/RX Checksum offloading and TSO for non-tunneled packets.
> +Please
> + * note that old and new capabilities are exclusive and not supposed to
> +be
> + * mixed
> + */
> +#define VIRTCHNL_CAP_STATELESS_OFFLOADS	BIT(1)
> +#define VIRTCHNL_CAP_UDP_SEG_OFFLOAD	BIT(2)
> +#define VIRTCHNL_CAP_RSS		BIT(3)
> +#define VIRTCHNL_CAP_TCP_RSC		BIT(4)
> +#define VIRTCHNL_CAP_HEADER_SPLIT	BIT(5)
> +#define VIRTCHNL_CAP_RDMA		BIT(6)
> +#define VIRTCHNL_CAP_SRIOV		BIT(7)
> +/* Earliest Departure Time capability used for Timing Wheel */
> +#define VIRTCHNL_CAP_EDT		BIT(8)
> +
> +/* Type of virtual port */
> +enum virtchnl_vport_type {
> +	VIRTCHNL_VPORT_TYPE_DEFAULT	= 0,
> +};
> +
> +/* Type of queue model */
> +enum virtchnl_queue_model {
> +	VIRTCHNL_QUEUE_MODEL_SINGLE	= 0,
> +	VIRTCHNL_QUEUE_MODEL_SPLIT	= 1,
> +};
> +
> +/* TX and RX queue types are valid in legacy as well as split queue models.
> + * With Split Queue model, 2 additional types are introduced -
> +TX_COMPLETION
> + * and RX_BUFFER. In split queue model, RX corresponds to the queue
> +where HW
> + * posts completions.
> + */
> +enum virtchnl_queue_type {
> +	VIRTCHNL_QUEUE_TYPE_TX			= 0,
> +	VIRTCHNL_QUEUE_TYPE_RX			= 1,
> +	VIRTCHNL_QUEUE_TYPE_TX_COMPLETION	= 2,
> +	VIRTCHNL_QUEUE_TYPE_RX_BUFFER		= 3,
> +};
> +
> +/* RX Queue Feature bits */
> +#define VIRTCHNL_RXQ_RSC			BIT(1)
> +#define VIRTCHNL_RXQ_HDR_SPLIT			BIT(2)
> +#define VIRTCHNL_RXQ_IMMEDIATE_WRITE_BACK	BIT(4)
> +
> +/* RX Queue Descriptor Types */
> +enum virtchnl_rxq_desc_size {
> +	VIRTCHNL_RXQ_DESC_SIZE_16BYTE		= 0,
> +	VIRTCHNL_RXQ_DESC_SIZE_32BYTE		= 1,
> +};
> +
> +/* TX Queue Scheduling Modes  Queue mode is the legacy type i.e.
> +inorder
> + * and Flow mode is out of order packet processing  */ enum
> +virtchnl_txq_sched_mode {
> +	VIRTCHNL_TXQ_SCHED_MODE_QUEUE		= 0,
> +	VIRTCHNL_TXQ_SCHED_MODE_FLOW		= 1,
> +};
> +
> +/* Queue Descriptor Profiles  Base mode is the legacy and Native is the
> + * flex descriptors
> + */
> +enum virtchnl_desc_profile {
> +	VIRTCHNL_TXQ_DESC_PROFILE_BASE		= 0,
> +	VIRTCHNL_TXQ_DESC_PROFILE_NATIVE	= 1,
> +};
> +
> +/* Type of RSS algorithm */
> +enum virtchnl_rss_algorithm {
> +	VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC	= 0,
> +	VIRTCHNL_RSS_ALG_R_ASYMMETRIC		= 1,
> +	VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC	= 2,
> +	VIRTCHNL_RSS_ALG_XOR_SYMMETRIC		= 3,
> +};
> +
> +/* VIRTCHNL_OP_GET_CAPS
> + * PF sends this message to CP to negotiate capabilities by filling
> + * in the u64 bitmap of its desired capabilities.
> + * CP responds with an updated virtchnl_get_capabilities structure
> + * with allowed capabilities and possible max number of vfs it can create.
> + */
> +struct virtchnl_get_capabilities {
> +	u64 cap_flags;
> +	u16 max_num_vfs;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_get_capabilities);
> +
> +/* structure to specify a chunk of contiguous queues */ struct
> +virtchnl_queue_chunk {
> +	enum virtchnl_queue_type type;
> +	u16 start_queue_id;
> +	u16 num_queues;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_queue_chunk);
> +
> +/* structure to specify several chunks of contiguous queues */ struct
> +virtchnl_queue_chunks {
> +	u16 num_chunks;
> +	struct virtchnl_queue_chunk chunks[];
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(4, virtchnl_queue_chunks);
> +
> +/* VIRTCHNL_OP_CREATE_VPORT
> + * PF sends this message to CP to create a vport by filling in the
> +first 8
> + * fields of virtchnl_create_vport structure (vport type, tx, rx queue
> +models
> + * and desired number of queues and vectors). CP responds with the
> +updated
> + * virtchnl_create_vport structure containing the number of assigned
> +queues,
> + * vectors, vport id, max mtu, default mac addr followed by chunks
> +which in turn
> + * will have an array of num_chunks entries of virtchnl_queue_chunk
> structures.
> + */
> +struct virtchnl_create_vport {
> +	enum virtchnl_vport_type vport_type;
> +	/* single or split */
> +	enum virtchnl_queue_model txq_model;
> +	/* single or split */
> +	enum virtchnl_queue_model rxq_model;
> +	u16 num_tx_q;
> +	/* valid only if txq_model is split Q */
> +	u16 num_tx_complq;
> +	u16 num_rx_q;
> +	/* valid only if rxq_model is split Q */
> +	u16 num_rx_bufq;
> +	u16 num_vectors;
> +	u16 vport_id;
> +	u16 max_mtu;
> +	u8 default_mac_addr[ETH_ALEN];
> +	enum virtchnl_rss_algorithm rss_algorithm;
> +	u16 rss_key_size;
> +	u16 rss_lut_size;
> +	u16 qset_handle;
> +	struct virtchnl_queue_chunks chunks;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(48, virtchnl_create_vport);
> +
> +/* VIRTCHNL_OP_DESTROY_VPORT
> + * VIRTCHNL_OP_ENABLE_VPORT
> + * VIRTCHNL_OP_DISABLE_VPORT
> + * PF sends this message to CP to destroy, enable or disable a vport by
> +filling
> + * in the vport_id in virtchnl_vport structure.
> + * CP responds with the status of the requested operation.
> + */
> +struct virtchnl_vport {
> +	u16 vport_id;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(2, virtchnl_vport);
> +
> +/* Tx queue config info */
> +struct virtchnl_txq_info_v2 {
> +	u16 queue_id;
> +	/* single or split */
> +	enum virtchnl_queue_model model;
> +	/* tx or tx_completion */
> +	enum virtchnl_queue_type type;
> +	/* queue or flow based */
> +	enum virtchnl_txq_sched_mode sched_mode;
> +	/* base or native */
> +	enum virtchnl_desc_profile desc_profile;
> +	u16 ring_len;
> +	u64 dma_ring_addr;
> +	/* valid only if queue model is split and type is tx */
> +	u16 tx_compl_queue_id;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(40, virtchnl_txq_info_v2);
> +
> +/* VIRTCHNL_OP_CONFIG_TX_QUEUES
> + * PF sends this message to set up parameters for one or more TX queues.
> + * This message contains an array of num_qinfo instances of
> +virtchnl_txq_info_v2
> + * structures. CP configures requested queues and returns a status
> +code. If
> + * num_qinfo specified is greater than the number of queues associated
> +with the
> + * vport, an error is returned and no queues are configured.
> + */
> +struct virtchnl_config_tx_queues {
> +	u16 vport_id;
> +	u16 num_qinfo;
> +	struct virtchnl_txq_info_v2 txq_info[]; };
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_config_tx_queues);
> +
> +/* Rx queue config info */
> +struct virtchnl_rxq_info_v2 {
> +	u16 queue_id;
> +	/* single or split */
> +	enum virtchnl_queue_model model;
> +	/* rx or rx buffer */
> +	enum virtchnl_queue_type type;
> +	/* base or native */
> +	enum virtchnl_desc_profile desc_profile;
> +	/* rsc, header-split, immediate write back */
> +	u16 queue_flags;
> +	/* 16 or 32 byte */
> +	enum virtchnl_rxq_desc_size desc_size;
> +	u16 ring_len;
> +	u16 hdr_buffer_size;
> +	u32 data_buffer_size;
> +	u32 max_pkt_size;
> +	u64 dma_ring_addr;
> +	u64 dma_head_wb_addr;
> +	u16 rsc_low_watermark;
> +	u8 buffer_notif_stride;
> +	enum virtchnl_rx_hsplit rx_split_pos;
> +	/* valid only if queue model is split and type is rx buffer*/
> +	u16 rx_bufq1_id;
> +	/* valid only if queue model is split and type is rx buffer*/
> +	u16 rx_bufq2_id;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(72, virtchnl_rxq_info_v2);
> +
> +/* VIRTCHNL_OP_CONFIG_RX_QUEUES
> + * PF sends this message to set up parameters for one or more RX queues.
> + * This message contains an array of num_qinfo instances of
> +virtchnl_rxq_info_v2
> + * structures. CP configures requested queues and returns a status code.
> + * If the number of queues specified is greater than the number of
> +queues
> + * associated with the vport, an error is returned and no queues are
> configured.
> + */
> +struct virtchnl_config_rx_queues {
> +	u16 vport_id;
> +	u16 num_qinfo;
> +	struct virtchnl_rxq_info_v2 rxq_info[]; };
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_config_rx_queues);
> +
> +/* VIRTCHNL_OP_ADD_QUEUES
> + * PF sends this message to request additional TX/RX queues beyond the
> +ones
> + * that were assigned via CREATE_VPORT request. virtchnl_add_queues
> +structure is
> + * used to specify the number of each type of queues.
> + * CP responds with the same structure with the actual number of queues
> +assigned
> + * followed by num_chunks of virtchnl_queue_chunk structures.
> + */
> +struct virtchnl_add_queues {
> +	u16 vport_id;
> +	u16 num_tx_q;
> +	u16 num_tx_complq;
> +	u16 num_rx_q;
> +	u16 num_rx_bufq;
> +	struct virtchnl_queue_chunks chunks;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_add_queues);
> +
> +/* VIRTCHNL_OP_ENABLE_QUEUES
> + * VIRTCHNL_OP_DISABLE_QUEUES
> + * VIRTCHNL_OP_DEL_QUEUES
> + * PF sends these messages to enable, disable or delete queues
> +specified in
> + * chunks. PF sends virtchnl_del_ena_dis_queues struct to specify the
> +queues
> + * to be enabled/disabled/deleted. Also applicable to single queue RX
> +or
> + * TX. CP performs requested action and returns status.
> + */
> +struct virtchnl_del_ena_dis_queues {
> +	u16 vport_id;
> +	struct virtchnl_queue_chunks chunks;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_del_ena_dis_queues);
> +
> +/* Vector to Queue mapping */
> +struct virtchnl_vector_queue {
> +	u16 vector_id;
> +	u16 queue_id;
> +	enum virtchnl_queue_type queue_type;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_vector_queue);
> +
> +/* VIRTCHNL_OP_MAP_VECTOR_QUEUE
> + * VIRTCHNL_OP_UNMAP_VECTOR_QUEUE
> + * PF sends this message to map or unmap vectors to queues.
> + * This message contains an array of num_vector_queue_pairs instances
> +of
> + * virtchnl_vector_queue structures. CP configures interrupt mapping
> +and returns
> + * a status code. If the number of vectors specified is greater than
> +the number
> + * of vectors associated with the vport, an error is returned and no
> +vectors are
> + * mapped.
> + */
> +struct virtchnl_vector_queue_pairs {
> +	u16 vport_id;
> +	u16 num_vector_queue_pairs;
> +	struct virtchnl_vector_queue vq[];
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(4, virtchnl_vector_queue_pairs);
> +
> +/* Vector to ITR index registers mapping */ struct virtchnl_vector_itr
> +{
> +	u16 vector_id;
> +	u16 rxitr_idx;
> +	u16 txitr_idx;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_vector_itr);
> +
> +/* VIRTCHNL_OP_MAP_VECTOR_ITR
> + * PF sends this message to map vectors to RX and TX ITR index registers.
> + * This message contains an array of num_vector_itr_pairs instances of
> + * virtchnl_vector_itr structures. CP configures requested queues and
> +returns a
> + * status code. If the number of vectors specified is greater than the
> +number of
> + * vectors associated with the VSI, an error is returned and no vectors
> +are
> + * mapped.
> + */
> +struct virtchnl_vector_itr_pairs {
> +	u16 vport_id;
> +	u16 num_vector_itr_pairs;
> +	struct virtchnl_vector_itr vitr[];
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(4, virtchnl_vector_itr_pairs);
> +
> +/* VIRTCHNL_OP_GET_RSS_LUT
> + * PF sends this message to get RSS lookup table. Only supported if
> + * both PF and CP drivers set the VIRTCHNL_CAP_RSS bit during
> +configuration
> + * negotiation. Uses the virtchnl_rss_lut structure  */
> +
> +/* VIRTCHNL_OP_GET_RSS_KEY
> + * PF sends this message to get RSS key. Only supported if
> + * both PF and CP drivers set the VIRTCHNL_CAP_RSS bit during
> +configuration
> + * negotiation. Used the virtchnl_rss_key structure  */
> +
> +/* VIRTCHNL_OP_GET_RSS_HASH
> + * VIRTCHNL_OP_SET_RSS_HASH
> + * PF sends these messages to get and set the hash filter enable bits for
> RSS.
> + * By default, the CP sets these to all possible traffic types that the
> + * hardware supports. The PF can query this value if it wants to change
> +the
> + * traffic types that are hashed by the hardware.
> + * Only supported if both PF and CP drivers set the VIRTCHNL_CAP_RSS
> +bit
> + * during configuration negotiation.
> + */
> +struct virtchnl_rss_hash {
> +	u16 vport_id;
> +	u64 hash;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_rss_hash);
> +
> +/* VIRTCHNL_OP_CREATE_SRIOV_VFS
> + * VIRTCHNL_OP_DESTROY_SRIOV_VFS
> + * This message is used to let the CP know how many SRIOV VFs need to
> +be
> + * created. The actual allocation of resources for the VFs in terms of
> +VSI,
> + * Queues and Interrupts is done by CP. When this call completes, the
> +APF driver
> + * calls pci_enable_sriov to let the OS instantiate the SRIOV PCIE devices.
> + */
> +struct virtchnl_sriov_vfs_info {
> +	u16 num_vfs;
> +};
> +
> +VIRTCHNL_CHECK_STRUCT_LEN(2, virtchnl_sriov_vfs_info);
> +
> +#endif /* VIRTCHNL_EXT_FEATURES */
>  /**
>   * virtchnl_vc_validate_vf_msg
>   * @ver: Virtchnl version info
> @@ -871,6 +1256,128 @@ virtchnl_vc_validate_vf_msg(struct
> virtchnl_version_info *ver, u32 v_opcode,
>  	case VIRTCHNL_OP_GET_ADDNL_SOL_CONFIG:
>  		break;
>  #endif
> +#ifdef VIRTCHNL_EXT_FEATURES
> +	case VIRTCHNL_OP_GET_CAPS:
> +		valid_len = sizeof(struct virtchnl_get_capabilities);
> +		break;
> +	case VIRTCHNL_OP_CREATE_VPORT:
> +		valid_len = sizeof(struct virtchnl_create_vport);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_create_vport *cvport =
> +				(struct virtchnl_create_vport *)msg;
> +
> +			valid_len += cvport->chunks.num_chunks *
> +				      sizeof(struct virtchnl_queue_chunk);
> +		}
> +		break;
> +	case VIRTCHNL_OP_DESTROY_VPORT:
> +	case VIRTCHNL_OP_ENABLE_VPORT:
> +	case VIRTCHNL_OP_DISABLE_VPORT:
> +		valid_len = sizeof(struct virtchnl_vport);
> +		break;
> +	case VIRTCHNL_OP_CONFIG_TX_QUEUES:
> +		valid_len = sizeof(struct virtchnl_config_tx_queues);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_config_tx_queues *ctq =
> +				(struct virtchnl_config_tx_queues *)msg;
> +			if (ctq->num_qinfo == 0) {
> +				err_msg_format = true;
> +				break;
> +			}
> +			valid_len += ctq->num_qinfo *
> +				     sizeof(struct virtchnl_txq_info_v2);
> +		}
> +		break;
> +	case VIRTCHNL_OP_CONFIG_RX_QUEUES:
> +		valid_len = sizeof(struct virtchnl_config_rx_queues);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_config_rx_queues *crq =
> +				(struct virtchnl_config_rx_queues *)msg;
> +			if (crq->num_qinfo == 0) {
> +				err_msg_format = true;
> +				break;
> +			}
> +			valid_len += crq->num_qinfo *
> +				     sizeof(struct virtchnl_rxq_info_v2);
> +		}
> +		break;
> +	case VIRTCHNL_OP_ADD_QUEUES:
> +		valid_len = sizeof(struct virtchnl_add_queues);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_add_queues *add_q =
> +				(struct virtchnl_add_queues *)msg;
> +
> +			valid_len += add_q->chunks.num_chunks *
> +				      sizeof(struct virtchnl_queue_chunk);
> +		}
> +		break;
> +	case VIRTCHNL_OP_ENABLE_QUEUES_V2:
> +	case VIRTCHNL_OP_DISABLE_QUEUES_V2:
> +	case VIRTCHNL_OP_DEL_QUEUES:
> +		valid_len = sizeof(struct virtchnl_del_ena_dis_queues);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_del_ena_dis_queues *qs =
> +				(struct virtchnl_del_ena_dis_queues *)msg;
> +			if (qs->chunks.num_chunks == 0) {
> +				err_msg_format = true;
> +				break;
> +			}
> +			valid_len += qs->chunks.num_chunks *
> +				      sizeof(struct virtchnl_queue_chunk);
> +		}
> +		break;
> +	case VIRTCHNL_OP_MAP_VECTOR_QUEUE:
> +	case VIRTCHNL_OP_UNMAP_VECTOR_QUEUE:
> +		valid_len = sizeof(struct virtchnl_vector_queue_pairs);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_vector_queue_pairs *v_qp =
> +				(struct virtchnl_vector_queue_pairs *)msg;
> +			if (v_qp->num_vector_queue_pairs == 0) {
> +				err_msg_format = true;
> +				break;
> +			}
> +			valid_len += v_qp->num_vector_queue_pairs *
> +				      sizeof(struct virtchnl_vector_queue);
> +		}
> +		break;
> +	case VIRTCHNL_OP_MAP_VECTOR_ITR:
> +		valid_len = sizeof(struct virtchnl_vector_itr_pairs);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_vector_itr_pairs *v_itrp =
> +				(struct virtchnl_vector_itr_pairs *)msg;
> +			if (v_itrp->num_vector_itr_pairs == 0) {
> +				err_msg_format = true;
> +				break;
> +			}
> +			valid_len += v_itrp->num_vector_itr_pairs *
> +				      sizeof(struct virtchnl_vector_itr);
> +		}
> +		break;
> +	case VIRTCHNL_OP_GET_RSS_KEY:
> +		valid_len = sizeof(struct virtchnl_rss_key);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_rss_key *vrk =
> +				(struct virtchnl_rss_key *)msg;
> +			valid_len += vrk->key_len - 1;
> +		}
> +		break;
> +	case VIRTCHNL_OP_GET_RSS_LUT:
> +		valid_len = sizeof(struct virtchnl_rss_lut);
> +		if (msglen >= valid_len) {
> +			struct virtchnl_rss_lut *vrl =
> +				(struct virtchnl_rss_lut *)msg;
> +			valid_len += vrl->lut_entries - 1;
> +		}
> +		break;
> +	case VIRTCHNL_OP_GET_RSS_HASH:
> +	case VIRTCHNL_OP_SET_RSS_HASH:
> +		valid_len = sizeof(struct virtchnl_rss_hash);
> +		break;
> +	case VIRTCHNL_OP_CREATE_VFS:
> +	case VIRTCHNL_OP_DESTROY_VFS:
> +		valid_len = sizeof(struct virtchnl_sriov_vfs_info);
> +		break;
> +#endif /* VIRTCHNL_EXT_FEATURES */
>  	/* These are always errors coming from the VF. */
>  	case VIRTCHNL_OP_EVENT:
>  	case VIRTCHNL_OP_UNKNOWN:
> --
> 2.17.1


  reply index

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02  7:48 [dpdk-dev] [PATCH 00/69] update for i40e base code Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 01/69] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 02/69] net/i40e/base: add ESXi support to transition to flat NVM Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 03/69] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 04/69] net/i40e/base: change buffer address Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 05/69] net/i40e/base: change for X722 10G-T ports LED Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 06/69] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 07/69] net/i40e/base: changed FW API version to 1.8 Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 08/69] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 09/69] net/i40e/base: shadowRAM checksum calculation change Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 10/69] net/i40e/base: update Fort Park FW API to 1.8 Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 11/69] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 12/69] net/i40e/base: add new device ids for Carlsville Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 13/69] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 14/69] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 15/69] net/i40e/base: revert ShadowRAM checksum calculation change Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 16/69] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 17/69] net/i40e/base: change condition checks Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 18/69] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 19/69] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 20/69] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 21/69] net/i40e/base: change reading LPI state Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 22/69] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 23/69] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 24/69] net/i40e/base: update virtchnl.h Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 25/69] net/i40e/base: add opcodes reserved comments Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 26/69] net/i40e/base: revert Fix missing "fall through" comments Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 27/69] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 28/69] net/i40e/base: update status codes Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 29/69] net/i40e/base: use TX_LPI_EN bit to fully turn off EEE Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 30/69] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 31/69] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 32/69] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 33/69] net/i40e/base: check_recovery_mode had wrong if statement Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 34/69] net/i40e/base: update FVL FW API version to 1.9 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 35/69] net/i40e/base: update FPK " Xiaolong Ye
2019-12-02 19:03   ` Stillwell Jr, Paul M
2019-12-02  7:49 ` [dpdk-dev] [PATCH 36/69] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 37/69] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 38/69] net/i40e/base: change retrying Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 39/69] net/i40e/base: revert fix for X722 10G-T ports LED Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 40/69] net/i40e/base: change link flapping on 25g cards Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 41/69] net/i40e/base: changeed code wrapping for CARLSVILLE_HW Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 42/69] net/i40e/base: change long redundant define names Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 43/69] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 44/69] net/i40e/base: change for persistent lldp support Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 45/69] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 46/69] net/i40e/base: implement lpi statistics read from registers Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 47/69] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 48/69] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 49/69] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 50/69] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 51/69] net/i40e/base: add MRR field defines Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 52/69] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-02 19:13   ` Stillwell Jr, Paul M
2019-12-02  7:49 ` [dpdk-dev] [PATCH 53/69] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 54/69] net/i40e/base: change for reading lpi statistics Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 55/69] net/i40e/base: update FVL FW API version to 1.10 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 56/69] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 57/69] net/i40e/base: update virtchnl header with advanced features Xiaolong Ye
2019-12-02 19:14   ` Stillwell Jr, Paul M [this message]
2019-12-02  7:49 ` [dpdk-dev] [PATCH 58/69] net/i40e/base: add limits for nested structures Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 59/69] net/i40e/base: put the check for zero nested elements higher Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 60/69] net/i40e/base: clarify requirements Xiaolong Ye
2019-12-02 16:33   ` Williams, Mitch A
2019-12-02  7:49 ` [dpdk-dev] [PATCH 61/69] net/i40e/base: change 'Unknown bps' Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 62/69] net/i40e/base: add USO offload flag for AVF Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 63/69] net/i40e/base: update the interrupt mapping and negotiation Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 64/69] net/i40e/base: add inline ipsec data struct and commands Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 65/69] net/i40e/base: change all zero-sized arrays Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 66/69] net/i40e/base: support for additional flow type Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 67/69] net/i40e/base: change GET/SET_RSS_LUT valid_len check Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 68/69] net/i40e/base: add missing 0 length checks Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 69/69] net/i40e/base: update version Xiaolong Ye
2019-12-12 15:20 ` [dpdk-dev] [PATCH v2 00/36] update for i40e base code Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 03/36] net/i40e/base: change buffer address Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 07/36] net/i40e/base: add new device ids Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 17/36] net/i40e/base: update status codes Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 19/36] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 22/36] net/i40e/base: update FW API version Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 25/36] net/i40e/base: change retrying logic Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 27/36] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2019-12-16  2:43 ` [dpdk-dev] [PATCH v3 00/36] update for i40e base code Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 03/36] net/i40e/base: change buffer address Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 07/36] net/i40e/base: add new device ids Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 17/36] net/i40e/base: update status codes Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 19/36] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 22/36] net/i40e/base: update FW API version Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-17 10:39     ` Kwapulinski, Piotr
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 25/36] net/i40e/base: change retrying logic Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 27/36] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-17 10:40     ` Kwapulinski, Piotr
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2019-12-27  5:37     ` Xing, Beilei
2020-01-02  9:58       ` Loktionov, Aleksandr
2020-01-13  2:39 ` [dpdk-dev] [PATCH v4 00/36] update for i40e base code Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 03/36] net/i40e/base: change buffer address Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 07/36] net/i40e/base: add new device ids Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 17/36] net/i40e/base: update status codes Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 19/36] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 22/36] net/i40e/base: update FW API version Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2020-01-13  8:19     ` Kwapulinski, Piotr
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 25/36] net/i40e/base: fix retrying logic Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 27/36] net/i40e/base: fix wrong 'Advertised FEC modes' Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2020-01-13  8:19     ` Kwapulinski, Piotr
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2020-01-13  2:54   ` [dpdk-dev] [PATCH v4 00/36] update for i40e base code Zhang, Qi Z
2020-01-13  3:26   ` Xing, Beilei
2020-01-13  5:59     ` Ye, Xiaolong
2020-01-15 18:42       ` Kevin Traynor

Reply instructions:

You may reply publically 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=BN8PR11MB3828D4875676422BC20A863AE0430@BN8PR11MB3828.namprd11.prod.outlook.com \
    --to=paul.m.stillwell.jr@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=phani.r.burra@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=xiaolong.ye@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

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git