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 <ma...@nvidia.com> > ---