QEDE Poll Mode Driver
======================
-The QEDE poll mode driver library (**librte_pmd_qede**) implements support
+The QEDE poll mode driver library (**librte_net_qede**) implements support
for **QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)** family of adapters as well as SR-IOV virtual functions (VF). It is supported on
several standard Linux distros like RHEL, SLES, Ubuntu etc.
It is compile-tested under FreeBSD OS.
- VLAN offload - Filtering and stripping
- N-tuple filter and flow director (limited support)
- NPAR (NIC Partitioning)
-- SR-IOV VF
+- SR-IOV PF and VF
- GRE Tunneling offload
- GENEVE Tunneling offload
- VXLAN Tunneling offload
- MPLSoUDP Tx Tunneling offload
- Generic flow API
-Non-supported Features
-----------------------
-
-- SR-IOV PF
-
Co-existence considerations
---------------------------
to the PFs of a given adapter and either qede PMD or Linux drivers
(qed and qede) can be bound to the VFs of the adapter.
+- For sharing an adapter between DPDK and Linux drivers, SRIOV needs
+ to be enabled. Bind all the PFs to Linux Drivers(qed/qede). Create
+ a VF on PFs where DPDK is desired and bind these VFs to qede_pmd.
+ Binding of PFs simultaneously to DPDK and Linux drivers on a given
+ adapter is not supported.
+
Supported QLogic Adapters
-------------------------
Prerequisites
-------------
-- Requires storm firmware version **8.37.7.0**. Firmware may be available
+- Requires storm firmware version **8.40.33.0**. Firmware may be available
inbox in certain newer Linux distros under the standard directory
- ``E.g. /lib/firmware/qed/qed_init_values-8.37.7.0.bin``.
+ ``E.g. /lib/firmware/qed/qed_init_values-8.40.33.0.bin``.
If the required firmware files are not available then download it from
- `linux-firmware git repository <http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qed>`_
- or `QLogic Driver Download Center <http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/DefaultNewSearch.aspx>`_.
- To download firmware file from QLogic website, select adapter category, model and DPDK Poll Mode Driver.
+ `linux-firmware git repository <http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qed>`_.
- Requires the NIC be updated minimally with **8.30.x.x** Management firmware(MFW) version supported for that NIC.
It is highly recommended that the NIC be updated with the latest available management firmware version to get latest feature set.
`QLogic Driver Download Center <http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/DefaultNewSearch.aspx>`_.
For downloading PF driver, select adapter category, model and Linux distro.
-
Performance note
~~~~~~~~~~~~~~~~
- For better performance, it is recommended to use 4K or higher RX/TX rings.
-Config File Options
-~~~~~~~~~~~~~~~~~~~
+Config Options
+~~~~~~~~~~~~~~
+
+The following option can be modified in the ``config/rte_config.h`` file.
-The following options can be modified in the ``.config`` file. Please note that
-enabling debugging options may affect system performance.
+- ``RTE_LIBRTE_QEDE_FW`` (default **""**)
-- ``CONFIG_RTE_LIBRTE_QEDE_PMD`` (default **y**)
+ Gives absolute path of firmware file.
+ ``Eg: "/lib/firmware/qed/qed_init_values-8.40.33.0.bin"``
+ Empty string indicates driver will pick up the firmware file
+ from the default location /lib/firmware/qed.
+ CAUTION this option is more for custom firmware, it is not
+ recommended for use under normal condition.
- Toggle compilation of QEDE PMD driver.
+The following options can be enabled with Meson flags.
-- ``CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX`` (default **n**)
+- ``RTE_LIBRTE_QEDE_DEBUG_TX`` (default **disabled**)
Toggle display of transmit fast path run-time messages.
-- ``CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX`` (default **n**)
+- ``RTE_LIBRTE_QEDE_DEBUG_RX`` (default **disabled**)
Toggle display of receive fast path run-time messages.
-- ``CONFIG_RTE_LIBRTE_QEDE_FW`` (default **""**)
+Config notes
+~~~~~~~~~~~~
- Gives absolute path of firmware file.
- ``Eg: "/lib/firmware/qed/qed_init_values-8.37.7.0.bin"``
- Empty string indicates driver will pick up the firmware file
- from the default location /lib/firmware/qed.
- CAUTION this option is more for custom firmware, it is not
- recommended for use under normal condition.
+When there are multiple adapters and/or large number of Rx/Tx queues
+configured on the adapters, the default (2560) number of memzone
+descriptors may not be enough. Please increase the number of memzone
+descriptors to a higher number as needed. When sufficient number of
+memzone descriptors are not configured, user can potentially run into
+following error.
+
+ .. code-block:: console
+
+ EAL: memzone_reserve_aligned_thread_unsafe(): No more room in config
Driver compilation and testing
------------------------------
This section provides instructions to configure SR-IOV with Linux OS.
-**Note**: librte_pmd_qede will be used to bind to SR-IOV VF device and Linux native kernel driver (qede) will function as SR-IOV PF driver. Requires PF driver to be 8.20.x.x or higher.
+**Note**: librte_net_qede will be used to bind to SR-IOV VF device and Linux native kernel driver (qede) will function as SR-IOV PF driver. Requires PF driver to be 8.20.x.x or higher.
#. Verify SR-IOV and ARI capability is enabled on the adapter using ``lspci``:
.. code-block:: console
- testpmd -l 0,4-11 -n 4 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
+ dpdk-testpmd -l 0,4-11 -n 4 -- -i --nb-cores=8 --portmask=0xf --rxd=4096 \
--txd=4096 --txfreet=4068 --enable-rx-cksum --rxq=4 --txq=4 \
--rss-ip --rss-udp