[PATCH v3 06/19] net/ixgbe: reimplement syn parser

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Sat Sep 19 18:10:31 CEST 2026


On 9/16/2026 1:18 PM, Anatoly Burakov wrote:
> Use the new flow graph API and the common parsing framework to implement
> flow parser for SYN.
>
> As a result of this migration, queue index validation has changed:
>
> - queue is now validated at parse time against the configured number of Rx
>    queues (nb_rx_queues), rather than at install time against the hardware
>    maximum (IXGBE_MAX_RX_QUEUE_NUM)
> - the per-function queue bound check in ixgbe_syn_filter_set() has been
>    removed as it is no longer needed
>
> The syn filter tracking infrastructure is moved completely inside the new
> engine and is removed from the rest of the driver.
>
> Signed-off-by: Anatoly Burakov<anatoly.burakov at intel.com>
> ---
<snip>
> -
> -	/* Support 2 priorities, the lowest or highest. */
> -	if (!attr->priority) {
> -		filter->hig_pri = 0;
> -	} else if (attr->priority == (uint32_t)~0U) {
> -		filter->hig_pri = 1;
> -	} else {
> -		memset(filter, 0, sizeof(struct rte_eth_syn_filter));
> -		rte_flow_error_set(error, EINVAL,
> -			RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY,
> -			attr, "Priority can be 0 or 0xFFFFFFFF");
> -		return -rte_errno;
> -	}
> -
> -	return 0;
> -}
<snip>
> +
> +	/* check priority */
> +	if (attr->priority != 0 && attr->priority != (uint32_t)~0U) {
> +		return rte_flow_error_set(error, EINVAL,
> +			RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY,
> +			attr, "Priority can be 0 or 0xFFFFFFFF");
> +	}
> +
> +	/* parse requested actions */
> +	ret = ci_flow_check_actions(actions, &ap_param, &parsed_actions, error);
> +	if (ret)
> +		return ret;
> +
> +	q_act = parsed_actions.actions[0]->conf;
> +
> +	syn_ctx->syn.queue = q_act->index;
> +
> +	/* Support 2 priorities. rte_flow priority 0 is highest */
> +	syn_ctx->syn.hig_pri = attr->priority == 0;
seems like inverting priority with the previous implementation
> +
> +	return 0;
> +}
<snip>

-- 
Regards,
Vladimir



More information about the dev mailing list