5. ZLIB Compression Poll Mode Driver

The ZLIB PMD (librte_pmd_zlib) provides poll mode compression & decompression driver based on SW zlib library,

5.1. Features

ZLIB PMD has support for:

Compression/Decompression algorithm:

  • DEFLATE

Huffman code type:

  • FIXED
  • DYNAMIC

Window size support:

  • Min - 256 bytes
  • Max - 32K

5.2. Limitations

  • Scatter-Gather and Stateful not supported.

5.3. Installation

  • To build DPDK with ZLIB library, the user is required to download the libz library.

  • Use following command for installation.

  • For Fedora users::

    sudo yum install zlib-devel

  • For Ubuntu users::

    sudo apt-get install zlib1g-dev

  • Once downloaded, the user needs to build the library.

  • To build from sources download zlib sources from http://zlib.net/ and do following before building DPDK:

    make
    sudo make install
    

5.4. Initialization

In order to enable this virtual compression PMD, user must:

  • Set CONFIG_RTE_LIBRTE_PMD_ZLIB=y in config/common_base.

To use the PMD in an application, user must:

  • Call rte_vdev_init("compress_zlib") within the application.
  • Use --vdev="compress_zlib" in the EAL options, which will call rte_vdev_init() internally.

The following parameter (optional) can be provided in the previous two calls:

  • socket_id: Specify the socket where the memory for the device is going to be allocated (by default, socket_id will be the socket where the core that is creating the PMD is running on).