Blob Blame History Raw
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, 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.
#
# If tests have to be skipped while building, specify the '--without check'
# option. For example:
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec

# This defines the base package name's version.

%define pkgver 2.13
%define pkgname ovn2.13

# If libcap-ng isn't available and there is no need for running OVS
# as regular user, specify the '--without libcapng'
%bcond_without libcapng

# Enable PIE, bz#955181
%global _hardened_build 1

# RHEL-7 doesn't define _rundir macro yet
# Fedora 15 onwards uses /run as _rundir
%if 0%{!?_rundir:1}
%define _rundir /run
%endif

# Build python2 (that provides python) and python3 subpackages on Fedora
# Build only python3 (that provides python) subpackage on RHEL8
# Build only python subpackage on RHEL7
%if 0%{?rhel} > 7 || 0%{?fedora}
# On RHEL8 Sphinx is included in buildroot
%global external_sphinx 1
%else
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
%global external_sphinx 0
%endif

# We would see rpmlinit error - E: hardcoded-library-path in '% {_prefix}/lib'.
# But there is no solution to fix this. Using {_lib} macro will solve the
# rpmlink error, but will install the files in /usr/lib64/.
# OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/
# and we are not sure if pacemaker looks into this path to find the
# OVN resource agent script.
%global ovnlibdir %{_prefix}/lib

Name: %{pkgname}
Summary: Open Virtual Network support
Group: System Environment/Daemons
URL: http://www.ovn.org/
Version: 20.12.0
Release: 161%{?commit0:.%{date}git%{shortcommit0}}%{?dist}
Provides: openvswitch%{pkgver}-ovn-common = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: openvswitch%{pkgver}-ovn-common < 2.11.0-1

# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
# lib/sflow*.[ch] files are SISSL
License: ASL 2.0 and LGPLv2+ and SISSL

# Always pull an upstream release, since this is what we rebase to.
Source: https://github.com/ovn-org/ovn/archive/v%{version}.tar.gz#/ovn-%{version}.tar.gz

%define ovscommit e6ad4d8d9c9273f226ec9a993b64fccfb50bdf4c
%define ovsshortcommit e6ad4d8

Source10: https://github.com/openvswitch/ovs/archive/%{ovscommit}.tar.gz#/openvswitch-%{ovsshortcommit}.tar.gz
%define ovsdir ovs-%{ovscommit}

%define docutilsver 0.12
%define pygmentsver 1.4
%define sphinxver   1.1.3
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz

Source500: configlib.sh
Source501: gen_config_group.sh
Source502: set_config.sh

# Important: source503 is used as the actual copy file
# @TODO: this causes a warning - fix it?
Source504: arm64-armv8a-linuxapp-gcc-config
Source505: ppc_64-power8-linuxapp-gcc-config
Source506: x86_64-native-linuxapp-gcc-config

Patch:     ovn-%{version}.patch

# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
# in the -optional repository and so we can't require it directly since RHV
# doesn't have the -optional repository enabled and so TPS fails
%if %{external_sphinx}
BuildRequires: python3-sphinx
%else
# Sphinx dependencies
BuildRequires: python-devel
BuildRequires: python-setuptools
#BuildRequires: python2-docutils
BuildRequires: python-jinja2
BuildRequires: python-nose
#BuildRequires: python2-pygments
# docutils dependencies
BuildRequires: python-imaging
# pygments dependencies
BuildRequires: python-nose
%endif

BuildRequires: gcc gcc-c++ make
BuildRequires: autoconf automake libtool
BuildRequires: systemd-units openssl openssl-devel
BuildRequires: python3-devel python3-setuptools
BuildRequires: desktop-file-utils
BuildRequires: groff-base graphviz
BuildRequires: unbound-devel

# make check dependencies
BuildRequires: procps-ng
%if 0%{?rhel} > 7 || 0%{?fedora}
BuildRequires: python3-pyOpenSSL
%endif

%if %{with libcapng}
BuildRequires: libcap-ng libcap-ng-devel
%endif
BuildRequires: tcpdump

Requires: hostname openssl iproute module-init-tools

Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units

# to skip running checks, pass --without check
%bcond_without check

%description
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.

%package central
Summary: Open Virtual Network support
License: ASL 2.0
Requires: %{pkgname}
Requires: firewalld-filesystem
Provides: openvswitch%{pkgver}-ovn-central = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: openvswitch%{pkgver}-ovn-central < 2.11.0-1

%description central
OVN DB servers and ovn-northd running on a central node.

%package host
Summary: Open Virtual Network support
License: ASL 2.0
Requires: %{pkgname}
Requires: firewalld-filesystem
Provides: openvswitch%{pkgver}-ovn-host = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: openvswitch%{pkgver}-ovn-host < 2.11.0-1

%description host
OVN controller running on each host.

%package vtep
Summary: Open Virtual Network support
License: ASL 2.0
Requires: %{pkgname}
Provides: openvswitch%{pkgver}-ovn-vtep = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: openvswitch%{pkgver}-ovn-vtep < 2.11.0-1

%description vtep
OVN vtep controller

%prep
%if 0%{?commit0:1}
%autosetup -n ovn-%{commit0} -a 10 -p 1
%else
%autosetup -n ovn-%{version} -a 10 -p 1
%endif

