diff mbox series

[ovs-dev] datapath-windows: Fix build and deprecate 2012 and 2012 R2

Message ID 20250315231202.184-1-aserdean@ovn.org
State Changes Requested
Headers show
Series [ovs-dev] datapath-windows: Fix build and deprecate 2012 and 2012 R2 | expand

Checks

Context Check Description
ovsrobot/apply-robot warning apply and check: warning
ovsrobot/cirrus-robot success cirrus build: passed
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

Alin Gabriel Serdean March 15, 2025, 11:11 p.m. UTC
This patch drops support for Microsoft 8 and 8.1 family (2012 and 2012R2).

This patch also fixes compilation on the lastest WDK and uplifts
the solution to VStudio 2022.

Co-authored-by: Frank Wagner <frank.wagner@dbosoft.eu>
Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
---
 Documentation/intro/install/windows.rst       |   8 +-
 Makefile.am                                   |  12 -
 datapath-windows/Package/package.VcxProj      | 234 -----------
 datapath-windows/Package/package.VcxProj.user |  30 --
 datapath-windows/automake.mk                  |   4 -
 datapath-windows/ovsext.sln                   |  71 +---
 datapath-windows/ovsext/Util.c                |  22 +-
 datapath-windows/ovsext/ovsext.inf            |   1 +
 datapath-windows/ovsext/ovsext.vcxproj        | 381 ++++--------------
 datapath-windows/ovsext/ovsext.vcxproj.user   |  24 +-
 m4/openvswitch.m4                             |   8 +-
 windows/automake.mk                           |  14 +-
 .../ovs-windows-installer/Driver/.gitignore   |   2 -
 windows/ovs-windows-installer/Product.wxs     |  30 --
 14 files changed, 104 insertions(+), 737 deletions(-)
 delete mode 100644 datapath-windows/Package/package.VcxProj
 delete mode 100644 datapath-windows/Package/package.VcxProj.user

Comments

Ilya Maximets March 18, 2025, 8:44 p.m. UTC | #1
On 3/16/25 00:11, Alin Gabriel Serdean wrote:
> This patch drops support for Microsoft 8 and 8.1 family (2012 and 2012R2).
> 
> This patch also fixes compilation on the lastest WDK and uplifts
> the solution to VStudio 2022.
> 
> Co-authored-by: Frank Wagner <frank.wagner@dbosoft.eu>
> Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
> ---
>  Documentation/intro/install/windows.rst       |   8 +-
>  Makefile.am                                   |  12 -
>  datapath-windows/Package/package.VcxProj      | 234 -----------
>  datapath-windows/Package/package.VcxProj.user |  30 --
>  datapath-windows/automake.mk                  |   4 -
>  datapath-windows/ovsext.sln                   |  71 +---
>  datapath-windows/ovsext/Util.c                |  22 +-
>  datapath-windows/ovsext/ovsext.inf            |   1 +
>  datapath-windows/ovsext/ovsext.vcxproj        | 381 ++++--------------
>  datapath-windows/ovsext/ovsext.vcxproj.user   |  24 +-
>  m4/openvswitch.m4                             |   8 +-
>  windows/automake.mk                           |  14 +-
>  .../ovs-windows-installer/Driver/.gitignore   |   2 -
>  windows/ovs-windows-installer/Product.wxs     |  30 --
>  14 files changed, 104 insertions(+), 737 deletions(-)
>  delete mode 100644 datapath-windows/Package/package.VcxProj
>  delete mode 100644 datapath-windows/Package/package.VcxProj.user

Hi, Alin.  Beside the authorship and the Sign-off issues reported by
the robot, I tried this change in appveyor and it failed with:

cp : Cannot find path 'C:\openvswitch_compile\datapath-windows\x64\Win10Debug\package' because it does not exist.

Do we need some update for the appveyor build to make it work?

And the commit message says that VS2022 should work now, should we
update appveyor to use that image instead of 2019?  Is it a requirement
now to use a new version?

Also, we probably need a NEWS entry saying that Win8* targets are
no longer supported.

Best regards, Ilya Maximets.
diff mbox series

Patch

diff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst
index 2ca3a4e26..40fecc792 100644
--- a/Documentation/intro/install/windows.rst
+++ b/Documentation/intro/install/windows.rst
@@ -200,7 +200,7 @@  Finally, to the kernel module also:
 
 Possible values for ``<target type>`` are: ``Debug`` and ``Release``
 Possible values for ``<target versions>`` is a comma separated list
-of target versions to compile among: ``Win8,Win8.1,Win10``
+of target versions to compile among: ``Win10``
 
 .. note::
 
@@ -267,9 +267,9 @@  The Kernel Module
 If you are building the kernel module, you will need to copy the below files to
 the target Hyper-V machine.
 
