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 pkgname openvswitch2.15


%if 0%{?commit:1}
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%endif

# 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

# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
%ifarch %{ix86} x86_64 aarch64
%bcond_without check
%else
%bcond_with check
%endif
# option to run kernel datapath tests, requires building as root!
%bcond_with check_datapath_kernel
# option to build with libcap-ng, needed for running OVS as regular user
%bcond_without libcapng
# option to build with ipsec support
%bcond_without ipsec

# 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

Name: %{pkgname}
Summary: Open vSwitch
Group: System Environment/Daemons daemon/database/utilities
URL: http://www.openvswitch.org/
Version: 2.15.0
Release: 69%{?dist}

# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
# lib/sflow*.[ch] files are SISSL
# datapath/ is GPLv2 (although not built into any of the binary packages)
License: ASL 2.0 and LGPLv2+ and SISSL

%define dpdkver 20.11
%define dpdkdir dpdk
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
# NOTE: DPDK does not currently build for s390x
# DPDK on aarch64 is not stable enough to be enabled in FDP
%if 0%{?rhel} > 7 || 0%{?fedora}
%define dpdkarches x86_64 ppc64le
%else
%define dpdkarches
%endif

%if 0%{?commit:1}
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
%else
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
%endif
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz

%define docutilsver 0.12
%define pygmentsver 1.4
%define sphinxver   1.2.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

Patch:     openvswitch-%{version}.patch

# The DPDK is designed to optimize througput of network traffic using, among
# other techniques, carefully crafted assembly instructions.  As such it
# needs extensive work to port it to other architectures.
ExclusiveArch: x86_64 aarch64 ppc64le s390x

# Do not enable this otherwise YUM will break on any upgrade.
# Provides: openvswitch
Conflicts: openvswitch < 2.15
Conflicts: openvswitch-dpdk < 2.15
Conflicts: openvswitch2.10
Conflicts: openvswitch2.11
Conflicts: openvswitch2.12
Conflicts: openvswitch2.13
Conflicts: openvswitch2.14

# 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
BuildRequires: systemtap-sdt-devel
# make check dependencies
BuildRequires: procps-ng
%if 0%{?rhel} > 7 || 0%{?fedora}
BuildRequires: python3-pyOpenSSL
%endif
%if %{with check_datapath_kernel}
BuildRequires: nmap-ncat
# would be useful but not available in RHEL or EPEL
#BuildRequires: pyftpdlib
%endif

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

%ifarch %{dpdkarches}
BuildRequires: meson
# DPDK driver dependencies
BuildRequires: zlib-devel numactl-devel
%ifarch x86_64
BuildRequires: rdma-core-devel >= 15 libmnl-devel
%endif

# Required by packaging policy for the bundled DPDK
Provides: bundled(dpdk) = %{dpdkver}
%endif

Requires: openssl iproute module-init-tools
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
#Requires: kernel >= 3.15.0-0
Requires: openvswitch-selinux-extra-policy

Requires(pre): shadow-utils
Requires(post): /bin/sed
Requires(post): /usr/sbin/usermod
Requires(post): /usr/sbin/groupadd
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Obsoletes: openvswitch-controller <= 0:2.1.0-1

%description
Open vSwitch provides standard network bridging functions and
support for the OpenFlow protocol for remote per-flow control of
traffic.

%package -n python3-%{pkgname}
Summary: Open vSwitch python3 bindings
License: ASL 2.0
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}

%description -n python3-%{pkgname}
Python bindings for the Open vSwitch database

%package test
Summary: Open vSwitch testing utilities
License: ASL 2.0
BuildArch: noarch
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: tcpdump

%description test
Utilities that are useful to diagnose performance and connectivity
issues in Open vSwitch setup.

%package devel
Summary: Open vSwitch OpenFlow development package (library, headers)
License: ASL 2.0
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}

%description devel
This provides shared library, libopenswitch.so and the openvswitch header
files needed to build an external application.

%if 0%{?rhel} > 7 || 0%{?fedora} > 28
%package -n network-scripts-%{name}
Summary: Open vSwitch legacy network service support
License: ASL 2.0
Requires: network-scripts
Supplements: (%{name} and network-scripts)

%description -n network-scripts-%{name}
This provides the ifup and ifdown scripts for use with the legacy network
service.
%endif

%if %{with ipsec}
%package ipsec
Summary: Open vSwitch IPsec tunneling support
License: ASL 2.0
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libreswan

%description ipsec
This package provides IPsec tunneling support for OVS tunnels.
%endif

%prep
%if 0%{?commit:1}
%setup -q -n ovs-%{commit} -a 10
%else
%setup -q -n ovs-%{version} -a 10
%endif
%if ! %{external_sphinx}
%if 0%{?commit:1}
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
%else
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
%endif
%endif

mv dpdk-*/ %{dpdkdir}/

