diff --git a/Documentation/tutorials/index.rst b/Documentation/tutorials/index.rst
index 0b7f52d0b..865a64018 100644
--- a/Documentation/tutorials/index.rst
+++ b/Documentation/tutorials/index.rst
@@ -30,12 +30,6 @@ Tutorials
 Getting started with Open vSwitch (OVS) and Open Virtual Network (OVN) for Open
 vSwitch.
 
-.. TODO(stephenfin): We could really do with a few basic tutorials, along with
-   some more specialized ones (DPDK, XenServer, Windows). The latter could
-   probably be formed from the install guides, but the former will need to be
-   produced from scratch or reproduced from blogs (with permission of the
-   author)
-
 .. toctree::
    :maxdepth: 2
 
diff --git a/README.rst b/README.rst
index 428cd8ee8..dce8c5bc8 100644
--- a/README.rst
+++ b/README.rst
@@ -91,9 +91,6 @@ license applies to the file in question.
 
 File build-aux/cccl is licensed under the GNU General Public License, version 2.
 
-Files under the xenserver directory are licensed on a file-by-file basis.
-Refer to each file for details.
-
 Contact
 -------
 
diff --git a/acinclude.m4 b/acinclude.m4
index 1a80dfaa7..73a2a51be 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -177,32 +177,6 @@ AC_DEFUN([OVS_CONDITIONAL_CC_OPTION],
    AM_CONDITIONAL([$2], [test $ovs_have_cc_option = yes])])
 dnl ----------------------------------------------------------------------
 
-dnl Check for too-old XenServer.
-AC_DEFUN([OVS_CHECK_XENSERVER_VERSION],
-  [AC_CACHE_CHECK([XenServer release], [ovs_cv_xsversion],
-    [if test -e /etc/redhat-release; then
-       ovs_cv_xsversion=`sed -n 's/^XenServer DDK release \([[^-]]*\)-.*/\1/p' /etc/redhat-release`
-     fi
-     if test -z "$ovs_cv_xsversion"; then
-       ovs_cv_xsversion=none
-     fi])
-  case $ovs_cv_xsversion in
-    none)
-      ;;
-
-    [[1-9]][[0-9]]* |                    dnl XenServer 10 or later
-    [[6-9]]* |                           dnl XenServer 6 or later
-    5.[[7-9]]* |                         dnl XenServer 5.7 or later
-    5.6.[[1-9]][[0-9]][[0-9]][[0-9]]* |  dnl XenServer 5.6.1000 or later
-    5.6.[[2-9]][[0-9]][[0-9]]* |         dnl XenServer 5.6.200 or later
-    5.6.1[[0-9]][[0-9]])                 dnl Xenserver 5.6.100 or later
-      ;;
-
-    *)
-      AC_MSG_ERROR([This appears to be XenServer $ovs_cv_xsversion, but only XenServer 5.6.100 or later is supported.  (If you are really using a supported version of XenServer, you may override this error message by specifying 'ovs_cv_xsversion=5.6.100' on the "configure" command line.)])
-      ;;
-  esac])
-
 dnl OVS_CHECK_SPARSE_TARGET
 dnl
 dnl The "cgcc" script from "sparse" isn't very good at detecting the
diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist
index 8ad43d616..eb5c1a23a 100644
--- a/build-aux/initial-tab-whitelist
+++ b/build-aux/initial-tab-whitelist
@@ -5,7 +5,6 @@
 \.sln$
 ^ovs/
 ^third-party/
-^xenserver/
 ^debian/rules.modules$
 ^debian/rules$
 ^\.gitmodules$
diff --git a/debian/copyright.in b/debian/copyright.in
index 9ad00340f..335fd6af8 100644
--- a/debian/copyright.in
+++ b/debian/copyright.in
@@ -27,40 +27,6 @@ Upstream Copyright Holders:
 
 License:
 
-* The following components are licensed under the
-  GNU Lesser General Public License version 2.1 only
-  with the exception clause below as a pre-amble.
-
-        xenserver/etc_xensource_scripts_vif
-        xenserver/opt_xensource_libexec_InterfaceReconfigure.py
-        xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
-        xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
-        xenserver/opt_xensource_libexec_interface-reconfigure
-        xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
-
-        * These components are only distributed in the source package.
-          They do not appear in any binary packages.
-
-  On Debian systems, the complete text of the
-  GNU Lesser General Public License version 2.1 can be found in
-  `/usr/share/common-licenses/LGPL-2.1'
-
-  The exception clause pre-amble reads:
-
-  As a special exception to the GNU Lesser General Public License, you
-  may link, statically or dynamically, a "work that uses the Library"
-  with a publicly distributed version of the Library to produce an
-  executable file containing portions of the Library, and distribute
-  that executable file under terms of your choice, without any of the
-  additional requirements listed in clause 6 of the GNU Lesser General
-  Public License.  By "a publicly distributed version of the Library",
-  we mean either the unmodified Library as distributed, or a
-  modified version of the Library that is distributed under the
-  conditions defined in clause 3 of the GNU Library General Public
-  License.  This exception does not however invalidate any other reasons
-  why the executable file might be covered by the GNU Lesser General
-  Public License.
-
 * The following components are licensed under the
   GNU Lesser General Public License version 2.1.
 
