[dpdk-dev] [PATCH v10 0/4] eal/windows: do not expose POSIX symbols
Ranjit Menon
ranjit.menon at intel.com
Thu Apr 15 00:50:44 CEST 2021
On 4/14/2021 3:06 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.
>
> v10:
> * Fix examples that build on Windows.
> 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.)
>
> 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
>
> drivers/bus/pci/private.h | 4 +-
> drivers/bus/vdev/vdev_private.h | 2 +
> drivers/common/mlx5/mlx5_common.h | 1 +
> drivers/net/i40e/i40e_ethdev.c | 1 +
> drivers/net/i40e/i40e_fdir.c | 1 +
> drivers/net/mlx5/mlx5.h | 1 -
> drivers/net/mlx5/mlx5_flow.c | 4 +-
> drivers/net/mlx5/mlx5_flow.h | 3 +-
> drivers/net/mlx5/mlx5_mac.c | 1 -
> examples/cmdline/commands.c | 5 --
> examples/cmdline/parse_obj_list.c | 2 -
> examples/flow_filtering/main.c | 1 -
> examples/l2fwd/main.c | 1 -
> examples/link_status_interrupt/main.c | 1 -
> examples/service_cores/main.c | 4 +-
> lib/librte_cmdline/cmdline.c | 5 --
> lib/librte_cmdline/cmdline_os_windows.c | 2 -
> lib/librte_cmdline/cmdline_parse.c | 2 -
> lib/librte_cmdline/cmdline_parse_etheraddr.c | 6 --
> lib/librte_cmdline/cmdline_parse_ipaddr.c | 6 --
> lib/librte_cmdline/cmdline_parse_ipaddr.h | 2 +-
> lib/librte_cmdline/cmdline_private.h | 1 +
> lib/librte_cmdline/cmdline_socket.c | 4 -
> lib/librte_eal/common/eal_common_config.c | 1 -
> lib/librte_eal/common/eal_common_errno.c | 4 +
> lib/librte_eal/common/eal_common_log.c | 1 +
> lib/librte_eal/common/eal_common_options.c | 2 +-
> lib/librte_eal/common/eal_common_timer.c | 4 +-
> lib/librte_eal/common/eal_internal_cfg.h | 1 +
> lib/librte_eal/common/eal_private.h | 11 +++
> lib/librte_eal/freebsd/include/rte_os_shim.h | 14 +++
> lib/librte_eal/linux/include/rte_os_shim.h | 14 +++
> lib/librte_eal/windows/eal.c | 30 +++++++
> lib/librte_eal/windows/eal_hugepages.c | 1 -
> lib/librte_eal/windows/eal_lcore.c | 1 -
> lib/librte_eal/windows/eal_memalloc.c | 1 -
> lib/librte_eal/windows/include/arpa/inet.h | 30 -------
> lib/librte_eal/windows/include/netinet/in.h | 38 --------
> lib/librte_eal/windows/include/netinet/ip.h | 10 ---
> lib/librte_eal/windows/include/rte_os.h | 92 +-------------------
> lib/librte_eal/windows/include/rte_os_shim.h | 36 ++++++++
> lib/librte_eal/windows/include/sys/socket.h | 24 -----
> lib/librte_ethdev/ethdev_private.h | 2 +
> lib/librte_ethdev/rte_ethdev.c | 12 +--
> lib/librte_ethdev/rte_ethdev_core.h | 1 -
> lib/librte_kvargs/rte_kvargs.c | 1 +
> lib/librte_net/rte_ether.h | 26 ++++--
> lib/librte_net/rte_ip.h | 7 ++
> lib/librte_net/rte_net.c | 1 +
> 49 files changed, 167 insertions(+), 258 deletions(-)
> create mode 100644 lib/librte_eal/freebsd/include/rte_os_shim.h
> create mode 100644 lib/librte_eal/linux/include/rte_os_shim.h
> delete mode 100644 lib/librte_eal/windows/include/arpa/inet.h
> delete mode 100644 lib/librte_eal/windows/include/netinet/in.h
> delete mode 100644 lib/librte_eal/windows/include/netinet/ip.h
> create mode 100644 lib/librte_eal/windows/include/rte_os_shim.h
> delete mode 100644 lib/librte_eal/windows/include/sys/socket.h
Thanks, Dmitry.
Acked-by: Ranjit Menon <ranjit.menon at intel.com>
More information about the dev
mailing list