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.
NOTE: Please ignore the disclaimer. We are working on fix it. Danylo Vodopianov (36): 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: add flow aging API net/ntnic: add aging API to the inline profile net/ntnic: add flow info and flow configure APIs net/ntnic: add flow aging event net/ntnic: add termination thread net/ntnic: add aging documentation net/ntnic: add meter API net/ntnic: add meter module net/ntnic: update 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 (20): 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 doc/guides/nics/features/ntnic.ini | 32 + doc/guides/nics/ntnic.rst | 49 + doc/guides/rel_notes/release_24_11.rst | 4 + 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 | 328 + drivers/net/ntnic/include/flow_filter.h | 1 + drivers/net/ntnic/include/hw_mod_backend.h | 252 + 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 | 723 +++ .../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 | 164 + .../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 | 2987 +++++++++ .../profile_inline/flow_api_hw_db_inline.h | 392 ++ .../profile_inline/flow_api_profile_inline.c | 5361 +++++++++++++++++ .../profile_inline/flow_api_profile_inline.h | 76 + .../flow_api_profile_inline_config.h | 77 + .../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 | 744 ++- drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 940 +++ drivers/net/ntnic/ntnic_mod_reg.c | 96 + drivers/net/ntnic/ntnic_mod_reg.h | 225 + drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c | 829 +++ drivers/net/ntnic/ntutil/nt_util.h | 12 + 75 files changed, 23963 insertions(+), 1043 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