From: Stephen Hemminger <stephen@networkplumber.org>
To: Zhang Tengfei <zhtfdev@gmail.com>
Cc: dev@dpdk.org, jiawenwu@trustnetic.com, zaiyuwang@trustnetic.com
Subject: Re: [PATCH 0/3] net/txgbe: fix FDIR Rx packet buffer handling
Date: Tue, 13 Oct 2026 07:45:55 -0700 [thread overview]
Message-ID: <20261013074555.1ab5dc7c@phoenix.local> (raw)
In-Reply-To: <cover.1791898970.git.zhtfdev@gmail.com>
On Tue, 13 Oct 2026 22:00:16 +0800
Zhang Tengfei <zhtfdev@gmail.com> wrote:
> Enabling Flow Director reduces the Rx packet buffer 0 to reserve memory
> for the filter table, but the size was computed from the current
> register value and never restored when FDIR was no longer used. Since
> the FDIR mode is reset when the last rule is removed, on flush, or when
> enabling FDIR fails, the next rule enabled FDIR again and shrank the
> buffer once more, until it underflowed. Validating a rule also enabled
> FDIR.
>
> Patch 1 computes the buffer size from the default packet buffer size,
> which alone stops the repeated reduction.
> Patch 2 stops enabling FDIR from flow validate and rolls back the mode
> when the first rule fails.
> Patch 3 disables FDIR and restores the buffer when no rule is left.
>
> The same issue was fixed in ixgbe:
> <https://patches.dpdk.org/project/dpdk/patch/20260927042545.45152-1-zhtfdev@gmail.com>
>
> Compile tested only.
>
> Zhang Tengfei (3):
> net/txgbe: fix Rx packet buffer size with flow director
> net/txgbe: do not enable flow director on flow validate
> net/txgbe: disable flow director when no rule is left
>
> drivers/net/txgbe/txgbe_ethdev.h | 1 +
> drivers/net/txgbe/txgbe_fdir.c | 36 +++++++++++++++----
> drivers/net/txgbe/txgbe_flow.c | 60 +++++++++++++++++---------------
> 3 files changed, 62 insertions(+), 35 deletions(-)
>
AI review saw a warning that would be easy to fix.
Subject: Re: [PATCH 0/3] net/txgbe: flow director state fixes
Applied to main, each commit builds with -Dwerror=true. Fixes: tags
check out.
Series looks right overall; one validate regression in 2/3.
[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.
prev parent reply other threads:[~2026-10-13 14:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 14:00 [PATCH 0/3] net/txgbe: fix FDIR Rx packet buffer handling Zhang Tengfei
2026-10-13 14:00 ` [PATCH 1/3] net/txgbe: fix Rx packet buffer size with flow director Zhang Tengfei
2026-10-13 14:00 ` [PATCH 2/3] net/txgbe: do not enable flow director on flow validate Zhang Tengfei
2026-10-13 14:00 ` [PATCH 3/3] net/txgbe: disable flow director when no rule is left Zhang Tengfei
2026-10-13 14:45 ` Stephen Hemminger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261013074555.1ab5dc7c@phoenix.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=jiawenwu@trustnetic.com \
--cc=zaiyuwang@trustnetic.com \
--cc=zhtfdev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.