%build
%if 0%{?commit0:1}
# fix the snapshot unreleased version to be the released one.
sed -i.old -e "s/^AC_INIT(openvswitch,.*,/AC_INIT(openvswitch, %{version},/" configure.ac
%endif
./boot.sh

# OVN source code is now separate.
# Build openvswitch first.
# XXX Current openvswitch2.13 doesn't
# use "2.13.0" for version. It's a commit hash
pushd %{ovsdir}
./boot.sh
%configure \
%if %{with libcapng}
        --enable-libcapng \
%else
        --disable-libcapng \
%endif
        --enable-ssl \
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki

make %{?_smp_mflags}
popd

# Build OVN.
# XXX OVS version needs to be updated when ovs2.13 is updated.
%configure \
        --with-ovs-source=$PWD/%{ovsdir} \
%if %{with libcapng}
        --enable-libcapng \
%else
        --disable-libcapng \
%endif
        --enable-ssl \
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki

make %{?_smp_mflags}

%install
%make_install
install -p -D -m 0644 \
        rhel/usr_share_ovn_scripts_systemd_sysconfig.template \
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ovn

for service in ovn-controller ovn-controller-vtep ovn-northd; do
        install -p -D -m 0644 \
                        rhel/usr_lib_systemd_system_${service}.service \
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
done

install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/ovn

install -d $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
        $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
        $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml

install -d -m 0755 $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn
ln -s %{_datadir}/ovn/scripts/ovndb-servers.ocf \
      $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers

install -p -D -m 0644 rhel/etc_logrotate.d_ovn \
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/ovn

# remove unneeded files.
rm -f $RPM_BUILD_ROOT%{_bindir}/ovs*
rm -f $RPM_BUILD_ROOT%{_bindir}/vtep-ctl
rm -f $RPM_BUILD_ROOT%{_sbindir}/ovs*
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovs*
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovs*
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vtep*
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovs*
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovs*
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtep*
rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/python
rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovs*
rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/bugtool-plugins
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/openvswitch
rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovn-bugtool*
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-overlay-driver \
        $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-underlay-driver

%check
%if %{with check}
    touch resolv.conf
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
    if ! make check TESTSUITEFLAGS='%{_smp_mflags}'; then
        cat tests/testsuite.log
        if ! make check TESTSUITEFLAGS='--recheck'; then
            cat tests/testsuite.log
            # Presently a test case - "2796: ovn -- ovn-controller incremental processing"
            # is failing on aarch64 arch. Let's not exit for this arch
            # until we figure out why it is failing.
            # Test case 93: ovn.at:12105       ovn -- ACLs on Port Groups is failing
            # repeatedly on s390x. This needs to be investigated.
            %ifnarch aarch64
            %ifnarch ppc64le
            %ifnarch s390x
                exit 1
            %endif
            %endif
            %endif
        fi
    fi
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%pre central
if [ $1 -eq 1 ] ; then
    # Package install.
    /bin/systemctl status ovn-northd.service >/dev/null
    ovn_status=$?
    rpm -ql openvswitch-ovn-central > /dev/null
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
        # ovn-northd service is running which means old openvswitch-ovn-central
        # is already installed and it will be cleaned up. So start ovn-northd
        # service when posttrans central is called.
        touch %{_localstatedir}/lib/rpm-state/ovn-northd
    fi
fi

%pre host
if [ $1 -eq 1 ] ; then
    # Package install.
    /bin/systemctl status ovn-controller.service >/dev/null
    ovn_status=$?
    rpm -ql openvswitch-ovn-host > /dev/null
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
        # ovn-controller service is running which means old
        # openvswitch-ovn-host is installed and it will be cleaned up. So
        # start ovn-controller service when posttrans host is called.
        touch %{_localstatedir}/lib/rpm-state/ovn-controller
    fi
fi

%pre vtep
if [ $1 -eq 1 ] ; then
    # Package install.
    /bin/systemctl status ovn-controller-vtep.service >/dev/null
    ovn_status=$?
    rpm -ql openvswitch-ovn-vtep > /dev/null
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
        # ovn-controller-vtep service is running which means old
        # openvswitch-ovn-vtep is installed and it will be cleaned up. So
        # start ovn-controller-vtep service when posttrans host is called.
        touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
    fi
fi

%preun central
%if 0%{?systemd_preun:1}
    %systemd_preun ovn-northd.service
%else
    if [ $1 -eq 0 ] ; then
        # Package removal, not upgrade
        /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
        /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
    fi
%endif

%preun host
%if 0%{?systemd_preun:1}
    %systemd_preun ovn-controller.service
%else
    if [ $1 -eq 0 ] ; then
        # Package removal, not upgrade
        /bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || :
        /bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || :
    fi
%endif

%preun vtep
%if 0%{?systemd_preun:1}
    %systemd_preun ovn-controller-vtep.service
%else
    if [ $1 -eq 0 ] ; then
        # Package removal, not upgrade
        /bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || :
        /bin/systemctl stop ovn-controller-vtep.service >/dev/null 2>&1 || :
    fi
%endif

