@@ -510,6 +510,15 @@ typedef struct odp_crypto_session_param_t {
*/
odp_pool_t output_pool;
+ /** Bitstring mode
+ *
+ * Cipher and auth will operate in bitstring mode. Fields cipher_range
+ * and auth_range will count bits for offset and length, rather than
+ * full bytes. Note: not algorithms support this mode of operation, it
+ * has to be reported via bitstring field in cipher and auth
+ * capability. */
+ odp_bool_t bitstring;
+
} odp_crypto_session_param_t;
/** @deprecated Use odp_crypto_session_param_t instead */
@@ -755,6 +764,14 @@ typedef struct odp_crypto_cipher_capability_t {
/** IV length in bytes */
uint32_t iv_len;
+ /** Bitstring operation is supported
+ *
+ * Support operation on unaligned bit strings, rather than byte-aligned
+ * strings: cipher_range in parameter in odp_crypto_op_param_t and
+ * odp_crypto_packet_op_param_t will be expressed in bits, rather than
+ * bytes */
+ odp_bool_t bitstring;
+
} odp_crypto_cipher_capability_t;
/**
@@ -783,6 +800,14 @@ typedef struct odp_crypto_auth_capability_t {
uint32_t inc;
} aad_len;
+ /** Bitstring operation is supported
+ *
+ * Support operation on unaligned bit strings, rather than byte-aligned
+ * strings: auth_range in parameter in odp_crypto_op_param_t and
+ * odp_crypto_packet_op_param_t will be expressed in bits, rather than
+ * bytes */
+ odp_bool_t bitstring;
+
} odp_crypto_auth_capability_t;
/**