]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | .. SPDX-License-Identifier: BSD-3-Clause |
2 | Copyright(c) 2018 Cavium Networks. | |
3 | ||
9f95a23c TL |
4 | OCTEON TX ZIP Compression Poll Mode Driver |
5 | ========================================== | |
11fdf7f2 | 6 | |
9f95a23c | 7 | The OCTEON TX ZIP PMD (**librte_pmd_octeontx_zip**) provides poll mode |
11fdf7f2 | 8 | compression & decompression driver for ZIP HW offload device, found in |
9f95a23c | 9 | **Cavium OCTEON TX** SoC family. |
11fdf7f2 TL |
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 | ||
9f95a23c | 17 | OCTEON TX ZIP PMD has support for: |
11fdf7f2 TL |
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 | ||
9f95a23c TL |
37 | Supported OCTEON TX SoCs |
38 | ------------------------ | |
11fdf7f2 TL |
39 | |
40 | - CN83xx | |
41 | ||
42 | Steps 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 | ||
59 | Installation | |
60 | ------------ | |
61 | ||
62 | Driver Compilation | |
63 | ~~~~~~~~~~~~~~~~~~ | |
64 | ||
9f95a23c | 65 | To compile the OCTEON TX ZIP PMD for Linux arm64 gcc target, run the |
11fdf7f2 TL |
66 | following ``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 | ||
74 | Initialization | |
75 | -------------- | |
76 | ||
9f95a23c | 77 | The OCTEON TX zip is exposed as pci device which consists of a set of |
11fdf7f2 TL |
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 | |
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 |