[spp] [PATCH 5/7] spp_vm: fix changing spec of rte_mem_config
Kenta Shinohara
shinohara.kenta at lab.ntt.co.jp
Tue Jun 19 13:37:18 CEST 2018
Spp_vm is encountered the following error on DPDK v18.05.
build error:
/home/k-shino/spp/src/vm/main.c: In function ‘get_memzone_by_addr’:
/home/k-shino/spp/src/vm/main.c:321:14: error: ‘struct rte_mem_config’
has no member named ‘memzone’
tmp = &mcfg->memzone[i];
^
/home/k-shino/.dpdkenv/versions/dpdk-18.05 at x86_64-native-linuxapp-gcc/
mk/internal/rte.compile-pre.mk:114: recipe for target 'main.o' failed
make[3]: *** [main.o] Error 1
/home/k-shino/.dpdkenv/versions/dpdk-18.05 at x86_64-native-linuxapp-gcc/
mk/rte.extapp.mk:14: recipe for target 'all' failed make[2]: *** [all]
Error 2
/home/k-shino/.dpdkenv/versions/dpdk-18.05 at x86_64-native-linuxapp-gcc/
mk/rte.extsubdir.mk:21: recipe for target 'vm' failed make[1]: *** [vm
] Error 2
/home/k-shino/.dpdkenv/versions/dpdk-18.05 at x86_64-native-linuxapp-gcc/
mk/rte.extsubdir.mk:21: recipe for target 'src' failed make: *** [src]
Error 2
This error caused by changing specification of struct 'rte_fbarray'.
To fix this, use 'rte_fbarray_get' and experimental method
'rte_fbarray_find_next_used' instead of array 'memzone[]'.
Signed-off-by: Kenta Shinohara <shinohara.kenta at lab.ntt.co.jp>
---
src/vm/main.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/vm/main.c b/src/vm/main.c
index 94ba8d1..6522d55 100644
--- a/src/vm/main.c
+++ b/src/vm/main.c
@@ -340,19 +340,22 @@ get_memzone_by_addr(const void *addr)
{
struct rte_memzone *tmp, *mz;
struct rte_mem_config *mcfg;
+ struct rte_fbarray *arr;
int i;
mcfg = rte_eal_get_configuration()->mem_config;
+ arr = &mcfg->memzones;
mz = NULL;
/* find memzone for the ring */
- for (i = 0; i < RTE_MAX_MEMZONE; i++) {
- tmp = &mcfg->memzone[i];
-
- if (tmp->addr_64 == (uint64_t) addr) {
+ i = rte_fbarray_find_next_used(arr, 0);
+ while (i >= 0) {
+ tmp = rte_fbarray_get(arr, i);
+ if (mz->addr_64 == (uint64_t) addr) {
mz = tmp;
break;
}
+ i = rte_fbarray_find_next_used(arr, i+1);
}
return mz;
--
2.15.1 (Apple Git-101)
More information about the spp
mailing list