Linux EAL does not have the LIST_FOREACH_SAFE version of the iterator macros. Add it.
Signed-off-by: Hamza Khan <hamza.k...@intel.com> --- lib/eal/linux/include/rte_os.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/eal/linux/include/rte_os.h b/lib/eal/linux/include/rte_os.h index c72bf5b7e6..00d7714181 100644 --- a/lib/eal/linux/include/rte_os.h +++ b/lib/eal/linux/include/rte_os.h @@ -26,6 +26,13 @@ extern "C" { #define RTE_STAILQ_HEAD(name, type) STAILQ_HEAD(name, type) #define RTE_STAILQ_ENTRY(type) STAILQ_ENTRY(type) +#ifndef LIST_FOREACH_SAFE +#define LIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = LIST_FIRST((head)); \ + (var) && ((tvar) = LIST_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + #ifdef CPU_SETSIZE /* may require _GNU_SOURCE */ typedef cpu_set_t rte_cpuset_t; #define RTE_HAS_CPUSET -- 2.25.1