X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fplatform%2Focteontx2.rst;h=8b5991f03b3731d26e05951fa1af2c3f309548bf;hb=b80c527a9ca4b8aa5ed1d8fba4e7882213883485;hp=f5be973a58afa5c9af4eaae01b2659642f596d8a;hpb=d1d823e7a8652b4df81ff4e0f47a38263618979c;p=dpdk.git diff --git a/doc/guides/platform/octeontx2.rst b/doc/guides/platform/octeontx2.rst index f5be973a58..8b5991f03b 100644 --- a/doc/guides/platform/octeontx2.rst +++ b/doc/guides/platform/octeontx2.rst @@ -13,9 +13,9 @@ More information about OCTEON TX2 SoC can be found at `Marvell Official Website Supported OCTEON TX2 SoCs ------------------------- +- CN98xx - CN96xx - CN93xx -- CNF95xx OCTEON TX2 Resource Virtualization Unit architecture ---------------------------------------------------- @@ -61,6 +61,14 @@ DPDK subsystem. +---+-----+--------------------------------------------------------------+ | 6 | TIM | rte_event_timer_adapter | +---+-----+--------------------------------------------------------------+ + | 7 | LBK | rte_ethdev | + +---+-----+--------------------------------------------------------------+ + | 8 | DPI | rte_rawdev | + +---+-----+--------------------------------------------------------------+ + | 9 | SDP | rte_ethdev | + +---+-----+--------------------------------------------------------------+ + | 10| REE | rte_regexdev | + +---+-----+--------------------------------------------------------------+ PF0 is called the administrative / admin function (AF) and has exclusive privileges to provision RVU functional block's LFs to each of the PF/VF. @@ -82,6 +90,42 @@ resource provisioning example where, 2. PFx-VF1 ethdev driver bound to the first DPDK application. 3. PFy ethdev driver, PFy-VF0 ethdev driver, PFz eventdev driver, PFm-VF0 cryptodev driver bound to the second DPDK application. +LBK HW Access +------------- + +Loopback HW Unit (LBK) receives packets from NIX-RX and sends packets back to NIX-TX. +The loopback block has N channels and contains data buffering that is shared across +all channels. The LBK HW Unit is abstracted using ethdev subsystem, Where PF0's +VFs are exposed as ethdev device and odd-even pairs of VFs are tied together, +that is, packets sent on odd VF end up received on even VF and vice versa. +This would enable HW accelerated means of communication between two domains +where even VF bound to the first domain and odd VF bound to the second domain. + +Typical application usage models are, + +#. Communication between the Linux kernel and DPDK application. +#. Exception path to Linux kernel from DPDK application as SW ``KNI`` replacement. +#. Communication between two different DPDK applications. + +SDP interface +------------- + +System DPI Packet Interface unit(SDP) provides PCIe endpoint support for remote host +to DMA packets into and out of OCTEON TX2 SoC. SDP interface comes in to live only when +OCTEON TX2 SoC is connected in PCIe endpoint mode. It can be used to send/receive +packets to/from remote host machine using input/output queue pairs exposed to it. +SDP interface receives input packets from remote host from NIX-RX and sends packets +to remote host using NIX-TX. Remote host machine need to use corresponding driver +(kernel/user mode) to communicate with SDP interface on OCTEON TX2 SoC. SDP supports +single PCIe SRIOV physical function(PF) and multiple virtual functions(VF's). Users +can bind PF or VF to use SDP interface and it will be enumerated as ethdev ports. + +The primary use case for SDP is to enable the smart NIC use case. Typical usage models are, + +#. Communication channel between remote host and OCTEON TX2 SoC over PCIe. +#. Transfer packets received from network interface to remote host over PCIe and + vice-versa. + OCTEON TX2 packet flow ---------------------- @@ -111,6 +155,12 @@ This section lists dataplane H/W block(s) available in OCTEON TX2 SoC. #. **DMA Rawdev Driver** See :doc:`../rawdevs/octeontx2_dma` for DMA driver information. +#. **Crypto Device Driver** + See :doc:`../cryptodevs/octeontx2` for CPT crypto device driver information. + +#. **Regex Device Driver** + See :doc:`../regexdevs/octeontx2` for REE regex device driver information. + Procedure to Setup Platform --------------------------- @@ -453,27 +503,6 @@ an x86 based platform. Native Compilation ~~~~~~~~~~~~~~~~~~ -make build -^^^^^^^^^^ - -.. code-block:: console - - make config T=arm64-octeontx2-linux-gcc - make -j - -The example applications can be compiled using the following: - -.. code-block:: console - - cd - export RTE_SDK=$PWD - export RTE_TARGET=build - cd examples/ - make -j - -meson build -^^^^^^^^^^^ - .. code-block:: console meson build @@ -484,17 +513,6 @@ Cross Compilation Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details. -make build -^^^^^^^^^^ - -.. code-block:: console - - make config T=arm64-octeontx2-linux-gcc - make -j CROSS=aarch64-marvell-linux-gnu- CONFIG_RTE_KNI_KMOD=n - -meson build -^^^^^^^^^^^ - .. code-block:: console meson build --cross-file config/arm/arm64_octeontx2_linux_gcc