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()")

V3:
Posting the series for sake of completeness. As per the mailing list discussion,
I am going to rip out the userspace changes & will post the only kernel
changes in a different patchset.

This version includes a couple of fixes:
    01. Release Build can be installed and tested now.
    02. Fix to work around network adapters that fail UDP checksum if the
        checksum value is zero.

V2:
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                               |  244 ++++
 Makefile.am                                   |    6 +-
 datapath-windows/CodingStyle                  |  139 ++
 datapath-windows/DESIGN                       |  371 +++++
 datapath-windows/Package/package.VcxProj      |   95 ++
 datapath-windows/Package/package.VcxProj.user |   15 +
 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          | 1522 +++++++++++++++++++++
 datapath-windows/ovsext/OvsAtomic.h           |   32 +
 datapath-windows/ovsext/OvsBufferMgmt.c       | 1535 +++++++++++++++++++++
 datapath-windows/ovsext/OvsBufferMgmt.h       |  124 ++
 datapath-windows/ovsext/OvsChecksum.c         |  578 ++++++++
 datapath-windows/ovsext/OvsChecksum.h         |   39 +
 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         |  368 +++++
 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     |  303 +++++
 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             |  859 ++++++++++++
 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            |  507 +++++++
 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/ovsext.vcxproj.user   |   15 +
 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 +
 78 files changed, 20643 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 100755 datapath-windows/Package/package.VcxProj.user
 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 100755 datapath-windows/ovsext/ovsext.vcxproj.user
 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

Reply via email to