On Wed, Aug 05, 2026 at 10:08:54PM -0700, Stephen Hemminger wrote: > The original flow support in DPDK was Intel-specific and built around > the flow director feature. It was superseded by the generic rte_flow > API introduced in the 17.02 release. The direct API calls to flow > director were removed in 20.11, but the data structures were never > removed and drivers still use them. Some Intel drivers also carry > driver-specific APIs related to flow director. > > These vestiges mean applications can still see flow director data > structures, since rte_ethdev.h pulls in rte_eth_ctrl.h. It also means > several drivers and libraries have come to depend on network header > definitions arriving indirectly. > > Since drivers still need these definitions, rte_eth_ctrl.h is renamed > to ethdev_fdir.h and the remaining bits in ethdev_driver.h are folded > into it. This is a driver SDK header, not public API, and exists only > so that drivers still carrying legacy flow director state have > somewhere to get these definitions. New drivers should not use it. > > Applications relying on the indirect includes will need to add explicit > ones; this is a source level change only, with no ABI impact. The fdir > option of the testpmd "show port" and "clear port" commands is also > removed. > > v4 - fix AI review comments > - fix build of enetfec > - cleanup more leftovers from flow director in testpmd > > Stephen Hemminger (23): > drivers/net: remove unused include in dpaa and dpaa2 > ethdev: use DPDK byte order conversion > net/ixgbe: remove experimental FDIR API > net/i40e: remove experimental FDIR API > app/testpmd: remove support for flow director > app/testpmd: move str_to_flowtype to i40e > app/test: include headers directly > gro: include headers directly > crypto/dpaa_sec: include UDP header > net/gve: include UDP, SCTP and TCP headers > net/nfp: break implicit dependency on rte_eth_ctrl.h > net/mana: include used network headers > node: get UDP header > net/rnp: include network headers > net/r8169: get network headers > net/ngbe: include network protocol headers > examples: include network headers > net/mlx5: include rte_flow as needed > net/sfc: include rte_flow > net/intel/common: include network headers > net/enetfec: add missing sys/types.h include > ethdev, drivers: isolate flow director > doc: add release note about rte_ethdev changes > I think this patchset needs to be split up, as many patches have no relevance to flow director that I can see. The various patches cleaning up header includes should be in one patchset. The byte order conversion change probably belongs as a standalone patch, and then the actual fdir changes go as a final patchset.
/Bruce

