test/crypto: copy offset data to OOP destination buffer
Copy over the offset data required for auth in out-of-place op
when auth offset and cipher offset are not aligned.
Fixes: e847fc5128
("test/crypto: add encrypted digest case for AES-CTR-CMAC")
Cc: stable@dpdk.org
Signed-off-by: Kai Ji <kai.ji@intel.com>
This commit is contained in:
parent
394b4e118e
commit
e19deb5af6
@ -2629,6 +2629,21 @@ create_wireless_algo_auth_cipher_operation(
|
||||
iv_ptr += cipher_iv_len;
|
||||
rte_memcpy(iv_ptr, auth_iv, auth_iv_len);
|
||||
|
||||
/* Only copy over the offset data needed from src to dst in OOP,
|
||||
* if the auth and cipher offsets are not aligned
|
||||
*/
|
||||
if (op_mode == OUT_OF_PLACE) {
|
||||
if (cipher_offset > auth_offset)
|
||||
rte_memcpy(
|
||||
rte_pktmbuf_mtod_offset(
|
||||
sym_op->m_dst,
|
||||
uint8_t *, auth_offset >> 3),
|
||||
rte_pktmbuf_mtod_offset(
|
||||
sym_op->m_src,
|
||||
uint8_t *, auth_offset >> 3),
|
||||
((cipher_offset >> 3) - (auth_offset >> 3)));
|
||||
}
|
||||
|
||||
if (cipher_algo == RTE_CRYPTO_CIPHER_SNOW3G_UEA2 ||
|
||||
cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
|
||||
cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3) {
|
||||
|
Loading…
Reference in New Issue
Block a user