[dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols

Ranjit Menon ranjit.menon at intel.com
Tue Apr 13 06:46:27 CEST 2021


Hi Dmitry,

On 4/10/2021 3:47 PM, Dmitry Kozlyuk wrote:
> On Windows, EAL contains two sets of functions and macros for POSIX
> compatibility: <rte_os.h> and a networking shim (socket headers).
> The latter conflicts with system headers and should not exist.
> Exposing the former from EAL can break consumer own POSIX compatibility
> layer and is against standards in general. Hide these symbols from
> external consumers, while keeping them available for DPDK code.
>
> v9:
>      * Fix missing <rte_os_shim.h> include in rte_common_log.c.
>        (This will happen again. Going to add a checkpatch test
>         after this series is merged.)
> v8:
>      * Drop rte_thread_sleep API, use rte_delay_us_sleep (Morten Brørup).
>
> Dmitry Kozlyuk (4):
>    eal/windows: hide asprintf() shim
>    eal: make OS shims internal
>    net: work around s_addr macro on Windows
>    net: provide IP-related API on any OS
>
> <Snip>

The change to remove the networking shim breaks l2fwd compilation on 
Windows, since l2fwd/main.c includes netinet/in.h explicitly.

How do you propose we fix this, only for Windows?

ranjit m.



More information about the dev mailing list