[PATCH v2 00/73] Provide flow filter API and statistics
Serhii Iliushyk
sil-plv at napatech.com
Tue Oct 22 18:54:17 CEST 2024
The list of updates provided by the patchset:
* Multiple TX and RX queues.
* Scattered and gather for TX and RX.
* RSS hash
* RSS key update
* RSS based on VLAN or 5-tuple.
* RSS using different combinations of fields: L3 only,
L4 only or both, and source only, destination only or both.
* Several RSS hash keys, one for each flow type.
* Default RSS operation with no hash key specification.
* VLAN filtering.
* RX VLAN stripping via raw decap.
* TX VLAN insertion via raw encap.
* Flow API.
* Multiple process.
* Tunnel types: GTP.
* Tunnel HW offload: Packet type, inner/outer RSS,
IP and UDP checksum verification.
* Support for multiple rte_flow groups.
* Encapsulation and decapsulation of GTP data.
* Packet modification: NAT, TTL decrement, DSCP tagging
* Traffic mirroring.
* Jumbo frame support.
* Port and queue statistics.
* RMON statistics in extended stats.
* Flow metering, including meter policy API.
* Link state information.
* CAM and TCAM based matching.
* Exact match of 140 million flows and policies.
* Basic stats
* Extended stats
* Flow metering, including meter policy API.
Danylo Vodopianov (34):
net/ntnic: add API for configuration NT flow dev
net/ntnic: add item UDP
net/ntnic: add action TCP
net/ntnic: add action VLAN
net/ntnic: add item SCTP
net/ntnic: add items IPv6 and ICMPv6
net/ntnic: add action modify filed
net/ntnic: add items gtp and actions raw encap/decap
net/ntnic: add cat module
net/ntnic: add SLC LR module
net/ntnic: add PDB module
net/ntnic: add QSL module
net/ntnic: add KM module
net/ntnic: add hash API
net/ntnic: add TPE module
net/ntnic: add FLM module
net/ntnic: add flm rcp module
net/ntnic: add learn flow queue handling
net/ntnic: match and action db attributes were added
net/ntnic: add statistics API
net/ntnic: add rpf module
net/ntnic: add statistics poll
net/ntnic: added flm stat interface
net/ntnic: add tsm module
net/ntnic: add xstats
net/ntnic: added flow statistics
net/ntnic: add scrub registers
net/ntnic: added flow aged APIs
net/ntnic: add aged API to the inline profile
net/ntnic: add info and configure flow API
net/ntnic: add aged flow event
net/ntnic: add thread termination
net/ntnic: add meter module
net/ntnic: add meter documentation
Oleksandr Kolomeiets (17):
net/ntnic: add flow dump feature
net/ntnic: add flow flush
net/ntnic: sort FPGA registers alphanumerically
net/ntnic: add MOD CSU
net/ntnic: add MOD FLM
net/ntnic: add HFU module
net/ntnic: add IFR module
net/ntnic: add MAC Rx module
net/ntnic: add MAC Tx module
net/ntnic: add RPP LR module
net/ntnic: add MOD SLC LR
net/ntnic: add Tx CPY module
net/ntnic: add Tx INS module
net/ntnic: add Tx RPL module
net/ntnic: add STA module
net/ntnic: add TSM module
net/ntnic: update documentation
Serhii Iliushyk (22):
net/ntnic: add flow filter API
net/ntnic: add minimal create/destroy flow operations
net/ntnic: add internal flow create/destroy API
net/ntnic: add minimal NT flow inline profile
net/ntnic: add management API for NT flow profile
net/ntnic: add NT flow profile management implementation
net/ntnic: add create/destroy implementation for NT flows
net/ntnic: add infrastructure for for flow actions and items
net/ntnic: add action queue
net/ntnic: add action mark
net/ntnic: add ation jump
net/ntnic: add action drop
net/ntnic: add item eth
net/ntnic: add item IPv4
net/ntnic: add item ICMP
net/ntnic: add item port ID
net/ntnic: add item void
net/ntnic: add GMF (Generic MAC Feeder) module
net/ntnic: update alignment for virt queue structs
net/ntnic: enable RSS feature
net/ntnic: add age documentation
net/ntnic: add meter API
doc/guides/nics/features/ntnic.ini | 32 +
doc/guides/nics/ntnic.rst | 49 +
doc/guides/rel_notes/release_24_11.rst | 16 +-
drivers/net/ntnic/adapter/nt4ga_adapter.c | 29 +-
.../net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c | 598 ++
drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c | 7 +-
.../net/ntnic/include/common_adapter_defs.h | 15 +
drivers/net/ntnic/include/create_elements.h | 73 +
drivers/net/ntnic/include/flow_api.h | 138 +
drivers/net/ntnic/include/flow_api_engine.h | 314 +
drivers/net/ntnic/include/flow_filter.h | 1 +
drivers/net/ntnic/include/hw_mod_backend.h | 248 +
drivers/net/ntnic/include/nt4ga_adapter.h | 2 +
drivers/net/ntnic/include/ntdrv_4ga.h | 4 +
drivers/net/ntnic/include/ntnic_stat.h | 265 +
drivers/net/ntnic/include/ntos_drv.h | 24 +
.../ntnic/include/stream_binary_flow_api.h | 67 +
.../link_mgmt/link_100g/nt4ga_link_100g.c | 8 +
drivers/net/ntnic/meson.build | 20 +
.../net/ntnic/nthw/core/include/nthw_core.h | 1 +
.../net/ntnic/nthw/core/include/nthw_gmf.h | 64 +
.../net/ntnic/nthw/core/include/nthw_rmc.h | 6 +
.../net/ntnic/nthw/core/include/nthw_rpf.h | 48 +
.../net/ntnic/nthw/core/include/nthw_tsm.h | 56 +
drivers/net/ntnic/nthw/core/nthw_fpga.c | 47 +
drivers/net/ntnic/nthw/core/nthw_gmf.c | 133 +
drivers/net/ntnic/nthw/core/nthw_rmc.c | 30 +
drivers/net/ntnic/nthw/core/nthw_rpf.c | 119 +
drivers/net/ntnic/nthw/core/nthw_tsm.c | 167 +
drivers/net/ntnic/nthw/flow_api/flow_api.c | 759 +++
drivers/net/ntnic/nthw/flow_api/flow_group.c | 99 +
drivers/net/ntnic/nthw/flow_api/flow_hasher.c | 156 +
drivers/net/ntnic/nthw/flow_api/flow_hasher.h | 21 +
.../net/ntnic/nthw/flow_api/flow_id_table.c | 147 +
.../net/ntnic/nthw/flow_api/flow_id_table.h | 26 +
drivers/net/ntnic/nthw/flow_api/flow_km.c | 1171 ++++
.../ntnic/nthw/flow_api/hw_mod/hw_mod_cat.c | 457 ++
.../ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c | 640 ++
.../ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c | 179 +
.../ntnic/nthw/flow_api/hw_mod/hw_mod_km.c | 380 ++
.../ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c | 144 +
.../ntnic/nthw/flow_api/hw_mod/hw_mod_qsl.c | 218 +
.../nthw/flow_api/hw_mod/hw_mod_slc_lr.c | 100 +
.../ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c | 757 +++
.../flow_api/profile_inline/flm_age_queue.c | 166 +
.../flow_api/profile_inline/flm_age_queue.h | 42 +
.../flow_api/profile_inline/flm_evt_queue.c | 293 +
.../flow_api/profile_inline/flm_evt_queue.h | 55 +
.../flow_api/profile_inline/flm_lrn_queue.c | 70 +
.../flow_api/profile_inline/flm_lrn_queue.h | 25 +
.../profile_inline/flow_api_hw_db_inline.c | 2851 +++++++++
.../profile_inline/flow_api_hw_db_inline.h | 374 ++
.../profile_inline/flow_api_profile_inline.c | 5272 +++++++++++++++++
.../profile_inline/flow_api_profile_inline.h | 76 +
.../flow_api_profile_inline_config.h | 129 +
.../net/ntnic/nthw/model/nthw_fpga_model.c | 12 +
.../net/ntnic/nthw/model/nthw_fpga_model.h | 1 +
.../net/ntnic/nthw/ntnic_meter/ntnic_meter.c | 483 ++
drivers/net/ntnic/nthw/rte_pmd_ntnic.h | 43 +
drivers/net/ntnic/nthw/stat/nthw_stat.c | 498 ++
.../supported/nthw_fpga_9563_055_049_0000.c | 3317 +++++++----
.../ntnic/nthw/supported/nthw_fpga_mod_defs.h | 11 +-
.../nthw/supported/nthw_fpga_mod_str_map.c | 2 +
.../ntnic/nthw/supported/nthw_fpga_reg_defs.h | 5 +
.../supported/nthw_fpga_reg_defs_mac_rx.h | 29 +
.../supported/nthw_fpga_reg_defs_mac_tx.h | 21 +
.../nthw/supported/nthw_fpga_reg_defs_rpf.h | 19 +
.../nthw/supported/nthw_fpga_reg_defs_sta.h | 48 +
.../nthw/supported/nthw_fpga_reg_defs_tsm.h | 205 +
drivers/net/ntnic/ntnic_ethdev.c | 750 ++-
drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 940 +++
drivers/net/ntnic/ntnic_mod_reg.c | 93 +
drivers/net/ntnic/ntnic_mod_reg.h | 233 +
drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c | 829 +++
drivers/net/ntnic/ntutil/nt_util.h | 12 +
75 files changed, 23690 insertions(+), 1049 deletions(-)
create mode 100644 drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c
create mode 100644 drivers/net/ntnic/include/common_adapter_defs.h
create mode 100644 drivers/net/ntnic/include/create_elements.h
create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_gmf.h
create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_rpf.h
create mode 100644 drivers/net/ntnic/nthw/core/include/nthw_tsm.h
create mode 100644 drivers/net/ntnic/nthw/core/nthw_gmf.c
create mode 100644 drivers/net/ntnic/nthw/core/nthw_rpf.c
create mode 100644 drivers/net/ntnic/nthw/core/nthw_tsm.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_group.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_hasher.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_hasher.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_id_table.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_id_table.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_age_queue.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_age_queue.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_evt_queue.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_evt_queue.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_lrn_queue.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flm_lrn_queue.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h
create mode 100644 drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline_config.h
create mode 100644 drivers/net/ntnic/nthw/ntnic_meter/ntnic_meter.c
create mode 100644 drivers/net/ntnic/nthw/rte_pmd_ntnic.h
create mode 100644 drivers/net/ntnic/nthw/stat/nthw_stat.c
create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_mac_rx.h
create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_mac_tx.h
create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_rpf.h
create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_sta.h
create mode 100644 drivers/net/ntnic/nthw/supported/nthw_fpga_reg_defs_tsm.h
create mode 100644 drivers/net/ntnic/ntnic_filter/ntnic_filter.c
create mode 100644 drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c
--
2.45.0
More information about the dev
mailing list