[PATCH v4 0/8] start cleanup of rte_flow_item_*
Ferruh Yigit
ferruh.yigit at amd.com
Thu Jan 26 14:17:51 CET 2023
There was a plan to have structures from lib/net/ at the beginning
of corresponding flow item structures.
Unfortunately this plan has not been followed up so far.
This series is a step to make the most used items,
compliant with the inheritance design explained above.
The old API is kept in anonymous union for compatibility,
but the code in drivers and apps is updated to use the new API.
v4:
* Fix build error for RHEL7 (gcc 4.8.5) caused by nested struct
initialization.
v3:
* Updated Higig2 protocol flow item assignment taking into account endianness
annotations.
v2: (by Ferruh)
* Rebased on latest next-net for v23.03
* 'struct rte_gre_hdr' endianness annotation added to protocol field
* more driver code updated for rte_flow_item_eth & rte_flow_item_vlan
* 'struct rte_gre_hdr' updated to have a combined "rte_be16_t c_rsvd0_ver"
field and updated drivers accordingly
* more driver code updated for rte_flow_item_gre
* more driver code updated for rte_flow_item_gtp
Cc: David Marchand <david.marchand at redhat.com>
Thomas Monjalon (8):
ethdev: use Ethernet protocol struct for flow matching
net: add smaller fields for VXLAN
ethdev: use VXLAN protocol struct for flow matching
ethdev: use GRE protocol struct for flow matching
ethdev: use GTP protocol struct for flow matching
ethdev: use ARP protocol struct for flow matching
doc: fix description of L2TPV2 flow item
net: mark all big endian types
app/test-flow-perf/actions_gen.c | 2 +-
app/test-flow-perf/items_gen.c | 24 +--
app/test-pmd/cmdline_flow.c | 180 +++++++++++-----------
doc/guides/prog_guide/rte_flow.rst | 57 ++-----
doc/guides/rel_notes/deprecation.rst | 6 +-
drivers/net/bnxt/bnxt_flow.c | 54 +++----
drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 112 +++++++-------
drivers/net/bonding/rte_eth_bond_pmd.c | 12 +-
drivers/net/cxgbe/cxgbe_flow.c | 44 +++---
drivers/net/dpaa2/dpaa2_flow.c | 60 ++++----
drivers/net/dpaa2/dpaa2_mux.c | 2 +-
drivers/net/e1000/igb_flow.c | 14 +-
drivers/net/enic/enic_flow.c | 24 +--
drivers/net/enic/enic_fm_flow.c | 16 +-
drivers/net/hinic/hinic_pmd_flow.c | 14 +-
drivers/net/hns3/hns3_flow.c | 40 ++---
drivers/net/i40e/i40e_fdir.c | 14 +-
drivers/net/i40e/i40e_flow.c | 124 +++++++--------
drivers/net/i40e/i40e_hash.c | 4 +-
drivers/net/iavf/iavf_fdir.c | 18 +--
drivers/net/iavf/iavf_fsub.c | 10 +-
drivers/net/iavf/iavf_ipsec_crypto.c | 4 +-
drivers/net/ice/ice_acl_filter.c | 20 +--
drivers/net/ice/ice_fdir_filter.c | 24 +--
drivers/net/ice/ice_switch_filter.c | 64 ++++----
drivers/net/igc/igc_flow.c | 8 +-
drivers/net/ipn3ke/ipn3ke_flow.c | 12 +-
drivers/net/ixgbe/ixgbe_flow.c | 58 +++----
drivers/net/mlx4/mlx4_flow.c | 38 ++---
drivers/net/mlx5/hws/mlx5dr_definer.c | 48 +++---
drivers/net/mlx5/mlx5_flow.c | 62 ++++----
drivers/net/mlx5/mlx5_flow_dv.c | 184 ++++++++++++-----------
drivers/net/mlx5/mlx5_flow_hw.c | 80 +++++-----
drivers/net/mlx5/mlx5_flow_verbs.c | 46 +++---
drivers/net/mlx5/mlx5_trigger.c | 28 ++--
drivers/net/mvpp2/mrvl_flow.c | 28 ++--
drivers/net/nfp/nfp_flow.c | 21 +--
drivers/net/sfc/sfc_flow.c | 52 +++----
drivers/net/sfc/sfc_mae.c | 46 +++---
drivers/net/tap/tap_flow.c | 58 +++----
drivers/net/txgbe/txgbe_flow.c | 28 ++--
lib/ethdev/rte_flow.h | 121 ++++++++++-----
lib/net/rte_arp.h | 28 ++--
lib/net/rte_gre.h | 7 +-
lib/net/rte_higig.h | 6 +-
lib/net/rte_mpls.h | 2 +-
lib/net/rte_vxlan.h | 35 ++++-
47 files changed, 987 insertions(+), 952 deletions(-)
--
2.25.1
More information about the dev
mailing list