[3/3] doc: update ISA-L guide to reflect checksum support
Checks
Commit Message
This updates the ISA-L compression driver guide on how to enable and use
checksums.
This also updates the compression drivers features matrix.
Signed-off-by: Lee Daly <lee.daly@intel.com>
---
doc/guides/compressdevs/features/isal.ini | 2 ++
doc/guides/compressdevs/isal.rst | 32 +++++++++++++++++++++++++++++--
2 files changed, 32 insertions(+), 2 deletions(-)
Comments
Hi Lee,
> +If you request a checksum for compression, the checksum field in the operation
> +structure, ``op->input_chksum``, will be filled with the checksum of the input data.
> +
[Fiona] This is not correct - the checksum will always be in the op->output_chksum
The input_chksum field is for generating a checksum across the uncompressed data of multiple related ops
> +If you request a checksum for decompression, the checksum field in the operation
> +structure, ``op->output_chksum``, will be filled with the checksum of the output data.
> +
> +.. Note::
> +
> + For the compression case above, your output buffer will need to be large enough to hold the compressed
> data plus a scratchpad for the checksum at the end, the scratchpad is 8 bytes for CRC32 and 4 bytes for
> Adler32.
[Fiona] In the compression case is there no need for this scratchpad?
@@ -12,5 +12,7 @@ OOP SGL In SGL Out = Y
OOP SGL In LB Out = Y
OOP LB In SGL Out = Y
Deflate = Y
+Adler32 = Y
+Crc32 = Y
Fixed = Y
Dynamic = Y
@@ -27,6 +27,35 @@ Window size support:
* 32K
+Checksum:
+
+ * CRC32
+ * ADLER32
+
+To enable a checksum in the driver, the compression and/or decompression xform
+structure, rte_comp_xform, must be filled with either of the CompressDevs
+checksum flags supported. ::
+
+ compress_xform->compress.chksum = RTE_COMP_CHECKSUM_CRC32
+
+ decompress_xform->decompress.chksum = RTE_COMP_CHECKSUM_CRC32
+
+::
+
+ compress_xform->compress.chksum = RTE_COMP_CHECKSUM_ADLER32
+
+ decompress_xform->decompress.chksum = RTE_COMP_CHECKSUM_ADLER32
+
+If you request a checksum for compression, the checksum field in the operation
+structure, ``op->input_chksum``, will be filled with the checksum of the input data.
+
+If you request a checksum for decompression, the checksum field in the operation
+structure, ``op->output_chksum``, will be filled with the checksum of the output data.
+
+.. Note::
+
+ For the compression case above, your output buffer will need to be large enough to hold the compressed data plus a scratchpad for the checksum at the end, the scratchpad is 8 bytes for CRC32 and 4 bytes for Adler32.
+
Level guide:
The ISA-L levels have been mapped to somewhat correspond to the same ZLIB level,
@@ -75,13 +104,12 @@ As a result the level mappings from the API to the PMD are shown below.
The above table only shows mapping when API calls for dynamic compression.
For fixed compression, regardless of API level, internally ISA-L level 0 is always used.
+
Limitations
-----------
* Compressdev level 0, no compression, is not supported.
-* Checksums will not be supported until future release.
-
Installation
------------