> > @@ -537,6 +537,8 @@ struct rte_eth_rss_conf {
> >  #define ETH_RSS_PPPOE                 (1ULL << 31)
> >  #define ETH_RSS_ECPRI                 (1ULL << 32)
> >  #define ETH_RSS_MPLS                  (1ULL << 33)
> > +#define ETH_RSS_IPV4_CHKSUM           (1ULL << 34)
> > +#define ETH_RSS_L4_CHKSUM     (1ULL << 35)
> 
> What does efine which L4 protocols are supported? How user will know?

I think if we want to support L4 checksum RSS by using below command
port config all rss (all|default|eth|vlan|...)

We must define TCP/UDP/SCTP checksum RSS separately: 
#define ETH_RSS_TCP_CHKSUM      (1ULL << 35)
#define ETH_RSS_UDP_CHKSUM      (1ULL << 36)
#deifne ETH_RSS_SCTP_CHKSUM     (1ULL << 37)

Here 3 bits are occupied, this is not good for there are not many bits 
available.

If we only want to using it in flows, we only need to define ETH_RSS_L4_CHKSUM, 
because the flow pattern pointed out the L4 protocol type.
flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types 
l4-chksum end queues end / end

So what's your opinions?

Thanks
Alvin

Reply via email to