Hi Saurabh, I’d suggest that before doing a full review of the kernel driver we need to have:
* Userspace Netlink interface support (which means that patches 1 and 2 in this set can be skipped) * Kernel Netlink interface support (not provided by patch 3) * Support for multiple datapaths and vswitches * Split the kernel driver code in smaller patches to allow a proper review (I made a simple suggestion in a previous email, but any other solution is good) Rewriting the driver to avoid dependencies on the MSFT sample was a very good idea, since ATM we don’t know if and when the legal review will be complete and the sample code will be released as Apache 2. Thanks, Alessandro On 24 Jul 2014, at 20:24, Saurabh Shah <ssaur...@vmware.com> wrote: > This patch series adds OpenvSwitch datapath support for Windows platform. The > kernel switch extension has support for bridged back forwarding & tunneling > over VXLAN. > > The patch series is based on top of c450371 ("datapath: Initialize OVS_CB in > ovs_vport_receive()") > > Here are some of the major things that are addressed by this v2 patch: > 01. Complete rewrite of the base code, so there is no dependency on > MS-LPL license any more. > 02. The following crash-report by Cloudbase has been fixed - > http://paste.openstack.org/show/84911/. > > Saurabh Shah (3): > odp-util: Add utility function, odp_flow_key_to_flow_verbose. > dpif-windows: Implement datapath interface for windows. > datapath-windows: Implement the virtual switch forwarding extension. > > AUTHORS | 3 + > BUILD.Windows | 96 -- > CodingStyle | 4 +- > INSTALL.Windows | 131 +++ > Makefile.am | 6 +- > datapath-windows/CodingStyle | 139 +++ > datapath-windows/DESIGN | 371 ++++++ > datapath-windows/Package/package.VcxProj | 95 ++ > datapath-windows/automake.mk | 56 + > datapath-windows/extensions.sln | 49 + > datapath-windows/include/OvsNetlink.h | 174 +++ > datapath-windows/include/OvsPub.h | 498 ++++++++ > datapath-windows/misc/install.cmd | 4 + > datapath-windows/misc/uninstall.cmd | 1 + > datapath-windows/ovsext/OvsActions.c | 1512 ++++++++++++++++++++++++ > datapath-windows/ovsext/OvsAtomic.h | 32 + > datapath-windows/ovsext/OvsBufferMgmt.c | 1535 +++++++++++++++++++++++++ > datapath-windows/ovsext/OvsBufferMgmt.h | 124 ++ > datapath-windows/ovsext/OvsChecksum.c | 509 ++++++++ > datapath-windows/ovsext/OvsChecksum.h | 33 + > datapath-windows/ovsext/OvsDebug.c | 58 + > datapath-windows/ovsext/OvsDebug.h | 90 ++ > datapath-windows/ovsext/OvsDriver.c | 184 +++ > datapath-windows/ovsext/OvsEth.h | 450 ++++++++ > datapath-windows/ovsext/OvsEvent.c | 496 ++++++++ > datapath-windows/ovsext/OvsEvent.h | 50 + > datapath-windows/ovsext/OvsFlow.c | 978 ++++++++++++++++ > datapath-windows/ovsext/OvsFlow.h | 78 ++ > datapath-windows/ovsext/OvsIoctl.c | 758 ++++++++++++ > datapath-windows/ovsext/OvsIoctl.h | 40 + > datapath-windows/ovsext/OvsIpHelper.c | 1689 +++++++++++++++++++++++++++ > datapath-windows/ovsext/OvsIpHelper.h | 128 +++ > datapath-windows/ovsext/OvsJhash.c | 129 +++ > datapath-windows/ovsext/OvsJhash.h | 30 + > datapath-windows/ovsext/OvsNetProto.h | 367 ++++++ > datapath-windows/ovsext/OvsOid.c | 855 ++++++++++++++ > datapath-windows/ovsext/OvsOid.h | 26 + > datapath-windows/ovsext/OvsPacketIO.c | 441 +++++++ > datapath-windows/ovsext/OvsPacketIO.h | 61 + > datapath-windows/ovsext/OvsPacketParser.c | 300 +++++ > datapath-windows/ovsext/OvsPacketParser.h | 144 +++ > datapath-windows/ovsext/OvsSwitch.c | 529 +++++++++ > datapath-windows/ovsext/OvsSwitch.h | 169 +++ > datapath-windows/ovsext/OvsTunnel.c | 346 ++++++ > datapath-windows/ovsext/OvsTunnel.h | 57 + > datapath-windows/ovsext/OvsTunnelFilter.c | 343 ++++++ > datapath-windows/ovsext/OvsTunnelIntf.h | 25 + > datapath-windows/ovsext/OvsTypes.h | 32 + > datapath-windows/ovsext/OvsUser.c | 861 ++++++++++++++ > datapath-windows/ovsext/OvsUser.h | 114 ++ > datapath-windows/ovsext/OvsUtil.c | 89 ++ > datapath-windows/ovsext/OvsUtil.h | 78 ++ > datapath-windows/ovsext/OvsVport.c | 1416 +++++++++++++++++++++++ > datapath-windows/ovsext/OvsVport.h | 190 +++ > datapath-windows/ovsext/OvsVxlan.c | 441 +++++++ > datapath-windows/ovsext/OvsVxlan.h | 81 ++ > datapath-windows/ovsext/ovsext.inf | 85 ++ > datapath-windows/ovsext/ovsext.rc | 23 + > datapath-windows/ovsext/ovsext.vcxproj | 164 +++ > datapath-windows/ovsext/precomp.h | 31 + > datapath-windows/ovsext/precompsrc.c | 17 + > include/linux/openvswitch.h | 8 +- > lib/automake.mk | 3 + > lib/dpif-netdev.c | 17 +- > lib/dpif-provider.h | 3 + > lib/dpif-windows.c | 1786 +++++++++++++++++++++++++++++ > lib/dpif-windows.h | 58 + > lib/dpif.c | 3 + > lib/netdev-provider.h | 3 + > lib/netdev-windows.c | 714 ++++++++++++ > lib/netdev.c | 5 + > lib/netlink-protocol.h | 5 + > lib/odp-util.c | 24 + > lib/odp-util.h | 2 + > lib/util.c | 16 + > lib/util.h | 1 + > 76 files changed, 20347 insertions(+), 116 deletions(-) > delete mode 100644 BUILD.Windows > create mode 100644 INSTALL.Windows > create mode 100644 datapath-windows/CodingStyle > create mode 100644 datapath-windows/DESIGN > create mode 100755 datapath-windows/Package/package.VcxProj > create mode 100644 datapath-windows/automake.mk > create mode 100644 datapath-windows/extensions.sln > create mode 100644 datapath-windows/include/OvsNetlink.h > create mode 100644 datapath-windows/include/OvsPub.h > create mode 100755 datapath-windows/misc/install.cmd > create mode 100755 datapath-windows/misc/uninstall.cmd > create mode 100644 datapath-windows/ovsext/OvsActions.c > create mode 100644 datapath-windows/ovsext/OvsAtomic.h > create mode 100644 datapath-windows/ovsext/OvsBufferMgmt.c > create mode 100644 datapath-windows/ovsext/OvsBufferMgmt.h > create mode 100644 datapath-windows/ovsext/OvsChecksum.c > create mode 100644 datapath-windows/ovsext/OvsChecksum.h > create mode 100644 datapath-windows/ovsext/OvsDebug.c > create mode 100644 datapath-windows/ovsext/OvsDebug.h > create mode 100644 datapath-windows/ovsext/OvsDriver.c > create mode 100644 datapath-windows/ovsext/OvsEth.h > create mode 100644 datapath-windows/ovsext/OvsEvent.c > create mode 100644 datapath-windows/ovsext/OvsEvent.h > create mode 100644 datapath-windows/ovsext/OvsFlow.c > create mode 100644 datapath-windows/ovsext/OvsFlow.h > create mode 100644 datapath-windows/ovsext/OvsIoctl.c > create mode 100644 datapath-windows/ovsext/OvsIoctl.h > create mode 100644 datapath-windows/ovsext/OvsIpHelper.c > create mode 100644 datapath-windows/ovsext/OvsIpHelper.h > create mode 100644 datapath-windows/ovsext/OvsJhash.c > create mode 100644 datapath-windows/ovsext/OvsJhash.h > create mode 100644 datapath-windows/ovsext/OvsNetProto.h > create mode 100644 datapath-windows/ovsext/OvsOid.c > create mode 100644 datapath-windows/ovsext/OvsOid.h > create mode 100644 datapath-windows/ovsext/OvsPacketIO.c > create mode 100644 datapath-windows/ovsext/OvsPacketIO.h > create mode 100644 datapath-windows/ovsext/OvsPacketParser.c > create mode 100644 datapath-windows/ovsext/OvsPacketParser.h > create mode 100644 datapath-windows/ovsext/OvsSwitch.c > create mode 100644 datapath-windows/ovsext/OvsSwitch.h > create mode 100644 datapath-windows/ovsext/OvsTunnel.c > create mode 100644 datapath-windows/ovsext/OvsTunnel.h > create mode 100644 datapath-windows/ovsext/OvsTunnelFilter.c > create mode 100644 datapath-windows/ovsext/OvsTunnelIntf.h > create mode 100644 datapath-windows/ovsext/OvsTypes.h > create mode 100644 datapath-windows/ovsext/OvsUser.c > create mode 100644 datapath-windows/ovsext/OvsUser.h > create mode 100644 datapath-windows/ovsext/OvsUtil.c > create mode 100644 datapath-windows/ovsext/OvsUtil.h > create mode 100644 datapath-windows/ovsext/OvsVport.c > create mode 100644 datapath-windows/ovsext/OvsVport.h > create mode 100644 datapath-windows/ovsext/OvsVxlan.c > create mode 100644 datapath-windows/ovsext/OvsVxlan.h > create mode 100644 datapath-windows/ovsext/ovsext.inf > create mode 100644 datapath-windows/ovsext/ovsext.rc > create mode 100644 datapath-windows/ovsext/ovsext.vcxproj > create mode 100644 datapath-windows/ovsext/precomp.h > create mode 100644 datapath-windows/ovsext/precompsrc.c > create mode 100644 lib/dpif-windows.c > create mode 100644 lib/dpif-windows.h > create mode 100644 lib/netdev-windows.c > > -- > 1.7.9.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev