net/mlx4: spawn rdma-core dependency plug-in
[dpdk.git] / doc / guides / nics / sfc_efx.rst
index 43bd9f1..8e0782c 100644 (file)
@@ -48,6 +48,8 @@ SFC EFX PMD has support for:
 
 - IPv4/IPv6 TCP/UDP transmit checksum offload
 
 
 - IPv4/IPv6 TCP/UDP transmit checksum offload
 
+- Inner IPv4/IPv6 TCP/UDP transmit checksum offload
+
 - Port hardware statistics
 
 - Extended statistics (see Solarflare Server Adapter User's Guide for
 - Port hardware statistics
 
 - Extended statistics (see Solarflare Server Adapter User's Guide for
@@ -69,6 +71,8 @@ SFC EFX PMD has support for:
 
 - IPv4/IPv6 TCP/UDP receive checksum offload
 
 
 - IPv4/IPv6 TCP/UDP receive checksum offload
 
+- Inner IPv4/IPv6 TCP/UDP receive checksum offload
+
 - Received packet type information
 
 - Receive side scaling (RSS)
 - Received packet type information
 
 - Receive side scaling (RSS)
@@ -116,6 +120,26 @@ required in the receive buffer.
 It should be taken into account when mbuf pool for receive is created.
 
 
 It should be taken into account when mbuf pool for receive is created.
 
 
+Tunnels support
+---------------
+
+NVGRE, VXLAN and GENEVE tunnels are supported on SFN8xxx family adapters
+with full-feature firmware variant running.
+**sfboot** should be used to configure NIC to run full-feature firmware variant.
+See Solarflare Server Adapter User's Guide for details.
+
+SFN8xxx family adapters provide either inner or outer packet classes.
+If adapter firmware advertises support for tunnels then the PMD
+configures the hardware to report inner classes, and outer classes are
+not reported in received packets.
+However, for VXLAN and GENEVE tunnels the PMD does report UDP as the
+outer layer 4 packet type.
+
+SFN8xxx family adapters report GENEVE packets as VXLAN.
+If UDP ports are configured for only one tunnel type then it is safe to
+treat VXLAN packet type indication as the corresponding UDP tunnel type.
+
+
 Flow API support
 ----------------
 
 Flow API support
 ----------------
 
@@ -148,6 +172,8 @@ Supported actions:
 
 - QUEUE
 
 
 - QUEUE
 
+- RSS
+
 Validating flow rules depends on the firmware variant.
 
 Ethernet destinaton individual/group match
 Validating flow rules depends on the firmware variant.
 
 Ethernet destinaton individual/group match
@@ -236,6 +262,24 @@ boolean parameters value.
   more efficient than libefx-based and provides richer packet type
   classification, but lacks Rx scatter support.
 
   more efficient than libefx-based and provides richer packet type
   classification, but lacks Rx scatter support.
 
+- ``tx_datapath`` [auto|efx|ef10|ef10_simple] (default **auto**)
+
+  Choose transmit datapath implementation.
+  **auto** allows the driver itself to make a choice based on firmware
+  features available and required by the datapath implementation.
+  **efx** chooses libefx-based datapath which supports VLAN insertion
+  (full-feature firmware variant only), TSO and multi-segment mbufs.
+  Mbuf segments may come from different mempools, and mbuf reference
+  counters are treated responsibly.
+  **ef10** chooses EF10 (SFN7xxx, SFN8xxx) native datapath which is
+  more efficient than libefx-based but has no VLAN insertion and TSO
+  support yet.
+  Mbuf segments may come from different mempools, and mbuf reference
+  counters are treated responsibly.
+  **ef10_simple** chooses EF10 (SFN7xxx, SFN8xxx) native datapath which
+  is even more faster then **ef10** but does not support multi-segment
+  mbufs, disallows multiple mempools and neglects mbuf reference counters.
+
 - ``perf_profile`` [auto|throughput|low-latency] (default **throughput**)
 
   Choose hardware tunning to be optimized for either throughput or
 - ``perf_profile`` [auto|throughput|low-latency] (default **throughput**)
 
   Choose hardware tunning to be optimized for either throughput or
@@ -245,7 +289,7 @@ boolean parameters value.
 
 - ``debug_init`` [bool] (default **n**)
 
 
 - ``debug_init`` [bool] (default **n**)
 
-  Enable extra logging during device intialization and startup.
+  Enable extra logging during device initialization and startup.
 
 - ``mcdi_logging`` [bool] (default **n**)
 
 
 - ``mcdi_logging`` [bool] (default **n**)