From patchwork Sat Apr 10 22:47:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Kozlyuk X-Patchwork-Id: 91049 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 23299A0547; Sun, 11 Apr 2021 00:47:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9D94A4014E; Sun, 11 Apr 2021 00:47:41 +0200 (CEST) Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by mails.dpdk.org (Postfix) with ESMTP id 1C6F04003D for ; Sun, 11 Apr 2021 00:47:41 +0200 (CEST) Received: by mail-lf1-f52.google.com with SMTP id n8so15411983lfh.1 for ; Sat, 10 Apr 2021 15:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bQjrlMQOlSIkeMuFJtJgVIgaCJy67rpBgWJ9OLam0QI=; b=HIq61FiJJdYWYvqLwNOvrgnbUxpiucwieceGkAr73Fnne87r3maCNZFXXppqQnEon8 gKJQxzCgCrJdxxBVtkIv4rR0nqOWPktTI8F8GDGlqZaySIu5kH8ADC/jtVvFcuGKZjis Cw5b1Tc5GrXee0L+aJVFdKP2Qsb77dl02KCok63rUkt8z5e3gea+qfqCn5K66WZ3RrBy LLRcooBPFaFtqV7kaBvndhhIXqT6G4h06EE4sgfSmsNddQjhwFVAQDZPmQy1SKQiFaEE FAM5trC9QQIXQ752HgugS5mRKo2Z/0EfxRuznxmcZ88DCO6MAhRu3PiiPv2TQfIq0SlD SOxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bQjrlMQOlSIkeMuFJtJgVIgaCJy67rpBgWJ9OLam0QI=; b=BH/xqes2y8vawCnpZnvarL41GJ//emrK1vcL2qShj+sEOM93yYqxbUHpqoajrgVCtC ZQvAf3P/YRcv+3dCjnS0tEmWvj3eLzIjQ2AdddqF25dBCvk6JptUUj7LZP9bwV5pLumF A8VrVxztjosWhthn8Fyjt8cijnVXavrBo1v24msro7riSyXiXxkz7Ph0P7MZqKQyYBTf WglqkNQ5yEdAOXaUr8/p+/rQ2yWDnZ0SeyEdN2/ictdBzr1JGH0Ra+GkDhvcz0cDeF9D 44LUDMZuc34am3c2CBD0DIbXlhuW9sU4bOBNpTDYj6U9+ErzORBU35WIflBkgBjls1VD l6Ug== X-Gm-Message-State: AOAM532WF79KdDyIGcm4Bbn+Agfy0PAj9lq3xSTHGFYP5df8bakFQ3wv 6gkRB6er+iHUvrw6RbkK6kMh+ipjEcuxFA== X-Google-Smtp-Source: ABdhPJzJTHTSXKWB2goMzRtpbUrfwuvs6Ouw7fKgT/J9rb/O0Q1pmioLmJOZwkk8wg/tAZoNOTJu5g== X-Received: by 2002:a05:6512:c02:: with SMTP id z2mr14607535lfu.595.1618094860277; Sat, 10 Apr 2021 15:47:40 -0700 (PDT) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id o15sm370270lfu.155.2021.04.10.15.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 Apr 2021 15:47:39 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Kozlyuk Date: Sun, 11 Apr 2021 01:47:28 +0300 Message-Id: <20210410224732.20234-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.29.3 In-Reply-To: <20210407222249.6729-1-dmitry.kozliuk@gmail.com> References: <20210407222249.6729-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Windows, EAL contains two sets of functions and macros for POSIX compatibility: 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 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 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 - 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 + 45 files changed, 165 insertions(+), 253 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