[PATCH 0/3] net/txgbe: fix FDIR Rx packet buffer handling

Zhang Tengfei zhtfdev at gmail.com
Wed Oct 14 18:45:00 CEST 2026


On 10/13/26 22:45, Stephen Hemminger wrote:
> On Tue, 13 Oct 2026 22:00:16 +0800
> Zhang Tengfei <zhtfdev at gmail.com> 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.


More information about the dev mailing list