Message ID | 20241029164243.1648775-1-sil-plv@napatech.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 288AC45BC0; Tue, 29 Oct 2024 17:42:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B056842EA0; Tue, 29 Oct 2024 17:42:55 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 8A51E42E48 for <dev@dpdk.org>; Tue, 29 Oct 2024 17:42:54 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by mx-outbound12-25.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 29 Oct 2024 16:42:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i3Q6XV8j/RnKw3Y63Y7p3sgudQvsp8Dni3hI7UTUtDwCwXoG8KOn+9DdZbAeRYE4nKCvr6XtWQSbJ5ulnaTgWlR4bubkrCtDJlodlnNEmjpBUSlNIjp658lyZ9E76/RHJnA3rWhUIoZ+nw5t/3HG1p91KTgDWIs9mQlEIsj5ONhNfy6aSSjimnJrEq93IGNbG5AHQSc+1+5O33NwchrUxwt/yzC9uW7WkhwPYRoWumNZfduA/yn8sXUez1Xbz55pO8VD6Sij1e52KptyOr8+v8JZ8q+6Euk88SsdK3KH4LYUg8VD64dF8tsz8CKLvArAB8dhJ88iRQ8z3YzckFssiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=X/ARAWHaoPFCpgpAXepZO5B0eOI6P5RELDK8lCqHD+s=; b=DfqRE/E8/kN20Gr2oy23bDll19nUGQ9tWtt9JnzV75nI1nPG/c6xnRGtiKrgCxcmQYgN+vEqHHx+V9NksfB2phTXghVjQb123RFrrRKTsMgGQXnSqdCAo4G4Jdy5+fHp2nErh3/cjJ6sXwt/LenrPBIDDmuick+IicHivRTW72E6JlxbOUtbIxRTsLP+A9dIgkxZFpvvh/T77HqWdazVrWvT3Y6b4g6iIvA72oKz472qyoyxk+wPABYycanFlc6BbniOW9iwfzFa1XBVJ+hEj6QQ7nDCSHDbpHv7BQ46berdb8/vELPD5KAw2wNGpM7+6s0BCHA0eCV21/f2RZ+OkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X/ARAWHaoPFCpgpAXepZO5B0eOI6P5RELDK8lCqHD+s=; b=n4GD0wK1ri1OtsN74HWr2sVTuHeYoaIfIkJJmlKA7gr3CadJO/RJdcVt+KbbeF8PeWrc/Fa4ae+psXIebJrnujO+1r2A/XaeGOzIA8+bw49736mgrgR1g5q3SEGdkAGGQ4qThJq04yjCgCQMIGKFvKMXey/VQ7xFLY2jURN08ZE= Received: from DUZPR01CA0199.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b6::28) by AM8P190MB1009.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:1dc::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.29; Tue, 29 Oct 2024 16:42:48 +0000 Received: from DU2PEPF00028D06.eurprd03.prod.outlook.com (2603:10a6:10:4b6:cafe::bb) by DUZPR01CA0199.outlook.office365.com (2603:10a6:10:4b6::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.29 via Frontend Transport; Tue, 29 Oct 2024 16:42:48 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by DU2PEPF00028D06.mail.protection.outlook.com (10.167.242.166) with Microsoft SMTP Server id 15.20.8114.16 via Frontend Transport; Tue, 29 Oct 2024 16:42:47 +0000 From: Serhii Iliushyk <sil-plv@napatech.com> To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, andrew.rybchenko@oktetlabs.ru, ferruh.yigit@amd.com, stephen@networkplumber.org Subject: [PATCH v4 00/86] Provide flow filter API and statistics Date: Tue, 29 Oct 2024 17:41:04 +0100 Message-ID: <20241029164243.1648775-1-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241021210527.2075431-1-sil-plv@napatech.com> References: <20241021210527.2075431-1-sil-plv@napatech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PEPF00028D06:EE_|AM8P190MB1009:EE_ X-MS-Office365-Filtering-Correlation-Id: f2715709-76e3-4784-0ed5-08dcf838b889 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?q?jT0yk5AB5oZueyhKb6R2V5EZt9+zcn0?= =?utf-8?q?UMM+TGkBkMx9s420xvCpN4iI+pir6jbb07vKnGPGaCH2LeClMaEBmDvAcPrkX0J8s?= =?utf-8?q?/HBNrnRWMlbZWaG8hlrzuv11L50Rjyf0YSuHrJkpQZI9JYjbE/me6RjOBHOfXSyXB?= =?utf-8?q?aqfdfbt0axd21VeEQLzsG2gFrQS1JnwXpOScvLZdO1Kjw83vLsueh8AipjYTOJO5z?= =?utf-8?q?/dhd2kI6A13gbJVXfrHdbUpqRljap60GONhuqzhm3u6Ju65V57/tDyimsJh1DTrz8?= =?utf-8?q?Y1Qq/tiQ4xnktpRFbqDpRDU02iNZ/PJlWR0vC+0MyLxnm0rVtNbe1H0e5gpmKoXcB?= =?utf-8?q?3omBLalwUokuMKyuFjmJASxTqQZOKi+W5F1y+QnJ2wBEB5tF/wob8YNOgYyBpIENW?= =?utf-8?q?DVH/eYfARvTBxdXR5teOZOyIaURXhB6tNvdlpYVIHJTiuM3C1ziBGlvdhqqo8ofPL?= =?utf-8?q?bJ7fPtvuW50YXdGN28I8qO/Gj84ouuFt37HU84hLjYmMpTXHfgc/QJiCjwqaN7KrC?= =?utf-8?q?PMDpOtK1WRfx4B9C8vTLUmI7A7trlSEI6nvUn4LV+wUxrbGnT/+dDK3klbsK1Y5W5?= =?utf-8?q?6Fcw78a/bDztBw2edbgl5kbfia7PeR+ft6N4lWYWbh1/2XqzadHSm1kuGA+Qm3Lq2?= =?utf-8?q?acN1x6kRPLvv0AzZVA2hylIa4lYgUqb8lIwD0jdnKg+H5SbIg8hhimnY3w2aEkuuU?= =?utf-8?q?YhVDmaLtsfiLI3Yl5Cur61ba6uZFRX39lqft0ZVLH82b/qrH0M6K57m5SLshYqfXA?= =?utf-8?q?fv2auSUtthhYUfPewS9hxDhId9v45ranTy7/+OxLTiFoPVOxgjViXVFHg6QP0/eyL?= =?utf-8?q?URYy0Qq28mXy2CCN08RxGfNmV7dXLHh/mvHAJ5PvcIUbgzEGZVPh9HtXLcbjrS+LY?= =?utf-8?q?M5MOvdY9kirevaNfaYDmipB2MRn2xNukuus03nr1N67luLXdMVGXpLuHYg1cor5N2?= =?utf-8?q?7KdXKI3DtErfqEjWRNq1qZ757fARx1gaFqUb1ROSn8czqw8qIlHUizpimIqLDZ496?= =?utf-8?q?5mm1HejzsxwBEeq0LMrtgrKxrss3AzthTQeSP4UQNqM35iLv7MvojY/IA3UL6De+b?= =?utf-8?q?9q4Nj+ne1eWtwAepNds38Y1aRsSEekL+0uv9XJKnMeZjelhN3zhaA8SCcjCfhHYRq?= =?utf-8?q?nrWt8SFAAGqEK20Mhc1MpkCraa3bEmIqPQ0OJpeSXMPkpkZj5HGMwwaQeiPx9H1/m?= =?utf-8?q?lv+bC7zkBi4EXFKkfczWzI+ZfiwPQFT9R+gq/LcZGHpMPSKLAvv1l+tWa9ikEnOiL?= =?utf-8?q?Ef5Tuh9pqasETwNTrHZRq0szuoklLw7VyI56q2KmBnxXAbL8nYiI/QwPvhvX5zqBy?= =?utf-8?q?RByoANp31Vx6WEWtIWdJ04HRdXOolFwVTw=3D=3D?= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SlVXduQ2UITglQFE9Ew9oPrGkzG9MUC3/2MN6CZj16QeV6mAt8EvxIGhju5vjhcJvbak3s20zmzTOuKaC40aKhMucYP8Lz787UkO033RflB7hEHCBqThBWbcbQ6x+pEefVeDbk3heZI1J4hNzdhQSDWP/xZsBvSy06Cw/RA6pbXp8I3kye8z0a+JIYbZnJREgB6YbUcG+vpsJNYilJyBwN+Rd+ffpgJDZS/S3/Vawvl/SM7dzvSg+r2Eo5mmCfJmbBmp96Fd3MjMzQ1kH2Bw5CzC7Oif62Qt05Yw5qpMC86Yj+0cpA881AYZ1/mNVsj3SsH5D5o4v1wx/fkA0Ufogj2NmIvhR25h9XPbyTWfr8La6hRocA65D8xXozrZX2MKXAIFjfqXVLs/UmyWYiJ8O+9hSe48f42WUNdYE1Ocm5IIMeFHm+KJRKbLckWdxz4esk6UX3v4Tm9rbzMQDgP3XgtS1UdbwBUdNrrDlDGqOa90HRpiSPJfJIlEuM/0qHwgewM4N8vN8RybkXEZgp0q4O2h4Wh2kBoPCR9dPuIqrGOXaA+N9ZFsAOgyhslqnTaFrmFX4nvcGlzRyEmudfWwuF7qJaQ2My/uV7Q81TBTOmfQ+XzbFCjNN4KdmiskjD2jhA4L2e1mMUwNVNQPRv/oX8og/JnY0rChDvWqGiB2avY= X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2024 16:42:47.4802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f2715709-76e3-4784-0ed5-08dcf838b889 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028D06.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P190MB1009 X-BESS-ID: 1730220170-303097-12762-29312-1 X-BESS-VER: 2019.1_20241018.1852 X-BESS-Apparent-Source-IP: 104.47.17.107 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoZGBibGQGYGUDTV0MDYwNLMwi jNwCAt0SDZwCLZ2CDV0iQ50djU1NTSTKk2FgBZ/SRMQgAAAA== X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.260063 [from cloudscan20-98.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
Provide flow filter API and statistics
|
|
Message
Serhii Iliushyk
Oct. 29, 2024, 4:41 p.m. UTC
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) - 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. - Flow update. Update of the action list for specific flow - Asynchronous flow API - MTU update Update: the pthread API was replaced with RTE spinlock in the separate patch. Danylo Vodopianov (43): 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 net/ntnic: add action update net/ntnic: add flow action update net/ntnic: flow update was added net/ntnic: add async create/destroy API declaration net/ntnic: add async template API declaration net/ntnic: add async flow create/delete API implementation net/ntnic: add async template APIs implementation Oleksandr Kolomeiets (18): 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: update documentation net/ntnic: add MTU configuration Serhii Iliushyk (25): 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: update documentation for flow actions update net/ntnic: migrate to the RTE spinlock net/ntnic: remove unnecessary type cast net/ntnic: update async flow API documentation net/ntnic: update documentation for set MTU doc/guides/nics/features/ntnic.ini | 33 + doc/guides/nics/ntnic.rst | 52 + doc/guides/rel_notes/release_24_11.rst | 7 + 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 | 935 ++- 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 | 6086 +++++++++++++++++ .../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 + 79 files changed, 25772 insertions(+), 1109 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
Comments
On 10/29/2024 4:41 PM, Serhii Iliushyk wrote: > 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) > - 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. > - Flow update. Update of the action list for specific flow > - Asynchronous flow API > - MTU update > > Update: the pthread API was replaced with RTE spinlock in the separate patch. > > Danylo Vodopianov (43): > 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 > net/ntnic: add action update > net/ntnic: add flow action update > net/ntnic: flow update was added > net/ntnic: add async create/destroy API declaration > net/ntnic: add async template API declaration > net/ntnic: add async flow create/delete API implementation > net/ntnic: add async template APIs implementation > > Oleksandr Kolomeiets (18): > 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: update documentation > net/ntnic: add MTU configuration > > Serhii Iliushyk (25): > 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: update documentation for flow actions update > net/ntnic: migrate to the RTE spinlock > net/ntnic: remove unnecessary type cast > net/ntnic: update async flow API documentation > net/ntnic: update documentation for set MTU > Hi Serhii, After each patch, driver should build fine, this is required for git bisect testing, but in this patch series build fails after some patches, can you please check? Also a minor comment, in some patch titles 'API' is used, in DPDK scope API is functions exposed from library to application use, so almost all use of API is wrong, can you please update them? Like "net/ntnic: add flow filter API" can become "net/ntnic: support flow filter"