-- ``./datapath-windows/x64/Win8.1Debug/package/ovsext.inf``
-- ``./datapath-windows/x64/Win8.1Debug/package/OVSExt.sys``
-- ``./datapath-windows/x64/Win8.1Debug/package/ovsext.cat``
+- ``./datapath-windows/x64/Win10Debug/ovsext/ovsext.inf``
+- ``./datapath-windows/x64/Win10Debug/ovsext/ovsext.sys``
+- ``./datapath-windows/x64/Win10Debug/ovsext/ovsext.cat``
 - ``./datapath-windows/misc/install.cmd``
 - ``./datapath-windows/misc/uninstall.cmd``
 
diff --git a/Makefile.am b/Makefile.am
index a61a1cadf..c266aaf6f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -433,12 +433,6 @@  if VSTUDIO_DDK
 ALL_LOCAL += ovsext
 ARCH = x64
 ovsext: datapath-windows/ovsext.sln $(srcdir)/datapath-windows/include/OvsDpInterface.h
-if VSTUDIO_WIN8
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
-endif
-if VSTUDIO_WIN8_1
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
-endif
 if VSTUDIO_WIN10
 	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
 endif
@@ -446,12 +440,6 @@  endif
 
 CLEAN_LOCAL += ovsext_clean
 ovsext_clean: datapath-windows/ovsext.sln
-if VSTUDIO_WIN8
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
-endif
-if VSTUDIO_WIN8_1
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
-endif
 if VSTUDIO_WIN10
 	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win10$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
 endif
diff --git a/datapath-windows/Package/package.VcxProj b/datapath-windows/Package/package.VcxProj
deleted file mode 100644
index 994c34dc2..000000000
--- a/datapath-windows/Package/package.VcxProj
+++ /dev/null
@@ -1,234 +0,0 @@ 
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Win10 Debug|x64">
-      <Configuration>Win10 Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win10 Release|x64">
-      <Configuration>Win10 Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win10Analyze|x64">
-      <Configuration>Win10Analyze</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1 Debug|x64">
-      <Configuration>Win8.1 Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8 Debug|x64">
-      <Configuration>Win8 Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1 Release|x64">
-      <Configuration>Win8.1 Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8 Release|x64">
-      <Configuration>Win8 Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1Analyze|x64">
-      <Configuration>Win8.1Analyze</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8Analyze|x64">
-      <Configuration>Win8Analyze</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="PropertySheets">
-    <ConfigurationType>Utility</ConfigurationType>
-    <DriverType>Package</DriverType>
-    <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
-    <Configuration>Win8 Debug</Configuration>
-  </PropertyGroup>
-  <PropertyGroup Label="Globals">
-    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VisualStudioVersion)' == '11.0'">$(VCTargetsPath11)</VCTargetsPath>
-    <PlatformToolsetVer Condition="$(WindowsSdkDir.EndsWith('\Windows Kits\10\'))">10.0</PlatformToolsetVer>
-    <PlatformToolsetVer Condition="$(WindowsSdkDir.EndsWith('\Windows Kits\8.1\'))">8.1</PlatformToolsetVer>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}</ProjectGuid>
-    <SampleGuid>{E753AF15-94DC-4773-AED9-06A6636E6E67}</SampleGuid>
-    <RootNamespace>$(MSBuildProjectName)</RootNamespace>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'" Label="Configuration">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
-    <TargetVersion>
-    </TargetVersion>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'" Label="Configuration">
-    <TargetVersion />
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'" Label="Configuration">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'" Label="Configuration">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
-    <TargetVersion>
-    </TargetVersion>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Universal</DriverTargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'" Label="Configuration">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
-    <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
-    <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
-  </PropertyGroup>
-  <PropertyGroup>
-    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
-    <EnableDeployment>False</EnableDeployment>
-    <ImportToStore>False</ImportToStore>
-    <InstallMode>None</InstallMode>
-    <HardwareIdString />
-    <CommandLine />
-    <ScriptPath />
-    <DeployFiles />
-    <ScriptName />
-    <ScriptDeviceQuery>%PathToInf%</ScriptDeviceQuery>
-    <EnableVerifier>False</EnableVerifier>
-    <AllDrivers>False</AllDrivers>
-    <VerifyProjectOutput>True</VerifyProjectOutput>
-    <VerifyDrivers />
-    <VerifyFlags>133563</VerifyFlags>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
-    <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
-    <Inf2Cat>
-      <UseLocalTime>true</UseLocalTime>
-    </Inf2Cat>
-    <DriverSign>
-      <FileDigestAlgorithm>SHA256</FileDigestAlgorithm>
-    </DriverSign>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <!--Inf Include="DriverInf.inv" /-->
-    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\ovsext\ovsext.vcxproj">
-      <Project>{63FE215D-98BE-4440-8081-C6160EFB80FA}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/datapath-windows/Package/package.VcxProj.user b/datapath-windows/Package/package.VcxProj.user
deleted file mode 100644
index 5b0c53539..000000000
--- a/datapath-windows/Package/package.VcxProj.user
+++ /dev/null
@@ -1,30 +0,0 @@ 
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/datapath-windows/automake.mk b/datapath-windows/automake.mk
index 7d0d82d41..e0e6a036c 100644
--- a/datapath-windows/automake.mk
+++ b/datapath-windows/automake.mk
@@ -1,6 +1,4 @@ 
 EXTRA_DIST += \
