X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fdpaa.rst;h=9dad612058c6bba490a02cea114ec13796d7d141;hb=6cc51b1293ceac4a77d4bf7ac91a8bbd59e1f78c;hp=17839a920e60a05b3ec39665e0018a097b6f4108;hpb=487eec3401b7a1664982f39da139980a4f5b3adc;p=dpdk.git diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst index 17839a920e..9dad612058 100644 --- a/doc/guides/nics/dpaa.rst +++ b/doc/guides/nics/dpaa.rst @@ -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,31 +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 ``y``) - - Toggle compilation of the ``librte_bus_dpaa`` driver. - -- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``y``) - - 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. - Environment Variables ~~~~~~~~~~~~~~~~~~~~~ @@ -264,7 +240,7 @@ for details. .. code-block:: console - ./arm64-dpaa-linux-gcc/testpmd -c 0xff -n 1 \ + .//app/dpdk-testpmd -c 0xff -n 1 \ -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx ..... @@ -285,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 Manager Configuration Tool `_. + +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 limitation 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 + `_. + +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 storage in + queues. Start and End margin of buffer can also be configured. + Limitations ----------- @@ -298,7 +335,7 @@ Maximum packet length ~~~~~~~~~~~~~~~~~~~~~ The DPAA SoC family support a maximum of a 10240 jumbo frame. The value -is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len`` +is fixed and cannot be changed. So, even when the ``rxmode.mtu`` member of ``struct rte_eth_conf`` is set to a value lower than 10240, frames up to 10240 bytes can still reach the host interface.