diff --git a/debian/automake.mk b/debian/automake.mk
index 8a8d43c9f..30d7c8f6c 100644
--- a/debian/automake.mk
+++ b/debian/automake.mk
@@ -2,84 +2,46 @@ EXTRA_DIST += \
 	debian/changelog \
 	debian/compat \
 	debian/control \
-	debian/control.modules.in \
 	debian/copyright \
 	debian/copyright.in \
-	debian/dkms.conf.in \
-	debian/dirs \
-	debian/libopenvswitch.install \
-	debian/libopenvswitch-dev.install \
-	debian/openvswitch-common.dirs \
-	debian/openvswitch-common.docs \
-	debian/openvswitch-common.install \
-	debian/openvswitch-common.manpages \
-	debian/openvswitch-datapath-module-_KVERS_.postinst.modules.in \
-	debian/openvswitch-datapath-dkms.postinst \
-	debian/openvswitch-datapath-dkms.prerm \
-	debian/openvswitch-datapath-source.README.Debian \
-	debian/openvswitch-datapath-source.copyright \
-	debian/openvswitch-datapath-source.dirs \
-	debian/openvswitch-datapath-source.install \
-	debian/openvswitch-ipsec.dirs \
-	debian/openvswitch-ipsec.init \
-	debian/openvswitch-ipsec.install \
-	debian/openvswitch-pki.dirs \
-	debian/openvswitch-pki.postinst \
-	debian/openvswitch-pki.postrm \
-	debian/openvswitch-switch.README.Debian \
-	debian/openvswitch-switch.dirs \
-	debian/openvswitch-switch.init \
-	debian/openvswitch-switch.install \
-	debian/openvswitch-switch.logrotate \
-	debian/openvswitch-switch.manpages \
-	debian/openvswitch-switch.postinst \
-	debian/openvswitch-switch.postrm \
-	debian/openvswitch-switch.template \
-	debian/openvswitch-switch.links \
-	debian/openvswitch-test.dirs \
-	debian/openvswitch-test.install \
-	debian/openvswitch-test.manpages \
-	debian/openvswitch-testcontroller.README.Debian \
-	debian/openvswitch-testcontroller.default \
-	debian/openvswitch-testcontroller.dirs \
-	debian/openvswitch-testcontroller.init \
-	debian/openvswitch-testcontroller.install \
-	debian/openvswitch-testcontroller.manpages \
-	debian/openvswitch-testcontroller.postinst \
-	debian/openvswitch-testcontroller.postrm \
-	debian/openvswitch-vtep.default \
-	debian/openvswitch-vtep.dirs \
-	debian/openvswitch-vtep.init \
-	debian/openvswitch-vtep.install \
-	debian/openvswitch-vtep.manpages \
-	debian/ovn-central.dirs \
-	debian/ovn-central.init \
+	debian/ovn-central.default \
 	debian/ovn-central.install \
 	debian/ovn-central.manpages \
-	debian/ovn-central.postinst \
+	debian/ovn-central.ovn-northd.service \
+	debian/ovn-central.ovn-ovsdb-server-nb.service \
+	debian/ovn-central.ovn-ovsdb-server-sb.service \
 	debian/ovn-central.postrm \
-	debian/ovn-central.template \
-	debian/ovn-controller-vtep.init \
-	debian/ovn-controller-vtep.install \
-	debian/ovn-controller-vtep.manpages \
+	debian/ovn-central.service \
+	debian/ovn-common.dirs \
+	debian/ovn-common.docs \
 	debian/ovn-common.install \
+	debian/ovn-common.logrotate \
 	debian/ovn-common.manpages \
 	debian/ovn-common.postinst \
 	debian/ovn-common.postrm \
+	debian/ovn-controller-vtep.install \
+	debian/ovn-controller-vtep.manpages \
+	debian/ovn-controller-vtep.service \
+	debian/ovn-doc.doc-base \
+	debian/ovn-doc.install \
 	debian/ovn-docker.install \
-	debian/ovn-host.dirs \
-	debian/ovn-host.init \
+	debian/ovn-host.default \
 	debian/ovn-host.install \
 	debian/ovn-host.manpages \
-	debian/ovn-host.postinst \
+	debian/ovn-host.ovn-controller.service \
 	debian/ovn-host.postrm \
-	debian/ovn-host.template \
-	debian/python-openvswitch.dirs \
-	debian/python-openvswitch.install \
+	debian/ovn-host.service \
+	debian/ovn-ic-db.install \
+	debian/ovn-ic-db.manpages \
+	debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service \
+	debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service \
+	debian/ovn-ic-db.service \
+	debian/ovn-ic.install \
+	debian/ovn-ic.manpages \
+	debian/ovn-ic.service \
 	debian/rules \