-	datapath-windows/Package/package.VcxProj \
-	datapath-windows/Package/package.VcxProj.user \
 	datapath-windows/include/OvsDpInterfaceExt.h \
 	datapath-windows/include/OvsDpInterfaceCtExt.h \
 	datapath-windows/misc/DriverRecommendedRules.ruleset \
@@ -90,8 +88,6 @@  EXTRA_DIST += \
 
 datapath_windows_analyze: all
 	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10Analyze"
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8.1Analyze"
-	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8Analyze"
 
 datapath_windows: all
 	MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10Debug"
diff --git a/datapath-windows/ovsext.sln b/datapath-windows/ovsext.sln
index ab006e84f..f4c1153f7 100644
--- a/datapath-windows/ovsext.sln
+++ b/datapath-windows/ovsext.sln
@@ -1,13 +1,7 @@ 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+# Visual Studio Version 17
+VisualStudioVersion = 17.13.35825.156
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", "{6BA8554E-AE50-49B0-9C98-4592447FEF8D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OVSExt", "OVSExt", "{4A841675-477D-40A2-9CC6-128C3B8714F8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "Package\package.VcxProj", "{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}"
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ovsext", "ovsext\ovsext.vcxproj", "{63FE215D-98BE-4440-8081-C6160EFB80FA}"
 EndProject
 Global
@@ -15,68 +9,19 @@  Global
 		Win10Analyze|x64 = Win10Analyze|x64
 		Win10Debug|x64 = Win10Debug|x64
 		Win10Release|x64 = Win10Release|x64
-		Win8.1Analyze|x64 = Win8.1Analyze|x64
-		Win8.1Debug|x64 = Win8.1Debug|x64
-		Win8.1Release|x64 = Win8.1Release|x64
-		Win8Analyze|x64 = Win8Analyze|x64
-		Win8Debug|x64 = Win8Debug|x64
-		Win8Release|x64 = Win8Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Analyze|x64.ActiveCfg = Win10Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Analyze|x64.Build.0 = Win10Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Debug|x64.ActiveCfg = Win10 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Debug|x64.Build.0 = Win10 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Debug|x64.Deploy.0 = Win10 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Release|x64.ActiveCfg = Win10 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Release|x64.Build.0 = Win10 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win10Release|x64.Deploy.0 = Win10 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Analyze|x64.ActiveCfg = Win8.1Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Analyze|x64.Build.0 = Win8.1Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Analyze|x64.Deploy.0 = Win8.1Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.ActiveCfg = Win8.1 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.Build.0 = Win8.1 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.ActiveCfg = Win8.1 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.Build.0 = Win8.1 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Analyze|x64.ActiveCfg = Win8Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Analyze|x64.Build.0 = Win8Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Analyze|x64.Deploy.0 = Win8Analyze|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.ActiveCfg = Win8 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.Build.0 = Win8 Debug|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.ActiveCfg = Win8 Release|x64
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.Build.0 = Win8 Release|x64
 		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Analyze|x64.ActiveCfg = Win10Analyze|x64
 		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Analyze|x64.Build.0 = Win10Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Debug|x64.ActiveCfg = Win10 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Debug|x64.Build.0 = Win10 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Debug|x64.Deploy.0 = Win10 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Release|x64.ActiveCfg = Win10 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Release|x64.Build.0 = Win10 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Release|x64.Deploy.0 = Win10 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Analyze|x64.ActiveCfg = Win8.1Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Analyze|x64.Build.0 = Win8.1Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Analyze|x64.Deploy.0 = Win8.1Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.ActiveCfg = Win8.1 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Build.0 = Win8.1 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Deploy.0 = Win8.1 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.ActiveCfg = Win8.1 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Build.0 = Win8.1 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Deploy.0 = Win8.1 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Analyze|x64.ActiveCfg = Win8Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Analyze|x64.Build.0 = Win8Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Analyze|x64.Deploy.0 = Win8Analyze|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.ActiveCfg = Win8 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Build.0 = Win8 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Deploy.0 = Win8 Debug|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.ActiveCfg = Win8 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Build.0 = Win8 Release|x64
-		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Deploy.0 = Win8 Release|x64
+		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Debug|x64.ActiveCfg = Win10Debug|x64
+		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Debug|x64.Build.0 = Win10Debug|x64
+		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Release|x64.ActiveCfg = Win10Release|x64
+		{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win10Release|x64.Build.0 = Win10Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{911D7389-3E61-449F-B8F3-14AD7EE9A0F2} = {6BA8554E-AE50-49B0-9C98-4592447FEF8D}
-		{63FE215D-98BE-4440-8081-C6160EFB80FA} = {4A841675-477D-40A2-9CC6-128C3B8714F8}
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {D41CD98E-3777-4976-A99B-E01415A9291F}
 	EndGlobalSection
 EndGlobal
diff --git a/datapath-windows/ovsext/Util.c b/datapath-windows/ovsext/Util.c
index d703b2468..7f58c5ba4 100644
--- a/datapath-windows/ovsext/Util.c
+++ b/datapath-windows/ovsext/Util.c
@@ -48,26 +48,6 @@  OvsAllocateMemory(size_t size)
         (UINT32)size, OVS_MEMORY_TAG, NormalPoolPriority);
 }
 
-_Use_decl_annotations_
-VOID *
-OvsAllocateAlignedMemory(size_t size, UINT16 align)
-{
-    ASSERT((align == 8) || (align == 16));
-
-    if ((align == 8) || (align == 16)) {
-        /*
-         * XXX: NdisAllocateMemory*() functions don't talk anything about
-         * alignment. Hence using ExAllocatePool*();
-         */
-        return (VOID *)ExAllocatePoolWithTagPriority(NonPagedPoolNx, size,
-                                                     OVS_MEMORY_TAG,
-                                                     NormalPoolPriority);
-    }
-
-    /* Invalid user input. */
-    return NULL;
-}
-
 VOID
 OvsFreeMemory(VOID *ptr)
 {
@@ -179,4 +159,4 @@  OvsIpv6AddressToString(struct in6_addr ipv6Addr, char* ip6String)
 
     returnedIpv6Str = RtlIpv6AddressToStringA((&ipv6Addr), ip6String);
     return returnedIpv6Str;
-}
\ No newline at end of file
+}
diff --git a/datapath-windows/ovsext/ovsext.inf b/datapath-windows/ovsext/ovsext.inf
index e68b94a36..59ae5304b 100644
--- a/datapath-windows/ovsext/ovsext.inf
+++ b/datapath-windows/ovsext/ovsext.inf
@@ -9,6 +9,7 @@  ClassGUID   = {4D36E974-E325-11CE-BFC1-08002BE10318}
 Provider    = %OVS%
 CatalogFile = ovsext.cat
 DriverVer   = 10/10/2013,1.0
