and ``rte_vhost_driver_set_protocol_features`` functions will be removed
and the API functions will be made stable in DPDK 21.11.
-* cryptodev: The field ``dataunit_len`` of the ``struct rte_crypto_cipher_xform``
- has a limited size ``uint16_t``.
- It will be moved and extended as ``uint32_t`` in DPDK 21.11.
-
* cryptodev: The structure ``rte_crypto_sym_vec`` would be updated to add
``dest_sgl`` to support out of place processing.
This field will be null for inplace processing.
unsigned digest_length;
unsigned block_size;
- uint16_t cipher_dataunit_len;
+ uint32_t cipher_dataunit_len;
struct l2fwd_iv cipher_iv;
struct l2fwd_iv auth_iv;
else if (strcmp(lgopts[option_index].name, "cipher_dataunit_len") == 0) {
retval = parse_size(&val, optarg);
- if (retval == 0 && val >= 0 && val <= UINT16_MAX) {
+ if (retval == 0 && val >= 0) {
options->cipher_xform.cipher.dataunit_len =
- (uint16_t)val;
+ (uint32_t)val;
return 0;
} else
return -1;
enum rte_crypto_cipher_algorithm algo;
/**< Cipher algorithm */
- RTE_STD_C11
- union { /* temporary anonymous union for ABI compatibility */
-
struct {
const uint8_t *data; /**< pointer to key data */
uint16_t length; /**< key length in bytes */
* - Each key can be either 128 bits (16 bytes) or 256 bits (32 bytes).
* - Both keys must have the same size.
**/
-
- RTE_STD_C11
- struct { /* temporary anonymous struct for ABI compatibility */
- const uint8_t *_key_data; /* reserved for key.data union */
- uint16_t _key_length; /* reserved for key.length union */
- /* next field can fill the padding hole */
-
- uint16_t dataunit_len;
- /**< When RTE_CRYPTODEV_FF_CIPHER_MULTIPLE_DATA_UNITS is enabled,
- * this is the data-unit length of the algorithm,
- * otherwise or when the value is 0, use the operation length.
- * The value should be in the range defined by the dataunit_set field
- * in the cipher capability.
- *
- * - For AES-XTS it is the size of data-unit, from IEEE Std 1619-2007.
- * For-each data-unit in the operation, the tweak (IV) value is
- * assigned consecutively starting from the operation assigned IV.
- */
-
- }; }; /* temporary struct nested in union for ABI compatibility */
-
struct {
uint16_t offset;
/**< Starting point for Initialisation Vector or Counter,
* which can be in the range 7 to 13 inclusive.
*/
} iv; /**< Initialisation vector parameters */
+
+ uint32_t dataunit_len;
+ /**< When RTE_CRYPTODEV_FF_CIPHER_MULTIPLE_DATA_UNITS is enabled,
+ * this is the data-unit length of the algorithm,
+ * otherwise or when the value is 0, use the operation length.
+ * The value should be in the range defined by the dataunit_set field
+ * in the cipher capability.
+ *
+ * - For AES-XTS it is the size of data-unit, from IEEE Std 1619-2007.
+ * For-each data-unit in the operation, the tweak (IV) value is
+ * assigned consecutively starting from the operation assigned IV.
+ */
};
/** Symmetric Authentication / Hash Algorithms