X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Focteontx2.rst;h=7c04b5e600407573ebb142ad4891be3842f66597;hb=b94c709decbe39582c68cf3605745b60a4f7985a;hp=60187ec72ff4121b4f2a9be00e7214f966d7e6cd;hpb=58002ff3d5751c6da9e5cbcc4df3bc384d451f14;p=dpdk.git diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst index 60187ec72f..7c04b5e600 100644 --- a/doc/guides/nics/octeontx2.rst +++ b/doc/guides/nics/octeontx2.rst @@ -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 ` 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 ` 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 + .//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 | + +----+-----------------------------------------+