[dpdk-dev] [EXT] [PATCH v2] cryptodev: support multiple cipher data-units

Akhil Goyal gakhil at marvell.com
Tue Apr 13 14:02:21 CEST 2021


Hi Matan,

> In cryptography, a block cipher is a deterministic algorithm operating
> on fixed-length groups of bits, called blocks.
> 
> A block cipher consists of two paired algorithms, one for encryption
> and the other for decryption. Both algorithms accept two inputs:
> an input block of size n bits and a key of size k bits; and both yield
> an n-bit output block. The decryption algorithm is defined to be the
> inverse function of the encryption.
> 
> For AES standard the block size is 16 bytes.
> For AES in XTS mode, the data to be encrypted\decrypted does not have to
> be multiple of 16B size, the unit of data is called data-unit.
> The data-unit size can be any size in range [16B, 2^24B], so, in this
> case, a data stream is divided into N amount of equal data-units and
> must be encrypted\decrypted in the same data-unit resolution.
> 
> The current cryptodev API doesn't allow the user to select a specific
> data-unit length supported by the devices.
> In addition, there is no definition how the IV is detected per data-unit
> when single operation includes more than one data-unit.
> 
> That causes applications to use single operation per data-unit even though
> all the data is continuous in memory what reduces datapath performance.
> 
> Add a new feature flag to support multiple data-unit sizes, called
> RTE_CRYPTODEV_FF_CIPHER_MULITPLE_DATA_UNITS.
> Add a new field in cipher capability, called dataunit_set,
> where the devices can report the range of the supported data-unit sizes.
> Add a new cipher transformation field, called dataunit_len, where the user
> can select the data-unit length for all the operations.
> 
> All the new fields do not change the size of their structures.
> 
Please check that the CI is failing. I see that ignore exception is present in 
devtools/libabigail.abignore For rte_cryptodev. But not sure why this is still
failing. Can you check?

Regards,
Akhil

> Using a bitmap to report the supported data-unit sizes capability allows
> the devices to report a range simply as same as the user to read it
> simply. also, thus sizes are usually common and probably will be shared
> among different devices.
> 
> Signed-off-by: Matan Azrad <matan at nvidia.com>
> ---


More information about the dev mailing list