#include <rte_errno.h>
#include <rte_mbuf_pool_ops.h>
-int __rte_experimental
+int
rte_mbuf_set_platform_mempool_ops(const char *ops_name)
{
const struct rte_memzone *mz;
- if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
+ size_t len = strnlen(ops_name, RTE_MEMPOOL_OPS_NAMESIZE);
+ if (len == 0)
+ return -EINVAL;
+ if (len == RTE_MEMPOOL_OPS_NAMESIZE)
return -ENAMETOOLONG;
mz = rte_memzone_lookup("mbuf_platform_pool_ops");
RTE_MEMPOOL_OPS_NAMESIZE, SOCKET_ID_ANY, 0);
if (mz == NULL)
return -rte_errno;
- strncpy(mz->addr, ops_name, strlen(ops_name));
+ strcpy(mz->addr, ops_name);
return 0;
} else if (strcmp(mz->addr, ops_name) == 0) {
return 0;
return -EEXIST;
}
-const char * __rte_experimental
+const char *
rte_mbuf_platform_mempool_ops(void)
{
const struct rte_memzone *mz;
return mz->addr;
}
-int __rte_experimental
+int
rte_mbuf_set_user_mempool_ops(const char *ops_name)
{
const struct rte_memzone *mz;
- if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
+ size_t len = strnlen(ops_name, RTE_MEMPOOL_OPS_NAMESIZE);
+ if (len == 0)
+ return -EINVAL;
+ if (len == RTE_MEMPOOL_OPS_NAMESIZE)
return -ENAMETOOLONG;
mz = rte_memzone_lookup("mbuf_user_pool_ops");
return -rte_errno;
}
- strncpy(mz->addr, ops_name, strlen(ops_name));
+ strcpy(mz->addr, ops_name);
return 0;
}
-const char * __rte_experimental
+const char *
rte_mbuf_user_mempool_ops(void)
{
const struct rte_memzone *mz;
mz = rte_memzone_lookup("mbuf_user_pool_ops");
if (mz == NULL)
- return rte_eal_mbuf_default_mempool_ops();
+ return rte_eal_mbuf_user_pool_ops();
return mz->addr;
}
/* Return mbuf pool ops name */
-const char * __rte_experimental
+const char *
rte_mbuf_best_mempool_ops(void)
{
/* User defined mempool ops takes the priority */