+PnpLockdown = 1
 
 [Manufacturer]
 %OVS%=OVS,NTx86,NTia64,NTamd64
diff --git a/datapath-windows/ovsext/ovsext.vcxproj b/datapath-windows/ovsext/ovsext.vcxproj
index e1c43fd56..11fae9db0 100644
--- a/datapath-windows/ovsext/ovsext.vcxproj
+++ b/datapath-windows/ovsext/ovsext.vcxproj
@@ -1,42 +1,18 @@ 
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Win10 Debug|x64">
-      <Configuration>Win10 Debug</Configuration>
+    <ProjectConfiguration Include="Win10Debug|x64">
+      <Configuration>Win10Debug</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
-    <ProjectConfiguration Include="Win10 Release|x64">
-      <Configuration>Win10 Release</Configuration>
+    <ProjectConfiguration Include="Win10Release|x64">
+      <Configuration>Win10Release</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
     <ProjectConfiguration Include="Win10Analyze|x64">
       <Configuration>Win10Analyze</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1 Debug|x64">
-      <Configuration>Win8.1 Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8 Debug|x64">
-      <Configuration>Win8 Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1 Release|x64">
-      <Configuration>Win8.1 Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8 Release|x64">
-      <Configuration>Win8 Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8.1Analyze|x64">
-      <Configuration>Win8.1Analyze</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Win8Analyze|x64">
-      <Configuration>Win8Analyze</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="PropertySheets">
     <DriverType>WDM</DriverType>
@@ -44,256 +20,74 @@ 
   </PropertyGroup>
   <PropertyGroup Label="Globals">
     <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VisualStudioVersion)' == '11.0'">$(VCTargetsPath11)</VCTargetsPath>
-    <Configuration>Win8 Debug</Configuration>
-    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
     <SampleGuid>{0D37F250-E766-44C7-90B4-D7E07E77D1AA}</SampleGuid>
     <PlatformToolsetVer Condition="$(WindowsSdkDir.EndsWith('\Windows Kits\10\'))">10.0</PlatformToolsetVer>
