From ab856faa641925587d022bcc2d62a4c1ce50620c Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Fri, 25 Sep 2020 11:45:23 -0400 Subject: [PATCH] env: replace phys_addr to iova in rte_memseg DPDK patch (7ba49d39) included in DPDK v19.11 renamed phys_addr to iova in rte_memseg structure. Meanwhile latest DPDK from (72f82c43) removed the phys_addr altogether. This patch replaces the reference for DPDK v19.11 and up. Signed-off-by: Tomasz Zawadzki Change-Id: I24b28d32ec8758d730b14bc54fd0cf1a4cc5a333 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4419 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker --- lib/env_dpdk/memory.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/env_dpdk/memory.c b/lib/env_dpdk/memory.c index 40ab1758a..d89114f5a 100644 --- a/lib/env_dpdk/memory.c +++ b/lib/env_dpdk/memory.c @@ -923,7 +923,11 @@ vtophys_get_paddr_memseg(uint64_t vaddr) seg = rte_mem_virt2memseg((void *)(uintptr_t)vaddr, NULL); if (seg != NULL) { +#if RTE_VERSION >= RTE_VERSION_NUM(19, 11, 0, 0) + paddr = seg->iova; +#else paddr = seg->phys_addr; +#endif if (paddr == RTE_BAD_IOVA) { return SPDK_VTOPHYS_ERROR; }