]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/doc/guides/compressdevs/octeontx.rst
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / dpdk / doc / guides / compressdevs / octeontx.rst
CommitLineData
11fdf7f2
TL
1.. SPDX-License-Identifier: BSD-3-Clause
2 Copyright(c) 2018 Cavium Networks.
3
9f95a23c
TL
4OCTEON TX ZIP Compression Poll Mode Driver
5==========================================
11fdf7f2 6
9f95a23c 7The OCTEON TX ZIP PMD (**librte_pmd_octeontx_zip**) provides poll mode
11fdf7f2 8compression & decompression driver for ZIP HW offload device, found in
9f95a23c 9**Cavium OCTEON TX** SoC family.
11fdf7f2
TL
10
11More information can be found at `Cavium, Inc Official Website
12<http://www.cavium.com/OCTEON-TX_ARM_Processors.html>`_.
13
14Features
15--------
16
9f95a23c 17OCTEON TX ZIP PMD has support for:
11fdf7f2
TL
18
19Compression/Decompression algorithm:
20
21* DEFLATE
22
23Huffman code type:
24
25* FIXED
26* DYNAMIC
27
28Window size support:
29
30* 2 to 2^14
31
32Limitations
33-----------
34
35* Chained mbufs are not supported.
36
9f95a23c
TL
37Supported OCTEON TX SoCs
38------------------------
11fdf7f2
TL
39
40- CN83xx
41
42Steps To Setup Platform
43-----------------------
44
9f95a23c 45 OCTEON TX SDK includes kernel image which provides OCTEON TX ZIP PF
11fdf7f2
TL
46 driver to manage configuration of ZIPVF device
47 Required version of SDK is "OCTEONTX-SDK-6.2.0-build35" or above.
48
49 SDK can be install by using below command.
9f95a23c 50 #rpm -ivh OCTEONTX-SDK-6.2.0-build35.x86_64.rpm --force --nodeps
11fdf7f2
TL
51 It will install OCTEONTX-SDK at following default location
52 /usr/local/Cavium_Networks/OCTEONTX-SDK/
53
9f95a23c 54 For more information on building and booting linux kernel on OCTEON TX
11fdf7f2
TL
55 please refer /usr/local/Cavium_Networks/OCTEONTX-SDK/docs/OcteonTX-SDK-UG_6.2.0.pdf.
56
57 SDK and related information can be obtained from: `Cavium support site <https://support.cavium.com/>`_.
58
59Installation
60------------
61
62Driver Compilation
63~~~~~~~~~~~~~~~~~~
64
9f95a23c 65To compile the OCTEON TX ZIP PMD for Linux arm64 gcc target, run the
11fdf7f2
TL
66following ``make`` command:
67
68 .. code-block:: console
69
70 cd <DPDK-source-directory>
9f95a23c 71 make config T=arm64-thunderx-linux-gcc install
11fdf7f2
TL
72
73
74Initialization
75--------------
76
9f95a23c 77The OCTEON TX zip is exposed as pci device which consists of a set of
11fdf7f2
TL
78PCIe VF devices. On EAL initialization, ZIP PCIe VF devices will be
79probed. To use the PMD in an application, user must:
80
81* run dev_bind script to bind eight ZIP PCIe VFs to the ``vfio-pci`` driver:
82
83 .. code-block:: console
84
85 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.1
86 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.2
87 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.3
88 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.4
89 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.5
90 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.6
91 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.7
92 ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:01.0
93
94* The unit test cases can be tested as below:
95
96 .. code-block:: console
97
98 reserve enough huge pages
99 cd to the top-level DPDK directory
9f95a23c 100 export RTE_TARGET=arm64-thunderx-linux-gcc
11fdf7f2 101 export RTE_SDK=`pwd`
9f95a23c 102 cd to app/test
11fdf7f2
TL
103 type the command "make" to compile
104 run the tests with "./test"
105 type the command "compressdev_autotest" to test