> -----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