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.x...@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]; ^