[dpdk-dev] [PATCH v2 1/4] net/i40e: support flexible payload parsing for FDIR

Ferruh Yigit ferruh.yigit at intel.com
Thu Jun 8 12:02:34 CEST 2017


On 6/7/2017 9:09 AM, Beilei Xing wrote:
> This patch adds flexible payload parsing support for
> flow director filter.
> 
> Signed-off-by: Beilei Xing <beilei.xing at intel.com>

<...>

>  /* 1. Last in item should be NULL as range is not supported.
> - * 2. Supported flow type and input set: refer to array
> + * 2. Supported patterns: refer to array i40e_supported_patterns.
> + * 3. Supported flow type and input set: refer to array
>   *    default_inset_table in i40e_ethdev.c.
> - * 3. Mask of fields which need to be matched should be
> + * 4. Mask of fields which need to be matched should be
>   *    filled with 1.
> - * 4. Mask of fields which needn't to be matched should be
> + * 5. Mask of fields which needn't to be matched should be
>   *    filled with 0.
>   */
>  static int
> @@ -769,15 +948,29 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
>  	const struct rte_flow_item_tcp *tcp_spec, *tcp_mask;
>  	const struct rte_flow_item_udp *udp_spec, *udp_mask;
>  	const struct rte_flow_item_sctp *sctp_spec, *sctp_mask;
> +	const struct rte_flow_item_raw *raw_spec, *raw_mask;
>  	const struct rte_flow_item_vf *vf_spec;
> +
>  	uint32_t flow_type = RTE_ETH_FLOW_UNKNOWN;
>  	enum i40e_filter_pctype pctype;
>  	uint64_t input_set = I40E_INSET_NONE;
>  	uint16_t flag_offset;
>  	enum rte_flow_item_type item_type;
>  	enum rte_flow_item_type l3 = RTE_FLOW_ITEM_TYPE_END;
> -	uint32_t j;
> +	uint32_t i, j;
> +	enum i40e_flxpld_layer_idx layer_idx = I40E_FLXPLD_L2_IDX;
> +	uint8_t raw_id = 0;
> +	struct rte_flow_item_raw raw_arr[I40E_MAX_FLXPLD_FIED];

Hi Beilei,

Getting build error [1] with ICC, can you please check?


[1]
...dpdk/drivers/net/i40e/i40e_flow.c(2302):
error #2405: array of elements containing a flexible array member is
nonstandard
        struct rte_flow_item_raw raw_arr[I40E_MAX_FLXPLD_FIED];
                                 ^


More information about the dev mailing list