(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
enqueue_one_auth_job_gen3(ctx, cookie, req, &vec->digest[i],
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i],
- cookie, vec->src_sgl[i].vec,
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
enqueue_one_cipher_job_gen1(ctx, req, &vec->iv[i], ofs,
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
enqueue_one_auth_job_gen1(ctx, req, &vec->digest[i],
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;
(uint8_t *)tx_queue->base_addr + tail);
rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req));
- data_len = qat_sym_build_req_set_data(req, user_data[i], cookie,
- vec->src_sgl[i].vec, vec->src_sgl[i].num, NULL, 0);
+ if (vec->dest_sgl) {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec, vec->src_sgl[i].num,
+ vec->dest_sgl[i].vec, vec->dest_sgl[i].num);
+ } else {
+ data_len = qat_sym_build_req_set_data(req,
+ user_data[i], cookie,
+ vec->src_sgl[i].vec,
+ vec->src_sgl[i].num, NULL, 0);
+ }
+
if (unlikely(data_len < 0))
break;