Hi guys,

My company, Cloudbase Solutions, as part of our effort in integrating OpenStack 
with Windows and Hyper-V is currently involved in porting Open vSwitch to 
Windows.

We are currently revieweing the first Windows patches that have been posted to 
this ML and we will gladly start to contribute the results of our effort on the 
current master branch as well.


Here’s a brief update on where we stand so far.

1) Userspace tools

We focused on the 1.9.x stable release branch before moving to the 2.x one. 
Currently the porting of all the userspace tools projects is complete (with the 
exception of the netlink communication layer), including working unit tests.
The main purpose of this initial effort was also to provide also proper proof 
of concept evaluation, so some of the patches require a degree of refactoring 
to get rid of the unnecessary #ifdefs.

The main area on which we are still working heavily on the userspace tools side 
is the replacement of netlink with a Windows specific approach. We’re having 
good results that we plan to post here ASAP in the forthcoming days/weeks.
If somebody has ideas, blueprints or implementations as well we would be very 
happy to join forces.

Here’s the repo with our port: 
https://github.com/cloudbase/openvswitch-windows-port


2) Kernel

We’re in the process of implementing a Hyper-V NDIS extension to provide the 
disired functionality on Windows. Unlike the userspace side, this is a complete 
rewrite due to the architectural differences between Windows and Linux.
This area is under heavy development with a planned release this year. We’ll 
post here the results as soon as possible.


3) Build system

Some notes on the development environment: 
https://github.com/cloudbase/openvswitch-windows-port/blob/branch-1.9/README.Windows

We opted to use CMake over Autoconf to be able to generate a cross platform 
build system minimizing the need of non native Windows tools (e.g. MinGW). The 
repository linked above is already using it to generate the Visual Studio 
solution files.

Speaking with various key contributors I understood that the general consensus 
is to use Autoconf, and this recent patchset is providing initial Windows 
support:
http://openvswitch.org/pipermail/dev/2013-November/033996.html

We are happy to ditch CMake and work with Autoconf if this is the community 
decision. Having a unified build system has its advantages over a separate one 
for a single platform.

The freshly released Visual Studio 2013 is the minimum supported version due to 
its improved C99 support that avoided us a few headaches.
Generally speaking we matched closely the missing Posix / Linux features on 
Windows with the goal of minimizing the impact on the existing codebase, 
avoiding the usage of any code from other existing projects (e.g. Cygwin) 
during the port.



Thanks,

Alessandro

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to