[ovs-dev] Windows port status

Alessandro Pilotti apilotti at cloudbasesolutions.com
Tue Nov 19 12:22:40 UTC 2013


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20131119/97cfa484/attachment-0003.html>


More information about the dev mailing list