X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fbnxt.rst;h=434ba9d6cc0ab8279fa9f9f3e3eba6ba885fe170;hb=2a0b41984c7ee304a86f0799b1388d7674694296;hp=ad33cd5d9df2d406db89100fb3ae62ccc13df95f;hpb=93b7c9d8b7d42ada3dc46560a0cb9dfddd6eda7a;p=dpdk.git diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst index ad33cd5d9d..434ba9d6cc 100644 --- a/doc/guides/nics/bnxt.rst +++ b/doc/guides/nics/bnxt.rst @@ -1,46 +1,126 @@ -.. BSD LICENSE - Copyright 2016 Broadcom Limited - - 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 Broadcom Limited 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. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2016-2019 Broadcom BNXT Poll Mode Driver ===================== -The bnxt poll mode library (**librte_pmd_bnxt**) implements support for: +The BNXT PMD (**librte_pmd_bnxt**) implements support for adapters based on +Ethernet controllers and SoCs belonging to the **Broadcom BCM5730X NetXtreme-C® +Family of Ethernet Network Controllers**, the **Broadcom BCM574XX/BCM575XX +NetXtreme-E® Family of Ethernet Network Controllers**, the **Broadcom BCM588XX +Stingray Family of SmartNIC Adapters**, and the **Broadcom StrataGX® BCM5871X +Series of Communications Processors**. A complete list with links to reference +material is included below. - * **Broadcom NetXtreme-C®/NetXtreme-E® BCM5730X and BCM5740X family of - Ethernet Network Controllers** - These adapters support Standards compliant 10/25/50Gbps 30MPPS - full-duplex throughput. +BNXT PMD Features +----------------- - Information about the NetXtreme family of adapters can be found in the - `NetXtreme® Brand section - `_ +The BNXT PMD includes support for the following features: + + * Multiple transmit and receive queues + * Queue start/stop + * RSS hash + * RSS key configuration + * RSS reta configuration + * VMDq + * Packet type parsing + * Configurable RX CRC stripping + * L3/L4 checksum offload + * LRO offload + * TSO offload + * VLAN offload + * SR-IOV VF + * Basic and extended port statistics + * Link state reporting + * Flow control + * Ethertype filtering + * N-tuple filtering + * Promiscuous mode + * Unicast and multicast MAC filtering + * Scatter/gather transmit and receive + * Jumbo frames + * Vector PMD + +BNXT Vector PMD +--------------- + +The BNXT PMD includes support for SSE vector mode on x86 platforms. Vector +provides significantly improved performance over the base implementation, +however it does not support all of the features that are supported by the +base (non-vector) implementation. Vector mode will be selected and enabled +automatically when the port is started if allowed by the current configuration. + +RX Requirements for Vector Mode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Vector mode receive will be enabled if the following constrainsts are met: + * Packets must fit within a single mbuf (no scatter RX). + * LRO offload must be disabled. + +TX Requirements for Vector Mode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Vector mode transmit will be enabled if the following constrainsts are met: + * Packets must be contained within a single mbuf (no gather TX). + * All transmit offloads other than VLAN insertion must be disabled. + +BNXT PMD Supported Chipsets and Adapters +---------------------------------------- + +Chipsets and adapters supported by the bnxt PMD include: + + * **Broadcom BCM5730X NetXtreme-C® Family of Ethernet Network Controllers** + + * M150c - Single-port 40/50 Gigabit Ethernet Adapter + * P150c - Single-port 40/50 Gigabit Ethernet Adapter + * P225c - Dual-port 10/25 Gigabit Ethernet Adapter + + * **Broadcom BCM574XX/BCM575XX NetXtreme-E® Family of Ethernet Network Controllers** + + * M125P - Single-port OCP 2.0 10/25 Gigabit Ethernet Adapter + * M150P - Single-port OCP 2.0 50 Gigabit Ethernet Adapter + * M150PM - Single-port OCP 2.0 Multi-Host 50 Gigabit Ethernet Adapter + * M210P - Dual-port OCP 2.0 10 Gigabit Ethernet Adapter + * M210TP - Dual-port OCP 2.0 10 Gigabit Ethernet Adapter + * M11000G - Single-port OCP 2.0 10/25/50/100 Gigabit Ethernet Adapter + * N150G - Single-port OCP 3.0 50 Gigabit Ethernet Adapter + * M225P - Dual-port OCP 2.0 10/25 Gigabit Ethernet Adapter + * N210P - Dual-port OCP 3.0 10 Gigabit Ethernet Adapter + * N210TP - Dual-port OCP 3.0 10 Gigabit Ethernet Adapter + * N225P - Dual-port OCP 3.0 10/25 Gigabit Ethernet Adapter + * N250G - Dual-port OCP 3.0 50 Gigabit Ethernet Adapter + * N410SG - Quad-port OCP 3.0 10 Gigabit Ethernet Adapter + * N410SGBT - Quad-port OCP 3.0 10 Gigabit Ethernet Adapter + * N425G - Quad-port OCP 3.0 10/25 Gigabit Ethernet Adapter + * N1100G - Single-port OCP 3.0 10/25/50/100 Gigabit Ethernet Adapter + * N2100G - Dual-port OCP 3.0 10/25/50/100 Gigabit Ethernet Adapter + * N2200G - Dual-port OCP 3.0 10/25/50/100/200 Gigabit Ethernet Adapter + * P150P - Single-port 50 Gigabit Ethernet Adapter + * P210P - Dual-port 10 Gigabit Ethernet Adapter + * P210TP - Dual-port 10 Gigabit Ethernet Adapter + * P225P - Dual-port 10/25 Gigabit Ethernet Adapter + * P410SG - Quad-port 10 Gigabit Ethernet Adapter + * P410SGBT - Quad-port 10 Gigabit Ethernet Adapter + * P425G - Quad-port 10/25 Gigabit Ethernet Adapter + * P1100G - Single-port 10/25/50/100 Gigabit Ethernet Adapter + * P2100G - Dual-port 10/25/50/100 Gigabit Ethernet Adapter + * P2200G - Dual-port 10/25/50/100/200 Gigabit Ethernet Adapter + + Information about Ethernet adapters in the NetXtreme family of + adapters can be found in the `NetXtreme® Brand section + `_ + of the `Broadcom website `_. + + * **Broadcom BCM588XX Stingray Family of SmartNIC Adapters** + + * PS410T - Quad-port 10 Gigabit Ethernet SmartNIC + * PS225 - Dual-port 25 Gigabit Ethernet SmartNIC + * PS250 - Dual-Port 50 Gigabit Ethernet SmartNIC + + Information about the Stingray family of SmartNIC adapters can be found in the + `Stingray® Brand section + `_ of the `Broadcom website `_. * **Broadcom StrataGX® BCM5871X Series of Communucations Processors** @@ -51,14 +131,8 @@ The bnxt poll mode library (**librte_pmd_bnxt**) implements support for: attached storage (NAS). Information about the StrataGX family of adapters can be found in the - `StrataGX® BCM5871X Series section - `_ - of the `Broadcom website `_. - -Limitations ------------ - -With the current driver, allocated mbufs must be large enough to hold -the entire received frame. If the mbufs are not large enough, the -packets will be dropped. This is most limiting when jumbo frames are -used. + `StrataGX® BCM58712 + `_ + and `StrataGX® BCM58713 + `_ + sections of the `Broadcom website `_.