[ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows platform.

Saurabh Shah ssaurabh at vmware.com
Thu Jul 24 17:24:50 UTC 2014


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




More information about the dev mailing list