From patchwork Sun Oct 8 12:44:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 29919 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 190F81B1AB; Sun, 8 Oct 2017 14:46:30 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0075.outbound.protection.outlook.com [104.47.36.75]) by dpdk.org (Postfix) with ESMTP id AB19C1B197 for ; Sun, 8 Oct 2017 14:46:28 +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=DjNA3v15sL850VoqVQ49b5NPN547StlbkVJYAkvDOxU=; b=GfRlQ616VPw8PBeuSIAsJpbmAm6+htzZ2wGb+Jsv48Spt8IsFfvnmsHgdqPlMM6PhOU7ImwSYqF6DLQXBWw/9bRIPGsnzjMhVuWzXpTQc3biEXwnutEM03QJ8s6rTrin9x12e8jBmx2eFdyvpgGjSnVXwjY9HShHGLzvdm23Je0= 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:46:25 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: ferruh.yigit@intel.com, jerin.jacob@caviumnetworks.com, John McNamara , Santosh Shukla Date: Sun, 8 Oct 2017 18:14:30 +0530 Message-Id: <20171008124430.1866-27-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171008124430.1866-1-santosh.shukla@caviumnetworks.com> References: <20170831145436.5397-1-jerin.jacob@caviumnetworks.com> <20171008124430.1866-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 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: 59450beb-e062-4fba-b6e2-08d50e4a976f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:BN6PR07MB3089; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 3:IP3pLvcEC7JFoiZ30h3ksE6+jjD5KNrd96zfKE01uydsVhFbAhLpsXJQz0b7UX+xglgKvbxgOSo7lywz79+OTlKnPkLm4Wo6bIqNtLgLQizgBXQQNYPjZ9Ple5SHwJ8pjQ2C17oWQ6fVlbWAa3rYWboQlwDmAV9U6a96tBZkkBE3LvZY6Q/iwci/vXLu+5LIhjKQT/Ju6o1ZNkK9/Qa2gWfIEHxdHQ1ZnORIsja+U6pxHCsWAg4/41sRqHDLlNCn; 25:6YuN4mOyuPBWCQwxMuBXq0tbqttFz1flJSJaDGD0xVFA/IkTkChLddkKYyynpkwAf1zJXBWT1YF5OoqondSCtmKwxkdbGPjBb5jBe/Pid3VYhX1o7tDyWpeE6nPOgxQaul7olmCu6LP81XkLKP+EdDVncgw9JJR/8i4FuAak9whoRLZ8O7+Uviy5B4r8PPnUquwwWOoeYqzyAGi//acpCxiJl0jGr8y9jWXKVd1tZ/aPTKeCQkx2oN+sX8ligjUygybPoJnIPLp5icZZM25Mm69M4FBd6m1MQapi8tgQycZixdGFSfqnhnLI04TUOIdkZvnwrBRR56EIN45Zyp2TCQ==; 31:SQMCYNwn1K6X6M5USCfvRBtpFixizYYISIT3M9JT9IrtMtxs7DGHln1B+/k+l10b42BsJajioURLI0hB/Xl83Jmny1Lkvehw2Rn+RfNw0MJDTEj0ABtdP1A09Bqq3u7QrnRHS4EmNSAUD7OMbtpIRSabgZsF/T1yfzs0Tkj/AI9NTOOKf2cqrr0153LHXMAXk1WuP4Jak7+p9F98deyLxMKw+Rvsaxn99ZyEj2dI7d0= X-MS-TrafficTypeDiagnostic: BN6PR07MB3089: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 20:4rxaUj7YsGRyCaUW3JI3deBN9SNVEB45bLsc4XcsK/ZfgpMCFatsIQ6pzcxj8C7RBxNzazWc5duKPIX6TrX0FgFlEmpbFVjMpQt75rszgSUoAH5tTCaW+b8wRj2oALBebPvJc3Zq29yB9Fyp/rMvWjm5IiVCLpVdyu8zTcH5EBXxPIQsnfYX09B7pyRjF4SAgcPwExMIyyCb9moQ/ZN8AolNBja7MuPPvX5ZN43MOaioDmKFGgn9SUTPIAYScUdj/u220kPNIzgWAX9LWnBWQwnPBiYwAPz3r1lx69Hyi+WWtz2movSNf+iczSlvJVE5tZJEBNwMlhFTLw+t4Goy2rnjHQmVaY0Qr4EJ8/lMlisYxmjAYDQi2Tm5c8/8436QfqnJiQkw7ngG9FSqgQrwTjRKEcJFW0ICBsEvc92v/osYA8hAemMXHPZuuDsoSYaryEyoFSOehtMEEudyw9vm8WVAznuLXm9LDEcuZSoZj3uM/P7nMaye3s0L/paw1J/aUY+OcGFpxeX8nj9AoKaiiBdE1bQuA59moyjGvFPrQTX+PHqFtZtgZGrkrrnMan6sfOqpgLpUJQ9dIl7POJjcZGJ4kNZgS764lkpgwP2wuFE= X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(228905959029699); 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-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 4:tz1/kI5rhxCW/Lu2m8dOqw0D5gubFEfPplfgVJZdeHgEr44FbRZnDYBfNaXZcMagUex3D5p3yDcR0YoheJk5gLEz9fFxjKLkzBQTn73cPnUQXRtOiEj9WYms+bl+3BXo+GKw+SA7q4TnqyRKuu33GYvPo7gpTPGVgh5k5GgVB6IwsGhI6dBRmN00tGWbScr3qfApbDRTWvsxJXqS+63QndOTJN5w8GTGaRq/g7ERzfXqbR/n88wjs+7QhmnPwvb2XC5PE8+uLujLBqUr+N8qBVFnnd+yKRLh5OPqf+rqht4hxiBtAD/HcoZVJpSTTuuhrh4sC34FtPCtEt20ZEql5Q== X-Forefront-PRVS: 0454444834 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(376002)(346002)(199003)(189002)(6916009)(42882006)(81166006)(575784001)(2950100002)(81156014)(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)(6306002)(6512007)(76176999)(5003940100001)(54906003)(50986999)(97736004)(25786009)(101416001)(68736007)(48376002)(50466002)(478600001)(72206003)(2351001)(2361001)(33646002)(36756003)(110426004); 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:zS2vdxJdm7FppFBlNp5H02QrLPJ6NimxKgRbp04KP?= IxrUWNvZ8CrV7J6a+7jD41g3GIAEA4uUW3LHFQQ7O5AvDUrf7HGTVMD5Zs/GDbZAhg0/mBNeDM+cVByPLORAs4dYOYhAsi3j6DKW1IPHS3zyHZA97kVPO5gBSQqMFFkiknj2K1lx+WQ8dCYLGQXsQ9ST9d0my/kLmlNg8weob04H3//40CtKP0IdvQVaZIQEYuZKy4NgJfPkeHUPx8PFI7fJ8PjI22T/u/7J2BqN3al/HKzEEn5+dKvPA8Vktb8UGtpyAX+BjAhzcdphKAj1zNU3yKhqTUpubRiVzFKIF7khnHA+r+CFYrZWsYngwFIaaynNOwDshzVA0lqFV7O8bLq4f805Y7sZo+rlw3WYg7jTjutXlo/n5++hbhszyhLr8UkAi527EvqRa+jF5Ha35FgIjHHH2ryGfA7fyB5LKO77kQiHmqrxoBR4Yo1KenZR5ZiyC/w6sG7EDqnRtpU7xG2SqtkO4Mtve8vzkBH/VYB2eGVnvFlwi0iC1ym76Ig0FrRQefk8Km/xqJBXyhW3kOgYOM3GMCqw3LGZw6pk9PAy/DJRwc+tBByOubkWCwMEY+YLYhChJ2eMhQiyvsdSM56B//oAtAGRPXb/eUUHEBmBPt+VzYXLkGj4it2bwuKGj510rwG+JGYDyWXNqo/G+L39SsTebSBQ1HnQD8Q78jvN4PBxD+EkkK9jQKNVgQXgwjN175bqVch1N3CM0qbSlDT24tnPJ91JiJ6OaFq1nWm+xLEpDpMlfKo9nZsh1Btx34ZKBmgW7q2Vgxq8+RiLaeQp1qUYyiRSSNAw0qdAsaRyaETm+MdH8g7yUXxxmN/Q0kjDI0iANVgB7lLbu7yRjbkgkKZko6TAP5YiorcxwDUt5MwWdZ9OKePIMbln6kzaKwfgjKL9Cra7Gj5FoigbL1m+q8OFgwdC7H7wN9Fb2SQuMGBGJkIf1KnAOIw7kldf+DUtDUV9WrXL6Y7oK/yLbBwyJeMPPp8qAMQtxjQNTq6K2ddlE5fHp4A+lzRwsrOt2af/4Fk7t/g0eu6gmIyJlUh6/3zOgLMBaNYhXxn+wE5onyWTOy882OosD5O31IBWbfky276xxWPQqHoxrUQtXh5Px9HsCD9aqfuw2xm/CrmOqylVkexjmgiA24k3LGNE7B3pfs0LTy8u1Jaz1PIJjoQMbzNJwOqDAzAetd93oYH0S+wDpfn+IAk3FNzF3EMnZralReibsPt5q/0/VEF1ILfh5WRb9OyW3H33DlXVfdELA== X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 6:nHfVGqciZLtHcWDIo8xW4K5/O9W4JhLf2kg1iIepCnp0PVXLZGXoE4T4YyCoG4wJOXpmEHtMzOH4pQyAT6Dr5waY7CdyYCjc7FCzSYsV21G2mXJBWQwe6ERHVV7UHwnrnLwPrCRa8t6/vnjXXoUwWkScS6XDvyEcJvleye1BiVuFa0esOxAa8RyCCcKR0+q4f4sbevr/IVygdZ3YxmQ8UTYFXgDuWWOCchukWJ8zhUy6EH8ejGmDIL5IIthjEKuB5dCI8YX0wF8ZoAz9lF3kZSlnG1KIcBaw8cGgpQaLYZ8XxTR1jR85ENxVzUUjINnJN0zqttzaEMAojUJNX6xY9w==; 5:FEaqIKhsdoI6ElDH/x8dIpmXBo2kqT1YOxetS2G1D2B+8aF1IvmRwpTY0swHxxSuI90XuIv7fc8pEHZRWCzIElOcrcwVNbdfyK+tFlZpzskWQHRhozVuz86FN8ZbcIScu5/x9k/u/4zYkYUuxZZRIA==; 24:3zKwNssOnnTH58V36PjpGo34WwFVYzIsnPmJcBWaUu9APUqACWOJr80OUaP+bk0x1fs8GO2kZENN2r7JVOwelOS7/VLA6C2gaf5+s0JqBSY=; 7:r+51DSQNaGYn8PO4Na3f5GHVrPjISuC+1GsDreyyT1jcNVR2MdOouGw5Nzt8d6SEuCAB/OGHT4FPG8Z1TIUEv/KyQ7w+8XY9VytDuBDaJRX5YRCy1nZcNhiT6F6XtpZ5SKnzfl108qVs9txKfoR7SujvzF1iDglBVSCxPTZdrkQhwyq0XaiL+LyfQxIlA40kGfCTR25Ym7dAa++/kTahhwK0nHaVUeQ63hHjcRGy2O4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2017 12:46:25.2024 (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 26/26] doc: add octeontx ethdev driver documentation 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Adding octeontx ethdev driver documentation and claim octeontx ethdev driver maintainership. Cc: John McNamara Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla Signed-off-by: Santosh Shukla Acked-by: John McNamara --- v1 --> v2: - Incorporated minor doc comment (John) - Renamed pool handle from --mbuf-pool-ops to --mbuf-poo-ops-name. MAINTAINERS | 7 ++ doc/guides/nics/index.rst | 1 + doc/guides/nics/octeontx.rst | 252 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 260 insertions(+) create mode 100644 doc/guides/nics/octeontx.rst diff --git a/MAINTAINERS b/MAINTAINERS index 59e782809..8436bfffc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -326,6 +326,13 @@ F: drivers/net/bnxt/ F: doc/guides/nics/bnxt.rst F: doc/guides/nics/features/bnxt.ini +Cavium OCTEONTX +M: Santosh Shukla +M: Jerin Jacob +F: drivers/net/octeontx/ +F: doc/guides/nics/octeontx.rst +F: doc/guides/nics/features/octeontx.ini + Cavium ThunderX nicvf M: Jerin Jacob M: Maciej Czekaj diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 4115141d2..48d874fcb 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -57,6 +57,7 @@ Network Interface Controller Drivers mlx4 mlx5 nfp + octeontx qede sfc_efx szedata2 diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst new file mode 100644 index 000000000..a6631cd0e --- /dev/null +++ b/doc/guides/nics/octeontx.rst @@ -0,0 +1,252 @@ +.. BSD LICENSE + Copyright (C) Cavium, Inc. 2017. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Cavium, Inc nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +OCTEONTX Poll Mode driver +========================= + +The OCTEONTX ETHDEV PMD (**librte_pmd_octeontx**) provides poll mode ethdev +driver support for the inbuilt network device found in the **Cavium OCTEONTX** +SoC family as well as their virtual functions (VF) in SR-IOV context. + +More information can be found at `Cavium, Inc Official Website +`_. + +Features +-------- + +Features of the OCTEONTX Ethdev PMD are: + +- Packet type information +- Promiscuous mode +- Port hardware statistics +- Jumbo frames +- Link state information +- SR-IOV VF +- Multiple queues for TX +- Lock-free Tx queue +- HW offloaded `ethdev Rx queue` to `eventdev event queue` packet injection + +Supported OCTEONTX SoCs +----------------------- + +- CN83xx + +Unsupported features +-------------------- + +The features supported by the device and not yet supported by this PMD include: + +- Receive Side Scaling (RSS) +- Scattered and gather for TX and RX +- Ingress classification support +- Egress hierarchical scheduling, traffic shaping, and marking + +Prerequisites +------------- + +There are three main pre-perquisites for executing OCTEONTX PMD on a OCTEONTX +compatible board: + +1. **OCTEONTX Linux kernel PF driver for Network acceleration HW blocks** + + The OCTEONTX Linux kernel drivers (including the required PF driver for the + all network acceleration blocks) are available on GitHub at + `octeontx-kmod `_ + along with build, install and dpdk usage instructions. + +2. **ARM64 Tool Chain** + + For example, the *aarch64* Linaro Toolchain, which can be obtained from + `here `_. + +3. **Rootfile system** + + Any *aarch64* supporting filesystem can be used. For example, + Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained + from ``_. + + As an alternative method, OCTEONTX PMD can also be executed using images provided + as part of SDK from Cavium. The SDK includes all the above prerequisites necessary + to bring up a OCTEONTX board. + + SDK and related information can be obtained from: `Cavium support site `_. + +Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +The following options can be modified in the ``config`` file. +Please note that enabling debugging options may affect system performance. + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_PMD`` (default ``y``) + + Toggle compilation of the ``librte_pmd_octeontx`` driver. + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_DEBUG_DRIVER`` (default ``n``) + + Toggle display of generic debugging messages + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_DEBUG_INIT`` (default ``n``) + + Toggle display of initialization related messages. + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_DEBUG_RX`` (default ``n``) + + Toggle display of receive path message + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_DEBUG_TX`` (default ``n``) + + Toggle display of transmit path message + +- ``CONFIG_RTE_LIBRTE_OCTEONTX_DEBUG_MBOX`` (default ``n``) + + Toggle display of mbox related message + + +Driver compilation and testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Refer to the document :ref:`compiling and testing a PMD for a NIC ` +for details. + +To compile the OCTEONTX PMD for Linux arm64 gcc target, run the +following ``make`` command: + +.. code-block:: console + + cd + make config T=arm64-thunderx-linuxapp-gcc install + +#. Running testpmd: + + Follow instructions available in the document + :ref:`compiling and testing a PMD for a NIC ` + to run testpmd. + + Example output: + + .. code-block:: console + + ./arm64-thunderx-linuxapp-gcc/app/testpmd -c 700 \ + --base-virtaddr=0x100000000000 \ + --mbuf-pool-ops-name="octeontx_fpavf" \ + --vdev='event_octeontx' \ + --vdev='eth_octeontx,nr_port=2' \ + -- --rxq=1 --txq=1 --nb-core=2 --total-num-mbufs=16384 \ + --disable-hw-vlan-filter -i + ..... + EAL: Detected 24 lcore(s) + EAL: Probing VFIO support... + EAL: VFIO support initialized + ..... + EAL: PCI device 0000:07:00.1 on NUMA socket 0 + EAL: probe driver: 177d:a04b octeontx_ssovf + ..... + EAL: PCI device 0001:02:00.7 on NUMA socket 0 + EAL: probe driver: 177d:a0dd octeontx_pkivf + ..... + EAL: PCI device 0001:03:01.0 on NUMA socket 0 + EAL: probe driver: 177d:a049 octeontx_pkovf + ..... + PMD: octeontx_probe(): created ethdev eth_octeontx for port 0 + PMD: octeontx_probe(): created ethdev eth_octeontx for port 1 + ..... + Configuring Port 0 (socket 0) + Port 0: 00:0F:B7:11:94:46 + Configuring Port 1 (socket 0) + Port 1: 00:0F:B7:11:94:47 + ..... + Checking link statuses... + Port 0 Link Up - speed 40000 Mbps - full-duplex + Port 1 Link Up - speed 40000 Mbps - full-duplex + Done + testpmd> + + +Initialization +-------------- + +The octeontx ethdev pmd is exposed as a vdev device which consists of a set +of PKI and PKO PCIe VF devices. On EAL initialization, +PKI/PKO PCIe VF devices will be probed and then the vdev device can be created +from the application code, or from the EAL command line based on +the number of probed/bound PKI/PKO PCIe VF device to DPDK by + +* Invoking ``rte_vdev_init("eth_octeontx")`` from the application + +* Using ``--vdev="eth_octeontx"`` in the EAL options, which will call + rte_vdev_init() internally + +Device arguments +~~~~~~~~~~~~~~~~ +Each ethdev port is mapped to a physical port(LMAC), Application can specify +the number of interesting ports with ``nr_ports`` argument. + +Dependency +~~~~~~~~~~ +``eth_octeontx`` pmd is depend on ``event_octeontx`` eventdev device and +``octeontx_fpavf`` external mempool handler. + +Example: + +.. code-block:: console + + ./your_dpdk_application --mbuf-pool-ops="octeontx_fpavf" \ + --vdev='event_octeontx' \ + --vdev="eth_octeontx,nr_port=2" + +Limitations +----------- + +``octeontx_fpavf`` external mempool handler dependency +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The OCTEONTX SoC family NIC has inbuilt HW assisted external mempool manager. +This driver will only work with ``octeontx_fpavf`` external mempool handler +as it is the most performance effective way for packet allocation and Tx buffer +recycling on OCTEONTX SoC platform. + +CRC striping +~~~~~~~~~~~~ + +The OCTEONTX SoC family NICs strip the CRC for every packets coming into the +host interface. So, CRC will be stripped even when the +``rxmode.hw_strip_crc`` member is set to 0 in ``struct rte_eth_conf``. + +Maximum packet length +~~~~~~~~~~~~~~~~~~~~~ + +The OCTEONTX SoC family NICs support a maximum of a 32K jumbo frame. The value +is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len`` +member of ``struct rte_eth_conf`` is set to a value lower than 32k, frames +up to 32k bytes can still reach the host interface.