net/mrvl: support MAC filtering
[dpdk.git] / doc / guides / nics / qede.rst
index 36b26b3..09a10be 100644 (file)
@@ -60,14 +60,15 @@ Supported Features
 - Multiprocess aware
 - Scatter-Gather
 - VXLAN tunneling offload
 - Multiprocess aware
 - Scatter-Gather
 - VXLAN tunneling offload
+- N-tuple filter and flow director (limited support)
+- LRO/TSO
+- NPAR (NIC Partitioning)
 
 Non-supported Features
 ----------------------
 
 - SR-IOV PF
 - GENEVE and NVGRE Tunneling offloads
 
 Non-supported Features
 ----------------------
 
 - SR-IOV PF
 - GENEVE and NVGRE Tunneling offloads
-- LRO/TSO
-- NPAR
 
 Supported QLogic Adapters
 -------------------------
 
 Supported QLogic Adapters
 -------------------------
@@ -123,64 +124,96 @@ enabling debugging options may affect system performance.
   Empty string indicates driver will pick up the firmware file
   from the default location.
 
   Empty string indicates driver will pick up the firmware file
   from the default location.
 
-Driver Compilation
-~~~~~~~~~~~~~~~~~~
+Driver compilation and testing
+------------------------------
 
 
-To compile QEDE PMD for Linux x86_64 gcc target, run the following ``make``
-command::
+Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+for details.
 
 
-   cd <DPDK-source-directory>
-   make config T=x86_64-native-linuxapp-gcc install
+SR-IOV: Prerequisites and Sample Application Notes
+--------------------------------------------------
 
 
-To compile QEDE PMD for Linux x86_64 clang target, run the following ``make``
-command::
+This section provides instructions to configure SR-IOV with Linux OS.
 
 
-   cd <DPDK-source-directory>
-   make config T=x86_64-native-linuxapp-clang install
+**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.10.x.x or higher.
 
 
-To compile QEDE PMD for FreeBSD x86_64 clang target, run the following ``gmake``
-command::
+#. Verify SR-IOV and ARI capability is enabled on the adapter using ``lspci``:
 
 
-   cd <DPDK-source-directory>
-   gmake config T=x86_64-native-bsdapp-clang install
+   .. code-block:: console
 
 
-To compile QEDE PMD for FreeBSD x86_64 gcc target, run the following ``gmake``
-command::
+      lspci -s <slot> -vvv
 
 
-   cd <DPDK-source-directory>
-   gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=\
-                                        /usr/local/lib/gcc49 CC=gcc49
+   Example output:
 
 
+   .. code-block:: console
 
 
-Sample Application Notes
-~~~~~~~~~~~~~~~~~~~~~~~~
+      [...]
+      Capabilities: [1b8 v1] Alternative Routing-ID Interpretation (ARI)
+      [...]
+      Capabilities: [1c0 v1] Single Root I/O Virtualization (SR-IOV)
+      [...]
+      Kernel driver in use: igb_uio
 
 
-This section demonstrates how to launch ``testpmd`` with QLogic 4xxxx
-devices managed by ``librte_pmd_qede`` in Linux operating system.
+#. Load the kernel module:
 
 
-#. Request huge pages:
+   .. code-block:: console
+
+      modprobe qede
+
+   Example output:
+
+   .. code-block:: console
+
+      systemd-udevd[4848]: renamed network interface eth0 to ens5f0
+      systemd-udevd[4848]: renamed network interface eth1 to ens5f1
+
+#. Bring up the PF ports:
 
    .. code-block:: console
 
 
    .. code-block:: console
 
-      echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages/ \
-                                                                nr_hugepages
+      ifconfig ens5f0 up
+      ifconfig ens5f1 up
+
+#. Create VF device(s):
+
+   Echo the number of VFs to be created into ``"sriov_numvfs"`` sysfs entry
+   of the parent PF.
 
 
-#. Load ``igb_uio`` driver:
+   Example output:
 
    .. code-block:: console
 
 
    .. code-block:: console
 
