110336
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
110336
#
110336
# Copying and distribution of this file, with or without modification,
110336
# are permitted in any medium without royalty provided the copyright
110336
# notice and this notice are preserved.  This file is offered as-is,
110336
# without warranty of any kind.
110336
#
110336
# If tests have to be skipped while building, specify the '--without check'
110336
# option. For example:
110336
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
110336
110336
# This defines the base package name's version.
110336
6c6af1
%define pkgname openvswitch2.17
110336
110336
110336
%if 0%{?commit:1}
110336
%global shortcommit %(c=%{commit}; echo ${c:0:7})
110336
%endif
110336
110336
# Enable PIE, bz#955181
110336
%global _hardened_build 1
110336
110336
# RHEL-7 doesn't define _rundir macro yet
110336
# Fedora 15 onwards uses /run as _rundir
110336
%if 0%{!?_rundir:1}
110336
%define _rundir /run
110336
%endif
110336
110336
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
110336
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
110336
%ifarch %{ix86} x86_64 aarch64
110336
%bcond_without check
110336
%else
110336
%bcond_with check
110336
%endif
110336
# option to run kernel datapath tests, requires building as root!
110336
%bcond_with check_datapath_kernel
110336
# option to build with libcap-ng, needed for running OVS as regular user
110336
%bcond_without libcapng
110336
# option to build with ipsec support
110336
%bcond_without ipsec
110336
110336
# Build python2 (that provides python) and python3 subpackages on Fedora
110336
# Build only python3 (that provides python) subpackage on RHEL8
110336
# Build only python subpackage on RHEL7
110336
%if 0%{?rhel} > 7 || 0%{?fedora}
110336
# On RHEL8 Sphinx is included in buildroot
110336
%global external_sphinx 1
110336
%else
110336
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
110336
%global external_sphinx 0
110336
%endif
110336
110336
Name: %{pkgname}
110336
Summary: Open vSwitch
110336
Group: System Environment/Daemons daemon/database/utilities
110336
URL: http://www.openvswitch.org/
6c6af1
Version: 2.17.0
13a7f7
Release: 31%{?dist}
110336
110336
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
110336
# lib/sflow*.[ch] files are SISSL
110336
# datapath/ is GPLv2 (although not built into any of the binary packages)
110336
License: ASL 2.0 and LGPLv2+ and SISSL
110336
6c6af1
%define dpdkver 21.11
110336
%define dpdkdir dpdk
110336
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
110336
# NOTE: DPDK does not currently build for s390x
110336
# DPDK on aarch64 is not stable enough to be enabled in FDP
110336
%if 0%{?rhel} > 7 || 0%{?fedora}
110336
%define dpdkarches x86_64 ppc64le
110336
%else
110336
%define dpdkarches
110336
%endif
110336
110336
%if 0%{?commit:1}
110336
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
110336
%else
110336
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
110336
%endif
110336
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
110336
110336
%define docutilsver 0.12
110336
%define pygmentsver 1.4
110336
%define sphinxver   1.2.3
6c6af1
%define pyelftoolsver 0.27
110336
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
110336
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
110336
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
6c6af1
Source103: https://pypi.io/packages/source/p/pyelftools/pyelftools-%{pyelftoolsver}.tar.gz
110336
110336
Patch:     openvswitch-%{version}.patch
110336
110336
# The DPDK is designed to optimize througput of network traffic using, among
110336
# other techniques, carefully crafted assembly instructions.  As such it
110336
# needs extensive work to port it to other architectures.
110336
ExclusiveArch: x86_64 aarch64 ppc64le s390x
110336
110336
# Do not enable this otherwise YUM will break on any upgrade.
110336
# Provides: openvswitch
6c6af1
Conflicts: openvswitch < 2.17
6c6af1
Conflicts: openvswitch-dpdk < 2.17
110336
Conflicts: openvswitch2.10
110336
Conflicts: openvswitch2.11
110336
Conflicts: openvswitch2.12
110336
Conflicts: openvswitch2.13
110336
Conflicts: openvswitch2.14
110336
Conflicts: openvswitch2.15
6c6af1
Conflicts: openvswitch2.16
110336
110336
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
110336
# in the -optional repository and so we can't require it directly since RHV
110336
# doesn't have the -optional repository enabled and so TPS fails
110336
%if %{external_sphinx}
110336
BuildRequires: python3-sphinx
110336
%else
110336
# Sphinx dependencies
110336
BuildRequires: python-devel
110336
BuildRequires: python-setuptools
110336
#BuildRequires: python2-docutils
110336
BuildRequires: python-jinja2
110336
BuildRequires: python-nose
110336
#BuildRequires: python2-pygments
110336
# docutils dependencies
110336
BuildRequires: python-imaging
110336
# pygments dependencies
110336
BuildRequires: python-nose
110336
%endif
110336
110336
BuildRequires: gcc gcc-c++ make
110336
BuildRequires: autoconf automake libtool
110336
BuildRequires: systemd-units openssl openssl-devel
110336
BuildRequires: python3-devel python3-setuptools
110336
BuildRequires: desktop-file-utils
110336
BuildRequires: groff-base graphviz
110336
BuildRequires: unbound-devel
6c6af1
BuildRequires: systemtap-sdt-devel
110336
# make check dependencies
110336
BuildRequires: procps-ng
110336
%if %{with check_datapath_kernel}
110336
BuildRequires: nmap-ncat
110336
# would be useful but not available in RHEL or EPEL
110336
#BuildRequires: pyftpdlib
110336
%endif
110336
110336
%if %{with libcapng}
110336
BuildRequires: libcap-ng libcap-ng-devel
110336
%endif
110336
110336
%ifarch %{dpdkarches}
110336
BuildRequires: meson
6c6af1
%if 0%{?rhel} > 8 || 0%{?fedora}
6c6af1
BuildRequires: python3-pyelftools
6c6af1
%endif
110336
# DPDK driver dependencies
13a7f7
BuildRequires: zlib-devel numactl-devel libarchive-devel
110336
%ifarch x86_64
110336
BuildRequires: rdma-core-devel >= 15 libmnl-devel
110336
%endif
110336
110336
# Required by packaging policy for the bundled DPDK
110336
Provides: bundled(dpdk) = %{dpdkver}
110336
%endif
110336
110336
Requires: openssl iproute module-init-tools
110336
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
110336
#Requires: kernel >= 3.15.0-0
110336
Requires: openvswitch-selinux-extra-policy
110336
110336
Requires(pre): shadow-utils
110336
Requires(post): /bin/sed
110336
Requires(post): /usr/sbin/usermod
110336
Requires(post): /usr/sbin/groupadd
110336
Requires(post): systemd-units
110336
Requires(preun): systemd-units
110336
Requires(postun): systemd-units
110336
Obsoletes: openvswitch-controller <= 0:2.1.0-1
110336
6c6af1
%if 0%{?rhel}
6c6af1
# sortedcontainers are not packaged on RHEL yet, but ovs includes it
6c6af1
%global __requires_exclude ^python%{python3_version}dist\\(sortedcontainers\\)$
6c6af1
%endif
6c6af1
110336
%description
110336
Open vSwitch provides standard network bridging functions and
110336
support for the OpenFlow protocol for remote per-flow control of
110336
traffic.
110336
110336
%package -n python3-%{pkgname}
110336
Summary: Open vSwitch python3 bindings
110336
License: ASL 2.0
110336
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
110336
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
110336
110336
%description -n python3-%{pkgname}
110336
Python bindings for the Open vSwitch database
110336
110336
%package test
110336
Summary: Open vSwitch testing utilities
110336
License: ASL 2.0
110336
BuildArch: noarch
110336
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
110336
Requires: tcpdump
110336
110336
%description test
110336
Utilities that are useful to diagnose performance and connectivity
110336
issues in Open vSwitch setup.
110336
110336
%package devel
110336
Summary: Open vSwitch OpenFlow development package (library, headers)
110336
License: ASL 2.0
110336
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
110336
110336
%description devel
110336
This provides shared library, libopenswitch.so and the openvswitch header
110336
files needed to build an external application.
110336
6c6af1
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
110336
%package -n network-scripts-%{name}
110336
Summary: Open vSwitch legacy network service support
110336
License: ASL 2.0
110336
Requires: network-scripts
110336
Supplements: (%{name} and network-scripts)
110336
110336
%description -n network-scripts-%{name}
110336
This provides the ifup and ifdown scripts for use with the legacy network
110336
service.
110336
%endif
110336
110336
%if %{with ipsec}
110336
%package ipsec
110336
Summary: Open vSwitch IPsec tunneling support
110336
License: ASL 2.0
110336
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
110336
Requires: libreswan
110336
110336
%description ipsec
110336
This package provides IPsec tunneling support for OVS tunnels.
110336
%endif
110336
110336
%prep
110336
%if 0%{?commit:1}
110336
%setup -q -n ovs-%{commit} -a 10
110336
%else
110336
%setup -q -n ovs-%{version} -a 10
110336
%endif
110336
%if ! %{external_sphinx}
110336
%if 0%{?commit:1}
110336
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
110336
%else
110336
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
110336
%endif
110336
%endif
6c6af1
%if 0%{?rhel} && 0%{?rhel} < 9
6c6af1
%if 0%{?commit:1}
6c6af1
%setup -n ovs-%{commit} -q -D -T -a 103
6c6af1
%else
6c6af1
%setup -n ovs-%{version} -q -D -T -a 103
6c6af1
%endif
6c6af1
%endif
110336
110336
mv dpdk-*/ %{dpdkdir}/
110336
110336
# FIXME should we propose a way to do that upstream?
110336
sed -ri "/^subdir\('(usertools|app)'\)/d" %{dpdkdir}/meson.build
110336
110336
%patch -p1
110336
110336
%build
6c6af1
%if 0%{?rhel} && 0%{?rhel} < 9
6c6af1
export PYTHONPATH="${PWD}/pyelftools-%{pyelftoolsver}"
6c6af1
%endif
110336
# Build Sphinx on RHEL
110336
%if ! %{external_sphinx}
110336
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
110336
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
110336
    pushd "$x"
