From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 0C516A0548;
	Fri, 16 Apr 2021 19:58:00 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 2CD43161CA2;
	Fri, 16 Apr 2021 19:57:53 +0200 (CEST)
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by mails.dpdk.org (Postfix) with ESMTP id A87BF160718
 for <dev@dpdk.org>; Fri, 16 Apr 2021 19:57:48 +0200 (CEST)
Received: from
 linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net
 (linux.microsoft.com [13.77.154.182])
 by linux.microsoft.com (Postfix) with ESMTPSA id F252120B83D9;
 Fri, 16 Apr 2021 10:57:47 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com F252120B83D9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
 s=default; t=1618595868;
 bh=AI5Vsa9pRSnTaPaGws9lI+e9TiXlieA6V7jZ6c2mSXo=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=okcyyIJbgyXgKOdBfIjqLpiVPmLn7cavvKMTm0gtjAxE77M/p72ZUcLxR5VldeHu6
 w72qgWcEoN5EyGRBdZwCWr9ivvYcUSJfVzlrhzuYBlt9hpHn+zjoORNnh981b1SZP/
 HLYqAq8lcNmtS5Jsi0s2BrxUx0GodYjWf6LrlY2k=
From: Jie Zhou <jizh@linux.microsoft.com>
To: dev@dpdk.org
Cc: dmitry.kozliuk@gmail.com, xiaoyun.li@intel.com, roretzla@microsoft.com,
 pallavi.kadam@intel.com, thomas@monjalon.net, bruce.richardson@intel.com,
 ferruh.yigit@intel.com
Date: Fri, 16 Apr 2021 10:57:35 -0700
Message-Id: <1618595864-27839-1-git-send-email-jizh@linux.microsoft.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1618594501-23795-10-git-send-email-jizh@linux.microsoft.com>
References: <1618594501-23795-10-git-send-email-jizh@linux.microsoft.com>
Subject: [dpdk-dev] [PATCH v5 0/9] app/testpmd: enable testpmd on Windows
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

This patchset is to enable testpmd on windows. It mainly includes:
- Enable building libraries on Windows that testpmd depends on
- Add necessary macros required by testpmd on Windows in rte_os_shim.h
- Add device event stubs for Windows
- Resolve name collisions with Windows types
- Add clock_gettime_monotic in testpmd on Windows
- Fix parse_fec_mode to return fec_capa instead of mode
- Replace POSIX specific codes
- Disable unsupported Apps build on Windows
- Enable testpmd build on Windows

Future work:
- Some issues discovered at validation need further investigations
  * Perf inconsistency: TPUT fluctuated significantly from runs
  * After traffic stop, port stats shows pps being 0 while bps not
  * mempool allocation only succeed with native. Other methods failed
    at rte_mem_lock/VirtualLock.
- Hot-plug on Windows not supported yet
- Support mempool allocation native mode only for now

---
V5 changes:
    - Remove macro trailing semicolon which missed to include in V4

---
V4 changes:
    - Split previous patch into more granular patches
    - Remove the bypass of rte_eal_cleanup at exit
    - Move all added macros into rte_os_shim.h
    - Remove redundant headers after the rte_os_shim patch merge
    - Revert the mman APIs replacement to leave relevant part UNIX only
    - Keep Windows library list the same structure and order as the 
      Unix library list in lib meson.build
	
---
V3 changes:
    - Split one patch into patchset
    - Replace mman APIs with rte_mem_xxx APIs
    - Use OS independant rte_rand
    - Add device event stubs for Windows
    - Disable unsupported Apps

---
V2 changes:
    - Fix commit message log long line issue
    - Fix coding style issues of pointer location
    - Fix indentation issue
    - Fix FreeBSD2101 compilation issue of AF_INET undeclared
---

Jie Zhou (9):
  lib: build libraries that testpmd depends on
  eal/windows: add necessary macros
  eal/windows: add device event stubs
  app/testpmd: resolve name collisions
  app/testpmd: add clock_gettime_monotonic
  app/testpmd: fix parse_fec_mode return type
  app/testpmd: replace POSIX specific code
  app/testpmd: fix headers inclusion
  app/testpmd: enable building testpmd on Windows

 app/meson.build                              |   4 -
 app/pdump/meson.build                        |   6 +
 app/proc-info/meson.build                    |   6 +
 app/test-acl/meson.build                     |   6 +
 app/test-bbdev/meson.build                   |   6 +
 app/test-cmdline/meson.build                 |   6 +
 app/test-compress-perf/meson.build           |   6 +
 app/test-crypto-perf/meson.build             |   6 +
 app/test-eventdev/meson.build                |   6 +
 app/test-fib/meson.build                     |   6 +
 app/test-flow-perf/meson.build               |   6 +
 app/test-pipeline/meson.build                |   6 +
 app/test-pmd/cmdline.c                       |  12 +-
 app/test-pmd/cmdline_flow.c                  | 496 +++++++++----------
 app/test-pmd/config.c                        |  37 +-
 app/test-pmd/csumonly.c                      |   2 +-
 app/test-pmd/icmpecho.c                      |   4 +-
 app/test-pmd/ieee1588fwd.c                   |   8 +-
 app/test-pmd/parameters.c                    |  11 +-
 app/test-pmd/testpmd.c                       |  21 +-
 app/test-pmd/testpmd.h                       |   5 +-
 app/test-regex/meson.build                   |   6 +
 app/test-sad/meson.build                     |   6 +
 app/test/meson.build                         |   6 +
 lib/librte_eal/windows/eal_dev.c             |  33 ++
 lib/librte_eal/windows/include/rte_os_shim.h |   9 +
 lib/librte_eal/windows/meson.build           |   1 +
 lib/meson.build                              |   7 +-
 28 files changed, 455 insertions(+), 279 deletions(-)
 create mode 100644 lib/librte_eal/windows/eal_dev.c

-- 
2.30.0.vfs.0.2