-    <PlatformToolsetVer Condition="$(WindowsSdkDir.EndsWith('\Windows Kits\8.1\'))">8.1</PlatformToolsetVer>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Label="Globals">
     <ProjectGuid>{63FE215D-98BE-4440-8081-C6160EFB80FA}</ProjectGuid>
     <RootNamespace>$(MSBuildProjectName)</RootNamespace>
+    <WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
   </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>True</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'" Label="Configuration">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>True</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
-    <TargetVersion>
-    </TargetVersion>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'" Label="Configuration">
+    <TargetVersion>Windows10</TargetVersion>
     <UseDebugLibraries>True</UseDebugLibraries>
     <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
     <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
+    <DriverTargetPlatform>Universal</DriverTargetPlatform>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'" Label="Configuration">
-    <TargetVersion />
+    <TargetVersion>Windows10</TargetVersion>
     <UseDebugLibraries>True</UseDebugLibraries>
     <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
     <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>True</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'" Label="Configuration">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>True</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
+    <DriverTargetPlatform>Universal</DriverTargetPlatform>
   </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <TargetVersion>WindowsV6.3</TargetVersion>
-    <UseDebugLibraries>False</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
-    <TargetVersion>
-    </TargetVersion>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'" Label="Configuration">
+    <TargetVersion>Windows10</TargetVersion>
     <UseDebugLibraries>False</UseDebugLibraries>
     <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">10.0</PlatformToolsetVer>
     <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
-    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <TargetVersion>Windows8</TargetVersion>
-    <UseDebugLibraries>False</UseDebugLibraries>
-    <PlatformToolsetVer Condition="'$(PlatformToolsetVer)' == ''">8.1</PlatformToolsetVer>
-    <PlatformToolset>WindowsKernelModeDriver$(PlatformToolsetVer)</PlatformToolset>
+    <DriverTargetPlatform>Universal</DriverTargetPlatform>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <OutDir>$(IntDir)</OutDir>
-  </PropertyGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'" Label="PropertySheets">
+  <PropertyGroup />
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
   </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
   </ImportGroup>
-  <ItemGroup Label="WrappedTaskItems">
-    <ClInclude Include="..\include\OvsDpInterfaceCtExt.h" />
-    <ClInclude Include="..\include\OvsDpInterfaceExt.h" />
-    <ClInclude Include="Actions.h" />
-    <ClInclude Include="Atomic.h" />
-    <ClInclude Include="BufferMgmt.h" />
-    <ClInclude Include="Conntrack-nat.h" />
-    <ClInclude Include="Conntrack.h" />
-    <ClInclude Include="Datapath.h" />
-    <ClInclude Include="Debug.h" />
-    <ClInclude Include="DpInternal.h" />
-    <ClInclude Include="Ethernet.h" />
-    <ClInclude Include="Event.h" />
-    <ClInclude Include="Flow.h" />
-    <ClInclude Include="Geneve.h" />
-    <ClInclude Include="Gre.h" />
-    <ClInclude Include="IpFragment.h" />
-    <ClInclude Include="Ip6Fragment.h" />
-    <ClInclude Include="IpHelper.h" />
-    <ClInclude Include="Jhash.h" />
-    <ClInclude Include="Meter.h" />
-    <ClInclude Include="Mpls.h" />
-    <ClInclude Include="Netlink/Netlink.h" />
-    <ClInclude Include="Netlink/NetlinkBuf.h" />
-    <ClInclude Include="Netlink/NetlinkProto.h" />
-    <ClInclude Include="Netlink/NetlinkError.h" />
-    <ClInclude Include="NetProto.h" />
-    <ClInclude Include="Offload.h" />
-    <ClInclude Include="Oid.h" />
-    <ClInclude Include="PacketIO.h" />
-    <ClInclude Include="PacketParser.h" />
-    <ClInclude Include="precomp.h" />
-    <ClInclude Include="Recirc.h" />
-    <ClInclude Include="resource.h" />
-    <ClInclude Include="Switch.h" />
-    <ClInclude Include="Tunnel.h" />
-    <ClInclude Include="TunnelIntf.h" />
-    <ClInclude Include="Types.h" />
-    <ClInclude Include="User.h" />
-    <ClInclude Include="Util.h" />
-    <ClInclude Include="Vport.h" />
-    <ClInclude Include="Vxlan.h" />
-  </ItemGroup>
-  <PropertyGroup>
-    <TargetName>OVSExt</TargetName>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
     <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
     <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
+    <OutDir>..\$(IntDir)</OutDir>
+    <PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
+    <PreLinkEventUseInBuild>false</PreLinkEventUseInBuild>
+    <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
     <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
     <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
+    <OutDir>..\$(IntDir)</OutDir>
+    <PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
+    <PreLinkEventUseInBuild>false</PreLinkEventUseInBuild>
+    <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
     <Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
     <CodeAnalysisRuleSet>..\misc\DriverRecommendedRules.ruleset</CodeAnalysisRuleSet>
     <RunCodeAnalysis>true</RunCodeAnalysis>
     <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
