[ovs-dev] [PATCH 02/15] datapath-windows: Move and Rename files

Saurabh Shah ssaurabh at vmware.com
Wed Aug 6 18:52:01 UTC 2014


Hi Samuel,

>Move and rename files:

These are two separate changes. Renaming the files to drop ŒOvs¹ is fine.
But, I am not in favor of redoing the directory structure (as expressed in
the another thread). If you can separate these out, we could apply the
renaming patch while we discuss the need for a directory structure.

>
>1. Remove "Ovs" prefixes. There is no reason to have them.
>2. Create directories and Visual Studio filters to represent them:
>* Core:        anything that is "generic", that might be used anywhere in
>code, etc.
>* Hyper-v:    functionality for Hyper-V Switch, Hyper-V Nics, Hyper-V
>Ports, OIDs
>* OpenFlow: the kernel part of the OpenFlow implementation: Datapath,
>Flows, Ports, Actions.
>* Protocol:    net protocols: ethernet, ip checksuming, tcp, etc.
>* Transfer:    functionalities for NBLs, NB, ingress path, tunneling
>* Winetlink:    IOCTLs, packet queuing to userspace, windows netlink
>protocol.
>
>Also changed the "#include"-s in the files to acomodate this change.
>
>Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
>---
> .../ovsext/{OvsAtomic.h => Core/Atomic.h}          |   0
> .../ovsext/{OvsDebug.c => Core/Debug.c}            |   2 +-
> .../ovsext/{OvsDebug.h => Core/Debug.h}            |   0
> .../ovsext/{OvsDriver.c => Core/Driver.c}          |   6 +-
> .../ovsext/{OvsIpHelper.c => Core/IpHelper.c}      |   8 +-
> .../ovsext/{OvsIpHelper.h => Core/IpHelper.h}      |   0
> .../ovsext/{OvsJhash.c => Core/Jhash.c}            |   0
> .../ovsext/{OvsJhash.h => Core/Jhash.h}            |   0
> .../ovsext/{OvsTypes.h => Core/Types.h}            |   0
> datapath-windows/ovsext/{OvsUtil.c => Core/Util.c} |   2 +-
> datapath-windows/ovsext/{OvsUtil.h => Core/Util.h} |   0
> .../ovsext/{OvsOid.c => Hyper-V/Oid.c}             |  20 +--
> .../ovsext/{OvsOid.h => Hyper-V/Oid.h}             |   0
> .../ovsext/{OvsSwitch.c => Hyper-V/Switch.c}       |  18 +--
> .../ovsext/{OvsSwitch.h => Hyper-V/Switch.h}       |   4 +-
> .../ovsext/{OvsActions.c => OpenFlow/Actions.c}    |  22 +--
> .../ovsext/{OvsFlow.c => OpenFlow/Flow.c}          |  12 +-
> .../ovsext/{OvsFlow.h => OpenFlow/Flow.h}          |   6 +-
> .../{OvsPacketParser.c => OpenFlow/PacketParser.c} |   2 +-
> .../{OvsPacketParser.h => OpenFlow/PacketParser.h} |   2 +-
> .../{include/OvsPub.h => ovsext/OpenFlow/Pub.h}    |   8 +-
> .../ovsext/{OvsVport.c => OpenFlow/Vport.c}        |  22 +--
> .../ovsext/{OvsVport.h => OpenFlow/Vport.h}        |   2 +-
> .../ovsext/{OvsChecksum.c => Protocol/Checksum.c}  |   8 +-
> .../ovsext/{OvsChecksum.h => Protocol/Checksum.h}  |   0
> .../ovsext/{OvsEth.h => Protocol/Ethernet.h}       |   0
> .../ovsext/{OvsNetProto.h => Protocol/NetProto.h}  |   2 +-
> .../{OvsBufferMgmt.c => Transfer/BufferMgmt.c}     |  12 +-
> .../{OvsBufferMgmt.h => Transfer/BufferMgmt.h}     |   0
> .../ovsext/{OvsPacketIO.c => Transfer/PacketIO.c}  |  20 +--
> .../ovsext/{OvsPacketIO.h => Transfer/PacketIO.h}  |   0
> .../ovsext/{OvsTunnel.c => Transfer/Tunnel.c}      |  21 +--
> .../ovsext/{OvsTunnel.h => Transfer/Tunnel.h}      |   0
> .../{OvsTunnelFilter.c => Transfer/TunnelFilter.c} |  12 +-
> .../{OvsTunnelIntf.h => Transfer/TunnelIntf.h}     |   0
> .../ovsext/{OvsVxlan.c => Transfer/Vxlan.c}        |  28 ++--
> .../ovsext/{OvsVxlan.h => Transfer/Vxlan.h}        |   2 +-
> .../ovsext/{OvsEvent.c => Winetlink/Event.c}       |  10 +-
> .../ovsext/{OvsEvent.h => Winetlink/Event.h}       |   0
> .../ovsext/{OvsIoctl.c => Winetlink/Ioctl.c}       |  22 +--
> .../ovsext/{OvsIoctl.h => Winetlink/Ioctl.h}       |   0
> .../OvsNetlink.h => ovsext/Winetlink/Netlink.h}    |   0
> .../ovsext/{OvsUser.c => Winetlink/User.c}         |  23 +--
> .../ovsext/{OvsUser.h => Winetlink/User.h}         |   0
> datapath-windows/ovsext/ovsext.vcxproj             |  88 +++++------
> datapath-windows/ovsext/ovsext.vcxproj.filters     | 168
>+++++++++++++++++++++
> datapath-windows/ovsext/precomp.h                  |   9 +-
> datapath/linux/compat/include/linux/openvswitch.h  |   2 +
> 48 files changed, 374 insertions(+), 189 deletions(-)
> rename datapath-windows/ovsext/{OvsAtomic.h => Core/Atomic.h} (100%)
> rename datapath-windows/ovsext/{OvsDebug.c => Core/Debug.c} (98%)
> rename datapath-windows/ovsext/{OvsDebug.h => Core/Debug.h} (100%)
> rename datapath-windows/ovsext/{OvsDriver.c => Core/Driver.c} (98%)
> rename datapath-windows/ovsext/{OvsIpHelper.c => Core/IpHelper.c} (99%)
> rename datapath-windows/ovsext/{OvsIpHelper.h => Core/IpHelper.h} (100%)
> rename datapath-windows/ovsext/{OvsJhash.c => Core/Jhash.c} (100%)
> rename datapath-windows/ovsext/{OvsJhash.h => Core/Jhash.h} (100%)
> rename datapath-windows/ovsext/{OvsTypes.h => Core/Types.h} (100%)
> rename datapath-windows/ovsext/{OvsUtil.c => Core/Util.c} (98%)
> rename datapath-windows/ovsext/{OvsUtil.h => Core/Util.h} (100%)
> rename datapath-windows/ovsext/{OvsOid.c => Hyper-V/Oid.c} (99%)
> rename datapath-windows/ovsext/{OvsOid.h => Hyper-V/Oid.h} (100%)
> rename datapath-windows/ovsext/{OvsSwitch.c => Hyper-V/Switch.c} (98%)
> rename datapath-windows/ovsext/{OvsSwitch.h => Hyper-V/Switch.h} (98%)
> rename datapath-windows/ovsext/{OvsActions.c => OpenFlow/Actions.c} (99%)
> rename datapath-windows/ovsext/{OvsFlow.c => OpenFlow/Flow.c} (99%)
> rename datapath-windows/ovsext/{OvsFlow.h => OpenFlow/Flow.h} (97%)
> rename datapath-windows/ovsext/{OvsPacketParser.c =>
>OpenFlow/PacketParser.c} (99%)
> rename datapath-windows/ovsext/{OvsPacketParser.h =>
>OpenFlow/PacketParser.h} (99%)
> rename datapath-windows/{include/OvsPub.h => ovsext/OpenFlow/Pub.h} (99%)
> rename datapath-windows/ovsext/{OvsVport.c => OpenFlow/Vport.c} (99%)
> rename datapath-windows/ovsext/{OvsVport.h => OpenFlow/Vport.h} (99%)
> rename datapath-windows/ovsext/{OvsChecksum.c => Protocol/Checksum.c}
>(99%)
> rename datapath-windows/ovsext/{OvsChecksum.h => Protocol/Checksum.h}
>(100%)
> rename datapath-windows/ovsext/{OvsEth.h => Protocol/Ethernet.h} (100%)
> rename datapath-windows/ovsext/{OvsNetProto.h => Protocol/NetProto.h}
>(99%)
> rename datapath-windows/ovsext/{OvsBufferMgmt.c =>
>Transfer/BufferMgmt.c} (99%)
> rename datapath-windows/ovsext/{OvsBufferMgmt.h =>
>Transfer/BufferMgmt.h} (100%)
> rename datapath-windows/ovsext/{OvsPacketIO.c => Transfer/PacketIO.c}
>(98%)
> rename datapath-windows/ovsext/{OvsPacketIO.h => Transfer/PacketIO.h}
>(100%)
> rename datapath-windows/ovsext/{OvsTunnel.c => Transfer/Tunnel.c} (97%)
> rename datapath-windows/ovsext/{OvsTunnel.h => Transfer/Tunnel.h} (100%)
> rename datapath-windows/ovsext/{OvsTunnelFilter.c =>
>Transfer/TunnelFilter.c} (98%)
> rename datapath-windows/ovsext/{OvsTunnelIntf.h =>
>Transfer/TunnelIntf.h} (100%)
> rename datapath-windows/ovsext/{OvsVxlan.c => Transfer/Vxlan.c} (97%)
> rename datapath-windows/ovsext/{OvsVxlan.h => Transfer/Vxlan.h} (98%)
> rename datapath-windows/ovsext/{OvsEvent.c => Winetlink/Event.c} (99%)
> rename datapath-windows/ovsext/{OvsEvent.h => Winetlink/Event.h} (100%)
> rename datapath-windows/ovsext/{OvsIoctl.c => Winetlink/Ioctl.c} (98%)
> rename datapath-windows/ovsext/{OvsIoctl.h => Winetlink/Ioctl.h} (100%)
> rename datapath-windows/{include/OvsNetlink.h =>
>ovsext/Winetlink/Netlink.h} (100%)
> rename datapath-windows/ovsext/{OvsUser.c => Winetlink/User.c} (98%)
> rename datapath-windows/ovsext/{OvsUser.h => Winetlink/User.h} (100%)
> create mode 100644 datapath-windows/ovsext/ovsext.vcxproj.filters
>
>diff --git a/datapath-windows/ovsext/OvsAtomic.h
>b/datapath-windows/ovsext/Core/Atomic.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsAtomic.h
>rename to datapath-windows/ovsext/Core/Atomic.h
>diff --git a/datapath-windows/ovsext/OvsDebug.c
>b/datapath-windows/ovsext/Core/Debug.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsDebug.c
>rename to datapath-windows/ovsext/Core/Debug.c
>index 8610008..a96d38d 100644
>--- a/datapath-windows/ovsext/OvsDebug.c
>+++ b/datapath-windows/ovsext/Core/Debug.c
>@@ -16,7 +16,7 @@
>
> #include "precomp.h"
>
>-#include "OvsDebug.h"
>+#include "Debug.h"
> #ifdef DBG
> #define OVS_DBG_DEFAULT  OVS_DBG_INFO
> #else
>diff --git a/datapath-windows/ovsext/OvsDebug.h
>b/datapath-windows/ovsext/Core/Debug.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsDebug.h
>rename to datapath-windows/ovsext/Core/Debug.h
>diff --git a/datapath-windows/ovsext/OvsDriver.c
>b/datapath-windows/ovsext/Core/Driver.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsDriver.c
>rename to datapath-windows/ovsext/Core/Driver.c
>index 7b57fbd..b8f0db8 100644
>--- a/datapath-windows/ovsext/OvsDriver.c
>+++ b/datapath-windows/ovsext/Core/Driver.c
>@@ -15,14 +15,14 @@
>  */
>
> #include "precomp.h"
>-#include "OvsSwitch.h"
>-#include "OvsIoctl.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Ioctl.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_DRIVER
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> /* Global handles. XXX: Some of them need not be global. */
> /*
>diff --git a/datapath-windows/ovsext/OvsIpHelper.c
>b/datapath-windows/ovsext/Core/IpHelper.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsIpHelper.c
>rename to datapath-windows/ovsext/Core/IpHelper.c
>index cd2625a..689166e 100644
>--- a/datapath-windows/ovsext/OvsIpHelper.c
>+++ b/datapath-windows/ovsext/Core/IpHelper.c
>@@ -15,15 +15,15 @@
>  */
>
> #include "precomp.h"
>-#include "OvsIpHelper.h"
>-#include "OvsSwitch.h"
>-#include "OvsJhash.h"
>+#include "Core\IpHelper.h"
>+#include "Core\Jhash.h"
>+#include "Hyper-V\Switch.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_IPHELPER
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> /*
>  * Fow now, we assume only one internal adapter
>diff --git a/datapath-windows/ovsext/OvsIpHelper.h
>b/datapath-windows/ovsext/Core/IpHelper.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsIpHelper.h
>rename to datapath-windows/ovsext/Core/IpHelper.h
>diff --git a/datapath-windows/ovsext/OvsJhash.c
>b/datapath-windows/ovsext/Core/Jhash.c
>similarity index 100%
>rename from datapath-windows/ovsext/OvsJhash.c
>rename to datapath-windows/ovsext/Core/Jhash.c
>diff --git a/datapath-windows/ovsext/OvsJhash.h
>b/datapath-windows/ovsext/Core/Jhash.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsJhash.h
>rename to datapath-windows/ovsext/Core/Jhash.h
>diff --git a/datapath-windows/ovsext/OvsTypes.h
>b/datapath-windows/ovsext/Core/Types.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsTypes.h
>rename to datapath-windows/ovsext/Core/Types.h
>diff --git a/datapath-windows/ovsext/OvsUtil.c
>b/datapath-windows/ovsext/Core/Util.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsUtil.c
>rename to datapath-windows/ovsext/Core/Util.c
>index e70f9a1..ff9cd28 100644
>--- a/datapath-windows/ovsext/OvsUtil.c
>+++ b/datapath-windows/ovsext/Core/Util.c
>@@ -20,7 +20,7 @@
> #endif
> #define OVS_DBG_MOD OVS_DBG_OTHERS
>
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> extern NDIS_HANDLE gOvsExtDriverHandle;
>
>diff --git a/datapath-windows/ovsext/OvsUtil.h
>b/datapath-windows/ovsext/Core/Util.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsUtil.h
>rename to datapath-windows/ovsext/Core/Util.h
>diff --git a/datapath-windows/ovsext/OvsOid.c
>b/datapath-windows/ovsext/Hyper-V/Oid.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsOid.c
>rename to datapath-windows/ovsext/Hyper-V/Oid.c
>index 487191a..4ac805c 100644
>--- a/datapath-windows/ovsext/OvsOid.c
>+++ b/datapath-windows/ovsext/Hyper-V/Oid.c
>@@ -15,15 +15,15 @@
>  */
>
> #include "precomp.h"
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsNetProto.h"
>-#include "OvsUser.h"
>-#include "OvsFlow.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsOid.h"
>+
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\Vport.h"
>+#include "Protocol\NetProto.h"
>+#include "Hyper-V\Oid.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>
> /* Due to an imported header file */
> #pragma warning( disable:4505 )
>@@ -32,7 +32,7 @@
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_DISPATCH
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> typedef struct _OVS_OID_CONTEXT {
>     NDIS_EVENT oidComplete;
>diff --git a/datapath-windows/ovsext/OvsOid.h
>b/datapath-windows/ovsext/Hyper-V/Oid.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsOid.h
>rename to datapath-windows/ovsext/Hyper-V/Oid.h
>diff --git a/datapath-windows/ovsext/OvsSwitch.c
>b/datapath-windows/ovsext/Hyper-V/Switch.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsSwitch.c
>rename to datapath-windows/ovsext/Hyper-V/Switch.c
>index 97ce2ae..e92c386 100644
>--- a/datapath-windows/ovsext/OvsSwitch.c
>+++ b/datapath-windows/ovsext/Hyper-V/Switch.c
>@@ -21,20 +21,20 @@
>
> #include "precomp.h"
>
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsFlow.h"
>-#include "OvsIpHelper.h"
>-#include "OvsTunnelIntf.h"
>-#include "OvsOid.h"
>+#include "Core\IpHelper.h"
>+#include "Hyper-V\Oid.h"
>+#include "Hyper-V\Switch.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\Vport.h"
>+#include "Transfer\TunnelIntf.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_SWITCH
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> POVS_SWITCH_CONTEXT gOvsSwitchContext;
> BOOLEAN gOvsInAttach;
>diff --git a/datapath-windows/ovsext/OvsSwitch.h
>b/datapath-windows/ovsext/Hyper-V/Switch.h
>similarity index 98%
>rename from datapath-windows/ovsext/OvsSwitch.h
>rename to datapath-windows/ovsext/Hyper-V/Switch.h
>index d49fe9b..d80d744 100644
>--- a/datapath-windows/ovsext/OvsSwitch.h
>+++ b/datapath-windows/ovsext/Hyper-V/Switch.h
>@@ -21,8 +21,8 @@
> #ifndef __OVS_SWITCH_H_
> #define __OVS_SWITCH_H_ 1
>
>-#include "OvsNetProto.h"
>-#include "OvsBufferMgmt.h"
>+#include "Protocol\NetProto.h"
>+#include "Transfer\BufferMgmt.h"
> #define OVS_MAX_VPORT_ARRAY_SIZE 1024
>
> #define OVS_VPORT_MASK (OVS_MAX_VPORT_ARRAY_SIZE - 1)
>diff --git a/datapath-windows/ovsext/OvsActions.c
>b/datapath-windows/ovsext/OpenFlow/Actions.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsActions.c
>rename to datapath-windows/ovsext/OpenFlow/Actions.c
>index 4a2c117..8fb645f 100644
>--- a/datapath-windows/ovsext/OvsActions.c
>+++ b/datapath-windows/ovsext/OpenFlow/Actions.c
>@@ -16,23 +16,23 @@
>
> #include "precomp.h"
>
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsNetProto.h"
>-#include "OvsFlow.h"
>-#include "OvsVxlan.h"
>-#include "OvsChecksum.h"
>-#include "OvsPacketIO.h"
>+#include "Hyper-V\Switch.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\Vport.h"
>+#include "Protocol\Checksum.h"
>+#include "Protocol\NetProto.h"
>+#include "Transfer\PacketIO.h"
>+#include "Transfer\Vxlan.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_ACTION
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> typedef struct _OVS_ACTION_STATS {
>     UINT64 rxVxlan;
>diff --git a/datapath-windows/ovsext/OvsFlow.c
>b/datapath-windows/ovsext/OpenFlow/Flow.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsFlow.c
>rename to datapath-windows/ovsext/OpenFlow/Flow.c
>index daa64e0..8d6a895 100644
>--- a/datapath-windows/ovsext/OvsFlow.c
>+++ b/datapath-windows/ovsext/OpenFlow/Flow.c
>@@ -15,17 +15,17 @@
>  */
>
> #include "precomp.h"
>-#include "OvsNetProto.h"
>-#include "OvsUtil.h"
>-#include "OvsJhash.h"
>-#include "OvsFlow.h"
>-#include "OvsPacketParser.h"
>+#include "Core\Util.h"
>+#include "Core\Jhash.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\PacketParser.h"
>+#include "Protocol\NetProto.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_FLOW
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> #pragma warning( push )
> #pragma warning( disable:4127 )
>diff --git a/datapath-windows/ovsext/OvsFlow.h
>b/datapath-windows/ovsext/OpenFlow/Flow.h
>similarity index 97%
>rename from datapath-windows/ovsext/OvsFlow.h
>rename to datapath-windows/ovsext/OpenFlow/Flow.h
>index 93368b3..3300dea 100644
>--- a/datapath-windows/ovsext/OvsFlow.h
>+++ b/datapath-windows/ovsext/OpenFlow/Flow.h
>@@ -18,9 +18,9 @@
> #define __OVS_FLOW_H_ 1
>
> #include "precomp.h"
>-#include "OvsSwitch.h"
>-#include "OvsUser.h"
>-#include "OvsNetProto.h"
>+#include "Protocol\NetProto.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\User.h"
>
> typedef struct _OvsFlow {
>     LIST_ENTRY ListEntry;            // In Datapath's flowTable.
>diff --git a/datapath-windows/ovsext/OvsPacketParser.c
>b/datapath-windows/ovsext/OpenFlow/PacketParser.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsPacketParser.c
>rename to datapath-windows/ovsext/OpenFlow/PacketParser.c
>index 0a93435..2c955e1 100644
>--- a/datapath-windows/ovsext/OvsPacketParser.c
>+++ b/datapath-windows/ovsext/OpenFlow/PacketParser.c
>@@ -14,7 +14,7 @@
>  * limitations under the License.
>  */
>
>-#include "OvsPacketParser.h"
>+#include "PacketParser.h"
>
> //XXX consider moving to NdisGetDataBuffer.
> const VOID *
>diff --git a/datapath-windows/ovsext/OvsPacketParser.h
>b/datapath-windows/ovsext/OpenFlow/PacketParser.h
>similarity index 99%
>rename from datapath-windows/ovsext/OvsPacketParser.h
>rename to datapath-windows/ovsext/OpenFlow/PacketParser.h
>index ab3c613..9386982 100644
>--- a/datapath-windows/ovsext/OvsPacketParser.h
>+++ b/datapath-windows/ovsext/OpenFlow/PacketParser.h
>@@ -18,7 +18,7 @@
> #define __OVS_PACKET_PARSER_H_ 1
>
> #include "precomp.h"
>-#include "OvsNetProto.h"
>+#include "Protocol\NetProto.h"
>
> const VOID* OvsGetPacketBytes(const NET_BUFFER_LIST *_pNB, UINT32 len,
>                               UINT32 SrcOffset, VOID *storage);
>diff --git a/datapath-windows/include/OvsPub.h
>b/datapath-windows/ovsext/OpenFlow/Pub.h
>similarity index 99%
>rename from datapath-windows/include/OvsPub.h
>rename to datapath-windows/ovsext/OpenFlow/Pub.h
>index 1282996..b6d4d3e 100644
>--- a/datapath-windows/include/OvsPub.h
>+++ b/datapath-windows/ovsext/OpenFlow/Pub.h
>@@ -22,7 +22,7 @@
>       typedef char AssertOnCompileFailed[(EXPR) ? 1: -1]
> #define BUILD_ASSERT_DECL(EXPR) BUILD_ASSERT(EXPR)
>
>-#include "OvsNetlink.h"
>+#include "Winetlink\Netlink.h"
>
> #define OVS_DRIVER_MAJOR_VER 1
> #define OVS_DRIVER_MINOR_VER 0
>@@ -365,6 +365,12 @@ typedef struct OvsFlowStats {
>     uint8_t tcpFlags;
> } OvsFlowStats;
>
>+struct nlattr
>+{
>+    UINT16 len;
>+    UINT16 type;
>+};
>+
> typedef struct OvsFlowInfo {
>     OvsFlowKey key;
>     struct OvsFlowStats stats;
>diff --git a/datapath-windows/ovsext/OvsVport.c
>b/datapath-windows/ovsext/OpenFlow/Vport.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsVport.c
>rename to datapath-windows/ovsext/OpenFlow/Vport.c
>index 35bdaea..033ad39 100644
>--- a/datapath-windows/ovsext/OvsVport.c
>+++ b/datapath-windows/ovsext/OpenFlow/Vport.c
>@@ -15,21 +15,23 @@
>  */
>
> #include "precomp.h"
>-#include "OvsIoctl.h"
>-#include "OvsJhash.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsVxlan.h"
>-#include "OvsIpHelper.h"
>-#include "OvsOid.h"
>+
>+#include "Core\IpHelper.h"
>+#include "Core\Jhash.h"
>+#include "OpenFlow\Vport.h"
>+#include "Transfer\Vxlan.h"
>+#include "Hyper-V\Oid.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>+
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_VPORT
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> #define VPORT_NIC_ENTER(_nic) \
>     OVS_LOG_TRACE("Enter: PortId: %x, NicIndex: %d", _nic->PortId, \
>diff --git a/datapath-windows/ovsext/OvsVport.h
>b/datapath-windows/ovsext/OpenFlow/Vport.h
>similarity index 99%
>rename from datapath-windows/ovsext/OvsVport.h
>rename to datapath-windows/ovsext/OpenFlow/Vport.h
>index 8fe23f1..083ef66 100644
>--- a/datapath-windows/ovsext/OvsVport.h
>+++ b/datapath-windows/ovsext/OpenFlow/Vport.h
>@@ -17,7 +17,7 @@
> #ifndef __OVS_VPORT_H_
> #define __OVS_VPORT_H_ 1
>
>-#include "OvsSwitch.h"
>+#include "Hyper-V\Switch.h"
>
> /*
>  * A Vport, or Virtual Port, is a port on the OVS. It can be one of the
>diff --git a/datapath-windows/ovsext/OvsChecksum.c
>b/datapath-windows/ovsext/Protocol/Checksum.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsChecksum.c
>rename to datapath-windows/ovsext/Protocol/Checksum.c
>index e192373..38bb43d 100644
>--- a/datapath-windows/ovsext/OvsChecksum.c
>+++ b/datapath-windows/ovsext/Protocol/Checksum.c
>@@ -15,15 +15,15 @@
>  */
>
> #include "precomp.h"
>-#include "OvsChecksum.h"
>-#include "OvsFlow.h"
>+#include "Checksum.h"
>+#include "OpenFlow\Flow.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_CHECKSUM
>-#include "OvsDebug.h"
>-#include "OvsPacketParser.h"
>+#include "Core\Debug.h"
>+#include "OpenFlow\PacketParser.h"
>
> #ifndef htons
> #define htons(_x) (((UINT16)(_x) >> 8) + (((UINT16)(_x) << 8) & 0xff00))
>diff --git a/datapath-windows/ovsext/OvsChecksum.h
>b/datapath-windows/ovsext/Protocol/Checksum.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsChecksum.h
>rename to datapath-windows/ovsext/Protocol/Checksum.h
>diff --git a/datapath-windows/ovsext/OvsEth.h
>b/datapath-windows/ovsext/Protocol/Ethernet.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsEth.h
>rename to datapath-windows/ovsext/Protocol/Ethernet.h
>diff --git a/datapath-windows/ovsext/OvsNetProto.h
>b/datapath-windows/ovsext/Protocol/NetProto.h
>similarity index 99%
>rename from datapath-windows/ovsext/OvsNetProto.h
>rename to datapath-windows/ovsext/Protocol/NetProto.h
>index 5e98206..a6194a3 100644
>--- a/datapath-windows/ovsext/OvsNetProto.h
>+++ b/datapath-windows/ovsext/Protocol/NetProto.h
>@@ -18,7 +18,7 @@
> #define __OVS_NET_PROTO_H_ 1
>
> #include "precomp.h"
>-#include "OvsEth.h"
>+#include "Protocol\Ethernet.h"
>
> #define ETH_ADDR_LENGTH    6
> /*
>diff --git a/datapath-windows/ovsext/OvsBufferMgmt.c
>b/datapath-windows/ovsext/Transfer/BufferMgmt.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsBufferMgmt.c
>rename to datapath-windows/ovsext/Transfer/BufferMgmt.c
>index 8aa8060..2c81c8d 100644
>--- a/datapath-windows/ovsext/OvsBufferMgmt.c
>+++ b/datapath-windows/ovsext/Transfer/BufferMgmt.c
>@@ -77,17 +77,17 @@
>  */
>
> #include "precomp.h"
>-#include "OvsSwitch.h"
>+#include "Hyper-V\Switch.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_BUFMGMT
>-#include "OvsDebug.h"
>-#include "OvsNetProto.h"
>-#include "OvsFlow.h"
>-#include "OvsChecksum.h"
>-#include "OvsPacketParser.h"
>+#include "Core\Debug.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\PacketParser.h"
>+#include "Protocol\Checksum.h"
>+#include "Protocol\NetProto.h"
>
> /*
>  * 
>--------------------------------------------------------------------------
>diff --git a/datapath-windows/ovsext/OvsBufferMgmt.h
>b/datapath-windows/ovsext/Transfer/BufferMgmt.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsBufferMgmt.h
>rename to datapath-windows/ovsext/Transfer/BufferMgmt.h
>diff --git a/datapath-windows/ovsext/OvsPacketIO.c
>b/datapath-windows/ovsext/Transfer/PacketIO.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsPacketIO.c
>rename to datapath-windows/ovsext/Transfer/PacketIO.c
>index 39e5703..6e3ec27 100644
>--- a/datapath-windows/ovsext/OvsPacketIO.c
>+++ b/datapath-windows/ovsext/Transfer/PacketIO.c
>@@ -20,15 +20,15 @@
>  */
>
> #include "precomp.h"
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsNetProto.h"
>-#include "OvsUser.h"
>-#include "OvsPacketIO.h"
>-#include "OvsFlow.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>+
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\Vport.h"
>+#include "Protocol\NetProto.h"
>+#include "Transfer\PacketIO.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>
> /* Due to an imported header file */
> #pragma warning( disable:4505 )
>@@ -37,7 +37,7 @@
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_DISPATCH
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> extern NDIS_STRING ovsExtGuidUC;
> extern NDIS_STRING ovsExtFriendlyNameUC;
>diff --git a/datapath-windows/ovsext/OvsPacketIO.h
>b/datapath-windows/ovsext/Transfer/PacketIO.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsPacketIO.h
>rename to datapath-windows/ovsext/Transfer/PacketIO.h
>diff --git a/datapath-windows/ovsext/OvsTunnel.c
>b/datapath-windows/ovsext/Transfer/Tunnel.c
>similarity index 97%
>rename from datapath-windows/ovsext/OvsTunnel.c
>rename to datapath-windows/ovsext/Transfer/Tunnel.c
>index b5a369a..5b22c58 100644
>--- a/datapath-windows/ovsext/OvsTunnel.c
>+++ b/datapath-windows/ovsext/Transfer/Tunnel.c
>@@ -30,16 +30,17 @@
> #pragma warning( disable:4127 )
>
> #include <fwpmk.h>
>-#include "OvsTunnel.h"
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsVxlan.h"
>-#include "OvsPacketIO.h"
>-#include "OvsNetProto.h"
>-#include "OvsFlow.h"
>+#include "Tunnel.h"
>+
>+#include "OpenFlow\Vport.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>+#include "Transfer\PacketIO.h"
>+#include "Transfer\Vxlan.h"
>+#include "Protocol\NetProto.h"
>+#include "OpenFlow\Flow.h"
>
> extern POVS_SWITCH_CONTEXT gOvsSwitchContext;
>
>diff --git a/datapath-windows/ovsext/OvsTunnel.h
>b/datapath-windows/ovsext/Transfer/Tunnel.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsTunnel.h
>rename to datapath-windows/ovsext/Transfer/Tunnel.h
>diff --git a/datapath-windows/ovsext/OvsTunnelFilter.c
>b/datapath-windows/ovsext/Transfer/TunnelFilter.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsTunnelFilter.c
>rename to datapath-windows/ovsext/Transfer/TunnelFilter.c
>index a1de007..51aa43b 100644
>--- a/datapath-windows/ovsext/OvsTunnelFilter.c
>+++ b/datapath-windows/ovsext/Transfer/TunnelFilter.c
>@@ -29,12 +29,12 @@
> #include <in6addr.h>
> #include <ip2string.h>
>
>-#include "OvsTunnel.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsVxlan.h"
>+#include "OpenFlow\Vport.h"
>+#include "Hyper-V\Switch.h"
>+#include "Transfer\Tunnel.h"
>+#include "Transfer\Vxlan.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\User.h"
>
>
> #define INITGUID
>diff --git a/datapath-windows/ovsext/OvsTunnelIntf.h
>b/datapath-windows/ovsext/Transfer/TunnelIntf.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsTunnelIntf.h
>rename to datapath-windows/ovsext/Transfer/TunnelIntf.h
>diff --git a/datapath-windows/ovsext/OvsVxlan.c
>b/datapath-windows/ovsext/Transfer/Vxlan.c
>similarity index 97%
>rename from datapath-windows/ovsext/OvsVxlan.c
>rename to datapath-windows/ovsext/Transfer/Vxlan.c
>index 63909ae..5ad77f4 100644
>--- a/datapath-windows/ovsext/OvsVxlan.c
>+++ b/datapath-windows/ovsext/Transfer/Vxlan.c
>@@ -15,19 +15,19 @@
>  */
>
> #include "precomp.h"
>-#include "OvsNetProto.h"
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsFlow.h"
>-#include "OvsVxlan.h"
>-#include "OvsIpHelper.h"
>-#include "OvsChecksum.h"
>-#include "OvsUser.h"
>-#include "OvsPacketIO.h"
>-#include "OvsFlow.h"
>-#include "OvsPacketParser.h"
>-#include "OvsChecksum.h"
>+
>+#include "Core\IpHelper.h"
>+#include "Hyper-V\Switch.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\PacketParser.h"
>+#include "OpenFlow\Vport.h"
>+#include "Transfer\PacketIO.h"
>+#include "Transfer\Vxlan.h"
>+#include "Protocol\Checksum.h"
>+#include "Protocol\NetProto.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>+
>
> #pragma warning( push )
> #pragma warning( disable:4127 )
>@@ -37,7 +37,7 @@
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_VXLAN
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> /* Helper macro to check if a VXLAN ID is valid. */
> #define VXLAN_ID_IS_VALID(vxlanID) (0 < (vxlanID) && (vxlanID) <=
>0xffffff)
>diff --git a/datapath-windows/ovsext/OvsVxlan.h
>b/datapath-windows/ovsext/Transfer/Vxlan.h
>similarity index 98%
>rename from datapath-windows/ovsext/OvsVxlan.h
>rename to datapath-windows/ovsext/Transfer/Vxlan.h
>index 55cfc82..1b129a0 100644
>--- a/datapath-windows/ovsext/OvsVxlan.h
>+++ b/datapath-windows/ovsext/Transfer/Vxlan.h
>@@ -17,7 +17,7 @@
> #ifndef __OVS_VXLAN_H_
> #define __OVS_VXLAN_H_ 1
>
>-#include "OvsNetProto.h"
>+#include "Protocol\NetProto.h"
> typedef struct _OVS_VXLAN_VPORT {
>     UINT32 dstPort;
>     UINT64 inPkts;
>diff --git a/datapath-windows/ovsext/OvsEvent.c
>b/datapath-windows/ovsext/Winetlink/Event.c
>similarity index 99%
>rename from datapath-windows/ovsext/OvsEvent.c
>rename to datapath-windows/ovsext/Winetlink/Event.c
>index a75b2bd..14e8c24 100644
>--- a/datapath-windows/ovsext/OvsEvent.c
>+++ b/datapath-windows/ovsext/Winetlink/Event.c
>@@ -16,16 +16,16 @@
>
> #include "precomp.h"
>
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>+#include "OpenFlow\Vport.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_EVENT
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> LIST_ENTRY ovsEventQueue;
> UINT32 ovsNumEventQueue;
>diff --git a/datapath-windows/ovsext/OvsEvent.h
>b/datapath-windows/ovsext/Winetlink/Event.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsEvent.h
>rename to datapath-windows/ovsext/Winetlink/Event.h
>diff --git a/datapath-windows/ovsext/OvsIoctl.c
>b/datapath-windows/ovsext/Winetlink/Ioctl.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsIoctl.c
>rename to datapath-windows/ovsext/Winetlink/Ioctl.c
>index 893cbf7..cdde14b 100644
>--- a/datapath-windows/ovsext/OvsIoctl.c
>+++ b/datapath-windows/ovsext/Winetlink/Ioctl.c
>@@ -15,22 +15,22 @@
>  */
>
> #include "precomp.h"
>-#include "OvsIoctl.h"
>-#include "OvsJhash.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsPacketIO.h"
>-#include "OvsNetProto.h"
>-#include "OvsFlow.h"
>-#include "OvsUser.h"
>+
>+#include "Core\Jhash.h"
>+#include "OpenFlow\Flow.h"
>+#include "OpenFlow\Vport.h"
>+#include "Protocol\NetProto.h"
>+#include "Transfer\PacketIO.h"
>+#include "Hyper-V\Switch.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_IOCTL
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> /* Handles to the device object for communication with userspace. */
> NDIS_HANDLE gOvsDeviceHandle;
>diff --git a/datapath-windows/ovsext/OvsIoctl.h
>b/datapath-windows/ovsext/Winetlink/Ioctl.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsIoctl.h
>rename to datapath-windows/ovsext/Winetlink/Ioctl.h
>diff --git a/datapath-windows/include/OvsNetlink.h
>b/datapath-windows/ovsext/Winetlink/Netlink.h
>similarity index 100%
>rename from datapath-windows/include/OvsNetlink.h
>rename to datapath-windows/ovsext/Winetlink/Netlink.h
>diff --git a/datapath-windows/ovsext/OvsUser.c
>b/datapath-windows/ovsext/Winetlink/User.c
>similarity index 98%
>rename from datapath-windows/ovsext/OvsUser.c
>rename to datapath-windows/ovsext/Winetlink/User.c
>index 8271d52..2fe1acc8 100644
>--- a/datapath-windows/ovsext/OvsUser.c
>+++ b/datapath-windows/ovsext/Winetlink/User.c
>@@ -22,22 +22,23 @@
>
> #include "precomp.h"
>
>-#include "OvsIoctl.h"
>-#include "OvsSwitch.h"
>-#include "OvsVport.h"
>-#include "OvsEvent.h"
>-#include "OvsUser.h"
>-#include "OvsPacketIO.h"
>-#include "OvsChecksum.h"
>-#include "OvsNetProto.h"
>-#include "OvsFlow.h"
>-#include "OvsTunnelIntf.h"
>+#include "Hyper-V\Switch.h"
>+#include "OpenFlow\Vport.h"
>+#include "OpenFlow\Flow.h"
>+#include "Protocol\Checksum.h"
>+#include "Protocol\NetProto.h"
>+#include "Transfer\PacketIO.h"
>+#include "Transfer\TunnelIntf.h"
>+#include "Winetlink\Event.h"
>+#include "Winetlink\Ioctl.h"
>+#include "Winetlink\User.h"
>+
>
> #ifdef OVS_DBG_MOD
> #undef OVS_DBG_MOD
> #endif
> #define OVS_DBG_MOD OVS_DBG_USER
>-#include "OvsDebug.h"
>+#include "Core\Debug.h"
>
> OVS_USER_PACKET_QUEUE ovsPacketQueues[OVS_MAX_NUM_PACKET_QUEUES];
>
>diff --git a/datapath-windows/ovsext/OvsUser.h 
>b/datapath-windows/ovsext/Winetlink/User.h
>similarity index 100%
>rename from datapath-windows/ovsext/OvsUser.h
>rename to datapath-windows/ovsext/Winetlink/User.h
>diff --git a/datapath-windows/ovsext/ovsext.vcxproj 
>b/datapath-windows/ovsext/ovsext.vcxproj
>index 9728f20..bf793f0 100644
>--- a/datapath-windows/ovsext/ovsext.vcxproj
>+++ b/datapath-windows/ovsext/ovsext.vcxproj
>@@ -70,28 +70,32 @@
>     <Import 
>Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
>Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 
>/>
>   </ImportGroup>
>   <ItemGroup Label="WrappedTaskItems">
>-    <ClInclude Include="OvsAtomic.h" />
>-    <ClInclude Include="OvsBufferMgmt.h" />
>-    <ClInclude Include="OvsChecksum.h" />
>-    <ClInclude Include="OvsDebug.h" />
>-    <ClInclude Include="OvsEth.h" />
>-    <ClInclude Include="OvsEvent.h" />
>-    <ClInclude Include="OvsFlow.h" />
>-    <ClInclude Include="OvsIoctl.h" />
>-    <ClInclude Include="OvsIpHelper.h" />
>-    <ClInclude Include="OvsJhash.h" />
>-    <ClInclude Include="OvsNetProto.h" />
>-    <ClInclude Include="OvsOid.h" />
>-    <ClInclude Include="OvsPacketParser.h" />
>-    <ClInclude Include="OvsSwitch.h" />
>-    <ClInclude Include="OvsTunnel.h" />
>-    <ClInclude Include="OvsTunnelIntf.h" />
>-    <ClInclude Include="OvsTypes.h" />
>-    <ClInclude Include="OvsUser.h" />
>-    <ClInclude Include="OvsUtil.h" />
>-    <ClInclude Include="OvsVport.h" />
>-    <ClInclude Include="OvsVxlan.h" />
>+    <ClInclude 
>Include="..\..\datapath\linux\compat\include\linux\openvswitch.h" />
>+    <ClInclude Include="Core\Atomic.h" />
>+    <ClInclude Include="Core\Debug.h" />
>+    <ClInclude Include="Core\IpHelper.h" />
>+    <ClInclude Include="Core\Jhash.h" />
>+    <ClInclude Include="Core\Types.h" />
>+    <ClInclude Include="Core\Util.h" />
>+    <ClInclude Include="Hyper-V\Oid.h" />
>+    <ClInclude Include="Hyper-V\Switch.h" />
>+    <ClInclude Include="OpenFlow\Flow.h" />
>+    <ClInclude Include="OpenFlow\PacketParser.h" />
>+    <ClInclude Include="OpenFlow\Pub.h" />
>+    <ClInclude Include="OpenFlow\Vport.h" />
>     <ClInclude Include="precomp.h" />
>+    <ClInclude Include="Protocol\Checksum.h" />
>+    <ClInclude Include="Protocol\Ethernet.h" />
>+    <ClInclude Include="Protocol\NetProto.h" />
>+    <ClInclude Include="Transfer\BufferMgmt.h" />
>+    <ClInclude Include="Transfer\PacketIO.h" />
>+    <ClInclude Include="Transfer\Tunnel.h" />
>+    <ClInclude Include="Transfer\TunnelIntf.h" />
>+    <ClInclude Include="Transfer\Vxlan.h" />
>+    <ClInclude Include="Winetlink\Event.h" />
>+    <ClInclude Include="Winetlink\Ioctl.h" />
>+    <ClInclude Include="Winetlink\Netlink.h" />
>+    <ClInclude Include="Winetlink\User.h" />
>   </ItemGroup>
>   <PropertyGroup>
>     <TargetName>OVSExt</TargetName>
>@@ -117,38 +121,38 @@
>       <ExceptionHandling>
>       </ExceptionHandling>
>       <AdditionalIncludeDirectories 
>Condition="'$(Configuration)|$(Platform)'=='Win8 
>Debug|x64'">$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalInc
>ludeDirectories>
>-      <AdditionalIncludeDirectories 
>Condition="'$(Configuration)|$(Platform)'=='Win8.1 
>Debug|x64'">$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalInc
>ludeDirectories>
>+      <AdditionalIncludeDirectories 
>Condition="'$(Configuration)|$(Platform)'=='Win8.1 
>Debug|x64'">..\..\datapath\linux\compat\include\linux;$(IntDir);%(Addition
>alIncludeDirectories);..\..</AdditionalIncludeDirectories>
>       <AdditionalIncludeDirectories 
>Condition="'$(Configuration)|$(Platform)'=='Win8 
>Release|x64'">$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalI
>ncludeDirectories>
>       <AdditionalIncludeDirectories 
>Condition="'$(Configuration)|$(Platform)'=='Win8.1 
>Release|x64'">$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalI
>ncludeDirectories>
>     </ClCompile>
>   </ItemDefinitionGroup>
>   <ItemGroup>
>-    <ClCompile Include="OvsDriver.c" />
>-    <ClCompile Include="OvsJhash.c" />
>-    <ClCompile Include="OvsOid.c" />
>-    <ClCompile Include="OvsPacketIO.c" />
>-    <ClCompile Include="OvsPacketParser.c" />
>-    <ClCompile Include="OvsBufferMgmt.c" />
>-    <ClCompile Include="OvsChecksum.c" />
>-    <ClCompile Include="OvsIpHelper.c" />
>-    <ClCompile Include="OvsTunnel.c" />
>-    <ClCompile Include="OvsTunnelFilter.c" />
>-    <ClCompile Include="OvsVxlan.c" />
>-    <ClCompile Include="OvsActions.c" />
>-    <ClCompile Include="OvsDebug.c" />
>-    <ClCompile Include="OvsEvent.c" />
>-    <ClCompile Include="OvsFlow.c" />
>-    <ClCompile Include="OvsUser.c" />
>-    <ClCompile Include="OvsIoctl.c" />
>-    <ClCompile Include="OvsSwitch.c" />
>-    <ClCompile Include="OvsUtil.c" />
>-    <ClCompile Include="OvsVport.c" />
>+    <ClCompile Include="Core\Debug.c" />
>+    <ClCompile Include="Core\Driver.c" />
>+    <ClCompile Include="Core\IpHelper.c" />
>+    <ClCompile Include="Core\Jhash.c" />
>+    <ClCompile Include="Core\Util.c" />
>+    <ClCompile Include="Hyper-V\Oid.c" />
>+    <ClCompile Include="Hyper-V\Switch.c" />
>+    <ClCompile Include="OpenFlow\Actions.c" />
>+    <ClCompile Include="OpenFlow\Flow.c" />
>+    <ClCompile Include="OpenFlow\PacketParser.c" />
>+    <ClCompile Include="OpenFlow\Vport.c" />
>     <ClCompile Include="precompsrc.c">
>       
><AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</Additional
>IncludeDirectories>
>       <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
>       <PreCompiledHeader>Create</PreCompiledHeader>
>       
><PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOut
>putFile>
>     </ClCompile>
>+    <ClCompile Include="Protocol\Checksum.c" />
>+    <ClCompile Include="Transfer\BufferMgmt.c" />
>+    <ClCompile Include="Transfer\PacketIO.c" />
>+    <ClCompile Include="Transfer\Tunnel.c" />
>+    <ClCompile Include="Transfer\TunnelFilter.c" />
>+    <ClCompile Include="Transfer\Vxlan.c" />
>+    <ClCompile Include="Winetlink\Event.c" />
>+    <ClCompile Include="Winetlink\Ioctl.c" />
>+    <ClCompile Include="Winetlink\User.c" />
>     <ResourceCompile Include="ovsext.rc" />
>   </ItemGroup>
>   <ItemGroup>
>diff --git a/datapath-windows/ovsext/ovsext.vcxproj.filters 
>b/datapath-windows/ovsext/ovsext.vcxproj.filters
>new file mode 100644
>index 0000000..6b77d8f
>--- /dev/null
>+++ b/datapath-windows/ovsext/ovsext.vcxproj.filters
>@@ -0,0 +1,168 @@
>+?<?xml version="1.0" encoding="utf-8"?>
>+<Project ToolsVersion="12.0" 
>xmlns="https://urldefense.proofpoint.com/v1/url?u=http://schemas.microsoft
>.com/developer/msbuild/2003&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=pEkjsHfy
>tvHEWufeZPpgqSOJMdMjuZPbesVsNhCUc0E%3D%0A&m=tjHCIZfpGZVngVDXAlJEd%2BNEzIij
>0G44IeXIInv7ZoU%3D%0A&s=fc0a02e3b0daeb96c345d30a53725c9c6209a79a0656133468
>145395bc3e4a09">
>+  <ItemGroup>
>+    <ClInclude 
>Include="..\..\datapath\linux\compat\include\linux\openvswitch.h" />
>+    <ClInclude Include="Core\Atomic.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Core\Debug.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Core\IpHelper.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Core\Jhash.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Core\Types.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Core\Util.h">
>+      <Filter>Core</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Hyper-V\Oid.h">
>+      <Filter>Hyper-V</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Hyper-V\Switch.h">
>+      <Filter>Hyper-V</Filter>
>+    </ClInclude>
>+    <ClInclude Include="OpenFlow\Flow.h">
>+      <Filter>OpenFlow</Filter>
>+    </ClInclude>
>+    <ClInclude Include="OpenFlow\PacketParser.h">
>+      <Filter>OpenFlow</Filter>
>+    </ClInclude>
>+    <ClInclude Include="OpenFlow\Pub.h">
>+      <Filter>OpenFlow</Filter>
>+    </ClInclude>
>+    <ClInclude Include="OpenFlow\Vport.h">
>+      <Filter>OpenFlow</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Protocol\Checksum.h">
>+      <Filter>Protocol</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Protocol\Ethernet.h">
>+      <Filter>Protocol</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Protocol\NetProto.h">
>+      <Filter>Protocol</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Transfer\BufferMgmt.h">
>+      <Filter>Transfer</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Transfer\PacketIO.h">
>+      <Filter>Transfer</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Transfer\Tunnel.h">
>+      <Filter>Transfer</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Transfer\TunnelIntf.h">
>+      <Filter>Transfer</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Transfer\Vxlan.h">
>+      <Filter>Transfer</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Winetlink\Event.h">
>+      <Filter>Winetlink</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Winetlink\Ioctl.h">
>+      <Filter>Winetlink</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Winetlink\Netlink.h">
>+      <Filter>Winetlink</Filter>
>+    </ClInclude>
>+    <ClInclude Include="Winetlink\User.h">
>+      <Filter>Winetlink</Filter>
>+    </ClInclude>
>+    <ClInclude Include="precomp.h" />
>+  </ItemGroup>
>+  <ItemGroup>
>+    <ResourceCompile Include="ovsext.rc" />
>+  </ItemGroup>
>+  <ItemGroup>
>+    <Inf Include="*.inf" />
>+  </ItemGroup>
>+  <ItemGroup>
>+    <Filter Include="Core">
>+      
><UniqueIdentifier>{3f79f9e1-c9ad-4338-991f-6bc756cc6b74}</UniqueIdentifier
>>
>+    </Filter>
>+    <Filter Include="Hyper-V">
>+      
><UniqueIdentifier>{cb3503d3-fc14-4aca-b0f5-21c7276ba801}</UniqueIdentifier
>>
>+    </Filter>
>+    <Filter Include="OpenFlow">
>+      
><UniqueIdentifier>{ffb6f3f0-2aab-4dd4-8798-4dfaf72b4b7a}</UniqueIdentifier
>>
>+    </Filter>
>+    <Filter Include="Protocol">
>+      
><UniqueIdentifier>{11144dea-d066-4e12-bb4e-d2de256159a1}</UniqueIdentifier
>>
>+    </Filter>
>+    <Filter Include="Transfer">
>+      
><UniqueIdentifier>{3be331c9-dd74-4fde-9270-66b19b00f04f}</UniqueIdentifier
>>
>+    </Filter>
>+    <Filter Include="Winetlink">
>+      
><UniqueIdentifier>{1e534fdc-ef52-46c6-bd09-a3e8c692d272}</UniqueIdentifier
>>
>+    </Filter>
>+  </ItemGroup>
>+  <ItemGroup>
>+    <ClCompile Include="Core\Debug.c">
>+      <Filter>Core</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Core\Driver.c">
>+      <Filter>Core</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Core\IpHelper.c">
>+      <Filter>Core</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Core\Jhash.c">
>+      <Filter>Core</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Core\Util.c">
>+      <Filter>Core</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Hyper-V\Oid.c">
>+      <Filter>Hyper-V</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Hyper-V\Switch.c">
>+      <Filter>Hyper-V</Filter>
>+    </ClCompile>
>+    <ClCompile Include="OpenFlow\Actions.c">
>+      <Filter>OpenFlow</Filter>
>+    </ClCompile>
>+    <ClCompile Include="OpenFlow\Flow.c">
>+      <Filter>OpenFlow</Filter>
>+    </ClCompile>
>+    <ClCompile Include="OpenFlow\PacketParser.c">
>+      <Filter>OpenFlow</Filter>
>+    </ClCompile>
>+    <ClCompile Include="OpenFlow\Vport.c">
>+      <Filter>OpenFlow</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Protocol\Checksum.c">
>+      <Filter>Protocol</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Transfer\BufferMgmt.c">
>+      <Filter>Transfer</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Transfer\PacketIO.c">
>+      <Filter>Transfer</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Transfer\Tunnel.c">
>+      <Filter>Transfer</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Transfer\TunnelFilter.c">
>+      <Filter>Transfer</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Transfer\Vxlan.c">
>+      <Filter>Transfer</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Winetlink\Event.c">
>+      <Filter>Winetlink</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Winetlink\Ioctl.c">
>+      <Filter>Winetlink</Filter>
>+    </ClCompile>
>+    <ClCompile Include="Winetlink\User.c">
>+      <Filter>Winetlink</Filter>
>+    </ClCompile>
>+    <ClCompile Include="precompsrc.c" />
>+  </ItemGroup>
>+</Project>
>\ No newline at end of file
>diff --git a/datapath-windows/ovsext/precomp.h 
>b/datapath-windows/ovsext/precomp.h
>index 45e72de..26a8f97 100644
>--- a/datapath-windows/ovsext/precomp.h
>+++ b/datapath-windows/ovsext/precomp.h
>@@ -21,11 +21,12 @@
> #include <ntstrsafe.h>
> #include <Strsafe.h>
>
>-#include "OvsTypes.h"
>-#include "..\include\OvsPub.h"
>-#include "OvsUtil.h"
>+#include "Core/Types.h"
>+#include "Core/Util.h"
>+#include "OpenFlow/Pub.h"
> /*
>  * Include openvswitch.h from userspace. Changing the location the file 
>from
>  * include/linux is pending discussion.
>  */
>-#include "include\linux\openvswitch.h"
>+
>+#include "openvswitch.h"
>diff --git a/datapath/linux/compat/include/linux/openvswitch.h 
>b/datapath/linux/compat/include/linux/openvswitch.h
>index 271a14e..309680f 100644
>--- a/datapath/linux/compat/include/linux/openvswitch.h
>+++ b/datapath/linux/compat/include/linux/openvswitch.h
>@@ -40,8 +40,10 @@
> #ifndef _LINUX_OPENVSWITCH_H
> #define _LINUX_OPENVSWITCH_H 1
>
>+#ifndef _WIN32
> #include <linux/types.h>
> #include <linux/if_ether.h>
>+#endif
>
> /**
>  * struct ovs_header - header for OVS Generic Netlink messages.
>--
>1.8.3.msysgit.0
>
>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/
>listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=pEkjsHfytvHEWufeZPpgqSO
>JMdMjuZPbesVsNhCUc0E%3D%0A&m=tjHCIZfpGZVngVDXAlJEd%2BNEzIij0G44IeXIInv7ZoU
>%3D%0A&s=944cdfc038fbf2fb93cab61c9067eec1e2555a040255ed4239d3162753542591




More information about the dev mailing list