net/mlx5: add TCP and IPv6 to supported items for Windows
[dpdk.git] / doc / guides / nics / i40e.rst
index b8ce2a6..07841dc 100644 (file)
@@ -46,8 +46,8 @@ Features of the i40e PMD are:
 - Malicious Device Drive event catch and notify
 - Generic flow API
 
-Prerequisites
--------------
+Linux Prerequisites
+-------------------
 
 - Identifying your adapter using `Intel Support
   <http://www.intel.com/support>`_ and get the latest NVM/FW images.
@@ -75,6 +75,18 @@ Prerequisites
       * 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.
 
+Windows Prerequisites
+---------------------
+
+- Follow the DPDK `Getting Started Guide for Windows <https://doc.dpdk.org/guides/windows_gsg/index.html>`_ to setup the basic DPDK environment.
+
+- Identify the IntelĀ® Ethernet adapter and get the latest NVM/FW version.
+
+- To access any IntelĀ® Ethernet hardware, load the NetUIO driver in place of existing built-in (inbox) driver.
+
+- To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository
+  <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
+
 Recommended Matching List
 -------------------------
 
@@ -88,6 +100,10 @@ For X710/XL710/XXV710,
    +--------------+-----------------------+------------------+
    | DPDK version | Kernel driver version | Firmware version |
    +==============+=======================+==================+
+   |    21.02     |         2.14.13       |       8.00       |
+   +--------------+-----------------------+------------------+
+   |    20.11     |         2.14.13       |       8.00       |
+   +--------------+-----------------------+------------------+
    |    20.08     |         2.12.6        |       7.30       |
    +--------------+-----------------------+------------------+
    |    20.05     |         2.11.27       |       7.30       |
@@ -131,6 +147,10 @@ For X722,
    +--------------+-----------------------+------------------+
    | DPDK version | Kernel driver version | Firmware version |
    +==============+=======================+==================+
+   |    21.02     |         2.14.13       |       5.00       |
+   +--------------+-----------------------+------------------+
+   |    20.11     |         2.13.10       |       5.00       |
+   +--------------+-----------------------+------------------+
    |    20.08     |         2.12.6        |       4.11       |
    +--------------+-----------------------+------------------+
    |    20.05     |         2.11.27       |       4.11       |
@@ -172,7 +192,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +205,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,20 +220,11 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
 
-- ``Use latest supported vector`` (default ``disable``)
-
-  Latest supported vector path may not always get the best perf so vector path was
-  recommended to use only on later platform. But users may want the latest vector path
-  since it can get better perf in some real work loading cases. So ``devargs`` param
-  ``use-latest-supported-vec`` is introduced, for example::
-
-  -w 84:00.0,use-latest-supported-vec=1
-
 - ``Enable validation for VF message`` (default ``not enabled``)
 
   The PF counts messages from each VF. If in any period of seconds the message
@@ -222,7 +233,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -375,9 +386,9 @@ Add a rule to direct ``ipv4-udp`` packet whose ``dst_ip=2.2.2.5, src_ip=2.2.2.3,
 
 .. code-block:: console
 
-   testpmd> flow_director_filter 0 mode IP add flow ipv4-udp  \
-            src 2.2.2.3 32 dst 2.2.2.5 32 vlan 0 flexbytes () \
-           fwd pf queue 1 fd_id 1
+   testpmd> flow create 0 ingress pattern eth / ipv4 src is 2.2.2.3 \
+            dst is 2.2.2.5 / udp src is 32 dst is 32 / end \
+            actions mark id 1 / queue index 1 / end
 
 Check the flow director status:
 
@@ -426,12 +437,6 @@ Check the flow director status:
      f_add:        0           f_remove:      0
 
 
-Delete all flow director rules on a port:
-
-.. code-block:: console
-
-   testpmd> flush_flow_director 0
-
 Floating VEB
 ~~~~~~~~~~~~~
 
@@ -458,7 +463,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -466,7 +471,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -564,9 +569,9 @@ Generic flow API
 - ``RSS Flow``
 
   RSS Flow supports to set hash input set, hash function, enable hash
-  and configure queue region.
+  and configure queues.
   For example:
-  Configure queue region as queue 0, 1, 2, 3.
+  Configure queues as queue 0, 1, 2, 3.
 
   .. code-block:: console
 
@@ -614,8 +619,8 @@ L2 Payload flow type in flow director cannot be used to classify MPLS packet
 as with previous firmware versions. Meanwhile, the Ethertype filter can be
 used to classify MPLS packet by using a command in testpmd like:
 
-   testpmd> ethertype_filter 0 add mac_ignr 00:00:00:00:00:00 ethertype \
-            0x8847 fwd queue <M>
+   testpmd> flow create 0 ingress pattern eth type is 0x8847 / end \
+            actions queue index <M> / end
 
 16 Byte RX Descriptor setting on DPDK VF
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -734,6 +739,11 @@ When programming cloud filters for IPv4/6_UDP/TCP/SCTP with SRC port only or DST
 it will make any cloud filter using inner_vlan or tunnel key invalid. Default configuration will be
 recovered only by NIC core reset.
 
+Mirror rule limitation for X722
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Due to firmware restriction of X722, the same VSI cannot have more than one mirror rule.
+
 High Performance of Small Packets on 40GbE NIC
 ----------------------------------------------
 
@@ -802,7 +812,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,