[CPERF_AUTH_ONLY] = "auth-only",
[CPERF_CIPHER_THEN_AUTH] = "cipher-then-auth",
[CPERF_AUTH_THEN_CIPHER] = "auth-then-cipher",
- [CPERF_AEAD] = "aead"
+ [CPERF_AEAD] = "aead",
+ [CPERF_PDCP] = "pdcp",
+ [CPERF_DOCSIS] = "docsis"
};
const struct cperf_test cperf_testmap[] = {
struct rte_cryptodev_info cdev_info;
uint8_t socket_id = rte_cryptodev_socket_id(cdev_id);
+ /* range check the socket_id - negative values become big
+ * positive ones due to use of unsigned value
+ */
+ if (socket_id >= RTE_MAX_NUMA_NODES)
+ socket_id = 0;
rte_cryptodev_info_get(cdev_id, &cdev_info);
if (opts->nb_qps > cdev_info.max_nb_queue_pairs) {
}
struct rte_cryptodev_config conf = {
.nb_queue_pairs = opts->nb_qps,
- .socket_id = socket_id
+ .socket_id = socket_id,
+ .ff_disable = RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO,
};
+ if (opts->op_type != CPERF_PDCP &&
+ opts->op_type != CPERF_DOCSIS)
+ conf.ff_disable |= RTE_CRYPTODEV_FF_SECURITY;
+
struct rte_cryptodev_qp_conf qp_conf = {
.nb_descriptors = opts->nb_descriptors
};
#endif
} else
sessions_needed = enabled_cdev_count *
- opts->nb_qps;
+ opts->nb_qps * 2;
/*
* A single session is required per queue pair
goto err;
}
- if (!opts.silent)
+ if (!opts.silent && opts.test != CPERF_TEST_TYPE_THROUGHPUT &&
+ opts.test != CPERF_TEST_TYPE_LATENCY)
show_test_vector(t_vec);
total_nb_qps = nb_cryptodevs * opts.nb_qps;
if (i == total_nb_qps)
break;
- rte_eal_wait_lcore(lcore_id);
+ ret |= rte_eal_wait_lcore(lcore_id);
i++;
}
+
+ if (ret != EXIT_SUCCESS)
+ goto err;
} else {
/* Get next size from range or list */
if (i == total_nb_qps)
break;
- rte_eal_wait_lcore(lcore_id);
+ ret |= rte_eal_wait_lcore(lcore_id);
i++;
}
+ if (ret != EXIT_SUCCESS)
+ goto err;
+
/* Get next size from range or list */
if (opts.inc_buffer_size != 0)
opts.test_buffer_size += opts.inc_buffer_size;