+    <OutDir>..\$(IntDir)</OutDir>
+    <PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
+    <PreLinkEventUseInBuild>false</PreLinkEventUseInBuild>
+    <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <CodeAnalysisRuleSet>..\misc\DriverRecommendedRules.ruleset</CodeAnalysisRuleSet>
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <CodeAnalysisRuleSet>..\misc\DriverRecommendedRules.ruleset</CodeAnalysisRuleSet>
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <ExternalIncludePath>$(CRT_IncludePath);$(KM_IncludePath);</ExternalIncludePath>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ClCompile>
-    <Midl>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </Midl>
-    <ResourceCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
-    </ResourceCompile>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
     <ClCompile>
       <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
     </ClCompile>
@@ -304,7 +98,7 @@ 
       <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
     </ResourceCompile>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
     <ClCompile>
       <PreprocessorDefinitions>%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1</PreprocessorDefinitions>
     </ClCompile>
@@ -335,62 +129,64 @@ 
       <WarningLevel>Level4</WarningLevel>
       <ExceptionHandling>
       </ExceptionHandling>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..;$(MSBuildProjectDirectory)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..;$(MSBuildProjectDirectory)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..;$(MSBuildProjectDirectory)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..;$(MSBuildProjectDirectory)</AdditionalIncludeDirectories>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">.;$(IntDir);%(AdditionalIncludeDirectories);..\..;$(MSBuildProjectDirectory)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">true</MultiProcessorCompilation>
       <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">true</MultiProcessorCompilation>
-      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">true</MultiProcessorCompilation>
-      <EnablePREfast Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">true</EnablePREfast>
-      <EnablePREfast Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">true</EnablePREfast>
+      <MultiProcessorCompilation Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">true</MultiProcessorCompilation>
       <EnablePREfast Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">true</EnablePREfast>
     </ClCompile>
     <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">$(Version)</TimeStamp>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">$(Version)</TimeStamp>
-    </Inf>
-    <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">$(Version)</TimeStamp>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">$(Version)</TimeStamp>
-    </Inf>
-    <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">$(Version)</TimeStamp>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">$(Version)</TimeStamp>
-    </Inf>
-    <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">$(Version)</TimeStamp>
-    </Inf>
-    <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">$(Version)</TimeStamp>
-    </Inf>
-    <Inf>
-      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">$(Version)</TimeStamp>
+      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">*</TimeStamp>
+      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">*</TimeStamp>
+      <TimeStamp Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">*</TimeStamp>
     </Inf>
     <DriverSign>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">SHA256</FileDigestAlgorithm>
       <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">SHA256</FileDigestAlgorithm>
-      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">SHA256</FileDigestAlgorithm>
+      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">SHA256</FileDigestAlgorithm>
+      <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">SHA256</FileDigestAlgorithm>
     </DriverSign>
+    <PostBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
+      </Command>
+    </PostBuildEvent>
+    <PostBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
+      </Command>
+    </PostBuildEvent>
+    <PostBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
+      </Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
+      </Command>
+    </PreBuildEvent>
+    <PreBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
+      </Command>
+    </PreBuildEvent>
+    <PreBuildEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
+      </Command>
+    </PreBuildEvent>
+    <PreLinkEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
+      </Command>
+    </PreLinkEvent>
+    <PreLinkEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
+      </Command>
+    </PreLinkEvent>
+    <PreLinkEvent>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
+      </Command>
+    </PreLinkEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClInclude Include="..\include\OvsDpInterfaceCtExt.h" />
+    <ClInclude Include="..\include\OvsDpInterfaceExt.h" />
     <ClCompile Include="Actions.c" />
     <ClCompile Include="BufferMgmt.c" />
     <ClCompile Include="Conntrack-nat.c" />
@@ -433,25 +229,14 @@ 
     <ClCompile Include="Vport.c" />
     <ClCompile Include="Vxlan.c" />
     <ResourceCompile Include="ovsext.rc">
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS630=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">%(PreprocessorDefinitions);NDIS_WDM=1;NDIS640=1;VersionWithDots=$(Version);VersionWithCommas=$(Version.Replace('.',','))</PreprocessorDefinitions>
     </ResourceCompile>
   </ItemGroup>
   <ItemGroup>
     <Inf Exclude="@(Inf)" Include="*.inf" />
-    <FilesToPackage Include="$(TargetPath)" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
-    <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
-    <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
+    <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
+</Project>
\ No newline at end of file
diff --git a/datapath-windows/ovsext/ovsext.vcxproj.user b/datapath-windows/ovsext/ovsext.vcxproj.user
index 5b0c53539..8ad59cc60 100644
--- a/datapath-windows/ovsext/ovsext.vcxproj.user
+++ b/datapath-windows/ovsext/ovsext.vcxproj.user
@@ -1,30 +1,12 @@ 
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8Analyze|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1Analyze|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Debug|x64'">
     <SignMode>TestSign</SignMode>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Analyze|x64'">
     <SignMode>TestSign</SignMode>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
