X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fcrypto_sw_scheduler%2Fmain.c;h=980fa14e5f16ec7f92874620e182895773f5687f;hb=f9e82a229179e7c76dd4548132933ac4947d37f1;hp=29f91b36345bd8a8170db15dd0384e05b530859e;hpb=452cd7e3bee6a28b40949dfeed9f87835551a7cc;p=vpp.git diff --git a/src/plugins/crypto_sw_scheduler/main.c b/src/plugins/crypto_sw_scheduler/main.c index 29f91b36345..980fa14e5f1 100644 --- a/src/plugins/crypto_sw_scheduler/main.c +++ b/src/plugins/crypto_sw_scheduler/main.c @@ -148,6 +148,8 @@ cryptodev_sw_scheduler_sgl (vlib_main_t * vm, u32 n_chunks = 0; u32 chunk_index = vec_len (ptd->chunks); + op->flags |= VNET_CRYPTO_OP_FLAG_CHAINED_BUFFERS; + while (len) { if (nb->current_data + nb->current_length > offset) @@ -249,12 +251,15 @@ crypto_sw_scheduler_convert_link_crypto (vlib_main_t * vm, crypto_op->iv = fe->iv; crypto_op->key_index = key->index_crypto; crypto_op->user_data = 0; - crypto_op->flags = fe->flags & ~VNET_CRYPTO_OP_FLAG_HMAC_CHECK; integ_op->op = integ_op_id; integ_op->digest = fe->digest; integ_op->digest_len = digest_len; integ_op->key_index = key->index_integ; - integ_op->flags = fe->flags & ~VNET_CRYPTO_OP_FLAG_INIT_IV; + crypto_op->flags = integ_op->flags = 0; + if (is_enc) + crypto_op->flags |= VNET_CRYPTO_OP_FLAG_INIT_IV; + else + integ_op->flags |= VNET_CRYPTO_OP_FLAG_HMAC_CHECK; crypto_op->user_data = integ_op->user_data = index; }