event/dlb: add infos get and configure
[dpdk.git] / doc / guides / nics / octeontx2.rst
index 60187ec..7c04b5e 100644 (file)
@@ -39,20 +39,13 @@ Features of the OCTEON TX2 Ethdev PMD are:
 - HW offloaded `ethdev Rx queue` to `eventdev event queue` packet injection
 - Support Rx interrupt
 - Inline IPsec processing support
+- :ref:`Traffic Management API <otx2_tmapi>`
 
 Prerequisites
 -------------
 
 See :doc:`../platform/octeontx2` for setup information.
 
-Compile time Config Options
----------------------------
-
-The following options may be modified in the ``config`` file.
-
-- ``CONFIG_RTE_LIBRTE_OCTEONTX2_PMD`` (default ``y``)
-
-  Toggle compilation of the ``librte_pmd_octeontx2`` driver.
 
 Driver compilation and testing
 ------------------------------
@@ -60,9 +53,6 @@ Driver compilation and testing
 Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
 for details.
 
-To compile the OCTEON TX2 PMD for Linux arm64 gcc,
-use arm64-octeontx2-linux-gcc as target.
-
 #. Running testpmd:
 
    Follow instructions available in the document
@@ -73,7 +63,7 @@ use arm64-octeontx2-linux-gcc as target.
 
    .. code-block:: console
 
-      ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -177,7 +167,7 @@ Runtime Config Options
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
-   types are "higig2" and "dsa".
+   types are "higig2", "dsa" and "chlen90b".
 
 - ``RSS tag as XOR`` (default ``0``)
 
@@ -194,6 +184,7 @@ Runtime Config Options
    Setting this flag to 1 to select the legacy mode.
 
    For example to select the legacy mode(RSS tag adder as XOR)::
+
       -w 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
@@ -202,17 +193,62 @@ Runtime Config Options
    ``ipsec_in_max_spi`` ``devargs`` parameter.
 
    For example::
+
       -w 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
 
+- ``Lock Rx contexts in NDC cache``
+
+   Lock Rx contexts in NDC cache by using ``lock_rx_ctx`` parameter.
+
+   For example::
+
+      -w 0002:02:00.0,lock_rx_ctx=1
+
+- ``Lock Tx contexts in NDC cache``
+
+   Lock Tx contexts in NDC cache by using ``lock_tx_ctx`` parameter.
+
+   For example::
+
+      -w 0002:02:00.0,lock_tx_ctx=1
+
 .. note::
 
    Above devarg parameters are configurable per device, user needs to pass the
    parameters to all the PCIe devices if application requires to configure on
    all the ethdev ports.
 
+- ``Lock NPA contexts in NDC``
+
+   Lock NPA aura and pool contexts in NDC cache.
+   The device args take hexadecimal bitmask where each bit represent the
+   corresponding aura/pool id.
+
+   For example::
+
+      -w 0002:02:00.0,npa_lock_mask=0xf
+
+.. _otx2_tmapi:
+
+Traffic Management API
+----------------------
+
+OCTEON TX2 PMD supports generic DPDK Traffic Management API which allows to
+configure the following features:
+
+#. Hierarchical scheduling
+#. Single rate - Two color, Two rate - Three color shaping
+
+Both DWRR and Static Priority(SP) hierarchial scheduling is supported.
+
+Every parent can have atmost 10 SP Children and unlimited DWRR children.
+
+Both PF & VF supports traffic management API with PF supporting 6 levels
+and VF supporting 5 levels of topology.
+
 Limitations
 -----------
 
@@ -338,38 +374,46 @@ Actions:
 
 .. table:: Ingress action types
 
-   +----+--------------------------------+
-   | #  | Action Type                    |
-   +====+================================+
-   | 1  | RTE_FLOW_ACTION_TYPE_VOID      |
-   +----+--------------------------------+
-   | 2  | RTE_FLOW_ACTION_TYPE_MARK      |
-   +----+--------------------------------+
-   | 3  | RTE_FLOW_ACTION_TYPE_FLAG      |
-   +----+--------------------------------+
-   | 4  | RTE_FLOW_ACTION_TYPE_COUNT     |
-   +----+--------------------------------+
-   | 5  | RTE_FLOW_ACTION_TYPE_DROP      |
-   +----+--------------------------------+
-   | 6  | RTE_FLOW_ACTION_TYPE_QUEUE     |
-   +----+--------------------------------+
-   | 7  | RTE_FLOW_ACTION_TYPE_RSS       |
-   +----+--------------------------------+
-   | 8  | RTE_FLOW_ACTION_TYPE_SECURITY  |
-   +----+--------------------------------+
-   | 9  | RTE_FLOW_ACTION_TYPE_PF        |
-   +----+--------------------------------+
-   | 10 | RTE_FLOW_ACTION_TYPE_VF        |
-   +----+--------------------------------+
+   +----+-----------------------------------------+
+   | #  | Action Type                             |
+   +====+=========================================+
+   | 1  | RTE_FLOW_ACTION_TYPE_VOID               |
+   +----+-----------------------------------------+
+   | 2  | RTE_FLOW_ACTION_TYPE_MARK               |
+   +----+-----------------------------------------+
+   | 3  | RTE_FLOW_ACTION_TYPE_FLAG               |
+   +----+-----------------------------------------+
+   | 4  | RTE_FLOW_ACTION_TYPE_COUNT              |
+   +----+-----------------------------------------+
+   | 5  | RTE_FLOW_ACTION_TYPE_DROP               |
+   +----+-----------------------------------------+
+   | 6  | RTE_FLOW_ACTION_TYPE_QUEUE              |
+   +----+-----------------------------------------+
+   | 7  | RTE_FLOW_ACTION_TYPE_RSS                |
+   +----+-----------------------------------------+
+   | 8  | RTE_FLOW_ACTION_TYPE_SECURITY           |
+   +----+-----------------------------------------+
+   | 9  | RTE_FLOW_ACTION_TYPE_PF                 |
+   +----+-----------------------------------------+
+   | 10 | RTE_FLOW_ACTION_TYPE_VF                 |
+   +----+-----------------------------------------+
+   | 11 | RTE_FLOW_ACTION_TYPE_OF_POP_VLAN        |
+   +----+-----------------------------------------+
 
 .. _table_octeontx2_supported_egress_action_types:
 
 .. table:: Egress action types
 
-   +----+--------------------------------+
-   | #  | Action Type                    |
-   +====+================================+
-   | 1  | RTE_FLOW_ACTION_TYPE_COUNT     |
-   +----+--------------------------------+
-   | 2  | RTE_FLOW_ACTION_TYPE_DROP      |
-   +----+--------------------------------+
+   +----+-----------------------------------------+
+   | #  | Action Type                             |
+   +====+=========================================+
+   | 1  | RTE_FLOW_ACTION_TYPE_COUNT              |
+   +----+-----------------------------------------+
+   | 2  | RTE_FLOW_ACTION_TYPE_DROP               |
+   +----+-----------------------------------------+
+   | 3  | RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN       |
+   +----+-----------------------------------------+
+   | 4  | RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID    |
+   +----+-----------------------------------------+
+   | 5  | RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP    |
+   +----+-----------------------------------------+