From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0060.outbound.protection.outlook.com [104.47.36.60]) by dpdk.org (Postfix) with ESMTP id 8F38D3257 for ; Thu, 31 Aug 2017 16:55: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=uJ5VRL+Z3F4kKUkAqmK3pyoIbNP8y84k0jtKBOAXSy8=; b=btXlMux1qziOVCiYkbUIYel2EvV9PqG3kEFq4ImDTsRFxOzEh5msWfiGpPqe47hLXcm3hgXxXdvliF80eJZ/UJhtoyc6SIEDZWyFYLwbb35a6JCiWkSo1yVvx2jz/7aOvV4X5w/uHNSWdxTHlyWV64QW23r6alqx+hVTK6g0kvg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.domain.name (171.76.126.71) by SN2PR07MB2526.namprd07.prod.outlook.com (2603:10b6:804:6::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Thu, 31 Aug 2017 14:55:17 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: ferruh.yigit@intel.com, santosh.shukla@caviumnetworks.com, Jerin Jacob Date: Thu, 31 Aug 2017 20:24:10 +0530 Message-Id: <20170831145436.5397-1-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [171.76.126.71] X-ClientProxiedBy: MA1PR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:1::25) To SN2PR07MB2526.namprd07.prod.outlook.com (2603:10b6:804:6::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86d33657-9396-430e-6199-08d4f0804c78 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:SN2PR07MB2526; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2526; 3:HDZOQBS1U3P1rRetf41q+Cr08snLZFgAK0DrIUcMurgXdO5mcR8OnqZAYrY8dMkr9Ekl4gI2pIpZ/1xVXbF23OGGnIDGPRyZwoqdtghF2MiHZAn5+fCC2770Ah6nvTbGbUVYH4L0s1nrbvKiMzbMEc9KFVG0MgnG7NCLlJT23Z5zbm8mZo2w8T+wO53LI+BxM1jOkjU/Aurih0IyGVolgbnpzi9UyZWozYzgPukIEShahHJ7cvKbMEFZT2KM/KBA; 25:sOUcyE6zylprPP8yh4wcM/PclfflMuxpO35F3oR18vlVOSdKZ5xYVeendu6kQ2hKi/Kil+/qHsFrG4qqOonNpETAyMivgJQgRnEWHfzv/uZCi+iEZpF1S0/t1fnH2bNMBWipbNYlbxwqeSDNGEM5VLIH57hiR1wE78BGJfjrHk5PM6I6M5UcLLtvGv34o9B5ddcCsX3H3EMUn9fV6HK0UXlTUQkV70XdH30LMnPNF2B9rjb2o1wtdnDTlEZX7Wq8YvhCuZbhFAEc+pdY6tBiiq7uMaaBaaBY3zNZMYgzt2jsxj3ICtw60OhhyT1YoKkWZ36i/Pw0UqCrV773m2WHXA==; 31:PchoNTzTwNVtuhSqQmOlVypms4X21lwCKjqGESnGiPjHc0HqDVeYmWxDoqNWvVyKG2nTsL4smfSeX2RjqFTzwiIuUMwOzfdnbD6K+coBzBwZL9/Xe552afpTX3YkNlMpDRtavdUjXdu+KW1KyTu8t2fviqtuCqG/3YkmWGEXo5UmcL0XhbHVBli0rPgklsuCB5RnxIk8sLiOhuXjMHq2suXQcJ3QJ81haWvyICWBw5c= X-MS-TrafficTypeDiagnostic: SN2PR07MB2526: X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2526; 20:8RMexfcbQIrSO8OSywVXK2XjBtL1xGDJK2aqBbB65BT6HdFBqsxKKIGqFrqqDs9N98UGzw+rs9l8kq/nDbEdrnCrkGmoblUO8JiZVoD3LBPWD9hb0If0E2zZWfLyvpR5ixcXHdmESJpzWuIkDzJ7jvMUEMZMEaeH9+MqwI8tCjvwgWiHU0Yj5DCLzcc9nsEacIlSU5kO1/VF8KcnjblIaUFEXr+OVBYM9EkQyLibcb4QmcLFw81/Knh19qZCg8Re9PG4jbva0M1EVDvK19IceHw8HPvylB3C0/tC99+yuzr7uRTNdBXd6eN/gGdxfcKFwa+3ik+jW41XNTZ+FpQA9HvOo09CaFIllqje5egty39iljb0pXhEXsDWRX1/KozALBaj9XKtgIPJensmSWJAz+ILNhLZXTkzawVgGfBp/RYCe/5GOT9RO92o/SOPiTLAUreCigG3POhqUk3vDUevzuECvJmQbWu+ccVQoWmTG5KxyCIKEj64bgwDpTd30zcRoJYYT3LLrSLtvkoGayjvdrLN/3eV8vlGg026CM6G15h9Y2Z1v0hVzjxnr8HcgcRnD/qKZSHEsJ99bXz/vcdpdIL3IRujWnXdfxql887GFKM=; 4:KSH+PwIQLQeTP4c5R1PVNz4Ycq0dEfPi+JxP2Rr8rb8YXw0hHhk9ZrZLe31JRnJAhVScqNmwG1Eledp6icsQ4TyIWqyumoFvWkfUSv1ua851zNEjd6p56bNzlK72KdqQqTGWAfAy40P9NUobiztZ/gOG1PRq+isIF+v/sz96vypBp4FsWZnTTgQXf/firwgJpdal3ki5CJTMCg3tKzRE/ej6PUl3Ux+oSHldGv54jwIkX9du5LSu2TsWv7DonLfzBV+BXAUm/BqJ+w66nFH7UmoqpbrtouI5HXJXNP7MXNQ= 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)(601004)(2401047)(5005006)(8121501046)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN2PR07MB2526; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN2PR07MB2526; X-Forefront-PRVS: 04163EF38A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(199003)(189002)(25786009)(1076002)(6306002)(53936002)(3846002)(6116002)(478600001)(110136004)(72206003)(7736002)(6666003)(966005)(107886003)(6512007)(305945005)(6506006)(36756003)(6486002)(68736007)(5003940100001)(189998001)(50986999)(42882006)(106356001)(101416001)(6916009)(5660300001)(2361001)(53376002)(33646002)(2351001)(2906002)(4326008)(97736004)(105586002)(48376002)(19273905006)(50466002)(81166006)(66066001)(69596002)(8936002)(47776003)(53416004)(8676002)(50226002)(81156014)(42186005)(562404015)(217873001)(563064011); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2526; H:jerin.domain.name; 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; SN2PR07MB2526; 23:Vmej729U8iqeJnkLH8Wwk6GAgb9bNp4elxT2Ojmf5?= =?us-ascii?Q?iBulgXOHOPv/qkni2GFNk1gLAZvED/k65LbEcyIR95ccbQjihANv1S97MdJv?= =?us-ascii?Q?0lT8m0W6Bhczyks6an6NUCpYh5Kmrrf3JypR45LywMOlWqcV1mVcZi4J40oX?= =?us-ascii?Q?ar0NJsj/QjMx+PgmIioVBZzA0VbjrGk2CRuVHL6SAQ1+FO03K2pAGgG1nHp2?= =?us-ascii?Q?D7tsHzgRkafSMSmt1Uqm+tg1DWnWgHOZ6Fe8pbBoQ2plOahUkcGK+PyklQ0J?= =?us-ascii?Q?w19L8+cVoaIylUyCAaK8zVemSq/xTqdWSzW0AqrEA1HPl8FYvCw7CSZPRyd/?= =?us-ascii?Q?hWEbBEoDsP4kXfSUljB4mPzDXrRZGRJ8+EBbG9nd58VXDY0sgQrZeqRLm2LD?= =?us-ascii?Q?JhLG1zWhMoinTx1uaxSXSHjmXpZnGxEikIohMP/DNaBuJ6/Ym6/EHVJ6eFss?= =?us-ascii?Q?HNfMCN2VUi+HK6a+kVnaUFCovAl61Z5Ke2ij8gEz0fkLaiTzXrI8HQaJ3atw?= =?us-ascii?Q?KCJ07kupK1XWH5qAyDQnYji0ZWNZYC4aLz+Mo/8cXDv6qvtOoLIZin5jI9XA?= =?us-ascii?Q?ifAiBX4Efk61kpCeMwjGCUQ+glC0ZWc80/SS7Ku5L6/UX4hL5moYFTiMKzs+?= =?us-ascii?Q?9yxFIUbGdlSXjUtMe6UlDv3OD5T2IWP7YTmiFbjzjtU4QBxf+/fWKpp+4FDS?= =?us-ascii?Q?dVews3anzXnFjvgABNmZNek8hH0iHtn4GvApKjWv5ll/fh5fzb6GDX9MB17W?= =?us-ascii?Q?oONatDw2mCkX+Vs8mB70kDfOVjWXgXXouoLOqupPdpi3X6O94ht9rBPZbjbu?= =?us-ascii?Q?GaJZvE1nv/jEPY0pEo590LqJrMnB74bm+WyD2skamvdol1u+RO4zKMk+9DbL?= =?us-ascii?Q?nURTwovomOk6XnJWkpoZ4KHjmxJxSG6gt1KVebd3gDFlDe6OPU5GbHPvNVwt?= =?us-ascii?Q?0AVqmnb8gB6SX+RQPo835hFdRU16dbGLUhQwpz7lIIH3WFb+TUxDRViw4hL5?= =?us-ascii?Q?HACWfPduiaCMa3T3OHA+QZaAbrPlocYvQST+jflj7Zenhl0GSvoTmW45u62f?= =?us-ascii?Q?y8IRn0Om9RhdTLzTzf8K1YXQGt76lzuHVe8TYy1VKHYVj0wiIYMVFvjSwbZj?= =?us-ascii?Q?rL4kwKrKwR6VIOF83IPTx+sBnTcrlgb4Lp8iBes96BJaQUsdoXnO1eHOsrDH?= =?us-ascii?Q?Q1aa5uKhmsR2xKub3JsMzTbNd1y8xGzth70xhcpcpDk99pVqOkInYg3tEYdl?= =?us-ascii?Q?78fKitJFnGCHvNbFBtmPIfTy3LbXGbBBlU1RPK3?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2526; 6:IpS8AkjV8m01LBWQjhceNI7ovn1KBICRfdgyxdljhf0f29R1GjtmyOJ8aMcHu5RlMoaoe9uOrPjSI+lBn87nOVsijB21SnEq0MUnret0oq3j3UevZWbib2H+Xt8XoxqP1zgNKIOye+iBtrCeXDO0uZOo+eGT+T6RpXs8tn0haVERcRYCXR1pgXa8hgYfaOnE53S8qGQtKt/zPRPYP7v6bIoEnVUZdyf7lgtN+2djFUJpPTVGjARPfafWZKUr1gpLQp3mXakYw3lGlYgKkga/3swjvaH1UjtnpljSgjVfizLzBGRViVJB3HrvbPsiMgvyrfqNPIyriczpxiFShHRfIQ==; 5:v0EMi5hGP+DeEREcVqut09ZMdz17zrAa2AoSI62e0S2BTcpvdAryV/umJYRnCx19jf4nfKz9yoaAQ1pUtlJzfCf7+WRaAFPGVqDAzTrN/HQ8iaFN0ppKqvt/qUK6F/cZGKUx0m10G7pgK+ZbnamXkQ==; 24:r9dBOczOwV8GOIPxl+sP4JkMox3AjpmxRe3Hfpi6Sks0rUFu2u+anUHqoXbfgEbnVoWuH2SNj3wmqeJZJBm3bEdojC9TjXJXodtc+PfXpA4=; 7:TPso6zXeRju+hWrpc1JrBOKVutL3312rV3maEbodRa9xBPVztKwUkRwdVdvIbr0wxLcNyt71ll2rtAkm5oORdL+68bJ7c8x6F/585YS23PK3NjKIsu7sE9/EnBWjPTSsdF+mUO8qv9JDbCtL3hnamYOV52bYJRnQfHWmr5O5OCsmlNDUyCV0q8iTgXtAXpIDXqp1zsQ2M1wh10iqKH9tJkPLnTHjb5NgC4wG4ZBfO8E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2017 14:55:17.7082 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR07MB2526 Subject: [dpdk-dev] [PATCH 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: Thu, 31 Aug 2017 14:55:22 -0000 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 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 | 251 ++++ 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, 4360 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