examples/l2fwd-crypto: fix AEAD tests when AAD is zero
For AEAD algorithms, additional authenticated data (AAD)
can be passed, but it is optional, so its size can be zero.
However, it is required to set this length to zero in the crypto
operation to avoid undefined behaviour.
Fixes: 617a7949c9
("examples/l2fwd-crypto: parse AAD parameter")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
parent
ad674b4d4a
commit
18f421f65b
@ -470,6 +470,10 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,
|
|||||||
op->sym->auth.aad.data = cparams->aad.data;
|
op->sym->auth.aad.data = cparams->aad.data;
|
||||||
op->sym->auth.aad.phys_addr = cparams->aad.phys_addr;
|
op->sym->auth.aad.phys_addr = cparams->aad.phys_addr;
|
||||||
op->sym->auth.aad.length = cparams->aad.length;
|
op->sym->auth.aad.length = cparams->aad.length;
|
||||||
|
} else {
|
||||||
|
op->sym->auth.aad.data = NULL;
|
||||||
|
op->sym->auth.aad.phys_addr = 0;
|
||||||
|
op->sym->auth.aad.length = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -670,7 +674,8 @@ l2fwd_main_loop(struct l2fwd_crypto_options *options)
|
|||||||
generate_random_key(port_cparams[i].aad.data,
|
generate_random_key(port_cparams[i].aad.data,
|
||||||
port_cparams[i].aad.length);
|
port_cparams[i].aad.length);
|
||||||
|
|
||||||
}
|
} else
|
||||||
|
port_cparams[i].aad.length = 0;
|
||||||
|
|
||||||
if (options->auth_xform.auth.op == RTE_CRYPTO_AUTH_OP_VERIFY)
|
if (options->auth_xform.auth.op == RTE_CRYPTO_AUTH_OP_VERIFY)
|
||||||
port_cparams[i].hash_verify = 1;
|
port_cparams[i].hash_verify = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user