Re: [RFC 01/47] eal: add BSD version of queue.h

Bruce Richardson
2025-08-19T08:00:15Z

On Mon, Aug 18, 2025 at 04:27:12PM -0700, Stephen Hemminger wrote:
> The version of sys/queue.h on Linux from glibc was derived
> from an older version of BSD and is missing several key macros
> such as LIST_FOREACH_SAFE. This leads to drivers re-implementing
> the macros (sometimes badly) and other bugs.
>
> Introduce a version of queue.h derived from the current FreeBSD
> header (only comments changed).
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/eal/include/bsd_queue.h | 1075 +++++++++++++++++++++++++++++++++++
> lib/eal/include/meson.build | 1 +
> 2 files changed, 1076 insertions(+)
> create mode 100644 lib/eal/include/bsd_queue.h
>

<snip>

> diff --git a/lib/eal/include/meson.build b/lib/eal/include/meson.build
> index d903577caa..c10b2f09e0 100644
> --- a/lib/eal/include/meson.build
> +++ b/lib/eal/include/meson.build
> @@ -4,6 +4,7 @@
> includes += include_directories('.')
>
> headers += files(
> + 'bsd_queue.h',
> 'rte_alarm.h',
> 'rte_bitmap.h',
> 'rte_bitops.h',
> --

While I agree that bsd_queue is a good name for this file, since it's
exported by DPDK, I would tend to think that it should still have the
rte_prefix on it to avoid any naming conflicts. Therefore, I'd rather it be
called "rte_bsd_queue.h".

/Bruce