DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 0/8] retire legacy flow director API
Date: Thu, 28 May 2026 14:37:12 -0700	[thread overview]
Message-ID: <20260528213816.562910-1-stephen@networkplumber.org> (raw)

The flow director (fdir) configuration API in <rte_eth_ctrl.h> was
superseded by rte_flow in 17.05 but never removed. This series
finishes the job: 26.07 retires the user-facing surface and
decouples driver internals from the public ABI; the 26.11
deprecation notice covers the public ABI removal itself.

User-visible changes in 26.07:

  - testpmd commands gone: `show port fdir`, `clear port fdir`,
    `flow_director_filter`, `port config ... pctype mapping ...`,
    and `port config ... hash_inset|fdir_inset|fdir_flx_inset ...`.
    Use the `flow` command instead.

  - Experimental functions gone:
    rte_pmd_{i40e,ixgbe}_get_fdir_info() and
    rte_pmd_{i40e,ixgbe}_get_fdir_stats(). Removed early to give
    out-of-tree callers a build-time signal ahead of 26.11.

  - <rte_pmd_i40e.h> filter configuration entry points are marked
    __rte_deprecated. -Werror sources will need
    -Wno-deprecated-declarations, or migration to rte_flow, before
    26.11.

Scheduled for 26.11 (announced in deprecation.rst):

  - Flow director types in <rte_eth_ctrl.h> and the driver-facing
    definitions in <ethdev_driver.h>.

  - PMD-private filter API in <rte_pmd_i40e.h>.

The ixgbe and txgbe patches at the tail privatize internals that
still used the legacy types — mechanical rename, no behavior
change, so the 26.11 struct removal can proceed without further
per-driver coupling.

The mbuf-side fdir metadata (RTE_MBUF_F_RX_FDIR* flags and the
hash.fdir field) is unaffected — it is used by the rte_flow MARK
and FLAG actions, not part of the legacy filter API.

Stephen Hemminger (8):
  app/testpmd: remove support for flow director
  net/i40e: remove testpmd flow filter commands
  net/i40e: deprecate legacy flow filter API
  net/i40e: remove experimental FDIR API
  net/ixgbe: remove experimental FDIR API
  doc: announce legacy flow director deprecation
  net/ixgbe: privatize legacy flow director types
  net/txgbe: privatize legacy flow director types

 app/test-pmd/cmdline.c                        |  21 +-
 app/test-pmd/config.c                         | 163 -----
 app/test-pmd/testpmd.h                        |   3 -
 doc/guides/nics/i40e.rst                      |  70 +-
 doc/guides/rel_notes/deprecation.rst          |  10 +
 doc/guides/rel_notes/release_26_07.rst        |  14 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst   |  36 -
 drivers/net/intel/i40e/i40e_ethdev.c          |   4 +-
 drivers/net/intel/i40e/i40e_ethdev.h          |   4 -
 drivers/net/intel/i40e/i40e_fdir.c            | 140 ----
 drivers/net/intel/i40e/i40e_flow.c            |   3 +-
 drivers/net/intel/i40e/i40e_testpmd.c         | 642 ------------------
 drivers/net/intel/i40e/rte_pmd_i40e.c         |  34 -
 drivers/net/intel/i40e/rte_pmd_i40e.h         | 113 ++-
 drivers/net/intel/ixgbe/ixgbe_ethdev.c        |  12 +-
 drivers/net/intel/ixgbe/ixgbe_ethdev.h        | 100 ++-
 drivers/net/intel/ixgbe/ixgbe_fdir.c          | 241 ++-----
 drivers/net/intel/ixgbe/ixgbe_flow.c          |  28 +-
 .../net/intel/ixgbe/ixgbe_rxtx_vec_common.c   |   4 +-
 drivers/net/intel/ixgbe/rte_pmd_ixgbe.c       |  34 -
 drivers/net/intel/ixgbe/rte_pmd_ixgbe.h       |  32 -
 drivers/net/txgbe/txgbe_ethdev.c              |   6 +-
 drivers/net/txgbe/txgbe_ethdev.h              | 101 ++-
 drivers/net/txgbe/txgbe_fdir.c                |  78 +--
 drivers/net/txgbe/txgbe_flow.c                |  24 +-
 drivers/net/txgbe/txgbe_rxtx_vec_common.h     |   4 +-
 26 files changed, 448 insertions(+), 1473 deletions(-)

-- 
2.53.0


             reply	other threads:[~2026-05-28 21:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-28 21:37 Stephen Hemminger [this message]
2026-05-28 21:37 ` [RFC 1/8] app/testpmd: remove support for flow director Stephen Hemminger
2026-05-28 21:37 ` [RFC 2/8] net/i40e: remove testpmd flow filter commands Stephen Hemminger
2026-05-28 21:37 ` [RFC 3/8] net/i40e: deprecate legacy flow filter API Stephen Hemminger
2026-05-28 21:37 ` [RFC 4/8] net/i40e: remove experimental FDIR API Stephen Hemminger
2026-05-28 21:37 ` [RFC 5/8] net/ixgbe: " Stephen Hemminger
2026-05-28 21:37 ` [RFC 6/8] doc: announce legacy flow director deprecation Stephen Hemminger
2026-05-28 21:37 ` [RFC 7/8] net/ixgbe: privatize legacy flow director types Stephen Hemminger
2026-05-28 21:37 ` [RFC 8/8] net/txgbe: " Stephen Hemminger
2026-05-29  7:29   ` Jiawen Wu

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=20260528213816.562910-1-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox