[dpdk-dev] [PATCH v2 05/11] net/e1000: parse n-tuple filter

Lu, Wenzhuo wenzhuo.lu at intel.com
Mon Jun 5 03:21:17 CEST 2017


Hi Wei,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Friday, June 2, 2017 2:36 PM
> To: dev at dpdk.org
> Cc: Lu, Wenzhuo; Zhao1, Wei
> Subject: [PATCH v2 05/11] net/e1000: parse n-tuple filter
> 
> Add rule validate function and check if the rule is a n-tuple rule, and get the
> n-tuple info.
> 
> Signed-off-by: Wei Zhao <wei.zhao1 at intel.com>
> ---
>  drivers/net/e1000/Makefile       |   1 +
>  drivers/net/e1000/e1000_ethdev.h |   9 +
>  drivers/net/e1000/igb_ethdev.c   |  14 +-
>  drivers/net/e1000/igb_flow.c     | 505
> +++++++++++++++++++++++++++++++++++++++
>  4 files changed, 521 insertions(+), 8 deletions(-)  create mode 100644

> +
> +	if (hw->mac.type == e1000_82576) {
> +		if (filter->queue >= IGB_MAX_RX_QUEUE_NUM_82576) {
> +			memset(filter, 0, sizeof(struct rte_eth_ntuple_filter));
> +			rte_flow_error_set(error, EINVAL,
> +				RTE_FLOW_ERROR_TYPE_ITEM,
> +				NULL, "queue number not "
> +				"supported by ntuple filter");
> +			return -rte_errno;
> +		}
> +		filter->flags |= RTE_5TUPLE_FLAGS;
To my opinion, that the filter is 5-tuple or 2-tuple should depend on the input pattern. I don't understand why it's set based on the NIC  type.

> +	} else {
> +		if (filter->queue >= IGB_MAX_RX_QUEUE_NUM) {
> +			memset(filter, 0, sizeof(struct rte_eth_ntuple_filter));
> +			rte_flow_error_set(error, EINVAL,
> +				RTE_FLOW_ERROR_TYPE_ITEM,
> +				NULL, "queue number not "
> +				"supported by ntuple filter");
> +			return -rte_errno;
> +		}
> +		filter->flags |= RTE_2TUPLE_FLAGS;
> +	}



More information about the dev mailing list