MCPcopy Create free account
hub / github.com/F-Stack/f-stack / perf_cryptodev_setup

Function perf_cryptodev_setup

dpdk/app/test-eventdev/test_perf_common.c:1689–1817  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1687}
1688
1689int
1690perf_cryptodev_setup(struct evt_test *test, struct evt_options *opt)
1691{
1692 uint8_t cdev_count, cdev_id, nb_plcores, nb_qps;
1693 struct test_perf *t = evt_test_priv(test);
1694 unsigned int max_session_size;
1695 uint32_t nb_sessions;
1696 int ret;
1697
1698 if (opt->prod_type != EVT_PROD_TYPE_EVENT_CRYPTO_ADPTR)
1699 return 0;
1700
1701 cdev_count = rte_cryptodev_count();
1702 if (cdev_count == 0) {
1703 evt_err("No crypto devices available\n");
1704 return -ENODEV;
1705 }
1706
1707 t->ca_op_pool = rte_crypto_op_pool_create(
1708 "crypto_op_pool", opt->crypto_op_type, opt->pool_sz,
1709 128, sizeof(union rte_event_crypto_metadata) + EVT_CRYPTO_MAX_IV_SIZE,
1710 rte_socket_id());
1711 if (t->ca_op_pool == NULL) {
1712 evt_err("Failed to create crypto op pool");
1713 return -ENOMEM;
1714 }
1715
1716 nb_sessions = evt_nr_active_lcores(opt->plcores) * t->nb_flows;
1717 t->ca_asym_sess_pool = rte_cryptodev_asym_session_pool_create(
1718 "ca_asym_sess_pool", nb_sessions, 0,
1719 sizeof(union rte_event_crypto_metadata), SOCKET_ID_ANY);
1720 if (t->ca_asym_sess_pool == NULL) {
1721 evt_err("Failed to create sym session pool");
1722 ret = -ENOMEM;
1723 goto err;
1724 }
1725
1726 max_session_size = 0;
1727 for (cdev_id = 0; cdev_id < cdev_count; cdev_id++) {
1728 unsigned int session_size;
1729
1730 session_size =
1731 rte_cryptodev_sym_get_private_session_size(cdev_id);
1732 if (session_size > max_session_size)
1733 max_session_size = session_size;
1734 }
1735
1736 t->ca_sess_pool = rte_cryptodev_sym_session_pool_create(
1737 "ca_sess_pool", nb_sessions, max_session_size, 0,
1738 sizeof(union rte_event_crypto_metadata), SOCKET_ID_ANY);
1739 if (t->ca_sess_pool == NULL) {
1740 evt_err("Failed to create sym session pool");
1741 ret = -ENOMEM;
1742 goto err;
1743 }
1744
1745 if (opt->ena_vector) {
1746 unsigned int nb_elem = (opt->pool_sz / opt->vector_size) * 2;

Callers

nothing calls this directly

Tested by

no test coverage detected