1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright(c) 2018 Intel Corporation. 3 4ISA-L Compression Poll Mode Driver 5================================== 6 7The ISA-L PMD (**librte_pmd_isal_comp**) provides poll mode compression & 8decompression driver support for utilizing Intel ISA-L library, 9which implements the deflate algorithm for both compression and decompression 10 11Features 12-------- 13 14ISA-L PMD has support for: 15 16Compression/Decompression algorithm: 17 18* DEFLATE 19 20Huffman code type: 21 22* FIXED 23* DYNAMIC 24 25Window size support: 26 27* 32K 28 29Limitations 30----------- 31 32* Chained mbufs are not supported, for future release. 33 34* Compressdev level 0, no compression, is not supported. ISA-L level 0 used for fixed huffman codes. 35 36* Checksums are not supported, for future release. 37 38Installation 39------------ 40 41* To build DPDK with Intel's ISA-L library, the user is required to download the library from `<https://github.com/01org/isa-l>`_. 42 43* Once downloaded, the user needs to build the library, the ISA-L autotools are usually sufficient:: 44 45 ./autogen.sh 46 ./configure 47 48* make can be used to install the library on their system, before building DPDK:: 49 50 make 51 sudo make install 52 53* To build with meson, the **libisal.pc** file, must be copied into "pkgconfig", 54 e.g. /usr/lib/pkgconfig or /usr/lib64/pkgconfig depending on your system, 55 for meson to find the ISA-L library. The **libisal.pc** is located in library sources:: 56 57 cp isal/libisal.pc /usr/lib/pkgconfig/ 58 59 60Initialization 61-------------- 62 63In order to enable this virtual compression PMD, user must: 64 65* Set ``CONFIG_RTE_LIBRTE_PMD_ISAL=y`` in config/common_base. 66 67To use the PMD in an application, user must: 68 69* Call ``rte_vdev_init("compress_isal")`` within the application. 70 71* Use ``--vdev="compress_isal"`` in the EAL options, which will call ``rte_vdev_init()`` internally. 72 73The following parameter (optional) can be provided in the previous two calls: 74 75* ``socket_id:`` Specify the socket where the memory for the device is going to be allocated 76 (by default, socket_id will be the socket where the core that is creating the PMD is running on). 77