The list of updates provided by the patchset: - FW version - Speed capabilities - Link status (Link update only) - Unicast MAC filter - Multicast MAC filter - Promiscuous mode (Enable only. The device always run promiscuous mode) - Flow API support. - Support for multiple rte_flow groups. - Multiple TX and RX queues. - Scattered and gather for TX and RX. - Jumbo frame support. - Traffic mirroring. - VLAN filtering. - Packet modification: NAT, TTL decrement, DSCP tagging - Tunnel types: GTP. - Encapsulation and decapsulation of GTP data. - RX VLAN stripping via raw decap. - TX VLAN insertion via raw encap. - CAM and TCAM based matching. - Exact match of 140 million flows and policies. - Tunnel HW offload: Packet type, inner/outer RSS, IP and UDP checksum verification. - 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. - Port and queue statistics. - RMON statistics in extended stats. - Link state information. - Flow statistics - Flow aging support - Flow metering, including meter policy API. - Flow update. Update of the action list for specific flow - Asynchronous flow support - MTU update
Update: the pthread API was replaced with RTE spinlock in the separate patch. Danylo Vodopianov (41): net/ntnic: add NT flow dev configuration 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 support 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 high-level flow aging support net/ntnic: add aging to the inline profile net/ntnic: add flow info and flow configure support net/ntnic: add flow aging event net/ntnic: add termination thread net/ntnic: add meter support net/ntnic: add meter module net/ntnic: add action update support net/ntnic: add flow action update net/ntnic: add flow actions update net/ntnic: add async create/destroy declaration net/ntnic: add async template declaration net/ntnic: add async flow create/delete implementation net/ntnic: add async template implementation Oleksandr Kolomeiets (17): net/ntnic: add flow dump feature net/ntnic: add flow flush net/ntnic: sort FPGA registers alphanumerically net/ntnic: add CSU module registers net/ntnic: add FLM module registers net/ntnic: add HFU module registers net/ntnic: add IFR module registers net/ntnic: add MAC Rx module registers net/ntnic: add MAC Tx module registers net/ntnic: add RPP LR module registers net/ntnic: add SLC LR module registers net/ntnic: add Tx CPY module registers net/ntnic: add Tx INS module registers net/ntnic: add Tx RPL module registers net/ntnic: add STA module net/ntnic: add TSM module net/ntnic: add MTU configuration Serhii Iliushyk (22): net/ntnic: add flow filter support net/ntnic: add minimal create/destroy flow operations net/ntnic: add internal functions for create/destroy net/ntnic: add minimal NT flow inline profile net/ntnic: add management functions 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: migrate to the RTE spinlock net/ntnic: remove unnecessary doc/guides/nics/features/default.ini | 2 +- doc/guides/nics/features/ntnic.ini | 34 + doc/guides/nics/ntnic.rst | 50 + doc/guides/rel_notes/release_24_11.rst | 8 + 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 | 142 +- drivers/net/ntnic/include/flow_api_engine.h | 380 + drivers/net/ntnic/include/flow_filter.h | 1 + drivers/net/ntnic/include/hw_mod_backend.h | 256 + drivers/net/ntnic/include/nt4ga_adapter.h | 2 + drivers/net/ntnic/include/ntdrv_4ga.h | 5 + 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_i2cm.h | 4 +- .../net/ntnic/nthw/core/include/nthw_rmc.h | 6 + .../net/ntnic/nthw/core/include/nthw_rpf.h | 49 + .../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 | 120 + drivers/net/ntnic/nthw/core/nthw_tsm.c | 167 + drivers/net/ntnic/nthw/flow_api/flow_api.c | 923 ++- 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 | 145 + .../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 | 853 +++ .../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 | 3000 ++++++++ .../profile_inline/flow_api_hw_db_inline.h | 394 ++ .../profile_inline/flow_api_profile_inline.c | 6082 +++++++++++++++++ .../profile_inline/flow_api_profile_inline.h | 132 + .../flow_api_profile_inline_config.h | 127 + .../ntnic/nthw/flow_filter/flow_nthw_flm.c | 47 +- .../net/ntnic/nthw/model/nthw_fpga_model.c | 12 + .../net/ntnic/nthw/model/nthw_fpga_model.h | 1 + drivers/net/ntnic/nthw/nthw_rac.c | 38 +- drivers/net/ntnic/nthw/nthw_rac.h | 2 +- .../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 | 813 ++- drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 1348 ++++ drivers/net/ntnic/ntnic_mod_reg.c | 111 + drivers/net/ntnic/ntnic_mod_reg.h | 331 + drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c | 829 +++ drivers/net/ntnic/ntutil/nt_util.h | 12 + 80 files changed, 25744 insertions(+), 1123 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