[dpdk-dev] [PATCH v8 00/10] app/testpmd: enable testpmd on Windows
Jie Zhou
jizh at linux.microsoft.com
Tue Apr 27 22:01:51 CEST 2021
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 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
---
V8 changes:
- Fix pointer location for _clock_gettime in config.h
---
V7 changes:
- Resolve V6 patch set applying conflicts due to recent upstream
merges of linux testpmd changes, lib\meson.build format change,
lib path changes, and sources change in meson.build under app\
- Move Windows clock_gettime related code from config.c into
config.h and leverage rte_os_shim.h for timespec_get
- Fix a "BAD_SIGN_OFF" warning for patch "[v6,09/10] app/testpmd:
fix unused function warnings"
---
V6 changes:
- Fix "unused function" compilation warning when neither i40e
nor ixgbe presents
---
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 (10):
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 on Windows
app/testpmd: fix parse_fec_mode return type
app/testpmd: replace POSIX specific code
app/testpmd: fix headers inclusion
app/testpmd: fix unused function warnings
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 | 514 +++++++++++++-------------
app/test-pmd/config.c | 96 +++--
app/test-pmd/config.h | 66 ++++
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/eal/windows/eal_dev.c | 33 ++
lib/eal/windows/include/rte_os_shim.h | 9 +
lib/eal/windows/meson.build | 1 +
lib/meson.build | 7 +
29 files changed, 542 insertions(+), 335 deletions(-)
create mode 100644 app/test-pmd/config.h
create mode 100644 lib/eal/windows/eal_dev.c
--
2.30.0.vfs.0.2
More information about the dev
mailing list