From: Michal Mazur <[email protected]>

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 <[email protected]>
---
/** Email created from pull request 400 (semihalf-mazur-michal:caterpillar)
 ** https://github.com/Linaro/odp/pull/400
 ** Patch: https://github.com/Linaro/odp/pull/400.patch
 ** Base sha: 944c6bf6c2eaea883ba943fa1513d1f3e5c7c334
 ** Merge commit sha: 2b7ce9340f8414df968f1924d79934c41454dd69
 **/
 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 d2f510c9b..62529d9c8 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;
 }
 

Reply via email to