X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fsfc_efx.rst;h=ab44ce66c89f22cbdbc210e581e7d6ae011aa33b;hb=483a914d24a01683c8c450a6314109b7f6d35568;hp=66daa1d36ac495966febc39564d32775bb86fe0b;hpb=390f9b8d82c9bb02b12efed1a810677082de2687;p=dpdk.git diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst index 66daa1d36a..ab44ce66c8 100644 --- a/doc/guides/nics/sfc_efx.rst +++ b/doc/guides/nics/sfc_efx.rst @@ -1,31 +1,10 @@ -.. BSD LICENSE - Copyright (c) 2016 Solarflare Communications Inc. - All rights reserved. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2019-2020 Xilinx, Inc. + Copyright(c) 2016-2019 Solarflare Communications Inc. This software was jointly developed between OKTET Labs (under contract for Solarflare) and Solarflare Communications, Inc. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. 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. - - 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. - Solarflare libefx-based Poll Mode Driver ======================================== @@ -66,7 +45,7 @@ SFC EFX PMD has support for: - Allmulticast mode -- TCP segmentation offload (TSO) +- TCP segmentation offload (TSO) including VXLAN and GENEVE encapsulated - Multicast MAC filter @@ -82,6 +61,8 @@ SFC EFX PMD has support for: - Scattered Rx DMA for packet that are larger that a single Rx descriptor +- Receive queue interrupts + - Deferred receive and transmit queue start - Transmit VLAN insertion (if running firmware variant supports it) @@ -90,14 +71,14 @@ SFC EFX PMD has support for: - Loopback +- SR-IOV PF + Non-supported Features ---------------------- The features not yet supported include: -- Receive queue interupts - - Priority-based flow control - Configurable RX CRC stripping (always stripped) @@ -201,14 +182,20 @@ Supported actions: - DROP +- FLAG (supported only with ef10_essb Rx datapath) + +- MARK (supported only with ef10_essb Rx datapath) + Validating flow rules depends on the firmware variant. -Ethernet destinaton individual/group match -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The :ref:`flow_isolated_mode` is supported. + +Ethernet destination individual/group match +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ethernet item supports I/G matching, if only the corresponding bit is set -in the mask of destination address. If destinaton address in the spec is -multicast, it matches all multicast (and broadcast) packets, oherwise it +in the mask of destination address. If destination address in the spec is +multicast, it matches all multicast (and broadcast) packets, otherwise it matches unicast packets that are not filtered by other flow rules. Exceptions to flow rules @@ -236,6 +223,10 @@ Supported NICs - Solarflare X2522 Dual Port SFP28 10/25GbE Adapter + - Solarflare X2541 Single Port QSFP28 10/25G/100G Adapter + + - Solarflare X2542 Dual Port QSFP28 10/25G/100G Adapter + - Solarflare Flareon [Ultra] Server Adapters: - Solarflare SFN8522 Dual Port SFP+ Server Adapter @@ -314,7 +305,7 @@ boolean parameters value. **efx** chooses libefx-based datapath which supports Rx scatter. **ef10** chooses EF10 (SFN7xxx, SFN8xxx, X2xxx) native datapath which is more efficient than libefx-based and provides richer packet type - classification, but lacks Rx scatter support. + classification. **ef10_esps** chooses SFNX2xxx equal stride packed stream datapath which may be used on DPDK firmware variant only (see notes about its limitations above). @@ -329,8 +320,7 @@ boolean parameters value. Mbuf segments may come from different mempools, and mbuf reference counters are treated responsibly. **ef10** chooses EF10 (SFN7xxx, SFN8xxx, X2xxx) native datapath which is - more efficient than libefx-based but has no VLAN insertion and TSO - support yet. + more efficient than libefx-based but has no VLAN insertion support yet. Mbuf segments may come from different mempools, and mbuf reference counters are treated responsibly. **ef10_simple** chooses EF10 (SFN7xxx, SFN8xxx, X2xxx) native datapath which @@ -339,10 +329,10 @@ boolean parameters value. - ``perf_profile`` [auto|throughput|low-latency] (default **throughput**) - Choose hardware tunning to be optimized for either throughput or + Choose hardware tuning to be optimized for either throughput or low-latency. **auto** allows NIC firmware to make a choice based on - installed licences and firmware variant configured using **sfboot**. + installed licenses and firmware variant configured using **sfboot**. - ``stats_update_period_ms`` [long] (default **1000**) @@ -354,7 +344,7 @@ boolean parameters value. value will select a fixed update period of **1000** milliseconds - ``fw_variant`` [dont-care|full-feature|ultra-low-latency| - capture-packed-stream] (default **dont-care**) + capture-packed-stream|dpdk] (default **dont-care**) Choose the preferred firmware variant to use. In order for the selected option to have an effect, the **sfboot** utility must be configured with the @@ -367,6 +357,22 @@ boolean parameters value. **ultra-low-latency** chooses firmware with fewer features but lower latency. **capture-packed-stream** chooses firmware for SolarCapture packed stream mode. + **dpdk** chooses DPDK firmware with equal stride super-buffer Rx mode + for higher Rx packet rate and packet marks support and firmware subvariant + without checksumming on transmit for higher Tx packet rate if + checksumming is not required. + +- ``rxd_wait_timeout_ns`` [long] (default **200 us**) + + Adjust timeout in nanoseconds to head-of-line block to wait for + Rx descriptors. + The accepted range is 0 to 400 ms. + Flow control should be enabled to make it work. + The value of **0** disables it and packets are dropped immediately. + When a packet is dropped because of no Rx descriptors, + ``rx_nodesc_drop_cnt`` counter grows. + The feature is supported only by the DPDK firmware variant when equal + stride super-buffer Rx mode is used. Dynamic Logging Parameters