From 77f80058ab4d0501bc6b8f176d1739e69d1186ae Mon Sep 17 00:00:00 2001 From: Michal Mazur Date: Fri, 12 Jan 2018 19:36:58 +0100 Subject: [PATCH] linux-dpdk: pool: Return address range in pool info Implement support in dpdk_pool_info function to provide address range of pool data available for application. Pull request of related API change: https://github.com/Linaro/odp/pull/200 Signed-off-by: Michal Mazur --- platform/linux-dpdk/pool/dpdk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/linux-dpdk/pool/dpdk.c b/platform/linux-dpdk/pool/dpdk.c index d2f510c9b8..62529d9c8b 100644 --- a/platform/linux-dpdk/pool/dpdk.c +++ b/platform/linux-dpdk/pool/dpdk.c @@ -538,6 +538,8 @@ static void dpdk_pool_print(odp_pool_t pool_hdl) static int dpdk_pool_info(odp_pool_t pool_hdl, odp_pool_info_t *info) { pool_entry_cp_t *pool_cp = odp_pool_to_entry_cp(pool_hdl); + pool_entry_dp_t *pool_dp = odp_pool_to_entry_dp(pool_hdl); + struct rte_mempool_memhdr *hdr; if (pool_cp == NULL || info == NULL) return -1; @@ -545,6 +547,10 @@ static int dpdk_pool_info(odp_pool_t pool_hdl, odp_pool_info_t *info) info->name = pool_cp->name; info->params = pool_cp->params; + hdr = STAILQ_FIRST(&pool_dp->rte_mempool->mem_list); + info->min_data_addr = (uint64_t)hdr->addr; + info->max_data_addr = (uint64_t)hdr->addr + hdr->len - 1; + return 0; }