110336
    python2 setup.py install --home %{_builddir}/pytmp
110336
    popd
110336
done
110336
110336
export PATH="$PATH:%{_builddir}/pytmp/bin"
110336
%endif
110336
110336
./boot.sh
110336
110336
%ifarch %{dpdkarches}    # build dpdk
110336
# Lets build DPDK first
110336
cd %{dpdkdir}
110336
110336
ENABLED_DRIVERS=(
110336
    bus/pci
110336
    bus/vdev
110336
    mempool/ring
110336
    net/failsafe
110336
    net/i40e
110336
    net/ring
110336
    net/vhost
110336
    net/virtio
110336
    net/tap
110336
)
110336
110336
%ifarch x86_64
110336
ENABLED_DRIVERS+=(
6c6af1
    bus/auxiliary
110336
    bus/vmbus
110336
    common/iavf
110336
    common/mlx5
110336
    net/bnxt
110336
    net/enic
110336
    net/iavf
110336
    net/ice
110336
    net/mlx5
110336
    net/netvsc
110336
    net/nfp
110336
    net/qede
110336
    net/vdev_netvsc
110336
)
110336
%endif
110336
110336
%ifarch aarch64 x86_64
110336
ENABLED_DRIVERS+=(
110336
    net/e1000
110336
    net/ixgbe
110336
)
110336
%endif
110336
6c6af1
for driver in "${ENABLED_DRIVERS[@]}"; do
6c6af1
    enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