-    <SignMode>TestSign</SignMode>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10Release|x64'">
     <SignMode>TestSign</SignMode>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 6d41ffc44..eb2569b34 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -184,28 +184,22 @@  if test "$WIN32" = yes; then
 
   AC_ARG_WITH([vstudiotargetver],
           [AS_HELP_STRING([--with-vstudiotargetver=target_ver1,target_ver2],
-              [Target versions: Win8,Win8.1,Win10])],
+              [Target versions: Win10])],
           [
               targetver=`echo "$withval" | tr -s , ' ' `
               for ver in $targetver; do
                   case "$ver" in
-                  "Win8") VSTUDIO_WIN8=true ;;
-                  "Win8.1")  VSTUDIO_WIN8_1=true ;;
                   "Win10") VSTUDIO_WIN10=true ;;
                   *) AC_MSG_ERROR([No valid Visual Studio target version found]) ;;
                   esac
               done
 
           ], [
-              VSTUDIO_WIN8=true
-              VSTUDIO_WIN8_1=true
               VSTUDIO_WIN10=true
           ]
         )
     AC_DEFINE([VSTUDIO_DDK], [1], [System uses the Visual Studio build target.])
 fi
-AM_CONDITIONAL([VSTUDIO_WIN8], [test -n "$VSTUDIO_WIN8"])
-AM_CONDITIONAL([VSTUDIO_WIN8_1], [test -n "$VSTUDIO_WIN8_1"])
 AM_CONDITIONAL([VSTUDIO_WIN10], [test -n "$VSTUDIO_WIN10"])
 AM_CONDITIONAL([VSTUDIO_DDK], [test -n "$VSTUDIO_CONFIG"])
 ])
