diff --git a/.ci/windows-build.sh b/.ci/windows-build.sh
new file mode 100644
index 00000000000..e6c45e027ca
--- /dev/null
+++ b/.ci/windows-build.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+set -o errexit
+set -x
+
+CFLAGS_FOR_OVS="-g -O2"
+EXTRA_OPTS="--with-pthread=`realpath ./PTHREADS-BUILT | xargs cygpath -m`"
+
+function configure_ovs()
+{
+ ./boot.sh
+ ./configure CC="./build-aux/cccl" LD="`which link`" \
+ LIBS="-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32" \
+ CFLAGS="${CFLAGS_FOR_OVS}" $* || { cat config.log; exit 1; }
+}
+
+
+OPTS="${EXTRA_OPTS} ${OPTS} $*"
+configure_ovs $OPTS
+make || { cat config.log; exit 1; }
+
+if [ "$TESTSUITE" ]; then
+ if ! make check RECHECK=yes; then
+ # testsuite.log is necessary for debugging.
+ cat ./tests/testsuite.log
+ exit 1
+ fi
+fi
+
+exit 0
diff --git a/.ci/windows-prepare.sh b/.ci/windows-prepare.sh
new file mode 100644
index 00000000000..aeaf4a9ee66
--- /dev/null
+++ b/.ci/windows-prepare.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+set -ev
+
+# clone and build pthreads4w
+git clone https://git.code.sf.net/p/pthreads4w/code pthreads4w-code
+cd pthreads4w-code
+nmake all install
+cd ..
+rm -rf pthreads4w-code
\ No newline at end of file
diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml
new file mode 100644
index 00000000000..211f49fde20
--- /dev/null
+++ b/.github/workflows/build-windows.yml
@@ -0,0 +1,100 @@
+name: Build for Windows
+
+on: [push, pull_request]
+
+jobs:
+ build-windows:
+ name: windows ${{ join(matrix.*, ' ') }}
+ env:
+ OPTS: --with-vstudiotarget=${{ matrix.target }} --with-vstudiotargetver=Win10 --prefix=C:/openvswitch/usr --localstatedir=C:/ProgramData/openvswitch/var --sysconfdir=C:/ProgramData/openvswitch/etc --disable-ssl ${{ matrix.opts }}
+ TESTSUITE: ${{ matrix.testsuite }}
+
+ runs-on: windows-latest
+ timeout-minutes: 60
+
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ # run only one job for windows, as more than one be enough currently to verify
+ # PRs
+ # tests are not enabled as they take very long and a lot of them will fail
+ - target: Release
+
+ defaults:
+ run:
+ shell: msys2 {0}
+
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+ - name: install msys
+ uses: msys2/setup-msys2@v2
+ with:
+ msystem: UCRT64
+ update: true
+ install: base-devel git mingw-w64-ucrt-x86_64-toolchain autotools
+ - name: set up python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.x'
+
+ # pypiwin32 has to be installed with a Windows python version therefore
+ # this step will configure python first on Windows and exports
+ # its location for MSYS bash.
+ - name: configure python in Windows cmdline
+ shell: cmd
+ run: |
+ python -m pip install --upgrade pip
+ pip install pypiwin32
+ echo export pythonLocation="%pythonLocation%" > %RUNNER_TEMP%\msys64\home\%USERNAME%\.pythonenv.sh
+ echo export PYTHONPATH="%pythonLocation%\Lib;%pythonLocation%\DLLs;%pythonLocation%\Lib\lib-tk" >> %RUNNER_TEMP%\msys64\home\%USERNAME%\.pythonenv.sh
+ echo ".pythonenv.sh was generated in %RUNNER_TEMP%\msys64\home\%USERNAME%"
+ - name: generate Visual Studio environment
+ shell: cmd
+ run: |
+ powershell -c ./build-aux/envdiff.ps1
+ @call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+ powershell -c ./build-aux/envdiff.ps1 > %RUNNER_TEMP%\msys64\home\%USERNAME%\.visualstudio.sh
+ echo ".visualstudio.sh was generated in %RUNNER_TEMP%\msys64\home\%USERNAME%"
+ - name: configure python for MSYS
+ run: |
+ source ~/.pythonenv.sh
+ echo "using python from path $pythonLocation"
+ mv /ucrt64/bin/python /ucrt64/bin/python_off
+ mv /ucrt64/bin/python3 /ucrt64/bin/python3_off
+ ln -s "$pythonLocation\python" /ucrt64/bin/python3
+ - name: prepare
+ run: |
+ [[ -f /usr/bin/link ]] && mv /usr/bin/link /usr/bin/link_off
+ source ~/.visualstudio.sh
+ ./.ci/windows-prepare.sh
+ - name: build
+ run: |
+ source ~/.visualstudio.sh
+ source ~/.pythonenv.sh
+ echo $PYTHONPATH
+ ./.ci/windows-build.sh
+ - name: upload logs on failure
+ if: failure()
+ uses: actions/upload-artifact@v2
+ with:
+ name: logs-windows-${{ join(matrix.*, '-') }}
+ path: config.log
+ - name: install
+ run: |
+ source ~/.visualstudio.sh
+ source ~/.pythonenv.sh
+ make install
+ cp ./PTHREADS-BUILT/bin/pthreadVC3.dll /C/openvswitch/usr/sbin
+ cp ./PTHREADS-BUILT/bin/pthreadVC3.dll /C/openvswitch/usr/bin
+ mkdir /C/openvswitch/driver
+ cp ./datapath-windows/x64/Win10${{ matrix.target }}/package/* /C/openvswitch/driver
+ cp ./datapath-windows/x64/Win10${{ matrix.target }}/package.cer /C/openvswitch/driver
+ cp ./datapath-windows/misc/* /C/openvswitch/driver
+ cp ./datapath-windows/ovsext/x64/Win10${{ matrix.target }}/DBO_OVSE.pdb /C/openvswitch/driver
+ - name: upload build artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: openvswitch-windows-${{ join(matrix.*, '-') }}
+ path: c:\openvswitch
diff --git a/.gitignore b/.gitignore
index 26ed8d3d067..000435d46fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,14 @@ testsuite.tmp.orig
/Documentation/_build
/.venv
/cxx-check
+snapshot.env
+PTHREADS-BUILT/bin/pthreadVC3.dll
+PTHREADS-BUILT/bin/pthreadVC3d.dll
+PTHREADS-BUILT/bin/pthreadVCE3.dll
+PTHREADS-BUILT/bin/pthreadVCE3d.dll
+PTHREADS-BUILT/bin/pthreadVSE3.dll
+PTHREADS-BUILT/bin/pthreadVSE3d.dll
+PTHREADS-BUILT/include/_ptw32.h
+PTHREADS-BUILT/include/pthread.h
+PTHREADS-BUILT/include/sched.h
+PTHREADS-BUILT/include/semaphore.h
diff --git a/Makefile.am b/Makefile.am
index 94f488d1837..e2d2cbde2e9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -79,11 +79,14 @@ EXTRA_DIST = \
.ci/dpdk-prepare.sh \
.ci/linux-build.sh \
.ci/linux-prepare.sh \
+ .ci/windows-build.sh \
+ .ci/windows-prepare.sh \
.ci/osx-build.sh \
.ci/osx-prepare.sh \
.cirrus.yml \
.editorconfig \
.github/workflows/build-and-test.yml \
+ .github/workflows/build-windows.yml \
.readthedocs.yaml \
appveyor.yml \
boot.sh \
diff --git a/README.rst b/README.rst
index a2c234f4d17..318371578dd 100644
--- a/README.rst
+++ b/README.rst
@@ -3,9 +3,11 @@
are kept up-to-date.
============
-Open vSwitch
+Open vSwitch (dbosoft fork)
============
+.. image:: https://github.com/dbosoft/ovs/workflows/Build%20and%20Test/badge.svg
+ :target: https://github.com/dbosoft/ovs/actions
.. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg
:target: https://github.com/openvswitch/ovs/actions
.. image:: https://ci.appveyor.com/api/projects/status/github/openvswitch/ovs?branch=master&svg=true&retina=true
@@ -49,6 +51,10 @@ the kernel-based switch. OVS in userspace can access Linux or DPDK devices.
Note Open vSwitch with userspace datapath and non DPDK devices is considered
experimental and comes with a cost in performance.
+What is the dbosoft fork?
+-------------------------
+We have forked openvswitch to build it for windows and to work on upstream patches.
+
What's here?
------------
diff --git a/appveyor.yml b/appveyor.yml
index 5903b90d078..993676c7fc5 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,15 +15,15 @@ init:
mkdir C:\openvswitch\driver
- $source = "https://slproweb.com/download/Win64OpenSSL-1_0_2u.exe"
+ $source = "https://slproweb.com/download/Win64OpenSSL-1_1_1s.exe"
- $destination = "C:\ovs-build-downloads\Win64OpenSSL-1_0_2u.exe"
+ $destination = "C:\ovs-build-downloads\Win64OpenSSL-1_1_1s.exe"
Invoke-WebRequest $source -OutFile $destination
cd C:\ovs-build-downloads
- .\Win64OpenSSL-1_0_2u.exe /silent /verysilent /sp- /suppressmsgboxes
+ .\Win64OpenSSL-1_1_1s.exe /silent /verysilent /sp- /suppressmsgboxes
Start-Sleep -s 30
diff --git a/build-aux/automake.mk b/build-aux/automake.mk
index d65b6da6c5a..c3e402d945c 100644
--- a/build-aux/automake.mk
+++ b/build-aux/automake.mk
@@ -18,7 +18,8 @@ EXTRA_DIST += \
build-aux/sodepends.py \
build-aux/soexpand.py \
build-aux/text2c \
- build-aux/xml2nroff
+ build-aux/xml2nroff \
+ build-aux/envdiff.ps1
FLAKE8_PYFILES += \
build-aux/dpdkstrip.py \
diff --git a/build-aux/envdiff.ps1 b/build-aux/envdiff.ps1
new file mode 100644
index 00000000000..c46d17f2cfb
--- /dev/null
+++ b/build-aux/envdiff.ps1
@@ -0,0 +1,44 @@
+# script to export windows environment variables to bash shell
+# This is useful to create bash environments from vcvars64.bat
+# based on the solution from this article https://anadoxin.org/blog/bringing-visual-studio-compiler-into-msys2-environment.html/
+
+if((Test-Path "snapshot.env") -eq $false){
+
+ Get-ChildItem env: | Select-Object Key,Value | ConvertTo-Json | Set-Content "snapshot.env"
+ Write-Host "Stored snapshot.env"
+ return
+}
+
+$snapshotEnv = Get-Content "snapshot.env" | ConvertFrom-Json
+
+foreach($e in Get-ChildItem env:){
+ if($e.Key -contains '/') {
+ # Sometimes Windows uses environment variables like i.e.
+ # ProgramFiles(x86)=c:\...
+ # but let's just skip this.
+ continue;
+ }
+ $key = $e.Key
+ $keyUpperCase = $e.Key.ToUpperInvariant()
+
+ if($keyUpperCase -eq "PATH") {
+ $path = $e.Value.Replace("c:", "/c").Replace("C:", "/c").Replace("\", "/").Replace(";", ":")
+ Write-Output "export PATH=""`$PATH:$path"""
+ continue
+ }
+ $valueEscaped = $e.value.replace("\", "\\");
+
+ $snapShotEntry = $snapshotEnv | Where-Object -Property Key -eq $key | Select-Object -First 1
+
+ if($null -ne $snapShotEntry){
+ Write-Output "# debug: key=$keyUpperCase"
+ $oldValue = $snapShotEntry.Value
+ if($oldValue -ne $e.Value) {
+ Write-Output "export $key=""$valueEscaped"" #changed"
+ }
+ }
+ else{
+ Write-Output "export $key=""$valueEscaped"" #new"
+
+ }
+}
\ No newline at end of file
diff --git a/datapath-windows/Package/package.VcxProj b/datapath-windows/Package/package.VcxProj
index 994c34dc229..bb6472023e6 100644
--- a/datapath-windows/Package/package.VcxProj
+++ b/datapath-windows/Package/package.VcxProj
@@ -68,15 +68,14 @@
WindowsKernelModeDriver$(PlatformToolsetVer)
-
-
+ Windows10
true
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
Desktop
-
+ Windows10
true
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
@@ -95,8 +94,7 @@
WindowsKernelModeDriver$(PlatformToolsetVer)
-
-
+ Windows10
false
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
diff --git a/datapath-windows/include/OvsDpInterfaceExt.h b/datapath-windows/include/OvsDpInterfaceExt.h
index 045e4cbd6a9..c8db1e2a083 100644
--- a/datapath-windows/include/OvsDpInterfaceExt.h
+++ b/datapath-windows/include/OvsDpInterfaceExt.h
@@ -23,9 +23,9 @@
#define OVS_DATAPATH_EXT_VERSION 1
/* Name of the device. */
-#define OVS_DEVICE_NAME_NT L"\\Device\\OpenvSwitchDevice"
-#define OVS_DEVICE_NAME_DOS L"\\DosDevices\\OpenvSwitchDevice"
-#define OVS_DEVICE_NAME_USER TEXT("\\\\.\\OpenvSwitchDevice")
+#define OVS_DEVICE_NAME_NT L"\\Device\\DbosoftOVSD"
+#define OVS_DEVICE_NAME_DOS L"\\DosDevices\\DbosoftOVSD"
+#define OVS_DEVICE_NAME_USER TEXT("\\\\.\\DbosoftOVSD")
#define OVS_IOCTL_DEVICE_TYPE 45000
diff --git a/datapath-windows/ovsext/Driver.c b/datapath-windows/ovsext/Driver.c
index 0d23adaf729..2d832e20a7b 100644
--- a/datapath-windows/ovsext/Driver.c
+++ b/datapath-windows/ovsext/Driver.c
@@ -47,17 +47,17 @@ NDIS_HANDLE gOvsExtDriverHandle;
*/
extern POVS_SWITCH_CONTEXT gOvsSwitchContext;
-static PWCHAR ovsExtFriendlyName = L"Open vSwitch Extension";
-static PWCHAR ovsExtServiceName = L"OVSExt";
+static PWCHAR ovsExtFriendlyName = L"dbosoft Open vSwitch Extension";
+static PWCHAR ovsExtServiceName = L"DBO_OVSE";
NDIS_STRING ovsExtGuidUC;
NDIS_STRING ovsExtFriendlyNameUC;
-static PWCHAR ovsExtGuidStr = L"{583CC151-73EC-4A6A-8B47-578297AD7623}";
+static PWCHAR ovsExtGuidStr = L"{63E968D9-754E-4704-A5CE-6E3BF7DDF59B}";
static const GUID ovsExtGuid = {
- 0x583cc151,
- 0x73ec,
- 0x4a6a,
- {0x8b, 0x47, 0x57, 0x82, 0x97, 0xad, 0x76, 0x23}
+ 0x63e968d9,
+ 0x754e,
+ 0x4704,
+ {0xa5, 0xce, 0x6e, 0x3b, 0xf7, 0xdd, 0xf5, 0x9b}
};
DRIVER_INITIALIZE DriverEntry;
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
index c4563b28b2c..63da4747dbe 100644
--- a/datapath-windows/ovsext/User.c
+++ b/datapath-windows/ovsext/User.c
@@ -407,7 +407,10 @@ _MapNlAttrToOvsPktExec(PNL_MSG_HDR nlMsgHdr, PNL_ATTR *nlAttrs,
execute->actionsLen = NlAttrGetSize(nlAttrs[OVS_PACKET_ATTR_ACTIONS]);
ASSERT(keyAttrs[OVS_KEY_ATTR_IN_PORT]);
- execute->inPort = NlAttrGetU32(keyAttrs[OVS_KEY_ATTR_IN_PORT]);
+ if (keyAttrs[OVS_KEY_ATTR_IN_PORT]) {
+ execute->inPort = NlAttrGetU32(keyAttrs[OVS_KEY_ATTR_IN_PORT]);
+ }
+
execute->keyAttrs = keyAttrs;
if (nlAttrs[OVS_PACKET_ATTR_MRU]) {
diff --git a/datapath-windows/ovsext/Util.c b/datapath-windows/ovsext/Util.c
index d703b2468b4..b54f640bd45 100644
--- a/datapath-windows/ovsext/Util.c
+++ b/datapath-windows/ovsext/Util.c
@@ -34,14 +34,14 @@ OvsAllocateMemoryWithTag(size_t size, ULONG tag)
}
VOID
-OvsFreeMemoryWithTag(VOID *ptr, ULONG tag)
+OvsFreeMemoryWithTag(VOID* ptr, ULONG tag)
{
ASSERT(ptr);
NdisFreeMemoryWithTagPriority(gOvsExtDriverHandle, ptr, tag);
}
_Use_decl_annotations_
-VOID *
+VOID*
OvsAllocateMemory(size_t size)
{
return NdisAllocateMemoryWithTagPriority(gOvsExtDriverHandle,
@@ -49,7 +49,7 @@ OvsAllocateMemory(size_t size)
}
_Use_decl_annotations_
-VOID *
+VOID*
OvsAllocateAlignedMemory(size_t size, UINT16 align)
{
ASSERT((align == 8) || (align == 16));
@@ -59,9 +59,9 @@ OvsAllocateAlignedMemory(size_t size, UINT16 align)
* XXX: NdisAllocateMemory*() functions don't talk anything about
* alignment. Hence using ExAllocatePool*();
*/
- return (VOID *)ExAllocatePoolWithTagPriority(NonPagedPoolNx, size,
- OVS_MEMORY_TAG,
- NormalPoolPriority);
+ return (VOID*)ExAllocatePoolPriorityUninitialized(NonPagedPoolNx, size,
+ OVS_MEMORY_TAG,
+ NormalPoolPriority);
}
/* Invalid user input. */
@@ -69,14 +69,14 @@ OvsAllocateAlignedMemory(size_t size, UINT16 align)
}
VOID
-OvsFreeMemory(VOID *ptr)
+OvsFreeMemory(VOID* ptr)
{
ASSERT(ptr);
NdisFreeMemoryWithTagPriority(gOvsExtDriverHandle, ptr, OVS_MEMORY_TAG);
}
VOID
-OvsFreeAlignedMemory(VOID *ptr)
+OvsFreeAlignedMemory(VOID* ptr)
{
ASSERT(ptr);
ExFreePoolWithTag(ptr, OVS_MEMORY_TAG);
@@ -117,12 +117,12 @@ OvsCompareString(PVOID string1, PVOID string2)
return RtlEqualString(&str1, &str2, FALSE);
}
-VOID *
+VOID*
OvsAllocateMemoryPerCpu(size_t size,
- size_t count,
- ULONG tag)
+ size_t count,
+ ULONG tag)
{
- VOID *ptr = NULL;
+ VOID* ptr = NULL;
ASSERT(KeQueryActiveGroupCount() == 1);
@@ -163,19 +163,19 @@ OvsPerCpuDataCleanup()
}
NTSTATUS
-OvsIpv6StringToAddress(const char* ip6String, struct in6_addr *ipv6Addr)
+OvsIpv6StringToAddress(const char* ip6String, struct in6_addr* ipv6Addr)
{
NTSTATUS status = STATUS_SUCCESS;
- char *terminator = NULL;
+ char* terminator = NULL;
status = RtlIpv6StringToAddressA(ip6String, &terminator, ipv6Addr);
return status;
}
-char *
+char*
OvsIpv6AddressToString(struct in6_addr ipv6Addr, char* ip6String)
{
- char *returnedIpv6Str = NULL;
+ char* returnedIpv6Str = NULL;
returnedIpv6Str = RtlIpv6AddressToStringA((&ipv6Addr), ip6String);
return returnedIpv6Str;
diff --git a/datapath-windows/ovsext/ovsext.inf b/datapath-windows/ovsext/ovsext.inf
index e68b94a363f..bca8018a89f 100644
--- a/datapath-windows/ovsext/ovsext.inf
+++ b/datapath-windows/ovsext/ovsext.inf
@@ -1,5 +1,5 @@
;
-; Copyright (c) VMware. All Rights Reserved.
+; Copyright (c) dbosoft GmbH. All Rights Reserved.
;
[version]
@@ -7,20 +7,20 @@ Signature = "$Windows NT$"
Class = NetService
ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider = %OVS%
-CatalogFile = ovsext.cat
+CatalogFile = DBO_OVSE.cat
DriverVer = 10/10/2013,1.0
[Manufacturer]
%OVS%=OVS,NTx86,NTia64,NTamd64
[OVS.NTx86]
-%OVSExt_Desc%=Install, OVSExt
+%DBO_OVSE_Desc%=Install, DBO_OVSE
[OVS.NTia64]
-%OVSExt_Desc%=Install, OVSExt
+%DBO_OVSE_Desc%=Install, DBO_OVSE
[OVS.NTamd64]
-%OVSExt_Desc%=Install, OVSExt
+%DBO_OVSE_Desc%=Install, DBO_OVSE
;-------------------------------------------------------------------------
; Installation Section
@@ -28,30 +28,30 @@ DriverVer = 10/10/2013,1.0
[Install]
AddReg=Inst_Ndi
Characteristics=0x40000
-NetCfgInstanceId="{583CC151-73EC-4A6A-8B47-578297AD7623}"
-Copyfiles = OVSExt.copyfiles.sys
+NetCfgInstanceId="{63E968D9-754E-4704-A5CE-6E3BF7DDF59B}"
+Copyfiles = DBO_OVSE.copyfiles.sys
[SourceDisksNames]
-1=%OVSExt_Desc%,"",,
+1=%DBO_OVSE_Desc%,"",,
[SourceDisksFiles]
-OVSExt.sys=1
+DBO_OVSE.sys=1
[DestinationDirs]
DefaultDestDir=12
-OVSExt.copyfiles.sys=12
+DBO_OVSE.copyfiles.sys=12
-[OVSExt.copyfiles.sys]
-OVSExt.sys,,,2
+[DBO_OVSE.copyfiles.sys]
+DBO_OVSE.sys,,,2
;-------------------------------------------------------------------------
; Ndi installation support
;-------------------------------------------------------------------------
[Inst_Ndi]
-HKR, Ndi,Service,,"OVSExt"
-HKR, Ndi,CoServices,0x00010000,"OVSExt"
-HKR, Ndi,HelpText,,%OVSExt_HelpText%
+HKR, Ndi,Service,,"DBO_OVSE"
+HKR, Ndi,CoServices,0x00010000,"DBO_OVSE"
+HKR, Ndi,HelpText,,%DBO_OVSE_HelpText%
HKR, Ndi,FilterClass,,"ms_switch_forward"
HKR, Ndi,FilterType,0x00010001,0x00000002
HKR, Ndi\Interfaces,UpperRange,,"noupper"
@@ -64,21 +64,21 @@ HKR, Ndi,FilterRunType, 0x00010001, 2 ; optional
; write an enent log
;-------------------------------------------------------------------------
[Install.Services]
-AddService=OVSExt,,OVSExt_Service_Inst;, common.EventLog
+AddService=DBO_OVSE,,DBO_OVSE_Service_Inst;, common.EventLog
-[OVSExt_Service_Inst]
-DisplayName = %OVSExt_Desc%
+[DBO_OVSE_Service_Inst]
+DisplayName = %DBO_OVSE_Desc%
ServiceType = 1 ;SERVICE_KERNEL_DRIVER
StartType = 1 ;SERVICE_SYSTEM_START
ErrorControl = 1 ;SERVICE_ERROR_NORMAL
-ServiceBinary = %12%\OVSExt.sys
+ServiceBinary = %12%\DBO_OVSE.sys
LoadOrderGroup = NDIS
-Description = %OVSExt_Desc%
+Description = %DBO_OVSE_Desc%
[Install.Remove.Services]
-DelService=OVSExt,0x200
+DelService=DBO_OVSE,0x200
[Strings]
-OVS = "The Linux Foundation (R)"
-OVSExt_Desc = "Open vSwitch Extension"
-OVSExt_HelpText = "Open vSwitch forwarding switch extension"
+OVS = "dbosoft GmbH"
+DBO_OVSE_Desc = "dbosoft Open vSwitch Extension"
+DBO_OVSE_HelpText = "Open vSwitch forwarding switch extension"
diff --git a/datapath-windows/ovsext/ovsext.vcxproj b/datapath-windows/ovsext/ovsext.vcxproj
index 8ee56aa000b..cf643f2f2a7 100644
--- a/datapath-windows/ovsext/ovsext.vcxproj
+++ b/datapath-windows/ovsext/ovsext.vcxproj
@@ -54,7 +54,7 @@
{63FE215D-98BE-4440-8081-C6160EFB80FA}
$(MSBuildProjectName)
-
+
WindowsV6.3
True
@@ -68,15 +68,14 @@
WindowsKernelModeDriver$(PlatformToolsetVer)
-
-
+ Windows10
True
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
Desktop
-
+ Windows10
True
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
@@ -101,12 +100,12 @@
WindowsKernelModeDriver$(PlatformToolsetVer)
-
-
+ Windows10
False
10.0
WindowsKernelModeDriver$(PlatformToolsetVer)
Desktop
+ <_NT_TARGET_VERSION>0x0A00
Windows8
@@ -190,7 +189,7 @@
- OVSExt
+ DBO_OVSE
true
@@ -456,4 +455,4 @@
-
+
\ No newline at end of file
diff --git a/include/openvswitch/json.h b/include/openvswitch/json.h
index 55544076084..d9362567345 100644
--- a/include/openvswitch/json.h
+++ b/include/openvswitch/json.h
@@ -111,13 +111,13 @@ double json_real(const struct json *);
int64_t json_integer(const struct json *);
struct json *json_deep_clone(const struct json *);
-static inline struct json *json_clone(const struct json *);
+static struct json *json_clone(const struct json *);
struct json *json_nullable_clone(const struct json *);
-static inline void json_destroy(struct json *);
+static void json_destroy(struct json *);
size_t json_hash(const struct json *, size_t basis);
bool json_equal(const struct json *, const struct json *);
-
+
/* Parsing JSON. */
enum {
JSPF_TRAILER = 1 << 0 /* Check for garbage following input. */
@@ -133,7 +133,7 @@ struct json *json_from_string(const char *string);
struct json *json_from_serialized_object(const struct json *);
struct json *json_from_file(const char *file_name);
struct json *json_from_stream(FILE *stream);
-
+
/* Serializing JSON. */
enum {
@@ -142,12 +142,12 @@ enum {
};
char *json_to_string(const struct json *, int flags);
void json_to_ds(const struct json *, int flags, struct ds *);
-
+
/* JSON string formatting operations. */
bool json_string_unescape(const char *in, size_t in_len, char **outp);
void json_string_escape(const char *in, struct ds *out);
-
+
/* Inline functions. */
/* Returns 'json', with the reference count incremented. */
diff --git a/lib/wmi.c b/lib/wmi.c
index 44c1d75e9ab..8416e4ced27 100644
--- a/lib/wmi.c
+++ b/lib/wmi.c
@@ -725,7 +725,7 @@ create_wmi_port(char *name) {
L"SELECT * "
L"FROM Msvm_EthernetSwitchExtension "
L"WHERE "
- L"ElementName=\"Open vSwitch Extension\" "
+ L"ElementName=\"dbosoft Open vSwitch Extension\" "
L"AND EnabledState=2 "
L"AND HealthState=5",
WBEM_FLAG_FORWARD_ONLY |
@@ -739,7 +739,7 @@ create_wmi_port(char *name) {
}
if (!get_first_element(penumerate, &pcls_obj)) {
- VLOG_WARN("Open vSwitch Extension is not enabled on any switch");
+ VLOG_WARN("dbosoft Open vSwitch Extension is not enabled on any switch");
retval = false;
goto error;
}
diff --git a/m4/ax_check_openssl.m4 b/m4/ax_check_openssl.m4
index 281d4dc65eb..1433a33ce96 100644
--- a/m4/ax_check_openssl.m4
+++ b/m4/ax_check_openssl.m4
@@ -81,7 +81,7 @@ AC_DEFUN([AX_CHECK_OPENSSL], [
SSL_INCLUDES="-I$ssldir/include"
SSL_LDFLAGS="-L$ssldir/lib"
if test "$WIN32" = "yes"; then
- SSL_LIBS="-lssleay32 -llibeay32"
+ SSL_LIBS="-llibcrypto -llibssl"
SSL_DIR=/$(echo ${ssldir} | ${SED} -e 's/://')
else
SSL_LIBS="-lssl -lcrypto"