net/i40e: support hash configuration in RSS flow
[dpdk.git] / doc / guides / nics / i40e.rst
index 0cd27fc..f72a54b 100644 (file)
@@ -43,6 +43,8 @@ Features of the i40e PMD are:
 - Dynamic Device Personalization (DDP)
 - Queue region configuration
 - Virtual Function Port Representors
+- Malicious Device Drive event catch and notify
+- Generic flow API
 
 Prerequisites
 -------------
@@ -58,6 +60,21 @@ Prerequisites
 - Upgrade the NVM/FW version following the `Intel® Ethernet NVM Update Tool Quick Usage Guide for Linux
   <https://www-ssl.intel.com/content/www/us/en/embedded/products/networking/nvm-update-tool-quick-linux-usage-guide.html>`_ and `Intel® Ethernet NVM Update Tool: Quick Usage Guide for EFI <https://www.intel.com/content/www/us/en/embedded/products/networking/nvm-update-tool-quick-efi-usage-guide.html>`_ if needed.
 
+- For information about supported media, please refer to this document: `Intel® Ethernet Controller X710/XXV710/XL710 Feature Support Matrix
+  <http://www.intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-matrix.pdf>`_.
+
+   .. Note::
+
+      * Some adapters based on the Intel(R) Ethernet Controller 700 Series only
+        support Intel Ethernet Optics modules. On these adapters, other modules are not
+        supported and will not function.
+
+      * For connections based on Intel(R) Ethernet Controller 700 Series,
+        support is dependent on your system board. Please see your vendor for details.
+
+      * In all cases Intel recommends using Intel Ethernet Optics; other modules
+        may function but are not validated by Intel. Contact Intel for supported media types.
+
 Recommended Matching List
 -------------------------
 
@@ -66,9 +83,13 @@ avoid the compatibility issues with i40e PMD. Here is the suggested matching
 list which has been tested and verified. The detailed information can refer
 to chapter Tested Platforms/Tested NICs in release notes.
 
+For X710/XL710/XXV710,
+
    +--------------+-----------------------+------------------+
    | DPDK version | Kernel driver version | Firmware version |
    +==============+=======================+==================+
+   |    20.02     |         2.10.19       |       7.20       |
+   +--------------+-----------------------+------------------+
    |    19.11     |         2.9.21        |       7.00       |
    +--------------+-----------------------+------------------+
    |    19.08     |         2.8.43        |       7.00       |
@@ -100,6 +121,26 @@ to chapter Tested Platforms/Tested NICs in release notes.
    |    16.04     |         1.4.25        |       5.02       |
    +--------------+-----------------------+------------------+
 
+
+For X722,
+
+   +--------------+-----------------------+------------------+
+   | DPDK version | Kernel driver version | Firmware version |
+   +==============+=======================+==================+
+   |    20.02     |         2.10.19       |       4.11       |
+   +--------------+-----------------------+------------------+
+   |    19.11     |         2.9.21        |       4.10       |
+   +--------------+-----------------------+------------------+
+   |    19.08     |         2.9.21        |       4.10       |
+   +--------------+-----------------------+------------------+
+   |    19.05     |         2.7.29        |       3.33       |
+   +--------------+-----------------------+------------------+
+   |    19.02     |         2.7.26        |       3.33       |
+   +--------------+-----------------------+------------------+
+   |    18.11     |         2.4.6         |       3.33       |
+   +--------------+-----------------------+------------------+
+
+
 Pre-Installation Configuration
 ------------------------------
 
@@ -529,6 +570,42 @@ details please refer to :doc:`../testpmd_app_ug/index`.
    testpmd> set port (port_id) queue-region flush (on|off)
    testpmd> show port (port_id) queue-region
 
+Generic flow API
+~~~~~~~~~~~~~~~~~~~
+
+- ``RSS Flow``
+
+  RSS Flow supports to set hash input set, hash function, enable hash
+  and configure queue region.
+  For example:
+  Configure queue region as queue 0, 1, 2, 3.
+
+  .. code-block:: console
+
+    testpmd> flow create 0 ingress pattern end actions rss types end \
+      queues 0 1 2 3 end / end
+
+  Enable hash and set input set for ipv4-tcp.
+
+  .. code-block:: console
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
+      actions rss types ipv4-tcp l3-src-only end queues end / end
+
+  Set symmetric hash enable for flow type ipv4-tcp.
+
+  .. code-block:: console
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
+      actions rss types ipv4-tcp end queues end func symmetric_toeplitz / end
+
+  Set hash function as simple xor.
+
+  .. code-block:: console
+
+    testpmd> flow create 0 ingress pattern end actions rss types end \
+      queues end func simple_xor / end
+
 Limitations or Known issues
 ---------------------------