const struct rte_flow_action *act,
struct virtchnl_filter_action *filter_action)
{
+ struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(ad);
const struct rte_flow_action_rss *rss = act->conf;
uint32_t i;
return -rte_errno;
}
+ if (rss->queue_num > vf->max_rss_qregion) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ACTION, act,
+ "The region size cannot be large than the supported max RSS queue region");
+ return -rte_errno;
+ }
+
filter_action->act_conf.queue.index = rss->queue[0];
filter_action->act_conf.queue.region = rte_fls_u32(rss->queue_num) - 1;