]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/doc/guides/compressdevs/octeontx.rst
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / spdk / dpdk / doc / guides / compressdevs / octeontx.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2 Copyright(c) 2018 Cavium Networks.
3
4 Octeontx ZIP Compression Poll Mode Driver
5 =========================================
6
7 The Octeontx ZIP PMD (**librte_pmd_octeontx_zip**) provides poll mode
8 compression & decompression driver for ZIP HW offload device, found in
9 **Cavium OCTEONTX** SoC family.
10
11 More information can be found at `Cavium, Inc Official Website
12 <http://www.cavium.com/OCTEON-TX_ARM_Processors.html>`_.
13
14 Features
15 --------
16
17 Octeontx ZIP PMD has support for:
18
19 Compression/Decompression algorithm:
20
21 * DEFLATE
22
23 Huffman code type:
24
25 * FIXED
26 * DYNAMIC
27
28 Window size support:
29
30 * 2 to 2^14
31
32 Limitations
33 -----------
34
35 * Chained mbufs are not supported.
36
37 Supported OCTEONTX SoCs
38 -----------------------
39
40 - CN83xx
41
42 Steps To Setup Platform
43 -----------------------
44
45 Octeontx SDK includes kernel image which provides Octeontx ZIP PF
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.
50 #rpm -ivh CTEONTX-SDK-6.2.0-build35.x86_64.rpm --force --nodeps
51 It will install OCTEONTX-SDK at following default location
52 /usr/local/Cavium_Networks/OCTEONTX-SDK/
53
54 For more information on building and booting linux kernel on OCTEONTX
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
59 Installation
60 ------------
61
62 Driver Compilation
63 ~~~~~~~~~~~~~~~~~~
64
65 To compile the OCTEONTX ZIP PMD for Linux arm64 gcc target, run the
66 following ``make`` command:
67
68 .. code-block:: console
69
70 cd <DPDK-source-directory>
71 make config T=arm64-thunderx-linuxapp-gcc install
72
73
74 Initialization
75 --------------
76
77 The octeontx zip is exposed as pci device which consists of a set of
78 PCIe VF devices. On EAL initialization, ZIP PCIe VF devices will be
79 probed. 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
100 export RTE_TARGET=arm64-thunderx-linuxapp-gcc
101 export RTE_SDK=`pwd`
102 cd to test/test
103 type the command "make" to compile
104 run the tests with "./test"
105 type the command "compressdev_autotest" to test