%post
%if %{with libcapng}
if [ $1 -eq 1 ]; then
    sed -i 's:^#OVN_USER_ID=:OVN_USER_ID=:' %{_sysconfdir}/sysconfig/ovn
    sed -i 's:\(.*su\).*:\1 openvswitch openvswitch:' %{_sysconfdir}/logrotate.d/ovn
fi
%endif

%post central
%if 0%{?systemd_post:1}
    %systemd_post ovn-northd.service
%else
    # Package install, not upgrade
    if [ $1 -eq 1 ]; then
        /bin/systemctl daemon-reload >dev/null || :
    fi
%endif

%post host
%if 0%{?systemd_post:1}
    %systemd_post ovn-controller.service
%else
    # Package install, not upgrade
    if [ $1 -eq 1 ]; then
        /bin/systemctl daemon-reload >dev/null || :
    fi
%endif

%post vtep
%if 0%{?systemd_post:1}
    %systemd_post ovn-controller-vtep.service
%else
    # Package install, not upgrade
    if [ $1 -eq 1 ]; then
        /bin/systemctl daemon-reload >dev/null || :
    fi
%endif

%postun

%postun central
%if 0%{?systemd_postun_with_restart:1}
    %systemd_postun_with_restart ovn-northd.service
%else
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
    if [ "$1" -ge "1" ] ; then
    # Package upgrade, not uninstall
        /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
    fi
%endif

%postun host
%if 0%{?systemd_postun_with_restart:1}
    %systemd_postun_with_restart ovn-controller.service
%else
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
    if [ "$1" -ge "1" ] ; then
        # Package upgrade, not uninstall
        /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || :
    fi
%endif

%postun vtep
%if 0%{?systemd_postun_with_restart:1}
    %systemd_postun_with_restart ovn-controller-vtep.service
%else
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
    if [ "$1" -ge "1" ] ; then
        # Package upgrade, not uninstall
        /bin/systemctl try-restart ovn-controller-vtep.service >/dev/null 2>&1 || :
    fi
%endif

%posttrans central
if [ $1 -eq 1 ]; then
    # Package install, not upgrade
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-northd ]; then
        rm %{_localstatedir}/lib/rpm-state/ovn-northd
        /bin/systemctl start ovn-northd.service >/dev/null 2>&1 || :
    fi
fi


%posttrans host
if [ $1 -eq 1 ]; then
    # Package install, not upgrade
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller ]; then
        rm %{_localstatedir}/lib/rpm-state/ovn-controller
        /bin/systemctl start ovn-controller.service >/dev/null 2>&1 || :
    fi
fi

%posttrans vtep
if [ $1 -eq 1 ]; then
    # Package install, not upgrade
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller-vtep ]; then
        rm %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
        /bin/systemctl start ovn-controller-vtep.service >/dev/null 2>&1 || :
    fi
fi

