net/sfc: convert to new Tx offload API
[dpdk.git] / doc / guides / nics / i40e.rst
index 05c1875..50d5e36 100644 (file)
@@ -65,6 +65,7 @@ Features of the I40E PMD are:
 - Hot plug
 - IEEE1588/802.1AS timestamping
 - VF Daemon (VFD) - EXPERIMENTAL
+- Dynamic Device Personalization (DDP)
 
 
 Prerequisites
@@ -115,10 +116,6 @@ Please note that enabling debugging options may affect system performance.
 
   Number of queues reserved for PF.
 
-- ``CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF`` (default ``4``)
-
-  Number of queues reserved for each SR-IOV VF.
-
 - ``CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM`` (default ``4``)
 
   Number of queues reserved for each VMDQ Pool.
@@ -128,6 +125,18 @@ Please note that enabling debugging options may affect system performance.
   Interrupt Throttling interval.
 
 
+Runtime Config Options
+~~~~~~~~~~~~~~~~~~~~~~
+
+- ``Number of Queues per VF`` (default ``4``)
+
+  The number of queue per VF is determined by its host PF. If the PCI address
+  of an i40e PF is aaaa:bb.cc, the number of queues per VF can be configured
+  with EAL parameter like -w 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 queues
+  per VF is 4 by default.
+
+
 Driver compilation and testing
 ------------------------------
 
@@ -374,6 +383,52 @@ configuration passed on the EAL command line.
 The floating VEB functionality requires a NIC firmware version of 5.0
 or greater.
 
+Dynamic Device Personalization (DDP)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The IntelĀ® Ethernet Controller X*710 support a feature called "Dynamic Device
+Personalization (DDP)", which is used to configure hardware by downloading
+a profile to support protocols/filters which are not supported by default.
+The DDP functionality requires a NIC firmware version of 6.0 or greater.
+
+Current implementation supports MPLSoUDP/MPLSoGRE/GTP-C/GTP-U/PPPoE/PPPoL2TP,
+steering can be used with rte_flow API.
+
+Load a profile which supports MPLSoUDP/MPLSoGRE:
+
+.. code-block:: console
+
+   testpmd> ddp add 0 ./mpls.pkgo
+
+Delete a MPLS profile:
+
+.. code-block:: console
+
+   testpmd> ddp del 0 ./mpls.pkgo
+
+Get loaded DDP package info list:
+
+.. code-block:: console
+
+   testpmd> ddp get list 0
+
+Display information about a MPLS profile:
+
+.. code-block:: console
+
+   testpmd> ddp get info ./mpls.pkgo
+
+Input set configuration
+~~~~~~~~~~~~~~~~~~~~~~~
+Input set for any PCTYPE can be configured with user defined configuration,
+For example, to use only 48bit prefix for IPv6 src address for IPv6 TCP RSS:
+
+.. code-block:: console
+
+   testpmd> port config 0 pctype 43 hash_inset clear all
+   testpmd> port config 0 pctype 43 hash_inset set field 13
+   testpmd> port config 0 pctype 43 hash_inset set field 14
+   testpmd> port config 0 pctype 43 hash_inset set field 15
 
 Limitations or Known issues
 ---------------------------
@@ -478,6 +533,16 @@ enabled using the steps below.
 
       setpci -s <XX:XX.X> a8.w=<value>
 
+Vlan strip of VF
+~~~~~~~~~~~~~~~~
+
+The VF vlan strip function is only supported in the i40e kernel driver >= 2.1.26.
+
+DCB function
+~~~~~~~~~~~~
+
+DCB works only when RSS is enabled.
+
 High Performance of Small Packets on 40G NIC
 --------------------------------------------