6c6af1
done
6c6af1
6c6af1
# As of 21.11-rc3, following libraries can be disabled:
6c6af1
# optional_libs = [
6c6af1
#         'bitratestats',
6c6af1
#         'gpudev',
6c6af1
#         'gro',
6c6af1
#         'gso',
6c6af1
#         'kni',
6c6af1
#         'jobstats',
6c6af1
#         'latencystats',
6c6af1
#         'metrics',
6c6af1
#         'pdump',
6c6af1
#         'power',
6c6af1
#         'vhost',
6c6af1
# ]
6c6af1
# If doing any updates, this must be aligned with:
6c6af1
# https://access.redhat.com/articles/3538141
6c6af1
DISABLED_LIBS=(
6c6af1
    gpudev
6c6af1
    kni
6c6af1
    jobstats
6c6af1
    power
6c6af1
)
6c6af1
6c6af1
for lib in "${DISABLED_LIBS[@]}"; do
6c6af1
    disable_libs="${disable_libs:+$disable_libs,}"$lib
110336
done
110336
110336
%set_build_flags
110336
%__meson --prefix=%{_builddir}/dpdk-build \
110336
         --buildtype=plain \
6c6af1
         -Ddisable_libs="$disable_libs" \
6c6af1
         -Denable_drivers="$enable_drivers" \
6c6af1
         -Dplatform=generic \
Open vSwitch CI ba7c0c
         -Dmax_ethports=1024 \
110336
         -Dmax_numa_nodes=8 \
110336
         -Dtests=false \
110336
         %{_vpath_builddir}
110336
%meson_build
110336
%__meson install -C %{_vpath_builddir} --no-rebuild
110336
110336
# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
110336
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*
110336
110336
# Generate a list of supported drivers, its hard to tell otherwise.
110336
cat << EOF > README.DPDK-PMDS
110336
DPDK drivers included in this package:
110336
110336
EOF
110336
110336
for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
110336
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
110336
done >> README.DPDK-PMDS
110336
110336
cat << EOF >> README.DPDK-PMDS
110336
110336
For further information about the drivers, see
110336
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
110336
EOF
110336
110336
cd -
110336
%endif    # build dpdk
110336
110336
# And now for OVS...
110336
mkdir build-shared build-static
110336
pushd build-shared
110336
ln -s ../configure
110336
%configure \
110336
%if %{with libcapng}
110336
        --enable-libcapng \
110336
%else
110336
        --disable-libcapng \
110336
%endif
110336
        --disable-static \
110336
        --enable-shared \
110336
        --enable-ssl \
6c6af1
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
6c6af1
        --enable-usdt-probes
110336
make %{?_smp_mflags}
110336
popd
110336
pushd build-static
110336
ln -s ../configure
110336
%ifarch %{dpdkarches}
110336
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
110336
%endif
110336
%configure \
110336
%if %{with libcapng}
110336
        --enable-libcapng \
110336
%else
110336
        --disable-libcapng \
110336
%endif
110336
        --enable-ssl \
110336
%ifarch %{dpdkarches}
110336
        --with-dpdk=static \
110336
%endif
6c6af1
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
6c6af1
        --enable-usdt-probes
110336
make %{?_smp_mflags}
110336
popd
110336
110336
/usr/bin/python3 build-aux/dpdkstrip.py \
110336
        --dpdk \
110336
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
110336
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
110336
110336
%install
110336
rm -rf $RPM_BUILD_ROOT
110336
make -C build-shared install-libLTLIBRARIES DESTDIR=$RPM_BUILD_ROOT
110336
make -C build-static install DESTDIR=$RPM_BUILD_ROOT
110336
110336
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
110336
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
110336
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
110336
110336
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
110336
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
110336
110336
install -p -D -m 0644 \
110336
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
110336
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
110336
110336
for service in openvswitch ovsdb-server ovs-vswitchd \
110336
               ovs-delete-transient-ports; do
110336
        install -p -D -m 0644 \
110336
                        rhel/usr_lib_systemd_system_${service}.service \
110336
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
110336
done
110336
110336
%if %{with ipsec}
110336
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
110336
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
110336
%endif
110336
110336
install -m 0755 rhel/etc_init.d_openvswitch \
110336
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
110336
110336
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
110336
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
110336
110336
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
110336
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
110336
110336
install -m 0644 vswitchd/vswitch.ovsschema \
110336
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
110336
6c6af1
%if 0%{?rhel} < 9
110336
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
110336
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
110336
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
110336
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
110336
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
6c6af1
%endif
110336
110336
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
110336
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
110336
        $RPM_BUILD_ROOT%{python3_sitelib}
110336
110336
# Build the JSON C extension for the Python lib (#1417738)
110336
pushd python
110336
(
110336
export CPPFLAGS="-I ../include -I ../build-shared/include"
110336
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
110336
%py3_build
110336
%py3_install
110336
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
110336
)
110336
popd
110336
110336
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
110336
110336
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
110336
110336
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
110336
110336
install -p -D -m 0755 \
110336
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
110336
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
110336
110336
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
110336
# The db needs special permission as IPsec Pre-shared keys are stored in it.
110336
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
110336
110336
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
110336
110336
# remove unpackaged files
110336
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
110336
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
110336
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
110336
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
110336
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
110336
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
110336
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
110336
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
110336
110336
%if ! %{with ipsec}
110336
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
110336
%endif
110336
110336
# remove ovn unpackages files
110336
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
110336
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
110336
110336
%check
110336
%if %{with check}
110336
    pushd build-static
