[ovs-dev] [EXTERNAL] Re: [PATCH] RFC: netdev-dpdk: Add Windows support.

Omar Cardona ocardona at microsoft.com
Thu Nov 4 15:37:38 UTC 2021


>> (Dynamic lib still not supported yet in DPDK Windows).

This is dependent on TLS support, where a workaround PoC is avail, but not yet upstreamed.

> > Windows DPDK library hasn't finished all its library/driver porting to Windows.

Our focus is primarily the DPDK libraries which support UVMS. 

> > f. With clang support on Windows, can we remove MSVC?

Please no.  We are actively working with the MSVC team to extend support for DPDKs dependencies


-----Original Message-----
From: William Tu <u9012063 at gmail.com> 
Sent: Thursday, November 4, 2021 8:06 AM
To: thomas <thomas at monjalon.net>
Cc: <dev at openvswitch.org> <dev at openvswitch.org>; ovs-dev <ovs-dev at openvswitch.org>; Sergey Madaminov <sergey.madaminov at gmail.com>; Omar Cardona <ocardona at microsoft.com>; Kadam, Pallavi <pallavi.kadam at intel.com>; blp <blp at cs.stanford.edu>; Ilya Maximets <i.maximets at ovn.org>; Test <tuc at vmware.com>; Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>; talshn <talshn at mellanox.com>
Subject: [EXTERNAL] Re: [ovs-dev] [PATCH] RFC: netdev-dpdk: Add Windows support.

On Thu, Nov 4, 2021 at 4:35 AM Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 06/10/2021 19:00, William Tu:
> > The patch adds OVS-DPDK supports on Windows.
> [...]
> > Implementation on Windows
> > -------------------------
> > It's harder than I thought due to my Linux only background.
> > Sergey and I first need to add meson build support to OVS, in order 
> > to make compiling and linking to Windows DPDK library easier[2].
> > In this patch, we use clang compiler on Windows to compile DPDK and 
> > OVS, and OVS links to DPDK static library (Dynamic lib still not 
> > supported yet in DPDK Windows).
> >
> > Windows DPDK library hasn't finished all its library/driver porting 
> > to Windows. So a couple of DPDK library code used by OVS doesn't 
> > compile. For examples:
> >   1) ovs-numa.c: used to detect lcores used by DPDK.
> >   2) open_memstream, fopencookies: used to redirect DPDK logs.
> >   3) vhostuser doesn't support: used to connect VM/container.
> >   4) dpdk-socket-mem not support: configuration I simply remove them 
> > in this patch.
> > In the future, I will probably refactor or #ifdef.
>
> Yes please, removing code is clearly not the right direction :)
>
> [...]
> > Future Work
> > -----------
> > In priority ordering
> > a. Add CI or Dockerfile for building the code b. Performance 
> > numbers, compared with OVS kernel datapath c. Try rte_flow HW 
> > offload on Windows d. Resolve all the compiler warnings e. Refactor 
> > the vhostuser code
> >
> > Some thoughts:
> > f. With clang support on Windows, can we remove MSVC?
> >    so OVS will have less compiler-specific code, ex:
> >    include\openvswitch\compiler.h
> > g. DPDK starts to implement pthread in Windows, can
> >    OVS uses pthread library from DPDK, instead of pthreads4w?
>
> The thread API is not ready yet in DPDK.
> What would be the benefit for OVS to use the same pthread layer as DPDK?
> OVS needs to be able to compile without DPDK.

Hi Thomas,

Yes, you're right.
I was thinking about copying the pthread code from DPDK to OVS code base.
This removes the dependencies on pthreads4w.

I'm working on the RFC v2 patch, will send out this week.

Thanks for all the feedback!
William


More information about the dev mailing list