> -----Original Message-----
> From: Yan, Zhirun <zhirun....@intel.com>
> Sent: Wednesday, June 22, 2022 11:01 AM
> To: dev@dpdk.org; Zhang, Qi Z <qi.z.zh...@intel.com>; Yang, Qiming
> <qiming.y...@intel.com>
> Cc: Wang, Xiao W <xiao.w.w...@intel.com>; Yan, Zhirun
> <zhirun....@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....@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

Reply via email to