-	debian/rules.modules \
-	debian/ifupdown.sh \
-	debian/source/format
+	debian/source/format \
+	debian/watch
 
 check-debian-changelog-version:
 	@DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`;		     \
@@ -100,5 +62,3 @@ $(srcdir)/debian/copyright: AUTHORS.rst debian/copyright.in
 		sed -n -e '/^$$/q' -e 's/^/  /p';			   \
 	  sed -e '34,/%AUTHORS%/d' $(srcdir)/debian/copyright.in;	   \
 	} > $@
-
-CLEANFILES += debian/copyright
diff --git a/debian/changelog b/debian/changelog
index dee4c193d..b78e57f70 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,1243 +9,3 @@ OVN (20.03.0-1) unstable; urgency=low
    * New upstream version
 
  -- OVN team <dev@openvswitch.org>  Tue, 4 Feb 2020 13:40:19 -0500
-
-openvswitch (2.11.0-1) unstable; urgency=low
-
-   * New upstream version
-
- -- Open vSwitch team <dev@openvswitch.org>  Tue, 19 Feb 2019 21:42:33 -0700
-
-openvswitch (2.10.0-1) unstable; urgency=low
-
-   * New upstream version
-
- -- Open vSwitch team <dev@openvswitch.org>  Sat, 18 Aug 2018 10:38:23 -0700
-
-openvswitch (2.9.0-1) unstable; urgency=low
-
-   * New upstream version
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 19 Feb 2018 11:03:12 -0700
-
-openvswitch (2.8.0-1) unstable; urgency=medium
-
-   [ Open vSwitch team ]
-   * Use debhelper for DEB_VERSION_UPSTREAM.  Thanks to Clint Byrum
-     <spamaps@debian.org> for this improvement.
-   * New upstream version
-
- -- Open vSwitch team <dev@openvswitch.org>  Thu, 31 Aug 2017 09:32:16 -0700
-
-openvswitch (2.7.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - Utilities and daemons that support SSL now allow protocols and
-     ciphers to be configured with --ssl-protocols and --ssl-ciphers.
-   - OVN:
-     * QoS is now implemented via egress shaping rather than ingress policing.
-     * DSCP marking is now supported, via the new northbound QoS table.
-     * IPAM now supports fixed MAC addresses.
-     * Support for source IP address based routing.
-     * ovn-trace:
-       - New --ovs option to also print OpenFlow flows.
-       - put_dhcp_opts and put_dhcp_optsv6 actions may now be traced.
-     * Support for managing SSL and remote connection configuration in
-       northbound and southbound databases.
-     * TCP connections to northbound and southbound databases are no
-       longer enabled by default and must be explicitly configured.
-       See documentation for ovn-sbctl/ovn-nbctl "set-connection"
-       command or the ovn-ctl "--db-sb-create-insecure-remote" and
-       "--db-nb-create-insecure-remote" command-line options for
-       information regarding remote connection configuration.
-     * New appctl "inject-pkt" command in ovn-controller that allows
-       packets to be injected into the connected OVS instance.
-     * Distributed logical routers may now be connected directly to
-       logical switches with localnet ports, by specifying a
-       "redirect-chassis" on the distributed gateway port of the
-       logical router.  NAT rules may be specified directly on the
-       distributed logical router, and are handled either centrally on
-       the "redirect-chassis", or in many cases are handled locally on
-       the hypervisor where the corresponding logical port resides.
-       Gratuitous ARP for NAT addresses on a distributed logical
-       router is not yet supported, but will be added in a future
-       version.
-   - Fixed regression in table stats maintenance introduced in OVS
-     2.3.0, wherein the number of OpenFlow table hits and misses was
-     not accurate.
-   - OpenFlow:
-     * OFPT_PACKET_OUT messages are now supported in bundles.
-     * A new "selection_method=dp_hash" type for OpenFlow select group
-       bucket selection that uses the datapath computed 5-tuple hash
-       without making datapath flows match the 5-tuple fields, which
-       is useful for more efficient load balancing, for example.  This
-       uses the Netronome extension to OpenFlow 1.5+ that allows
-       control over the OpenFlow select groups selection method.  See
-       "selection_method" and related options in ovs-ofctl(8) for
-       details.
-     * The "sample" action now supports "ingress" and "egress" options.
-     * The "ct" action now supports the TFTP ALG where support is available.
-     * New actions "clone" and "ct_clear".
-   - ovs-ofctl:
-     * 'bundle' command now supports packet-out messages.
-     * New syntax for 'ovs-ofctl packet-out' command, which uses the
-       same string parser as the 'bundle' command.  The old 'packet-out'
-       syntax is deprecated and will be removed in a later OVS
-       release.
-     * New unixctl "ofctl/packet-out" command, which can be used to
-       instruct a flow monitor to issue OpenFlow packet-out messages.
-   - ovsdb-server:
-     * Remote connections can now be made read-only (see ovsdb-server(1)).
-   - Tunnels:
-     * TLV mappings for protocols such as Geneve are now segregated on
-       a per-OpenFlow bridge basis rather than globally. (The interface
-       has not changed.)
-     * Removed support for IPsec tunnels.
-   - DPDK:
-     * New option 'n_rxq_desc' and 'n_txq_desc' fields for DPDK interfaces
-       which set the number of rx and tx descriptors to use for the given port.
-     * Support for DPDK v16.11.
-     * Support for rx checksum offload. Refer DPDK HOWTO for details.
-     * Port Hotplug is now supported.
-     * DPDK physical ports can now have arbitrary names. The PCI address of
-       the device must be set using the 'dpdk-devargs' option. Compatibility
-       with the old dpdk<portid> naming scheme is broken, and as such a
-       device will not be available for use until a valid dpdk-devargs is
-       specified.
-     * Virtual DPDK Poll Mode Driver (vdev PMD) support.
-     * Removed experimental tag.
-   - Fedora packaging:
-     * A package upgrade does not automatically restart OVS service.
-   - ovs-vswitchd/ovs-vsctl:
-     * Ports now have a "protected" flag. Protected ports can not forward
-       frames to other protected ports. Unprotected ports can receive and
-       forward frames to protected and other unprotected ports.
-   - ovs-vsctl, ovn-nbctl, ovn-sbctl, vtep-ctl:
-     * Database commands now accept integer ranges, e.g. "set port
-       eth0 trunks=1-10" to enable trunking VLANs 1 to 10.
-
- -- Open vSwitch team <dev@openvswitch.org>  Tue, 21 Feb 2017 13:57:33 -0700
-
-openvswitch (2.6.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - First supported release of OVN.  See ovn-architecture(7) for more
-     details.
-   - ovsdb-server:
-     * New "monitor_cond" "monitor_cond_update" and "update2" extensions to
-       RFC 7047.
-   - OpenFlow:
-     * OpenFlow 1.3+ bundles are now supported for group mods as well as
-       flow mods and port mods.  Both 'atomic' and 'ordered' bundle
-       flags are supported for group mods as well as flow mods.
-     * OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY.
-     * OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported.
-     * OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported.
-     * New property-based packet-in message format NXT_PACKET_IN2 with support
-       for arbitrary user-provided data and for serializing flow table
-       traversal into a continuation for later resumption.
-     * New extension message NXT_SET_ASYNC_CONFIG2 to allow OpenFlow 1.4-like
-       control over asynchronous messages in earlier versions of OpenFlow.
-     * OpenFlow 1.3 Extension 230, adding OpenFlow Bundles support, is
-       now implemented.  Only flow mod and port mod messages are supported
-       in bundles.
-     * New OpenFlow extension NXM_NX_MPLS_TTL to provide access to MPLS TTL.
-     * New output option, output(port=N,max_len=M), to allow truncating a
-       packet to size M bytes when outputting to port N.
-     * New command OFPGC_ADD_OR_MOD for OFPT_GROUP_MOD message that adds a
-       new group or modifies an existing groups
-     * The optional OpenFlow packet buffering feature is deprecated in
-       this release, and will be removed in the next OVS release
-       (2.7).  After the change OVS always sends the 'buffer_id' as
-       0xffffffff in packet-in messages and will send an error
-       response if any other value of this field is included in
-       packet-out and flow mod sent by a controller.  Controllers are
-       already expected to work properly in cases where the switch can
-       not buffer packets, so this change should not affect existing
-       users.
-     * New OpenFlow extension NXT_CT_FLUSH_ZONE to flush conntrack zones.
-   - Improved OpenFlow version compatibility for actions:
-     * New OpenFlow extension to support the "group" action in OpenFlow 1.0.
-     * OpenFlow 1.0 "enqueue" action now properly translated to OpenFlow 1.1+.
-     * OpenFlow 1.1 "mod_nw_ecn" and OpenFlow 1.1+ "mod_nw_ttl" actions now
-       properly translated to OpenFlow 1.0.
-   - ovs-ofctl:
-     * queue-get-config command now allows a queue ID to be specified.
-     * '--bundle' option can now be used with OpenFlow 1.3 and with group mods.
-     * New "bundle" command allows executing a mixture of flow and group mods
-       as a single atomic transaction.
-     * New option "--color" to produce colorized output for some commands.
-     * New option '--may-create' to use OFPGC_ADD_OR_MOD in mod-group command.
-   - IPFIX:
-     * New "sampling_port" option for "sample" action to allow sampling
-       ingress and egress tunnel metadata with IPFIX.
-     * New ovs-ofctl commands "dump-ipfix-bridge" and "dump-ipfix-flow" to
-       dump bridge IPFIX statistics and flow based IPFIX statistics.
-     * New setting other-config:virtual_obs_id to add an arbitrary string
-       to IPFIX records.
-   - Linux:
-     * New QoS type "linux-noop" that prevents Open vSwitch from trying to
-       manage QoS for a given port (useful when other software manages QoS).
-   - DPDK:
-     * New option "n_rxq" for PMD interfaces.
-       Old 'other_config:n-dpdk-rxqs' is no longer supported.
-       Not supported by vHost interfaces. For them number of rx and tx queues
-       is applied from connected virtio device.
-     * New 'other_config:pmd-rxq-affinity' field for PMD interfaces, that
-       allows to pin port's rx queues to desired cores.
-     * New appctl command 'dpif-netdev/pmd-rxq-show' to check the port/rxq
-       assignment.
-     * Type of log messages from PMD threads changed from INFO to DBG.
-     * QoS functionality with sample egress-policer implementation.
-     * The mechanism for configuring DPDK has changed to use database
-     * Sensible defaults have been introduced for many of the required
-       configuration options
-     * DB entries have been added for many of the DPDK EAL command line
-       arguments. Additional arguments can be passed via the dpdk-extra
-       entry.
-     * Add ingress policing functionality.
-     * PMD threads servicing vHost User ports can now come from the NUMA
-       node that device memory is located on if CONFIG_RTE_LIBRTE_VHOST_NUMA
-       is enabled in DPDK.
-     * Basic connection tracking for the userspace datapath (no ALG,
-       fragmentation or NAT support yet)
-     * Support for DPDK 16.07
-     * Optional support for DPDK pdump enabled.
-     * Jumbo frame support
-     * Remove dpdkvhostcuse port type.
-     * OVS client mode for vHost and vHost reconnect (Requires QEMU 2.7)
-   - Increase number of registers to 16.
-   - ovs-benchmark: This utility has been removed due to lack of use and
-     bitrot.
-   - ovs-appctl:
-     * New "vlog/close" command.
-   - ovs-ctl:
-     * Added the ability to selectively start the forwarding and database
-       functions (ovs-vswitchd and ovsdb-server, respectively).
-   - ovsdb-server:
-     * Remove max number of sessions limit, to enable connection scaling
-       testing.
-   - python:
-     * Added support for Python 3.4+ in addition to existing support
-       for 2.7+.
-   - SELinux:
-     * Introduced SELinux policy package.
-   - Datapath Linux kernel compatibility.
-     * Dropped support for kernel older than 3.10.
-     * Removed VLAN splinters feature.
-     * Support for truncate action.
-     * Datapath supports kernel upto 4.6.
-   - Tunnels:
-     * Flow based tunnel match and action can be used for IPv6 address using
-       tun_ipv6_src, tun_ipv6_dst fields.
-     * Added support for IPv6 tunnels, for details checkout FAQ.
-     * Deprecated support for IPsec tunnels ports.
-   - A wrapper script, 'ovs-tcpdump', to easily port-mirror an OVS port and
-     watch with tcpdump
-   - Introduce --no-self-confinement flag that allows daemons to work with
-     sockets outside their run directory.
-   - ovs-pki: Changed message digest algorithm from SHA-1 to SHA-512 because
-     SHA-1 is no longer secure and some operating systems have started to
-     disable it in OpenSSL.
-   - Add 'mtu_request' column to the Interface table. It can be used to
-     configure the MTU of non-internal ports.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 15 Aug 2016 19:53:13 -0700
-
-openvswitch (2.5.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - Dropped support for Python older than version 2.7.  As a consequence,
-     using Open vSwitch 2.5 or later on XenServer 6.5 or earlier (which
-     have Python 2.4) requires first installing Python 2.7.
-   - OpenFlow:
-     * Group chaining (where one OpenFlow group triggers another) is
-       now supported.
-     * OpenFlow 1.4+ "importance" is now considered for flow eviction.
-     * OpenFlow 1.4+ OFPTC_EVICTION is now implemented.
-     * OpenFlow 1.4+ OFPTC_VACANCY_EVENTS is now implemented.
-     * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented.
-     * Allow modifying the ICMPv4/ICMPv6 type and code fields.
-     * OpenFlow 1.4+ OFPT_SET_ASYNC_CONFIG and OFPT_GET_ASYNC_CONFIG are
-       now implemented.
-   - ovs-ofctl:
-     * New "out_group" keyword for OpenFlow 1.1+ matching on output group.
-   - Tunnels:
-     * Geneve tunnels can now match and set options and the OAM bit.
-     * The nonstandard GRE64 tunnel extension has been dropped.
-   - Support Multicast Listener Discovery (MLDv1 and MLDv2).
-   - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' hash functions.
-   - sFlow agent now reports tunnel and MPLS structures.
-   - New 'check-system-userspace', 'check-kmod' and 'check-kernel' Makefile
-     targets to run a new system testsuite.  These tests can be run inside
-     a Vagrant box.  See INSTALL.md for details
-   - Mark --syslog-target argument as deprecated.  It will be removed in
-     the next OVS release.
-   - Added --user option to all daemons
-   - Add support for connection tracking through the new "ct" action
-     and "ct_state"/"ct_zone"/"ct_mark"/"ct_label" match fields.  Only
-     available on Linux kernels with the connection tracking module loaded.
-   - Add experimental version of OVN.  OVN, the Open Virtual Network, is a
-     system to support virtual network abstraction.  OVN complements the
-     existing capabilities of OVS to add native support for virtual network
-     abstractions, such as virtual L2 and L3 overlays and security groups.
-
- -- Open vSwitch team <dev@openvswitch.org>  Thu, 03 Dec 2015 23:17:44 -0700
-
-openvswitch (2.4.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - Flow table modifications are now atomic, meaning that each packet
-     now sees a coherent version of the OpenFlow pipeline.  For
-     example, if a controller removes all flows with a single OpenFlow
-     "flow_mod", no packet sees an intermediate version of the OpenFlow
-     pipeline where only some of the flows have been deleted.
-   - Added support for SFQ, FQ_CoDel and CoDel qdiscs.
-   - Add bash command-line completion support for ovs-vsctl Please check
-     utilities/ovs-command-compgen.INSTALL.md for how to use.
-   - The MAC learning feature now includes per-port fairness to mitigate
-     MAC flooding attacks.
-   - New support for a "conjunctive match" OpenFlow extension, which
-     allows constructing OpenFlow matches of the form "field1 in
-     {a,b,c...} AND field2 in {d,e,f...}" and generalizations.  For details,
-     see documentation for the "conjunction" action in ovs-ofctl(8).
-   - Add bash command-line completion support for ovs-appctl/ovs-dpctl/
-     ovs-ofctl/ovsdb-tool commands.  Please check
-     utilities/ovs-command-compgen.INSTALL.md for how to use.
-   - The "learn" action supports a new flag "delete_learned" that causes
-     the learned flows to be deleted when the flow with the "learn" action
-     is deleted.
-   - Basic support for the Geneve tunneling protocol. It is not yet
-     possible to generate or match options. This is planned for a future
-     release. The protocol is documented at
-     http://tools.ietf.org/html/draft-gross-geneve-00
-   - The OVS database now reports controller rate limiting statistics.
-   - sflow now exports information about LACP-based bonds, port names, and
-     OpenFlow port numbers, as well as datapath performance counters.
-   - ovs-dpctl functionality is now available for datapaths integrated
-     into ovs-vswitchd, via ovs-appctl.  Some existing ovs-appctl
-     commands are now redundant and will be removed in a future
-     release.  See ovs-vswitchd(8) for details.
-   - OpenFlow:
-     * OpenFlow 1.4 bundles are now supported for flow mods and port
-       mods.  For flow mods, both 'atomic' and 'ordered' bundle flags
-       are trivially supported, as all bundled messages are executed
-       in the order they were added and all flow table modifications
-       are now atomic to the datapath.  Port mods may not appear in
-       atomic bundles, as port status modifications are not atomic.
-     * IPv6 flow label and neighbor discovery fields are now modifiable.
-     * OpenFlow 1.5 extended registers are now supported.
-     * The OpenFlow 1.5 actset_output field is now supported.
-     * OpenFlow 1.5 Copy-Field action is now supported.
-     * OpenFlow 1.5 masked Set-Field action is now supported.
-     * OpenFlow 1.3+ table features requests are now supported (read-only).
-     * Nicira extension "move" actions may now be included in action sets.
-     * "resubmit" actions may now be included in action sets.  The resubmit
-       is executed last, and only if the action set has no "output" or "group"
-       action.
-     * OpenFlow 1.4+ flow "importance" is now maintained in the flow table.
-     * A new Netronome extension to OpenFlow 1.5+ allows control over the
-       fields hashed for OpenFlow select groups.  See "selection_method" and
-       related options in ovs-ofctl(8) for details.
-   - ovs-ofctl has a new '--bundle' option that makes the flow mod commands
-     ('add-flow', 'add-flows', 'mod-flows', 'del-flows', and 'replace-flows')
-     use an OpenFlow 1.4 bundle to operate the modifications as a single
-     atomic transaction.  If any of the flow mods in a transaction fail, none
-     of them are executed.  All flow mods in a bundle appear to datapath
-     lookups simultaneously.
-   - ovs-ofctl 'add-flow' and 'add-flows' commands now accept arbitrary flow
-     mods as an input by allowing the flow specification to start with an
-     explicit 'add', 'modify', 'modify_strict', 'delete', or 'delete_strict'
-     keyword.  A missing keyword is treated as 'add', so this is fully
-     backwards compatible.  With the new '--bundle' option all the flow mods
-     are executed as a single atomic transaction using an OpenFlow 1.4 bundle.
-   - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because
-     MD5 is no longer secure and some operating systems have started to disable
-     it in OpenSSL.
-   - ovsdb-server: New OVSDB protocol extension allows inequality tests on
-     "optional scalar" columns.  See ovsdb-server(1) for details.
-   - ovs-vsctl now permits immutable columns in a new row to be modified in
-     the same transaction that creates the row.
-   - test-controller has been renamed ovs-testcontroller at request of users
-     who find it useful for testing basic OpenFlow setups.  It is still not
-     a necessary or desirable part of most Open vSwitch deployments.
-   - Support for travis-ci.org based continuous integration builds has been
-     added. Build failures are reported to build@openvswitch.org. See INSTALL.md
-     file for additional details.
-   - Support for the Rapid Spanning Tree Protocol (IEEE 802.1D-2004).
-     The implementation has been tested successfully against the Ixia Automated
-     Network Validation Library (ANVL).
-   - Stats are no longer updated on fake bond interface.
-   - Keep active bond slave selection across OVS restart.
-   - A simple wrapper script, 'ovs-docker', to integrate OVS with Docker
-     containers. If and when there is a native integration of Open vSwitch
-     with Docker, the wrapper script will be retired.
-   - Added support for DPDK Tunneling. VXLAN, GRE, and Geneve are supported
-     protocols. This is generic tunneling mechanism for userspace datapath.
-   - Support for multicast snooping (IGMPv1, IGMPv2 and IGMPv3)
-   - Support for Linux kernels up to 4.0.x
-   - The documentation now use the term 'destination' to mean one of syslog,
-     console or file for vlog logging instead of the previously used term
-     'facility'.
-   - Support for VXLAN Group Policy extension
-   - Initial support for the IETF Auto-Attach SPBM draft standard. This
-     contains rudimentary support for the LLDP protocol as needed for
-     Auto-Attach.
-   - The default OpenFlow and OVSDB ports are now the IANA-assigned
-     numbers.  OpenFlow is 6653 and OVSDB is 6640.
-   - Support for DPDK vHost.
-   - Support for outer UDP checksums in Geneve and VXLAN.
-   - The kernel vports with dependencies are no longer part of the overall
-     openvswitch.ko but built and loaded automatically as individual kernel
-     modules (vport-*.ko).
-   - Support for STT tunneling.
-   - Support to configure method (--syslog-method argument) that determines
-     how daemons will talk with syslog.
-   - Support for "ovs-appctl vlog/list-pattern" command that lets to query
-     logging message format for each destination.
-   - GRE64 and ipsec_gre64 tunnel protocol is deprecated and will be removed
-     from OVS v2.5 release.
-   * The openvswitch-testcontroller package is new.  It reintroduces the
-     simple OpenFlow controller that was packaged with Open vSwitch prior to
-     version 2.1, at request of users who find it useful for testing basic
-     OpenFlow setups.  It is still not a necessary or desirable part of most
-     Open vSwitch deployments.
-
- -- Open vSwitch team <dev@openvswitch.org>  Thu, 20 Aug 2015 17:23:43 -0700
-
-openvswitch (2.3.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - OpenFlow 1.1, 1.2, and 1.3 are now enabled by default in
-     ovs-vswitchd.
-   - Linux kernel datapath now has an exact match cache optimizing the
-     flow matching process.
-   - Datapath flows now have partially wildcarded tranport port field
-     matches.  This reduces userspace upcalls, but increases the
-     number of different masks in the datapath.  The kernel datapath
-     exact match cache removes the overhead of matching the incoming
-     packets with the larger number of masks, but when paired with an
-     older kernel module, some workloads may perform worse with the
-     new userspace.
-
- -- Open vSwitch team <dev@openvswitch.org>  Thu, 14 Aug 2014 11:03:32 -0700
-
-openvswitch (2.2.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - Internal ports are no longer brought up by default, because it
-     should be an administrator task to bring up devices as they are
-     configured properly.
-   - ovs-vsctl now reports when ovs-vswitchd fails to create a new port or
-     bridge.
-   - The "ovsdbmonitor" graphical tool has been removed, because it was
-     poorly maintained and not widely used.
-   - New "check-ryu" Makefile target for running Ryu tests for OpenFlow
-     controllers against Open vSwitch.  See INSTALL for details.
-   - Added IPFIX support for SCTP flows and templates for ICMPv4/v6 flows.
-   - Upon the receipt of a SIGHUP signal, ovs-vswitchd no longer reopens its
-     log file (it will terminate instead). Please use 'ovs-appctl vlog/reopen'
-     instead.
-   - Support for Linux kernels up to 3.14. From Kernel 3.12 onwards OVS uses
-     tunnel API for GRE and VXLAN.
-   - Added DPDK support.
-   - Added support for custom vlog patterns in Python
-
- -- Open vSwitch team <dev@openvswitch.org>  Wed, 19 Mar 2014 16:08:38 -0700
-
-openvswitch (2.1.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-   - Address prefix tracking support for flow tables.  New columns
-     "prefixes" in OVS-DB table "Flow_Table" controls which packet
-     header fields are used for address prefix tracking.  Prefix
-     tracking allows the classifier to skip rules with longer than
-     necessary prefixes, resulting in better wildcarding for datapath
-     flows.  Default configuration is to not use any fields for prefix
-     tracking.  However, if any flow tables contain both exact matches
-     and masked matches for IP address fields, OVS performance may be
-     increased by using this feature.
-     * As of now, the fields for which prefix lookup can be enabled
-       are: 'tun_id', 'tun_src', 'tun_dst', 'nw_src', 'nw_dst' (or
-       aliases 'ip_src' and 'ip_dst'), 'ipv6_src', and 'ipv6_dst'.
-       (Using this feature for 'tun_id' would only make sense if the
-       tunnel IDs have prefix structure similar to IP addresses.)
-     * There is a maximum number of fields that can be enabled for any
-       one flow table.  Currently this limit is 3.
-     * Examples:
-       $ ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- \
-         --id=@N1 create Flow_Table name=table0
-       $ ovs-vsctl set Bridge br0 flow_tables:1=@N1 -- \
-         --id=@N1 create Flow_Table name=table1
-       $ ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
-       $ ovs-vsctl set Flow_Table table1 prefixes=[]
-   - TCP flags matching: OVS now supports matching of TCP flags.  This
-     has an adverse performance impact when using OVS userspace 1.10
-     or older (no megaflows support) together with the new OVS kernel
-     module.  It is recommended that the kernel and userspace modules
-     both are upgraded at the same time.
-   - The default OpenFlow and OVSDB ports will change to
-     IANA-assigned numbers in a future release.  Consider updating
-     your installations to specify port numbers instead of using the
-     defaults.
-   - OpenFlow:
-     * The OpenFlow 1.1+ "Write-Actions" instruction is now supported.
-     * OVS limits the OpenFlow port numbers it assigns to port 32767 and
-       below, leaving port numbers above that range free for assignment
-       by the controller.
-     * ovs-vswitchd now honors changes to the "ofport_request" column
-       in the Interface table by changing the port's OpenFlow port
-       number.
-   - ovs-vswitchd.conf.db.5 man page will contain graphviz/dot
-     diagram only if graphviz package was installed at the build time.
-   - Support for Linux kernels up to 3.11
-   - ovs-dpctl:
-     The "show" command also displays mega flow mask stats.
-   - ovs-ofctl:
-     * New command "ofp-parse-pcap" to dump OpenFlow from PCAP files.
-   - ovs-controller has been renamed test-controller.  It is no longer
-     packaged or installed by default, because too many users assumed
-     incorrectly that ovs-controller was a necessary or desirable part
-     of an Open vSwitch deployment.
-   - Added vlog option to export to a UDP syslog sink.
-   - ovsdb-client:
-     * The "monitor" command can now monitor all tables in a database,
-       instead of being limited to a single table.
-   - The flow-eviction-threshold has been replaced by the flow-limit which is a
-     hard limit on the number of flows in the datapath.  It defaults to 200,000
-     flows.  OVS automatically adjusts this number depending on network
-     conditions.
-   * The openvswitch-controller package has been removed, because too many
-     users assumed incorrectly that ovs-controller was a necessary or
-     desirable part of an Open vSwitch deployment.
-
- -- Open vSwitch team <dev@openvswitch.org>  Wed, 19 Mar 2014 16:08:38 -0700
-
-openvswitch (2.0.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-    - The ovs-vswitchd process is no longer single-threaded.  Multiple
-      threads are now used to handle flow set up and asynchronous
-      logging.
-    - OpenFlow:
-      * Experimental support for OpenFlow 1.1 (in addition to 1.2 and
-        1.3, which had experimental support in 1.10).
-      * New support for matching outer source and destination IP address
-        of tunneled packets, for tunnel ports configured with the newly
-        added "remote_ip=flow" and "local_ip=flow" options.
-      * Support for matching on metadata 'pkt_mark' for interacting with
-        other system components. On Linux this corresponds to the skb
-        mark.
-      * Support matching, rewriting SCTP ports
-    - The Interface table in the database has a new "ifindex" column to
-      report the interface's OS-assigned ifindex.
-    - New "check-oftest" Makefile target for running OFTest against Open
-      vSwitch.  See README-OFTest for details.
-    - The flow eviction threshold has been moved to the Open_vSwitch table.
-    - Database names are now mandatory when specifying ovsdb-server options
-      through database paths (e.g. Private key option with the database name
-      should look like "--private-key=db:Open_vSwitch,SSL,private_key").
-    - Added ovs-dev.py, a utility script helpful for Open vSwitch developers.
-    - Support for Linux kernels up to 3.10
-    - ovs-ofctl:
-      * New "ofp-parse" for printing OpenFlow messages read from a file.
-    - Added configurable flow caching support to IPFIX exporter.
-    - Dropped support for Linux pre-2.6.32.
-    - Log file timestamps and ovsdb commit timestamps are now reported
-      with millisecond resolution.  (Previous versions only reported
-      whole seconds.)
-
- -- Open vSwitch team <dev@openvswitch.org>  Tue, 15 Oct 2013 15:03:42 -0700
-
-openvswitch (1.11.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-    - Support for megaflows, which allows wildcarding in the kernel (and
-      any dpif implementation that supports wildcards).  Depending on
-      the flow table and switch configuration, flow set up rates are
-      close to the Linux bridge.
-    - The "tutorial" directory contains a new tutorial for some advanced
-      Open vSwitch features.
-    - Stable bond mode has been removed.
-    - The autopath action has been removed.
-    - New support for the data encapsulation format of the LISP tunnel
-      protocol (RFC 6830).  An external control plane or manual flow
-      setup is required for EID-to-RLOC mapping.
-    - OpenFlow:
-      * The "dec_mpls_ttl" and "set_mpls_ttl" actions from OpenFlow
-        1.1 and later are now implemented.
-      * New "stack" extension for use in actions, to push and pop from
-        NXM fields.
-      * The "load" and "set_field" actions can now modify the "in_port".  (This
-        allows one to enable output to a flow's input port by setting the
-        in_port to some unused value, such as OFPP_NONE.)
-    - ovs-dpctl:
-      * New debugging commands "add-flow", "mod-flow", "del-flow".
-    - In dpif-based bridges, cache action translations, which can improve
-      flow set up performance by 80% with a complicated flow table.
-    - New syslog format, prefixed with "ovs|", to be easier to filter.
-    - RHEL: Removes the default firewall rule that allowed GRE traffic to
-      pass through. Any users that relied on this automatic firewall hole
-      will have to manually configure it. The ovs-ctl(8) manpage documents
-      the "enable-protocol" command that can be used as an alternative.
-    - New CFM demand mode which uses data traffic to indicate interface
-      liveness.
-
- -- Open vSwitch team <dev@openvswitch.org>  Wed, 28 Aug 2013 14:31:44 -0700
-
-openvswitch (1.10.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-    - Bridge compatibility support has been removed.  Any uses that
-      rely on ovs-brcompatd will have to stick with Open vSwitch 1.9.x
-      or adapt to native Open vSwitch support (e.g. use ovs-vsctl instead
-      of brctl).
-    - The maximum size of the MAC learning table is now configurable.
-    - With the Linux datapath, packets for new flows are now queued
-      separately on a per-port basis, so it should no longer be
-      possible for a large number of new flows arriving on one port to
-      prevent new flows from being processed on other ports.
-    - Many "ovs-vsctl" database commands now accept an --if-exists option.
-      Please refer to the ovs-vsctl manpage for details.
-    - OpenFlow:
-      - Experimental support for newer versions of OpenFlow.  See
-        the "What versions of OpenFlow does Open vSwitch support?"
-        question in the FAQ for more details.
-      - The OpenFlow "dp_desc" may now be configured by setting the
-        value of other-config:dp-desc in the Bridge table.
-      - It is possible to request the OpenFlow port number with the
-        "ofport_request" column in the Interface table.
-    - Tunneling:
-      - New support for the VXLAN tunnel protocol (see the IETF draft here:
-        http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-03).
-      - Tunneling requires the version of the kernel module paired with
-        Open vSwitch 1.9.0 or later.
-      - Inheritance of the Don't Fragment bit in IP tunnels (df_inherit)
-        is no longer supported.
-      - Path MTU discovery is no longer supported.
-    - ovs-dpctl:
-      - The "dump-flows" and "del-flows" no longer require an argument
-        if only one datapath exists.
-    - ovs-appctl:
-      - New "vlog/disable-rate-limit" and "vlog/enable-rate-limit"
-        commands available allow control over logging rate limits.
-      - New "dpif/dump-dps", "dpif/show", and "dpif/dump-flows" command
-        that mimic the equivalent ovs-dpctl commands.
-    - The ofproto library is now responsible for assigning OpenFlow port
-      numbers.  An ofproto implementation should assign them when
-      port_construct() is called.
-    - All dpif-based bridges of a particular type share a common
-      datapath called "ovs-<type>", e.g. "ovs-system".  The ovs-dpctl
-      commands will now return information on that shared datapath.  To
-      get the equivalent bridge-specific information, use the new
-      "ovs-appctl dpif/*" commands.
-    - Backward-incompatible changes:
-      - Earlier Open vSwitch versions treated ANY as a wildcard in flow
-        syntax.  OpenFlow 1.1 adds a port named ANY, which introduces a
-        conflict.  ANY was rarely used in flow syntax, so we chose to
-        retire that meaning of ANY in favor of the OpenFlow 1.1 meaning.
-    - Patch ports no longer require kernel support, so they now work
-      with FreeBSD and the kernel module built into Linux 3.3 and later.
-
- -- Open vSwitch team <dev@openvswitch.org>  Wed, 01 May 2013 14:28:21 -0700
-
-openvswitch (1.9.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-    - Datapath:
-      - Support for ipv6 set action.
-      - SKB mark matching and setting.
-      - support for Linux kernels up to 3.8
-    - FreeBSD is now a supported platform, thanks to code contributions from
-      Gaetano Catalli, Ed Maste, and Giuseppe Lettieri.
-    - ovs-bugtool: New --ovs option to report only OVS related information.
-    - New %t and %T log escapes to identify the subprogram within a
-      cooperating group of processes or threads that emitted a log message.
-      The default log patterns now include this information.
-    - OpenFlow:
-      - Allow bitwise masking for SHA and THA fields in ARP, SLL and TLL
-        fields in IPv6 neighbor discovery messages, and IPv6 flow label.
-      - Adds support for writing to the metadata field for a flow.
-    - Tunneling:
-      - The tunneling code no longer assumes input and output keys are
-        symmetric.  If they are not, PMTUD needs to be disabled for
-        tunneling to work. Note this only applies to flow-based keys.
-      - New support for a nonstandard form of GRE that supports a 64-bit key.
-      - Tunnel Path MTU Discovery default value was set to 'disabled'.
-        This feature is deprecated and will be removed soon.
-      - Tunnel header caching removed.
-    - ovs-ofctl:
-      - Commands and actions that accept port numbers now also accept keywords
-        that represent those ports (such as LOCAL, NONE, and ALL).  This is
-        also the recommended way to specify these ports, for compatibility
-        with OpenFlow 1.1 and later (which use the OpenFlow 1.0 numbers
-        for these ports for different purposes).
-    - ovs-dpctl:
-      - Support requesting the port number with the "port_no" option in
-        the "add-if" command.
-    - ovs-pki: The "online PKI" features have been removed, along with
-      the ovs-pki-cgi program that facilitated it, because of some
-      alarmist insecurity claims.  We do not believe that these claims
-      are true, but because we do not know of any users for this
-      feature it seems better on balance to remove it.  (The ovs-pki-cgi
-      program was not included in distribution packaging.)
-    - ovsdb-server now enforces the immutability of immutable columns.  This
-      was not enforced in earlier versions due to an oversight.
-    - The following features are now deprecated.  They will be removed no
-      earlier than February 2013.  Please email dev@openvswitch.org with
-      concerns.
-        - Bridge compatibility.
-        - Stable bond mode.
-        - The autopath action.
-        - Interface type "null".
-        - Numeric values for reserved ports (see "ovs-ofctl" note above).
-        - Tunnel Path MTU Discovery.
-        - CAPWAP tunnel support.
-    - The data in the RARP packets can now be matched in the same way as the
-      data in ARP packets.
-
- -- Open vSwitch team <dev@openvswitch.org>  Tue, 26 Feb 2013 11:23:19 -0700
-
-openvswitch (1.8.0-1) unstable; urgency=low
-   [ Open vSwitch team ]
-   * New upstream version
-    *** Internal only release ***
-    - New FAQ.  Please send updates and additions!
-    - Authors of controllers, please read the new section titled "Action
-      Reproduction" in DESIGN, which describes an Open vSwitch change in
-      behavior in corner cases that may affect some controllers.
-    - ovs-l3ping:
-        - A new test utility that can create L3 tunnel between two Open
-          vSwitches and detect connectivity issues.
-    - ovs-ofctl:
-        - New --sort and --rsort options for "dump-flows" command.
-        - "mod-port" command can now control all OpenFlow config flags.
-    - OpenFlow:
-      - Allow general bitwise masking for IPv4 and IPv6 addresses in
-        IPv4, IPv6, and ARP packets.  (Previously, only CIDR masks
-        were allowed.)
-      - Allow support for arbitrary Ethernet masks.  (Previously, only
-        the multicast bit in the destination address could be individually
-        masked.)
-      - New field OXM_OF_METADATA, to align with OpenFlow 1.1.
-      - The OFPST_QUEUE request now reports an error if a specified port or
-        queue does not exist, or for requests for a specific queue on all
-        ports, if the specified queue does not exist on any port.  (Previous
-        versions generally reported an empty set of results.)
-      - New "flow monitor" feature to allow controllers to be notified of
-        flow table changes as they happen.
-    - Additional protocols are not mirrored and dropped when forward-bpdu is
-      false.  For a full list, see the ovs-vswitchd.conf.db man page.
-    - Open vSwitch now sends RARP packets in situations where it previously
-      sent a custom protocol, making it consistent with behavior of QEMU and
-      VMware.
-    - All Open vSwitch programs and log files now show timestamps in UTC,
-      instead the local timezone, by default.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 16 Jul 2012 16:44:52 +0900
-
-openvswitch (1.7.0-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - kernel modules are renamed. openvswitch_mod.ko is now
-      openvswitch.ko and brcompat_mod.ko is now brcompat.ko.
-    - Increased the number of NXM registers to 8.
-    - Added ability to configure dscp setting for manager and controller
-      connections.  By default, these connections have a DSCP value of
-      Internetwork Control (0xc0).
-    - Added the granular link health statistics, 'cfm_health', to an
-      interface.
-    - OpenFlow:
-        - Added support to mask nd_target for ICMPv6 neighbor discovery flows.
-        - Added support for OpenFlow 1.3 port description (OFPMP_PORT_DESC)
-          multipart messages.
-    - ovs-ofctl:
-        - Added the "dump-ports-desc" command to retrieve port
-          information using the new port description multipart messages.
-    - ovs-test:
-        - Added support for spawning ovs-test server from the client.
-        - Now ovs-test is able to automatically create test bridges and ports.
-    - "ovs-dpctl dump-flows" now prints observed TCP flags in TCP flows.
-    - Tripled flow setup performance.
-    - The "coverage/log" command previously available through ovs-appctl
-      has been replaced by "coverage/show".  The new command replies with
-      coverage counter values, instead of logging them.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 30 Jul 2012 17:23:57 +0900
-
-openvswitch (1.6.1-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - Allow OFPP_CONTROLLER as the in_port for packet-out messages.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 25 Jun 2012 13:52:17 +0900
-
-openvswitch (1.6.0-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - bonding
-        - LACP bonds no longer fall back to balance-slb when negotiations fail.
-          Instead they drop traffic.
-        - The default bond_mode changed from SLB to active-backup, to protect
-          unsuspecting users from the significant risks of SLB bonds (which are
-          documented in vswitchd/INTERNALS).
-        - Load balancing can be disabled by setting the bond-rebalance-interval
-          to zero.
-    - OpenFlow:
-        - Added support for bitwise matching on TCP and UDP ports.
-          See ovs-ofctl(8) for more information.
-        - NXM flow dumps now include times elapsed toward idle and hard
-          timeouts.
-        - Added an OpenFlow extension NXT_SET_ASYNC_CONFIG that allows
-          controllers more precise control over which OpenFlow messages they
-          receive asynchronously.
-        - New "fin_timeout" action.
-        - Added "fin_timeout" support to "learn" action.
-    - The default MAC learning timeout has been increased from 60 seconds
-      to 300 seconds.  The MAC learning timeout is now configurable.
-    - When QoS settings for an interface do not configure a default queue
-      (queue 0), Open vSwitch now uses a default configuration for that
-      queue, instead of dropping all packets as in previous versions.
-    - Logging to console and file will have UTC timestamp as a default for all
-      the daemons. An example of the default format is 2012-01-27T16:35:17Z.
-      ovs-appctl can be used to change the default format as before.
-    - New support for limiting the number of flows in an OpenFlow flow
-      table, with configurable policy for evicting flows upon
-      overflow.  See the Flow_Table table in ovs-vswitch.conf.db(5)
-      for more information.
-    - New "enable-async-messages" column in the Controller table.  If set to
-      false, OpenFlow connections to the controller will initially have all
-      asynchronous messages disabled, overriding normal OpenFlow behavior.
-    - ofproto-provider interface:
-        - "struct rule" has a new member "used" that ofproto implementations
-          should maintain by updating with ofproto_rule_update_used().
-    - ovsdb-client:
-        - The new option --timestamp causes the "monitor" command to print
-          a timestamp with every update.
-    - CFM module CCM broadcasts can now be tagged with an 802.1p priority.
-
- -- Open vSwitch team <dev@openvswitch.org>  Fri, 24 Feb 2012 11:12:48 +0900
-
-openvswitch (1.5.0-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - OpenFlow:
-        - Added support for querying, modifying, and deleting flows
-          based on flow cookie when using NXM.
-        - Added new NXM_PACKET_IN format.
-    - ovs-ofctl:
-        - Added daemonization support to the monitor and snoop commands.
-    - ovs-vsctl:
-        - The "find" command supports new set relational operators
-          {=}, {!=}, {<}, {>}, {<=}, and {>=}.
-    - ovsdb-tool now uses the typical database and schema installation
-      directories as defaults.
-
- -- Open vSwitch team <dev@openvswitch.org>  Fri, 01 June 2012 13:06:00 +0900
-
-openvswitch (1.4.0+git20120426-1) unstable; urgency=low
-
-  * New upstream release fixing the following bugs:
-    o Broken log rotation.
-    o Use-after-free error when ports disappear.
-    o Minor memory leaks.
-    o Testsuite failures on big-endian architectures.
-
- -- Ben Pfaff <pfaffben@debian.org>  Thu, 26 Apr 2012 13:46:55 -0700
-
-openvswitch (1.4.0+git20120321-1) unstable; urgency=low
-
-  * New upstream version including:
-    o Features:
-      - ovs-vsctl: Allow "fake bridges" to be created for VLAN 0.
-      - vswitchd: Make the MAC entry aging time configurable.
-      - mac-learning: Increase MAC learning timeout to 300 seconds.
-    o Bug fixes:
-      - netdev-linux: Fix use-after-free when netdev_dump_queues() deletes
-        queues.
-      - netlink-socket: Increase Netlink socket receive buffer size.
-      - ofproto: Fix code that keeps track of MTU.
-      - ovs-monitor-ipsec: Detect correctly IPSEC configuration changes
-      - bond: Incorrectly reported an error in appctl.
-      - socket-util: Unlink Unix domain sockets that bind but fail to connect.
-      - bridge: Remove unwanted ports at time of ofproto creation.
-      - dpif-linux: Make dpif_linux_port_query_by_name() query only one
-        datapath.
-      - ofproto-dpif: Cleanup STP on ports when disabled on their bridge.
-      - configure: Try to extract kernel source directory from build Makefile.
-      - vswitchd: Always configure a default queue for QoS.
-      - ofproto-dpif: Don't output to in_port even if in_port is OFPP_LOCAL.
-      - sflow_agent: Use snprintf() in place of sprintf().
-    o Packaging:
-      - Move PKI directory to FHS-compliant location.  Closes: #661090.
-        Thanks to Andreas Beckmann <debian@abeckmann.de> for reporting
-        this bug.
-      - Use a different way to avoid failing install without kernel module.
-      - Avoid unit test failure when doing "unofficial" builds.
-      - Bump standards-version to 3.9.3.
-      - Remove some useless files from the dkms package.
-      - Clean .pyc files in "clean" target.
-      - Remove po-debconf build dependency.
-      - Build-depend on python-all to pull in all Python versions.
-      - Add missing ${python:Depends} to openvswitch-test package.
-      - Improve long descriptions so as to better describe the packages.
-      - Bump debhelper compat level to 8 and make build-depends consistent.
-      - Fix exit status of openvswitch-switch init script "status" command.
-      - Use provided kernel source dir instead of host kernel version.
-      - Do not run "make" if "configure" fails during DKMS build.
-      - Look in /lib/modules instead of /usr/src for DKMS kernel sources.
-      - Fix dependencies for openvswitch-datapath-dkms package.
-      - Don't install Python modules for obsolete Python versions.
-      - Add dependency on ${misc:Depends} to openvswitch-test
-    o Documentation improvements:
-      - ovsdb-doc: Use minus sign in negative numbers in nroff output.
-      - ovsdb-doc: Convert '-' preceding a number as a minus sign, not a
-        hyphen.
-      - ovsdb-doc: Put NAME section into generated manpage.
-      - Fix typo in manpage.
-      - vswitchd: Document behavior of 802.1p priorities with VLAN splinters.
-      - netdev: Fix typo in error message.
-      - INSTALL.Linux: minor typo
-
-  * Many thanks to Thomas Goirand <zigo@debian.org> for contributing many
-    of the packaging fixes listed above.
-
-  * This version fixes most of the lintian errors described in bug
-    #663051, but a few remain, so this upload does not close that bug.  I
-    believe that this upload should be suitable for downgrading that bug's
-    severity.
-
- -- Ben Pfaff <pfaffben@debian.org>  Wed, 21 Mar 2012 10:00:28 -0700
-
-openvswitch (1.4.0-2+nmu1) unstable; urgency=low
-
-  * Non maintainer upload.
-  * Removes all patches in debian/patches, because they are patching stuff
-  inconditionally in debian/*, and this should be applied by default.
-  * Uses the correct ${kernel_source_dir} in debian/dkms.conf.in, so that
-  the kernel module builds as expected (Closes: #659685).
-
- -- Thomas Goirand <zigo@debian.org>  Thu, 08 Mar 2012 08:46:24 +0000
-
-openvswitch (1.4.0-2) unstable; urgency=low
-
-  * Use explicit DKMS variable for kernel source directory
-    - 0001-debian-Fix-dependencies-for-openvswitch-datapath-dkm.patch
-    - 0002-debian-Look-in-lib-modules-instead-of-usr-src-for-DK.patch
-    - 0001-debian-Use-provided-kernel-source-dir.patch
-    - 0001-debian-Do-not-run-make-if-configure-fails-during-DKM.patch
-    - (closes: #659685)
-  * Don't install Python modules for obsolete Python versions
-    - 0001-debian-Don-t-install-Python-modules-for-obsolete-Pyt.patch
-
- -- Simon Horman <horms@debian.org>  Tue, 14 Feb 2012 11:43:13 +0900
-
-openvswitch (1.4.0-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - Compatible with Open vSwitch kernel module included in Linux 3.3.
-    - New "VLAN splinters" feature to work around buggy device drivers
-      in old Linux versions.  (This feature is deprecated.  When
-      broken device drivers are no longer in widespread use, we will
-      delete this feature.)  See ovs-vswitchd.conf.db(5) for more
-      information.
-    - OpenFlow:
-       - Added ability to match on IPv6 flow label through NXM.
-       - Added ability to match on ECN bits in IPv4 and IPv6 through NXM.
-       - Added ability to match on TTL in IPv4 and IPv6 through NXM.
-       - Added ability to modify ECN bits in IPv4.
-       - Added ability to modify TTL in IPv4.
-    - ovs-vswitchd:
-       - Don't require the "normal" action to use mirrors.  Traffic will
-         now be properly mirrored for any flows, regardless of their
-         actions.
-       - Track packet and byte statistics sent on mirrors.
-    - ovs-appctl:
-      - New "fdb/flush" command to flush bridge's MAC learning table.
-    - ovs-test:
-      - A new distributed testing tool that allows one to diagnose performance
-        and connectivity issues. This tool currently is not included in RH or
-        Xen packages.
-    - RHEL packaging now supports integration with Red Hat network scripts.
-    - Debian: Depend on python (>= 2.7) | python-argparse instead of
-              python-argparse to avoid pulling in python2.6
-              (closes: #653645)
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 30 Jan 2012 23:36:00 +0000
-
-openvswitch (1.3.0-1) unstable; urgency=low
-  [ Open vSwitch team ]
-  * New upstream version
-    - OpenFlow:
-      - Added an OpenFlow extension which allows the "output" action to accept
-        NXM fields.
-      - Added an OpenFlow extension for flexible learning.
-      - Bumped number of NXM registers from four to five.
-    - ovs-appctl:
-      - New "version" command to determine version of running daemon.
-      - If no argument is provided for "cfm/show", displays detailed
-        information about all interfaces with CFM enabled.
-      - If no argument is provided for "lacp/show", displays detailed
-        information about all ports with LACP enabled.
-    - ovs-vswitchd:
-      - The software switch now supports 255 OpenFlow tables, instead
-        of just one.  By default, only table 0 is consulted, but the
-        new NXAST_RESUBMIT_TABLE action can look up in additional
-        tables.  Tables 128 and above are reserved for use by the
-        switch itself; please use only tables 0 through 127.
-      - Add support for 802.1D spanning tree (STP).
-    - Fragment handling extensions:
-      - New OFPC_FRAG_NX_MATCH fragment handling mode, in which L4
-        fields are made available for matching in fragments with
-        offset 0.
-      - New NXM_NX_IP_FRAG match field for matching IP fragments (usable
-        via "ip_frag" in ovs-ofctl).
-      - New ovs-ofctl "get-frags" and "set-frags" commands to get and set
-        fragment handling policy.
-    - CAPWAP tunneling now supports an extension to transport a 64-key.  By
-      default it remains compatible with the old version and other
-      standards-based implementations.
-    - Flow setups are now processed in a round-robin manner across ports
-      to prevent any single client from monopolizing the CPU and conducting
-      a denial of service attack.
-    - Added support for native VLAN tagging.  A new "vlan_mode"
-      parameter can be set for "port". Possible values: "access",
-      "trunk", "native-tagged" and "native-untagged".
-    - test-openflowd has been removed.  Please use ovs-vswitchd instead.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 09 Dec 2011 23:36:00 +0000
-
-openvswitch (1.2.0-1) unstable; urgency=low
-
-  [ Open vSwitch team ]
-  * New upstream version
-    - New "ofproto" abstraction layer to ease porting to hardware
-      switching ASICs.
-    - Packaging for Red Hat Enterprise Linux 5.6 and 6.0.
-    - Datapath support for Linux kernels up to 3.0.
-    - OpenFlow:
-      - New "bundle" and "bundle_load" action extensions.
-    - Database:
-      - Implement table unique constraints.
-      - Support cooperative locking between callers.
-    - ovs-dpctl:
-      - New "-s" option for "show" command prints packet and byte
-        counters for each port.
-    - ovs-ofctl:
-      - New "--readd" option for "replace-flows".
-    - ovs-vsctl:
-      - New "show" command to print an overview of configuration.
-      - New "comment" command to add remark that explains intentions.
-    - ovs-brcompatd has been rewritten to fix long-standing bugs.
-    - ovs-openflowd has been renamed test-openflowd and moved into the
-      tests directory.  Its presence confused too many users.  Please
-      use ovs-vswitchd instead.
-    - New ovs-benchmark utility to test flow setup performance.
-    - A new log level "off" has been added.  Configuring a log facility
-      "off" prevents any messages from being logged to it.  Previously,
-      "emer" was effectively "off" because no messages were ever logged at
-      level "emer".  Now, errors that cause a process to exit are logged
-      at "emer" level.
-    - "configure" option --with-l26 has been renamed --with-linux, and
-      --with-l26-source has been renamed --with-linux-source.  The old
-      names will be removed after the next release, so please update
-      your scripts.
-    - The "-2.6" suffix has been dropped from the datapath/linux-2.6 and
-      datapath/linux-2.6/compat-2.6 directories.
-    - Feature removals:
-      - Dropped support for "tun_id_from_cookie" OpenFlow extension.
-        Please use the extensible match extensions instead.
-      - Removed the Maintenance_Point and Monitor tables in an effort
-        to simplify 802.1ag configuration.
-    - Performance and scalability improvements
-    - Bug fixes
-
- -- Open vSwitch team <dev@openvswitch.org>  Wed, 03 Aug 2011 14:43:00 +0000
-
-openvswitch (1.1.1-1) unstable; urgency=low
-
-  [ Open vSwitch team ]
-  * Bug fixes.
-
-  [ Simon Horman ]
-  * docs: Suppress warning marcro DD not defined
-    (upstream commit 58f870d0)
-  * debian: Make openvswitch depend on Python
-    (upstream commit aa41cb61)
-  * debian: Don't begin openvswitch-pki description with article.
-    (upstream commit bc6bb66)
-  * Debian: Add ${misc:Depends} dependency to python-openvswitch
-  * Debian: Update standards version from 3.9.1 to 3.9.2
-  * Debian: ${source:Version} dependency on python openvswitch
-  * Debian: ${source:Version} dependency for python openvswitch
-  * Switch to dpkg-source 3.0 (quilt) format
-    - For local non-debian/ patches (above)
-
- -- Simon Horman <horms@debian.org>  Wed, 15 Jun 2011 10:46:15 +0900
-    
-openvswitch (1.1.0-1) unstable; urgency=low
-
-  [ Open vSwitch team ]
-  * New upstream version
-    - Ability to define policies over IPv6
-    - LACP
-    - 802.1ag CCM
-    - Support for extensible match extensions to OpenFlow
-    - QoS:
-      - Support for HFSC qdisc.
-      - Queue used by in-band control can now be configured.
-    - Kernel:
-      - Kernel<->userspace interface has been reworked and should be
-        close to a stable ABI now.
-      - "Port group" concept has been dropped.
-    - GRE over IPSEC tunnels
-    - Bonding:
-      - New active backup bonding mode.
-      - New L4 hashing support when LACP is enabled.
-      - Source MAC hash now includes VLAN field also.
-      - miimon support.
-    - Greatly improved handling of large flow tables
-    - ovs-dpctl:
-      - "show" command now prints full vport configuration.
-      - "dump-groups" command removed since kernel support for
-        port groups was dropped.
-    - ovs-vsctl:
-      - New commands for working with the new Managers table.
-      - "list" command enhanced with new formatting options and --columns
-        option.
-      - "get" command now accepts new --id option.
-      - New "find" command.
-    - ovs-ofctl:
-      - New "queue-stats" command for printing queue stats.
-      - New commands "replace-flows" and "diff-flows".
-      - Commands to add and remove flows can now read from files.
-      - New --flow-format option to enable or disable NXM.
-      - New --more option to increase OpenFlow message verbosity.
-      - Removed "tun-cookie" command, which is no longer useful.
-    - ovs-controller enhancements for testing various features.
-    - New ovs-vlan-test command for testing for Linux kernel driver VLAN
-      bugs.  New ovs-vlan-bug-workaround command for enabling and
-      disabling a workaround for these driver bugs.
-    - OpenFlow support:
-      - "Resubmit" actions now update flow statistics. 
-      - New "register" extension for use in matching and actions, via NXM.
-      - New "multipath" experimental action extension.
-      - New support for matching multicast Ethernet frames, via NXM.
-      - New extension for OpenFlow vendor error codes.
-      - New extension to set the QoS output queue without actually
-        sending to an output port.
-      - Open vSwitch now reports a single flow table, instead of
-        separate hash and wildcard tables.  This better models the
-        current implementation.
-      - New experimental "note" action.
-      - New "ofproto/trace" ovs-appctl command and associated utilities
-        to ease debugging complex flow tables.
-    - Database:
-      - Schema documentation now includes an entity-relationship diagram.
-      - The database is now garbage collected.  In most tables,
-        unreferenced rows will be deleted automatically.
-      - Many tables now include statistics updated periodically by
-        ovs-vswitchd or ovsdb-server.
-      - Every table now has an "external-ids" column for use by OVS
-        integrators.
-      - There is no default controller anymore.  Each bridge must have its
-        controller individually specified.
-      - The "fail-mode" is now a property of a Bridge instead of a Controller.
-      - New versioning and checksum features.
-      - New Managers table and manager_options column in Open_vSwitch table
-        for specifying managers.  The old "managers" column in the
-        Open_vSwitch table has been removed.
-      - Many "name" columns are now immutable.
-    - Feature removals:
-      - Dropped support for XenServer pre-5.6.100.
-      - Dropped support for Linux pre-2.6.18.
-      - Dropped controller discovery support.
-      - Dropped "ovs-ofctl status" and the OpenFlow extension that it used.
-        Statistics reporting in the database is a rough equivalent.
-      - Dropped the "corekeeper" package (now separate, at
-        http://openvswitch.org/cgi-bin/gitweb.cgi?p=corekeeper).
-    - Performance and scalability improvements
-    - Bug fixes
-
-  [ Simon Horman ]
-  * Add the following fixes from upstream branch-1.1
-    - 7f1aca9 dpif-linux: Avoid logging error on ENOENT in
-              dpif_linux_is_internal_device().
-    - 8996f83 dpif-linux: Avoid segfault on netdev_get_stats() without kernel
-              module.
-    - 002d4a3 vswitch: Improve schema documentation.
-    - 58bd294 cfm: Fix broken fault logic.
-    - c042664 bridge: Run once before configuring CFM.
-   * Switch to dpkg-source 3.0 (quilt) format
-
- -- Simon Horman <horms@debian.org>  Wed, 27 Apr 2011 17:11:10 +0900
-
-openvswitch (1.1.0~pre2.g2.ea763e0e-1) unstable; urgency=low
-
-  * Git snapshot, including
-    - tests: Fix Y2011 bug in testsuite
-      (closes: #609506)
-
- -- Simon Horman <horms@debian.org>  Wed, 12 Jan 2011 08:34:35 +0900
-
-openvswitch (1.1.0~pre2.g1.bbe8d06e-1) unstable; urgency=low
-
-  * Git snaptshot
-
- -- Simon Horman <horms@debian.org>  Thu, 06 Jan 2011 11:11:55 +0900
-
-openvswitch (1.1.0~pre2-5) unstable; urgency=low
-
-  * Open vSwitch only works on Linux so set
-    the Architecture of binary packages to linux-any accordingly
-
- -- Simon Horman <horms@debian.org>  Tue, 23 Nov 2010 07:55:19 +0900
-
-openvswitch (1.1.0~pre2-4) unstable; urgency=low
-
-  * Add procps to Build-Depends
-    (closes: #602891)
-
- -- Simon Horman <horms@debian.org>  Tue, 16 Nov 2010 06:46:17 +0900
-
-openvswitch (1.1.0~pre2-3) unstable; urgency=low
-
-  * Remove the corekeeper package as it isn't strongly related
-    to Open vSwitch. It has subsequently been broken off into
-    a separate source repository and may be uploaded as its
-    own debian source package.
-    http://openvswitch.org/cgi-bin/gitweb.cgi?p=corekeeper;a=summary
-    (closes: #602946)
-  * Avoid the use of long socket names.
-    (closes: #602891, closes: #602911)
-
- -- Simon Horman <horms@debian.org>  Thu, 11 Nov 2010 06:35:05 +0900
-
-openvswitch (1.1.0~pre2-2) unstable; urgency=low
-
-  * Clarify licensing of files in xenserver/
-
- -- Simon Horman <horms@debian.org>  Thu, 23 Sep 2010 10:56:18 +0900
-
-openvswitch (1.1.0~pre2-1) unstable; urgency=low
-
-  * New upstream version
-    - Bug fixes
-
- -- Simon Horman <horms@debian.org>  Wed, 15 Sep 2010 18:28:59 +0900
-
-openvswitch (1.1.0~pre1-1) unstable; urgency=low
-
-  * New upstream version
-    - OpenFlow 1.0 slicing (QoS) functionality
-    - Python bindings for configuration database (no write support)
-    - Performance and scalability improvements
-    - Bug fixes
-
- -- Open vSwitch team <dev@openvswitch.org>  Tue, 31 Aug 2010 23:20:00 +0000
-
-openvswitch (1.0.1-1) unstable; urgency=low
-
-  * New upstream version.
-
- -- Open vSwitch team <dev@openvswitch.org>  Mon, 17 May 2010 10:36:00 +0000
diff --git a/debian/compat b/debian/compat
index ec635144f..f599e28b8 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-9
+10
diff --git a/debian/control b/debian/control
index b97e99b92..2760fc604 100644
--- a/debian/control
+++ b/debian/control
@@ -1,129 +1,56 @@
-Source: openvswitch
+Source: ovn
 Section: net
-Priority: extra
+Priority: optional
 Maintainer: Open vSwitch developers <dev@openvswitch.org>
-Uploaders: Simon Horman <horms@debian.org>
-Build-Depends: graphviz,
-               autoconf (>= 2.64),
-               automake (>= 1.10) | automake1.10,
-               bzip2,
-               debhelper (>= 8),
-               dh-autoreconf,
-               libssl-dev,
-               libtool,
-               openssl,
-               procps,
-               python-all (>= 2.7),
-               python-twisted-conch,
-               python-zopeinterface,
-               python-six,
-               libunbound-dev
-Standards-Version: 3.9.3
-Homepage: http://openvswitch.org/
-
-Package: openvswitch-datapath-source
-Architecture: all
-Depends: bzip2, debhelper (>= 5.0.37), module-assistant, ${misc:Depends}
-Suggests: openvswitch-switch
-Description: Open vSwitch datapath module source - module-assistant version
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package provides the Open vSwitch datapath module source code
- that is needed by openvswitch-switch.  The kernel module can be built
- from it using module-assistant or make-kpkg.  README.Debian in this
- package provides further instructions.
-
-Package: openvswitch-datapath-dkms
-Architecture: all
-Depends: dkms (>= 1.95), libc6-dev, libelf-dev, make, ${misc:Depends}, ${python:Depends}
-Description: Open vSwitch datapath module source - DKMS version
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package provides the Open vSwitch datapath module source code
- that is needed by openvswitch-switch.  DKMS can built the kernel
- module from it.
-
-Package: openvswitch-common
-Architecture: linux-any
-Multi-Arch: foreign
-Depends: python (>= 2.7),
-         python-six,
-         libopenvswitch (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Suggests: ethtool
-Replaces: openvswitch-switch (<< 2.5.90)
-Breaks: openvswitch-switch (<< 2.5.90)
-Description: Open vSwitch common components
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- openvswitch-common provides components required by both openvswitch-switch
- and openvswitch-testcontroller.
-
-Package: libopenvswitch
-Architecture: linux-any
-Multi-Arch: same
-Depends: openssl,
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: Open vSwitch common components
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- libopenvswitch provides runtime libraries for use by openvswitch binaries
+Build-Depends:
+ autoconf (>= 2.64),
+ automake (>= 1.10) | automake1.10,
+ bzip2,
+ debhelper (>= 10~),
+ dh-python,
+ graphviz,
+ libcap-ng-dev,
+ libnuma-dev [amd64 i386 ppc64el arm64],
+ libpcap-dev [amd64 i386 ppc64el arm64],
+ libssl-dev,
+ libtool,
+ libunbound-dev,
+ openssl,
+ openvswitch-source (>= 2.13.0~),
+ pkg-config,
+ procps,
+ python3-all-dev,
+ python3-setuptools,
+ python3-six,
+ python3-sortedcontainers,
+ python3-sphinx,
+Standards-Version: 4.4.0
+Homepage: https://github.com/ovn-org/ovn
 
-Package: openvswitch-switch
+Package: ovn-central
 Architecture: linux-any
-Suggests: openvswitch-datapath-module
-Depends: kmod | module-init-tools,
-         netbase,
-         openvswitch-common (= ${binary:Version}),
-         procps,
-         python-argparse,
-         uuid-runtime,
-         ${misc:Depends},
-         ${python:Depends},
-         ${shlibs:Depends}
-Description: Open vSwitch switch implementations
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+Depends:
+ lsb-base,
+ lsb-release,
+ openvswitch-common (>= 2.13.0~),
+ ovn-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: OVN central components
+ OVN, the Open Virtual Network, is a system to support virtual network
+ abstraction.  OVN complements the existing capabilities of OVS to add
+ native support for virtual network abstractions, such as virtual L2 and L3
+ overlays and security groups.
  .
- openvswitch-switch provides the userspace components and utilities for
- the Open vSwitch kernel-based switch.
+ ovn-central provides the userspace daemons, utilities and
+ databases for OVN that is run at a central location.
 
 Package: ovn-common
 Architecture: linux-any
-Depends: openvswitch-common (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
 Description: OVN common components
  OVN, the Open Virtual Network, is a system to support virtual network
  abstraction.  OVN complements the existing capabilities of OVS to add
@@ -134,9 +61,11 @@ Description: OVN common components
 
 Package: ovn-controller-vtep
 Architecture: linux-any
-Depends: ovn-common (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
+Depends:
+ lsb-base,
+ ovn-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
 Description: OVN vtep controller
  ovn-controller-vtep is the local controller daemon in
  OVN, the Open Virtual Network, for VTEP enabled physical switches.
@@ -146,200 +75,91 @@ Description: OVN vtep controller
  ovn-controller-vtep provides the ovn-controller-vtep binary for controlling
  vtep gateways.
 
-
-Package: ovn-host
-Architecture: linux-any
-Depends: openvswitch-switch (= ${binary:Version}),
-         openvswitch-common (= ${binary:Version}),
-         ovn-common (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: OVN host components
+Package: ovn-doc
+Section: doc
+Architecture: all
+Depends:
+ ${misc:Depends},
+ ${sphinxdoc:Depends},
+Description: OVN documentation
  OVN, the Open Virtual Network, is a system to support virtual network
  abstraction.  OVN complements the existing capabilities of OVS to add
  native support for virtual network abstractions, such as virtual L2 and L3
  overlays and security groups.
  .
- ovn-host provides the userspace components and utilities for
- OVN that can be run on every host/hypervisor.
+ This package provides documentation for configuration and use
+ of OVN.
 
-Package: ovn-central
+Package: ovn-docker
 Architecture: linux-any
-Depends: openvswitch-switch (= ${binary:Version}),
-         openvswitch-common (= ${binary:Version}),
-         ovn-common (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: OVN central components
+Depends:
+ openvswitch-common (>= 2.13.0~),
+ ovn-common (= ${binary:Version}),
+ python3-openvswitch (>= 2.13.0~),
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+Description: OVN Docker drivers
  OVN, the Open Virtual Network, is a system to support virtual network
  abstraction.  OVN complements the existing capabilities of OVS to add
  native support for virtual network abstractions, such as virtual L2 and L3
  overlays and security groups.
  .
- ovn-central provides the userspace daemons, utilities and
- databases for OVN that is run at a central location.
+ ovn-docker provides the docker drivers for OVN.
 
-Package: ovn-docker
+Package: ovn-host
 Architecture: linux-any
-Depends: openvswitch-switch (= ${binary:Version}),
-         openvswitch-common (= ${binary:Version}),
-         python (>= 2.7),
-         python-openvswitch (= ${source:Version}),
-         ovn-common (= ${binary:Version}),
-         ${misc:Depends},
-         ${python:Depends},
-         ${shlibs:Depends}
-Description: OVN Docker drivers
+Depends:
+ lsb-base,
+ lsb-release,
+ openvswitch-switch (>= 2.13.0~),
+ ovn-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: OVN host components
  OVN, the Open Virtual Network, is a system to support virtual network
  abstraction.  OVN complements the existing capabilities of OVS to add
  native support for virtual network abstractions, such as virtual L2 and L3
  overlays and security groups.
  .
- ovn-docker provides the docker drivers for OVN.
-
-Package: openvswitch-pki
-Architecture: all
-Depends: openvswitch-common (<< ${source:Version}.1~),
-         openvswitch-common (>= ${source:Version}),
-         ${misc:Depends}
-Description: Open vSwitch public key infrastructure dependency package
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- openvswitch-pki provides PKI (public key infrastructure) support for
- Open vSwitch switches and controllers, reducing the risk of
- man-in-the-middle attacks on the Open vSwitch network infrastructure.
-
-Package: openvswitch-testcontroller
-Architecture: linux-any
-Depends: openvswitch-common (= ${binary:Version}),
-         openvswitch-pki (= ${source:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: Simple controller for testing OpenFlow setups
- This controller enables OpenFlow switches that connect to it to act
- as MAC-learning Ethernet switches.  It can be used for initial
- testing of OpenFlow networks.  It is not a necessary or desirable
- part of a production OpenFlow deployment.
-
-Package: openvswitch-dbg
-Section: debug
-Architecture: linux-any
-Depends: openvswitch-common (= ${binary:Version}),
-         openvswitch-switch (= ${binary:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Conflicts: openvswitch-testcontroller (<< ${binary:Version}),
-           openvswitch-testcontroller (>> ${binary:Version})
-Description: Debug symbols for Open vSwitch packages
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package contains the debug symbols for all the other openvswitch-*
- packages.  Install it to debug one of them or to examine a core dump
- produced by one of them.
-
-Package: python-openvswitch
-Architecture: all
-Section: python
-Depends: ${misc:Depends}, ${python:Depends}, python-six
-Description: Python bindings for Open vSwitch
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package contains the full Python bindings for Open vSwitch database.
-
-Package: openvswitch-test
-Architecture: all
-Depends: python (>= 2.7) | python-argparse,
-         python-twisted-web,
-         ${misc:Depends},
-         ${python:Depends}
-Description: Open vSwitch test package
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package contains utilities that are useful to diagnose
- performance and connectivity issues in Open vSwitch setup.
-
-Package: openvswitch-vtep
-Architecture: linux-any
-Depends: openvswitch-common (>= ${binary:Version}),
-         openvswitch-switch (>= ${binary:Version}),
-         python,
-         python-openvswitch (>= ${source:Version}),
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: Open vSwitch VTEP utilities
- Open vSwitch is a production quality, multilayer, software-based, Ethernet
- virtual switch. It is designed to enable massive network automation through
- programmatic extension, while still supporting standard management interfaces
- and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In
- addition, it is designed to support distribution across multiple physical
- servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus
- 1000V.
- .
- This package provides utilities that are useful to interact with a
- VTEP-configured database and a VTEP emulator.
+ ovn-host provides the userspace components and utilities for
+ OVN that can be run on every host/hypervisor.
 
-Package: libopenvswitch-dev
+Package: ovn-ic
 Architecture: linux-any
-Multi-Arch: same
 Depends:
- libopenvswitch (>= ${binary:Version}),
- libssl-dev,
- libunbound-dev,
- ${misc:Depends}
-Conflicts: openvswitch-dev
-Replaces: openvswitch-dev
-Description: Open vSwitch development package
- Open vSwitch is a production quality, multilayer, software-based, Ethernet
- virtual switch. It is designed to enable massive network automation through
- programmatic extension, while still supporting standard management interfaces
- and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In
- addition, it is designed to support distribution across multiple physical
- servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus
- 1000V.
- .
- This package provides openvswitch headers and libopenvswitch for developers.
-
-Package: openvswitch-ipsec
+ lsb-base,
+ lsb-release,
+ ovn-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Enhances:
+ ovn-central,
+Suggests:
+ ovn-ic-db,
+Description: Open Virtual Network interconnection controller
+ OVN IC, the Open Virtual Network interconnection controller, is a
+ centralized daemon which communicates with global interconnection
+ databases to configure and exchange data with local OVN databases for
+ interconnection with other OVN deployments.
+ .
+ This package provides the ovn-ic daemon which should be run alongside
+ ovn-central services in each OVN deployment zone.
+
+Package: ovn-ic-db
 Architecture: linux-any
-Depends: iproute2,
-         openvswitch-common (= ${binary:Version}),
-         openvswitch-switch (= ${binary:Version}),
-         python,
-         python-openvswitch (= ${source:Version}),
-         strongswan,
-         ${misc:Depends},
-         ${shlibs:Depends}
-Description: Open vSwitch IPsec tunneling support
- Open vSwitch is a production quality, multilayer, software-based,
- Ethernet virtual switch. It is designed to enable massive network
- automation through programmatic extension, while still supporting
- standard management interfaces and protocols (e.g. NetFlow, IPFIX,
- sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
- to support distribution across multiple physical servers similar to
- VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
- .
- This package provides IPsec tunneling support for OVS tunnels.
+Depends:
+ lsb-base,
+ lsb-release,
+ openvswitch-common (>= 2.13.0~),
+ ovn-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: Open Virtual Network interconnection controller databases
+ OVN IC, the Open Virtual Network interconnection controller, is a
+ centralized daemon which communicates with global interconnection
+ databases to configure and exchange data with local OVN databases for
+ interconnection with other OVN deployments.
+ .
+ This package provides the global OVN IC southbound and northbound
+ OVSDB databases.
diff --git a/debian/control.modules.in b/debian/control.modules.in
deleted file mode 100644
index af44a585b..000000000
--- a/debian/control.modules.in
+++ /dev/null
@@ -1,20 +0,0 @@
-Source: openvswitch
-Section: net
-Priority: extra
-Maintainer: Open vSwitch developers <dev@openvswitch.org>
-Build-Depends: debhelper (>= 5.0.37)
-Standards-Version: 3.7.3
-
-Package: openvswitch-datapath-module-_KVERS_
-Architecture: any
-Recommends: kernel-image-_KVERS_, openvswitch-switch
-Provides: openvswitch-datapath-module
-Description: Open vSwitch Linux datapath kernel module
- This package contains the Open vSwitch loadable datapath kernel modules for
- the kernel-image-_KVERS_ package.
- .
- If you compiled a custom kernel, you will most likely need to compile
- a custom version of this module as well.  The
- openvswitch-datapath-source package has been provided for this
- purpose.  Refer to README.Debian provided in that package for further
- instructions.
diff --git a/debian/copyright.in b/debian/copyright.in
index 9ad00340f..72afd401b 100644
--- a/debian/copyright.in
+++ b/debian/copyright.in
@@ -1,663 +1,114 @@
-The original sources for this package can be found at:
-
-        http://openvswitch.org/
-
-Upstream Authors (from AUTHORS):
-
-%AUTHORS%
-
-Upstream Copyright Holders:
-
-        Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
-        Copyright (c) 2010 Jean Tourrilhes - HP-Labs.
-        Copyright (c) 2008,2009,2010 Citrix Systems, Inc.
-        and authors listed above.
-        Copyright (c) 2011 Gaetano Catalli
-        Copyright (C) 2000-2003 Geoffrey Wossum (gwossum@acm.org)
-        Copyright (C) 2000 The NetBSD Foundation, Inc.
-        Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
-        Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of California.
-        Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx>
-        Copyright (c) 2014 Michael Chapman
-        Copyright (c) 2014 WindRiver, Inc.
-        Copyright (c) 2014 Avaya, Inc.
-        Copyright (c) 2001 Daniel Hartmeier
-        Copyright (c) 2002 - 2008 Henning Brauer
-        Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org>
-
-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.
-
-        utilities/bugtool/ovs-bugtool
-        utilities/bugtool/ovs-bugtool-*
-        utilities/bugtool/plugins/kernel-info/openvswitch.xml
-        utilities/bugtool/plugins/network-status/openvswitch.xml
-        utilities/bugtool/plugins/system-configuration.xml
-        utilities/bugtool/plugins/system-configuration/openvswitch.xml
-
-  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 following component is licensed under the GNU General Public License
-  version 2.
-
-        datapath/
-
-  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.
-
-        datapath/linux/compat/include/linux/openvswitch.h
-
-  On Debian systems, the complete text of the GNU General Public License
-  version 2 can be found in `/usr/share/common-licenses/GPL-2'.
-  On Debian systems, the complete text of the Apache License version 2.0
-  can be found in '/usr/share/common-licenses/Apache-2.0'.
-
-* The following components are licensed under the terms of either the
-  Sun Industry Standard Source License 1.1 or the InMon sFlow License:
-
-        lib/sflow.h
-        lib/sflow_agent.c
-        lib/sflow_api.h
-        lib/sflow_poller.c
-        lib/sflow_receiver.c
-        lib/sflow_sampler.c
-
-  These licenses are available, respectively, the following URLs:
-
-        http://host-sflow.sourceforge.net/sissl.html
-        http://www.inmon.com/technology/sflowlicense.txt
-
-  The full text of each license is also appended to the end of this
-  file.
-
-* The following components are licensed for use as desired without restriction:
-
-        lib/crc32c.c
-
-* lib/ovs.tmac in the source distribution, and manpages in the
-  binaries, includes troff macros from groff 1.21 that contain the
-  following notice:
-
-    .\" an-ext.tmac
-    .\"
-    .\" Written by Eric S. Raymond <esr@thyrsus.com>
-    .\"            Werner Lemberg <wl@gnu.org>
-    .\"
-    .\" Version 2007-Feb-02
-    .\"
-    .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
-    .\" You may freely use, modify and/or distribute this file.
-
-* m4/absolute-header.m4, by Derek Price, and m4/include_next.m4, by
-  Paul Eggert and Derek Price bear the following notices:
-
-    Copyright (C) 2006-2013 Free Software Foundation, Inc.
-    This file is free software; the Free Software Foundation
-    gives unlimited permission to copy and/or distribute it,
-    with or without modifications, as long as this notice is preserved.
-
-* The following files are licensed under the ISC-license
-
-    lib/lldp/aa-structs.h
-    lib/lldp/lldpd.c
-    lib/lldp/lldpd.h
-    lib/lldp/lldpd-structs.c
-    lib/lldp/lldpd-structs.h
-    lib/lldp/lldp.c
-    lib/lldp/lldp-tlv.h
-    lib/lldp/lldp-const.h
-
-* All other components of this package are licensed under
-  The Apache License Version 2.0.
-
-  On Debian systems, the complete text of the Apache License version 2.0
-  can be found in '/usr/share/common-licenses/Apache-2.0'.
-
-----------------------------------------------------------------------
-
-Retrieved from http://host-sflow.sourceforge.net/sissl.html, 2011-12-12:
-
-   Sun Industry Standards Source License - Version 1.1
-
-   1.0 DEFINITIONS
-
-   1.1 "Commercial Use" means distribution or otherwise making the
-   Original Code available to a third party.
-
-   1.2 "Contributor Version" means the combination of the Original Code,
-   and the Modifications made by that particular Contributor.
-
-   1.3 "Electronic Distribution Mechanism" means a mechanism generally
-   accepted in the software development community for the electronic
-   transfer of data.
-
-   1.4 "Executable" means Original Code in any form other than Source
-   Code.
-
-   1.5 "Initial Developer" means the individual or entity identified as
-   the Initial Developer in the Source Code notice required by Exhibit A.
-
-   1.6 "Larger Work" means a work which combines Original Code or portions
-   thereof with code not governed by the terms of this License.
-
-   1.7 "License" means this document.
-
-   1.8 "Licensable" means having the right to grant, to the maximum extent
-   possible, whether at the time of the initial grant or subsequently
-   acquired, any and all of the rights conveyed herein.
-
-   1.9 "Modifications" means any addition to or deletion from the
-   substance or structure of either the Original Code or any previous
-   Modifications. A Modification is:
-
-   A. Any addition to or deletion from the contents of a file containing
-   Original Code or previous Modifications.
-
-   B. Any new file that contains any part of the Original Code or previous
-   Modifications.
-
-   1.10 "Original Code" means Source Code of computer software code which
-   is described in the Source Code notice required by Exhibit A as
-   Original Code.
-
-   1.11 "Patent Claims" means any patent claim(s), now owned or hereafter
-   acquired, including without limitation, method, process, and apparatus
-   claims, in any patent Licensable by grantor.
-
-   1.12 "Source Code" means the preferred form of the Original Code for
-   making modifications to it, including all modules it contains, plus any
-   associated interface definition files, or scripts used to control
-   compilation and installation of an Executable.
-
-   1.13 "Standards" means the standards identified in Exhibit B.
-
-   1.14 "You" (or "Your") means an individual or a legal entity exercising
-   rights under, and complying with all of the terms of, this License or a
-   future version of this License issued under Section 6.1. For legal
-   entities, "You'' includes any entity which controls, is controlled by,
-   or is under common control with You. For purposes of this definition,
-   "control'' means (a) the power, direct or indirect, to cause the
-   direction or management of such entity, whether by contract or
-   otherwise, or (b) ownership of more than fifty percent (50%) of the
-   outstanding shares or beneficial ownership of such entity.
-
-   2.0 SOURCE CODE LICENSE
-
-   2.1 The Initial Developer Grant
-   The Initial Developer hereby grants You a world-wide, royalty-free,
-   non-exclusive license, subject to third party intellectual property
-   claims:
-
-   (a) under intellectual property rights (other than patent or trademark)
-   Licensable by Initial Developer to use, reproduce, modify, display,
-   perform, sublicense and distribute the Original Code (or portions
-   thereof) with or without Modifications, and/or as part of a Larger
-   Work; and
-
-   (b) under Patents Claims infringed by the making, using or selling of
-   Original Code, to make, have made, use, practice, sell, and offer for
-   sale, and/or otherwise dispose of the Original Code (or portions
-   thereof).
-
-   (c) the licenses granted in this Section 2.1(a) and (b) are effective
-   on the date Initial Developer first distributes Original Code under the
-   terms of this License.
-
-   (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
-   1) for code that You delete from the Original Code; 2) separate from
-   the Original Code; or 3) for infringements caused by: i) the
-   modification of the Original Code or ii) the combination of the
-   Original Code with other software or devices, including but not limited
-   to Modifications.
-   3.0 DISTRIBUTION OBLIGATIONS
-
-   3.1 Application of License.
-   The Source Code version of Original Code may be distributed only under
-   the terms of this License or a future version of this License released
-   under Section 6.1, and You must include a copy of this License with
-   every copy of the Source Code You distribute. You may not offer or
-   impose any terms on any Source Code version that alters or restricts
-   the applicable version of this License or the recipients' rights
-   hereunder. Your license for shipment of the Contributor Version is
-   conditioned upon Your full compliance with this Section. The
-   Modifications which You create must comply with all requirements set
-   out by the Standards body in effect one hundred twenty (120) days
-   before You ship the Contributor Version. In the event that the
-   Modifications do not meet such requirements, You agree to publish
-   either (i) any deviation from the Standards protocol resulting from
-   implementation of Your Modifications and a reference implementation of
-   Your Modifications or (ii) Your Modifications in Source Code form, and
-   to make any such deviation and reference implementation or
-   Modifications available to all third parties under the same terms as
-   this license on a royalty free basis within thirty (30) days of Your
-   first customer shipment of Your Modifications.
-
-   3.2 Required Notices.
-   You must duplicate the notice in Exhibit A in each file of the Source
-   Code. If it is not possible to put such notice in a particular Source
-   Code file due to its structure, then You must include such notice in a
-   location (such as a relevant directory) where a user would be likely to
-   look for such a notice. If You created one or more Modification(s) You
-   may add Your name as a Contributor to the notice described in Exhibit
-   A. You must also duplicate this License in any documentation for the
-   Source Code where You describe recipients' rights or ownership rights
-   relating to Initial Code. You may choose to offer, and to charge a fee
-   for, warranty, support, indemnity or liability obligations to one or
-   more recipients of Your version of the Code. However, You may do so
-   only on Your own behalf, and not on behalf of the Initial Developer.
-   You must make it absolutely clear than any such warranty, support,
-   indemnity or liability obligation is offered by You alone, and You
-   hereby agree to indemnify the Initial Developer for any liability
-   incurred by the Initial Developer as a result of warranty, support,
-   indemnity or liability terms You offer.
-
-   3.3 Distribution of Executable Versions.
-   You may distribute Original Code in Executable and Source form only if
-   the requirements of Sections 3.1 and 3.2 have been met for that
-   Original Code, and if You include a notice stating that the Source Code
-   version of the Original Code is available under the terms of this
-   License. The notice must be conspicuously included in any notice in an
-   Executable or Source versions, related documentation or collateral in
-   which You describe recipients' rights relating to the Original Code.
-   You may distribute the Executable and Source versions of Your version
-   of the Code or ownership rights under a license of Your choice, which
-   may contain terms different from this License, provided that You are in
-   compliance with the terms of this License. If You distribute the
-   Executable and Source versions under a different license You must make
-   it absolutely clear that any terms which differ from this License are
-   offered by You alone, not by the Initial Developer. You hereby agree to
-   indemnify the Initial Developer for any liability incurred by the
-   Initial Developer as a result of any such terms You offer.
-
-   3.4 Larger Works.
-   You may create a Larger Work by combining Original Code with other code
-   not governed by the terms of this License and distribute the Larger
-   Work as a single product. In such a case, You must make sure the
-   requirements of this License are fulfilled for the Original Code.
-
-   4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION
-
-   If it is impossible for You to comply with any of the terms of this
-   License with respect to some or all of the Original Code due to
-   statute, judicial order, or regulation then You must: (a) comply with
-   the terms of this License to the maximum extent possible; and (b)
-   describe the limitations and the code they affect. Such description
-   must be included in the LEGAL file described in Section 3.2 and must be
-   included with all distributions of the Source Code. Except to the
-   extent prohibited by statute or regulation, such description must be
-   sufficiently detailed for a recipient of ordinary skill to be able to
-   understand it.
-
-   5.0 APPLICATION OF THIS LICENSE
-
-   This License applies to code to which the Initial Developer has
-   attached the notice in Exhibit A and to related Modifications as set
-   out in Section 3.1.
-
-   6.0 VERSIONS OF THE LICENSE
-
-   6.1 New Versions.
-   Sun may publish revised and/or new versions of the License from time to
-   time. Each version will be given a distinguishing version number.
-
-   6.2 Effect of New Versions.
-   Once Original Code has been published under a particular version of the
-   License, You may always continue to use it under the terms of that
-   version. You may also choose to use such Original Code under the terms
-   of any subsequent version of the License published by Sun. No one other
-   than Sun has the right to modify the terms applicable to Original Code.
-
-   7.0 DISCLAIMER OF WARRANTY
-
-   ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-   WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-   WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF
-   DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-   THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE
-   IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT,
-   YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY
-   SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
-   CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL
-   CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-   8.0 TERMINATION
-
-   8.1 This License and the rights granted hereunder will terminate
-   automatically if You fail to comply with terms herein and fail to cure
-   such breach within 30 days of becoming aware of the breach. All
-   sublicenses to the Original Code which are properly granted shall
-   survive any termination of this License. Provisions which, by their
-   nature, must remain in effect beyond the termination of this License
-   shall survive.
-
-   8.2 In the event of termination under Section 8.1 above, all end user
-   license agreements (excluding distributors and resellers) which have
-   been validly granted by You or any distributor hereunder prior to
-   termination shall survive termination.
-
-   9.0 LIMIT OF LIABILITY
-
-   UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-   (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-   DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE,
-   OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY
-   INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-   CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-   WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-   COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-   INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-   LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-   RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-   PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-   EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
-   EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-   10.0 U.S. GOVERNMENT END USERS
-
-   U.S. Government: If this Software is being acquired by or on behalf of
-   the U.S. Government or by a U.S. Government prime contractor or
-   subcontractor (at any tier), then the Government's rights in the
-   Software and accompanying documentation shall be only as set forth in
-   this license; this is in accordance with 48 C.F.R. 227.7201 through
-   227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48
-   C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
-
-   11.0 MISCELLANEOUS
-
-   This License represents the complete agreement concerning subject
-   matter hereof. If any provision of this License is held to be
-   unenforceable, such provision shall be reformed only to the extent
-   necessary to make it enforceable. This License shall be governed by
-   California law provisions (except to the extent applicable law, if any,
-   provides otherwise), excluding its conflict-of-law provisions. With
-   respect to disputes in which at least one party is a citizen of, or an
-   entity chartered or registered to do business in the United States of
-   America, any litigation relating to this License shall be subject to
-   the jurisdiction of the Federal Courts of the Northern District of
-   California, with venue lying in Santa Clara County, California, with
-   the losing party responsible for costs, including without limitation,
-   court costs and reasonable attorneys' fees and expenses. The
-   application of the United Nations Convention on Contracts for the
-   International Sale of Goods is expressly excluded. Any law or
-   regulation which provides that the language of a contract shall be
-   construed against the drafter shall not apply to this License.
-
-   EXHIBIT A - Sun Standards License
-"The contents of this file are subject to the Sun Standards
-License Version 1.1 (the "License");
-You may not use this file except in compliance with the
-License. You may obtain a copy of the
-License at _______________________________.
-
-Software distributed under the License is distributed on
-an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
-express or implied. See the License for the specific
-language governing rights and limitations under the License.
-
-The Original Code is ______________________________________.
-
-The Initial Developer of the Original Code is:
-InMon Corp.
-
-Portions created by: _______________________________________
-
-are Copyright (C): _______________________________________
-
-All Rights Reserved.
-
-Contributor(s): _______________________________________
-
-   EXHIBIT B - Standards
-
-   The Standard is defined as the following:
-
-   sFlow Specification, located at
-   [1]http://sflow.org/developers/specifications.php
-
-References
-
-   1. http://sflow.org/developers/specifications.php
-
-----------------------------------------------------------------------
-
-Retrieved from http://www.inmon.com/technology/sflowlicense.txt, 2011-12-12:
-
-LICENSE AGREEMENT
-
-PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY BEFORE REPRODUCING OR IN ANY WAY
-UTILIZING THE sFlow(R) SOFTWARE ("SOFTWARE") AND/OR ANY ACCOMPANYING DOCUMENTATION
-("DOCUMENTATION") AND/OR THE RELATED SPECIFICATIONS ("SPECIFICATIONS").  YOUR REPRODUCTION
-OR USE OF THE SOFTWARE AND/OR THE DOCUMENTATION AND/OR THE SPECIFICATIONS CONSTITUTES YOUR
-ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO BE BOUND
-BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MAY NOT REPRODUCE OR IN ANY WAY UTILIZE
-THE SOFTWARE OR THE DOCUMENTATION OR THE SPECIFICATIONS.
-
-1.      Definitions.
-
-"Documentation" means the user manuals, training materials, and operating materials, if any,
-InMon provides to Licensee under this Agreement.
-
-"InMon" means InMon Corporation, its affiliates and subsidiaries.
-
-"Intellectual Property Rights" means any trade secrets, patents, including without
-limitation any patents covering the Software, copyrights, know-how, moral rights and
-similar rights of any type under the laws of any governmental authority, domestic or
-foreign, including all applications and registrations relating to any of the foregoing.
-
-"Licensee Hardware" means all computers, routers, or other equipment owned or controlled by
-or on behalf of Licensee.
-
-"Products" means any and all software applications, computers, routers, or other equipment
-manufactured by or on behalf of Licensee for the purpose of resale or lease to any other
-third party, or otherwise made available by Licensee free of charge.
-
-"Software" means the sFlow(R) software programs, in source or binary code format, that
-Licensee licenses from InMon under this Agreement and any bug fixes or error corrections
-which InMon may provide to Licensee.
-
-"Specifications" means the published specifications provided or otherwise made available by
-InMon at: http://www.sflow.org.
-
-"Trademark" means InMon's "sFlow(R)" trademark.
-
-2.      License Grant.
-
-2.1     Software, Documentation and Specifications License Grant.  InMon hereby grants to
-Licensee, under all of InMon's Intellectual Property Rights therein, a perpetual (subject
-to InMon's termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
-transferable, sublicensable license, to:  (i) use and reproduce the Software, the
-Documentation, and the Specifications; (ii) modify the Software; (iii) implement the
-Specifications in the Products; (iv) install the Software, or software in which the
-Specifications have been implemented, on Licensee Hardware and Products, and (v) distribute
-any Products that include the Software, the Documentation, or software in which the
-Specifications have been implemented.
-
-2.2     Trademark License.  InMon hereby grants to Licensee a perpetual (subject to InMon's
-termination rights under Section 7 below), nonexclusive, royalty-free, worldwide,
-transferable, sublicensable license to use the Trademark on or in connection with the
-Software, the Documentation, the Specifications and any software that implements the
-Specifications.
-
-2.3     Restrictions.  Licensee agrees that it will not use the Software in a way
-inconsistent with the license granted in Section 2.1.  Further, Licensee agrees that, in
-exercising its rights under the license granted to it in this Agreement, Licensee will:
-(i) strictly adhere to and fully comply with the Specifications; (ii) use the Trademark,
-and no other mark, to identify the Software, the Documentation, the Specifications and any
-Products that implement the Specifications; (iii) place, in a font or graphic design
-designated by InMon,  the phrase "sFlow(R)" on any technical documentation,
-sales/marketing materials, catalogs, or other such materials relating to products it
-manufactures or markets which it has configured to be compatible with the Software or
-otherwise implement the Specifications; (iv) in connection with any Products shipped to or
-sold in other countries that include the Software or any software that implements the
-Specifications, comply with the patent and trademark laws and practice of such other
-country; and (v) not alter or impair any acknowledgment of copyright or trademark rights of
-InMon that may appear in or on the Software, the Documentation or the Specifications.  In
-the event InMon determines that Licensee is not complying with its obligations under
-clauses (i)-(v) above, InMon shall notify Licensee of such non-compliance, and if Licensee
-fails to correct such non-compliance within three (3) months, InMon may immediately
-terminate this Agreement as provided under paragraph 7 below and pursue any and all
-actions and remedies as it deems necessary, including, but not limited to breach of
-contract.
-
-3.      Ownership.  Except for the license expressly granted in Section 2, Inmon hereby
-retains all right, title, and interest in and to the Trademark and all its Intellectual
-Property Rights in the Software, the Documentation and the Specifications.  Licensee
-obtains no rights hereunder in the Trademark, Software, Documentation or Specifications by
-implication, estoppel or otherwise.  Licensee acknowledges that the Trademark, Software,
-Documentation and Specifications are being licensed and not sold under this Agreement, and
-that this Agreement does not transfer title in the Trademark, Software, Documentation or
-Specifications, or any copy thereof, to Licensee.
-
-4.      Support.  Inmon shall have no obligation under this Agreement to (a) supply
-maintenance or support, bug fixes or error corrections to the Licensed Software,
-(b) supply future versions of the Licensed Software or (c) provide Licensed Software
-development tools to Licensee.
-
-5.      Warranty.  INMON HEREBY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS, IMPLIED OR
-STATUTORY, WITH RESPECT TO THE TRADEMARK, THE SOFTWARE, THE DOCUMENTATION, THE
-SPECIFICATIONS. OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF ANY INTELLECTUAL
-PROPERTY RIGHTS.
-
-6.      Limitation of Liability.  IN NO EVENT SHALL INMON OR ITS SUPPLIERS OR LICENSORS BE
-LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT OR EXEMPLARY DAMAGES WHATSOEVER,
-WHETHER RELATED TO OR ARISING OUT OF THIS AGREEMENT, THE TRADEMARK, THE SOFTWARE, THE
-DOCUMENTATION, THE SPECIFICATIONS, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, DAMAGES FOR
-LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, COSTS OF PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES OR FOR ANY CLAIM OR DEMAND AGAINST LICENSEE BY ANY OTHER PARTY, OR OTHER
-PECUNIARY LOSS, EVEN IF INMON HAS BEEN ADVISED OF OR KNOWS OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-7.      Term and Termination.  The term of this Agreement will begin on the Effective Date,
-which shall be deemed to be the date of delivery of the Software and/or Documentation and/or
-Specifications to Licensee, and shall continue indefinitely unless and until terminated by
-Licensee's giving written notice of termination to InMon, or by InMon pursuant to InMon's
-termination rights as set forth in Section 2.3 above.  Upon any termination of this
-Agreement, Licensee shall cease exercising its license rights under this Agreement,
-including the right to distribute Products that incorporate the Software or Documentation
-or that implement the Specifications.  The rights and obligations contained in Sections 1,
-3, 5, 6, 7, and 8 shall survive any termination of this Agreement.
-
-8.      General Provisions.
-
-8.1     Assignment.  This Agreement shall be binding upon and inure to the benefit of the
-parties hereto and their permitted successors and permitted assigns.  InMon will have the
-right to assign this Agreement without notice to Licensee.  Licensee may assign or transfer
-(whether by merger, operation of law or in any other manner) any of its rights or delegate
-any of its obligations hereunder without the prior written consent of InMon, provided the
-assignee assumes in writing all of Licensee's obligations hereunder.
-
-8.2     Notices.  All notices permitted or required under this Agreement shall be in
-writing and shall be delivered in person or mailed by first class, registered or certified
-mail, postage prepaid, to the address of the party specified in this Agreement or such
-other address as either party may specify in writing.  Such notice shall be deemed to have
-been given upon receipt.
-
-8.3     Non-Waiver.  No term or provision hereof shall be deemed waived, and no breach
-excused, unless such waiver or consent shall be in writing and signed by the party claimed
-to have waived or consented.  Any consent or waiver, whether express or implied, shall not
-constitute a consent or waiver of, or excuse for any separate, different or subsequent
-breach.
-
-8.4     Independent Contractor.  The parties' relationship shall be solely that of
-independent contractors, and nothing contained in this Agreement shall be construed to make
-either party an agent, partner, representative or principal of the other for any purpose.
-
-8.5     Choice of Law and Forum.  This Agreement shall be governed by and construed under
-the laws of the State of California, without giving effect to such state's conflict of laws
-principles.  The parties hereby submit to the personal jurisdiction of, and agree that any
-legal proceeding with respect to or arising under this Agreement shall be brought in, the
-United States District Court for the Northern District of California or the state courts
-of the State of California for the County of San Francisco.
-
-8.6     U.S. Government Licenses.  The Software and Documentation are considered a
-"commercial item" as that term is defined at 48 C.F.R 2.101, or "commercial computer
-software" and "commercial computer software documentation" as such terms are used in
-48 C.F.R 12.212 of the Federal Acquisition Regulations and its successors, and
-48 C.F.R. 227.7202 of the DoD FAR Supplement and its successors.
-
-8.7     Severability.  If any provision of this Agreement is held to be unenforceable under
-applicable law, then such provision shall be excluded from this Agreement and the balance
-of this Agreement shall be interpreted as if such provision were so excluded and shall be
-enforceable in accordance with its terms.  The court in its discretion may substitute for
-the excluded provision an enforceable provision which in economic substance reasonably
-approximates the excluded provision.
-
-8.8     Compliance With Law.  Licensee shall comply with all applicable laws and
-regulations (including privacy laws and regulations) having application to or governing its
- use and/or operation of the Software and agrees to indemnify and hold InMon harmless from
-and against any claims, damages, losses or obligations suffered or incurred by InMon
-arising from its failure to so comply.
-
-8.9     Entire Agreement; Amendment.  This Agreement constitutes the final, complete and
-entire agreement between the parties with respect to the subject matter hereof, and
-supersedes any previous proposals, negotiations, agreements, or arrangements, whether
-verbal or written, made between the parties with respect to such subject matter.  This
-Agreement shall control over any additional or conflicting terms in any of Licensee's
-purchase orders or other business forms.  This Agreement may only be amended or modified
-by mutual agreement of authorized representatives of the parties in writing.
-
-InMon Corp.
-580 California Street, 5th Floor, San Francisco, CA 94104
-Phone: (415) 283-3260
-URL:   www.inmon.com
-Email: info@inmon.com
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Open Virtual Network (OVN)
+Source: https://github.com/ovn-org/ovn
+Files-Excluded: debian
+
+Files: *
+Copyright: %AUTHORS%
+License: Apache-2.0
+
+Files: build-aux/cccl
+Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org>
+License: GPL-2
+
+Files: xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
+Copyright: 2009-2013 Nicira, Inc.
+           2007-2011 Citrix Systems Inc.
+License: GPL-2
+
+Files: utilities/bugtool/ovn-bugtool-*
+       utilities/bugtool/plugins/network-status/ovn.xml
+Copyright: 2016 Nicira, Inc.
+License: LGPL-2.1
+
+Files: 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
+Copyright: 2007-2011 Citrix Systems, Inc.
+           2009-2013 Nicira, Inc.
+License: LGPL-2.1-with-exception
+
+Files: m4/absolute-header.m4
+       m4/include_next.m4
+       xenserver/etc_profile.d_openvswitch.sh
+Copyright: Derek Price
+           Paul Eggert
+           2006-2013 Free Software Foundation, Inc.
+License: file-is-free-software
+ This file is free software; the Free Software Foundation
+ gives unlimited permission to copy and/or distribute it,
+ with or without modifications, as long as this notice is preserved.
+
+License: GPL-2
+ 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., 51 Franklin
+ St, Fifth Floor, Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the complete text of the GNU General Public License v2
+ (GPL) can be found in /usr/share/common-licenses/GPL-2.
+
+License: LGPL-2.1
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License.
+ .
+ This library 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 Lesser General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU Lesser General Public License along
+ with this library; if not, write to the Free Software Foundation, Inc., 51
+ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public License
+ (LGPL) may be found in /usr/share/common-licenses/LGPL-2.
+
+License: LGPL-2.1-with-exception
+ 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.
+
+License: Apache-2.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.
+ .
+ On Debian-based systems the full text of the Apache version 2.0 license
+ can be found in `/usr/share/common-licenses/Apache-2.0'.
diff --git a/debian/dirs b/debian/dirs
deleted file mode 100644
index ca882bbb7..000000000
--- a/debian/dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/bin
-usr/sbin
diff --git a/debian/dkms.conf.in b/debian/dkms.conf.in
deleted file mode 100644
index 2c90b4def..000000000
--- a/debian/dkms.conf.in
+++ /dev/null
@@ -1,11 +0,0 @@
-MODULES=( __MODULES__ )
-
-PACKAGE_NAME="openvswitch"
-PACKAGE_VERSION="__VERSION__"
-MAKE="./configure --with-linux='${kernel_source_dir}' && make -C datapath/linux"
-for __idx in ${!MODULES[@]}; do
-    BUILT_MODULE_NAME[__idx]=${MODULES[__idx]}
-    BUILT_MODULE_LOCATION[__idx]=datapath/linux/
-    DEST_MODULE_LOCATION[__idx]=/kernel/drivers/net/openvswitch/
-done
-AUTOINSTALL=yes
diff --git a/debian/ifupdown.sh b/debian/ifupdown.sh
deleted file mode 100755
index 9a7772d03..000000000
--- a/debian/ifupdown.sh
+++ /dev/null
@@ -1,107 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2012, 2013 Nicira, Inc.
-#
-# 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.
-
-# Have a look at /usr/share/doc/openvswitch-switch/README.Debian
-# for more information about configuring the /etc/network/interfaces.
-
-if [ -z "${IF_OVS_TYPE}" ]; then
-    exit 0
-fi
-
-ovs_vsctl() {
-    ovs-vsctl --timeout=5 "$@"
-}
-
-if (ovs_vsctl --version) > /dev/null 2>&1; then :; else
-    exit 0
-fi
-
-if /etc/init.d/openvswitch-switch status > /dev/null 2>&1; then :; else
-    /etc/init.d/openvswitch-switch start
-fi
-
-if [ "${MODE}" = "start" ]; then
-    eval OVS_EXTRA=\"${IF_OVS_EXTRA}\"
-
-    case "${IF_OVS_TYPE}" in
-        OVSBridge)
-                ovs_vsctl -- --may-exist add-br "${IFACE}" ${IF_OVS_OPTIONS}\
-                         ${OVS_EXTRA+-- $OVS_EXTRA}
-
-                if [ ! -z "${IF_OVS_PORTS}" ]; then
-                    ifup --allow="${IFACE}" ${IF_OVS_PORTS}
-                fi
-                ;;
-        OVSPort)
-                ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
-                    "${IFACE}" ${IF_OVS_OPTIONS} \
-                    ${OVS_EXTRA+-- $OVS_EXTRA}
-
-                ip link set "${IFACE}" up
-                ;;
-        OVSIntPort)
-                ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
-                    "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}"\
-                    type=internal ${OVS_EXTRA+-- $OVS_EXTRA}
-
-                ip link set "${IFACE}" up
-                ;;
-        OVSBond)
-                ovs_vsctl -- --fake-iface --may-exist add-bond "${IF_OVS_BRIDGE}"\
-                    "${IFACE}" ${IF_OVS_BONDS} ${IF_OVS_OPTIONS} \
-                    ${OVS_EXTRA+-- $OVS_EXTRA}
-
-                ip link set "${IFACE}" up
-                for slave in ${IF_OVS_BONDS}
-                do
-                    ip link set "${slave}" up
-                done
-                ;;
-        OVSPatchPort)
-                ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
-                    "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
-                    type=patch options:peer="${IF_OVS_PATCH_PEER}" \
-                    ${OVS_EXTRA+-- $OVS_EXTRA}
-                ;;
-        OVSTunnel)
-                ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
-                    "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
-                    type=${IF_OVS_TUNNEL_TYPE} ${IF_OVS_TUNNEL_OPTIONS} \
-                    ${OVS_EXTRA+-- $OVS_EXTRA}
-                ;;
-        *)
-                exit 0
-                ;;
-    esac
-elif [ "${MODE}" = "stop" ]; then
-    case "${IF_OVS_TYPE}" in
-        OVSBridge)
-                if [ ! -z "${IF_OVS_PORTS}" ]; then
-                    ifdown --allow="${IFACE}" ${IF_OVS_PORTS}
-                fi
-
-                ovs_vsctl -- --if-exists del-br "${IFACE}"
-                ;;
-        OVSPort|OVSIntPort|OVSBond|OVSPatchPort|OVSTunnel)
-                ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}"
-                ;;
-        *)
-                exit 0
-                ;;
-    esac
-fi
-
-exit 0
diff --git a/debian/libopenvswitch-dev.install b/debian/libopenvswitch-dev.install
deleted file mode 100644
index bda5a2ca3..000000000
--- a/debian/libopenvswitch-dev.install
+++ /dev/null
@@ -1,19 +0,0 @@
-usr/lib/*/libopenvswitch*.so
-usr/lib/*/libofproto*.so
-usr/lib/*/libovsdb*.so
-usr/lib/*/libsflow*.so
-usr/lib/*/libvtep*.so
-usr/lib/*/libopenvswitch*.a
-usr/lib/*/libofproto*.a
-usr/lib/*/libovsdb*.a
-usr/lib/*/libsflow*.a
-usr/lib/*/libvtep*.a
-usr/lib/*/pkgconfig
-include/*.h usr/include/openvswitch
-include/openflow/*.h usr/include/openvswitch/openflow
-include/openvswitch/*.h usr/include/openvswitch/openvswitch
-include/sparse/*.h usr/include/openvswitch/sparse
-include/sparse/arpa/*.h usr/include/openvswitch/sparse/arpa
-include/sparse/netinet/*.h usr/include/openvswitch/sparse/netinet
-include/sparse/sys/*.h usr/include/openvswitch/sparse/sys
-lib/*.h usr/include/openvswitch/lib
diff --git a/debian/libopenvswitch.install b/debian/libopenvswitch.install
deleted file mode 100644
index ce9dc401a..000000000
--- a/debian/libopenvswitch.install
+++ /dev/null
@@ -1,5 +0,0 @@
-usr/lib/*/libopenvswitch*.so.*
-usr/lib/*/libofproto*.so.*
-usr/lib/*/libovsdb*.so.*
-usr/lib/*/libsflow*.so.*
-usr/lib/*/libvtep*.so.*
diff --git a/debian/openvswitch-common.dirs b/debian/openvswitch-common.dirs
deleted file mode 100644
index be9ed2f03..000000000
--- a/debian/openvswitch-common.dirs
+++ /dev/null
@@ -1 +0,0 @@
-var/log/openvswitch
diff --git a/debian/openvswitch-common.docs b/debian/openvswitch-common.docs
deleted file mode 100644
index e69de29bb..000000000
diff --git a/debian/openvswitch-common.install b/debian/openvswitch-common.install
deleted file mode 100644
index 3264ea53c..000000000
--- a/debian/openvswitch-common.install
+++ /dev/null
@@ -1,11 +0,0 @@
-etc/bash_completion.d/ovs-appctl-bashcomp.bash
-usr/bin/ovs-appctl
-usr/bin/ovs-docker
-usr/bin/ovs-ofctl
-usr/bin/ovs-parse-backtrace
-usr/bin/ovs-pki
-usr/bin/ovsdb-client
-usr/sbin/ovs-bugtool
-usr/share/openvswitch/bugtool-plugins
-usr/share/openvswitch/scripts/ovs-bugtool-*
-usr/share/openvswitch/scripts/ovs-lib
diff --git a/debian/openvswitch-common.manpages b/debian/openvswitch-common.manpages
deleted file mode 100644
index 9ac6a1dd6..000000000
--- a/debian/openvswitch-common.manpages
+++ /dev/null
@@ -1,7 +0,0 @@
-ovsdb/ovsdb-client.1
-ovsdb/ovsdb-tool.1
-utilities/bugtool/ovs-bugtool.8
-utilities/ovs-appctl.8
-utilities/ovs-ofctl.8
-utilities/ovs-parse-backtrace.8
-utilities/ovs-pki.8
diff --git a/debian/openvswitch-datapath-dkms.postinst b/debian/openvswitch-datapath-dkms.postinst
deleted file mode 100644
index 490311956..000000000
--- a/debian/openvswitch-datapath-dkms.postinst
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-set -e
-
-package=openvswitch-datapath-dkms
-name=openvswitch
-
-version=`dpkg-query -W -f='${Version}' "$package" \
-        |rev|cut -d- -f2-|rev|cut -d':' -f2|tr -d "\n"`
-
-isadded=`dkms status -m "$name" -v "$version"`
-
-if [ "x${isadded}" = "x" ] ; then
-        dkms add -m "$name" -v "$version"
-fi
-
-if [ "$1" = 'configure' ] ; then
-        dkms build -m "$name" -v "$version" && dkms install -m "$name" -v "$version" || true
-fi
-
-#DEBHELPER#
diff --git a/debian/openvswitch-datapath-dkms.prerm b/debian/openvswitch-datapath-dkms.prerm
deleted file mode 100644
index 5c8ad3120..000000000
--- a/debian/openvswitch-datapath-dkms.prerm
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-set -e
-
-package=openvswitch-datapath-dkms
-name=openvswitch
-
-version=`dpkg-query -W -f='${Version}' "$package" \
-        |rev|cut -d- -f2-|rev|cut -d':' -f2|tr -d "\n"`
-
-dkms remove -m "$name" -v "$version" --all || true
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/openvswitch-datapath-module-_KVERS_.postinst.modules.in b/debian/openvswitch-datapath-module-_KVERS_.postinst.modules.in
deleted file mode 100755
index 2241acfc5..000000000
--- a/debian/openvswitch-datapath-module-_KVERS_.postinst.modules.in
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# postinst script for #PACKAGE#
-#
-# see: dh_installdeb(1)
-
-set -e
-
-#DEBHELPER#
-
-# If the kernel module is already loaded, we have nothing to do here.
-# A force-reload-kmod should be run manually to use the new kernel module.
-if [ -e /sys/module/openvswitch ]; then
-    exit 0
-fi
-
-# If the kernel module is not loaded, then it is likely because none
-# was installed before and therefore Open vSwitch couldn't be started.
-# Try to start it now.
-#
-# (Ideally we'd only want to do this if this package corresponds to the
-# running kernel, but I don't know a reliable way to check.)
-INIT=/etc/init.d/openvswitch-switch
-if test -x $INIT; then
-    $INIT start || true
-fi
-
-exit 0
diff --git a/debian/openvswitch-datapath-source.README.Debian b/debian/openvswitch-datapath-source.README.Debian
deleted file mode 100644
index c068bbb36..000000000
--- a/debian/openvswitch-datapath-source.README.Debian
+++ /dev/null
@@ -1,31 +0,0 @@
-Open vSwitch for Debian
-----------------------
-
-* How do I build this module the Debian way?
-
-    - Building with module-assistant:
-
-        $ module-assistant auto-install openvswitch-datapath
-      or
-        $ m-a a-i openvswitch-datapath
-
-      If kernel source or headers are in a non-standard directory, add
-      the option -k /path/to/kernel/source with the correct path.
-
-    - Building with make-kpkg
-
-        $ cd /usr/src/
-        $ tar jxvf openvswitch.tar.bz2
-        $ cd /usr/src/kernel-source-2.6.26
-        $ make-kpkg --added-modules=openvswitch modules
-
-    - Building without make-kpkg
-
-        $ cd /usr/src/
-        $ tar jxvf openvswitch.tar.bz2
-        $ cd modules/openvswitch
-        $ fakeroot debian/rules kdist_image
-
-      If you run this as root, fakeroot is not needed.
-
- -- Ben Pfaff <blp@nicira.com>, Wed, 22 Jun 2011 09:51:28 -0700
diff --git a/debian/openvswitch-datapath-source.copyright b/debian/openvswitch-datapath-source.copyright
deleted file mode 100644
index 8151de165..000000000
--- a/debian/openvswitch-datapath-source.copyright
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream Authors: 
-
-    Nicira, Inc.
-
-Copyright: 
-
-    Copyright (C) 2008 Nicira, Inc.
-
-License:
-
-    Files in the datapath/ and its sub-directories are covered under the GNU
-    General Public License Version 2.
-
-    On Debian systems, the complete text of the GNU General
-    Public License can be found in `/usr/share/common-licenses/GPL'.
diff --git a/debian/openvswitch-datapath-source.dirs b/debian/openvswitch-datapath-source.dirs
deleted file mode 100644
index e5a7d6b07..000000000
--- a/debian/openvswitch-datapath-source.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/src/modules/openvswitch-datapath/debian
diff --git a/debian/openvswitch-datapath-source.install b/debian/openvswitch-datapath-source.install
deleted file mode 100644
index 58033be30..000000000
--- a/debian/openvswitch-datapath-source.install
+++ /dev/null
@@ -1,5 +0,0 @@
-debian/*.modules.in usr/src/modules/openvswitch-datapath/debian
-debian/changelog usr/src/modules/openvswitch-datapath/debian
-debian/compat usr/src/modules/openvswitch-datapath/debian
-debian/control usr/src/modules/openvswitch-datapath/debian
-openvswitch.tar.gz usr/src/modules/openvswitch-datapath
diff --git a/debian/openvswitch-ipsec.dirs b/debian/openvswitch-ipsec.dirs
deleted file mode 100644
index fca44aa7b..000000000
--- a/debian/openvswitch-ipsec.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/openvswitch/scripts
\ No newline at end of file
diff --git a/debian/openvswitch-ipsec.init b/debian/openvswitch-ipsec.init
deleted file mode 100644
index aa6838454..000000000
--- a/debian/openvswitch-ipsec.init
+++ /dev/null
@@ -1,181 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino <jfs@debian.org>
-#
-# This is free software; you may 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,
-# or (at your option) any later version.
-#
-# This 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 with
-# the Debian operating system, in /usr/share/common-licenses/GPL;  if
-# not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-ipsec
-# Required-Start:    $network $local_fs $remote_fs openvswitch-switch
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch GRE-over-IPsec daemon
-# Description:       The ovs-monitor-ipsec script provides support for
-#                    encrypting GRE tunnels with IPsec.
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/share/openvswitch/scripts/ovs-monitor-ipsec # Daemon's location
-NAME=ovs-monitor-ipsec          # Introduce the short server's name here
-LOGDIR=/var/log/openvswitch     # Log directory to use
-DATADIR=/usr/share/openvswitch
-
-PIDFILE=/var/run/openvswitch/$NAME.pid
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-DODTIME=10              # Time to wait for the server to die, in seconds
-                        # If this value is set too low you might not
-                        # let some servers to die gracefully and
-                        # 'restart' will not work
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
-    pid=$1
-    name=$2
-    [ -z "$pid" ] && return 1
-    [ ! -d /proc/$pid ] &&  return 1
-    cmd=`cat /proc/$pid/cmdline | tr "\000" " "|cut -d " " -f 2`
-    # Is this the expected server
-    [ "$cmd" != "$name" ] &&  return 1
-    return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
-    # No pidfile, probably no daemon present
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE`
-    running_pid $pid $DAEMON || return 1
-    return 0
-}
-
-start_server() {
-    ${DATADIR}/scripts/ovs-ctl --ike-daemon=strongswan start-ovs-ipsec
-    return 0
-}
-
-stop_server() {
-    ${DATADIR}/scripts/ovs-ctl stop-ovs-ipsec
-    return 0
-}
-
-force_stop() {
-# Force the process to die killing it manually
-    [ ! -e "$PIDFILE" ] && return
-    if running ; then
-        kill -15 $pid
-        # Is it really dead?
-        sleep "$DODTIME"
-        if running ; then
-            kill -9 $pid
-            sleep "$DODTIME"
-            if running ; then
-                echo "Cannot kill $NAME (pid=$pid)!"
-                exit 1
-            fi
-        fi
-    fi
-    rm -f $PIDFILE
-}
-
-
-case "$1" in
-  start)
-        log_daemon_msg "Starting $NAME"
-        # Check if it's running first
-        if running ;  then
-            log_progress_msg "apparently already running"
-            log_end_msg 0
-            exit 0
-        fi
-        if start_server && running ;  then
-            # It's ok, the server started and is running
-            log_end_msg 0
-        else
-            # Either we could not start it or it is not running
-            # after we did
-            # NOTE: Some servers might die some time after they start,
-            # this code does not try to detect this and might give
-            # a false positive (use 'status' for that)
-            log_end_msg 1
-        fi
-        ;;
-  stop)
-        log_daemon_msg "Stopping $NAME"
-        if running ; then
-            # Only stop the server if we see it running
-            stop_server
-            log_end_msg $?
-        else
-            # If it's not running don't do anything
-            log_progress_msg "apparently not running"
-            log_end_msg 0
-            exit 0
-        fi
-        ;;
-  force-stop)
-        # First try to stop gracefully the program
-        $0 stop
-        if running; then
-            # If it's still running try to kill it more forcefully
-            log_daemon_msg "Stopping (force) $NAME"
-            force_stop
-            log_end_msg $?
-        fi
-        ;;
-  restart|force-reload)
-        log_daemon_msg "Restarting $NAME"
-        stop_server
-        # Wait some sensible amount, some server need this
-        [ -n "$DODTIME" ] && sleep $DODTIME
-        start_server
-        running
-        log_end_msg $?
-        ;;
-  status)
-        log_daemon_msg "Checking status of $NAME"
-        if running ;  then
-            log_progress_msg "running"
-            log_end_msg 0
-        else
-            log_progress_msg "apparently not running"
-            log_end_msg 1
-            exit 1
-        fi
-        ;;
-  # Use this if the daemon cannot reload
-  reload)
-        log_warning_msg "Reloading $NAME daemon: not implemented, as the"
-        log_warning_msg "deamon cannot re-read the config file (use restart)."
-        ;;
-  *)
-        N=/etc/init.d/openvswitch-ipsec
-        echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" \
-             >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/openvswitch-ipsec.install b/debian/openvswitch-ipsec.install
deleted file mode 100644
index 8fe665cb3..000000000
--- a/debian/openvswitch-ipsec.install
+++ /dev/null
@@ -1 +0,0 @@
-ipsec/ovs-monitor-ipsec usr/share/openvswitch/scripts
diff --git a/debian/openvswitch-pki.dirs b/debian/openvswitch-pki.dirs
deleted file mode 100644
index 84f7b3704..000000000
--- a/debian/openvswitch-pki.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/var/lib/openvswitch
diff --git a/debian/openvswitch-pki.postinst b/debian/openvswitch-pki.postinst
deleted file mode 100755
index 75b477736..000000000
--- a/debian/openvswitch-pki.postinst
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-# postinst script for openvswitch-pki
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-case "$1" in
-    configure)
-        # Create certificate authorities.
-        if test ! -e /var/lib/openvswitch/pki; then
-            ovs-pki init
-        fi
-        ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-        ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/openvswitch-pki.postrm b/debian/openvswitch-pki.postrm
deleted file mode 100755
index 5db4d6be6..000000000
--- a/debian/openvswitch-pki.postrm
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-# postrm script for openvswitch-pki
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postrm> `remove'
-#        * <postrm> `purge'
-#        * <old-postrm> `upgrade' <new-version>
-#        * <new-postrm> `failed-upgrade' <old-version>
-#        * <new-postrm> `abort-install'
-#        * <new-postrm> `abort-install' <old-version>
-#        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <overwriter>
-#          <overwriter-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    purge)
-        rm -f /var/log/openvswitch/ovs-pki.log* || true
-        ;;
-
-    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/openvswitch-switch.README.Debian b/debian/openvswitch-switch.README.Debian
deleted file mode 100644
index f5a006221..000000000
--- a/debian/openvswitch-switch.README.Debian
+++ /dev/null
@@ -1,316 +0,0 @@
-README.Debian for openvswitch-switch
----------------------------------
-
-To use the Linux kernel-based switch implementation, you will need an
-Open vSwitch kernel module.  There are multiple ways to obtain one.
-In order of increasing manual effort, these are:
-
-       * Use a Linux kernel 3.3 or later, which has an integrated Open
-         vSwitch kernel module.
-
-         The upstream Linux kernel module lacks a few features that
-         are in the third-party module.  For details, please see the
-         FAQ, "What features are not available in the Open vSwitch
-         kernel datapath that ships as part of the upstream Linux
-         kernel?".
-
-       * Install the "openvswitch-datapath-dkms" Debian package that
-         you built earlier.  This should automatically build and
-         install the Open vSwitch kernel module for your running
-         kernel.
-
-         This option requires that you have a compiler and toolchain
-         installed on the machine where you run Open vSwitch, which
-         may be unacceptable in some production server environments.
-
-       * Install the "openvswitch-datapath-source" Debian package, use
-         "module-assistant" to build a Debian package of the Open
-         vSwitch kernel module for your kernel, and then install that
-         Debian package.
-
-         You can install the kernel module Debian packages that you
-         build this way on the same machine where you built it or on
-         another machine or machines, which means that you don't
-         necessarily have to have any build infrastructure on the
-         machines where you use the kernel module.
-
-         /usr/share/doc/openvswitch-datapath-source/README.Debian has
-         details on the build process.
-
-       * Build and install the kernel module by hand.
-
-
-Debian network scripts (ifupdown) integration
-------------------------------------------------
-This package lets a user to optionally configure Open vSwitch bridges
-and ports from /etc/network/interfaces. Please refer to the interfaces(5)
-manpage for more details regarding /etc/network/interfaces.
-
-The stanzas that configure the OVS bridges should begin with "allow-ovs"
-followed by name of the bridge. Here is an example.
-allow-ovs br0
-
-The stanzas that configure the OVS ports should begin with
-"allow-${bridge-name}" followed by name of the port. Here is an example.
-allow-br0 eth0
-
-The following OVS specific "command" options are supported:
-
-    - ovs_type: This can either be OVSBridge, OVSPort, OVSIntPort, OVSBond,
-      OVSPatchPort or OVSTunnel depending on whether you configure a bridge,
-      port, an internal port, a bond, a patch port or a tunnel. This is a
-      required option.
-
-    - ovs_ports: This option specifies all the ports that belong to a bridge.
-
-    - ovs_bridge: This options specifies a bridge to which a port belongs.
-      This is a required option for a port.
-
-    - ovs_bonds: This option specifies the list of physical interfaces to be
-      bonded together.
-
-    - ovs_patch_peer: For "OVSPatchPort" interfaces, this field specifies
-      the patch's peer on the other bridge.
-
-    - ovs_tunnel_type: For "OVSTunnel" interfaces, the type of the tunnel.
-      For example, "gre", "vxlan", etc.
-
-    - ovs_tunnel_options: For "OVSTunnel" interfaces, this field should be
-      used to specify the tunnel options like remote_ip, key, etc.
-
-    - ovs_options: This option lets you add extra arguments to a ovs-vsctl
-      command. See examples.
-
-    - ovs_extra: This option lets you run additional ovs-vsctl commands,
-      separated by "--" (double dash). Variables can be part of the "ovs_extra"
-      option. You can provide all the standard environmental variables
-      described in the interfaces(5) man page. You can also pass shell
-      commands.
-
-More implementation specific details can be seen in the examples.
-
-Examples:
---------
-ex 1: A standalone bridge.
-
-allow-ovs br0
-iface br0 inet static
-    address 192.168.1.1
-    netmask 255.255.255.0
-    ovs_type OVSBridge
-
-ex 2: A bridge with one port.
-
-allow-ovs br0
-iface br0 inet dhcp
-    ovs_type OVSBridge
-    ovs_ports eth0
-
-allow-br0 eth0
-iface eth0 inet manual
-    ovs_bridge br0
-    ovs_type OVSPort
-
-ex 3: A bridge with multiple physical ports.
-
-allow-ovs br0
-iface br0 inet dhcp
-    ovs_type OVSBridge
-    ovs_ports eth0 eth1
-
-allow-br0 eth0
-iface eth0 inet manual
-    ovs_bridge br0
-    ovs_type OVSPort
-
-allow-br0 eth1
-iface eth1 inet manual
-    ovs_bridge br0
-    ovs_type OVSPort
-
-ex 4: A bridge with an OVS internal port.
-
-allow-ovs br1
-iface br1 inet static
-    address 192.168.1.1
-    netmask 255.255.255.0
-    ovs_type OVSBridge
-    ovs_ports vlan100
-
-allow-br1 vlan100
-iface vlan100 inet manual
-    ovs_bridge br1
-    ovs_type OVSIntPort
-    ovs_options tag=100
-    ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)
-
-ex 5: Bonding.
-
-allow-ovs br2
-iface br2 inet static
-    address 192.170.1.1
-    netmask 255.255.255.0
-    ovs_type OVSBridge
-    ovs_ports bond0
-
-allow-br2 bond0
-iface bond0 inet manual
-    ovs_bridge br2
-    ovs_type OVSBond
-    ovs_bonds eth2 eth3
-    ovs_options bond_mode=balance-tcp lacp=active
-
-ex 6: Patch ports.
-
-allow-ovs br0
-iface br0 inet manual
-    ovs_type OVSBridge
-    ovs_ports patch0
-
-allow-br0 patch0
-iface patch0 inet manual
-    ovs_bridge br0
-    ovs_type OVSPatchPort
-    ovs_patch_peer patch1
-
-allow-ovs br1
-iface br1 inet manual
-    ovs_type OVSBridge
-    ovs_ports patch1
-
-allow-br1 patch1
-iface patch1 inet manual
-    ovs_bridge br1
-    ovs_type OVSPatchPort
-    ovs_patch_peer patch0
-
-ex 7: Tunnel.
-
-allow-ovs br1
-iface br1 inet static
-    address 192.168.1.1
-    netmask 255.255.255.0
-    ovs_type OVSBridge
-    ovs_ports gre1
-
-allow-br1 gre1
-iface gre1 inet manual
-    ovs_bridge br1
-    ovs_type OVSTunnel
-    ovs_tunnel_type gre
-    ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1
-
-ex 8: Create and destroy bridges.
-
-ifup --allow=ovs $list_of_bridges
-ifdown --allow=ovs $list_of_bridges
-
-Open vSwitch integration with systemd-networkd
------------------------------------------------
-
-There is no native integration of OVS with systemd-networkd. That is,
-you cannot create OVS bridges, ports and bonds by simply writing configuration
-files in /etc/systemd/network.  But, you can create OVS devices using ovs-vsctl
-and then write configuration files to provide them IP addresses.
-
-As soon as a OVS device is visible, systemd-networkd will provide that device
-an IP address.  Since OVS database is persistent across reboots, the OVS
-devices will get re-created after a reboot as soon as OVS startup script is
-invoked. And systemd-networkd will immediately assign the configuration defined
-in /etc/systemd/network.
-
-Example:
-
-If you have a physical ethernet device "ens160" which has been configured with
-DHCP, your systemd-networkd's .network config file will look something like
-this:
-
-```
-[Match]
-Name=ens160
-
-[Network]
-DHCP=ipv4
-
-[DHCP]
-ClientIdentifier=mac
-```
-
-Please note how the DHCP ClientIdentifier above has been configured with the
-mac address.
-
-To create a OVS bridge "br-ens160" and add "ens160" as a port of that
-bridge, you can change the .network configuration for "ens160" to look like:
-
-```
-[Match]
-Name=ens160
-```
-
-Now create a new .network configuration file for "br-ens160". Something like:
-
-```
-[Match]
-Name=br-ens160
-
-[Network]
-DHCP=ipv4
-
-[DHCP]
-ClientIdentifier=mac
-```
-
-Now, use ovs-vsctl to create br-ens160 and add ens160 as a port of it.  You
-will also have to flush the IP address of ens160 and restart systemd-networkd
-in the same line. It is important to let br-ens160 have the same mac address as
-ens160 to get the same IP address to br-ens160 from the DHCP server.  In the
-below command, "$mac_of_ens160" holds the mac address of ens160. For e.g:
-
-```
-mac_of_ens160='"00:0c:29:77:27:7a"'
-ovs-vsctl --may-exist add-br br-ens160 -- \
-    --may-exist add-port br-ens160 ens160 -- \
-    set interface br-ens160 mac="$mac_of_ens160"; ip addr flush dev ens160; \
-    systemctl restart systemd-networkd
-```
-
-br-ens160 should now have the same DHCP IP. It should also have the correct
-DNS resolution servers configured.
-
-Notes on dependencies:
----------------------
-
-openvswitch-switch depends on $network, $named $remote_fs and $syslog to start.
-This creates some startup dependency issues.
-
-* Since openvswitch utilities are placed in /usr and /usr can be mounted
-through NFS, openvswitch has to start after it.  But if a user uses openvswitch
-for all his networking needs and hence to mount NFS, there will be a deadlock.
-So, if /usr is mounted through NFS and openvswitch is used for all networking,
-the administrator should figure out a way to mount NFS before starting OVS.
-One way to do this is in initramfs.
-
-* Since openvswitch starts after $network, $remote_fs and $syslog, any startup
-script that depends on openvswitch but starts before it, needs to be changed
-to depend on openvswitch-switch too.
-
-* Ideally, an admin should not add openvswitch bridges in the 'auto'
-section of the 'interfaces' file (i.e., if "br0" is a OVS bridge, you should
-not have a line "auto br0"). This is because, when ifupdown starts
-working on bridges listed in 'auto', openvswitch has not yet started.
-
-But, if the admin wants to go down this route and adds openvswitch bridges
-in the 'auto' section, openvswitch-switch will forcefully be started when
-ifupdown kicks in. In a case like this, the admin needs to make sure that /usr
-has already been mounted and that a remote $syslog (if used) is ready to
-receive openvswitch logs.
-
-* With systemd, adding openvswitch bridges in the 'auto' section of the
-'interfaces' file can cause race conditions (i.e., if "br0" is a OVS bridge,
-you should not have a line "auto br0").  Debian systems have added a
-systemd ifup@.service file.  This file will call ifdown and ifup on interfaces
-in "auto" section automatically when the interfaces disappear and appear
-respectively.  This will cause race conditions if you delete and add the same
-bridges using tools like "ovs-vsctl" or "ovs-dpctl".  This is also a problem
-when you upgrade your openvswitch kernel module using commands like
-'force-reload-kmod'.
diff --git a/debian/openvswitch-switch.dirs b/debian/openvswitch-switch.dirs
deleted file mode 100644
index 0b1f281ef..000000000
--- a/debian/openvswitch-switch.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-/etc/openvswitch
-/usr/share/openvswitch/switch
diff --git a/debian/openvswitch-switch.init b/debian/openvswitch-switch.init
deleted file mode 100755
index e4bc692e5..000000000
--- a/debian/openvswitch-switch.init
+++ /dev/null
@@ -1,147 +0,0 @@
-#! /bin/sh
-#
-# Copyright (C) 2011, 2012, 2016 Nicira, Inc.
-#
-# 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.
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-switch
-# Required-Start:    $network $named $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch switch
-# Description:       openvswitch-switch provides the userspace components and utilities for
-#                    the Open vSwitch kernel-based switch.
-### END INIT INFO
-
-(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0
-
-_SYSTEMCTL_SKIP_REDIRECT=yes
-SYSTEMCTL_SKIP_REDIRECT=yes
-
-. /usr/share/openvswitch/scripts/ovs-lib
-test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch
-
-network_interfaces () {
-    INTERFACES="/etc/network/interfaces"
-    [ -e "${INTERFACES}" ] || return
-    bridges=`ifquery --allow ovs --list`
-    [ -n "${bridges}" ] && $1 --allow=ovs ${bridges}
-}
-
-load_kmod () {
-    ovs_ctl load-kmod || exit $?
-}
-
-start () {
-    if ovs_ctl load-kmod; then
-        :
-    else
-        echo "Module has probably not been built for this kernel."
-        if ! test -d /usr/share/doc/openvswitch-datapath-source; then
-            echo "Install the openvswitch-datapath-source package, then read"
-        else
-            echo "For instructions, read"
-        fi
-        echo "/usr/share/doc/openvswitch-datapath-source/README.Debian"
-
-        if test X"$OVS_MISSING_KMOD_OK" = Xyes; then
-            # We're being invoked by the package postinst.  Do not
-            # fail package installation just because the kernel module
-            # is not available.
-            exit 0
-        fi
-    fi
-    set ovs_ctl ${1-start} --system-id=random
-    if test X"$FORCE_COREFILES" != X; then
-        set "$@" --force-corefiles="$FORCE_COREFILES"
-    fi
-    set "$@" $OVS_CTL_OPTS
-    "$@" || exit $?
-    if [ "$2" = "start" ] && [ "$READ_INTERFACES" != "no" ]; then
-        network_interfaces ifup
-    fi
-}
-
-stop () {
-    [ "$READ_INTERFACES" != "no" ] && network_interfaces ifdown
-    ovs_ctl stop
-}
-
-restart () {
-    # OVS_FORCE_RELOAD_KMOD can be set by package postinst script.
-    if [ "$1" = "--save-flows=yes" ] || \
-        [ "${OVS_FORCE_RELOAD_KMOD}" = "no" ]; then
-        start restart
-    elif [ "${OVS_FORCE_RELOAD_KMOD}" = "yes" ]; then
-        depmod -a
-
-        if [ -e /sys/module/openvswitch ]; then
-            LOADED_SRCVERSION=`cat /sys/module/openvswitch/srcversion \
-                               2>/dev/null`
-            LOADED_VERSION=`cat /sys/module/openvswitch/version \
-                            2>/dev/null`
-        fi
-        SRCVERSION=`modinfo -F srcversion openvswitch 2>/dev/null`
-        VERSION=`modinfo -F version openvswitch 2>/dev/null`
-
-        ovs_ctl_log "Package upgrading:\n"\
-                    "Loaded version: ${LOADED_VERSION} ${LOADED_SRCVERSION}.\n"\
-                    "Version on disk: ${VERSION} ${SRCVERSION}."
-
-        # If the kernel module was previously loaded and it is different than
-        # the kernel module on disk, then do a 'force-reload-kmod'.
-        if [ -n "${LOADED_SRCVERSION}" ] && [ -n "${SRCVERSION}" ] && \
-            [ "${SRCVERSION}" != "${LOADED_SRCVERSION}" ]; then
-            start force-reload-kmod
-        else
-            start restart
-        fi
-    else
-        READ_INTERFACES="no" stop
-        READ_INTERFACES="no" start
-    fi
-}
-
-case $1 in
-    start)
-        start
-        ;;
-    stop | force-stop)
-        stop
-        ;;
-    reload | force-reload)
-        # The OVS daemons keep up-to-date.
-        ;;
-    restart)
-        shift
-        restart "$@"
-        ;;
-    status)
-        ovs_ctl status
-        exit $?
-        ;;
-    force-reload-kmod)
-        start force-reload-kmod
-        ;;
-    load-kmod)
-        load_kmod
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/openvswitch-switch.install b/debian/openvswitch-switch.install
deleted file mode 100644
index 6a6e9a543..000000000
--- a/debian/openvswitch-switch.install
+++ /dev/null
@@ -1,17 +0,0 @@
-debian/ifupdown.sh usr/share/openvswitch/scripts
-etc/bash_completion.d/ovs-vsctl-bashcomp.bash
-usr/bin/ovs-dpctl
-usr/bin/ovs-dpctl-top
-usr/bin/ovs-pcap
-usr/bin/ovs-tcpdump
-usr/bin/ovs-tcpundump
-usr/bin/ovs-vlan-test
-usr/bin/ovs-vsctl
-usr/bin/ovsdb-tool
-usr/sbin/ovs-vswitchd
-usr/sbin/ovsdb-server
-usr/share/openvswitch/scripts/ovs-check-dead-ifs
-usr/share/openvswitch/scripts/ovs-ctl
-usr/share/openvswitch/scripts/ovs-kmod-ctl
-usr/share/openvswitch/scripts/ovs-save
-usr/share/openvswitch/vswitch.ovsschema
diff --git a/debian/openvswitch-switch.links b/debian/openvswitch-switch.links
deleted file mode 100644
index cf58073ff..000000000
--- a/debian/openvswitch-switch.links
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/share/openvswitch/scripts/ifupdown.sh etc/network/if-post-down.d/openvswitch
-usr/share/openvswitch/scripts/ifupdown.sh etc/network/if-pre-up.d/openvswitch
diff --git a/debian/openvswitch-switch.logrotate b/debian/openvswitch-switch.logrotate
deleted file mode 100644
index 1ccf6f507..000000000
--- a/debian/openvswitch-switch.logrotate
+++ /dev/null
@@ -1,16 +0,0 @@
-/var/log/openvswitch/*.log {
-    daily
-    compress
-    sharedscripts
-    create 640 root adm
-    missingok
-    rotate 30
-    postrotate
-        # Tell Open vSwitch daemons to reopen their log files
-        if [ -d /var/run/openvswitch ]; then
-            for ctl in /var/run/openvswitch/*.ctl; do
-                ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || :
-            done
-        fi
-    endscript
-}
diff --git a/debian/openvswitch-switch.manpages b/debian/openvswitch-switch.manpages
deleted file mode 100644
index 1161cfda7..000000000
--- a/debian/openvswitch-switch.manpages
+++ /dev/null
@@ -1,12 +0,0 @@
-ovsdb/ovsdb-server.1
-ovsdb/ovsdb-server.5
-utilities/ovs-ctl.8
-utilities/ovs-dpctl-top.8
-utilities/ovs-dpctl.8
-utilities/ovs-kmod-ctl.8
-utilities/ovs-pcap.1
-utilities/ovs-tcpdump.8
-utilities/ovs-tcpundump.1
-utilities/ovs-vsctl.8
-vswitchd/ovs-vswitchd.8
-vswitchd/ovs-vswitchd.conf.db.5
diff --git a/debian/openvswitch-switch.postinst b/debian/openvswitch-switch.postinst
deleted file mode 100755
index f8abd40e2..000000000
--- a/debian/openvswitch-switch.postinst
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-# postinst script for openvswitch-switch
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    configure)
-        DEFAULT=/etc/default/openvswitch-switch
-        TEMPLATE=/usr/share/openvswitch/switch/default.template
-        if ! test -e $DEFAULT; then
-            cp $TEMPLATE $DEFAULT
-        fi
-        # Certain versions of upstream Ubuntu's openvswitch packages (which
-        # are forks) may install upstart files which are incompatible
-        # with the packages generated from this repo. Remove them.
-        if [ -e "/etc/init/openvswitch-switch.conf" ]; then
-            rm /etc/init/openvswitch-switch.conf
-        fi
-        if [ -e "/etc/init/openvswitch-force-reload-kmod.conf" ]; then
-            rm /etc/init/openvswitch-force-reload-kmod.conf
-        fi
-        ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-        ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-# Do not fail package installation just because the kernel module
-# is not available.
-OVS_MISSING_KMOD_OK=yes
-export OVS_MISSING_KMOD_OK
-
-# force-reload-kmod during upgrade. If a user wants to override this,
-# they can set the variable OVS_FORCE_RELOAD_KMOD=no while installing.
-[ -z "${OVS_FORCE_RELOAD_KMOD}" ] && OVS_FORCE_RELOAD_KMOD=yes || true
-export OVS_FORCE_RELOAD_KMOD
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/openvswitch-switch.postrm b/debian/openvswitch-switch.postrm
deleted file mode 100755
index 88bf9fc61..000000000
--- a/debian/openvswitch-switch.postrm
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-# postrm script for openvswitch-switch
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postrm> `remove'
-#        * <postrm> `purge'
-#        * <old-postrm> `upgrade' <new-version>
-#        * <new-postrm> `failed-upgrade' <old-version>
-#        * <new-postrm> `abort-install'
-#        * <new-postrm> `abort-install' <old-version>
-#        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <overwriter>
-#          <overwriter-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    purge)
-        rm -f /etc/openvswitch/conf.db
-        rm -f /etc/openvswitch/.conf.db.~lock~
-        rm -f /etc/default/openvswitch-switch
-        rm -f /var/log/openvswitch/ovs-vswitchd.log* || true
-        rm -f /var/log/openvswitch/ovsdb-server.log* || true
-        rm -f /etc/openvswitch/system-id.conf
-        ;;
-
-    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/openvswitch-switch.template b/debian/openvswitch-switch.template
deleted file mode 100644
index d7c779689..000000000
--- a/debian/openvswitch-switch.template
+++ /dev/null
@@ -1,8 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# FORCE_COREFILES: If 'yes' then core files will be enabled.
-# FORCE_COREFILES=yes
-
-# OVS_CTL_OPTS: Extra options to pass to ovs-ctl.  This is, for example,
-# a suitable place to specify --ovs-vswitchd-wrapper=valgrind.
-# OVS_CTL_OPTS=
diff --git a/debian/openvswitch-test.dirs b/debian/openvswitch-test.dirs
deleted file mode 100644
index daaae31af..000000000
--- a/debian/openvswitch-test.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/pyshared/ovstest/
diff --git a/debian/openvswitch-test.install b/debian/openvswitch-test.install
deleted file mode 100644
index 8a01a5125..000000000
--- a/debian/openvswitch-test.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin/ovs-l3ping
-usr/bin/ovs-test
-usr/share/openvswitch/python/ovstest usr/lib/python2.7/dist-packages/
diff --git a/debian/openvswitch-test.manpages b/debian/openvswitch-test.manpages
deleted file mode 100644
index 3f7185869..000000000
--- a/debian/openvswitch-test.manpages
+++ /dev/null
@@ -1 +0,0 @@
-utilities/ovs-l3ping.8
diff --git a/debian/openvswitch-testcontroller.README.Debian b/debian/openvswitch-testcontroller.README.Debian
deleted file mode 100644
index 0548826ef..000000000
--- a/debian/openvswitch-testcontroller.README.Debian
+++ /dev/null
@@ -1,12 +0,0 @@
-README.Debian for openvswitch-testcontroller
---------------------------------------------
-
-The controller in this package enables OpenFlow switches that connect
-to it to act as MAC-learning Ethernet switches.  It can be used for
-initial testing of OpenFlow networks.  It is not a necessary or
-desirable part of a production OpenFlow deployment.
-
-To (re)configure the controller, edit /etc/default/openvswitch-testcontroller
-and run "/etc/init.d/openvswitch-testcontroller restart".
-
- -- Ben Pfaff <pfaffben@debian.org>, Thu, 14 Aug 2014 10:49:34 -0700
diff --git a/debian/openvswitch-testcontroller.default b/debian/openvswitch-testcontroller.default
deleted file mode 100644
index c6db59570..000000000
--- a/debian/openvswitch-testcontroller.default
+++ /dev/null
@@ -1,29 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# LISTEN: What OpenFlow connection methods should the controller listen on?
-#
-# This is a space-delimited list of connection methods:
-#
-# * "pssl:[PORT]": Listen for SSL connections on the specified PORT
-#   (default: 6653).  The private key, certificate, and CA certificate
-#   must be specified below.
-#
-# * "ptcp:[PORT]": Listen for TCP connections on the specified PORT
-#   (default: 6653).  Not recommended for security reasons.
-#
-LISTEN="pssl:"
-
-# PRIVKEY: Name of file containing controller's private key.
-# Required if SSL enabled.
-PRIVKEY=/etc/openvswitch-testcontroller/privkey.pem
-
-# CERT: Name of file containing certificate for private key.
-# Required if SSL enabled.
-CERT=/etc/openvswitch-testcontroller/cert.pem
-
-# CACERT: Name of file containing switch CA certificate.
-# Required if SSL enabled.
-CACERT=/etc/openvswitch-testcontroller/cacert.pem
-
-# Additional options to pass to ovs-testcontroller, e.g. "--hub"
-DAEMON_OPTS=""
diff --git a/debian/openvswitch-testcontroller.dirs b/debian/openvswitch-testcontroller.dirs
deleted file mode 100644
index d8d4f775f..000000000
--- a/debian/openvswitch-testcontroller.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/openvswitch-testcontroller
diff --git a/debian/openvswitch-testcontroller.init b/debian/openvswitch-testcontroller.init
deleted file mode 100755
index 67b7a994f..000000000
--- a/debian/openvswitch-testcontroller.init
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2011, 2014 Nicira, Inc.
-# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino <jfs@debian.org>
-#
-# This is free software; you may 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,
-# or (at your option) any later version.
-#
-# This 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 with
-# the Debian operating system, in /usr/share/common-licenses/GPL;  if
-# not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-testcontroller
-# Required-Start:    $network $local_fs $remote_fs
-# Required-Stop:     $remote_fs
-# Should-Start:      $named
-# Should-Stop:
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Simple OpenFlow controller for testing
-# Description:       This controller enables OpenFlow switches that connect to
-#                    it to act as MAC-learning Ethernet switches.
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/bin/ovs-testcontroller # Introduce the server's location here
-NAME=ovs-testcontroller         # Introduce the short server's name here
-DESC=ovs-testcontroller         # Introduce a short description here
-LOGDIR=/var/log/openvswitch	# Log directory to use
-
-PIDFILE=/var/run/openvswitch/$NAME.pid
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-# Default options, these can be overriden by the information
-# at /etc/default/openvswitch-testcontroller
-DAEMON_OPTS=""          # Additional options given to the server
-
-DODTIME=10              # Time to wait for the server to die, in seconds
-                        # If this value is set too low you might not
-                        # let some servers to die gracefully and
-                        # 'restart' will not work
-
-LOGFILE=$LOGDIR/$NAME.log  # Server logfile
-#DAEMONUSER=            # User to run the daemons as. If this value
-                        # is set start-stop-daemon will chuid the server
-
-# Include defaults if available
-default=/etc/default/openvswitch-testcontroller
-if [ -f $default ] ; then
-    . $default
-fi
-
-# Check that the user exists (if we set a user)
-# Does the user exist?
-if [ -n "$DAEMONUSER" ] ; then
-    if getent passwd | grep -q "^$DAEMONUSER:"; then
-        # Obtain the uid and gid
-        DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
-        DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
-    else
-        log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
-        exit 1
-    fi
-fi
-
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
-    pid=$1
-    name=$2
-    [ -z "$pid" ] && return 1
-    [ ! -d /proc/$pid ] &&  return 1
-    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
-    # Is this the expected server
-    [ "$cmd" != "$name" ] &&  return 1
-    return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
-    # No pidfile, probably no daemon present
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE`
-    running_pid $pid $DAEMON || return 1
-    return 0
-}
-
-start_server() {
-    if [ -z "$LISTEN" ]; then
-        echo "$default: No connection methods configured, controller disabled" >&2
-        exit 0
-    fi
-
-    if [ ! -d /var/run/openvswitch ]; then
-        install -d -m 755 -o root -g root /var/run/openvswitch
-    fi
-
-    SSL_OPTS=
-    case $LISTEN in
-        *ssl*)
-            : ${PRIVKEY:=/etc/openvswitch-testcontroller/privkey.pem}
-            : ${CERT:=/etc/openvswitch-testcontroller/cert.pem}
-            : ${CACERT:=/etc/openvswitch-testcontroller/cacert.pem}
-            if test ! -e "$PRIVKEY" || test ! -e "$CERT" ||
-                test ! -e "$CACERT"; then
-                if test ! -e "$PRIVKEY"; then
-                    echo "$PRIVKEY: private key missing" >&2
-                fi
-                if test ! -e "$CERT"; then
-                    echo "$CERT: certificate for private key missing" >&2
-                fi
-                if test ! -e "$CACERT"; then
-                    echo "$CACERT: CA certificate missing" >&2
-                fi
-                exit 1
-            fi
-            SSL_OPTS="--private-key=$PRIVKEY --certificate=$CERT --ca-cert=$CACERT"
-            ;;
-    esac
-
-# Start the process using the wrapper
-        if [ -z "$DAEMONUSER" ] ; then
-            start-stop-daemon --start --pidfile $PIDFILE \
-                        --exec $DAEMON -- --detach --pidfile=$PIDFILE \
-                        $LISTEN $DAEMON_OPTS $SSL_OPTS
-            errcode=$?
-        else
-# if we are using a daemonuser then change the user id
-            start-stop-daemon --start --quiet --pidfile $PIDFILE \
-                        --chuid $DAEMONUSER --exec $DAEMON -- \
-                        --detach --pidfile=$PIDFILE $LISTEN $DAEMON_OPTS \
-                        $SSL_OPTS
-            errcode=$?
-        fi
-        return $errcode
-}
-
-stop_server() {
-# Stop the process using the wrapper
-        if [ -z "$DAEMONUSER" ] ; then
-            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
-                        --exec $DAEMON
-            errcode=$?
-        else
-# if we are using a daemonuser then look for process that match
-            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
-                        --user $DAEMONUSER --exec $DAEMON
-            errcode=$?
-        fi
-
-        return $errcode
-}
-
-reload_server() {
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE` # This is the daemon's pid
-    # Send a SIGHUP
-    kill -1 $pid
-    return $?
-}
-
-force_stop() {
-# Force the process to die killing it manually
-    [ ! -e "$PIDFILE" ] && return
-    if running ; then
-        kill -15 $pid
-        # Is it really dead?
-        sleep "$DODTIME"
-        if running ; then
-            kill -9 $pid
-            sleep "$DODTIME"
-            if running ; then
-                echo "Cannot kill $NAME (pid=$pid)!"
-                exit 1
-            fi
-        fi
-    fi
-    rm -f $PIDFILE
-}
-
-
-case "$1" in
-  start)
-        log_daemon_msg "Starting $DESC " "$NAME"
-        # Check if it's running first
-        if running ;  then
-            log_progress_msg "apparently already running"
-            log_end_msg 0
-            exit 0
-        fi
-        if start_server && running ;  then
-            # It's ok, the server started and is running
-            log_end_msg 0
-        else
-            # Either we could not start it or it is not running
-            # after we did
-            # NOTE: Some servers might die some time after they start,
-            # this code does not try to detect this and might give
-            # a false positive (use 'status' for that)
-            log_end_msg 1
-        fi
-        ;;
-  stop)
-        log_daemon_msg "Stopping $DESC" "$NAME"
-        if running ; then
-            # Only stop the server if we see it running
-            stop_server
-            log_end_msg $?
-        else
-            # If it's not running don't do anything
-            log_progress_msg "apparently not running"
-            log_end_msg 0
-            exit 0
-        fi
-        ;;
-  force-stop)
-        # First try to stop gracefully the program
-        $0 stop
-        if running; then
-            # If it's still running try to kill it more forcefully
-            log_daemon_msg "Stopping (force) $DESC" "$NAME"
-            force_stop
-            log_end_msg $?
-        fi
-        ;;
-  restart|force-reload)
-        log_daemon_msg "Restarting $DESC" "$NAME"
-        if running; then
-            stop_server
-            # Wait some sensible amount, some server need this.
-            [ -n "$DODTIME" ] && sleep $DODTIME
-        fi
-        start_server
-        running
-        log_end_msg $?
-        ;;
-  status)
-
-        log_daemon_msg "Checking status of $DESC" "$NAME"
-        if running ;  then
-            log_progress_msg "running"
-            log_end_msg 0
-        else
-            log_progress_msg "apparently not running"
-            log_end_msg 1
-            exit 1
-        fi
-        ;;
-  # Use this if the daemon cannot reload
-  reload)
-        log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
-        log_warning_msg "cannot re-read the config file (use restart)."
-        ;;
-  *)
-        N=/etc/init.d/openvswitch-testcontroller
-        echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/openvswitch-testcontroller.install b/debian/openvswitch-testcontroller.install
deleted file mode 100644
index d368f2a01..000000000
--- a/debian/openvswitch-testcontroller.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/bin/ovs-testcontroller
diff --git a/debian/openvswitch-testcontroller.manpages b/debian/openvswitch-testcontroller.manpages
deleted file mode 100644
index 41fd492c1..000000000
--- a/debian/openvswitch-testcontroller.manpages
+++ /dev/null
@@ -1 +0,0 @@
-utilities/ovs-testcontroller.8
diff --git a/debian/openvswitch-testcontroller.postinst b/debian/openvswitch-testcontroller.postinst
deleted file mode 100755
index 7a25083f2..000000000
--- a/debian/openvswitch-testcontroller.postinst
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-# postinst script for openvswitch-testcontroller
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    configure)
-        cd /etc/openvswitch-testcontroller
-        if ! test -e cacert.pem; then
-            ln -s /var/lib/openvswitch/pki/switchca/cacert.pem cacert.pem
-        fi
-        if ! test -e privkey.pem || ! test -e cert.pem; then
-            oldumask=$(umask)
-            umask 077
-            ovs-pki req+sign tmp controller >/dev/null
-            mv tmp-privkey.pem privkey.pem
-            mv tmp-cert.pem cert.pem
-            mv tmp-req.pem req.pem
-            chmod go+r cert.pem req.pem
-            umask $oldumask
-        fi
-        ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-        ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/openvswitch-testcontroller.postrm b/debian/openvswitch-testcontroller.postrm
deleted file mode 100755
index afca1bbf0..000000000
--- a/debian/openvswitch-testcontroller.postrm
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-# postrm script for openvswitch-testcontroller
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postrm> `remove'
-#        * <postrm> `purge'
-#        * <old-postrm> `upgrade' <new-version>
-#        * <new-postrm> `failed-upgrade' <old-version>
-#        * <new-postrm> `abort-install'
-#        * <new-postrm> `abort-install' <old-version>
-#        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <overwriter>
-#          <overwriter-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    purge)
-        if cd /etc/openvswitch-testcontroller; then
-            rm -f cacert.pem cert.pem privkey.pem req.pem
-            rm -f tmp-privkey.pem tmp-cert.pem tmp-req.pem
-        fi
-        ;;
-
-    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/openvswitch-vtep.default b/debian/openvswitch-vtep.default
deleted file mode 100644
index 2e888e726..000000000
--- a/debian/openvswitch-vtep.default
+++ /dev/null
@@ -1,4 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# ENABLE_OVS_VTEP: Whether to start ovs-vtep.
-ENABLE_OVS_VTEP="false"
diff --git a/debian/openvswitch-vtep.dirs b/debian/openvswitch-vtep.dirs
deleted file mode 100644
index b0a8f64dd..000000000
--- a/debian/openvswitch-vtep.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/openvswitch
diff --git a/debian/openvswitch-vtep.init b/debian/openvswitch-vtep.init
deleted file mode 100644
index ebf4e26dc..000000000
--- a/debian/openvswitch-vtep.init
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-
-### BEGIN INIT INFO
-# Provides:          openvswitch-vtep
-# Required-Start:    $network $named $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch VTEP emulator
-# Description:       Initializes the Open vSwitch VTEP emulator
-### END INIT INFO
-
-
-# Include defaults if available
-default=/etc/default/openvswitch-vtep
-if [ -f $default ] ; then
-    . $default
-fi
-
-start () {
-    if [ "$ENABLE_OVS_VTEP" = "false" ]; then
-        exit 0
-    fi
-
-    update-rc.d -f openvswitch-switch remove >/dev/null 2>&1
-    /etc/init.d/openvswitch-switch stop
-
-    mkdir -p "/var/run/openvswitch"
-
-    if [ ! -e "/etc/openvswitch/conf.db" ]; then
-        ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
-    fi
-
-    if [ ! -e "/etc/openvswitch/vtep.db" ]; then
-        ovsdb-tool create /etc/openvswitch/vtep.db /usr/share/openvswitch/vtep.ovsschema
-    fi
-
-    if [ ! -e "/etc/openvswitch/ovsclient-cert.pem" ]; then
-        export RANDFILE="/root/.rnd"
-        cd /etc/openvswitch && ovs-pki req ovsclient && ovs-pki self-sign ovsclient
-    fi
-
-    ovsdb-server --pidfile --detach --log-file --remote \
-        punix:/var/run/openvswitch/db.sock \
-        --remote=db:hardware_vtep,Global,managers \
-        --private-key=/etc/openvswitch/ovsclient-privkey.pem \
-        --certificate=/etc/openvswitch/ovsclient-cert.pem \
-        --bootstrap-ca-cert=/etc/openvswitch/vswitchd.cacert \
-        /etc/openvswitch/conf.db /etc/openvswitch/vtep.db
-
-    modprobe openvswitch
-
-    ovs-vswitchd --pidfile --detach --log-file \
-        unix:/var/run/openvswitch/db.sock
-}
-
-stop () {
-    /etc/init.d/openvswitch-switch stop
-}
-
-case $1 in
-    start)
-        start
-        ;;
-    stop)
-        stop
-        ;;
-    restart|force-reload)
-        stop
-        start
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|restart|force-reload}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/openvswitch-vtep.install b/debian/openvswitch-vtep.install
deleted file mode 100644
index b7852649d..000000000
--- a/debian/openvswitch-vtep.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/share/openvswitch/scripts/ovs-vtep
-usr/share/openvswitch/vtep.ovsschema
-usr/bin/vtep-ctl
diff --git a/debian/openvswitch-vtep.manpages b/debian/openvswitch-vtep.manpages
deleted file mode 100644
index 54d0c768f..000000000
--- a/debian/openvswitch-vtep.manpages
+++ /dev/null
@@ -1 +0,0 @@
-vtep/vtep-ctl.8
diff --git a/debian/ovn-central.template b/debian/ovn-central.default
similarity index 100%
rename from debian/ovn-central.template
rename to debian/ovn-central.default
diff --git a/debian/ovn-central.dirs b/debian/ovn-central.dirs
deleted file mode 100644
index 6394883ce..000000000
--- a/debian/ovn-central.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ovn/central
diff --git a/debian/ovn-central.init b/debian/ovn-central.init
deleted file mode 100755
index 60cee95a3..000000000
--- a/debian/ovn-central.init
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-#
-### BEGIN INIT INFO
-# Provides:          ovn-central
-# Required-Start:    openvswitch-switch $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: OVN central components
-# Description:       ovn-central provides the userspace daemons,
-#                    utilities and databases for OVN that is run at a central
-#                    location.
-### END INIT INFO
-
-test -x /usr/bin/ovn-northd  || exit 0
-test -x /usr/share/openvswitch/scripts/ovn-ctl || exit 0
-
-_SYSTEMCTL_SKIP_REDIRECT=yes
-SYSTEMCTL_SKIP_REDIRECT=yes
-
-. /usr/share/openvswitch/scripts/ovs-lib
-if [ -e /etc/default/ovn-central ]; then
-    . /etc/default/ovn-central
-fi
-
-start () {
-    set /usr/share/openvswitch/scripts/ovn-ctl ${1-start_northd}
-    set "$@" $OVN_CTL_OPTS
-    "$@" || exit $?
-}
-
-stop_northd () {
-    set /usr/share/openvswitch/scripts/ovn-ctl ${1-stop_northd}
-    set "$@" $OVN_CTL_OPTS
-    "$@" || exit $?
-}
-
-case $1 in
-    start)
-        start
-        ;;
-    stop)
-        stop_northd
-        ;;
-    restart)
-        start restart_northd
-        ;;
-    reload | force-reload)
-        ;;
-    status)
-        /usr/share/openvswitch/scripts/ovn-ctl status_northd
-        exit $?
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/ovn-central.install b/debian/ovn-central.install
index 733d3fc5e..095ca7cfa 100644
--- a/debian/ovn-central.install
+++ b/debian/ovn-central.install
@@ -1,3 +1,3 @@
 usr/bin/ovn-northd
-usr/share/openvswitch/ovn-nb.ovsschema
-usr/share/openvswitch/ovn-sb.ovsschema
+usr/share/ovn/ovn-nb.ovsschema
+usr/share/ovn/ovn-sb.ovsschema
diff --git a/debian/ovn-central.manpages b/debian/ovn-central.manpages
index 2ddb43784..10ba8d3e5 100644
--- a/debian/ovn-central.manpages
+++ b/debian/ovn-central.manpages
@@ -1 +1 @@
-ovn/northd/ovn-northd.8
+northd/ovn-northd.8
diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service
new file mode 100644
index 000000000..09c600016
--- /dev/null
+++ b/debian/ovn-central.ovn-northd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open Virtual Network central control daemon
+After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service
+PartOf=ovn-central.service
+DefaultDependencies=no
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/default/ovn-central
+PIDFile=%t/ovn/ovn-northd.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service
new file mode 100644
index 000000000..81f6c75a3
--- /dev/null
+++ b/debian/ovn-central.ovn-ovsdb-server-nb.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Open vSwitch database server for OVN Northbound database
+After=network.target
+PartOf=ovn-central.service
+DefaultDependencies=no
+
+[Service]
+Type=simple
+EnvironmentFile=-/etc/default/ovn-central
+PIDFile=%t/ovn/ovnnb_db.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
+
+[Install]
+Alias=ovn-nb-ovsdb.service
diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service
new file mode 100644
index 000000000..3aa840d2f
--- /dev/null
+++ b/debian/ovn-central.ovn-ovsdb-server-sb.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Open vSwitch database server for OVN Southbound database
+After=network.target
+PartOf=ovn-central.service
+DefaultDependencies=no
+
+[Service]
+Type=simple
+EnvironmentFile=-/etc/default/ovn-central
+PIDFile=%t/run/ovn/ovnsb_db.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
+
+[Install]
+Alias=ovn-sb-ovsdb.service
diff --git a/debian/ovn-central.postinst b/debian/ovn-central.postinst
deleted file mode 100755
index 10e07ece4..000000000
--- a/debian/ovn-central.postinst
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-# postinst script for ovn-central
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    configure)
-        DEFAULT=/etc/default/ovn-central
-        TEMPLATE=/usr/share/ovn/central/default.template
-        if ! test -e $DEFAULT; then
-            cp $TEMPLATE $DEFAULT
-        else
-            for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
-            do
-                if ! grep $var $DEFAULT >/dev/null 2>&1; then
-                    echo >> $DEFAULT
-                    sed -n "/$var:/,/$var=/p" $TEMPLATE >> $DEFAULT
-                fi
-            done
-        fi
-        ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-        ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm
old mode 100755
new mode 100644
index 0e654a37a..3b3483fc3
--- a/debian/ovn-central.postrm
+++ b/debian/ovn-central.postrm
@@ -21,7 +21,6 @@ set -e
 
 case "$1" in
     purge)
-        rm -f /etc/default/ovn-central
         rm -f /etc/openvswitch/ovnnb.db*
         rm -f /etc/openvswitch/.ovnnb.db.~lock~
         rm -f /etc/openvswitch/ovnsb.db*
diff --git a/debian/ovn-central.service b/debian/ovn-central.service
new file mode 100644
index 000000000..aead7eae6
--- /dev/null
+++ b/debian/ovn-central.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Open Virtual Network central components
+After=network.target
+Requires=network.target
+Wants=ovn-northd.service
+Wants=ovn-ovsdb-server-sb.service
+Wants=ovn-ovsdb-server-nb.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+ExecStop=/bin/true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/ovn-common.dirs b/debian/ovn-common.dirs
new file mode 100644
index 000000000..7d9a42ae7
--- /dev/null
+++ b/debian/ovn-common.dirs
@@ -0,0 +1,3 @@
+/etc/ovn
+/var/lib/ovn
+/var/log/ovn
diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs
new file mode 100644
index 000000000..6d5ee1d05
--- /dev/null
+++ b/debian/ovn-common.docs
@@ -0,0 +1 @@
+NOTICE
diff --git a/debian/ovn-common.install b/debian/ovn-common.install
index e3c3c000a..8503c01d6 100644
--- a/debian/ovn-common.install
+++ b/debian/ovn-common.install
@@ -1,9 +1,8 @@
+usr/bin/ovn-appctl
+usr/bin/ovn-detrace
 usr/bin/ovn-nbctl
 usr/bin/ovn-sbctl
-usr/bin/ovn-ic-nbctl
-usr/bin/ovn-ic-sbctl
 usr/bin/ovn-trace
-usr/bin/ovn-detrace
-usr/share/openvswitch/scripts/ovn-ctl
-usr/share/openvswitch/scripts/ovndb-servers.ocf
-usr/lib/*/libovn*.so.*
+usr/share/ovn/scripts/ovn-ctl
+usr/share/ovn/scripts/ovn-lib
+usr/share/ovn/scripts/ovndb-servers.ocf
diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate
new file mode 100644
index 000000000..a351ec303
--- /dev/null
+++ b/debian/ovn-common.logrotate
@@ -0,0 +1,22 @@
+# Copyright (C) 2019 Red Hat, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without warranty of any kind.
+
+/var/log/ovn/*.log {
+    su root root
+    daily
+    compress
+    sharedscripts
+    missingok
+    postrotate
+        # Tell OVN daemons to reopen their log files
+        if [ -d /var/run/ovn ]; then
+            for ctl in /var/run/ovn/*.ctl; do
+                ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || :
+            done
+        fi
+    endscript
+}
diff --git a/debian/ovn-common.manpages b/debian/ovn-common.manpages
index ba0fe8a16..7aead692d 100644
--- a/debian/ovn-common.manpages
+++ b/debian/ovn-common.manpages
@@ -1,12 +1,9 @@
-ovn/ovn-architecture.7
-ovn/ovn-nb.5
-ovn/ovn-sb.5
-ovn/ovn-ic-nb.5
-ovn/ovn-ic-sb.5
-ovn/utilities/ovn-ctl.8
-ovn/utilities/ovn-nbctl.8
-ovn/utilities/ovn-sbctl.8
-ovn/utilities/ovn-ic-nbctl.8
-ovn/utilities/ovn-ic-sbctl.8
-ovn/utilities/ovn-trace.8
-ovn/utilities/ovn-detrace.1
+ovn-architecture.7
+ovn-nb.5
+ovn-sb.5
+utilities/ovn-appctl.8
+utilities/ovn-ctl.8
+utilities/ovn-detrace.1
+utilities/ovn-nbctl.8
+utilities/ovn-sbctl.8
+utilities/ovn-trace.8
diff --git a/debian/ovn-controller-vtep.init b/debian/ovn-controller-vtep.init
deleted file mode 100755
index be0a24358..000000000
--- a/debian/ovn-controller-vtep.init
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-#
-### BEGIN INIT INFO
-# Provides:          ovn-controller-vtep
-# Required-Start:    openvswitch-switch $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: OVN Controller for VTEP enabled devices
-# Description:       ovn-controller-vtep provides the userspace
-#                    components and utilities for OVN that can be run on
-#                    hosts taht connect to VTEP enabled devices.
-### END INIT INFO
-
-test -x /usr/bin/ovn-controller-vtep  || exit 0
-test -x /usr/share/openvswitch/scripts/ovn-ctl || exit 0
-
-_SYSTEMCTL_SKIP_REDIRECT=yes
-SYSTEMCTL_SKIP_REDIRECT=yes
-
-. /usr/share/openvswitch/scripts/ovs-lib
-if [ -e /etc/default/ovn-controller-vtep ]; then
-    . /etc/default/ovn-controller-vtep
-fi
-
-start () {
-    set /usr/share/openvswitch/scripts/ovn-ctl ${1-start_controller_vtep}
-    set "$@" $OVN_CTL_OPTS
-    "$@" || exit $?
-}
-
-case $1 in
-    start)
-        start
-        ;;
-    stop | force-stop)
-        /usr/share/openvswitch/scripts/ovn-ctl stop_controller_vtep
-        ;;
-    restart)
-        start restart_controller_vtep
-        ;;
-    status)
-        /usr/share/openvswitch/scripts/ovn-ctl status_controller_vtep
-        exit $?
-        ;;
-    reload | force-reload)
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/ovn-controller-vtep.manpages b/debian/ovn-controller-vtep.manpages
index 787301704..b87987016 100644
--- a/debian/ovn-controller-vtep.manpages
+++ b/debian/ovn-controller-vtep.manpages
@@ -1 +1 @@
-ovn/controller-vtep/ovn-controller-vtep.8
+controller-vtep/ovn-controller-vtep.8
diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service
new file mode 100644
index 000000000..d51e75277
--- /dev/null
+++ b/debian/ovn-controller-vtep.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Open Virtual Network VTEP gateway controller daemon
+After=openvswitch-switch.service
+Requires=openvswitch-switch.service
+
+[Service]
+Type=forking
+PIDFile=%t/ovn/ovn-controller-vtep.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base
new file mode 100644
index 000000000..c7192ebdb
--- /dev/null
+++ b/debian/ovn-doc.doc-base
@@ -0,0 +1,9 @@
+Document: ovn-doc
+Title: Open Virtual Network Documentation
+Author: N/A
+Abstract: Sphinx documentation for Open Virtual Network
+Section: Network/Communication
+
+Format: HTML
+Index: /usr/share/doc/ovn-doc/html/index.html
+Files: /usr/share/doc/ovn-doc/html/*
diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install
new file mode 100644
index 000000000..4cfd153cf
--- /dev/null
+++ b/debian/ovn-doc.install
@@ -0,0 +1 @@
+Documentation/_build/html/* /usr/share/doc/ovn-doc/html/
diff --git a/debian/ovn-host.template b/debian/ovn-host.default
similarity index 100%
rename from debian/ovn-host.template
rename to debian/ovn-host.default
diff --git a/debian/ovn-host.dirs b/debian/ovn-host.dirs
deleted file mode 100644
index 7d3c761e1..000000000
--- a/debian/ovn-host.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ovn/host
diff --git a/debian/ovn-host.init b/debian/ovn-host.init
deleted file mode 100755
index 39c3bcf16..000000000
--- a/debian/ovn-host.init
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-#
-### BEGIN INIT INFO
-# Provides:          ovn-host
-# Required-Start:    openvswitch-switch $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: OVN host components
-# Description:       ovn-host provides the userspace
-#                    components and utilities for OVN that can be run on
-#                    every host/hypervisor.
-### END INIT INFO
-
-test -x /usr/bin/ovn-controller  || exit 0
-test -x /usr/share/openvswitch/scripts/ovn-ctl || exit 0
-
-_SYSTEMCTL_SKIP_REDIRECT=yes
-SYSTEMCTL_SKIP_REDIRECT=yes
-
-. /usr/share/openvswitch/scripts/ovs-lib
-if [ -e /etc/default/ovn-host ]; then
-    . /etc/default/ovn-host
-fi
-
-start () {
-    set /usr/share/openvswitch/scripts/ovn-ctl ${1-start_controller}
-    set "$@" $OVN_CTL_OPTS
-    "$@" || exit $?
-}
-
-case $1 in
-    start)
-        start
-        ;;
-    stop | force-stop)
-        /usr/share/openvswitch/scripts/ovn-ctl stop_controller
-        ;;
-    restart)
-        start restart_controller
-        ;;
-    status)
-        /usr/share/openvswitch/scripts/ovn-ctl status_controller
-        exit $?
-        ;;
-    reload | force-reload)
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/ovn-host.manpages b/debian/ovn-host.manpages
index 4f9e7bc90..aa27066ff 100644
--- a/debian/ovn-host.manpages
+++ b/debian/ovn-host.manpages
@@ -1 +1 @@
-ovn/controller/ovn-controller.8
+controller/ovn-controller.8
diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service
new file mode 100644
index 000000000..a41e77d75
--- /dev/null
+++ b/debian/ovn-host.ovn-controller.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open Virtual Network host control daemon
+After=network.target openvswitch-switch.service
+PartOf=ovn-host.service
+DefaultDependencies=no
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/default/ovn-host
+PIDFile=%t/ovn/ovn-controller.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
diff --git a/debian/ovn-host.postinst b/debian/ovn-host.postinst
deleted file mode 100755
index 4b3edeb75..000000000
--- a/debian/ovn-host.postinst
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-# postinst script for ovn-host
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    configure)
-        DEFAULT=/etc/default/ovn-host
-        TEMPLATE=/usr/share/ovn/host/default.template
-        if ! test -e $DEFAULT; then
-            cp $TEMPLATE $DEFAULT
-        else
-            for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
-            do
-                if ! grep $var $DEFAULT >/dev/null 2>&1; then
-                    echo >> $DEFAULT
-                    sed -n "/$var:/,/$var=/p" $TEMPLATE >> $DEFAULT
-                fi
-            done
-        fi
-        ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-        ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm
old mode 100755
new mode 100644
index 4cceb9087..9d17ef966
--- a/debian/ovn-host.postrm
+++ b/debian/ovn-host.postrm
@@ -21,7 +21,6 @@ set -e
 
 case "$1" in
     purge)
-        rm -f /etc/default/ovn-host
         rm -f /var/log/openvswitch/ovn-controller.log* || true
         ;;
 
diff --git a/debian/ovn-host.service b/debian/ovn-host.service
new file mode 100644
index 000000000..b524888fd
--- /dev/null
+++ b/debian/ovn-host.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Open Virtual Network host components
+After=network.target
+Requires=network.target
+Wants=ovn-controller.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+ExecStop=/bin/true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install
new file mode 100644
index 000000000..822072661
--- /dev/null
+++ b/debian/ovn-ic-db.install
@@ -0,0 +1,4 @@
+/usr/bin/ovn-ic-nbctl
+/usr/bin/ovn-ic-sbctl
+/usr/share/ovn/ovn-ic-nb.ovsschema
+/usr/share/ovn/ovn-ic-sb.ovsschema
diff --git a/debian/ovn-ic-db.manpages b/debian/ovn-ic-db.manpages
new file mode 100644
index 000000000..82cad4be9
--- /dev/null
+++ b/debian/ovn-ic-db.manpages
@@ -0,0 +1,4 @@
+ovn-ic-nb.5
+ovn-ic-sb.5
+utilities/ovn-ic-nbctl.8
+utilities/ovn-ic-sbctl.8
diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service
new file mode 100644
index 000000000..193024daf
--- /dev/null
+++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open vSwitch database server for OVN IC Northbound database
+After=network.target
+PartOf=ovn-ic-db.service
+DefaultDependencies=no
+
+[Service]
+Type=simple
+EnvironmentFile=-/etc/default/ovn-ic
+PIDFile=%t/ovn/ovn_ic_nb_db.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service
new file mode 100644
index 000000000..714748325
--- /dev/null
+++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open vSwitch database server for OVN IC Southbound database
+After=network.target
+PartOf=ovn-ic-db.service
+DefaultDependencies=no
+
+[Service]
+Type=simple
+EnvironmentFile=-/etc/default/ovn-ic
+PIDFile=%t/ovn/ovn_ic_sb_db.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service
new file mode 100644
index 000000000..b116bc79d
--- /dev/null
+++ b/debian/ovn-ic-db.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Open Virtual Network interconnection databases
+After=network.target
+Requires=network.target
+Wants=ovn-ovsdb-server-ic-sb.service
+Wants=ovn-ovsdb-server-ic-nb.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+ExecStop=/bin/true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install
new file mode 100644
index 000000000..b15508259
--- /dev/null
+++ b/debian/ovn-ic.install
@@ -0,0 +1 @@
+/usr/bin/ovn-ic
diff --git a/debian/ovn-ic.manpages b/debian/ovn-ic.manpages
new file mode 100644
index 000000000..931ce60b8
--- /dev/null
+++ b/debian/ovn-ic.manpages
@@ -0,0 +1 @@
+ic/ovn-ic.8
diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service
new file mode 100644
index 000000000..07974285f
--- /dev/null
+++ b/debian/ovn-ic.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Open Virtual Network interconnection controller
+After=network.target
+Requires=network.target
+
+[Service]
+Type=forking
+PIDFile=%t/ovn/ovn-ic.pid
+ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor
+ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic
+Restart=on-failure
+LimitNOFILE=65535
+TimeoutStopSec=15
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/python-openvswitch.dirs b/debian/python-openvswitch.dirs
deleted file mode 100644
index cbf0de33d..000000000
--- a/debian/python-openvswitch.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/share/pyshared/ovs/
-usr/share/pyshared/ovs/db/
diff --git a/debian/python-openvswitch.install b/debian/python-openvswitch.install
deleted file mode 100644
index 0472d413f..000000000
--- a/debian/python-openvswitch.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/openvswitch/python/ovs usr/lib/python2.7/dist-packages/
diff --git a/debian/rules b/debian/rules
index 9d0a81f1a..9a528c134 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,100 +1,84 @@
 #!/usr/bin/make -f
 # -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-#
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-#
-# Modified to make a template file for a multi-binary package with separated
-# build-arch and build-indep targets  by Bill Allombert 2001
 #export DH_VERBOSE=1
 
-PACKAGE=openvswitch
-PACKAGE_DKMS=openvswitch-datapath-dkms
-include /usr/share/dpkg/pkg-info.mk
-
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-else
-PARALLEL =
-endif
-
 %:
-	dh $@ --with autoreconf,python2 --parallel
+	dh $@ --with autoreconf,python3,systemd,sphinxdoc
 
 # use --as-needed only if supported by dh-autoreconf (to simplify backporting)
 DH_AS_NEEDED=$(shell dpkg --compare-versions $$(dpkg --status dh-autoreconf | grep Version | cut -d' ' -f2) ge 6 && echo --as-needed)
 override_dh_autoreconf:
 	dh_autoreconf $(DH_AS_NEEDED)
 
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+else
+PARALLEL =
+endif
+
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-ssl --enable-shared $(DATAPATH_CONFIGURE_OPTS)
+	# Configure OVS before OVN
+	test -d $(CURDIR)/ovs || mkdir ovs
+	cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1
+	cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr
+	# Use dh_auto_configure to build OVN
+	dh_auto_configure -- \
+		--prefix=/usr \
+		--localstatedir=/var \
+		--sysconfdir=/etc \
+		--with-dbdir=/var/lib/ovn \
+		--with-ovs-source=$(CURDIR)/ovs \
+		--enable-ssl
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL)' RECHECK=yes; then :; \
+	if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \
+                $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \
 	else \
 		cat tests/testsuite.log; \
 		exit 1; \
 	fi
-endif
+endif # nocheck
 
 override_dh_auto_build:
-	dh_auto_build -- dist distdir=openvswitch
+	cd ovs && $(MAKE) $(PARALLEL)
+	$(MAKE) $(PARALLEL)
 
 override_dh_auto_clean:
-	rm -f python/ovs/*.pyc python/ovs/db/*.pyc
 	dh_auto_clean
-
-override_dh_install-arch:
-	dh_install
-	# openvswitch-switch
-	cp debian/openvswitch-switch.template debian/openvswitch-switch/usr/share/openvswitch/switch/default.template
-
-	# ovn-host
-	cp debian/ovn-host.template debian/ovn-host/usr/share/ovn/host/default.template
-
-	# ovn-central
-	cp debian/ovn-central.template debian/ovn-central/usr/share/ovn/central/default.template
-
-override_dh_install-indep:
-	dh_install
-
-	# openvswitch-datapath-source
-	cp debian/rules.modules debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules
-	chmod 755 debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules
-	cd debian/openvswitch-datapath-source/usr/src && tar -c modules | bzip2 -9 > openvswitch-datapath.tar.bz2 && rm -rf modules
-
-	# openvswitch-datapath-dkms
-	# setup the dirs
-	dh_installdirs -p$(PACKAGE_DKMS) usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM)
-
-	# copy the source
-	cd debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM) && tar xvzf $(CURDIR)/openvswitch.tar.gz && mv openvswitch/* openvswitch/.[a-z]* . && rmdir openvswitch
-
-	# check we can get kernel module names
-	$(MAKE) -C datapath print-build-modules
-
-	# Prepare dkms.conf from the dkms.conf.in template
-	sed "s/__VERSION__/$(DEB_VERSION_UPSTREAM)/g; s/__MODULES__/$(shell $(MAKE) -C datapath print-build-modules | grep -v make)/" debian/dkms.conf.in > debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM)/dkms.conf
-
-	# We don't need the debian folder in there, just upstream sources...
-	rm -rf debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM)/debian
-	# We don't need the rhel stuff in there either
-	rm -rf debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM)/rhel
-	# And we should also clean useless license files, which are already
-	# described in our debian/copyright anyway.
-	rm -f debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_VERSION_UPSTREAM)/xenserver/LICENSE
+	rm -rf ovs
 
 override_dh_installinit:
-	dh_installinit -R
-
-override_dh_strip:
-	dh_strip --dbg-package=openvswitch-dbg
-
-override_dh_usrlocal:
-
-override_dh_installman:
-	dh_installman --language=C
+	# Package does not ship any init.d files
+	dh_installinit --no-scripts
+
+override_dh_systemd_enable:
+	dh_systemd_enable -povn-central --name=ovn-northd
+	dh_systemd_enable -povn-central --name=ovn-ovsdb-server-sb
+	dh_systemd_enable -povn-central --name=ovn-ovsdb-server-nb
+	dh_systemd_enable -povn-ic-db --name=ovn-ovsdb-server-ic-sb
+	dh_systemd_enable -povn-ic-db --name=ovn-ovsdb-server-ic-nb
+	dh_systemd_enable -povn-host --name=ovn-controller
+	dh_systemd_enable
+
+override_dh_systemd_start:
+	dh_systemd_start --restart-after-upgrade
+
+override_dh_python3:
+	dh_python3 --shebang=/usr/bin/python3
+
+# Helper target for creating snapshots from upstream git
+DATE=$(shell date +%Y%m%d)
+# Upstream branch to track
+BRANCH=branch-20.03
+VERSION=20.03.0
+
+get-orig-snapshot:
+	rm -Rf ovn-upstream
+	git clone https://github.com/ovn-org/ovn ovn-upstream
+	cd ovn-upstream && \
+		git checkout $(BRANCH) && \
+		export COMMIT=`git rev-parse --short HEAD` && \
+		git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \
+			-o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH)
+	rm -Rf ovn-upstream
diff --git a/debian/rules.modules b/debian/rules.modules
deleted file mode 100755
index b0c6cdcee..000000000
--- a/debian/rules.modules
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/make -f
-
-PACKAGE=openvswitch-datapath-module
-MA_DIR ?= /usr/share/modass
--include $(MA_DIR)/include/generic.make
--include $(MA_DIR)/include/common-rules.make
-
-DATAPATH_CONFIGURE_OPTS =
-
-kdist_clean:
-	dh_testdir
-	dh_testroot
-	dh_clean
-	rm -rf openvswitch
-
-.PHONY: kdist_config
-kdist_config: prep-deb-files
-
-.PHONY: binary-modules
-binary-modules: DSTDIR = $(CURDIR)/debian/$(PKGNAME)/lib/modules/$(KVERS)/updates
-binary-modules: prep-deb-files
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	tar xzf openvswitch.tar.gz
-	cd openvswitch && ./configure --with-linux=$(KSRC) $(DATAPATH_CONFIGURE_OPTS)
-	cd openvswitch && $(MAKE) -C datapath/linux
-	install -d -m755 $(DSTDIR)
-	install -m644 openvswitch/datapath/linux/*.ko $(DSTDIR)/
-	dh_installmodules
-	dh_installdocs
-	dh_installchangelogs
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb --destdir=$(DEB_DESTDIR)
-
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 000000000..5b7e3827d
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=4
+http://www.openvswitch.org/download/ https://www.openvswitch.org/releases/openvswitch-(.*).tar.gz
