#include <rte_debug.h>
#include <rte_ether.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
#include <rte_log.h>
#include <rte_malloc.h>
#include <rte_eth_ctrl.h>
#define ICE_RSS_TYPE_GTPU_IPV6_TCP (ICE_RSS_TYPE_INNER_IPV6_TCP | \
ETH_RSS_GTPU)
+/* PPPOE */
+#define ICE_RSS_TYPE_PPPOE (ETH_RSS_ETH | ETH_RSS_PPPOE)
+
/* PPPOE IPv4 */
#define ICE_RSS_TYPE_PPPOE_IPV4 (ICE_RSS_TYPE_INNER_IPV4 | \
- ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
#define ICE_RSS_TYPE_PPPOE_IPV4_UDP (ICE_RSS_TYPE_INNER_IPV4_UDP | \
- ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
#define ICE_RSS_TYPE_PPPOE_IPV4_TCP (ICE_RSS_TYPE_INNER_IPV4_TCP | \
- ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
/* PPPOE IPv6 */
#define ICE_RSS_TYPE_PPPOE_IPV6 (ICE_RSS_TYPE_INNER_IPV6 | \
- ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
#define ICE_RSS_TYPE_PPPOE_IPV6_UDP (ICE_RSS_TYPE_INNER_IPV6_UDP | \
- ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
#define ICE_RSS_TYPE_PPPOE_IPV6_TCP (ICE_RSS_TYPE_INNER_IPV6_TCP | \
- ETH_RSS_PPPOE)
-
-/* PPPOE*/
-#define ICE_RSS_TYPE_PPPOE (ETH_RSS_ETH | ETH_RSS_PPPOE)
+ ICE_RSS_TYPE_PPPOE)
/* ESP, AH, L2TPV3 and PFCP */
#define ICE_RSS_TYPE_IPV4_ESP (ETH_RSS_ESP | ETH_RSS_IPV4)
if (rss_type & (ETH_RSS_L3_SRC_ONLY | ETH_RSS_L3_DST_ONLY |
ETH_RSS_L4_SRC_ONLY | ETH_RSS_L4_DST_ONLY))
return true;
+
+ if (!(rss_type &
+ (ETH_RSS_IPV4 | ETH_RSS_IPV6 |
+ ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_NONFRAG_IPV6_SCTP)))
+ return true;
}
/* check invalid combination */