On 10/13/26 22:45, Stephen Hemminger wrote:
On Tue, 13 Oct 2026 22:00:16 +0800
Zhang Tengfei <[email protected]> wrote:
[PATCH 2/3] net/txgbe: do not enable flow director on flow validate

Warning: validate now accepts rules that create will always reject.

txgbe_parse_fdir_filter_normal() can set
rule->mode = RTE_FDIR_MODE_PERFECT_MAC_VLAN. Before this patch, with
mode NONE, parse called txgbe_fdir_configure() which returns -ENOSYS
for anything other than SIGNATURE or PERFECT, so validate failed.
Now parse only checks for a mode mismatch, validate succeeds, and
create fails later in txgbe_fdir_configure().

Keep the cheap mode check in parse so validate and create agree:

        if (rule->mode != RTE_FDIR_MODE_SIGNATURE &&
            rule->mode != RTE_FDIR_MODE_PERFECT)
                return -ENOTSUP;

        if (fdir_conf->mode != RTE_FDIR_MODE_NONE &&
            fdir_conf->mode != rule->mode)
                return -ENOTSUP;

[PATCH 3/3] net/txgbe: disable flow director when no rule is left

Info: txgbe_fdir_disable() restores a single packet buffer layout
(PB0 = rx_pb_size, PB1-7 = 0), not what txgbe_configure_dcb() set at
dev_start. That matches what txgbe_fdir_configure() already does, so
FDIR with DCB is already broken and this is not a new problem. If
you respin, consider saving the PBRXSIZE values before enabling FDIR
and restoring them on disable, or reject FDIR when DCB Rx is
configured.

Thanks for review.

Addressed in v2.

2/3 now rejects modes other than signature and perfect while
parsing, so validate and create both fail for a MAC VLAN rule.

On 3/3 I left the DCB packet buffer as it is. Enabling FDIR
already clears PBRXSIZE(1..7). Rejecting FDIR when DCB Rx is
configured can be a separate patch.

Reply via email to