- rss_cfg = rte_zmalloc("iavf rss rule",
- sizeof(struct virtchnl_rss_cfg), 0);
- if (!rss_cfg)
- return -ENOMEM;
+ if (rss_hf & ETH_RSS_NONFRAG_IPV4_UDP) {
+ rss_cfg.proto_hdrs = inner_ipv4_udp_tmplt;
+ iavf_add_del_rss_cfg(ad, &rss_cfg, add);
+ }
+
+ if (rss_hf & ETH_RSS_NONFRAG_IPV4_TCP) {
+ rss_cfg.proto_hdrs = inner_ipv4_tcp_tmplt;
+ iavf_add_del_rss_cfg(ad, &rss_cfg, add);
+ }
+
+ if (rss_hf & ETH_RSS_NONFRAG_IPV4_SCTP) {
+ rss_cfg.proto_hdrs = inner_ipv4_sctp_tmplt;
+ iavf_add_del_rss_cfg(ad, &rss_cfg, add);
+ }
+
+ if (rss_hf & ETH_RSS_IPV6) {
+ rss_cfg.proto_hdrs = inner_ipv6_tmplt;
+ iavf_add_del_rss_cfg(ad, &rss_cfg, add);
+ }
+
+ if (rss_hf & ETH_RSS_NONFRAG_IPV6_UDP) {
+ rss_cfg.proto_hdrs = inner_ipv6_udp_tmplt;
+ iavf_add_del_rss_cfg(ad, &rss_cfg, add);
+ }