110336
    touch resolv.conf
110336
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
110336
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
110336
       make check TESTSUITEFLAGS='--recheck'; then :;
110336
    else
110336
        cat tests/testsuite.log
110336
        exit 1
110336
    fi
110336
    popd
110336
%endif
110336
%if %{with check_datapath_kernel}
110336
    pushd build-static
110336
    if make check-kernel RECHECK=yes; then :;
110336
    else
110336
        cat tests/system-kmod-testsuite.log
110336
        exit 1
110336
    fi
110336
    popd
110336
%endif
110336
110336
%clean
110336
rm -rf $RPM_BUILD_ROOT
110336
110336
%preun
110336
%if 0%{?systemd_preun:1}
110336
    %systemd_preun openvswitch.service
110336
%else
110336
    if [ $1 -eq 0 ] ; then
110336
    # Package removal, not upgrade
110336
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
110336
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
110336
    fi
110336
%endif
110336
110336
%pre
110336
getent group openvswitch >/dev/null || groupadd -r openvswitch
110336
getent passwd openvswitch >/dev/null || \
110336
    useradd -r -g openvswitch -d / -s /sbin/nologin \
110336
    -c "Open vSwitch Daemons" openvswitch
110336
110336
%ifarch %{dpdkarches}
110336
    getent group hugetlbfs >/dev/null || groupadd hugetlbfs
110336
    usermod -a -G hugetlbfs openvswitch
110336
%endif
110336
exit 0
110336
110336
%post
110336
if [ $1 -eq 1 ]; then
110336
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
110336
110336
%ifarch %{dpdkarches}
110336
    sed -i \
110336
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
110336
        /etc/sysconfig/openvswitch
110336
%endif
110336
fi
110336
chown -R openvswitch:openvswitch /etc/openvswitch
110336
110336
%if 0%{?systemd_post:1}
110336
    %systemd_post openvswitch.service
110336
%else
110336
    # Package install, not upgrade
110336
    if [ $1 -eq 1 ]; then
110336
        /bin/systemctl daemon-reload >dev/null || :
110336
    fi
110336
%endif
110336
110336
%postun
110336
%if 0%{?systemd_postun:1}
110336
    %systemd_postun openvswitch.service
110336
%else
110336
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
110336
%endif
110336
110336
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
110336
# old rpm versions restart the service in postun, but
110336
# due to systemd some preparation is needed.
110336
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
110336
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
110336
    systemctl daemon-reload >/dev/null 2>&1 || :
110336
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
110336
    systemctl start openvswitch >/dev/null 2>&1 || :