%files
%{_bindir}/ovn-nbctl
%{_bindir}/ovn-sbctl
%{_bindir}/ovn-trace
%{_bindir}/ovn-detrace
%{_bindir}/ovn-appctl
%{_bindir}/ovn-ic-nbctl
%{_bindir}/ovn-ic-sbctl
%dir %{_datadir}/ovn/
%dir %{_datadir}/ovn/scripts/
%{_datadir}/ovn/scripts/ovn-ctl
%{_datadir}/ovn/scripts/ovn-lib
%{_datadir}/ovn/scripts/ovndb-servers.ocf
%{_mandir}/man8/ovn-ctl.8*
%{_mandir}/man8/ovn-appctl.8*
%{_mandir}/man8/ovn-nbctl.8*
%{_mandir}/man8/ovn-ic-nbctl.8*
%{_mandir}/man8/ovn-trace.8*
%{_mandir}/man1/ovn-detrace.1*
%{_mandir}/man7/ovn-architecture.7*
%{_mandir}/man8/ovn-sbctl.8*
%{_mandir}/man8/ovn-ic-sbctl.8*
%{_mandir}/man5/ovn-nb.5*
%{_mandir}/man5/ovn-ic-nb.5*
%{_mandir}/man5/ovn-sb.5*
%{_mandir}/man5/ovn-ic-sb.5*
%dir %{ovnlibdir}/ocf/resource.d/ovn/
%{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/logrotate.d/ovn
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/ovn

%files central
%{_bindir}/ovn-northd
%{_bindir}/ovn-ic
%{_mandir}/man8/ovn-northd.8*
%{_mandir}/man8/ovn-ic.8*
%{_datadir}/ovn/ovn-nb.ovsschema
%{_datadir}/ovn/ovn-ic-nb.ovsschema
%{_datadir}/ovn/ovn-sb.ovsschema
%{_datadir}/ovn/ovn-ic-sb.ovsschema
%{_unitdir}/ovn-northd.service
%{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml

%files host
%{_bindir}/ovn-controller
%{_mandir}/man8/ovn-controller.8*
%{_unitdir}/ovn-controller.service
%{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml

%files vtep
%{_bindir}/ovn-controller-vtep
%{_mandir}/man8/ovn-controller-vtep.8*
%{_unitdir}/ovn-controller-vtep.service

%changelog
* Tue Jul 27 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-161
- redhat: Include tcpdump as a dependency for `make check`
  [261782c85c119da5c6fb0cf349b57c07c35b874f]

* Tue Jul 27 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-160
- Merge "redhat: Don't specify "ovn" keyword when running tests." into ovn2.13
  [774cd8e9381cd896d481e609ccc7ed4d95dda3ab]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-159
- ovn.at: Fix "Symmetric IPv6 ECMP reply flows" test.
  [415ecc46acec1b6e49ea67bc69062b98e54c5d18]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-158
- ovs: Include all-zero IP SNAT capability detection. (#1939676)
  [5cef68f5c08181ad136a0b6d3a5a054a9ac8104e]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-157
- ovn-controller: Handle DNAT/no-NAT conntrack tuple collisions. (#1939676)
  [80e66ddce15fcb3787861ba5c57d1858cf17bfda]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-156
- ovn-controller: Detect OVS datapath capabilities.
  [c3de566045fe0b1ac37f24ed9b753e6c263917d4]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-155
- system-ovn.at: Use ADD_BR macro instead of bare ovs-vsctl.
  [18b6c60886df27f9b6fdcee1ed75f7093ddc68d1]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-154
- ovs: Include ovs-vswitchd segfault fixes.
  [fe0a9da79a3446cc7e50186d46a4ffb81763790e]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-153
- Disable logging to the console from ovstest.
  [74116e31cea961275d1a95af8c4481eeaca46e22]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-152
- Don't suppress localport traffic directed to external port (#1974062)
  [b2a5784086b70f28055c6d0e9e5a20f5fdcb0a19]

* Tue Jul 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-151
- Revert "Don't suppress localport traffic directed to external port"
  [ea137784242612759b9b1d7e70ae670ee3463b06]

* Mon Jul 26 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-150
- northd: do not centralize traffic for unclaimed virtual ports
  [6653a6f7592073642afa015d93f9ebbe54197450]

* Fri Jul 16 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-149
- Don't suppress localport traffic directed to external port (#1974062)
  [00db835727e7dca92056a5ade04eb5985b56659a]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-148
- northd: Flood ARPs to routers for "unreachable" addresses.
  [e81814f755a6fc30d84c6fa5f5fa5060b266b804]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-147
- northd: Add options to automatically add routes for NATs and LBs.
  [86348583c04e568725ac26224938828b202c8d12]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-146
- northd: Add IP routing and ARP resolution flows for NAT/LB addresses.
  [8bb2ff7b816f0e5171e65e3e5bc223aac45c8f3d]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-145
- northd: Factor peer retrieval into its own function.
  [1b3ccc18c502c919b79de0dca6f5e51b6bb218ba]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-144
- northd: Precompute load balancer IP sets. (#1962338)
  [679d4836a2649b9cc4720655d85ccd56d98b4820]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-143
- northd: Consolidate load balancer healthcheck/svc code.
  [6c57185cf0597493248d3cf0b50b457a6ec61d8f]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-142
- lb: Remove hairpin_snat_ips from northd load balancers.
  [db838be1be2e10ade3d19a4630ccfdbc21be8c94]

* Fri Jul 09 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-141
- northd: Swap src and dst eth addresses in router egress loop.
  [cd8e18cf0bd5acac5a08637a063f56d6045e1d2d]

* Wed Jun 09 2021 Fabrizio D'Angelo <fdangelo@redhat.com> - 20.12.0-140
- ovn-northd: Fix IPv6 ECMP symmetric reply flows (#1959008)
  [d75df45c02ae675d2d3f4ea0375313e45bb3a71d]

* Wed Jun 09 2021 Fabrizio D'Angelo <fdangelo@redhat.com> - 20.12.0-139
- Revert "ovn-northd: Fix IPv6 ECMP symmetric reply flows"
  [08aa6c14a6bf11ce0877343430dca6171bbd7283]

* Tue Jun 08 2021 Fabrizio D'Angelo <fdangelo@redhat.com> - 20.12.0-138
- ovn-northd: Fix IPv6 ECMP symmetric reply flows (#1959008)
  [c5c3468186820a56d09b294b02f8c751e891921c]

* Tue Jun 08 2021 Fabrizio D'Angelo <fdangelo@redhat.com> - 20.12.0-137
- ovn-nb.xml: Fix typo
  [f60d4cda070c4bccbea53c2736a5474e3d95c6b7]

* Thu Jun 03 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-136
- tests: Fix inconsistent "ACL Conjunction" test.
  [c6861168d5f8ca3fb96ddd5797bd60ee53900a55]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-135
- if-status: Add OVS interface status management module. (#1952846)
  [ddfe75df4b14b512867c588572b10d35ea0b50ca]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-134
- ovn-controller.c: Remove extra local_lports_changed setting.
  [bf4c5b17298bfcb1153f895ca31ca2feefa6e4aa]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-133
- lflow-cache: Make max cache memory usage configurable.
  [7b0ccd29113d506a54823b96ef017481c98d03c2]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-132
- Add memory reports to all OVN processes.
  [3524b7fc49fe022d06b940c772b758677b8ebbc3]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-131
- lflow-cache: Make maximum number of cache entries configurable.
  [38053ea1feeb1606b54803ac5d1aacc2fdd4504e]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-130
- lflow-cache: Reclaim heap memory after cache flush.
  [a3aed41abfd7afa3bbb42cc105b9b62f05717f3d]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-129
- lflow-cache: Add coverage counters.
  [258d9478fd874a9ec062b1f837a2d78c404eaaac]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-128
- lflow: Do not cache non-conjunctive flows that use address sets/portgroups.
  [3b2aa66f4aeb2b566c5200807f7894754d4c4fda]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-127
- lflow-cache: Add unit tests.
  [86703dd084b15e45307f91d96208400f9d0430ee]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-126
- lflow-cache: Add lflow-cache/show-stats command.
  [a19997f019f4e6633d67e0e312154d76726f2640]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-125
- lflow-cache: Move the lflow cache to its own module.
  [33268f1c94cef1a7d94318e1c90d9b855475b9f9]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-124
- lflow: Refactor convert_match_to_expr() to explicitly consume prereqs.
  [bef2f4cecdf131165fdc0c436bd546488d564830]

* Thu May 27 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-123
- lflow: Fix cache update when I-P engine aborts.
  [ab4524752d7b86f7b710425f26419772914674da]

* Fri May 21 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-122
- physical: do not forward traffic from localport to a localnet one
  [da4700e521479ddbb07761e01e82763a60a990fb]

* Thu May 20 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-121
- ovn-nbctl: do not report an error for duplicated ecmp routes with --may-exist
  [b401645ad521562d7a4269f6fc3d874a57708483]

* Wed May 19 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-120
- controller: fix physical flow update for localport
  [49f09532dfa56a85ad622dc47aad2d16ceb770aa]

* Tue May 18 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-119
- expr: crush the result of a sorted OR expression.
  [801534ac9568dce795e55601717559dbca05f4f0]

* Fri May 14 2021 Ilya Maximets <i.maximets@redhat.com> - 20.12.0-118
- Fix compilation error introduced in the previous commit.
  [274a26cb2b88ac9d80d87ae46e32501fb9c08cdd]

* Fri May 14 2021 Ilya Maximets <i.maximets@redhat.com> - 20.12.0-117
- northd: Combine router arp flows. (#1945415)
  [9baa16e04aad24f700f655612e904b7e47d1f170]

* Thu May 13 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-116
- ovn-controller: Ensure br-int is using secure fail-mode (#1957025)
  [be765562706390a20af4986f1cc8b3349ff1a027]

* Tue May 11 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-115
- northd: Support flow offloading for logical switches with no ACLs. (#1955191)
  [a8ee0c731ab1fa1af6bcc00203d471b16ee62cf7]

* Mon May 10 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-114
- northd: Provide the option to not use ct.inv in lflows.
  [0a2dc0c4ac49beda1d343a60d7022072704ca371]

* Mon May 10 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-113
- northd: Optimize ct nat for load balancer traffic.
  [fad197f1349474b68a58040e071331e0cd97ddb9]

* Fri Apr 30 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-112
- binding: Don't reset expected seqno for interfaces already being installed. (#1946420)
  [9b5f742edfb9c6b0e1c55c2c44d35a1f2190b82b]

* Mon Apr 26 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-111
- tests: Improve test "IGMP snoop/querier/relay". (#1941067)
  [46bd5f2391aa7222dcb03300e2e8368621c8cd81]

* Mon Apr 26 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-110
- pinctrl: Fix race condition when explicitly clearing IGMP groups.
  [985efa3be5a225b14e73304ca212e4e5b12f3642]

* Thu Apr 22 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-109
- ovn-nbctl: dump next-hop for router policies
  [96b0f3c11474df6cc97b50697c2c762b81bbb77d]

* Wed Apr 21 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-108
- ovn-ctl: stop databases with stop_ovn_daemon() (#1944239)
  [f136c580c542eda471847e2be27a71ae57a52bd7]

* Wed Apr 21 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-107
- ovn-lib: harmonize stop_ovn_daemon() with ovs-lib
  [3ac0d56793347cf80f935afa41105e4567747356]

* Wed Apr 21 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-106
- tests: Fix frequent failure of "4 HV, 1 LS, 1 LR, packet test with HA distributed router gateway port:".
  [adb1912ae08d15e55b621b431a0b5b1d51813d15]

* Wed Apr 21 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-105
- controller: Monitor all logical flows that refer to datapath groups. (#1947056)
  [efb2e29b06abd765608e4b29cfd936ed34c46f19]

* Wed Apr 14 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-104
- controller: Fix virtual lport I-P handling. (#1947823)
  [67ee7d519a98c2b4c25b122a9278214476820805]

* Tue Apr 13 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-103
- Re-bump the submodule to what it was previously.
  [a295332936418f12a49beafdb88dfdbda71d5eb3]

* Tue Apr 13 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-102
- Merge changes from topic 'python_refactor' into ovn2.13
  [46c6f06eec15223d8df7800f5ed0c91ce1b52ac6]

* Tue Apr 13 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-101
- northd: introduce per-lb lb_skip_snat option
  [3a4fa507bafbf139c354977801b0731edc5992f3]

* Thu Apr 08 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-100
- ovs: Bump submodule version to include latest ovsdb-idl fixes.
  [962bb3c50df6b15c0b8055d6ce9db3cea58e1007]

* Thu Apr 01 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-99
- binding: Fix the crashes seen when port binding type changes. (#1936328)
  [c65983b297e764d3c25ce9218caf376b3f310142]

* Thu Apr 01 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-98
- northd: Restore flows that recirculate packets in the router DNAT zone.
  [dd5151cee607f52a9d19c88110b7b3eb8b504ad2]

* Thu Mar 25 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-97
- Fix connection string in case of changes in the ovndb-servers.ocf RA
  [25a39da8045d4a4766a13994db9c2283a0f129aa]

* Thu Mar 25 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-96
- pinctrl: Don't send gARPs for localports (#1939470)
  [2d1f464440a1dd63949fdb17ba7ad781fdef07a3]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-95
- northd: introduce lrouter_check_nat_entry routine
  [ce03aeb06f4f27eb6ba3018ad0f89970287b24af]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-94
- northd: introduce build_lrouter_ingress_flow routine
  [cacd1b1096739977885ce05885c3ac6f1002efbe]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-93
- northd: introduce build_lrouter_out_snat_flow routine
  [d2b51b2cb542f7043cc5bf2d186ca6722b12d737]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-92
- northd: introduce build_lrouter_out_undnat_flow routine
  [d4973babbe064652eed5c27a6a82bf995a6390ff]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-91
- northd: introduce build_lrouter_in_dnat_flow routine
  [a55aa2020232ba82c84cf321027ee9eef0334a1e]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-90
- northd: introduce build_lrouter_in_unsnat_flow routine
  [6b6a872f2ccce4df7ec91d60db8e569fd33f6e65]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-89
- northd: introduce build_lrouter_lb_flows routine
  [f10a2cf001ffb015c238f8a27daf16734bba16fc]

* Thu Mar 25 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-88
- northd: reduce indentation in build_lrouter_nat_defrag_and_lb
  [f6c083e885938b3ec5ac03a382bc07f49e3fa7ea]

* Wed Mar 17 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-87
- Add 'redhat' folder to distribution exceptions.
  [db67a2356f6d320025a5adcad5980d8dfa00d4ee]

* Wed Mar 17 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-86
- controller: introduce stats counters for ovn-controller incremental processing
  [22b5f6a9989819e19e6ec85e70a74e8b3a09c8fb]

* Tue Mar 16 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-85
- ovs: Bump submodule version to latest ovsdb-cs changes.
  [a79aa8ecc00450ab9c672dbe8add9a8a231186ab]

* Tue Mar 16 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-84
- Add missing patch release number on the end of OVN versions.
  [49444fe569740deb10be87418ab4f9ed1d0d5b4e]

* Fri Mar 12 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-83
- northd: Fix ha_chassis_group txn error for external ports. (#1927369)
  [f3e58ca5a997ab7fad0c44c0c5968e4ee53f85d5]

* Wed Mar 10 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-82
- Merge "Add distgit syncing features." into ovn2.13
  [fdc3e0c5b51295a3c66b469476878128bc013280]

* Sat Mar 06 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-81
- binding: Fix potential NULL dereference of lbinding.
  [de6cb3a9f2d8b323d759ab70a81acac2f73d2d77]

* Sat Mar 06 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-80
- northd: Fix the missing force_snat_for_lb flows when router_ip is configured.
  [ec4f7228c1b828974ec2909bd108af6a94c3ebc9]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-79
- northd: Avoid matching on ct.dnat flags for load balancers.
  [2baa1b74fb8e93e158d4800d9e42e24b70b3970a]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-78
- lflow: Avoid matching on conntrack original tuple if possible.
  [35a6507db36c23724bc319d56dc6b05dd6d60a99]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-77
- Properly handle hairpin traffic for VIPs with shared backends. (#1931599)
  [811c575effb27cbc416986fafd2e8c815daa4ac6]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-76
- mac-learn: Fix build due to missing newline at EOF.
  [492f5b3ce7c76af4197ded8540913ea52d272136]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-75
- northd: Cleanup stale FDB entries.
  [33fe76837b1da9f8f9f1306a78b74d72a5449537]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-74
- Fix the failing test case - ovn -- ACL skip hints for stateless config.
  [f69f2d79d50efce77831f04464b47a3a58cbc3f4]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-73
- northd: MAC learning: Add logical flows for fdb.
  [da4e67e3ebaf75701f7018f893d2b3285a5da394]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-72
- controller: MAC learning: Add OF rules for the FDB entries.
  [54ae01ced6d791f87fd9ca8ef6a8d6680ce7373f]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-71
- MAC learning: Add new actions - put_fdb, get_fdb and lookup_fdb.
  [cfa19b0905752503056e1e8e4246a629da1d8fbd]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-70
- MAC learning: Add a new FDB table in southbound db.
  [853c8bfd101109fce7b7422486ddaff4e2e6aa03]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-69
- controller: Split mac learning code to a separate file.
  [1feebd8577989a0c01bc27d4ee5a8b9eb323ac47]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-68
- Add sctp_abort logical flow action.
  [180afce292e2c46966ba56cce128f5b3842133c5]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-67
- Implement SCTP-specific reject() action.
  [35afc86abf71ae557acf2fb7030ca8eedf214449]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-66
- tests: Improve debuggability of tests.
  [5fdd36b0afc25a20bde632278878bbfa7fcbc7ce]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-65
- tests: Add more checking to "3 HVs, 1 LS, 3 lports/HV" test.
  [19f0bbfbb4f3b5c0a382154c60b6a53f43cff7a6]

* Thu Feb 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-64
- tests: Eliminate most "sleep" calls.
  [1883c14bb0eb136f2339196218e5c107cf0f79aa]

* Tue Feb 23 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-63
- ofctrl: Fix the assert seen when flood removing flows with conj actions. (#1929978)
  [16476ae504d692ec0a7440c27037d155a3f76445]

* Mon Feb 22 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-62
- ofctrl: Do not link a desired flow twice.
  [d17a9c36dfa71b04ebea82e4720279b35d42677f]

* Mon Feb 22 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-61
- binding: Fix potential crash when binding_seqno_run is skipped. (#1930030)
  [dae3f159a10a3499ef001fddd52e6cd1949927be]

* Mon Feb 22 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-60
- northd: Provide the Gateway router option 'lb_force_snat_ip' to take router port ips.
  [e6a52543078d2d618b72151608b9c61326debe05]

* Wed Feb 17 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-59
- Merge "Fix submodule build when using build directory." into ovn2.13
  [70de1e7f6d98dc45ceb40f5d91627767e3776ae2]

* Wed Feb 17 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-58
- Merge "Add ovs submodule." into ovn2.13
  [ae816ae0378675ea180879548e41f397ffe61c23]

* Wed Feb 17 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-57
- ofctrl: Fix the assert seen when flood removing flows. (#1928012)
  [6cce5c6380d33d8ae0795c10737d637f29680e32]

* Tue Feb 16 2021 Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> - 20.12.0-56
- Merge "Makefile.am: Fix broken distribution and echo -n checks." into ovn2.13
  [bd7708136650c8f2abb6c5ac005b3141406ec1b5]

* Sat Feb 13 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-55
- controller: Fix toggling ct zone ids. (#1903210)
  [48dfb211ef1ecbcee39df4647d905a924b95fcb3]

* Thu Feb 11 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-54
- ovn-nbctl: do not allow duplicated ECMP routes
  [1a7f0f5bd5c23ff5d2583631288001f9bd1e5763]

* Wed Feb 10 2021 Mark Michelson <mmichels@redhat.com> - 20.12.0-53
- northd: Skip matching on ct flags for stateless configurations. (#1927211)
  [e58c182eaffa79cfdee407bf06531007bf1e3c63]

* Tue Feb 09 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-52
- lflow: Use learn() action to generate LB hairpin reply flows.
  [0ea619c80146bffd4fef7ac1a8a2aa07f9003eb0]

* Tue Feb 09 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-51
- Support configuring Load Balancer hairpin source IP.
  [8788ac191a4e0689f0287695c181fe1a781b0d31]

* Mon Feb 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-50
- tests: Fix Port_Binding up test.
  [4e143c1e58b18adf6914ec783ee4503a63dbf3a8]

* Mon Feb 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-49
- northd: Allow backwards compatibility for Logical_Switch_Port.up.
  [07b0f0468faeeb1e149dcc3e4926a54cbb9bb367]

* Mon Feb 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-48
- binding: Set Port_Binding.up only if supported.
  [3de7959b9018f53abd06320bc7f1a43ec216db7e]

* Mon Feb 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-47
- binding: Correctly set Port_Binding.up for container/virtual ports.
  [36a57e7a388277d1e45f0cadd8e2601490a76b2d]

* Thu Feb 04 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-46
- Change the gitreview branch to ovn2.13
  [e7d6708ff347a7e02b16b7205b92d052e5681a37]

* Wed Feb 03 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-45
- ovn-nbctl: add --bfd option to lr-route-add
  [97b58dde0f92fc83165a6db816456073f5ddf727]

* Fri Jan 29 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-44
- binding: Set Logical_Switch_Port.up when all OVS flows are installed.
  [3719a1add73b860c50d85fad0b270c1b69fb9147]

* Fri Jan 29 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-43
- controller: Implement a generic barrier based on ofctrl cur_cfg sync.
  [2bafeec1b98cfa813fa75dfafa74fdacae8e32c4]

* Fri Jan 29 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-42
- ofctrl: Rename 'nb_cfg' to 'req_cfg'.
  [c6f4b3a47571d87149b86c999b78509185da7647]

* Thu Jan 28 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-41
- northd: add --event option to enable controller_event for empty_lb
  [8bcee6092b931caa936ee8ac715cf6ec89d3f18d]

* Thu Jan 28 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-40
- ovn-nbctl: add ecmp/ecmp-symmetric-reply to lr-route-list command
  [5e1bb597df512510dc82ce47f9b65a02e2fb5c0b]

* Thu Jan 28 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-39
- ovn-nbctl: add bfd report to lr-route-list command
  [8770192b3b4732e02679f723ea5903a515c6bd8a]

* Thu Jan 28 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-38
- controller: fix pkt_marking with IP buffering
  [5b75b36198b1cdf66aa0bee5a0a73f1e591af1b2]

* Wed Jan 27 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-37
- ovn-ctl: Add support for ovsdb-server --disable-file-column-diff.
  [15eefe928ea2a51c7ad03356821f0665ca6abb6d]

* Wed Jan 27 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-36
- ovn-controller: Fix wrong conj_id match flows when caching is enabled.
  [11f75ad5bef3d2f6a9d72a8b27468fc3ccfc3d7e]

* Mon Jan 25 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-35
- northd: Fix duplicate logical port detection. (#1918582)
  [46a4e3bb3a6d01c96721761a0e03d093583ab1cc]

* Wed Jan 20 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-34
- binding: Always delete child port bindings first.
  [47afa0664d6a41d0a75a65f0ba927974d957cb62]

* Wed Jan 20 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-33
- binding: Fix container port removal from local bindings.
  [44955fb2395677c9d9bb1afa3985b24317c84431]

* Wed Jan 20 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-32
- northd: Fix ACL fair log meters for Port_Group ACLs.
  [d2b69af321ad8064d42aad2fd3d15857334e2d63]

* Wed Jan 20 2021 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-31
- Change the default gerrit branch to ovn2.13-20.12.
  [4bc45f3897cfdcdc48c354bf69016350d36f9ed9]

* Wed Jan 13 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-30
- bfd: introduce IPv6 support
  [9f42e93b6a25bff87074156586505a6e8968f8cb]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-29
- ovn: integrate bfd for static routes.
  [986137dc1d4dc6905a7c5ab5e279856260966e12]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-28
- bfd: support demand mode on rx side.
  [a3a3062985cadc2f2193b10ccb3404d587028c61]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-27
- controller: bfd: introduce BFD state machine.
  [e75d53c69261a0b104c75d8f6f7dc7175a690833]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-26
- action: introduce handle_bfd_msg() action.
  [2d71cf47fdb194287719a97ee81dbb0dd9fab9d8]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-25
- controller: introduce BFD tx path in ovn-controller.
  [2473b80f778654f0204d1cf4671e543cb6467d5f]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-24
- ovn-northd: move NAT, Defrag and lb to a function.
  [7699c1043a3fec9eb215fc430202ca01846c505e]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-23
- ovn-northd: Move ipv4 input to a function.
  [761f760a42d97184c870e892d299587e657a2c52]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-22
- ovn-northd: Move lrouter arp and nd datapath processing to a function.
  [34c2afc7d49f735e825e0d01bf1b2b64bb277f76]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-21
- ovn-northd: split build_lswitch_output_port_sec into iterators.
  [a6b4b14ac1b6523f85fb13a7f259d9698a70444f]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-20
- ovn-northd: Move destination handling into functions.
  [137b049777cfc301eadba8a2c3b55764bde6f451]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-19
- ovn-northd: Move broadcast and multicast lookup in lswitch to a function.
  [9e60b5574786c0ef8f6403ac61567553c1a7717f]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-18
- ovn-northd: Move ARP response for external ports to a function.
  [d63444b7fcdcc2c68b7af94090410bc3e40e574b]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-17
- ovn-northd: Move DNS and DHCP defaults to a function.
  [502d52712bca01f237aa15e5853bc3090e6034e5]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-16
- ovn-northd: Move lswitch DNS lookup and response to a function.
  [685d26ba45965b2268fbbc36d167115419321f25]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-15
- ovn-northd: Move DHCP Options and Response to a function.
  [e513bafe5718f42844f41d248ddf1777b71aaa50]

* Tue Jan 12 2021 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 20.12.0-14
- ovn-northd: Move lswitch ARP/ND Responder to functions.
  [f21c1b7a467a691847b5552d4570af706fcc5bb0]

* Fri Jan 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-13
- binding: Do not clear container lbinding->pb when parent is deleted.
  [0ec31292fc29d2c111927382b13ea8af0499f6ac]

* Fri Jan 08 2021 Dumitru Ceara <dceara@redhat.com> - 20.12.0-12
- ovn-trace: fix trigger_event warning.
  [90bcf225ced8c80caa44f091665b38ae781ee77b]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-11
- tests: Make "ovn -- ovn-controller incremental processing" more reliable.
  [7a56fc4309bf1103efb1160a2c2defa8c8e8be28]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-10
- osx: Fix compilation error.
  [b879b6c9350fef6cce96343aa052957eaf6268bd]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-9
- northd: Add ECMP support to router policies. (#1881826)
  [20575af6dc17edd48e54c831a6f15cca295a1b35]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-8
- nbctl: Remove column verification for partial updates.
  [455e46cd53152bcd577e775c012dd76cd7f2611c]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-7
- nbctl: Use partial set updates instead of re-setting the whole column.
  [6c658bc2a566558531d751006d7ec0c7bdc6ef76]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-6
- nbctl: Cache to which switch or router particular port belongs.
  [9a4ad65122e461ac5764ff9a0d726d46a4502e7f]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-5
- northd: add reject action for lb with no backends
  [e0aee2d667b64234888cc4b69dc24dc8e9e57770]

* Fri Dec 18 2020 Numan Siddique <nusiddiq@redhat.com> - 20.12.0-4
- Add openvswitch-2.14.90 dir.
  [60e2f264de6cb92c37dd76856954bf16276510d4]