What we can do:

1. Introduce `rte_queue.h` (name can be better) that is env-specific:

    1.1. For Linux and FreeBSD it just includes <sys/queue.h>
         and renames a few macros that are used in headers to RTE_xxx.
    1.2. For Windows it defines the same RTE_xxx macros in a way
         compatible with the <sys/queue.h> version used to build DPDK.

2. Add #include <sys/queue.h> in <rte_os_shim.h>:
    Linux and FreeBSD will include a system header,
    Windows will use the bundled one.

This way application are not exposed to non-RTE symbols,
at the same time RTE_xxx are binary-compatible with what DPDK
implementation expects (and outside of Windows there is no change in fact).

+1
Nick

Reply via email to