110336
fi
110336
exit 0
110336
110336
%files -n python3-%{pkgname}
110336
%{python3_sitearch}/ovs
110336
%{python3_sitearch}/ovs-*.egg-info
110336
%doc LICENSE
110336
110336
%files test
110336
%{_bindir}/ovs-pcap
110336
%{_bindir}/ovs-tcpdump
110336
%{_bindir}/ovs-tcpundump
110336
%{_mandir}/man1/ovs-pcap.1*
110336
%{_mandir}/man8/ovs-tcpdump.8*
110336
%{_mandir}/man1/ovs-tcpundump.1*
110336
%{_bindir}/ovs-test
110336
%{_bindir}/ovs-vlan-test
110336
%{_bindir}/ovs-l3ping
110336
%{_mandir}/man8/ovs-test.8*
110336
%{_mandir}/man8/ovs-vlan-test.8*
110336
%{_mandir}/man8/ovs-l3ping.8*
110336
%{python3_sitelib}/ovstest
110336
110336
%files devel
110336
%{_libdir}/*.so
110336
%{_libdir}/pkgconfig/*.pc
110336
%{_includedir}/openvswitch/*
110336
%{_includedir}/openflow/*
110336
%exclude %{_libdir}/*.a
110336
%exclude %{_libdir}/*.la
110336
6c6af1
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
110336
%files -n network-scripts-%{name}
110336
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
110336
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
110336
%endif
110336
110336
%files
110336
%defattr(-,openvswitch,openvswitch)
110336
%dir %{_sysconfdir}/openvswitch
110336
%{_sysconfdir}/openvswitch/default.conf
110336
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
110336
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
110336
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
110336
%defattr(-,root,root)
110336
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
110336
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
110336
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
110336
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
110336
%{_unitdir}/openvswitch.service
110336
%{_unitdir}/ovsdb-server.service
110336
%{_unitdir}/ovs-vswitchd.service
110336
%{_unitdir}/ovs-delete-transient-ports.service
110336
%{_datadir}/openvswitch/scripts/openvswitch.init
110336
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
110336
%{_datadir}/openvswitch/scripts/ovs-lib
110336
%{_datadir}/openvswitch/scripts/ovs-save
110336
%{_datadir}/openvswitch/scripts/ovs-vtep
110336
%{_datadir}/openvswitch/scripts/ovs-ctl
110336
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
110336
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
13a7f7
%config %{_datadir}/openvswitch/local-config.ovsschema
110336
%config %{_datadir}/openvswitch/vswitch.ovsschema
110336
%config %{_datadir}/openvswitch/vtep.ovsschema
110336
%{_bindir}/ovs-appctl
110336
%{_bindir}/ovs-dpctl
110336
%{_bindir}/ovs-ofctl
110336
%{_bindir}/ovs-vsctl
110336
%{_bindir}/ovsdb-client
110336
%{_bindir}/ovsdb-tool
110336
%{_bindir}/ovs-pki
110336
%{_bindir}/vtep-ctl
110336
%{_libdir}/*.so.*
110336
%{_sbindir}/ovs-vswitchd
110336
%{_sbindir}/ovsdb-server
110336
%{_mandir}/man1/ovsdb-client.1*
110336
%{_mandir}/man1/ovsdb-server.1*
110336
%{_mandir}/man1/ovsdb-tool.1*
110336
%{_mandir}/man5/ovsdb.5*
13a7f7
%{_mandir}/man5/ovsdb.local-config.5*
110336
%{_mandir}/man5/ovsdb-server.5.*
110336
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
110336
%{_mandir}/man5/vtep.5*
110336
%{_mandir}/man7/ovsdb-server.7*
110336
%{_mandir}/man7/ovsdb.7*
110336
%{_mandir}/man7/ovs-actions.7*
110336
%{_mandir}/man7/ovs-fields.7*
110336
%{_mandir}/man8/vtep-ctl.8*
110336
%{_mandir}/man8/ovs-appctl.8*
110336
%{_mandir}/man8/ovs-ctl.8*
110336
%{_mandir}/man8/ovs-dpctl.8*
110336
%{_mandir}/man8/ovs-kmod-ctl.8.*
110336
%{_mandir}/man8/ovs-ofctl.8*
110336
%{_mandir}/man8/ovs-pki.8*
110336
%{_mandir}/man8/ovs-vsctl.8*
110336
%{_mandir}/man8/ovs-vswitchd.8*
110336
%{_mandir}/man8/ovs-parse-backtrace.8*
110336
%{_udevrulesdir}/91-vfio.rules
110336
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
110336
%ifarch %{dpdkarches}
110336
%doc %{dpdkdir}/README.DPDK-PMDS
Open vSwitch CI 3f9b5c
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
Open vSwitch CI 3f9b5c
%else
Open vSwitch CI 3f9b5c
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
110336
%endif
110336
/var/lib/openvswitch
110336
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
110336
%{_datadir}/openvswitch/bugtool-plugins/
110336
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
110336
%{_bindir}/ovs-dpctl-top
110336
%{_sbindir}/ovs-bugtool
110336
%{_mandir}/man8/ovs-dpctl-top.8*
110336
%{_mandir}/man8/ovs-bugtool.8*
110336
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
110336
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
110336
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
110336
%endif
110336
110336
%if %{with ipsec}
110336
%files ipsec
110336
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
110336
%{_unitdir}/openvswitch-ipsec.service
110336
%endif
110336
110336
%changelog
13a7f7
* Thu Jul 14 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-31
13a7f7
- Merging upstream branch-2.17 [RH git: bdc6c6696c]
13a7f7
    Commit list:
13a7f7
    13ac0bc7c6 tc: Fix misaligned access while creating pedit actions.
13a7f7
    2c85d737a4 utilities/bashcomp: Fix incorrect file mode.
13a7f7
13a7f7
13a7f7
* Wed Jul 06 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-30
13a7f7
- rhel: libarchive-devel is needed for DPDK to load compressed firmwares [RH git: 95331d366d]
13a7f7
    Reported-by: David Marchand (david.marchand@redhat.com)
13a7f7
13a7f7
13a7f7
* Fri Jul 01 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-29
13a7f7
- Merging upstream branch-2.17 [RH git: d3c723a17e]
13a7f7
    Commit list:
13a7f7
    05e9d2b7a9 Pmd.at: fix dpcls and dpif configuration test cases.
13a7f7
13a7f7
13a7f7
* Thu Jun 30 2022 Ilya Maximets <i.maximets@redhat.com> - 2.17.0-28
13a7f7
- Merging upstream branch-2.17 [RH git: 9738f7f756]
13a7f7
    Commit list:
13a7f7
    45ecaa9e57 ovsdb: Add Local_Config schema.
13a7f7
    
13a7f7
    Merge:
13a7f7
     redhat/template.spec.in updated with new files.
13a7f7
    
13a7f7
    Signed-off-by: Ilya Maximets <i.maximets@redhat.com>
13a7f7
13a7f7
13a7f7
* Wed Jun 29 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-27
13a7f7
- Merging upstream branch-2.17 [RH git: 62ee0c2ec8]
13a7f7
    Commit list:
13a7f7
    61d64d3899 dpif-netdev: Fix leak of AVX512 DPIF scratch pad.
13a7f7
13a7f7
13a7f7
* Wed Jun 29 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-26
13a7f7
- Fix REPO_URL [RH git: cf6a18b2bd]
13a7f7
13a7f7
13a7f7
* Wed Jun 29 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-25
13a7f7
- Merging upstream branch-2.17 [RH git: 27d62d7d3f]
13a7f7
    Commit list:
13a7f7
    a77ad9693c dpif-netdev: Refactor AVX512 runtime checks. (#2100393)
13a7f7
13a7f7
13a7f7
* Tue Jun 28 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-24
13a7f7
- Merging upstream branch-2.17 [RH git: f0e25fe3e6]
13a7f7
    Commit list:
13a7f7
    ccea7df578 dpif-netdev-extract-avx512: Protect GCC builtin usage.
13a7f7
    807f7f994a ovs-tcpdump: Default to OVS_RUNDIR if present.
13a7f7
    ec13b03ca3 ovsdb: Fix memory leak on error path in ovsdb_file_read__().
13a7f7
    8b2dff2e34 odp-util: Ignore unknown attributes in parse_key_and_mask_to_match(). (#2089331)
13a7f7
    13d97f6637 ofproto-dpif: Avoid unneccesary backer revalidation.
13a7f7
    9b4035d699 lldp: Fix lldp memory leak.
13a7f7
    d9351febc2 ipfix: Trigger revalidation if ipfix options changes.
13a7f7
    5419b1de93 conntrack: Fix incorrect bit shift while hashing nat range.
13a7f7
    1ab5f94a11 packets: Fix misaligned write to MPLS lse.
13a7f7
    8e00be03c7 tc: Fix misaligned access to stats and time values.
13a7f7
    3a1f5341ca odp-util: Fix unaligned access to tunnel id.
13a7f7
    0c54c43b89 ofpbuf: Fix offsetting a NULL pointer in ofpbuf_reserve.
13a7f7
    98edacb40c drop-stats.at: Fix frequent failures of the recursion too deep test.
13a7f7
    cbc13ce4f7 odp_util: Fix parse_key_and_mask_to_match() vlan parsing.
13a7f7
13a7f7
13a7f7
* Tue Jun 21 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-23
13a7f7
- Merging upstream branch-2.17 [RH git: e2e0aac349]
13a7f7
    Commit list:
13a7f7
    73e6ce4925 Prepare for 2.17.3.
13a7f7
    95979b0f0d Set release date for 2.17.2.
13a7f7
13a7f7
13a7f7
* Tue Jun 07 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-22
13a7f7
- Merging upstream branch-2.17 [RH git: ce91947e61]
13a7f7
    Commit list:
13a7f7
    250e1a6dd2 ofproto-dpif-xlate: Fix internal CT state for non-recirc traffic.
13a7f7
    fe870ee072 classifier: Adjust segment boundary to execute prerequisite processing. (#2081773)
13a7f7
    ec0ec464ba ovs-tcpdump: Fix error when stopping ovs-tcpdump.
13a7f7
13a7f7
13a7f7
* Tue May 31 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-21
13a7f7
- Merging upstream branch-2.17 [RH git: 6ff800a303]
13a7f7
    Commit list:
13a7f7
    420823e2af ofproto-dpif: Fix meter use-after-free.
13a7f7
    c762da2623 ovs-rcu: Add ovsrcu_barrier.
13a7f7
    cd9b6b64f4 dpif-netdev: Fix ALB 'rebalance_intvl' max hard limit.
13a7f7
    64f6c49d25 dpif-netdev: Fix ALB parameters type mismatch.
13a7f7
    b11b84ea7f dpdk: Use DPDK 21.11.1 release.
13a7f7
    d3bf48e9a9 raft: Don't use HMAP_FOR_EACH_SAFE when logging commands.
13a7f7
13a7f7
13a7f7
* Thu May 26 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-20
13a7f7
- Merging upstream branch-2.17 [RH git: 77f2886b02]
13a7f7
    Commit list:
13a7f7
    e07377bb49 ovsdb: raft: Fix transaction double commit due to lost leadership. (#2046340)
13a7f7
    5da86cb360 dynamic-string: Fix undefined behavior due to offsetting null pointer.
13a7f7
    369e688908 Revert "odp-util: Always report ODP_FIT_TOO_LITTLE for IGMP."
13a7f7
    18341166ed ofproto-dpif-xlate: Fix netdev native tunnel neigh discovery spa.
13a7f7
    748e4b2b5b ovs-router: Expose the ovs_router_get_netdev_source_address function.
13a7f7
    34390bb35c ofproto-dpif: Trigger revalidation if ct tp changes.
13a7f7
13a7f7
13a7f7
* Wed May 25 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-19
13a7f7
- Merging upstream branch-2.17 [RH git: 993b9ca4b4]
13a7f7
    Commit list:
13a7f7
    1adb07e206 Carefully release NBL in Windows
13a7f7
13a7f7
13a7f7
* Thu May 19 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-18
13a7f7
- Merging upstream branch-2.17 [RH git: 868b675dfd]
13a7f7
    Commit list:
13a7f7
    1ccaba4484 tests: Properly kill ovsdb test processes.
13a7f7
    260b091c2a ovs-save: Get highest ofp version error.
13a7f7
    7606bb1210 netdev-linux: Properly access 32-bit aligned rtnl_link_stats64 structs.
13a7f7
    0688b9f27d treewide: Avoid offsetting NULL pointers.
13a7f7
    92bcf0a823 treewide: Fix invalid bit shift operations.
13a7f7
13a7f7
13a7f7
* Wed May 04 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-17
13a7f7
- Merging upstream branch-2.17 [RH git: e16db3efbf]
13a7f7
    Commit list:
13a7f7
    7fa76371de utilities: Handle dumping packets in GDB TUI.
13a7f7
    8cac8baa8f ofproto-dpif-xlate: Remove mirror assert.
13a7f7
    e0e8f0c546 netdev-dpdk: Fix tx drops statistic for a down netdev.
13a7f7
    f9b5f8a781 netdev-dpdk: Remove a leftover lock annotation.
13a7f7
    4c3976ff2a netdev-dpdk: Refactor the DPDK transmit path.
13a7f7
13a7f7
13a7f7
* Wed May 04 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-16
13a7f7
- Merging upstream branch-2.17 [RH git: ca8c5adb3e]
13a7f7
    Commit list:
13a7f7
    410b97c839 netdev-offload-dpdk: Fix ethernet type for VLANs.
13a7f7
    7948312feb netdev-offload-dpdk: Use has_vlan match attribute.
13a7f7
13a7f7
6c6af1
* Mon May 02 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-15
6c6af1
- Merging upstream branch-2.17 [RH git: e706ea8148]
Open vSwitch CI ad1882
    Commit list:
6c6af1
    522c46884d python: idl: Raise AttributeError from uuid_to_row.
6c6af1
    cb24c524e4 ofproto-dpif-xlate: Clear out vlan flow fields while processing native tunnel. (#2060552)
6c6af1
    a665b75dec dpif-netdev-avx512: Fix overflow of UINT32_C(1).
Open vSwitch CI ad1882
Open vSwitch CI ad1882
6c6af1
* Thu Apr 28 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-14
6c6af1
- vhost: fix queue number check when setting inflight FD [RH git: 2ac21853a2]
Open vSwitch CI 386f27
    [ upstream commit 6442c329b9d2ded0f44b27d2016aaba8ba5844c5 ]
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    In function vhost_user_set_inflight_fd, queue number in inflight
Open vSwitch CI 386f27
    message is used to access virtqueue. However, queue number could
Open vSwitch CI 386f27
    be larger than VHOST_MAX_VRING and cause write OOB as this number
Open vSwitch CI 386f27
    will be used to write inflight info in virtqueue structure. This
Open vSwitch CI 386f27
    patch checks the queue number to avoid the issue and also make
Open vSwitch CI 386f27
    sure virtqueues are allocated before setting inflight information.
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    Fixes: ad0a4ae491fe ("vhost: checkout resubmit inflight information")
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    Reported-by: Wenxiang Qian <leonwxqian@gmail.com>
Open vSwitch CI 386f27
    Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
Open vSwitch CI 386f27
    Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Open vSwitch CI 386f27
Open vSwitch CI 386f27
6c6af1
* Thu Apr 28 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-13
6c6af1
- vhost: fix FD leak with inflight messages [RH git: bff69b098f]
Open vSwitch CI 386f27
    [ upstream commit af74f7db384ed149fe42b21dbd7975f8a54ef227 ]
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    Even if unlikely, a buggy vhost-user master might attach fds to inflight
Open vSwitch CI 386f27
    messages. Add checks like for other types of vhost-user messages.
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    Fixes: d87f1a1cb7b6 ("vhost: support inflight info sharing")
Open vSwitch CI 386f27
    
Open vSwitch CI 386f27
    Signed-off-by: David Marchand <david.marchand@redhat.com>
Open vSwitch CI 386f27
    Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Open vSwitch CI 386f27
Open vSwitch CI 386f27
6c6af1
* Wed Apr 27 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-12
6c6af1
- Merging upstream branch-2.17 [RH git: 7a9f21a896]
6c6af1
    Commit list:
6c6af1
    60e7badd6e dpif-netdev-avx512: Fix ubsan shift error in bitmasks.
6c6af1
    9cc329ec5b python: Politely handle misuse of table.condition.
6c6af1
    0631be2b5a ofproto-xlate: Fix crash when forwarding packet between legacy_l3 tunnels.
6c6af1
    df97903099 system-traffic: Fix fragment reassembly with L3 L4 protocol information.
6c6af1
    ba159ee0f9 cirrus: Update FreeBSD versions.
6c6af1
6c6af1
6c6af1
* Thu Apr 21 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-11
6c6af1
- Set RTE_ETH_MAXPORTS to 1024 [RH git: c02e6bcdc4] (#2077451)
6c6af1
    Resolves: #2077451
6c6af1
6c6af1
6c6af1
* Wed Apr 13 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-10
6c6af1
- redhat: network-scripts are gone in RHEL9 [RH git: 613e0e5190]
6c6af1
6c6af1
6c6af1
* Fri Apr 08 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-9
6c6af1
- Merging upstream branch-2.17 [RH git: 4b4333522a]
6c6af1
    Commit list:
6c6af1
    bd1a3b6b49 Prepare for 2.17.2.
6c6af1
    41bb202fb3 Set release date for 2.17.1.
6c6af1
    8f42d4f597 NEWS: Highlight libopenvswitch API change caused by UB fixes.
6c6af1
6c6af1
6c6af1
* Fri Apr 08 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-8
6c6af1
- Merging upstream branch-2.17 [RH git: 11b19654f7]
6c6af1
    Commit list:
6c6af1
    14301b3a3c netdev-offload-tc: Check for ct_state flag combinations that are not offloadable.
6c6af1
6c6af1
6c6af1
* Mon Apr 04 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-7
6c6af1
- Merging upstream branch-2.17 [RH git: 6cd8201ead]
6c6af1
    Commit list:
6c6af1
    3a2eef7927 python: idl: Set cond_changed to true if condition change requested.
6c6af1
    d05ccf288d dpif-netdev: Fix dp_netdev_get_pmd() function getting correct core_id.
6c6af1
    79e291f983 alb.at: Add tests for cross-numa polling.
6c6af1
    9c3b74fb24 dpif-netdev: Fix PMD auto load balance with pmd-rxq-isolate.
6c6af1
    8580ff9ddd pmd.at: Add tests for multi non-local numa pmds.
6c6af1
    6bf4eeddbb dpif-netdev: Fix non-local numa selection for more than two numas.
6c6af1
    c41434b3b7 dpif-netdev: Fix typo in function name.
6c6af1
    e0aa5e1329 python: idl: Set cond_changed to false if last id is zero.
6c6af1
    8da40d31c7 ofproto-dpif-xlate: Fix NULL pointer dereference in xlate_normal().
6c6af1
    63a903ab42 ofproto/ofproto-dpif: Fix dpif_type for userspace tunnels.
6c6af1
6c6af1
6c6af1
* Mon Apr 04 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-6
6c6af1
- downstream: Enable usdt probes in build [RH git: b366bbed8f]
6c6af1
    Fixes: BZ1840877
6c6af1
6c6af1
6c6af1
* Thu Mar 31 2022 Michael Santana <msantana@redhat.com> - 2.17.0-5
6c6af1
- redhat/makefile: fix support for more rhel versions [RH git: 7c8bb3babb]
6c6af1
    Signed-off-by: Michael Santana <msantana@redhat.com>
6c6af1
6c6af1
6c6af1
* Thu Mar 31 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.17.0-4
6c6af1
- Merging upstream branch-2.17 [RH git: 95e1c005d2]
6c6af1
    Commit list:
6c6af1
    14d54eb8b6 sset: add SHORT version of SAFE loop macros.
6c6af1
    f0e63b115f sparse: bump recommended version and include headers.
6c6af1
    70b87cf722 idlc: support short version of SAFE macros.
6c6af1
    3777ed90c9 rculist: use multi-variable helpers for loop macros.
6c6af1
    bb52e9bebf hindex: remove the next variable in safe loops.
6c6af1
    7d6cbfa24b hindex: use multi-variable iterators.
6c6af1
    97ad96b63a cmap: use multi-variable iterators.
6c6af1
    cd62fda22d hmap: use short version of safe loops if possible.
6c6af1
    d56bfd7521 hmap: implement UB-safe hmap pop iterator.
6c6af1
    e2c8354861 hmap: use multi-variable helpers for hmap loops.
6c6af1
    897d6647e6 list: use short version of safe loops if possible.
6c6af1
    979a9eb5b5 list: use multi-variable helpers for list loops.
6c6af1
    6bacf802c6 util: add helpers to overload SAFE macro.
6c6af1
    f127123d66 util: add safe multi-variable iterators.
6c6af1
    38e73f0b68 util: add multi-variable loop iterator macros.
6c6af1
    e91edf4568 ovsdb: raft: Fix inability to read the database with DNS host names. (#2055097)
6c6af1
    2404d45367 system-traffic.at: Fix flaky DNAT load balancing test.
6c6af1
    6b8adfdd8d dpif-netdev: Keep orig_in_port as a field of the flow.
6c6af1
    6098b7f250 tests: Fix incorrect usage of OVS_WAIT_UNTIL.
6c6af1
    cf9018d373 odp-util: Fix output for tc to be equal to kernel.
6c6af1
    992de24063 netdev-offload-tc: Fix IP and port ranges in flower returns.
6c6af1
    7e26796c03 netdev-offload-tc: Fix use of ICMP values instead of masks defines.
6c6af1
    e319e27064 netdev-offload-tc: Always include conntrack information to tc.
6c6af1
    51ef81ad78 netdev-offload-tc: Check for valid netdev ifindex in flow_put.
6c6af1
    974253dc2e netdev-offload-tc: Set the correct VLAN_VID and VLAN_PCP masks.
6c6af1
    c43c159aea netdev-offload-tc: Add debug logs on tc rule verify failures.
6c6af1
    d34622a03b tc: Keep header rewrite actions order.
6c6af1
    5255713d1f faq: Update OVS/DPDK version table for OVS 2.15/2.16
6c6af1
    05cf36a620 system-dpdk: Fix mfex autovalidator tests.
6c6af1
    87540e3b9f ofp-prop: Silence the 'may be uninitialized' warning.
6c6af1
    812164adef tests: Ignore log about failing to set NETLINK_EXT_ACK.
6c6af1
    ae51ccc12c ovsdb-cluster.at: Avoid test failures due to different hashing.
6c6af1
    f33cde23c7 ofproto: Use xlate map for uuid lookups.
6c6af1
    6ac255496c ofproto: Add refcount to ofproto to fix ofproto use-after-free.
6c6af1
    db0cc8be38 ofproto-dpif: Trigger revalidation when ipfix config set.
6c6af1
    31b86e5c98 conntrack: Prefer dst port range during unique tuple search.
6c6af1
    b761b532c3 conntrack: Select correct sport range for well-known origin sport.
6c6af1
    78bd058c36 ipsec: StrongSwan report connection update failures to ovs logs.
6c6af1
    aa05596dfb ipsec: Libreswan report connection failures to ovs logs.
6c6af1
    427776ceae system-tso: Skip encap tests when userspace TSO is enabled.
6c6af1
    66d16e2883 tc: Fix stats byte count on fragmented packets.
6c6af1
    b63c41f31f compat: Add gen_stats include to define tc hw stats.
6c6af1
    c531b3828f ovsdb: raft: Fix inability to join the cluster after interrupted attempt. (#2033514)
6c6af1
    498cedc483 reconnect: Fix broken inactivity probe if there is no other reason to wake up.
6c6af1
    5dc1423d80 datapath-windows: Fix NXM_OF_IP_TOS issue
6c6af1
    91c0f0068d Prepare for 2.17.1.
6c6af1
6c6af1
6c6af1
* Wed Mar 30 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-3
6c6af1
- redhat: fix setup on RHEL8 [RH git: 769c7d89ac]
6c6af1
6c6af1
6c6af1
* Wed Mar 30 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-2
6c6af1
- rhel: avoid including sortedcontainers [RH git: 3c5b820d14]
6c6af1
6c6af1
6c6af1
* Mon Feb 21 2022 Timothy Redaelli <tredaelli@redhat.com> - 2.17.0-1
6c6af1
- redhat: Imported Red Hat build files. [RH git: 00b5f7b51b]
110336
110336