diff --git a/windows/automake.mk b/windows/automake.mk
index 489343028..90e819368 100644
--- a/windows/automake.mk
+++ b/windows/automake.mk
@@ -26,18 +26,10 @@  windows_installer: all
 	cp -f $(top_srcdir)/ovsdb/ovsdb-tool.pdb windows/ovs-windows-installer/Symbols/
 #Third party files needed by the installer
 	cp -f $(PTHREAD_WIN32_DIR_DLL_WIN_FORM)/*.dll windows/ovs-windows-installer/Binaries/
-	cp -f "/c/Program Files (x86)/Common Files/Merge Modules/Microsoft_VC140_CRT_x86.msm" windows/ovs-windows-installer/Redist/Microsoft_VC140_CRT_x86.msm
-	cp -f "/c/Program Files (x86)/Common Files/Merge Modules/Microsoft_VC140_CRT_x64.msm" windows/ovs-windows-installer/Redist/Microsoft_VC140_CRT_x64.msm
 #Forwarding extension files needed for the installer
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/ovsext.cat windows/ovs-windows-installer/Driver/Win8/ovsext.cat
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/ovsext.inf windows/ovs-windows-installer/Driver/Win8/ovsext.inf
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/OVSExt.sys windows/ovs-windows-installer/Driver/Win8/ovsext.sys
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.cat windows/ovs-windows-installer/Driver/Win8.1/ovsext.cat
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.inf windows/ovs-windows-installer/Driver/Win8.1/ovsext.inf
-	cp -f $(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.sys windows/ovs-windows-installer/Driver/Win8.1/ovsext.sys
-	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/package/ovsext.cat windows/ovs-windows-installer/Driver/Win10/ovsext.cat
-	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/package/ovsext.inf windows/ovs-windows-installer/Driver/Win10/ovsext.inf
-	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/package/ovsext.sys windows/ovs-windows-installer/Driver/Win10/ovsext.sys
+	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/ovsext/ovsext.cat windows/ovs-windows-installer/Driver/Win10/ovsext.cat
+	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/ovsext/ovsext.inf windows/ovs-windows-installer/Driver/Win10/ovsext.inf
+	cp -f $(top_srcdir)/datapath-windows/x64/Win10$(VSTUDIO_CONFIG)/ovsext/ovsext.sys windows/ovs-windows-installer/Driver/Win10/ovsext.sys
 	MSBuild.exe windows/ovs-windows-installer.sln //nologo //target:Build //p:Configuration="Release" //p:Version="$(PACKAGE_VERSION)" //p:Platform=$(PLATFORM)
 
 EXTRA_DIST += \
diff --git a/windows/ovs-windows-installer/Driver/.gitignore b/windows/ovs-windows-installer/Driver/.gitignore
index 3de517016..b6b6f2787 100644
--- a/windows/ovs-windows-installer/Driver/.gitignore
+++ b/windows/ovs-windows-installer/Driver/.gitignore
@@ -1,6 +1,4 @@ 
 *
 
 !.gitignore
-!Win8
-!Win8.1
 !Win10
diff --git a/windows/ovs-windows-installer/Product.wxs b/windows/ovs-windows-installer/Product.wxs
index 61289da6b..237341eee 100644
--- a/windows/ovs-windows-installer/Product.wxs
+++ b/windows/ovs-windows-installer/Product.wxs
@@ -53,21 +53,10 @@ 
       <ComponentGroupRef Id="BinariesComponentGroup" />
       <ComponentGroupRef Id="SymbolsComponentGroup" />
       <ComponentRef Id="OpenvSwitchEnvVars" />
-
-      <Feature Id="VC140Redistx86" Title="Visual C++ 14 Runtime x86" AllowAdvertise="no" Display="hidden" Level="1"
-               Absent="disallow" InstallDefault="followParent" TypicalDefault="install">
-        <MergeRef Id="VC140Redistx86" />
-      </Feature>
-      <Feature Id="VC140Redistx64" Title="Visual C++ 14 Runtime x64" AllowAdvertise="no" Display="hidden" Level="1"
-               Absent="disallow" InstallDefault="followParent" TypicalDefault="install">
-        <MergeRef Id="VC140Redistx64" />
-      </Feature>
     </Feature>
 
     <Feature Id="OpenvSwitchDriver" Title="Open vSwitch Hyper-V driver" Level="1" Absent="allow" InstallDefault="local" TypicalDefault="install" AllowAdvertise="no"
              Description="Installs the Open vSwitch Hyper-V switch extension driver." Display="expand">
-      <ComponentRef Id="OpenvSwitchDriver_Win8" />
-      <ComponentRef Id="OpenvSwitchDriver_Win8.1" />
       <ComponentRef Id="OpenvSwitchDriver_Win10" />
       <ComponentRef Id="ConfDir" />
       <ComponentRef Id="LogsDir" />
@@ -251,18 +240,6 @@ 
 
   <Fragment>
     <DirectoryRef Id="DRIVERDIR">
-      <Component Id='OpenvSwitchDriver_Win8' Guid='{7A1E2446-8196-4738-8362-5CFD55896A7B}'>
-        <Condition><![CDATA[VersionNT = "602"]]></Condition>
-          <File Id='win8_ovsext.sys' Name='ovsext.sys' DiskId='1' Source='Driver\Win8\ovsext.sys' Checksum='yes' KeyPath='yes' />
-          <File Id='win8_ovsext.inf' Name='ovsext.inf' DiskId='1' Source='Driver\Win8\ovsext.inf' Checksum='yes' />
-          <File Id='win8_ovsext.cat' Name='ovsext.cat' DiskId='1' Source='Driver\Win8\ovsext.cat' Checksum='yes' />
-     </Component>
-     <Component Id='OpenvSwitchDriver_Win8.1' Guid='{7A1E2446-8196-4738-8362-5CFD55896A7C}'>
-        <Condition><![CDATA[(VersionNT = "603") AND (BUILDNUMBER < 10000)]]></Condition>
-          <File Id='win81_ovsext.sys' Name='ovsext.sys' DiskId='1' Source='Driver\Win8.1\ovsext.sys' Checksum='yes' KeyPath='yes'/>
-          <File Id='win81_ovsext.inf' Name='ovsext.inf' DiskId='1' Source='Driver\Win8.1\ovsext.inf' Checksum='yes' />
-          <File Id='win81_ovsext.cat' Name='ovsext.cat' DiskId='1' Source='Driver\Win8.1\ovsext.cat' Checksum='yes' />
-      </Component>
       <Component Id='OpenvSwitchDriver_Win10' Guid='{7A1E2446-8196-4738-8362-5CFD55896A7D}'>
       <Condition><![CDATA[BUILDNUMBER > 10000]]></Condition>
           <File Id='win10_ovsext.sys' Name='ovsext.sys' DiskId='1' Source='Driver\Win10\ovsext.sys' Checksum='yes' KeyPath='yes'/>
@@ -272,11 +249,4 @@ 
     </DirectoryRef>
   </Fragment>
 
-  <Fragment>
-    <DirectoryRef Id="TARGETDIR">
-      <Merge Id="VC140Redistx86" SourceFile="Redist\Microsoft_VC140_CRT_x86.msm" DiskId="1" Language="0" />
-      <Merge Id="VC140Redistx64" SourceFile="Redist\Microsoft_VC140_CRT_x64.msm" DiskId="1" Language="0" />
-    </DirectoryRef>
-  </Fragment>
-
 </Wix>