Hi, Jeff, Best Regards, Xu Ting
> -----Original Message----- > From: Guo, Jia <jia....@intel.com> > Sent: Sunday, April 11, 2021 2:07 PM > To: Zhang, Qi Z <qi.z.zh...@intel.com>; Yang, Qiming > <qiming.y...@intel.com> > Cc: dev@dpdk.org; Xu, Ting <ting...@intel.com>; Guo, Jia <jia....@intel.com> > Subject: [PATCH v3 1/3] net/ice/base: support IP fragment RSS and FDIR > > Add support for IP fragment RSS hash and FDIR according to packet ID. > Separate IP fragment and IP other packet types. > > Signed-off-by: Ting Xu <ting...@intel.com> > Signed-off-by: Jeff Guo <jia....@intel.com> > --- > drivers/net/ice/base/ice_fdir.c | 50 +++++++++++++++++++++++++++++++-- > drivers/net/ice/base/ice_fdir.h | 22 ++++++++++++--- > drivers/net/ice/base/ice_flow.c | 50 ++++++++++++++++++++++++++++++++- > drivers/net/ice/base/ice_flow.h | 5 +++- drivers/net/ice/base/ice_type.h | > 1 > + > 5 files changed, 120 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c > index 2b39c13127..0eb7cdd729 100644 > --- a/drivers/net/ice/base/ice_fdir.c > +++ b/drivers/net/ice/base/ice_fdir.c > @@ -518,6 +518,24 @@ static const u8 ice_fdir_ipv4_udp_ecpri_tp0_pkt[] = { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; > > +static const u8 ice_fdir_ipv6_frag_pkt[] = { > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x86, 0xDD, 0x60, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x2C, 0x40, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > +}; > + > +static const u8 ice_fdir_ipv4_frag_pkt[] = { > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x45, 0x00, > + 0x00, 0x14, 0x00, 0x00, 0x20, 0x00, 0x40, 0x10, > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00 > +}; > static const u8 ice_fdir_tcpv6_pkt[] = { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, 0x86, 0xDD, 0x60, 0x00, @@ -716,6 +734,16 > @@ static const struct ice_fdir_base_pkt ice_fdir_pkt[] = { > sizeof(ice_fdir_ipv4_pkt), ice_fdir_ipv4_pkt, > sizeof(ice_fdir_ip4_tun_pkt), ice_fdir_ip4_tun_pkt, > }, > + { > + ICE_FLTR_PTYPE_FRAG_IPV4, > + sizeof(ice_fdir_ipv4_pkt), ice_fdir_ipv4_frag_pkt, > + sizeof(ice_fdir_ipv4_pkt), ice_fdir_ipv4_frag_pkt, > + }, Should be the same, "ice_fdir_ipv4_frag_pkt" > + { > + ICE_FLTR_PTYPE_FRAG_IPV6, > + sizeof(ice_fdir_ipv6_frag_pkt), ice_fdir_ipv6_frag_pkt, > + sizeof(ice_fdir_ipv6_frag_pkt), ice_fdir_ipv6_frag_pkt, > + }, > { > ICE_FLTR_PTYPE_NONF_IPV4_GTPU, > sizeof(ice_fdir_ipv4_gtpu4_pkt), Skip... > diff --git a/drivers/net/ice/base/ice_type.h b/drivers/net/ice/base/ice_type.h > index a6599363f9..5abe9dc9ea 100644 > --- a/drivers/net/ice/base/ice_type.h > +++ b/drivers/net/ice/base/ice_type.h > @@ -349,6 +349,7 @@ enum ice_fltr_ptype { > ICE_FLTR_PTYPE_NONF_ECPRI_TP0, > ICE_FLTR_PTYPE_NONF_IPV4_UDP_ECPRI_TP0, > ICE_FLTR_PTYPE_FRAG_IPV4, > + ICE_FLTR_PTYPE_FRAG_IPV6, > ICE_FLTR_PTYPE_NONF_IPV6_UDP, > ICE_FLTR_PTYPE_NONF_IPV6_TCP, > ICE_FLTR_PTYPE_NONF_IPV6_SCTP, > -- > 2.20.1