From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0045.outbound.protection.outlook.com [104.47.36.45]) by dpdk.org (Postfix) with ESMTP id D52F47D06 for ; Sun, 8 Oct 2017 14:45:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=L0iXC5P/YqZWsN6dfXy8AY0yZAd5x5X9qL+TaK767tc=; b=PCrQhOFVw0KIULPLHpmf03DNkrCLFtp/kc9Swpv50DbFPLoKqmia3X0Osyw9O9BNTIL9JfPvvqUqBlYLlxyaSKO/0+DliVAWWOt7Qk0g7s533MKK4v85kwrJ3uYCR1b4CTipryvGj3lJaEus56adGl9CaTjem9r5CieWPdkEIpo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (14.140.2.178) by BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Sun, 8 Oct 2017 12:45:18 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: ferruh.yigit@intel.com, jerin.jacob@caviumnetworks.com, Santosh Shukla Date: Sun, 8 Oct 2017 18:14:04 +0530 Message-Id: <20171008124430.1866-1-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170831145436.5397-1-jerin.jacob@caviumnetworks.com> References: <20170831145436.5397-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: MA1PR01CA0113.INDPRD01.PROD.OUTLOOK.COM (10.174.56.157) To BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bc447dee-a248-44a9-fdb2-08d50e4a6f73 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:BN6PR07MB3089; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 3:FMw5Qmia3LWfpteko+gcVvdNtelqJwvfOqBYioitwzi5b6a3UKYlpg5DLWQAfyVZO0/ATQNaFVw9s5m4mWyPDAhPqsXNoexcteqpd0/J2GKafJOKhTpZiF09dcDODfaS6KOXH+X5oh44RM9uYYCn5WKtX0OdhR8gI2s4c8wWeqaI/rEEJuzs8fq+IfmKVeltlTAR0Gg9TpzpRX2X4mBM8U/Yq3Q4HL22OynyX6eqit7inODcBgU4wFUXu5f9PpHY; 25:yFw1UrS8S57QYumKCIvGbhnF/xIxS/crQDzxO27HmYmsuleCeu1xyYl5zzXOckwlJmITUBwGvBXxG7xPquLtwPbxiBRrPb2I9s/WEJaASh/17mf33msL6NU61hxLSknykwq7cv2+VKyJAVklkz3mAzfJWZAn0I8+pZIZjQKOcAGd328+HLKn1IpVFKyZUwTePzdOlE/XDRFxivnrFPCzOxdL9EYweUJF6Kyye7GV/ySEnzcY5SnVRJn+253ZfpnpafW07Tbtk0fcmwVL04b1W4stLCBR+YVN7N4vrZfwh/0inFsekTbPnfN2b6hsTLMwCNefSyAYJMysgHnTiqakQg==; 31:WirjZYsQL3K3wk6fZFQECp6K/H6ZkdVqZsUkwFDxspPRg41MVi6yEOPvQLn47qneiOYnzNr0dhhLr49uMyLjqemLeuJKJfrIF8M6JhsbCnYVfrhUgJrVEF8rNJ/K7HNOtHbRcj87mhpENPrOEjCIjxDh4Y4Lr6gJX9zLbnjeFn1g8LfyZXkdy+qyh3v5ovMeSaloLYJYhLykOBdoaqBwSeQvFjwIc/QEiJP4Z9BUxb0= X-MS-TrafficTypeDiagnostic: BN6PR07MB3089: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 20:sxyOAb2vjpcUKFigyy0a93015ez20gsVU90MXI5Hf0LDcW8UfkfLQI4I+JhMcg5aQgeK7i3pA9UzHFeq3vF8XoBUqLss5NXsJWUUFH9GeEjzZGV8NTTNmj9vYQ+9KFRKFZnu0HOPaBQgxzjzA19T1IhJHXqakIojdRwL/udTPSQd540XcBTupRt99InOFUl/wBF3Dy9BftML2u6VHUctpRrY057Yb0tcbgNdiBSl6P95kdH5ZIMbL7hMXzZmqDqUo/AuCldlm62shL/7CNN1Hx3GEp4cm2X82mw9nRidtemjl1uBxJMgMqdlURZZiw6FiY3K+Cu1UVt/5nNZ5UCQCQrM11nrW+0iPZqbFHd3I+1kBu2wlX+H6RfUOY1zo8A9xmkmHavWHTldUUt1RsWHiRJVuoAJECsFDibXX3dB2obACUo07ZHIW8gpBop80nK+el0g8jjxclKYcxzVE8277Mh7yyX4Lt6Z4kFPJ26A9Wl7to7udb+VxR9lFefJr9HjJ9QWTYEGVvRMOGXbxzZfqMGf8CaVgLj1ispPjQFVrOFMWmQcowvSUIR4SX7boU1hyhVhUZkjUqM8N9/j7lxtpc10KqKPnYXgeZrKY9EB8T8=; 4:0V0mcv4hKmGAQqLeYZ4hJgddIfQvlaA9DUT62I/XKMckMWngEKn2x3NcHP7jHfuIDI61FelQ5BSyA1elHlTU7WXIKbCo7GrUyvZJ35iHL9AxhaZmWcYRHYCMYKGmcSTpjWOokADemuElKj969ZY54ZaMi0hlMZCACYkkBFNtD4amG2umP+tnaMmiq2ZcQkd9JZ2/Qe6uKG0F677FXwFDij2qsyD9d4CaFslZUsi7l7Z71QbDUTUBMH9UMvUgSOJLGIVCiOFOt4rIHJWV1xjcaO+t5L1j6KLz+FHFnnaUHzc= X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(100000703101)(100105400095)(6041248)(20161123562025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3089; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3089; X-Forefront-PRVS: 0454444834 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(376002)(346002)(199003)(189002)(6916009)(42882006)(81166006)(2950100002)(81156014)(19273905006)(8936002)(50226002)(6486002)(16526018)(6666003)(189998001)(16586007)(316002)(6116002)(1076002)(6506006)(3846002)(7736002)(305945005)(8676002)(106356001)(105586002)(5009440100003)(53936002)(4326008)(66066001)(107886003)(47776003)(2906002)(5660300001)(53376002)(6306002)(6512007)(76176999)(5003940100001)(50986999)(97736004)(25786009)(101416001)(68736007)(48376002)(50466002)(478600001)(72206003)(2351001)(966005)(2361001)(33646002)(36756003)(110426004)(217873001)(562404015)(563064011); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3089; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3089; 23:qA7+Xx9o8d3Ry8qD8fZ7+fi94R8sEl9rFsS4T2kIK?= =?us-ascii?Q?3AhazikhnWvcFMCmoLz+uFHQHp4GfPk9RitSkchQQdUnS4x8wC/OoJyG1UEl?= =?us-ascii?Q?ytxFxy8Sug2qSsfbN1MeHL3/X9dawn97dLrhG95MOygIrgIk9Wqf1WKgUYHQ?= =?us-ascii?Q?h5ybzk9vv8dm3+EtGtWWosr283QuGwUK9St6hihgoKeHKbuCMpPHCYZ3sxxP?= =?us-ascii?Q?5bVqRH1WN83x6iYdXe2pb8jptfZgPD/gni4pypN73j2psJ+1cVXwL5IAadhK?= =?us-ascii?Q?1ZT2g/tRz2nNy88iCOLDin7orHRa+jiMqNTJU2AflNKhx6h4AW61HJxOfzSM?= =?us-ascii?Q?5DRakJ+k/gFUOA/2lQIaQ+9BDX3SN8NHlP2pxSZJmweiSbF2HRR4p0alM9sO?= =?us-ascii?Q?xPRhYrGt25EU1JBLHV3AA7SNb5ZqugX1m2KeDdIIB2iNFVw5HgfZs1IPz8mp?= =?us-ascii?Q?fg7xjQP00sGzQ0JHDVNGg4/NeNEC+WUs0VFsKYBSyVMm8qrQ/bh3hHa3PAlj?= =?us-ascii?Q?YDlXXYu55TCnQc+I+7CRkuUNmP74tgfsITwl+0ic6JPJftAhnnyJMwPJFvQD?= =?us-ascii?Q?1TrqLDHW0Fqfkm8a6hErejCC5XD0uPml7HJN142ZI6zP8+8nokIX8fVnM4GK?= =?us-ascii?Q?X1TcWkkJ4I4Tvyi84OwdqThUSW0zDfAkjuUWG94jQ5/wtPdblAmhJ5cvOtXQ?= =?us-ascii?Q?CWZqLEwRgV8NUFlh05jgLRfFEpKRjtLOGt8s0TlT3jSoTBPPylh3/IXeMNHP?= =?us-ascii?Q?OU1J+KlqnYaHPfKg+O1TKsE3Q7qSoDQypm9zeyAqmG0PHGjsbfwRGiG8XZHV?= =?us-ascii?Q?+eenNakjo3rbiWDte+BGzEcZDvhTEosbl9BmJrEN8yMnu2p1pCVQzlPW0vFs?= =?us-ascii?Q?ZjpG7E8EzstHyIHoLJC+Gdgqh42SouX7GsoDBL6wfxmMWhafGoZ//sIBsVWp?= =?us-ascii?Q?K7dKb/FY/rrnTC3MeVw2LFJZDZxBoxTzTac6b3bmo2Yp2srD3+s62YwlnbQ+?= =?us-ascii?Q?cEepepy19px8/mGsLwK3IsmDEj63b0gqhO0QdbyJCSPNcNn6hrRCkRQo2LTy?= =?us-ascii?Q?jmtwcSvubAaLk+1GiJmi1Tsqktb+Ea+jMSRrIr1mbEgMG4uc4lwJ/qZP5T5i?= =?us-ascii?Q?dHamYILnd8zdrWDg89S9tdNrHZWTRNLZsttEXVFP/2x7X2XosrUem7XJyXtU?= =?us-ascii?Q?knyvRv90akIEVSzO5YMH2ZQyzU/xpNxVebEJGjzyX/0yGBG2G/kpncym+yPy?= =?us-ascii?Q?I/vTpX6CZwYFNJygGkSXDcZzxN57maW4DdViDVInbdG9zKK3WdSak8nYQhfw?= =?us-ascii?Q?b8u9mp3u9FPCc7rB3LrI4NDwpwAxbgLe5rAZrd1iTCBsVPE9d2913Sy1rX8g?= =?us-ascii?Q?R145QMs+ki8My13kmLUNd4SjB0Yl/CKZnck6FyaBvUckmis?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 6:AcCstCSSe6DPGMvr7u/ItzNKXe/8Gn4HWSamocVX923KVhHIuVtw5mrpfCyvUCB99k0osoDzY4AtOMM6flqKW00TgMZm3bTkoJ8vwPQNfRdkqO6T87duiNQV1ijWVT8kKNDv3K3aRME2jV6wpZEGScg10axsP/s0v44I18pqfHUh1mxHgSYQj3wMRlrDYlpBwcRJS8rRKev3Git3gHRfr5Wg69Gxy3Dde9HhGrkncDs7B2HEuRxbQuBDZ77e8dLk2PCTtGSPebCRlta+WKAbxVmiaWuhNfGFrkMUvraecy5/sC1LCpJS42k5vd1fbredAP4rgvuV8ljm4bxsq8uFpg==; 5:ZuGCaNzr06HZ5m+EvrRkLbUSFBxiTjOsvZuF3yYeOvgIY0iiSzs4tDbfG6rI2uUYtOKp1jAdaRcsZrdO1Bqn1jOSZl2hGkSTpUy74BR38VCbyCWNNPgiuIgxQd0kKFbgKAWZIDvHtNIaD1YyoXoRmA==; 24:j0Xb7ZvzexC2RHaFETXJPiXV2W6aiEYBvxZcXKVfw+ruNVGqF1OcLjCmQ0h9YXmleyTAksKTltza+8Rh9CGzXUlbLepJCSK4mGktJ9gZheA=; 7:9zxXg1McrPF2/HNUaksphhy+L/IVvmyN+ReMwYVW6QoZfykT8kATYkZHcWP6p1ff5ayz85n5/GmEnYCYYjaOoUFQgPXTzYEghj9NkOoMaI4tjUkEYj/6rXHuJe28uDDdEyjQrCBnxPkZ9jE4AE9ial8e2diUNe3dG1g+WnqC+xYD86qMJZYhux82RuUX+82Yoi3rbhriGVutiv/DD13TXW5Rm1y0bKztpSCjmVywjhk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2017 12:45:18.3818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3089 Subject: [dpdk-dev] [PATCH v2 00/26] DPDK PMD for OCTEONTX NW device X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Oct 2017 12:45:22 -0000 v2: Includes Minor changes like: - Incorporated minor review comment (Suggested y John) - Added correct pool handle ops name i.e. from mbuf-pool-ops to mbuf-pool-ops-name in the doc. - Rebased on Octeontx-fpavf v3 series and tested for same. - Refer[7]: rebased (octeontx PMD + octeontx_fpavf mempool pmd) on upstream tip commit : 3fb1ea032bd6ff8317af5dac9af901f1f324cab4. v1: This patch set provides the initial version of DPDK PMD for the integrated NIC device found in Cavium OCTEONTX SoC(CN83xx) family. Introduction to OCTEONTX ARM processors can be found here: http://www.cavium.com/OCTEON-TX_ARM_Processors.html OCTEONTX SoC family has two types of NIC controllers, 1) nicvf HW, Which is more like traditional NIC(no NPU HW accelerators) http://dpdk.org/doc/guides/nics/thunderx.html 2) NIC controller, based on NPU like HW accelerated coprocessors, like HW assisted mempool manager, HW assisted packet scheduler, etc This driver adds support for the second type device and which will be used as HW implementation driver ethdev-eventdev Rx adapter [1] Implemented features and PMD documentation added in doc/guides/nics/features/octeontx.ini and doc/guides/nics/octeontx.rst respectively in this patch set. This driver has the dependency on: - IOVA infrastructure [2]. - Dynamically configure mempool handle (ie.. --mbuf-pool-ops eal arg) [3]. - Infrastructure to support octeontx HW mempool manager [4]. - Cavium Octeontx external mempool driver [5] Git source repo for all above dependency patches located at [6]. The series has three check patch issues: 1) 1 Error on Complex Macro (which I believe it cannot be fixed) # Patch 2 2) 1 Error on spacing while using gcc inline assembly(it is false positive) # patch 2 3) Added Co-authored-by: signature to reflect the patch authorship status instead of "Signed-off-by". It can be changed or the contributing guide can be updated based on the community feedback in v2. [1] http://dpdk.org/dev/patchwork/patch/24176/ [2] http://dpdk.org/ml/archives/dev/2017-August/072871.html [3] http://dpdk.org/ml/archives/dev/2017-August/072910.html [4] http://dpdk.org/ml/archives/dev/2017-August/072892.html [5] http://dpdk.org/ml/archives/dev/2017-August/073898.html [6] https://github.com/sshukla82/dpdk branch: mempool-v2 [7] https://github.com/sshukla82/dpdk branch: octeontx-ona-pmd-v2 Jerin Jacob (26): net/octeontx: add build infrastructure net/octeontx/base: add octeontx io operations event/octeontx: introduce specialized mbox message copy net/octeontx/base: add base BGX operations net/octeontx/base: add remaining BGX operations net/octeontx/base: probe PKI and PKO PCIe VF devices net/octeontx/base: add base PKI operations net/octeontx/base: add remaining PKI operations net/octeontx/base: add base PKO operations net/octeontx/base: add remaining PKO operations net/octeontx: add eth device probe and remove net/octeontx: create ethdev ports net/octeontx: add device configure net/octeontx: add device info net/octeontx: add link update net/octeontx: add promiscuous mode ops net/octeontx: add basic stats support net/octeontx: add MAC addr set op net/octeontx: add Rx queue setup and release ops net/octeontx: add Tx queue start and stop net/octeontx: add Tx queue setup and release ops net/octeontx: add packet transmit burst function net/octeontx: add packet receive burst function net/octeontx: add packet type parsing support net/octeontx: add start and stop support doc: add octeontx ethdev driver documentation MAINTAINERS | 7 + config/common_base | 10 + doc/guides/nics/features/octeontx.ini | 19 + doc/guides/nics/index.rst | 1 + doc/guides/nics/octeontx.rst | 252 ++++ drivers/event/octeontx/ssovf_mbox.c | 14 +- drivers/net/Makefile | 2 + drivers/net/octeontx/Makefile | 67 ++ drivers/net/octeontx/base/octeontx_bgx.c | 273 +++++ drivers/net/octeontx/base/octeontx_bgx.h | 150 +++ drivers/net/octeontx/base/octeontx_io.h | 156 +++ drivers/net/octeontx/base/octeontx_pki_var.h | 237 ++++ drivers/net/octeontx/base/octeontx_pkivf.c | 234 ++++ drivers/net/octeontx/base/octeontx_pkivf.h | 431 +++++++ drivers/net/octeontx/base/octeontx_pkovf.c | 616 ++++++++++ drivers/net/octeontx/base/octeontx_pkovf.h | 97 ++ drivers/net/octeontx/octeontx_ethdev.c | 1326 +++++++++++++++++++++ drivers/net/octeontx/octeontx_ethdev.h | 109 ++ drivers/net/octeontx/octeontx_logs.h | 76 ++ drivers/net/octeontx/octeontx_rxtx.c | 233 ++++ drivers/net/octeontx/octeontx_rxtx.h | 48 + drivers/net/octeontx/rte_pmd_octeontx_version.map | 4 + mk/rte.app.mk | 1 + 23 files changed, 4361 insertions(+), 2 deletions(-) create mode 100644 doc/guides/nics/features/octeontx.ini create mode 100644 doc/guides/nics/octeontx.rst create mode 100644 drivers/net/octeontx/Makefile create mode 100644 drivers/net/octeontx/base/octeontx_bgx.c create mode 100644 drivers/net/octeontx/base/octeontx_bgx.h create mode 100644 drivers/net/octeontx/base/octeontx_io.h create mode 100644 drivers/net/octeontx/base/octeontx_pki_var.h create mode 100644 drivers/net/octeontx/base/octeontx_pkivf.c create mode 100644 drivers/net/octeontx/base/octeontx_pkivf.h create mode 100644 drivers/net/octeontx/base/octeontx_pkovf.c create mode 100644 drivers/net/octeontx/base/octeontx_pkovf.h create mode 100644 drivers/net/octeontx/octeontx_ethdev.c create mode 100644 drivers/net/octeontx/octeontx_ethdev.h create mode 100644 drivers/net/octeontx/octeontx_logs.h create mode 100644 drivers/net/octeontx/octeontx_rxtx.c create mode 100644 drivers/net/octeontx/octeontx_rxtx.h create mode 100644 drivers/net/octeontx/rte_pmd_octeontx_version.map -- 2.14.1