doc: support IPsec Multi-buffer lib v1.0
[dpdk.git] / doc / guides / compressdevs / octeontx.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2018 Cavium Networks.
3
4 OCTEON TX ZIP Compression Poll Mode Driver
5 ==========================================
6
7 The OCTEON TX ZIP PMD (**librte_compress_octeontx**) provides poll mode
8 compression & decompression driver for ZIP HW offload device, found in
9 **Cavium OCTEON TX** 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 OCTEON TX 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 OCTEON TX SoCs
38 ------------------------
39
40 - CN83xx
41
42 Steps To Setup Platform
43 -----------------------
44
45    OCTEON TX SDK includes kernel image which provides OCTEON TX 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 OCTEONTX-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 OCTEON TX
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 Initialization
60 --------------
61
62 The OCTEON TX zip is exposed as pci device which consists of a set of
63 PCIe VF devices. On EAL initialization, ZIP PCIe VF devices will be
64 probed. To use the PMD in an application, user must:
65
66 * run dev_bind script to bind eight ZIP PCIe VFs to the ``vfio-pci`` driver:
67
68    .. code-block:: console
69
70       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.1
71       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.2
72       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.3
73       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.4
74       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.5
75       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.6
76       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.7
77       ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:01.0
78
79 * The unit test cases can be tested as below:
80
81    .. code-block:: console
82
83       reserve enough huge pages
84       cd to <build_dir>
85       meson test compressdev_autotest