[PATCH v1 2/3] net/ice: fix outer src mac as FDIR input field

Zhang, Qi Z qi.z.zhang at intel.com
Wed Apr 26 10:15:50 CEST 2023



> -----Original Message-----
> From: Yan, Zhirun <zhirun.yan at intel.com>
> Sent: Wednesday, June 22, 2022 11:01 AM
> To: dev at dpdk.org; Zhang, Qi Z <qi.z.zhang at intel.com>; Yang, Qiming
> <qiming.yang at intel.com>
> Cc: Wang, Xiao W <xiao.w.wang at intel.com>; Yan, Zhirun
> <zhirun.yan at intel.com>
> Subject: [PATCH v1 2/3] net/ice: fix outer src mac as FDIR input field
> 
> Add src mac in input set map. If not add this, the src mac can not be parsed
> and this field will be ignored.
> Add outer mac as extracted key input to avoid rule conflict for VXLAN rule
> when outer src mac change only.

Looks like you add some new feature to support outer mac match, so it is not necessary be a fix right?

> 
> Signed-off-by: Zhirun Yan <zhirun.yan at intel.com>
> ---
>  drivers/net/ice/ice_ethdev.h      | 3 +++
>  drivers/net/ice/ice_fdir_filter.c | 3 +++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h index
> ec23dae665..791e8566ea 100644
> --- a/drivers/net/ice/ice_ethdev.h
> +++ b/drivers/net/ice/ice_ethdev.h
> @@ -366,6 +366,9 @@ struct ice_fdir_fltr_pattern {
>  	struct ice_fdir_extra ext_data;
>  	struct ice_fdir_extra ext_mask;
> 
> +	struct ice_fdir_extra ext_data_outer;
> +	struct ice_fdir_extra ext_mask_outer;
> +
>  	enum ice_fdir_tunnel_type tunnel_type;  };
> 
> diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c
> index 7914ba9407..4b0b6b5b23 100644
> --- a/drivers/net/ice/ice_fdir_filter.c
> +++ b/drivers/net/ice/ice_fdir_filter.c
> @@ -919,6 +919,7 @@ ice_fdir_input_set_parse(uint64_t inset, enum
> ice_flow_field *field)
>  		enum ice_flow_field fld;
>  	};
>  	static const struct ice_inset_map ice_inset_map[] = {
> +		{ICE_INSET_SMAC, ICE_FLOW_FIELD_IDX_ETH_SA},
>  		{ICE_INSET_DMAC, ICE_FLOW_FIELD_IDX_ETH_DA},
>  		{ICE_INSET_ETHERTYPE, ICE_FLOW_FIELD_IDX_ETH_TYPE},
>  		{ICE_INSET_IPV4_SRC, ICE_FLOW_FIELD_IDX_IPV4_SA}, @@
> -1247,6 +1248,8 @@ ice_fdir_extract_fltr_key(struct ice_fdir_fltr_pattern
> *key,
>  	rte_memcpy(&key->ext_data, &input->ext_data, sizeof(key-
> >ext_data));
>  	rte_memcpy(&key->ext_mask, &input->ext_mask, sizeof(key-
> >ext_mask));
> 
> +	rte_memcpy(&key->ext_data_outer, &input->ext_data_outer,
> sizeof(key->ext_data_outer));
> +	rte_memcpy(&key->ext_mask_outer, &input->ext_mask_outer,
> +sizeof(key->ext_mask_outer));
>  	rte_memcpy(&key->gtpu_data, &input->gtpu_data, sizeof(key-
> >gtpu_data));
>  	rte_memcpy(&key->gtpu_mask, &input->gtpu_mask, sizeof(key-
> >gtpu_mask));
> 
> --
> 2.25.1



More information about the dev mailing list