-      insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+      echo 2 > /sys/devices/pci0000:00/0000:00:03.0/0000:81:00.0/sriov_numvfs
 
 
-#. Bind the QLogic 4xxxx adapters to ``igb_uio`` loaded in the
-   previous step:
+
+#. Assign VF MAC address:
+
+   Assign MAC address to the VF using iproute2 utility. The syntax is::
+
+      ip link set <PF iface> vf <VF id> mac <macaddr>
+
+   Example output:
 
    .. code-block:: console
 
 
    .. code-block:: console
 
-      ./usertools/dpdk-devbind.py --bind igb_uio 0000:84:00.0 0000:84:00.1 \
-                                              0000:84:00.2 0000:84:00.3
+      ip link set ens5f0 vf 0 mac 52:54:00:2f:9d:e8
+
 
 
-#. Start ``testpmd`` with basic parameters:
-   (Enable QEDE_DEBUG_INFO=y to view informational messages)
+#. PCI Passthrough:
+
+   The VF devices may be passed through to the guest VM using ``virt-manager`` or
+   ``virsh``. QEDE PMD should be used to bind the VF devices in the guest VM
+   using the instructions from Driver compilation and testing section above.
+
+
+#. Running testpmd
+   (Enable QEDE_DEBUG_INFO=y to view informational messages):
+
+   Refer to the document
+   :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to run
+   ``testpmd`` application.
+
+   Example output:
 
    .. code-block:: console
 
 
    .. code-block:: console
 
@@ -235,79 +268,3 @@ devices managed by ``librte_pmd_qede`` in Linux operating system.
     Port 3 Link Up - speed 25000 Mbps - full-duplex
     Done
     testpmd>
     Port 3 Link Up - speed 25000 Mbps - full-duplex
     Done
     testpmd>
-
-
-SR-IOV: Prerequisites and Sample Application Notes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-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.10.x.x or higher.
-
-#. Verify SR-IOV and ARI capability is enabled on the adapter using ``lspci``:
-
-   .. code-block:: console
-
-      lspci -s <slot> -vvv
-
-   Example output:
-
-   .. code-block:: console
-
-      [...]
-      Capabilities: [1b8 v1] Alternative Routing-ID Interpretation (ARI)
-      [...]
-      Capabilities: [1c0 v1] Single Root I/O Virtualization (SR-IOV)
-      [...]
-      Kernel driver in use: igb_uio
-
-#. Load the kernel module:
-
-   .. code-block:: console
-
-      modprobe qede
-
-   Example output:
-
-   .. code-block:: console
-
-      systemd-udevd[4848]: renamed network interface eth0 to ens5f0
-      systemd-udevd[4848]: renamed network interface eth1 to ens5f1
-
-#. Bring up the PF ports:
-
-   .. code-block:: console
-
-      ifconfig ens5f0 up
-      ifconfig ens5f1 up
-
-#. Create VF device(s):
-
-   Echo the number of VFs to be created into ``"sriov_numvfs"`` sysfs entry
-   of the parent PF.
-
-   Example output:
-
-   .. code-block:: console
-
-      echo 2 > /sys/devices/pci0000:00/0000:00:03.0/0000:81:00.0/sriov_numvfs
-
-
-#. Assign VF MAC address:
-
-   Assign MAC address to the VF using iproute2 utility. The syntax is::
-
-      ip link set <PF iface> vf <VF id> mac <macaddr>
-
-   Example output:
-
-   .. code-block:: console
-
-      ip link set ens5f0 vf 0 mac 52:54:00:2f:9d:e8
-
-
-#. PCI Passthrough:
-
-   The VF devices may be passed through to the guest VM using ``virt-manager`` or
-   ``virsh``. QEDE PMD should be used to bind the VF devices in the guest VM
-   using the instructions outlined in the Application notes above.