xref: /dpdk/doc/guides/platform/cnxk.rst (revision 318ee1b0468299e92411ea8616073c477743b34e)
168a03efeSNithin Dabilpuram..  SPDX-License-Identifier: BSD-3-Clause
268a03efeSNithin Dabilpuram    Copyright(C) 2021 Marvell.
368a03efeSNithin Dabilpuram
468a03efeSNithin DabilpuramMarvell cnxk platform guide
568a03efeSNithin Dabilpuram===========================
668a03efeSNithin Dabilpuram
768a03efeSNithin DabilpuramThis document gives an overview of **Marvell OCTEON CN9K and CN10K** RVU H/W block,
868a03efeSNithin Dabilpurampacket flow and procedure to build DPDK on OCTEON cnxk platform.
968a03efeSNithin Dabilpuram
1068a03efeSNithin DabilpuramMore information about CN9K and CN10K SoC can be found at `Marvell Official Website
1168a03efeSNithin Dabilpuram<https://www.marvell.com/embedded-processors/infrastructure-processors/>`_.
1268a03efeSNithin Dabilpuram
1368a03efeSNithin DabilpuramSupported OCTEON cnxk SoCs
1468a03efeSNithin Dabilpuram--------------------------
1568a03efeSNithin Dabilpuram
1633e71acfSJerin Jacob- CN93xx
1733e71acfSJerin Jacob- CN96xx
1833e71acfSJerin Jacob- CN98xx
1968a03efeSNithin Dabilpuram- CN106xx
2068a03efeSNithin Dabilpuram- CNF105xx
21dd462f68SRahul Bhansali- CN103XX
2268a03efeSNithin Dabilpuram
2368a03efeSNithin DabilpuramResource Virtualization Unit architecture
2468a03efeSNithin Dabilpuram-----------------------------------------
2568a03efeSNithin Dabilpuram
2668a03efeSNithin DabilpuramThe :numref:`figure_cnxk_resource_virtualization` diagram depicts the
2768a03efeSNithin DabilpuramRVU architecture and a resource provisioning example.
2868a03efeSNithin Dabilpuram
2968a03efeSNithin Dabilpuram.. _figure_cnxk_resource_virtualization:
3068a03efeSNithin Dabilpuram
3168a03efeSNithin Dabilpuram.. figure:: img/cnxk_resource_virtualization.*
3268a03efeSNithin Dabilpuram
3368a03efeSNithin Dabilpuram    cnxk Resource virtualization architecture and provisioning example
3468a03efeSNithin Dabilpuram
3568a03efeSNithin Dabilpuram
3668a03efeSNithin DabilpuramResource Virtualization Unit (RVU) on Marvell's OCTEON CN9K/CN10K SoC maps HW
3768a03efeSNithin Dabilpuramresources belonging to the network, crypto and other functional blocks onto
3868a03efeSNithin DabilpuramPCI-compatible physical and virtual functions.
3968a03efeSNithin Dabilpuram
4068a03efeSNithin DabilpuramEach functional block has multiple local functions (LFs) for
4168a03efeSNithin Dabilpuramprovisioning to different PCIe devices. RVU supports multiple PCIe SRIOV
4268a03efeSNithin Dabilpuramphysical functions (PFs) and virtual functions (VFs).
4368a03efeSNithin Dabilpuram
4468a03efeSNithin DabilpuramThe :numref:`table_cnxk_rvu_dpdk_mapping` shows the various local
4568a03efeSNithin Dabilpuramfunctions (LFs) provided by the RVU and its functional mapping to
4668a03efeSNithin DabilpuramDPDK subsystem.
4768a03efeSNithin Dabilpuram
4868a03efeSNithin Dabilpuram.. _table_cnxk_rvu_dpdk_mapping:
4968a03efeSNithin Dabilpuram
5068a03efeSNithin Dabilpuram.. table:: RVU managed functional blocks and its mapping to DPDK subsystem
5168a03efeSNithin Dabilpuram
5268a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
5368a03efeSNithin Dabilpuram   | # | LF  | DPDK subsystem mapping                                       |
5468a03efeSNithin Dabilpuram   +===+=====+==============================================================+
5568a03efeSNithin Dabilpuram   | 1 | NIX | rte_ethdev, rte_tm, rte_event_eth_[rt]x_adapter, rte_security|
5668a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
5768a03efeSNithin Dabilpuram   | 2 | NPA | rte_mempool                                                  |
5868a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
5968a03efeSNithin Dabilpuram   | 3 | NPC | rte_flow                                                     |
6068a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
6168a03efeSNithin Dabilpuram   | 4 | CPT | rte_cryptodev, rte_event_crypto_adapter                      |
6268a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
6368a03efeSNithin Dabilpuram   | 5 | SSO | rte_eventdev                                                 |
6468a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
6568a03efeSNithin Dabilpuram   | 6 | TIM | rte_event_timer_adapter                                      |
6668a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
6768a03efeSNithin Dabilpuram   | 7 | LBK | rte_ethdev                                                   |
6868a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
6953f6d732SRadha Mohan Chintakuntla   | 8 | DPI | rte_dmadev                                                   |
7068a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
7168a03efeSNithin Dabilpuram   | 9 | SDP | rte_ethdev                                                   |
7268a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
7368a03efeSNithin Dabilpuram   | 10| REE | rte_regexdev                                                 |
7468a03efeSNithin Dabilpuram   +---+-----+--------------------------------------------------------------+
758a8dc9b8STomasz Duszynski   | 11| BPHY| rte_rawdev                                                   |
768a8dc9b8STomasz Duszynski   +---+-----+--------------------------------------------------------------+
77d0b8a4e1STomasz Duszynski   | 12| GPIO| rte_rawdev                                                   |
78d0b8a4e1STomasz Duszynski   +---+-----+--------------------------------------------------------------+
792bca1d7cSSrikanth Yalavarthi   | 13| ML  | rte_mldev                                                    |
802bca1d7cSSrikanth Yalavarthi   +---+-----+--------------------------------------------------------------+
81*318ee1b0SAkhil Goyal   | 14| RVU | rte_rawdev                                                   |
82*318ee1b0SAkhil Goyal   +---+-----+--------------------------------------------------------------+
8368a03efeSNithin Dabilpuram
8468a03efeSNithin DabilpuramPF0 is called the administrative / admin function (AF) and has exclusive
8568a03efeSNithin Dabilpuramprivileges to provision RVU functional block's LFs to each of the PF/VF.
8668a03efeSNithin Dabilpuram
8768a03efeSNithin DabilpuramPF/VFs communicates with AF via a shared memory region (mailbox).Upon receiving
8868a03efeSNithin Dabilpuramrequests from PF/VF, AF does resource provisioning and other HW configuration.
8968a03efeSNithin Dabilpuram
9068a03efeSNithin DabilpuramAF is always attached to host, but PF/VFs may be used by host kernel itself,
9168a03efeSNithin Dabilpuramor attached to VMs or to userspace applications like DPDK, etc. So, AF has to
9268a03efeSNithin Dabilpuramhandle provisioning/configuration requests sent by any device from any domain.
9368a03efeSNithin Dabilpuram
9468a03efeSNithin DabilpuramThe AF driver does not receive or process any data.
9568a03efeSNithin DabilpuramIt is only a configuration driver used in control path.
9668a03efeSNithin Dabilpuram
9768a03efeSNithin DabilpuramThe :numref:`figure_cnxk_resource_virtualization` diagram also shows a
9868a03efeSNithin Dabilpuramresource provisioning example where,
9968a03efeSNithin Dabilpuram
100443b949eSDavid Marchand#. PFx and PFx-VF0 bound to Linux netdev driver.
101443b949eSDavid Marchand
102443b949eSDavid Marchand#. PFx-VF1 ethdev driver bound to the first DPDK application.
103443b949eSDavid Marchand
104443b949eSDavid Marchand#. PFy ethdev driver, PFy-VF0 ethdev driver, PFz eventdev driver, PFm-VF0 cryptodev driver bound to the second DPDK application.
10568a03efeSNithin Dabilpuram
10668a03efeSNithin DabilpuramLBK HW Access
10768a03efeSNithin Dabilpuram-------------
10868a03efeSNithin Dabilpuram
10968a03efeSNithin DabilpuramLoopback HW Unit (LBK) receives packets from NIX-RX and sends packets back to NIX-TX.
11068a03efeSNithin DabilpuramThe loopback block has N channels and contains data buffering that is shared across
11168a03efeSNithin Dabilpuramall channels. The LBK HW Unit is abstracted using ethdev subsystem, Where PF0's
11268a03efeSNithin DabilpuramVFs are exposed as ethdev device and odd-even pairs of VFs are tied together,
11368a03efeSNithin Dabilpuramthat is, packets sent on odd VF end up received on even VF and vice versa.
11468a03efeSNithin DabilpuramThis would enable HW accelerated means of communication between two domains
11568a03efeSNithin Dabilpuramwhere even VF bound to the first domain and odd VF bound to the second domain.
11668a03efeSNithin Dabilpuram
11768a03efeSNithin DabilpuramTypical application usage models are,
11868a03efeSNithin Dabilpuram
11968a03efeSNithin Dabilpuram#. Communication between the Linux kernel and DPDK application.
120fc7428eaSDavid Marchand
12168a03efeSNithin Dabilpuram#. Exception path to Linux kernel from DPDK application as SW ``KNI`` replacement.
122fc7428eaSDavid Marchand
12368a03efeSNithin Dabilpuram#. Communication between two different DPDK applications.
12468a03efeSNithin Dabilpuram
12568a03efeSNithin DabilpuramSDP interface
12668a03efeSNithin Dabilpuram-------------
12768a03efeSNithin Dabilpuram
12868a03efeSNithin DabilpuramSystem DPI Packet Interface unit(SDP) provides PCIe endpoint support for remote host
12968a03efeSNithin Dabilpuramto DMA packets into and out of cnxk SoC. SDP interface comes in to live only when
13068a03efeSNithin Dabilpuramcnxk SoC is connected in PCIe endpoint mode. It can be used to send/receive
13168a03efeSNithin Dabilpurampackets to/from remote host machine using input/output queue pairs exposed to it.
13268a03efeSNithin DabilpuramSDP interface receives input packets from remote host from NIX-RX and sends packets
13368a03efeSNithin Dabilpuramto remote host using NIX-TX. Remote host machine need to use corresponding driver
13468a03efeSNithin Dabilpuram(kernel/user mode) to communicate with SDP interface on cnxk SoC. SDP supports
13568a03efeSNithin Dabilpuramsingle PCIe SRIOV physical function(PF) and multiple virtual functions(VF's). Users
13668a03efeSNithin Dabilpuramcan bind PF or VF to use SDP interface and it will be enumerated as ethdev ports.
13768a03efeSNithin Dabilpuram
13868a03efeSNithin DabilpuramThe primary use case for SDP is to enable the smart NIC use case. Typical usage models are,
13968a03efeSNithin Dabilpuram
14068a03efeSNithin Dabilpuram#. Communication channel between remote host and cnxk SoC over PCIe.
141fc7428eaSDavid Marchand
14268a03efeSNithin Dabilpuram#. Transfer packets received from network interface to remote host over PCIe and
14368a03efeSNithin Dabilpuram   vice-versa.
14468a03efeSNithin Dabilpuram
14568a03efeSNithin Dabilpuramcnxk packet flow
14668a03efeSNithin Dabilpuram----------------------
14768a03efeSNithin Dabilpuram
14868a03efeSNithin DabilpuramThe :numref:`figure_cnxk_packet_flow_hw_accelerators` diagram depicts
14968a03efeSNithin Dabilpuramthe packet flow on cnxk SoC in conjunction with use of various HW accelerators.
15068a03efeSNithin Dabilpuram
15168a03efeSNithin Dabilpuram.. _figure_cnxk_packet_flow_hw_accelerators:
15268a03efeSNithin Dabilpuram
15368a03efeSNithin Dabilpuram.. figure:: img/cnxk_packet_flow_hw_accelerators.*
15468a03efeSNithin Dabilpuram
15568a03efeSNithin Dabilpuram    cnxk packet flow in conjunction with use of HW accelerators
15668a03efeSNithin Dabilpuram
15768a03efeSNithin DabilpuramHW Offload Drivers
15868a03efeSNithin Dabilpuram------------------
15968a03efeSNithin Dabilpuram
16068a03efeSNithin DabilpuramThis section lists dataplane H/W block(s) available in cnxk SoC.
16168a03efeSNithin Dabilpuram
16247db46bbSNithin Dabilpuram#. **Ethdev Driver**
16347db46bbSNithin Dabilpuram   See :doc:`../nics/cnxk` for NIX Ethdev driver information.
16447db46bbSNithin Dabilpuram
1652da31591SAshwin Sekhar T K#. **Mempool Driver**
1662da31591SAshwin Sekhar T K   See :doc:`../mempool/cnxk` for NPA mempool driver information.
1672da31591SAshwin Sekhar T K
1683d27e49eSTomasz Duszynski#. **Baseband PHY Driver**
1693d27e49eSTomasz Duszynski   See :doc:`../rawdevs/cnxk_bphy` for Baseband PHY driver information.
1703d27e49eSTomasz Duszynski
17153f6d732SRadha Mohan Chintakuntla#. **Dmadev Driver**
17253f6d732SRadha Mohan Chintakuntla   See :doc:`../dmadevs/cnxk` for DPI Dmadev driver information.
17353f6d732SRadha Mohan Chintakuntla
17472c00ae9SLiron Himi#. **Regex Device Driver**
17572c00ae9SLiron Himi   See :doc:`../regexdevs/cn9k` for REE Regex device driver information.
17672c00ae9SLiron Himi
1772bca1d7cSSrikanth Yalavarthi#. **ML Device Driver**
1782bca1d7cSSrikanth Yalavarthi   See :doc:`../mldevs/cnxk` for Machine Learning device driver information.
1792bca1d7cSSrikanth Yalavarthi
180*318ee1b0SAkhil Goyal#. **RVU LF Driver**
181*318ee1b0SAkhil Goyal   See :doc:`../rawdevs/cnxk_rvu_lf` for RVU LF driver information.
182*318ee1b0SAkhil Goyal
18368a03efeSNithin DabilpuramProcedure to Setup Platform
18468a03efeSNithin Dabilpuram---------------------------
18568a03efeSNithin Dabilpuram
18668a03efeSNithin DabilpuramThere are three main prerequisites for setting up DPDK on cnxk
18768a03efeSNithin Dabilpuramcompatible board:
18868a03efeSNithin Dabilpuram
189443b949eSDavid Marchand#. **RVU AF Linux kernel driver**
19068a03efeSNithin Dabilpuram
19168a03efeSNithin Dabilpuram   The dependent kernel drivers can be obtained from the
19268a03efeSNithin Dabilpuram   `kernel.org <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/marvell/octeontx2>`_.
19368a03efeSNithin Dabilpuram
19468a03efeSNithin Dabilpuram   Alternatively, the Marvell SDK also provides the required kernel drivers.
19568a03efeSNithin Dabilpuram
19668a03efeSNithin Dabilpuram   Linux kernel should be configured with the following features enabled:
19768a03efeSNithin Dabilpuram
19868a03efeSNithin Dabilpuram   .. code-block:: console
19968a03efeSNithin Dabilpuram
20068a03efeSNithin Dabilpuram        # 64K pages enabled for better performance
20168a03efeSNithin Dabilpuram        CONFIG_ARM64_64K_PAGES=y
20268a03efeSNithin Dabilpuram        CONFIG_ARM64_VA_BITS_48=y
20368a03efeSNithin Dabilpuram        # huge pages support enabled
20468a03efeSNithin Dabilpuram        CONFIG_HUGETLBFS=y
20568a03efeSNithin Dabilpuram        CONFIG_HUGETLB_PAGE=y
20668a03efeSNithin Dabilpuram        # VFIO enabled with TYPE1 IOMMU at minimum
20768a03efeSNithin Dabilpuram        CONFIG_VFIO_IOMMU_TYPE1=y
20868a03efeSNithin Dabilpuram        CONFIG_VFIO_VIRQFD=y
20968a03efeSNithin Dabilpuram        CONFIG_VFIO=y
21068a03efeSNithin Dabilpuram        CONFIG_VFIO_NOIOMMU=y
21168a03efeSNithin Dabilpuram        CONFIG_VFIO_PCI=y
21268a03efeSNithin Dabilpuram        CONFIG_VFIO_PCI_MMAP=y
21368a03efeSNithin Dabilpuram        # SMMUv3 driver
21468a03efeSNithin Dabilpuram        CONFIG_ARM_SMMU_V3=y
21568a03efeSNithin Dabilpuram        # ARMv8.1 LSE atomics
21668a03efeSNithin Dabilpuram        CONFIG_ARM64_LSE_ATOMICS=y
21768a03efeSNithin Dabilpuram        # OCTEONTX2 drivers
21868a03efeSNithin Dabilpuram        CONFIG_OCTEONTX2_MBOX=y
21968a03efeSNithin Dabilpuram        CONFIG_OCTEONTX2_AF=y
22068a03efeSNithin Dabilpuram        # Enable if netdev PF driver required
22168a03efeSNithin Dabilpuram        CONFIG_OCTEONTX2_PF=y
22268a03efeSNithin Dabilpuram        # Enable if netdev VF driver required
22368a03efeSNithin Dabilpuram        CONFIG_OCTEONTX2_VF=y
22468a03efeSNithin Dabilpuram        CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=y
22568a03efeSNithin Dabilpuram        # Enable if OCTEONTX2 DMA PF driver required
22668a03efeSNithin Dabilpuram        CONFIG_OCTEONTX2_DPI_PF=n
22768a03efeSNithin Dabilpuram
228443b949eSDavid Marchand#. **ARM64 Linux Tool Chain**
22968a03efeSNithin Dabilpuram
23068a03efeSNithin Dabilpuram   For example, the *aarch64* Linaro Toolchain, which can be obtained from
23168a03efeSNithin Dabilpuram   `here <https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/>`_.
23268a03efeSNithin Dabilpuram
23368a03efeSNithin Dabilpuram   Alternatively, the Marvell SDK also provides GNU GCC toolchain, which is
23468a03efeSNithin Dabilpuram   optimized for cnxk CPU.
23568a03efeSNithin Dabilpuram
236443b949eSDavid Marchand#. **Rootfile system**
23768a03efeSNithin Dabilpuram
23868a03efeSNithin Dabilpuram   Any *aarch64* supporting filesystem may be used. For example,
23968a03efeSNithin Dabilpuram   Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained
24068a03efeSNithin Dabilpuram   from `<http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.1-base-arm64.tar.gz>`_.
24168a03efeSNithin Dabilpuram
24268a03efeSNithin Dabilpuram   Alternatively, the Marvell SDK provides the buildroot based root filesystem.
24368a03efeSNithin Dabilpuram   The SDK includes all the above prerequisites necessary to bring up the cnxk board.
24468a03efeSNithin Dabilpuram
24568a03efeSNithin Dabilpuram- Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
24668a03efeSNithin Dabilpuram
24768a03efeSNithin Dabilpuram
24868a03efeSNithin DabilpuramDebugging Options
24968a03efeSNithin Dabilpuram-----------------
25068a03efeSNithin Dabilpuram
25168a03efeSNithin Dabilpuram.. _table_cnxk_common_debug_options:
25268a03efeSNithin Dabilpuram
25368a03efeSNithin Dabilpuram.. table:: cnxk common debug options
25468a03efeSNithin Dabilpuram
25568a03efeSNithin Dabilpuram   +---+------------+-------------------------------------------------------+
25668a03efeSNithin Dabilpuram   | # | Component  | EAL log command                                       |
25768a03efeSNithin Dabilpuram   +===+============+=======================================================+
258455a771fSAnoob Joseph   | 1 | Common     | --log-level='pmd\.common\.cnxk\.base,8'               |
25968a03efeSNithin Dabilpuram   +---+------------+-------------------------------------------------------+
260455a771fSAnoob Joseph   | 2 | Mailbox    | --log-level='pmd\.common\.cnxk\.mbox,8'               |
26168a03efeSNithin Dabilpuram   +---+------------+-------------------------------------------------------+
26268a03efeSNithin Dabilpuram
26368a03efeSNithin DabilpuramDebugfs support
26468a03efeSNithin Dabilpuram~~~~~~~~~~~~~~~
26568a03efeSNithin Dabilpuram
26668a03efeSNithin DabilpuramThe **RVU AF Linux kernel driver** provides support to dump RVU blocks
26768a03efeSNithin Dabilpuramcontext or stats using debugfs.
26868a03efeSNithin Dabilpuram
26968a03efeSNithin DabilpuramEnable ``debugfs`` by:
27068a03efeSNithin Dabilpuram
271443b949eSDavid Marchand#. Compile kernel with debugfs enabled, i.e ``CONFIG_DEBUG_FS=y``.
272443b949eSDavid Marchand
273443b949eSDavid Marchand#. Boot OCTEON CN9K/CN10K with debugfs supported kernel.
274443b949eSDavid Marchand
275443b949eSDavid Marchand#. Verify ``debugfs`` mounted by default "mount | grep -i debugfs" or mount it manually by using.
27668a03efeSNithin Dabilpuram
27768a03efeSNithin Dabilpuram   .. code-block:: console
27868a03efeSNithin Dabilpuram
27968a03efeSNithin Dabilpuram       # mount -t debugfs none /sys/kernel/debug
28068a03efeSNithin Dabilpuram
28168a03efeSNithin DabilpuramCurrently ``debugfs`` supports the following RVU blocks NIX, NPA, NPC, NDC,
28268a03efeSNithin DabilpuramSSO & RPM.
28368a03efeSNithin Dabilpuram
28468a03efeSNithin DabilpuramThe file structure under ``/sys/kernel/debug`` is as follows
28568a03efeSNithin Dabilpuram
28668a03efeSNithin Dabilpuram.. code-block:: console
28768a03efeSNithin Dabilpuram
28868a03efeSNithin Dabilpuram        octeontx2/
28968a03efeSNithin Dabilpuram        |
29068a03efeSNithin Dabilpuram        cn10k/
29168a03efeSNithin Dabilpuram        |-- rpm
29268a03efeSNithin Dabilpuram        |   |-- rpm0
29368a03efeSNithin Dabilpuram        |   |   '-- lmac0
29468a03efeSNithin Dabilpuram        |   |       '-- stats
29568a03efeSNithin Dabilpuram        |   |-- rpm1
29668a03efeSNithin Dabilpuram        |   |   |-- lmac0
29768a03efeSNithin Dabilpuram        |   |   |   '-- stats
29868a03efeSNithin Dabilpuram        |   |   '-- lmac1
29968a03efeSNithin Dabilpuram        |   |       '-- stats
30068a03efeSNithin Dabilpuram        |   '-- rpm2
30168a03efeSNithin Dabilpuram        |       '-- lmac0
30268a03efeSNithin Dabilpuram        |           '-- stats
30368a03efeSNithin Dabilpuram        |-- cpt
30468a03efeSNithin Dabilpuram        |   |-- cpt_engines_info
30568a03efeSNithin Dabilpuram        |   |-- cpt_engines_sts
30668a03efeSNithin Dabilpuram        |   |-- cpt_err_info
30768a03efeSNithin Dabilpuram        |   |-- cpt_lfs_info
30868a03efeSNithin Dabilpuram        |   '-- cpt_pc
30968a03efeSNithin Dabilpuram        |---- nix
31068a03efeSNithin Dabilpuram        |   |-- cq_ctx
31168a03efeSNithin Dabilpuram        |   |-- ndc_rx_cache
31268a03efeSNithin Dabilpuram        |   |-- ndc_rx_hits_miss
31368a03efeSNithin Dabilpuram        |   |-- ndc_tx_cache
31468a03efeSNithin Dabilpuram        |   |-- ndc_tx_hits_miss
31568a03efeSNithin Dabilpuram        |   |-- qsize
31668a03efeSNithin Dabilpuram        |   |-- rq_ctx
31768a03efeSNithin Dabilpuram        |   '-- sq_ctx
31868a03efeSNithin Dabilpuram        |-- npa
31968a03efeSNithin Dabilpuram        |   |-- aura_ctx
32068a03efeSNithin Dabilpuram        |   |-- ndc_cache
32168a03efeSNithin Dabilpuram        |   |-- ndc_hits_miss
32268a03efeSNithin Dabilpuram        |   |-- pool_ctx
32368a03efeSNithin Dabilpuram        |   '-- qsize
32468a03efeSNithin Dabilpuram        |-- npc
32568a03efeSNithin Dabilpuram        |    |-- mcam_info
32668a03efeSNithin Dabilpuram        |    |-- mcam_rules
32768a03efeSNithin Dabilpuram        |    '-- rx_miss_act_stats
32868a03efeSNithin Dabilpuram        |-- rsrc_alloc
32968a03efeSNithin Dabilpuram        '-- sso
33068a03efeSNithin Dabilpuram             |-- hws
33168a03efeSNithin Dabilpuram             |   '-- sso_hws_info
33268a03efeSNithin Dabilpuram             '-- hwgrp
33368a03efeSNithin Dabilpuram                 |-- sso_hwgrp_aq_thresh
33468a03efeSNithin Dabilpuram                 |-- sso_hwgrp_iaq_walk
33568a03efeSNithin Dabilpuram                 |-- sso_hwgrp_pc
33668a03efeSNithin Dabilpuram                 |-- sso_hwgrp_free_list_walk
33768a03efeSNithin Dabilpuram                 |-- sso_hwgrp_ient_walk
33868a03efeSNithin Dabilpuram                 '-- sso_hwgrp_taq_walk
33968a03efeSNithin Dabilpuram
34068a03efeSNithin DabilpuramRVU block LF allocation:
34168a03efeSNithin Dabilpuram
34268a03efeSNithin Dabilpuram.. code-block:: console
34368a03efeSNithin Dabilpuram
34468a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/rsrc_alloc
34568a03efeSNithin Dabilpuram
34668a03efeSNithin Dabilpuram        pcifunc    NPA    NIX    SSO GROUP    SSOWS    TIM    CPT
34768a03efeSNithin Dabilpuram        PF1         0       0
34868a03efeSNithin Dabilpuram        PF4                 1
34968a03efeSNithin Dabilpuram        PF13                          0, 1     0, 1      0
35068a03efeSNithin Dabilpuram
35168a03efeSNithin DabilpuramRPM example usage:
35268a03efeSNithin Dabilpuram
35368a03efeSNithin Dabilpuram.. code-block:: console
35468a03efeSNithin Dabilpuram
35568a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/rpm/rpm0/lmac0/stats
35668a03efeSNithin Dabilpuram
35768a03efeSNithin Dabilpuram        =======Link Status======
35868a03efeSNithin Dabilpuram
35968a03efeSNithin Dabilpuram        Link is UP 25000 Mbps
36068a03efeSNithin Dabilpuram
36168a03efeSNithin Dabilpuram        =======NIX RX_STATS(rpm port level)======
36268a03efeSNithin Dabilpuram
36368a03efeSNithin Dabilpuram        rx_ucast_frames: 0
36468a03efeSNithin Dabilpuram        rx_mcast_frames: 0
36568a03efeSNithin Dabilpuram        rx_bcast_frames: 0
36668a03efeSNithin Dabilpuram        rx_frames: 0
36768a03efeSNithin Dabilpuram        rx_bytes: 0
36868a03efeSNithin Dabilpuram        rx_drops: 0
36968a03efeSNithin Dabilpuram        rx_errors: 0
37068a03efeSNithin Dabilpuram
37168a03efeSNithin Dabilpuram        =======NIX TX_STATS(rpm port level)======
37268a03efeSNithin Dabilpuram
37368a03efeSNithin Dabilpuram        tx_ucast_frames: 0
37468a03efeSNithin Dabilpuram        tx_mcast_frames: 0
37568a03efeSNithin Dabilpuram        tx_bcast_frames: 0
37668a03efeSNithin Dabilpuram        tx_frames: 0
37768a03efeSNithin Dabilpuram        tx_bytes: 0
37868a03efeSNithin Dabilpuram        tx_drops: 0
37968a03efeSNithin Dabilpuram
38068a03efeSNithin Dabilpuram        =======rpm RX_STATS======
38168a03efeSNithin Dabilpuram
38268a03efeSNithin Dabilpuram        Octets of received packets: 0
38368a03efeSNithin Dabilpuram        Octets of received packets with out error: 0
38468a03efeSNithin Dabilpuram        Received packets with alignment errors: 0
38568a03efeSNithin Dabilpuram        Control/PAUSE packets received: 0
38668a03efeSNithin Dabilpuram        Packets received with Frame too long Errors: 0
38768a03efeSNithin Dabilpuram        Packets received with a1nrange length Errors: 0
38868a03efeSNithin Dabilpuram        Received packets: 0
38968a03efeSNithin Dabilpuram        Packets received with FrameCheckSequenceErrors: 0
39068a03efeSNithin Dabilpuram        Packets received with VLAN header: 0
39168a03efeSNithin Dabilpuram        Error packets: 0
3929c30a6f3SHenry Nadeau        Packets received with unicast DMAC: 0
39368a03efeSNithin Dabilpuram        Packets received with multicast DMAC: 0
39468a03efeSNithin Dabilpuram        Packets received with broadcast DMAC: 0
39568a03efeSNithin Dabilpuram        Dropped packets: 0
39668a03efeSNithin Dabilpuram        Total frames received on interface: 0
39768a03efeSNithin Dabilpuram        Packets received with an octet count < 64: 0
39868a03efeSNithin Dabilpuram        Packets received with an octet count == 64: 0
39968a03efeSNithin Dabilpuram        Packets received with an octet count of 65–127: 0
40068a03efeSNithin Dabilpuram        Packets received with an octet count of 128-255: 0
40168a03efeSNithin Dabilpuram        Packets received with an octet count of 256-511: 0
40268a03efeSNithin Dabilpuram        Packets received with an octet count of 512-1023: 0
40368a03efeSNithin Dabilpuram        Packets received with an octet count of 1024-1518: 0
40468a03efeSNithin Dabilpuram        Packets received with an octet count of > 1518: 0
40568a03efeSNithin Dabilpuram        Oversized Packets: 0
40668a03efeSNithin Dabilpuram        Jabber Packets: 0
40768a03efeSNithin Dabilpuram        Fragmented Packets: 0
40868a03efeSNithin Dabilpuram        CBFC(class based flow control) pause frames received for class 0: 0
40968a03efeSNithin Dabilpuram        CBFC pause frames received for class 1: 0
41068a03efeSNithin Dabilpuram        CBFC pause frames received for class 2: 0
41168a03efeSNithin Dabilpuram        CBFC pause frames received for class 3: 0
41268a03efeSNithin Dabilpuram        CBFC pause frames received for class 4: 0
41368a03efeSNithin Dabilpuram        CBFC pause frames received for class 5: 0
41468a03efeSNithin Dabilpuram        CBFC pause frames received for class 6: 0
41568a03efeSNithin Dabilpuram        CBFC pause frames received for class 7: 0
41668a03efeSNithin Dabilpuram        CBFC pause frames received for class 8: 0
41768a03efeSNithin Dabilpuram        CBFC pause frames received for class 9: 0
41868a03efeSNithin Dabilpuram        CBFC pause frames received for class 10: 0
41968a03efeSNithin Dabilpuram        CBFC pause frames received for class 11: 0
42068a03efeSNithin Dabilpuram        CBFC pause frames received for class 12: 0
42168a03efeSNithin Dabilpuram        CBFC pause frames received for class 13: 0
42268a03efeSNithin Dabilpuram        CBFC pause frames received for class 14: 0
42368a03efeSNithin Dabilpuram        CBFC pause frames received for class 15: 0
42468a03efeSNithin Dabilpuram        MAC control packets received: 0
42568a03efeSNithin Dabilpuram
42668a03efeSNithin Dabilpuram        =======rpm TX_STATS======
42768a03efeSNithin Dabilpuram
42868a03efeSNithin Dabilpuram        Total octets sent on the interface: 0
42968a03efeSNithin Dabilpuram        Total octets transmitted OK: 0
43068a03efeSNithin Dabilpuram        Control/Pause frames sent: 0
43168a03efeSNithin Dabilpuram        Total frames transmitted OK: 0
43268a03efeSNithin Dabilpuram        Total frames sent with VLAN header: 0
43368a03efeSNithin Dabilpuram        Error Packets: 0
43468a03efeSNithin Dabilpuram        Packets sent to unicast DMAC: 0
43568a03efeSNithin Dabilpuram        Packets sent to the multicast DMAC: 0
43668a03efeSNithin Dabilpuram        Packets sent to a broadcast DMAC: 0
43768a03efeSNithin Dabilpuram        Packets sent with an octet count == 64: 0
43868a03efeSNithin Dabilpuram        Packets sent with an octet count of 65–127: 0
43968a03efeSNithin Dabilpuram        Packets sent with an octet count of 128-255: 0
44068a03efeSNithin Dabilpuram        Packets sent with an octet count of 256-511: 0
44168a03efeSNithin Dabilpuram        Packets sent with an octet count of 512-1023: 0
44268a03efeSNithin Dabilpuram        Packets sent with an octet count of 1024-1518: 0
44368a03efeSNithin Dabilpuram        Packets sent with an octet count of > 1518: 0
44468a03efeSNithin Dabilpuram        CBFC(class based flow control) pause frames transmitted for class 0: 0
44568a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 1: 0
44668a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 2: 0
44768a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 3: 0
44868a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 4: 0
44968a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 5: 0
45068a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 6: 0
45168a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 7: 0
45268a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 8: 0
45368a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 9: 0
45468a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 10: 0
45568a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 11: 0
45668a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 12: 0
45768a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 13: 0
45868a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 14: 0
45968a03efeSNithin Dabilpuram        CBFC pause frames transmitted for class 15: 0
46068a03efeSNithin Dabilpuram        MAC control packets sent: 0
46168a03efeSNithin Dabilpuram        Total frames sent on the interface: 0
46268a03efeSNithin Dabilpuram
46368a03efeSNithin DabilpuramCPT example usage:
46468a03efeSNithin Dabilpuram
46568a03efeSNithin Dabilpuram.. code-block:: console
46668a03efeSNithin Dabilpuram
46768a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/cpt/cpt_pc
46868a03efeSNithin Dabilpuram
46968a03efeSNithin Dabilpuram        CPT instruction requests   0
47068a03efeSNithin Dabilpuram        CPT instruction latency    0
47168a03efeSNithin Dabilpuram        CPT NCB read requests      0
47268a03efeSNithin Dabilpuram        CPT NCB read latency       0
47368a03efeSNithin Dabilpuram        CPT read requests caused by UC fills   0
47468a03efeSNithin Dabilpuram        CPT active cycles pc       1395642
47568a03efeSNithin Dabilpuram        CPT clock count pc         5579867595493
47668a03efeSNithin Dabilpuram
47768a03efeSNithin DabilpuramNIX example usage:
47868a03efeSNithin Dabilpuram
47968a03efeSNithin Dabilpuram.. code-block:: console
48068a03efeSNithin Dabilpuram
48168a03efeSNithin Dabilpuram        Usage: echo <nixlf> [cq number/all] > /sys/kernel/debug/cn10k/nix/cq_ctx
48268a03efeSNithin Dabilpuram               cat /sys/kernel/debug/cn10k/nix/cq_ctx
48368a03efeSNithin Dabilpuram        echo 0 0 > /sys/kernel/debug/cn10k/nix/cq_ctx
48468a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/nix/cq_ctx
48568a03efeSNithin Dabilpuram
48668a03efeSNithin Dabilpuram        =====cq_ctx for nixlf:0 and qidx:0 is=====
48768a03efeSNithin Dabilpuram        W0: base                        158ef1a00
48868a03efeSNithin Dabilpuram
48968a03efeSNithin Dabilpuram        W1: wrptr                       0
49068a03efeSNithin Dabilpuram        W1: avg_con                     0
49168a03efeSNithin Dabilpuram        W1: cint_idx                    0
49268a03efeSNithin Dabilpuram        W1: cq_err                      0
49368a03efeSNithin Dabilpuram        W1: qint_idx                    0
49468a03efeSNithin Dabilpuram        W1: bpid                        0
49568a03efeSNithin Dabilpuram        W1: bp_ena                      0
49668a03efeSNithin Dabilpuram
49768a03efeSNithin Dabilpuram        W2: update_time                 31043
49868a03efeSNithin Dabilpuram        W2:avg_level                    255
49968a03efeSNithin Dabilpuram        W2: head                        0
50068a03efeSNithin Dabilpuram        W2:tail                         0
50168a03efeSNithin Dabilpuram
50268a03efeSNithin Dabilpuram        W3: cq_err_int_ena              5
50368a03efeSNithin Dabilpuram        W3:cq_err_int                   0
50468a03efeSNithin Dabilpuram        W3: qsize                       4
50568a03efeSNithin Dabilpuram        W3:caching                      1
50668a03efeSNithin Dabilpuram        W3: substream                   0x000
50768a03efeSNithin Dabilpuram        W3: ena                                 1
50868a03efeSNithin Dabilpuram        W3: drop_ena                    1
50968a03efeSNithin Dabilpuram        W3: drop                        64
51068a03efeSNithin Dabilpuram        W3: bp                          0
51168a03efeSNithin Dabilpuram
51268a03efeSNithin DabilpuramNPA example usage:
51368a03efeSNithin Dabilpuram
51468a03efeSNithin Dabilpuram.. code-block:: console
51568a03efeSNithin Dabilpuram
51668a03efeSNithin Dabilpuram        Usage: echo <npalf> [pool number/all] > /sys/kernel/debug/cn10k/npa/pool_ctx
51768a03efeSNithin Dabilpuram               cat /sys/kernel/debug/cn10k/npa/pool_ctx
51868a03efeSNithin Dabilpuram        echo 0 0 > /sys/kernel/debug/cn10k/npa/pool_ctx
51968a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/npa/pool_ctx
52068a03efeSNithin Dabilpuram
52168a03efeSNithin Dabilpuram        ======POOL : 0=======
52268a03efeSNithin Dabilpuram        W0: Stack base          1375bff00
52368a03efeSNithin Dabilpuram        W1: ena                 1
52468a03efeSNithin Dabilpuram        W1: nat_align           1
52568a03efeSNithin Dabilpuram        W1: stack_caching       1
52668a03efeSNithin Dabilpuram        W1: stack_way_mask      0
52768a03efeSNithin Dabilpuram        W1: buf_offset          1
52868a03efeSNithin Dabilpuram        W1: buf_size            19
52968a03efeSNithin Dabilpuram        W2: stack_max_pages     24315
53068a03efeSNithin Dabilpuram        W2: stack_pages         24314
53168a03efeSNithin Dabilpuram        W3: op_pc               267456
53268a03efeSNithin Dabilpuram        W4: stack_offset        2
53368a03efeSNithin Dabilpuram        W4: shift               5
53468a03efeSNithin Dabilpuram        W4: avg_level           255
53568a03efeSNithin Dabilpuram        W4: avg_con             0
53668a03efeSNithin Dabilpuram        W4: fc_ena              0
53768a03efeSNithin Dabilpuram        W4: fc_stype            0
53868a03efeSNithin Dabilpuram        W4: fc_hyst_bits        0
53968a03efeSNithin Dabilpuram        W4: fc_up_crossing      0
54068a03efeSNithin Dabilpuram        W4: update_time         62993
54168a03efeSNithin Dabilpuram        W5: fc_addr             0
54268a03efeSNithin Dabilpuram        W6: ptr_start           1593adf00
54368a03efeSNithin Dabilpuram        W7: ptr_end             180000000
54468a03efeSNithin Dabilpuram        W8: err_int             0
54568a03efeSNithin Dabilpuram        W8: err_int_ena         7
54668a03efeSNithin Dabilpuram        W8: thresh_int          0
54768a03efeSNithin Dabilpuram        W8: thresh_int_ena      0
54868a03efeSNithin Dabilpuram        W8: thresh_up           0
54968a03efeSNithin Dabilpuram        W8: thresh_qint_idx     0
55068a03efeSNithin Dabilpuram        W8: err_qint_idx        0
55168a03efeSNithin Dabilpuram
55268a03efeSNithin DabilpuramNPC example usage:
55368a03efeSNithin Dabilpuram
55468a03efeSNithin Dabilpuram.. code-block:: console
55568a03efeSNithin Dabilpuram
55668a03efeSNithin Dabilpuram        cat /sys/kernel/debug/cn10k/npc/mcam_info
55768a03efeSNithin Dabilpuram
55868a03efeSNithin Dabilpuram        NPC MCAM info:
55968a03efeSNithin Dabilpuram        RX keywidth    : 224bits
56068a03efeSNithin Dabilpuram        TX keywidth    : 224bits
56168a03efeSNithin Dabilpuram
56268a03efeSNithin Dabilpuram        MCAM entries   : 2048
56368a03efeSNithin Dabilpuram        Reserved       : 158
56468a03efeSNithin Dabilpuram        Available      : 1890
56568a03efeSNithin Dabilpuram
56668a03efeSNithin Dabilpuram        MCAM counters  : 512
56768a03efeSNithin Dabilpuram        Reserved       : 1
56868a03efeSNithin Dabilpuram        Available      : 511
56968a03efeSNithin Dabilpuram
57068a03efeSNithin DabilpuramSSO example usage:
57168a03efeSNithin Dabilpuram
57268a03efeSNithin Dabilpuram.. code-block:: console
57368a03efeSNithin Dabilpuram
57468a03efeSNithin Dabilpuram        Usage: echo [<hws>/all] > /sys/kernel/debug/cn10k/sso/hws/sso_hws_info
57568a03efeSNithin Dabilpuram        echo 0 > /sys/kernel/debug/cn10k/sso/hws/sso_hws_info
57668a03efeSNithin Dabilpuram
57768a03efeSNithin Dabilpuram        ==================================================
57868a03efeSNithin Dabilpuram        SSOW HWS[0] Arbitration State      0x0
57968a03efeSNithin Dabilpuram        SSOW HWS[0] Guest Machine Control  0x0
58068a03efeSNithin Dabilpuram        SSOW HWS[0] SET[0] Group Mask[0] 0xffffffffffffffff
58168a03efeSNithin Dabilpuram        SSOW HWS[0] SET[0] Group Mask[1] 0xffffffffffffffff
58268a03efeSNithin Dabilpuram        SSOW HWS[0] SET[0] Group Mask[2] 0xffffffffffffffff
58368a03efeSNithin Dabilpuram        SSOW HWS[0] SET[0] Group Mask[3] 0xffffffffffffffff
58468a03efeSNithin Dabilpuram        SSOW HWS[0] SET[1] Group Mask[0] 0xffffffffffffffff
58568a03efeSNithin Dabilpuram        SSOW HWS[0] SET[1] Group Mask[1] 0xffffffffffffffff
58668a03efeSNithin Dabilpuram        SSOW HWS[0] SET[1] Group Mask[2] 0xffffffffffffffff
58768a03efeSNithin Dabilpuram        SSOW HWS[0] SET[1] Group Mask[3] 0xffffffffffffffff
58868a03efeSNithin Dabilpuram        ==================================================
58968a03efeSNithin Dabilpuram
59068a03efeSNithin DabilpuramCompile DPDK
59168a03efeSNithin Dabilpuram------------
59268a03efeSNithin Dabilpuram
59368a03efeSNithin DabilpuramDPDK may be compiled either natively on OCTEON CN9K/CN10K platform or cross-compiled on
59468a03efeSNithin Dabilpuraman x86 based platform.
595592fdee4SShijith ThottonThe Meson build option ``enable_iova_as_pa`` should be set to false
596592fdee4SShijith Thottonbecause on CNXK platforms, IOVA is same as the virtual address.
597592fdee4SShijith ThottonDisabling the iova field in the mbuf frees it up to be used as a dynamic field.
59868a03efeSNithin Dabilpuram
59968a03efeSNithin DabilpuramNative Compilation
60068a03efeSNithin Dabilpuram~~~~~~~~~~~~~~~~~~
60168a03efeSNithin Dabilpuram
602c06b6b9fSJerin JacobRefer to :doc:`../linux_gsg/build_dpdk` for generic native builds.
603c06b6b9fSJerin Jacob
604c06b6b9fSJerin JacobCN9K:
605c06b6b9fSJerin Jacob
60668a03efeSNithin Dabilpuram.. code-block:: console
60768a03efeSNithin Dabilpuram
608592fdee4SShijith Thotton        meson setup -Dplatform=cn9k -Denable_iova_as_pa=false build
609c06b6b9fSJerin Jacob        ninja -C build
610c06b6b9fSJerin Jacob
611c06b6b9fSJerin JacobCN10K:
612c06b6b9fSJerin Jacob
613c06b6b9fSJerin Jacob.. code-block:: console
614c06b6b9fSJerin Jacob
615592fdee4SShijith Thotton        meson setup -Dplatform=cn10k -Denable_iova_as_pa=false build
61668a03efeSNithin Dabilpuram        ninja -C build
61768a03efeSNithin Dabilpuram
61868a03efeSNithin DabilpuramCross Compilation
61968a03efeSNithin Dabilpuram~~~~~~~~~~~~~~~~~
62068a03efeSNithin Dabilpuram
62168a03efeSNithin DabilpuramRefer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
62268a03efeSNithin Dabilpuram
62333e71acfSJerin JacobCN9K:
62433e71acfSJerin Jacob
62533e71acfSJerin Jacob.. code-block:: console
62633e71acfSJerin Jacob
627592fdee4SShijith Thotton        meson setup -Denable_iova_as_pa=false build --cross-file config/arm/arm64_cn9k_linux_gcc
62833e71acfSJerin Jacob        ninja -C build
62933e71acfSJerin Jacob
63033e71acfSJerin JacobCN10K:
63133e71acfSJerin Jacob
63268a03efeSNithin Dabilpuram.. code-block:: console
63368a03efeSNithin Dabilpuram
634592fdee4SShijith Thotton        meson setup -Denable_iova_as_pa=false build --cross-file config/arm/arm64_cn10k_linux_gcc
63568a03efeSNithin Dabilpuram        ninja -C build
63668a03efeSNithin Dabilpuram
63768a03efeSNithin Dabilpuram.. note::
63868a03efeSNithin Dabilpuram
63968a03efeSNithin Dabilpuram   By default, meson cross compilation uses ``aarch64-linux-gnu-gcc`` toolchain,
64068a03efeSNithin Dabilpuram   if Marvell toolchain is available then it can be used by overriding the
64168a03efeSNithin Dabilpuram   c, cpp, ar, strip ``binaries`` attributes to respective Marvell
64268a03efeSNithin Dabilpuram   toolchain binaries in ``config/arm/arm64_cn10k_linux_gcc`` file.
643e47565a7SNithin Dabilpuram
644e47565a7SNithin DabilpuramEnvironment Variables
645e47565a7SNithin Dabilpuram~~~~~~~~~~~~~~~~~~~~~
646e47565a7SNithin Dabilpuram
647e47565a7SNithin Dabilpuram* ``BPHY_INTR_MLOCK_DISABLE``
648e47565a7SNithin Dabilpuram   When defined disables memory locking in
649e47565a7SNithin Dabilpuram   BPHY environment.
650e47565a7SNithin Dabilpuram
651e47565a7SNithin Dabilpuram* ``ROC_CN10K_MBOX_TIMEOUT``, ``ROC_MBOX_TIMEOUT``
652e47565a7SNithin Dabilpuram   When set, overrides MBOX timeout by value in milli seconds.
653e47565a7SNithin Dabilpuram
654e47565a7SNithin Dabilpuram* ``ETH_SEC_IV_OVR``
655e47565a7SNithin Dabilpuram   When set, overrides outbound inline SA IV. By default IV is generated
656e47565a7SNithin Dabilpuram   by HW. Format of variable is string of comma separated one byte values as
657e47565a7SNithin Dabilpuram   for ex: "0x0, 0x10, 0x20, ..."
658