[PATCH 0/3] net/txgbe: fix FDIR Rx packet buffer handling
Stephen Hemminger
stephen at networkplumber.org
Tue Oct 20 17:11:30 CEST 2026
On Thu, 15 Oct 2026 00:45:00 +0800
Zhang Tengfei <zhtfdev at gmail.com> wrote:
> 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.
Still waiting for ACK from a maintainer of that driver.
More information about the dev
mailing list