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

Function rte_crypto_op_pool_create

dpdk/lib/cryptodev/rte_cryptodev.c:2593–2660  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2591
2592
2593struct rte_mempool *
2594rte_crypto_op_pool_create(const char *name, enum rte_crypto_op_type type,
2595 unsigned nb_elts, unsigned cache_size, uint16_t priv_size,
2596 int socket_id)
2597{
2598 struct rte_crypto_op_pool_private *priv;
2599
2600 unsigned elt_size = sizeof(struct rte_crypto_op) +
2601 priv_size;
2602
2603 if (type == RTE_CRYPTO_OP_TYPE_SYMMETRIC) {
2604 elt_size += sizeof(struct rte_crypto_sym_op);
2605 } else if (type == RTE_CRYPTO_OP_TYPE_ASYMMETRIC) {
2606 elt_size += sizeof(struct rte_crypto_asym_op);
2607 } else if (type == RTE_CRYPTO_OP_TYPE_UNDEFINED) {
2608 elt_size += RTE_MAX(sizeof(struct rte_crypto_sym_op),
2609 sizeof(struct rte_crypto_asym_op));
2610 } else {
2611 CDEV_LOG_ERR("Invalid op_type");
2612 return NULL;
2613 }
2614
2615 /* lookup mempool in case already allocated */
2616 struct rte_mempool *mp = rte_mempool_lookup(name);
2617
2618 if (mp != NULL) {
2619 priv = (struct rte_crypto_op_pool_private *)
2620 rte_mempool_get_priv(mp);
2621
2622 if (mp->elt_size != elt_size ||
2623 mp->cache_size < cache_size ||
2624 mp->size < nb_elts ||
2625 priv->priv_size < priv_size) {
2626 mp = NULL;
2627 CDEV_LOG_ERR("Mempool %s already exists but with "
2628 "incompatible parameters", name);
2629 return NULL;
2630 }
2631 return mp;
2632 }
2633
2634 mp = rte_mempool_create(
2635 name,
2636 nb_elts,
2637 elt_size,
2638 cache_size,
2639 sizeof(struct rte_crypto_op_pool_private),
2640 NULL,
2641 NULL,
2642 rte_crypto_op_init,
2643 &type,
2644 socket_id,
2645 0);
2646
2647 if (mp == NULL) {
2648 CDEV_LOG_ERR("Failed to create mempool %s", name);
2649 return NULL;
2650 }

Callers 14

testsuite_setupFunction · 0.85
testsuite_setupFunction · 0.85
configure_cryptodevFunction · 0.85
crosscheck_initFunction · 0.85
testsuite_setupFunction · 0.85
testsuite_setupFunction · 0.85
testsuite_setupFunction · 0.85
perf_cryptodev_setupFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
fips_dev_auto_test_initFunction · 0.85

Calls 3

rte_mempool_lookupFunction · 0.85
rte_mempool_get_privFunction · 0.85
rte_mempool_createFunction · 0.85

Tested by 10

testsuite_setupFunction · 0.68
testsuite_setupFunction · 0.68
configure_cryptodevFunction · 0.68
crosscheck_initFunction · 0.68
testsuite_setupFunction · 0.68
testsuite_setupFunction · 0.68
testsuite_setupFunction · 0.68
perf_cryptodev_setupFunction · 0.68
fips_dev_auto_test_initFunction · 0.68