On Thu, Jun 4, 2026 at 4:13 PM Mark Michelson <[email protected]> wrote:
>
> Thanks for the this Ilya. I applied this patch and did a cursory
> search. I couldn't find any remaining "shards" (lol) of Windows
> support in the code.

Just to clarify, I mean I applied the patch locally to check it. I did
not apply this patch yet to the github origin remote.

>
> Acked-by: Mark Michelson <[email protected]>
>
> On Thu, Jun 4, 2026 at 11:56 AM Ilya Maximets <[email protected]> wrote:
> >
> > Windows build was broken since the split from OVS.  OVS also recently
> > fully dropped support for building and running on Windows.  Let's
> > remove the bits of the Windows build system to avoid any confusion.
> >
> > Some notes:
> >  * debian/copyright.in is very outdated.  Only removing bits directly
> >    related to the Windows build.
> >  * Comment in ovn-controller-vtep.at is removed without touching any
> >    code because it's just an outdated comment that should've been
> >    removed while moving to Python 3.
> >  * m4/absolute-header.m4 still has one Windows reference, but it is
> >    coming from the original sources and it should remain.
> >  * HOST_NAME_MAX is needed for BSD/OSX, not only for Windows.
> >
> > Signed-off-by: Ilya Maximets <[email protected]>
> > ---
> >  Documentation/automake.mk                 |   1 -
> >  Documentation/index.rst                   |   3 +-
> >  Documentation/intro/install/index.rst     |   1 -
> >  Documentation/intro/install/windows.rst   |  31 ---
> >  Makefile.am                               |  50 +----
> >  NEWS                                      |   2 +
> >  README.rst                                |   2 -
> >  build-aux/automake.mk                     |   1 -
> >  build-aux/cccl                            | 221 ----------------------
> >  configure.ac                              |   3 -
> >  controller-vtep/ovn-controller-vtep.8.xml |   7 +-
> >  controller/chassis.c                      |   1 -
> >  debian/copyright.in                       |  18 --
> >  lib/ovn-util.c                            |  19 --
> >  m4/ax_check_openssl.m4                    |   9 +-
> >  m4/ovn.m4                                 | 133 -------------
> >  northd/lflow-mgr.c                        |  12 --
> >  tests/atlocal.in                          |  15 --
> >  tests/automake.mk                         |  13 +-
> >  tests/ovn-controller-vtep.at              |   1 -
> >  tests/ovs-macros.at                       |  37 ----
> >  tests/test-ovn.c                          |  12 +-
> >  tests/testsuite.patch                     |  76 --------
> >  utilities/checkpatch.py                   |   5 +-
> >  utilities/ovn-appctl.8.xml                |   7 -
> >  utilities/ovn-appctl.c                    |   7 -
> >  26 files changed, 15 insertions(+), 672 deletions(-)
> >  delete mode 100644 Documentation/intro/install/windows.rst
> >  delete mode 100644 build-aux/cccl
> >  delete mode 100644 tests/testsuite.patch
> >
> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> > index aa286ebd9..aa6a81224 100644
> > --- a/Documentation/automake.mk
> > +++ b/Documentation/automake.mk
> > @@ -11,7 +11,6 @@ DOC_SOURCE = \
> >         Documentation/intro/install/fedora.rst \
> >         Documentation/intro/install/general.rst \
> >         Documentation/intro/install/ovn-upgrades.rst \
> > -       Documentation/intro/install/windows.rst \
> >         Documentation/tutorials/index.rst \
> >         Documentation/tutorials/ovn-openstack.rst \
> >         Documentation/tutorials/ovn-sandbox.rst \
> > diff --git a/Documentation/index.rst b/Documentation/index.rst
> > index 36fabb2cc..0b7cbc8f2 100644
> > --- a/Documentation/index.rst
> > +++ b/Documentation/index.rst
> > @@ -49,8 +49,7 @@ First Steps
> >
> >  Getting started with Open Virtual Network (OVN) for Open vSwitch? Start 
> > here.
> >
> > -- **Install:** :doc:`intro/install/general` |
> > -  :doc:`intro/install/windows`
> > +- **Install:** :doc:`intro/install/general`
> >
> >  - **Tutorials:** :doc:`tutorials/ovn-sandbox` |
> >    :doc:`tutorials/ovn-openstack` |
> > diff --git a/Documentation/intro/install/index.rst 
> > b/Documentation/intro/install/index.rst
> > index 2093cbbfa..1db6254b9 100644
> > --- a/Documentation/intro/install/index.rst
> > +++ b/Documentation/intro/install/index.rst
> > @@ -40,7 +40,6 @@ Installation from Source
> >     :maxdepth: 2
> >
> >     general
> > -   windows
> >
> >  Installation from Packages
> >  --------------------------
> > diff --git a/Documentation/intro/install/windows.rst 
> > b/Documentation/intro/install/windows.rst
> > deleted file mode 100644
> > index e5e08e69d..000000000
> > --- a/Documentation/intro/install/windows.rst
> > +++ /dev/null
> > @@ -1,31 +0,0 @@
> > -..
> > -      Licensed under the Apache License, Version 2.0 (the "License"); you 
> > may
> > -      not use this file except in compliance with the License. You may 
> > obtain
> > -      a copy of the License at
> > -
> > -          http://www.apache.org/licenses/LICENSE-2.0
> > -
> > -      Unless required by applicable law or agreed to in writing, software
> > -      distributed under the License is distributed on an "AS IS" BASIS, 
> > WITHOUT
> > -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See 
> > the
> > -      License for the specific language governing permissions and 
> > limitations
> > -      under the License.
> > -
> > -      Convention for heading levels in OVN documentation:
> > -
> > -      =======  Heading 0 (reserved for the title in a document)
> > -      -------  Heading 1
> > -      ~~~~~~~  Heading 2
> > -      +++++++  Heading 3
> > -      '''''''  Heading 4
> > -
> > -      Avoid deeper levels because they do not render well.
> > -
> > -=======================
> > -OVN on Windows
> > -=======================
> > -
> > -OVN on Windows is not currently tested or built.  While the build
> > -system contains some Windows-related scaffolding inherited from
> > -Open vSwitch, there are no maintained build instructions or CI
> > -coverage for this platform.
> > diff --git a/Makefile.am b/Makefile.am
> > index 4d62da3c2..212aeb314 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -21,14 +21,6 @@ AM_LDFLAGS += $(OVS_LDFLAGS)
> >
> >  AM_CPPFLAGS += -I $(top_srcdir)/include
> >
> > -if WIN32
> > -AM_CPPFLAGS += $(PTHREAD_INCLUDES)
> > -AM_CPPFLAGS += $(MSVC_CFLAGS)
> > -AM_LDFLAGS += $(PTHREAD_LDFLAGS)
> > -AM_LDFLAGS += $(MSVC64_LDFLAGS)
> > -PLATFORM = $(MSVC_PLATFORM)
> > -endif
> > -
> >  AM_CPPFLAGS += -I $(top_srcdir)/include
> >  AM_CPPFLAGS += -I $(top_srcdir)/ovn
> >  AM_CPPFLAGS += -I $(top_builddir)/include
> > @@ -57,18 +49,13 @@ endif
> >
> >  AM_CTAGSFLAGS = $(OVS_CTAGS_IDENTIFIERS_LIST)
> >
> > -if WIN32
> > -psep=";"
> > -else
> > -psep=":"
> > -endif
> >  # PYTHONDONTWRITEBYTECODE=yes keeps Python from creating .pyc and .pyo
> >  # files.  Creating .py[co] works OK for any given version of Open
> >  # vSwitch, but it causes trouble if you switch from a version with
> >  # foo/__init__.py into an (older) version with plain foo.py, since
> >  # foo/__init__.pyc will cause Python to ignore foo.py.
> >  run_python = \
> > -       PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH \
> > +       PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH \
> >         PYTHONDONTWRITEBYTECODE=yes $(PYTHON3)
> >
> >  ALL_LOCAL =
> > @@ -176,7 +163,7 @@ submodules = $(shell grep 'path =' 
> > $(srcdir)/.gitmodules | sed -E 's/[\t ]*path
> >
> >  SUFFIXES += .in
> >  .in:
> > -       
> > $(AM_V_GEN)PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH$(psep)$(srcdir)/python
> >  $(PYTHON3) $(srcdir)/build-aux/soexpand.py -I$(srcdir) -I$(OVS_SRCDIR) < 
> > $< | \
> > +       
> > $(AM_V_GEN)PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH:$(srcdir)/python 
> > $(PYTHON3) $(srcdir)/build-aux/soexpand.py -I$(srcdir) -I$(OVS_SRCDIR) < $< 
> > | \
> >           $(PYTHON3) $(srcdir)/build-aux/dpdkstrip.py $(DPDKSTRIP_FLAGS) | \
> >           sed \
> >             -e 's,[@]PKIDIR[@],$(PKIDIR),g' \
> > @@ -275,7 +262,7 @@ config-h-check:
> >         fi
> >  .PHONY: config-h-check
> >
> > -# Check for printf() type modifiers that MSVC doesn't support.
> > +# Check for non-portable printf() type modifiers.
> >  ALL_LOCAL += printf-check
> >  printf-check:
> >         @cd $(srcdir); \
> > @@ -444,7 +431,7 @@ CLEANFILES += flake8-check
> >
> >  include $(srcdir)/manpages.mk
> >  $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.py 
> > $(OVS_SRCDIR)/python/ovs_build_helpers/soutil.py
> > -       
> > @PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH$(psep)$(srcdir)/python 
> > $(PYTHON3) $(srcdir)/build-aux/sodepends.py -I. -Isrcdir,$(srcdir) 
> > -IOVS_MANDIR,$(OVS_MANDIR) $(MAN_ROOTS) >$(@F).tmp
> > +       @PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH:$(srcdir)/python 
> > $(PYTHON3) $(srcdir)/build-aux/sodepends.py -I. -Isrcdir,$(srcdir) 
> > -IOVS_MANDIR,$(OVS_MANDIR) $(MAN_ROOTS) >$(@F).tmp
> >         @if cmp -s $(@F).tmp $@; then \
> >           touch $@; \
> >           rm -f $(@F).tmp; \
> > @@ -453,35 +440,6 @@ $(srcdir)/manpages.mk: $(MAN_ROOTS) 
> > build-aux/sodepends.py $(OVS_SRCDIR)/python/
> >         fi
> >  CLEANFILES += manpage-dep-check
> >
> > -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
> > -
> > -
> > -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
> > -endif
> > -.PHONY: ovsext
> > -
> >  clang-analyze: clean
> >         @which clang scan-build >/dev/null 2>&1 || \
> >           (echo "Unable to find clang/scan-build, Install 
> > clang,clang-analyzer packages"; exit 1)
> > diff --git a/NEWS b/NEWS
> > index c7cec2c33..8328b7bc8 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -18,6 +18,8 @@ Post v26.03.0
> >       static routes as higher-priority than connected routes, which in turn 
> > led
> >       to changes in administrative distance for specific route types. 
> > Please see
> >       the "Route Administrative Distance" section of the ovn-northd manpage.
> > +   - Windows support was broken since the split from OVS repository.
> > +     Remaining bits of the build system and the documentation are now 
> > removed.
> >
> >  OVN v26.03.0 - xxx xx xxxx
> >  --------------------------
> > diff --git a/README.rst b/README.rst
> > index 0dac01986..9b09e22ff 100644
> > --- a/README.rst
> > +++ b/README.rst
> > @@ -91,8 +91,6 @@ As mentioned, OVN is licensed under the open source 
> > Apache 2 license. Some
> >  files may be marked specifically with a different license, in which case 
> > that
> >  license applies to the file in question.
> >
> > -File build-aux/cccl is licensed under the GNU General Public License, 
> > version 2.
> > -
> >  Contact
> >  -------
> >
> > diff --git a/build-aux/automake.mk b/build-aux/automake.mk
> > index 046d7d84f..cd9c9dfea 100644
> > --- a/build-aux/automake.mk
> > +++ b/build-aux/automake.mk
> > @@ -1,7 +1,6 @@
> >  EXTRA_DIST += \
> >         build-aux/calculate-pipeline-cksum \
> >         build-aux/calculate-schema-cksum \
> > -       build-aux/cccl \
> >         build-aux/cksum-pipeline-check \
> >         build-aux/cksum-schema-check \
> >         build-aux/dist-docs \
> > diff --git a/build-aux/cccl b/build-aux/cccl
> > deleted file mode 100644
> > index e2426fb3e..000000000
> > --- a/build-aux/cccl
> > +++ /dev/null
> > @@ -1,221 +0,0 @@
> > -#!/bin/sh
> > -
> > -# cccl
> > -# Wrapper around MS's cl.exe and link.exe to make them act more like
> > -# Unix cc and ld
> > -#
> > -# Copyright (C) 2000-2003 Geoffrey Wossum ([email protected])
> > -#
> > -# This program is free software; you can redistribute it and/or modify
> > -# it under the terms of the GNU General Public License as published by
> > -# the Free Software Foundation; either version 2 of the License, or
> > -# (at your option) any later version.
> > -#
> > -# This program is distributed in the hope that it will be useful, but
> > -# WITHOUT ANY WARRANTY; without even the implied warranty of
> > -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the GNU
> > -# General Public License for more details.
> > -#
> > -# You should have received a copy of the GNU General Public License
> > -# along with this program; if not, write to the Free Software
> > -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
> > USA.
> > -#
> > -
> > -usage()
> > -{
> > -    cat <<EOF
> > -Usage: cccl [OPTIONS]
> > -
> > -cccl is a wrapper around Microsoft's cl.exe and link.exe.  It translates
> > -parameters that Unix cc's and ld's understand to parameters that cl and 
> > link
> > -understand.
> > -EOF
> > -    exit $1
> > -}
> > -
> > -case $MACHTYPE in
> > -    *-msys)
> > -        slash="-"
> > -        ;;
> > -    *)
> > -        slash="/"
> > -        ;;
> > -esac
> > -# prog specifies the program that should be run (cl.exe or link.exe)
> > -# We'll assume cl to start out
> > -prog=cl
> > -# opts specifies the command line to pass to the MSVC program
> > -clopt="${slash}nologo ${slash}FS"
> > -linkopt="${slash}nologo"
> > -# gotparam is 0 if we didn't ever see a param, in which case we show 
> > usage()
> > -gotparam=
> > -
> > -# We want exceptions
> > -clopt="$clopt ${slash}EHsc"
> > -
> > -### Run through every option and convert it to the proper MS one
> > -while test $# -gt 0; do
> > -    case "$1" in
> > -    -D*) optarg= ;;
> > -    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
> > -    *) optarg= ;;
> > -    esac
> > -    gotparam=1
> > -
> > -    case "$1" in
> > -    --version)
> > -        cat <<EOF
> > -cccl 0.03
> > -
> > -Copyright 2000-2003 Geoffrey Wossum
> > -This is free software; see the source for copying conditions.  There is NO
> > -waranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> > -EOF
> > -        exit 1;
> > -        ;;
> > -
> > -    -ansi)
> > -        clopt="$clopt ${slash}Za"
> > -        ;;
> > -
> > -    -c)
> > -        # -c (compile only) is actually the same, but for clarity...
> > -        clopt="$clopt ${slash}c"
> > -        ;;
> > -
> > -    -g[0-9] | -g)
> > -        # cl only supports one debugging level
> > -        clopt="$clopt ${slash}Zi"
> > -        linkopt="$linkopt ${slash}DEBUG"
> > -        ;;
> > -
> > -    -O0)
> > -        clopt="$clopt ${slash}Od ${slash}D_DEBUG ${slash}MTd"
> > -        ;;
> > -
> > -    -O2)
> > -        clopt="$clopt ${slash}O2 ${slash}MT"
> > -        ;;
> > -
> > -    -L*)
> > -        path=`echo "$1" | sed 's/-L//'`
> > -        linkopt="$linkopt ${slash}LIBPATH:$path"
> > -        cl_linkopt="${slash}link ${slash}LIBPATH:\"$path\""
> > -        ;;
> > -
> > -    -l*)
> > -        lib=`echo "$1" | sed 's/-l//'`
> > -        lib="$lib.lib"
> > -
> > -        clopt="$clopt $lib"
> > -        linkopt="$linkopt $lib"
> > -        ;;
> > -
> > -    -m386)
> > -        clopt="$clopt ${slash}G3"
> > -        ;;
> > -
> > -    -m486)
> > -        clopt="$clopt ${slash}G4"
> > -        ;;
> > -
> > -    -mpentium)
> > -        clopt="$clopt ${slash}G5"
> > -        ;;
> > -
> > -    -mpentiumpro)
> > -        clopt="$clopt ${slash}G6"
> > -        ;;
> > -
> > -    -o)
> > -        # specifying output file, is it an object or an executable
> > -        shift
> > -        case "$1" in
> > -        *.o | *.obj)
> > -            clopt="$clopt ${slash}Fo$1"
> > -        ;;
> > -        *)
> > -            clopt="$clopt ${slash}Fe$1";
> > -            linkopt="$linkopt ${slash}out:$1"
> > -        ;;
> > -        esac;;
> > -
> > -    -pedantic)
> > -        #ignore pedantic
> > -        ;;
> > -
> > -    -Wall)
> > -        # not all warnings are implemented
> > -        # the following is equivalent to
> > -        # Wimplicit-function-declaration but we will issue a compiler
> > -        # error
> > -        clopt="$clopt ${slash}we4013"
> > -        ;;
> > -
> > -    -W*)
> > -        #ignore warnings
> > -        ;;
> > -
> > -    -Q*)
> > -        #ignore link warnings
> > -        ;;
> > -
> > -    -fno-strict-aliasing*)
> > -        #ignore aliasing
> > -        ;;
> > -
> > -    -isystem)
> > -        shift
> > -        clopt="$clopt -I$1"
> > -        ;;
> > -
> > -    -MT)
> > -        exit 0
> > -        ;;
> > -
> > -    -mno-cygwin)
> > -        ;;
> > -
> > -    *.cc | *.cxx | *.C)
> > -        # C++ source file with non .cpp extension, make sure cl understand
> > -        # that it is C++
> > -        clopt="$clopt ${slash}Tp$1"
> > -        ;;
> > -
> > -    *.o | *.obj | *.a | *.lib)
> > -        # Object files/libraries seen, this command will require link
> > -        # Switch the prog to link
> > -        linkopt="$linkopt $1"
> > -        prog="link"
> > -        ;;
> > -
> > -    *)
> > -        clopt="$clopt $1"
> > -        linkopt="$linkopt $1"
> > -        if test x$optarg != x ; then
> > -            clopt="$clopt=$optarg"
> > -            linkopt="$linkopt=$optarg"
> > -        fi
> > -        ;;
> > -
> > -    esac
> > -    shift
> > -done
> > -
> > -if test x$gotparam = x ; then
> > -    usage
> > -    exit 1
> > -fi
> > -
> > -# choose which opts we built up based on which program will actually run
> > -if test x$prog = xcl ; then
> > -    opts="$clopt $cl_linkopt"
> > -else
> > -    opts=$linkopt
> > -fi
> > -
> > -if test x$V = x1 ; then
> > -    echo "$prog $opts"
> > -fi
> > -exec $prog $opts
> > -exit 0
> > diff --git a/configure.ac b/configure.ac
> > index 025dccc63..cfa4cc386 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -82,9 +82,6 @@ AC_SEARCH_LIBS([pthread_rwlock_tryrdlock], [pthread])
> >  AC_SEARCH_LIBS([pthread_rwlockattr_destroy], [pthread])
> >  AC_FUNC_STRERROR_R
> >
> > -OVS_CHECK_WIN64
> > -OVS_CHECK_WIN32
> > -OVS_CHECK_VISUAL_STUDIO_DDK
> >  OVN_CHECK_COVERAGE
> >  OVS_CHECK_NDEBUG
> >  OVS_CHECK_NETLINK
> > diff --git a/controller-vtep/ovn-controller-vtep.8.xml 
> > b/controller-vtep/ovn-controller-vtep.8.xml
> > index 9d470cd63..ea3ac155e 100644
> > --- a/controller-vtep/ovn-controller-vtep.8.xml
> > +++ b/controller-vtep/ovn-controller-vtep.8.xml
> > @@ -74,12 +74,7 @@
> >            <code>unix:<var>file</var></code>
> >          </p>
> >          <p>
> > -          On POSIX, connect to the Unix domain server socket named
> > -          <var>file</var>.
> > -        </p>
> > -        <p>
> > -          On Windows, connect to a localhost TCP port whose value is 
> > written
> > -          in <var>file</var>.
> > +          Connect to the Unix domain server socket named <var>file</var>.
> >          </p>
> >        </li>
> >      </ul>
> > diff --git a/controller/chassis.c b/controller/chassis.c
> > index 4afb6da93..ea64c9f81 100644
> > --- a/controller/chassis.c
> > +++ b/controller/chassis.c
> > @@ -33,7 +33,6 @@
> >  VLOG_DEFINE_THIS_MODULE(chassis);
> >
> >  #ifndef HOST_NAME_MAX
> > -/* For windows. */
> >  #define HOST_NAME_MAX 255
> >  #endif /* HOST_NAME_MAX */
> >
> > diff --git a/debian/copyright.in b/debian/copyright.in
> > index 335fd6af8..bc5cb37a1 100644
> > --- a/debian/copyright.in
> > +++ b/debian/copyright.in
> > @@ -49,24 +49,6 @@ License:
> >    On Debian systems, the complete text of the GNU General Public License
> >    version 2 can be found in `/usr/share/common-licenses/GPL-2'
> >
> > -* The following file is licensed under the GNU General Public License
> > -  version 2.
> > -
> > -        build-aux/cccl
> > -
> > -* The following files are licensed under the 2-clause BSD license.
> > -
> > -        lib/getopt_long.c
> > -        include/windows/getopt.h
> > -        datapath-windows/ovsext/Conntrack-tcp.c
> > -        lib/conntrack-tcp.c
> > -
> > -* The following files are licensed under the 3-clause BSD-license
> > -
> > -        include/windows/netinet/icmp6.h
> > -        include/windows/netinet/ip6.h
> > -        lib/strsep.c
> > -
> >  * The following components are dual-licensed under the
> >    GNU General Public License version 2 and the Apache License Version 2.0.
> >
> > diff --git a/lib/ovn-util.c b/lib/ovn-util.c
> > index fb02825ac..e6143d7a9 100644
> > --- a/lib/ovn-util.c
> > +++ b/lib/ovn-util.c
> > @@ -670,16 +670,9 @@ default_br_db(void)
> >  char *
> >  get_abs_unix_ctl_path(const char *path)
> >  {
> > -#ifdef _WIN32
> > -    enum { WINDOWS = 1 };
> > -#else
> > -    enum { WINDOWS = 0 };
> > -#endif
> > -
> >      long int pid = getpid();
> >      char *abs_path
> >          = (path ? abs_file_name(ovn_rundir(), path)
> > -           : WINDOWS ? xasprintf("%s/%s.ctl", ovn_rundir(), program_name)
> >             : xasprintf("%s/%s.%ld.ctl", ovn_rundir(), program_name, pid));
> >      return abs_path;
> >  }
> > @@ -689,20 +682,8 @@ ovn_set_pidfile(const char *name)
> >  {
> >      char *pidfile_name = NULL;
> >
> > -#ifndef _WIN32
> >      pidfile_name = name ? abs_file_name(ovn_rundir(), name)
> >                          : xasprintf("%s/%s.pid", ovn_rundir(), 
> > program_name);
> > -#else
> > -    if (name) {
> > -        if (strchr(name, ':')) {
> > -            pidfile_name = xstrdup(name);
> > -        } else {
> > -            pidfile_name = xasprintf("%s/%s", ovn_rundir(), name);
> > -        }
> > -    } else {
> > -        pidfile_name = xasprintf("%s/%s.pid", ovn_rundir(), program_name);
> > -    }
> > -#endif
> >
> >      /* Call openvswitch lib function. */
> >      set_pidfile(pidfile_name);
> > diff --git a/m4/ax_check_openssl.m4 b/m4/ax_check_openssl.m4
> > index 281d4dc65..9fbdf9eb1 100644
> > --- a/m4/ax_check_openssl.m4
> > +++ b/m4/ax_check_openssl.m4
> > @@ -80,13 +80,8 @@ AC_DEFUN([AX_CHECK_OPENSSL], [
> >              if test -f "$ssldir/include/openssl/ssl.h"; then
> >                  SSL_INCLUDES="-I$ssldir/include"
> >                  SSL_LDFLAGS="-L$ssldir/lib"
> > -                if test "$WIN32" = "yes"; then
> > -                    SSL_LIBS="-lssleay32 -llibeay32"
> > -                    SSL_DIR=/$(echo ${ssldir} | ${SED} -e 's/://')
> > -                else
> > -                    SSL_LIBS="-lssl -lcrypto"
> > -                    SSL_DIR="$ssldir"
> > -                fi
> > +                SSL_LIBS="-lssl -lcrypto"
> > +                SSL_DIR="$ssldir"
> >                  found=true
> >                  AC_MSG_RESULT([yes])
> >                  break
> > diff --git a/m4/ovn.m4 b/m4/ovn.m4
> > index 93a959224..22ad1a27f 100644
> > --- a/m4/ovn.m4
> > +++ b/m4/ovn.m4
> > @@ -60,139 +60,6 @@ AC_DEFUN([OVS_CHECK_NDEBUG],
> >       [ndebug=false])
> >     AM_CONDITIONAL([NDEBUG], [test x$ndebug = xtrue])])
> >
> > -dnl Checks for MSVC x64 compiler.
> > -AC_DEFUN([OVS_CHECK_WIN64],
> > -  [AC_CACHE_CHECK(
> > -    [for MSVC x64 compiler],
> > -    [cl_cv_x64],
> > -    [dnl "cl" writes x64 output to stdin:
> > -     if (cl) 2>&1 | grep 'x64' >/dev/null 2>&1; then
> > -       cl_cv_x64=yes
> > -       MSVC64_LDFLAGS=" /MACHINE:X64 "
> > -       MSVC_PLATFORM="x64"
> > -     else
> > -       cl_cv_x64=no
> > -       MSVC64_LDFLAGS=""
> > -       MSVC_PLATFORM="x86"
> > -     fi])
> > -     AC_SUBST([MSVC64_LDFLAGS])
> > -     AC_SUBST([MSVC_PLATFORM])
> > -])
> > -
> > -dnl Checks for WINDOWS.
> > -AC_DEFUN([OVS_CHECK_WIN32],
> > -  [AC_CHECK_HEADER([windows.h],
> > -                   [WIN32=yes],
> > -                   [WIN32=no])
> > -   AM_CONDITIONAL([WIN32], [test "$WIN32" = yes])
> > -   if test "$WIN32" = yes; then
> > -      AC_ARG_WITH([pthread],
> > -         [AS_HELP_STRING([--with-pthread=DIR],
> > -            [root of the pthread-win32 directory])],
> > -         [
> > -            case "$withval" in
> > -            "" | y | ye | yes | n | no)
> > -            AC_MSG_ERROR([Invalid --with-pthread value])
> > -              ;;
> > -            *)
> > -            if (cl) 2>&1 | grep 'x64' >/dev/null 2>&1; then
> > -              cl_cv_x64=yes
> > -            else
> > -              cl_cv_x64=no
> > -            fi
> > -            if test "$cl_cv_x64" = yes; then
> > -                PTHREAD_WIN32_DIR=$withval/lib/x64
> > -                PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 
> > 's/://')/dll/x64
> > -                PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x64
> > -            else
> > -                PTHREAD_WIN32_DIR=$withval/lib/x86
> > -                PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 
> > 's/://')/dll/x86
> > -                PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x86
> > -            fi
> > -            PTHREAD_INCLUDES=-I$withval/include
> > -            PTHREAD_LDFLAGS=-L$PTHREAD_WIN32_DIR
> > -            PTHREAD_LIBS="-lpthreadVC2"
> > -            AC_SUBST([PTHREAD_WIN32_DIR_DLL_WIN_FORM])
> > -            AC_SUBST([PTHREAD_WIN32_DIR_DLL])
> > -            AC_SUBST([PTHREAD_INCLUDES])
> > -            AC_SUBST([PTHREAD_LDFLAGS])
> > -            AC_SUBST([PTHREAD_LIBS])
> > -              ;;
> > -            esac
> > -         ], [
> > -            AC_MSG_ERROR([pthread directory not specified])
> > -         ]
> > -      )
> > -      AC_ARG_WITH([debug],
> > -         [AS_HELP_STRING([--with-debug],
> > -            [Build without compiler optimizations])],
> > -         [
> > -            MSVC_CFLAGS="-O0"
> > -            AC_SUBST([MSVC_CFLAGS])
> > -         ], [
> > -            MSVC_CFLAGS="-O2"
> > -            AC_SUBST([MSVC_CFLAGS])
> > -         ]
> > -      )
> > -
> > -      AC_DEFINE([WIN32], [1], [Define to 1 if building on WIN32.])
> > -      AC_CHECK_TYPES([struct timespec], [], [], [[#include <time.h>]])
> > -      AH_BOTTOM([#ifdef WIN32
> > -#include "include/windows/windefs.h"
> > -#endif])
> > -   fi])
> > -
> > -dnl OVS_CHECK_WINDOWS
> > -dnl
> > -dnl Configure Visual Studio solution build
> > -AC_DEFUN([OVS_CHECK_VISUAL_STUDIO_DDK], [
> > -AC_ARG_WITH([vstudiotarget],
> > -         [AS_HELP_STRING([--with-vstudiotarget=target_type],
> > -            [Target type: Debug/Release])],
> > -         [
> > -            case "$withval" in
> > -            "Release") ;;
> > -            "Debug") ;;
> > -            *) AC_MSG_ERROR([No valid Visual Studio configuration found]) 
> > ;;
> > -            esac
> > -
> > -            VSTUDIO_CONFIG=$withval
> > -         ], [
> > -            VSTUDIO_CONFIG=
> > -         ]
> > -      )
> > -
> > -  AC_SUBST([VSTUDIO_CONFIG])
> > -
> > -AC_ARG_WITH([vstudiotargetver],
> > -         [AS_HELP_STRING([--with-vstudiotargetver=target_ver1,target_ver2],
> > -            [Target versions: Win8,Win8.1,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
> > -         ]
> > -      )
> > -
> > -  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"])
> > -
> > -  AC_DEFINE([VSTUDIO_DDK], [1], [System uses the Visual Studio build 
> > target.])
> > -  AM_CONDITIONAL([VSTUDIO_DDK], [test -n "$VSTUDIO_CONFIG"])
> > -])
> > -
> >  dnl Checks for OpenSSL.
> >  AC_DEFUN([OVS_CHECK_OPENSSL],
> >    [AC_ARG_ENABLE(
> > diff --git a/northd/lflow-mgr.c b/northd/lflow-mgr.c
> > index 3b8cbe472..ce9c4f854 100644
> > --- a/northd/lflow-mgr.c
> > +++ b/northd/lflow-mgr.c
> > @@ -1168,12 +1168,6 @@ sync_lflow_to_sb(struct ovn_lflow *lflow,
> >           * "ovn/northd/northd.c:1234", down to just the part following the
> >           * last slash, e.g. "northd.c:1234". */
> >          const char *slash = strrchr(lflow->where, '/');
> > -#if _WIN32
> > -        const char *backslash = strrchr(lflow->where, '\\');
> > -        if (!slash || backslash > slash) {
> > -            slash = backslash;
> > -        }
> > -#endif
> >          const char *where = slash ? slash + 1 : lflow->where;
> >
> >          struct smap ids = SMAP_INITIALIZER(&ids);
> > @@ -1213,12 +1207,6 @@ sync_lflow_to_sb(struct ovn_lflow *lflow,
> >                   * like "ovn/northd/northd.c:1234", down to just the part
> >                   * following the last slash, e.g. "northd.c:1234". */
> >                  const char *slash = strrchr(lflow->where, '/');
> > -#if _WIN32
> > -                const char *backslash = strrchr(lflow->where, '\\');
> > -                if (!slash || backslash > slash) {
> > -                    slash = backslash;
> > -                }
> > -#endif
> >                  const char *where = slash ? slash + 1 : lflow->where;
> >
> >                  if (strcmp(source, where)) {
> > diff --git a/tests/atlocal.in b/tests/atlocal.in
> > index 477d56a0f..2683e9a2f 100644
> > --- a/tests/atlocal.in
> > +++ b/tests/atlocal.in
> > @@ -74,29 +74,14 @@ esac
> >
> >  # Check for platform.
> >  case `uname` in
> > -MINGW*|MSYS*)
> > -    IS_WIN32="yes"
> > -    IS_BSD="no"
> > -    ;;
> >  FreeBSD|NetBSD)
> > -    IS_WIN32="no"
> >      IS_BSD="yes"
> >      ;;
> >  *)
> > -    IS_WIN32="no"
> >      IS_BSD="no"
> >      ;;
> >  esac
> >
> > -if test x"$PYTHON3" != x && test "$IS_WIN32" = yes; then
> > -    # enables legacy windows unicode printing needed for Python3 
> > compatibility
> > -    # with the Python2 tests
> > -    PYTHONLEGACYWINDOWSFSENCODING=true
> > -    export PYTHONLEGACYWINDOWSFSENCODING
> > -    PYTHONLEGACYWINDOWSSTDIO=true
> > -    export PYTHONLEGACYWINDOWSSTDIO
> > -fi
> > -
> >  # Check whether to run IPv6 tests.
> >  $PYTHON -c '
> >  import errno
> > diff --git a/tests/automake.mk b/tests/automake.mk
> > index 46be217ae..76ef4fda0 100644
> > --- a/tests/automake.mk
> > +++ b/tests/automake.mk
> > @@ -15,8 +15,7 @@ EXTRA_DIST += \
> >         $(MULTINODE_TESTSUITE) \
> >         tests/atlocal.in \
> >         $(srcdir)/package.m4 \
> > -       $(srcdir)/tests/testsuite \
> > -       $(srcdir)/tests/testsuite.patch
> > +       $(srcdir)/tests/testsuite
> >
> >  COMMON_MACROS_AT = \
> >         tests/ovsdb-macros.at \
> > @@ -81,7 +80,6 @@ MULTINODE_TESTSUITE_AT = \
> >  check_SCRIPTS += tests/atlocal
> >
> >  TESTSUITE = $(srcdir)/tests/testsuite
> > -TESTSUITE_PATCH = $(srcdir)/tests/testsuite.patch
> >  TESTSUITE_DIR = $(abs_top_builddir)/tests/testsuite.dir
> >  SYSTEM_DPDK_TESTSUITE = $(srcdir)/tests/system-dpdk-testsuite
> >  SYSTEM_KMOD_TESTSUITE = $(srcdir)/tests/system-kmod-testsuite
> > @@ -93,7 +91,7 @@ DISTCLEANFILES += tests/atconfig tests/atlocal
> >  MULTINODE_TESTSUITE = $(srcdir)/tests/multinode-testsuite
> >  MULTINODE_TESTSUITE_DIR = $(abs_top_builddir)/tests/multinode-testsuite.dir
> >  MULTINODE_TESTSUITE_RESULTS = $(MULTINODE_TESTSUITE_DIR)/results
> > -AUTOTEST_PATH = 
> > $(ovs_builddir)/utilities:$(ovs_builddir)/vswitchd:$(ovs_builddir)/ovsdb:$(ovs_builddir)/vtep:tests:$(PTHREAD_WIN32_DIR_DLL):$(SSL_DIR):controller-vtep:northd:utilities:controller:ic:br-controller
> > +AUTOTEST_PATH = 
> > $(ovs_builddir)/utilities:$(ovs_builddir)/vswitchd:$(ovs_builddir)/ovsdb:$(ovs_builddir)/vtep:tests:$(SSL_DIR):controller-vtep:northd:utilities:controller:ic:br-controller
> >
> >  export ovs_srcdir
> >  export ovs_builddir
> > @@ -237,16 +235,9 @@ check-multinode: all
> >
> >  AUTOTEST = $(AUTOM4TE) --language=autotest
> >
> > -if WIN32
> > -$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) 
> > $(TESTSUITE_PATCH)
> > -       $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o testsuite.tmp [email protected]
> > -       patch -p0 testsuite.tmp $(TESTSUITE_PATCH)
> > -       $(AM_V_at)mv testsuite.tmp $@
> > -else
> >  $(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT)
> >         $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected]
> >         $(AM_V_at)mv [email protected] $@
> > -endif
> >
> >  $(SYSTEM_DPDK_TESTSUITE): package.m4 $(SYSTEM_TESTSUITE_AT) 
> > $(SYSTEM_DPDK_TESTSUITE_AT) $(COMMON_MACROS_AT)
> >         $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected]
> > diff --git a/tests/ovn-controller-vtep.at b/tests/ovn-controller-vtep.at
> > index caf53e291..213e222ed 100644
> > --- a/tests/ovn-controller-vtep.at
> > +++ b/tests/ovn-controller-vtep.at
> > @@ -13,7 +13,6 @@ AT_BANNER([ovn_controller_vtep])
> >  #
> >  m4_define([OVN_CONTROLLER_VTEP_START], [
> >     AT_KEYWORDS([ovn])
> > -   # this will cause skip when 'make check' using Windows setup.
> >     sim="$1"
> >     tunnel_ip="$2"
> >     vtep_chassis=${sim:-br-vtep}
> > diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
> > index 6e6e52080..95d522b70 100644
> > --- a/tests/ovs-macros.at
> > +++ b/tests/ovs-macros.at
> > @@ -105,43 +105,6 @@ seq () {
> >      done
> >  }
> >
> > -if test "$IS_WIN32" = "yes"; then
> > -    pwd () {
> > -        command pwd -W "$@"
> > -    }
> > -
> > -    diff () {
> > -        command diff --strip-trailing-cr "$@"
> > -    }
> > -
> > -    # tskill is more effective than taskkill but it isn't always installed.
> > -    if (tskill //?) >/dev/null 2>&1; then :; else
> > -        tskill () { taskkill //F //PID $1 >/dev/null; }
> > -    fi
> > -
> > -    kill () {
> > -        signal=
> > -        retval=0
> > -        for arg; do
> > -            case $arg in
> > -            -*) signal=$arg ;;
> > -            [1-9][0-9]*)
> > -                # tasklist always returns 0.
> > -                # If pid does exist, there will be a line with the pid.
> > -                if tasklist //fi "PID eq $arg" | grep $arg >/dev/null; then
> > -                    if test "X$signal" != "X-0"; then
> > -                        tskill $arg
> > -                    fi
> > -                else
> > -                    retval=1
> > -                fi
> > -                ;;
> > -            esac
> > -        done
> > -        return $retval
> > -    }
> > -fi
> > -
> >  # parent_pid PID
> >  #
> >  # Prints the PID of the parent of process PID.
> > diff --git a/tests/test-ovn.c b/tests/test-ovn.c
> > index 3c89eeba0..114e60d65 100644
> > --- a/tests/test-ovn.c
> > +++ b/tests/test-ovn.c
> > @@ -1058,7 +1058,6 @@ test_tree_shape_exhaustively(struct expr *expr, 
> > struct shash *symtab,
> >      }
> >  }
> >
> > -#ifndef _WIN32
> >  static void
> >  wait_pid(pid_t *pids, int *n)
> >  {
> > @@ -1087,7 +1086,6 @@ wait_pid(pid_t *pids, int *n)
> >      }
> >      ovs_fatal(0, "waitpid returned unknown child");
> >  }
> > -#endif
> >
> >  static void
> >  test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED)
> > @@ -1118,10 +1116,8 @@ test_exhaustive(struct ovs_cmdl_context *ctx 
> > OVS_UNUSED)
> >          free(name);
> >      }
> >
> > -#ifndef _WIN32
> >      pid_t *children = xmalloc(test_parallel * sizeof *children);
> >      int n_children = 0;
> > -#endif
> >
> >      int n_tested = 0;
> >      for (int i = 0; i < 2; i++) {
> > @@ -1144,7 +1140,6 @@ test_exhaustive(struct ovs_cmdl_context *ctx 
> > OVS_UNUSED)
> >                  ds_destroy(&s);
> >              }
> >
> > -#ifndef _WIN32
> >              if (test_parallel > 1) {
> >                  pid_t pid = xfork();
> >                  if (!pid) {
> > @@ -1160,9 +1155,7 @@ test_exhaustive(struct ovs_cmdl_context *ctx 
> > OVS_UNUSED)
> >                      }
> >                      children[n_children++] = pid;
> >                  }
> > -            } else
> > -#endif
> > -            {
> > +            } else {
> >                  n_tested += test_tree_shape_exhaustively(
> >                      expr, &symtab, terminals, n_terminals,
> >                      nvars, test_nvars, test_bits,
> > @@ -1171,12 +1164,11 @@ test_exhaustive(struct ovs_cmdl_context *ctx 
> > OVS_UNUSED)
> >              expr_destroy(expr);
> >          }
> >      }
> > -#ifndef _WIN32
> > +
> >      while (n_children > 0) {
> >          wait_pid(children, &n_children);
> >      }
> >      free(children);
> > -#endif
> >
> >      printf("Tested ");
> >      switch (operation) {
> > diff --git a/tests/testsuite.patch b/tests/testsuite.patch
> > deleted file mode 100644
> > index e0c6bb35a..000000000
> > --- a/tests/testsuite.patch
> > +++ /dev/null
> > @@ -1,76 +0,0 @@
> > ---- testsuite  2015-02-11 17:19:21.654646439 -0800
> > -+++ testsuite  2015-02-11 17:15:03.810653032 -0800
> > -@@ -4669,6 +4669,73 @@
> > -   fi
> > -   exec 6<&-
> > -   wait
> > -+elif test $at_jobs -ne 1 &&
> > -+     test "$IS_WIN32" = "yes"; then
> > -+  # FIFO job dispatcher.
> > -+  trap 'at_pids=
> > -+      for at_pid in `jobs -p`; do
> > -+        at_pids="$at_pids $at_job_group$at_pid"
> > -+      done
> > -+      if test -n "$at_pids"; then
> > -+        at_sig=TSTP
> > -+        test "${TMOUT+set}" = set && at_sig=STOP
> > -+        kill -$at_sig $at_pids 2>/dev/null
> > -+      fi
> > -+      kill -STOP $$
> > -+      test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP
> > -+
> > -+  echo
> > -+  # Turn jobs into a list of numbers, starting from 1.
> > -+  running_jobs="`pwd`/tests/jobdispatcher"
> > -+  mkdir -p $running_jobs
> > -+  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`
> > -+
> > -+  set X $at_joblist
> > -+  shift
> > -+  for at_group in $at_groups; do
> > -+    $at_job_control_on 2>/dev/null
> > -+    (
> > -+      # Start one test group.
> > -+      $at_job_control_off
> > -+      touch $running_jobs/$at_group
> > -+      trap 'set +x; set +e
> > -+          trap "" PIPE
> > -+          echo stop > "$at_stop_file"
> > -+          rm -f $running_jobs/$at_group
> > -+          as_fn_exit 141' PIPE
> > -+      at_fn_group_prepare
> > -+      if cd "$at_group_dir" &&
> > -+       at_fn_test $at_group &&
> > -+       . "$at_test_source"
> > -+      then :; else
> > -+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse 
> > test group: $at_group" >&5
> > -+$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
> > -+      at_failed=:
> > -+      fi
> > -+      rm -f $running_jobs/$at_group
> > -+      at_fn_group_postprocess
> > -+    ) &
> > -+    $at_job_control_off
> > -+    shift # Consume one token.
> > -+    if test $# -gt 0; then :; else
> > -+      while [ "`ls -l $running_jobs 2>/dev/null | wc -l`" -gt "$at_jobs" 
> > ]; do
> > -+        sleep 0.1
> > -+      done
> > -+      set x $*
> > -+    fi
> > -+    test -f "$at_stop_file" && break
> > -+  done
> > -+  # Read back the remaining ($at_jobs - 1) tokens.
> > -+  set X $at_joblist
> > -+  shift
> > -+  if test $# -gt 0; then
> > -+    shift
> > -+    while [ "`ls -l $running_jobs | wc -l`" -gt 1 ]; do
> > -+      sleep 0.1
> > -+    done
> > -+  fi
> > -+  rmdir $running_jobs
> > -+  wait
> > - else
> > -   # Run serially, avoid forks and other potential surprises.
> > -   for at_group in $at_groups; do
> > diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
> > index c19e34442..ad1199f0c 100755
> > --- a/utilities/checkpatch.py
> > +++ b/utilities/checkpatch.py
> > @@ -1073,10 +1073,7 @@ def ovs_checkpatch_parse(text, filename, 
> > author=None, committer=None):
> >                  interim_line_check(current_file, cmp_line, lineno)
> >                  continue
> >
> > -            # Skip files which have /datapath in them, since they are
> > -            # linux or windows coding standards
> > -            if current_file.startswith('datapath'):
> > -                continue
> > +            # Linux headers use Linux kernel coding style for the most 
> > part.
> >              if current_file.startswith('include/linux'):
> >                  continue
> >              # "sparse" includes could be copy-pasted from different sources
> > diff --git a/utilities/ovn-appctl.8.xml b/utilities/ovn-appctl.8.xml
> > index e3d024da1..b6d7e3dbd 100644
> > --- a/utilities/ovn-appctl.8.xml
> > +++ b/utilities/ovn-appctl.8.xml
> > @@ -142,13 +142,6 @@
> >                to limit the log level change to only to the system log, to 
> > the
> >                console, or to a file, respectively.
> >              </p>
> > -
> > -            <p>
> > -              On Windows platform, <code>syslog</code> is accepted as a 
> > word
> > -              and is only useful if the target was started with the
> > -              <code>--syslog-target</code> option (the word has no effect
> > -              otherwise).
> > -            </p>
> >            </li>
> >
> >            <li>
> > diff --git a/utilities/ovn-appctl.c b/utilities/ovn-appctl.c
> > index dff7d1295..1e872a401 100644
> > --- a/utilities/ovn-appctl.c
> > +++ b/utilities/ovn-appctl.c
> > @@ -214,7 +214,6 @@ connect_to_target(const char *target)
> >      char *socket_name;
> >      int error;
> >
> > -#ifndef _WIN32
> >      if (target[0] != '/') {
> >          char *pidfile_name;
> >          pid_t pid;
> > @@ -227,12 +226,6 @@ connect_to_target(const char *target)
> >          free(pidfile_name);
> >          socket_name = xasprintf("%s/%s.%ld.ctl",
> >                                  ovn_rundir(), target, (long int) pid);
> > -#else
> > -    /* On windows, if the 'target' contains ':', we make an assumption that
> > -     * it is an absolute path. */
> > -    if (!strchr(target, ':')) {
> > -        socket_name = xasprintf("%s/%s.ctl", ovn_rundir(), target);
> > -#endif
> >      } else {
> >          socket_name = xstrdup(target);
> >      }
> > --
> > 2.54.0
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to