event/cnxk: add option to control SSO HWGRP QoS
[dpdk.git] / doc / guides / nics / dpaa.rst
index cd35cab..917482d 100644 (file)
@@ -1,11 +1,11 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright 2017 NXP
+    Copyright 2017,2020 NXP
 
 
 DPAA Poll Mode Driver
 =====================
 
-The DPAA NIC PMD (**librte_pmd_dpaa**) provides poll mode driver
+The DPAA NIC PMD (**librte_net_dpaa**) provides poll mode driver
 support for the inbuilt NIC found in the **NXP DPAA** SoC family.
 
 More information can be found at `NXP Official Website
@@ -21,6 +21,7 @@ Contents summary
 
 - DPAA overview
 - DPAA driver architecture overview
+- FMAN configuration tools and library
 
 .. _dpaa_overview:
 
@@ -162,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
@@ -195,39 +196,6 @@ See :doc:`../platform/dpaa` for setup information
 Pre-Installation Configuration
 ------------------------------
 
-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``)
-
-  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``)
-
-  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``)
-
-  Toggles display of bus configurations and enables a debugging queue
-  to fetch error (Rx/Tx) packets to driver. By default, packets with errors
-  (like wrong checksum) are dropped by the hardware.
-
-- ``CONFIG_RTE_LIBRTE_DPAA_HWDEBUG`` (default ``n``)
-
-  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
 ~~~~~~~~~~~~~~~~~~~~~
@@ -251,7 +219,7 @@ state during application initialization:
   automatically be assigned from the these high perf PUSH queues. Any queue
   configuration beyond that will be standard Rx queues. The application can
   choose to change their number if HW portals are limited.
-  The valid values are from '0' to '4'. The valuse shall be set to '0' if the
+  The valid values are from '0' to '4'. The values shall be set to '0' if the
   application want to use eventdev with DPAA device.
   Currently these queues are not used for LS1023/LS1043 platform by default.
 
@@ -272,7 +240,7 @@ for details.
 
    .. code-block:: console
 
-      ./arm64-dpaa-linux-gcc/testpmd -c 0xff -n 1 \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 1 \
         -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
 
       .....
@@ -293,6 +261,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
 -----------