# FIXME should we propose a way to do that upstream?
sed -ri "/^subdir\('(usertools|app)'\)/d" %{dpdkdir}/meson.build

%patch -p1

%build
# Build Sphinx on RHEL
%if ! %{external_sphinx}
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
    pushd "$x"
    python2 setup.py install --home %{_builddir}/pytmp
    popd
done

export PATH="$PATH:%{_builddir}/pytmp/bin"
%endif

./boot.sh

%ifarch %{dpdkarches}    # build dpdk
# Lets build DPDK first
cd %{dpdkdir}

ENABLED_DRIVERS=(
    bus/pci
    bus/vdev
    mempool/ring
    net/failsafe
    net/i40e
    net/ring
    net/vhost
    net/virtio
    net/tap
)

%ifarch x86_64
ENABLED_DRIVERS+=(
    bus/vmbus
    common/iavf
    common/mlx5
    net/bnxt
    net/enic
    net/iavf
    net/ice
    net/mlx4
    net/mlx5
    net/netvsc
    net/nfp
    net/qede
    net/vdev_netvsc
)
%endif

%ifarch aarch64 x86_64
ENABLED_DRIVERS+=(
    net/e1000
    net/ixgbe
)
%endif

# Since upstream doesn't have a way
for driver in drivers/*/*/; do
    driver=${driver#drivers/}
    driver=${driver%/}
    [[ " ${ENABLED_DRIVERS[@]} " == *" $driver "* ]] || \
        disable_drivers="${disable_drivers:+$disable_drivers,}"$driver
done

#CFLAGS="$(echo %{optflags} | sed -e 's:-Wall::g' -e 's:-march=[[:alnum:]]* ::g') -Wformat -fPIC %{_hardening_ldflags}" \
%set_build_flags
%__meson --prefix=%{_builddir}/dpdk-build \
         --buildtype=plain \
         -Ddisable_drivers="$disable_drivers" \
         -Dmachine=default \
         -Dmax_ethports=128 \
         -Dmax_numa_nodes=8 \
         -Dtests=false \
         %{_vpath_builddir}
%meson_build
%__meson install -C %{_vpath_builddir} --no-rebuild

# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*

# Generate a list of supported drivers, its hard to tell otherwise.
cat << EOF > README.DPDK-PMDS
DPDK drivers included in this package:

EOF

for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
done >> README.DPDK-PMDS

cat << EOF >> README.DPDK-PMDS

For further information about the drivers, see
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
EOF

cd -
%endif    # build dpdk

# And now for OVS...
mkdir build-shared build-static
pushd build-shared
ln -s ../configure
%configure \
%if %{with libcapng}
        --enable-libcapng \
%else
        --disable-libcapng \
%endif
        --disable-static \
        --enable-shared \
        --enable-ssl \
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
        --enable-usdt-probes
make %{?_smp_mflags}
popd
pushd build-static
ln -s ../configure
%ifarch %{dpdkarches}
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
%endif
%configure \
%if %{with libcapng}
        --enable-libcapng \
%else
        --disable-libcapng \
%endif
        --enable-ssl \
%ifarch %{dpdkarches}
        --with-dpdk=static \
%endif
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
        --enable-usdt-probes
make %{?_smp_mflags}
popd

/usr/bin/python3 build-aux/dpdkstrip.py \
        --dpdk \
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service

%install
rm -rf $RPM_BUILD_ROOT
make -C build-shared install-libLTLIBRARIES DESTDIR=$RPM_BUILD_ROOT
make -C build-static install DESTDIR=$RPM_BUILD_ROOT

install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch

install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules

install -p -D -m 0644 \
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch

for service in openvswitch ovsdb-server ovs-vswitchd \
               ovs-delete-transient-ports; do
        install -p -D -m 0644 \
                        rhel/usr_lib_systemd_system_${service}.service \
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
done

%if %{with ipsec}
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
%endif

install -m 0755 rhel/etc_init.d_openvswitch \
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init

install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf

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

install -m 0644 vswitchd/vswitch.ovsschema \
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema

install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs

install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
        $RPM_BUILD_ROOT%{python3_sitelib}

# Build the JSON C extension for the Python lib (#1417738)
pushd python
(
export CPPFLAGS="-I ../include -I ../build-shared/include"
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
%py3_build
%py3_install
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
)
popd

rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/

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

install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/

install -p -D -m 0755 \
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload

touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
# The db needs special permission as IPsec Pre-shared keys are stored in it.
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db

touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf

# remove unpackaged files
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*

%if ! %{with ipsec}
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
%endif

# remove ovn unpackages files
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*

%check
%if %{with check}
    pushd build-static
    touch resolv.conf
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
       make check TESTSUITEFLAGS='--recheck'; then :;
    else
        cat tests/testsuite.log
        exit 1
    fi
    popd
%endif
%if %{with check_datapath_kernel}
    pushd build-static
    if make check-kernel RECHECK=yes; then :;
    else
        cat tests/system-kmod-testsuite.log
        exit 1
    fi
    popd
%endif

%clean
rm -rf $RPM_BUILD_ROOT

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

%pre
getent group openvswitch >/dev/null || groupadd -r openvswitch
getent passwd openvswitch >/dev/null || \
    useradd -r -g openvswitch -d / -s /sbin/nologin \
    -c "Open vSwitch Daemons" openvswitch

%ifarch %{dpdkarches}
    getent group hugetlbfs >/dev/null || groupadd hugetlbfs
    usermod -a -G hugetlbfs openvswitch
%endif
exit 0

%post
if [ $1 -eq 1 ]; then
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch

%ifarch %{dpdkarches}
    sed -i \
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
        /etc/sysconfig/openvswitch
%endif
fi
chown -R openvswitch:openvswitch /etc/openvswitch

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

%postun
%if 0%{?systemd_postun:1}
    %systemd_postun openvswitch.service
%else
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
%endif

%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
# old rpm versions restart the service in postun, but
# due to systemd some preparation is needed.
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
    systemctl daemon-reload >/dev/null 2>&1 || :
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
    systemctl start openvswitch >/dev/null 2>&1 || :
fi
exit 0

%files -n python3-%{pkgname}
%{python3_sitearch}/ovs
%{python3_sitearch}/ovs-*.egg-info
%doc LICENSE

%files test
%{_bindir}/ovs-pcap
%{_bindir}/ovs-tcpdump
%{_bindir}/ovs-tcpundump
%{_mandir}/man1/ovs-pcap.1*
%{_mandir}/man8/ovs-tcpdump.8*
%{_mandir}/man1/ovs-tcpundump.1*
%{_bindir}/ovs-test
%{_bindir}/ovs-vlan-test
%{_bindir}/ovs-l3ping
%{_mandir}/man8/ovs-test.8*
%{_mandir}/man8/ovs-vlan-test.8*
%{_mandir}/man8/ovs-l3ping.8*
%{python3_sitelib}/ovstest

%files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/openvswitch/*
%{_includedir}/openflow/*
%exclude %{_libdir}/*.a
%exclude %{_libdir}/*.la

%if 0%{?rhel} > 7 || 0%{?fedora} > 28
%files -n network-scripts-%{name}
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
%endif

%files
%defattr(-,openvswitch,openvswitch)
%dir %{_sysconfdir}/openvswitch
%{_sysconfdir}/openvswitch/default.conf
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
%defattr(-,root,root)
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
%{_unitdir}/openvswitch.service
%{_unitdir}/ovsdb-server.service
%{_unitdir}/ovs-vswitchd.service
%{_unitdir}/ovs-delete-transient-ports.service
%{_datadir}/openvswitch/scripts/openvswitch.init
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
%{_datadir}/openvswitch/scripts/ovs-lib
%{_datadir}/openvswitch/scripts/ovs-save
%{_datadir}/openvswitch/scripts/ovs-vtep
%{_datadir}/openvswitch/scripts/ovs-ctl
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
%config %{_datadir}/openvswitch/vswitch.ovsschema
%config %{_datadir}/openvswitch/vtep.ovsschema
%{_bindir}/ovs-appctl
%{_bindir}/ovs-dpctl
%{_bindir}/ovs-ofctl
%{_bindir}/ovs-vsctl
%{_bindir}/ovsdb-client
%{_bindir}/ovsdb-tool
%{_bindir}/ovs-pki
%{_bindir}/vtep-ctl
%{_libdir}/*.so.*
%{_sbindir}/ovs-vswitchd
%{_sbindir}/ovsdb-server
%{_mandir}/man1/ovsdb-client.1*
%{_mandir}/man1/ovsdb-server.1*
%{_mandir}/man1/ovsdb-tool.1*
%{_mandir}/man5/ovsdb.5*
%{_mandir}/man5/ovsdb-server.5.*
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
%{_mandir}/man5/vtep.5*
%{_mandir}/man7/ovsdb-server.7*
%{_mandir}/man7/ovsdb.7*
%{_mandir}/man7/ovs-actions.7*
%{_mandir}/man7/ovs-fields.7*
%{_mandir}/man8/vtep-ctl.8*
%{_mandir}/man8/ovs-appctl.8*
%{_mandir}/man8/ovs-ctl.8*
%{_mandir}/man8/ovs-dpctl.8*
%{_mandir}/man8/ovs-kmod-ctl.8.*
%{_mandir}/man8/ovs-ofctl.8*
%{_mandir}/man8/ovs-pki.8*
%{_mandir}/man8/ovs-vsctl.8*
%{_mandir}/man8/ovs-vswitchd.8*
%{_mandir}/man8/ovs-parse-backtrace.8*
%{_udevrulesdir}/91-vfio.rules
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
%ifarch %{dpdkarches}
%doc %{dpdkdir}/README.DPDK-PMDS
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
%else
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
%endif
/var/lib/openvswitch
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
%{_datadir}/openvswitch/bugtool-plugins/
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
%{_bindir}/ovs-dpctl-top
%{_sbindir}/ovs-bugtool
%{_mandir}/man8/ovs-dpctl-top.8*
%{_mandir}/man8/ovs-bugtool.8*
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
%endif

%if %{with ipsec}
%files ipsec
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
%{_unitdir}/openvswitch-ipsec.service
%endif

%changelog
* Wed Feb 02 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-69
- Merging upstream branch-2.15 [RH git: ffd65899bd]
    Commit list:
    01f8e5199d ofproto-dpif-upcall: Fix n_revalidators on upcall show.


* Mon Jan 31 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-68
- Merging upstream branch-2.15 [RH git: df7561a258]
    Commit list:
    02dd680dc5 ovsdb-idl: ovsdb_idl_loop_destroy must also destroy the committing txn.
    b664877079 ovsdb-cs: Clear last_id on reconnect if condition changes in-flight.
    dec99de837 ofp-flow: Skip flow reply if it exceeds the maximum message size.
    2a92aac033 ovsdb-cs: Fix ignoring of the last id from the initial monitor reply. (#2044624)


* Wed Jan 26 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-67
- Merging upstream branch-2.15 [RH git: 0ec5c70e5a]
    Commit list:
    ed5a1bc688 ofproto-dpif: Fix issue with non-reversible actions on a patch ports.


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-66
- downstream: Enable usdt probes in build [RH git: 3e2ddcc2da]
    Fixes: BZ1840877


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-65
- utilities: Add netlink flow operation USDT probes and upcall_cost script. [RH git: 1ef4073913]
    This patch adds a series of NetLink flow operation USDT probes.
    These probes are in turn used in the upcall_cost Python script,
    which in addition of some kernel tracepoints, give an insight into
    the time spent on processing upcall.
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Paolo Valerio <pvalerio@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-64
- utilities: Add upcall USDT probe and associated script. [RH git: f581b3a82c]
    Added the dpif_recv:recv_upcall USDT probe, which is used by the
    included upcall_monitor.py script. This script receives all upcall
    packets sent by the kernel to ovs-vswitchd. By default, it will
    show all  upcall events, which looks something like this:
    
     TIME               CPU  COMM      PID      DPIF_NAME          TYPE PKT_LEN FLOW_KEY_LEN
     5952147.003848809  2    handler4  1381158  system@ovs-system  0    98      132
     5952147.003879643  2    handler4  1381158  system@ovs-system  0    70      160
     5952147.003914924  2    handler4  1381158  system@ovs-system  0    98      152
    
    It can also dump the packet and NetLink content, and if required,
    the packets can also be written to a pcap file.
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Paolo Valerio <pvalerio@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-63
- Documentation: Add USDT documentation and bpftrace example. [RH git: 2a54ac2f9f]
    Add the USDT documentation and a bpftrace example using the
    bridge run USDT probes.
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Paolo Valerio <pvalerio@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-62
- openvswitch: Define the OVS_STATIC_TRACE() macro. [RH git: fa1e850486]
    This patch defines the OVS_STATIC_TRACE() macro, and as an
    example, adds two of them in the bridge run loop.
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Paolo Valerio <pvalerio@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>


* Tue Jan 25 2022 Eelco Chaudron <echaudro@redhat.com> - 2.15.0-61
- configure: Add --enable-usdt-probes option to enable USDT probes. [RH git: e1e982a7c1]
    Allow inclusion of User Statically Defined Trace (USDT) probes
    in the OVS binaries using the --enable-usdt-probes option to the
    ./configure script.
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Paolo Valerio <pvalerio@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>


* Fri Jan 21 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-60
- Merging upstream branch-2.15 [RH git: a70244a272]
    Commit list:
    e59194b606 ovs-monitor-ipsec: Fix generated strongSwan ipsec.conf for IPv6.


* Thu Jan 20 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-59
- Merging upstream branch-2.15 [RH git: d17382a24e]
    Commit list:
    2632aeb374 datapath-windows: Pickup Ct tuple as CT lookup key in function OvsCtSetupLookupCtx


* Tue Jan 18 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-58
- Merging upstream branch-2.15 [RH git: 14826e19b9]
    Commit list:
    7f978ee372 Documentation: Fix Rx/Tx queue configuration section.


* Mon Jan 17 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-57
- Merging upstream branch-2.15 [RH git: 228a38c3dc]
    Commit list:
    a7dc6af0fc ofproto-dpif: Fix memory leak in dpif/show-dp-features appctl.


* Sat Dec 18 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-56
- Merging upstream branch-2.15 [RH git: 9504acc03d]
    Commit list:
    31288dc725 Prepare for 2.15.4.
    e4d2df62e6 Set release date for 2.15.3.
    b8baa11416 python: Add cooperative_yield() API method to Idl.
    7834abc669 ofproto-dpif-xlate: Snoop ingress packets and update neigh cache if needed.
    833c02daab tnl-neigh-cache: Do not refresh the entry while revalidating.
    e2182eca88 tnl-neigh-cache: Include expected array sizes in prototypes.
    566fe43721 tnl-neigh-cache: Read/write expires atomically.


* Thu Dec 09 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-55
- Merging upstream branch-2.15 [RH git: a1abf356d3]
    Commit list:
    d477f60008 compat: handle NF_REPEAT error on nf_conntrack_in.


* Mon Dec 06 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-54
- Merging upstream branch-2.15 [RH git: d4f13fd840]
    Commit list:
    0590e88387 flow: Consider dataofs when parsing TCP packets.
    7266042d84 tests/flowgen: Fix packet data endianness.
    d2e0632dbe ofproto: Fix resource usage explosion due to removal of large number of flows.
    0a7e66e37f ofproto: Fix resource usage explosion while processing bundled FLOW_MOD.
    68466efed9 tests/flowgen: Fix length field of 802.2 data link header.
    2a2185f9e6 ovs-lib: Backup and remove existing DB when joining cluster.
    fcbc29c6f0 docs/dpdk: Fix install doc.
    a5d97d4202 ovs-save: Save igmp flows in ofp_parse syntax.
    1cbd1f0f56 faq: Update OVS/DPDK version table for OVS 2.13/2.14.


* Thu Nov 18 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-53
- Merging upstream branch-2.15 [RH git: 9221a2233d]
    Commit list:
    01bc910e57 ofproto-dpif-xlate: Fix check_pkt_larger incomplete translation.


* Mon Nov 15 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-52
- Merging upstream branch-2.15 [RH git: 001ae577c6]
    Commit list:
    08a270dda1 datapath-windows: Reset flow key after Ipv4 fragments are reassembled


* Thu Oct 28 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-51
- Merging upstream branch-2.15 [RH git: a134a530c9]
    Commit list:
    eca2d50d40 datapath-windows:Reset PseudoChecksum value only for TX direction offload case


* Wed Oct 27 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-50
- Merging upstream branch-2.15 [RH git: 16dad85706]
    Commit list:
    031cf67e09 netdev-offload-tc: Verify the flower rule installed.


* Wed Oct 27 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-49
- Merging upstream branch-2.15 [RH git: 2502ca29b0]
    Commit list:
    952e851506 ci: Make linux-prepare trust system installs.


* Mon Oct 25 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-48
- Merging upstream branch-2.15 [RH git: 7cf784736e]
    Commit list:
    2cf63851a5 Prepare for 2.15.3.
    63f9a7c5d8 Set release date for 2.15.2.


* Tue Oct 19 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-47
- Merging upstream branch-2.15 [RH git: 01110b9088]
    Commit list:
    b7d9c491ec datapath-windows: add layers when adding the deferred actions


* Thu Oct 14 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-46
- Merging upstream branch-2.15 [RH git: f8619036c9]
    Commit list:
    3f718857e7 ofproto-dpif-xlate: Fix zone set from non-frozen-metadata fields.


* Wed Oct 13 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-45
- Merging upstream branch-2.15 [RH git: e273e307d1]
    Commit list:
    ea2ca0af16 dpif-netdev: Fix use-after-free on PACKET_OUT of IP fragments.
    9f964354e3 tunnel-push-pop.at: Mask source port in tunnel header.


* Tue Oct 12 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-44
- Merging upstream branch-2.15 [RH git: 3050e5222d]
    Commit list:
    58397f222b dpdk-stub: Change the ERR log to DBG.
    2a963fc314 python: idl: Avoid sending transactions when the DB is not synced up.


* Tue Oct 12 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-43
- Merging upstream branch-2.15 [RH git: 09e3ab3630]
    Commit list:
    9efa2ea619 ipf: release unhandled packets from the batch


* Thu Sep 30 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-42
- Merging upstream branch-2.15 [RH git: 2a86017f3f]
    Commit list:
    f8274b78c3 datapath-windows:adjust Offset when processing packet in POP_VLAN action


* Mon Sep 27 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-41
- Merging upstream branch-2.15 [RH git: 8f2e30f011]
    Commit list:
    a2f860aa2e cirrus: Reduce memory requirements for FreeBSD VMs.


* Thu Sep 23 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-40
- redhat: use hugetlbfs group for /var/log/openvswitch when dpdk is enabled [RH git: 5ccf239b51] (#2007290)
    Resolves: #2007290


* Thu Sep 16 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-39
- Merging upstream branch-2.15 [RH git: c6bdfa8cc1]
    Commit list:
    7788f15798 netdev-linux: Fix a null pointer dereference in netdev_linux_notify_sock().
    dd32deba6e pcap-file: Fix memory leak in ovs_pcap_open().
    9f2f66c8ea odp-util: Fix a null pointer dereference in odp_flow_format().
    02b0c265c4 odp-util: Fix a null pointer dereference in odp_nsh_key_from_attr__().
    031eff4563 netdev-dpdk: Fix RSS configuration for virtio.
    09cd9570d2 ipf: Fix only nat the first fragment in the reass process.


* Wed Sep 15 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-38
- ofproto-dpif-xlate: Avoid successive ct_clear datapath actions. [RH git: f9a9ac7608] (#1941027)
    Due to flow lookup optimizations, especially in the resubmit/clone cases,
    we might end up with multiple ct_clear actions, which are not necessary.
    
    This patch only adds the ct_clear action to the datapath if any ct state
    is tracked.
    
    Resolves: #1941027
    
    Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
    Acked-by: Timothy Redaelli <tredaelli@redhat.com>
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
    (cherry picked from commit 355fef6f2ccbcf78797b938421cb4cef9b59af13)


* Wed Sep 08 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-37
- Merging upstream branch-2.15 [RH git: b36eb7e529]
    Commit list:
    ef8ca3e190 dpif-netdev: Fix crash when PACKET_OUT is metered.


* Tue Aug 17 2021 Michael Santana <msantana@redhat.com> - 2.15.0-36
- Migrate openvswitch to gitlab [RH git: 93147e2cda]
    Signed-off-by: Michael Santana <msantana@redhat.com>


* Mon Aug 16 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-35
- Merging upstream branch-2.15 [RH git: 11bcf52d03]
    Commit list:
    d3ff41d609 tc: Set action flags for tunnel_key release.
    079a4de723 netlink-socket: Replace error with txn->error when logging nacked transactions.
    f8cc5aa35c dynamic-string: Fix a crash in ds_clone().


* Mon Aug 16 2021 Michael Santana <msantana@redhat.com> - 2.15.0-34
- pkgtool: Swap bugzilla id and RH git [RH git: c2e6243d60]
    Having the bugzilla ID not at the end of the line breakes another script
    that parses for said ID. This patch fixes that by putting the ID next to
    the new line
    
    Fixes: f6b2db4dd33e ("Make changelog in spec file more informative")
    Signed-off-by: Michael Santana <msantana@redhat.com>


* Mon Aug 16 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-33
- Merging upstream branch-2.15 [RH git: 08b4ccb1c4]
    Commit list:
    64d1bba919 dpif-netdev: fix memory leak in dpcls subtable set command


* Tue Aug 03 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-32
- Merging upstream branch-2.15 [RH git: 2cc833ce5b]
    Commit list:
    90b219275d dpif-netdev: Do not flush PMD offloads on reload.


* Mon Aug 02 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-31
- Merging upstream branch-2.15 [RH git: 88fb0bba8a]
    Commit list:
    b29b04f85f dpif-netdev: Fix offloads of modified flows.
    1d0b89ea7b dpif-netdev: Fix flow modification after failure.


* Mon Jul 26 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-30
- Merging upstream branch-2.15 [RH git: a76a4dfca6]
    Commit list:
    8d84a4b166 netdev-offload-dpdk: Fix IPv6 rewrite cast-align warning.
    f3f7849cbb daemon-unix: Fix leak of a fork error message.


* Fri Jul 23 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-29
- Merging upstream branch-2.15 [RH git: 60c8b2a15b]
    Commit list:
    8aa0f03747 ovsdb-cs: Perform forced reconnects without a backoff.


* Wed Jul 21 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-28
- Merging upstream branch-2.15 [RH git: 48a90081e8]
    Commit list:
    ee4e034dc9 datapath-windows:Correct checksum for DNAT action


* Sat Jul 17 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-27
- Merging upstream branch-2.15 [RH git: abdd952536]
    Commit list:
    72132a9403 bond: Fix broken rebalancing after link state changes.
    aa84cfe25d dpif-netlink: Fix report_loss() message.
    aec05f7cd1 ovsdb-server: Fix memleak when failing to read storage.
    05bdf11fc3 conntrack: Init hash basis first at creation.
    94e3b9d9ce netdev-linux: Ignore TSO packets when TSO is not enabled for userspace.
    842bfb899f conntrack: Handle already natted packets.
    ab873c1afe conntrack: Document all-zero IP SNAT behavior and add a test case.
    86d6a9ee14 python: Fix Idl.run change_seqno update.
    1ba0c83655 bridge: Use correct (legacy) role names in database.
    7e5293ea5a Prepare for 2.15.2.
    b855bbc326 Set release date for 2.15.1.
    007a4f48fe dpif-netdev: Apply subtable-lookup-prio-set on any datapath.
    c93358a563 netlink: removed incorrect optimization
    31626579fa ovs-actions.xml: Add missing bracket.
    30596ec278 netdev-offload-tc: Use nl_msg_put_flag for OVS_TUNNEL_KEY_ATTR_CSUM.
    728980291a conntrack: Increment coverage counter for all bad checksum cases.


* Wed Jun 30 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-26
- Use 10 characters of hash to generate the changelog [RH git: d89d9cd0f1]
    This is needed to avoid that the history changes since the default
    changes from time to time


* Wed Jun 30 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-25
- Merging 881d71ea22e datapath-windows: Specify external include .. [RH git: 8ad5538601]
    Commit list:
    881d71ea22e datapath-windows: Specify external include paths
    934668c295e Remove Python 2 leftovers.
    aaa59670556 ipf: Fix a use-after-free error, and remove the 'do_not_steal' flag.


* Fri Jun 11 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-24
- Merging upstream branch-2.15 [RH git: 78ba3622d9]
    Commit list:
    bc0aa785a8 ovsdb-idl: Fix the database update signaling if it has never been connected.
    559426d2b0 ofproto: Fix potential NULL dereference in ofproto_ct_*_zone_timeout_policy().
    f31070e27e ofproto: Fix potential NULL dereference in ofproto_get_datapath_cap().


* Thu May 27 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-23
- Merging upstream branch-2.15 [RH git: ba3ba16d42]
    Commit list:
    8995d53112 dpif-netlink: Fix send of uninitialized memory in ct limit requests.
    0c056891c2 ofproto-dpif: Fix use of uninitialized attributes of timeout policy.
    121a67cad3 netdev-linux: Fix use of uninitialized LAG master name.
    5f27ff1cfa ofp_actions: Fix set_mpls_tc formatting.


* Wed May 19 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-22
- Merging upstream branch-2.15 [RH git: 8b6b82c2ed]
    Commit list:
    e87adce83c dpif-netdev: Remove meter rate from the bucket size calculation.


* Sat May 15 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-21
- Merging upstream branch-2.15 [RH git: c7b9daa243]
    Commit list:
    a3ee3258e2 ovs-ofctl: Fix coredump when using "add-groups" command.


* Fri May 14 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-20
- Merging upstream branch-2.15 [RH git: 69559c9283]
    Commit list:
    c5d2a62750 raft: Transfer leadership before creating snapshots.


* Fri May 14 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-19
- Merging upstream branch-2.15 [RH git: 6aa50cbb89]
    Commit list:
    553d523929 ovsdb-cs: Consider all tables when computing expected cond seqno.
    8d0aebcc49 dpdk: Use DPDK 20.11.1 release.


* Wed May 12 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-18
- Merge tag 'b6167fabb202faa025946348f514e369dba5853b' into fast-datapath-rhel-8 [RH git: 1cdc5555f9]
    dpdk-20.11.1


* Tue May 11 2021 Open vSwitch CI <ovs-ci@redhat.com> - 2.15.0-17
- Merging upstream branch-2.15 [RH git: 120e2a5d87]
    Commit list:
    21452722b7 github: Fix up malformed /etc/hosts.
    90d1984b99 doc: automake: Add support for sphinx 4.0.
    38a8bed703 cirrus: Look up existing versions of python dependencies.


* Mon May 10 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-16
- Merging upstream branch-2.15 [RH git: dbd5501f48]
    Commit list:
    255c38c745 ofp-group: Use big-enough buffer in ofputil_format_group().


* Wed Apr 21 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-15
- Merging upstream branch-2.15 [RH git: 85f5aecb83]
    Commit list:
    f2c0744d2f ofproto/ofproto-dpif-sflow: Check sflow agent in case of race


* Tue Apr 20 2021 Aaron Conole <aconole@redhat.com> - 2.15.0-14
- Merging ct_state_fix [RH git: f847e4fac1]
    Commit list:
    09a2081067 netdev-offload-tc: Add support for ct_state flag rel.
    423048a34f netdev-offload-tc: Add support for ct_state flags inv and rpl


* Tue Apr 20 2021 Aaron Conole <aconole@redhat.com> - 2.15.0-13
- ab157ef34d dpif: Fix use of uninitialized execute hash. b1fded0208 odp-util: Fix use of uninitialized erspan metadata. f473ee5689 dpif-netlink: Fix using uninitialized info.tc_modify_flow_deleted in out label. 2721606bd4 netdev-offload-tc: Probe for support for any of the ct_state flags. 091bc48d9c compat: Add ct_state flags definitions. [RH git: e4336ed96c]


* Tue Apr 20 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-12
- Fix typo in rh-mock-srpm [RH git: 85631264db]
    Thanks fbl for reporting


* Wed Apr 14 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-11
- Merging upstream branch-2.15 [RH git: 71c33052b9]
    Commit list:
    1307e90e3f Add test cases for ingress_policing parameters
    d184c6ce67 netdev-linux: correct unit of burst parameter


* Wed Apr 07 2021 Michael Santana <msantana@redhat.com> - 2.15.0-10
- Make changelog in spec file more informative [RH git: f6b2db4dd3]
    This is done by adding the body of the commit message to the changelong.
    The body is indented and has extra spacing separating each entry in the
    changelog to make each one more discernible since now they could be
    longer
    
    Signed-off-by: Michael Santana <msantana@redhat.com>


* Thu Apr 01 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-9
- Merging upstream branch-2.15 [RH git: 504b67ec8d]
    Commit list:
    cab998e500 ipsec: Fix IPv6 default route support for Libreswan.


* Thu Apr 01 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-8
- Merging upstream branch-2.15 [RH git: 147a0970be]
    Commit list:
    b9ab7827ec ovsdb-idl: Mark arc sources as updated when destination is deleted.
    c82d2e3fbc ovsdb-idl: Preserve references for deleted rows.
    9a24ecbc2a ovsdb-idl.at: Make test outputs more predictable.


* Wed Mar 31 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-7
- Merging upstream branch-2.15 [RH git: cbb083630e]
    Commit list:
    8d71feb1b8 ovs-ofctl: Fix segfault due to bad meter n_bands.


* Wed Mar 31 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-6
- Merging upstream branch-2.15 [RH git: 221cf613d7]
    Commit list:
    3a716b1d9c dpif-netdev: Refactor and fix the buckets calculation.
    73ece9c87b dpif-netdev: Fix the meter buckets overflow.


* Mon Mar 22 2021 Kevin Traynor <ktraynor@redhat.com> - 2.15.0-5
- dpif-netdev: Allow PMD auto load balance with cross-numa. [RH git: 47e2824210] (#1941673)
    commit ec68a877db5bbfba49ddeb9929479c033420ea6b
    Author: Kevin Traynor <ktraynor@redhat.com>
    Date:   Thu Mar 18 11:34:04 2021 +0000
    
        dpif-netdev: Allow PMD auto load balance with cross-numa.
    
        Previously auto load balance did not trigger a reassignment when
        there was any cross-numa polling as an rxq could be polled from a
        different numa after reassign and it could impact estimates.
    
        In the case where there is only one numa with pmds available, the
        same numa will always poll before and after reassignment, so estimates
        are valid. Allow PMD auto load balance to trigger a reassignment in
        this case.
    
        Acked-by: Eelco Chaudron <echaudro@redhat.com>
        Acked-by: David Marchand <david.marchand@redhat.com>
        Tested-by: Sunil Pai G <sunil.pai.g@intel.com>
        Acked-by: Flavio Leitner <fbl@sysclose.org>
        Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
        Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
    
    Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1941673
    Conflicts: Commit backported from upstream master branch. Commit not
    present on upstream branch-2.15. Removed NEWS file update as could cause
    future merge conflicts.


* Fri Mar 19 2021 Kevin Traynor <ktraynor@redhat.com> - 2.15.0-4
- redhat: Update docs for test builds [RH git: 7620c95a37]


* Tue Mar 16 2021 Open vSwitch CI <ovs-team@redhat.com> - 2.15.0-3
- Merging upstream branch-2.15 [RH git: c4fc969d7e]
    Commit list:
    d5dc16670e python: Send notifications after the transaction ends.
    556e65e179 ovs-ctl: Allow recording hostname separately.
    3982aee455 dpif-netdev: Fix crash when add dp flow without in_port field.
    02096f1b37 Documentation: Fix DPDK qos example.
    8f1dda3164 raft: Report disconnected in cluster/status if candidate retries election.
    79e9749daa raft: Reintroduce jsonrpc inactivity probes.
    2e84a4adb1 ovsdb-cs: Fix use-after-free for the request id.
    d2c311dce8 connmgr: Check nullptr inside ofmonitor_report().
    7307af6908 ovsdb-client: Fix needs-conversion when SERVER is explicitly specified.
    2a7a635718 windows, tests: Modify service test.
    9b48549c68 netdev-linux: Fix indentation.
    861a9f3b4d ofproto-dpif-upcall: Fix ukey leak on udpif destroy.
    339044c3cc ci: Use parallel build for distcheck.
    38744b1bcb ofp-actions: Fix use-after-free while decoding RAW_ENCAP.
    33abe6c052 Prepare for 2.15.1.


* Tue Feb 16 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-2
- build with ipsec support by default [RH git: 105482aee7]


* Mon Feb 15 2021 Timothy Redaelli <tredaelli@redhat.com> - 2.15.0-1
- Use official 2.15.0 tarball [RH git: 9e107c6359]