> -----Original Message-----
> From: Cao, Yahui
> Sent: Friday, December 25, 2020 1:28 PM
> To: Yan, Zhirun <zhirun....@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zh...@intel.com>; Wang, Xiao W <xiao.w.w...@intel.com>; Guo,
> Junfeng <junfeng....@intel.com>
> Cc: Su, Simei <simei...@intel.com>; Xu, Ting <ting...@intel.com>; Zhang,
> Yuying <yuying.zh...@intel.com>
> Subject: RE: [PATCH v1 3/5] net/ice: add outer input set mask to distinguish
> outer fields
>
>
>
> > -----Original Message-----
> > From: Yan, Zhirun <zhirun....@intel.com>
> > Sent: Monday, December 21, 2020 2:52 PM
> > To: dev@dpdk.org; Zhang, Qi Z <qi.z.zh...@intel.com>; Cao, Yahui
> > <yahui....@intel.com>; Wang, Xiao W <xiao.w.w...@intel.com>; Guo,
> > Junfeng <junfeng....@intel.com>
> > Cc: Su, Simei <simei...@intel.com>; Xu, Ting <ting...@intel.com>;
> > Zhang, Yuying <yuying.zh...@intel.com>; Yan, Zhirun
> > <zhirun....@intel.com>
> > Subject: [PATCH v1 3/5] net/ice: add outer input set mask to
> > distinguish outer fields
> >
> > Add 64-bit input_set_mask_f for outer input set. input_set_mask_f is
> > used for inner fields or non-tunnel fields. Adjust indentation of
> > ice_pattern_match_item list in switch, RSS and FDIR for easy review.
> > For fields in tunnel layer, like GTPU TEID, put them in outer part.
> >
> > Signed-off-by: Zhirun Yan <zhirun....@intel.com>
> > ---
> > drivers/net/ice/ice_fdir_filter.c | 110 ++++-----
> > drivers/net/ice/ice_generic_flow.h | 1 +
> > drivers/net/ice/ice_hash.c | 192 ++++++---------
> > drivers/net/ice/ice_switch_filter.c | 348
> > ++++++++++------------------
> > 4 files changed, 231 insertions(+), 420 deletions(-)
> >
> > diff --git a/drivers/net/ice/ice_fdir_filter.c
> > b/drivers/net/ice/ice_fdir_filter.c
> > index 1f2576a444..76e0a8df38 100644
> > --- a/drivers/net/ice/ice_fdir_filter.c
> > +++ b/drivers/net/ice/ice_fdir_filter.c
> > @@ -55,92 +55,74 @@
> >
>
> ...
> > + {pattern_eth_ipv4, ICE_INSET_NONE,
> ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp,
> ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_UDP,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_tcp,
> ICE_INSET_NONE,
> ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
> > + {pattern_eth_ipv4_sctp,
> ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_SCTP,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv6, ICE_INSET_NONE,
> ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},
> > + {pattern_eth_ipv6_udp,
> ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_UDP,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv6_tcp,
> ICE_INSET_NONE,
> ICE_FDIR_INSET_ETH_IPV6_TCP, ICE_INSET_NONE},
> > + {pattern_eth_ipv6_sctp,
> ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_SCTP,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_ipv4, ICE_INSET_NONE,
> ICE_FDIR_INSET_VXLAN_IPV4_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_ipv4_udp,
> ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_ipv4_tcp,
> ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_ipv4_sctp,
> ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
> ICE_INSET_NONE,
> ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE,
> ICE_FDIR_INSET_VXLAN_IPV4_UDP_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE,
> ICE_FDIR_INSET_VXLAN_IPV4_TCP_L,
> ICE_INSET_NONE},
> > + {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp, ICE_INSET_NONE,
> ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L,
> ICE_INSET_NONE},
> > };
> >
>
> [Cao, Yahui] Why is the mask put in the 3rd column instead of 2nd column ? I
> prefer the way that 2nd column is for outer field and 3rd column is for inner
> field.
Both are OK. But for my way, the 2nd column is only for tunnel outer. The 3rd
can be reused by non-tunnel and tunnel inner part. I will redefine the macro.
> >
> > static int
> > --
> > 2.25.1