From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5329CA0579; Fri, 9 Apr 2021 12:51:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CE56C4069F; Fri, 9 Apr 2021 12:51:58 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 193114014D for ; Fri, 9 Apr 2021 12:51:56 +0200 (CEST) IronPort-SDR: 7CpvfALi6GB8jdaGA+0166VCDgtj+sw+vPGjOGE3C+0KNksdST5vkeSLoHr5InDQ7fdNkFrjp0 iTWxyZhkVzlQ== X-IronPort-AV: E=McAfee;i="6000,8403,9948"; a="181270362" X-IronPort-AV: E=Sophos;i="5.82,209,1613462400"; d="scan'208";a="181270362" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2021 03:51:55 -0700 IronPort-SDR: ejUUQo4ywjN0QkNeNT9HEKZqNC560R84r2M8VUIH9rwI0uSMQwxGxK4Xs0l7CSX11WLJYDOfoY u7iiwbl7WwiQ== X-IronPort-AV: E=Sophos;i="5.82,209,1613462400"; d="scan'208";a="459193306" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.203.45]) ([10.213.203.45]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2021 03:51:53 -0700 To: Dmitry Kozlyuk , dev@dpdk.org Cc: Nick Connolly , Mike Wells , Tyler Retzlaff References: <20210214021616.26970-1-dmitry.kozliuk@gmail.com> <20210324005008.24705-1-dmitry.kozliuk@gmail.com> From: Ferruh Yigit X-User: ferruhy Message-ID: Date: Fri, 9 Apr 2021 11:51:50 +0100 MIME-Version: 1.0 In-Reply-To: <20210324005008.24705-1-dmitry.kozliuk@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v3 0/3] net/pcap: build on Windows 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 3/24/2021 12:50 AM, Dmitry Kozlyuk wrote: > NOTE: dependency patches are requirements, CI may fail. > > Most modern and actively maintained distribution of libpcap for Windows > is Npcap [1]. It currently doesn't provide a pkg-config file [2]. > By default it is installed to C:\Program Files\Npcap and can be located > using standard environment variables [3]: > > $env:C_INCLUDE_PATH += ";C:\Program Files\Npcap" > $env:LIBRARY_PATH += ";C:\Program Files\Npcap\Lib\x64" # MinGW > $env:LINK += ' /LIBPATH:"C:\Program Files\Npcap\Lib\x64"' # Clang > > The following libpcap.pc also works if placed in PKG_CONFIG_PATH: > > prefix="C:/Program Files/Npcap" > Name: libpcap > Version: 1.10 > Description: Platform-independent network traffic capture library > Cflags: -I${prefix}/Include > Libs: -L${prefix}/Lib/x64 -lwpcap > > Example of collecting packets from an interface to a file: > > .\build\examples\dpdk-skeleton.exe ` > --vdev "eth_pcap0,iface=\Device\NPF_{DDD48985-A77C-4FC9-AF48-61E547C8797E}" ` > --vdev "eth_pcap1,tx_pcap=capture.pcap" > > Interface name can be obtained as follows, with Wireshark installed: > > & "C:\Program Files\Wireshark\tshark.exe" -D > > Implementation in "pcap_osdep_windows.c" does some guesswork to convert > between variants of an interface name. Microsoft experts and interested > users, please take a look and/or give it a try in your environment. > > [1]: https://nmap.org/npcap > [2]: https://github.com/nmap/npcap/issues/299 > [3]: https://mesonbuild.com/Reference-manual.html#compiler-object > > Depends-on: series-15801 ("eal/windows: do not expose POSIX symbols") > Depends-on: patch-89639 ("[v2,3/3] meson: remove unnecessary explicit link to libpcap") > Hi Dmitry, What is the status of the dependent patches, are they merged? > v3: > * Use environment and pkg-config to locate libpcap (Bruce). > * Use C11 timespec_get() instead of EAL wrapper. > * Drop libpcap wrappers in net/pcap (Ferruh). > > Dmitry Kozlyuk (3): > eal/windows: add timespec_get shim for MinGW > net/pcap: move OS-dependent code to separate files > net/pcap: build on Windows > > config/meson.build | 3 +- > doc/guides/rel_notes/release_21_05.rst | 4 + > drivers/net/pcap/meson.build | 16 +-- > .../pcap/{rte_eth_pcap.c => pcap_ethdev.c} | 109 +++------------- > drivers/net/pcap/pcap_osdep.h | 18 +++ > drivers/net/pcap/pcap_osdep_freebsd.c | 59 +++++++++ > drivers/net/pcap/pcap_osdep_linux.c | 42 +++++++ > drivers/net/pcap/pcap_osdep_windows.c | 118 ++++++++++++++++++ > .../windows/include/rte_os_internal.h | 32 +++++ > 9 files changed, 303 insertions(+), 98 deletions(-) > rename drivers/net/pcap/{rte_eth_pcap.c => pcap_ethdev.c} (95%) > create mode 100644 drivers/net/pcap/pcap_osdep.h > create mode 100644 drivers/net/pcap/pcap_osdep_freebsd.c > create mode 100644 drivers/net/pcap/pcap_osdep_linux.c > create mode 100644 drivers/net/pcap/pcap_osdep_windows.c >