vhost: fix IOTLB mempool single-consumer flag
[dpdk.git] / doc / guides / nics / dpaa.rst
index f859200..74d4a60 100644 (file)
@@ -1,5 +1,5 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright 2017 NXP
+    Copyright 2017,2020 NXP
 
 
 DPAA Poll Mode Driver
@@ -21,6 +21,7 @@ Contents summary
 
 - DPAA overview
 - DPAA driver architecture overview
+- FMAN configuration tools and library
 
 .. _dpaa_overview:
 
@@ -201,14 +202,12 @@ Config File Options
 The following options can be modified in the ``config`` file.
 Please note that enabling debugging options may affect system performance.
 
-- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``n``)
+- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``y``)
 
-  By default it is enabled only for defconfig_arm64-dpaa-* config.
   Toggle compilation of the ``librte_bus_dpaa`` driver.
 
-- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``n``)
+- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``y``)
 
-  By default it is enabled only for defconfig_arm64-dpaa-* config.
   Toggle compilation of the ``librte_pmd_dpaa`` driver.
 
 - ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER`` (default ``n``)
@@ -222,12 +221,6 @@ Please note that enabling debugging options may affect system performance.
   Enables debugging of the Queue and Buffer Manager layer which interacts
   with the DPAA hardware.
 
-- ``CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS`` (default ``dpaa``)
-
-  This is not a DPAA specific configuration - it is a generic RTE config.
-  For optimal performance and hardware utilization, it is expected that DPAA
-  Mempool driver is used for mempools. For that, this configuration needs to
-  enabled.
 
 Environment Variables
 ~~~~~~~~~~~~~~~~~~~~~
@@ -293,6 +286,67 @@ for details.
       Done
       testpmd>
 
+FMAN Config
+-----------
+
+Frame Manager is also responsible for parser, classify and distribute
+functionality in the DPAA.
+
+   FMAN supports:
+   Packet parsing at wire speed. It supports standard protocols parsing and
+   identification by HW (VLAN/IP/UDP/TCP/SCTP/PPPoE/PPP/MPLS/GRE/IPSec).
+   It supports non-standard UDF header parsing for custom protocols.
+   Classification / Distribution: Coarse classification based on Key generation
+   Hash and exact match lookup
+
+FMC - FMAN Configuration Tool
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   This tool is available in User Space. The tool is used to configure FMAN
+   Physical (MAC) or Ephemeral (OH)ports for Parse/Classify/distribute.
+   The PCDs can be hash based where a set of fields are key input for hash
+   generation within FMAN keygen. The hash value is used to generate a FQID for
+   frame. There is a provision to setup exact match lookup too where field
+   values within a packet drives corresponding FQID.
+   Currently it works on XML file inputs.
+
+   Limitations:
+   1.For Dynamic Configuration change, currently no support is available.
+   E.g. enable/disable a port, a operator (set of VLANs and associate rules).
+
+   2.During FMC configuration, port for which policy is being configured is
+   brought down and the policy is flushed on port before new policy is updated
+   for the port. Support is required to add/append/delete etc.
+
+   3.FMC, being a separate user-space application, needs to be invoked from
+   Shell.
+
+
+   The details can be found in FMC Doc at:
+   `Frame Mnager Configuration Tool <https://www.nxp.com/docs/en/application-note/AN4760.pdf>`_.
+
+FMLIB
+~~~~~
+   The Frame Manager library provides an API on top of the Frame Manager driver
+   ioctl calls, that provides a user space application with a simple way to
+   configure driver parameters and PCD (parse - classify - distribute) rules.
+
+   This is an alternate to the FMC based configuration. This library provides
+   direct ioctl based interfaces for FMAN configuration as used by the FMC tool
+   as well. This helps in overcoming the main limitaiton of FMC - i.e. lack
+   of dynamic configuration.
+
+   The location for the fmd driver as used by FMLIB and FMC is as follows:
+   `Kernel FMD Driver
+   <https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/drivers/net/ethernet/freescale/sdk_fman?h=linux-4.19-rt>`_.
+
+VSP (Virtual Storage Profile)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   The storage profiled are means to provide virtualized interface. A ranges of
+   storage profiles cab be associated to Ethernet ports.
+   They are selected during classification. Specify how the frame should be
+   written to memory and which buffer pool to select for packet storange in
+   queues. Start and End margin of buffer can also be configured.
+
 Limitations
 -----------