add zlib pmd feature specification and overview documentation Signed-off-by: Sunila Sahu <sunila.s...@caviumnetworks.com> Signed-off-by: Shally Verma <shally.ve...@caviumnetworks.com> Signed-off-by: Ashish Gupta <ashish.gu...@caviumnetworks.com> --- MAINTAINERS | 2 + doc/guides/compressdevs/features/zlib.ini | 22 ++++++++++ doc/guides/compressdevs/zlib.rst | 68 +++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS index 448bbe1..1c217b0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -854,6 +854,8 @@ F: doc/guides/compressdevs/features/isal.ini ZLIB M: Sunila Sahu <sunila.s...@caviumnetworks.com> F: drivers/compress/zlib/ +F: doc/guides/compressdevs/zlib.rst +F: doc/guides/compressdevs/features/zlib.ini Eventdev Drivers ---------------- diff --git a/doc/guides/compressdevs/features/zlib.ini b/doc/guides/compressdevs/features/zlib.ini new file mode 100644 index 0000000..bdc0fc4 --- /dev/null +++ b/doc/guides/compressdevs/features/zlib.ini @@ -0,0 +1,22 @@ +; +; Refer to default.ini for the full list of available PMD features. +; +; Supported features of 'ZLIB' compression driver. +; +[Features] +HW Accelerated = +CPU SSE = +CPU AVX = +CPU AVX2 = +CPU AVX512 = +CPU NEON = +Stateful = +By-Pass = +Chained mbufs = +Deflate = Y +LZS = +Adler32 = +Crc32 = +Adler32&Crc32 = +Fixed = Y +Dynamic = Y diff --git a/doc/guides/compressdevs/zlib.rst b/doc/guides/compressdevs/zlib.rst new file mode 100644 index 0000000..7dd5c74 --- /dev/null +++ b/doc/guides/compressdevs/zlib.rst @@ -0,0 +1,68 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2018 Cavium Networks. + +ZLIB Compression Poll Mode Driver +================================== + +The ZLIB PMD (**librte_pmd_zlib**) provides poll mode compression & +decompression driver based on SW zlib library, + +Features +-------- + +ZLIB PMD has support for: + +Compression/Decompression algorithm: + +* DEFLATE + +Huffman code type: + +* FIXED +* DYNAMIC + +Window size support: + +* Min - 256 bytes +* Max - 32K + +Limitations +----------- + +* Chained mbufs are not supported. + +Installation +------------ + +* To build DPDK with ZLIB library, the user is required to download the ``libz`` library. +* Use following command for installation. + +* For Fedora users :: + yum install zlib-devel +* For ubuntu users :: + apt-get install zlib1g-dev + +* Once downloaded, the user needs to build the library. + +* make can be used to install the library on their system, before building DPDK:: + + make + sudo make install + +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). -- 2.9.5