3abd27
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
3abd27
#
3abd27
# Copying and distribution of this file, with or without modification,
3abd27
# are permitted in any medium without royalty provided the copyright
3abd27
# notice and this notice are preserved.  This file is offered as-is,
3abd27
# without warranty of any kind.
3abd27
#
3abd27
# If tests have to be skipped while building, specify the '--without check'
3abd27
# option. For example:
3abd27
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
3abd27
3abd27
# This defines the base package name's version.
3abd27
3abd27
%define pkgname openvswitch3.1
3abd27
3abd27
3abd27
%if 0%{?commit:1}
3abd27
%global shortcommit %(c=%{commit}; echo ${c:0:7})
3abd27
%endif
3abd27
3abd27
# Enable PIE, bz#955181
3abd27
%global _hardened_build 1
3abd27
3abd27
# RHEL-7 doesn't define _rundir macro yet
3abd27
# Fedora 15 onwards uses /run as _rundir
3abd27
%if 0%{!?_rundir:1}
3abd27
%define _rundir /run
3abd27
%endif
3abd27
3abd27
# FIXME remove when fast-datapath-rhel-8 buildroot is updated to new RHEL 8 zstream
3abd27
# RHEL-8.0 doesn't define _smp_build_ncpus, but it uses the old _smp_mflags
3abd27
%if 0%{!?_smp_build_ncpus:1}
3abd27
%define _smp_build_ncpus %(c=%_smp_mflags; echo ${c:2})
3abd27
%endif
3abd27
3abd27
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
3abd27
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
3abd27
%ifarch %{ix86} x86_64 aarch64
3abd27
%bcond_without check
3abd27
%else
3abd27
%bcond_with check
3abd27
%endif
3abd27
# option to run kernel datapath tests, requires building as root!
3abd27
%bcond_with check_datapath_kernel
3abd27
# option to build with libcap-ng, needed for running OVS as regular user
3abd27
%bcond_without libcapng
3abd27
# option to build with ipsec support
3abd27
%bcond_without ipsec
3abd27
3abd27
# Build python2 (that provides python) and python3 subpackages on Fedora
3abd27
# Build only python3 (that provides python) subpackage on RHEL8
3abd27
# Build only python subpackage on RHEL7
3abd27
%if 0%{?rhel} > 7 || 0%{?fedora}
3abd27
# On RHEL8 Sphinx is included in buildroot
3abd27
%global external_sphinx 1
3abd27
%else
3abd27
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
3abd27
%global external_sphinx 0
3abd27
%endif
3abd27
3abd27
Name: %{pkgname}
3abd27
Summary: Open vSwitch
3abd27
Group: System Environment/Daemons daemon/database/utilities
3abd27
URL: http://www.openvswitch.org/
3abd27
Version: 3.1.0
Open vSwitch CI 955b61
Release: 47%{?dist}
3abd27
3abd27
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
3abd27
# lib/sflow*.[ch] files are SISSL
3abd27
# datapath/ is GPLv2 (although not built into any of the binary packages)
3abd27
License: ASL 2.0 and LGPLv2+ and SISSL
3abd27
3abd27
%define dpdkver 22.11.1
3abd27
%define dpdkdir dpdk
3abd27
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
3abd27
# NOTE: DPDK does not currently build for s390x
3abd27
# DPDK on aarch64 is not stable enough to be enabled in FDP
3abd27
%if 0%{?rhel} > 7 || 0%{?fedora}
3abd27
%define dpdkarches x86_64 ppc64le
3abd27
%else
3abd27
%define dpdkarches
3abd27
%endif
3abd27
3abd27
%if 0%{?commit:1}
3abd27
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
3abd27
%else
3abd27
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
3abd27
%endif
3abd27
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
3abd27
3abd27
%define docutilsver 0.12
3abd27
%define pygmentsver 1.4
3abd27
%define sphinxver   1.2.3
3abd27
%define pyelftoolsver 0.27
3abd27
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
3abd27
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
3abd27
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
3abd27
Source103: https://pypi.io/packages/source/p/pyelftools/pyelftools-%{pyelftoolsver}.tar.gz
3abd27
3abd27
Patch0:    openvswitch-%{version}.patch
3abd27
3abd27
# The DPDK is designed to optimize througput of network traffic using, among
3abd27
# other techniques, carefully crafted assembly instructions.  As such it
3abd27
# needs extensive work to port it to other architectures.
3abd27
ExclusiveArch: x86_64 aarch64 ppc64le s390x
3abd27
3abd27
# Do not enable this otherwise YUM will break on any upgrade.
3abd27
# Provides: openvswitch
3abd27
Conflicts: openvswitch < 3.1
3abd27
Conflicts: openvswitch-dpdk < 3.1
3abd27
Conflicts: openvswitch2.10
3abd27
Conflicts: openvswitch2.11
3abd27
Conflicts: openvswitch2.12
3abd27
Conflicts: openvswitch2.13
3abd27
Conflicts: openvswitch2.14
3abd27
Conflicts: openvswitch2.15
3abd27
Conflicts: openvswitch2.16
3abd27
Conflicts: openvswitch2.17
3abd27
Conflicts: openvswitch3.0
3abd27
3abd27
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
3abd27
# in the -optional repository and so we can't require it directly since RHV
3abd27
# doesn't have the -optional repository enabled and so TPS fails
3abd27
%if %{external_sphinx}
3abd27
BuildRequires: python3-sphinx
3abd27
%else
3abd27
# Sphinx dependencies
3abd27
BuildRequires: python-devel
3abd27
BuildRequires: python-setuptools
3abd27
#BuildRequires: python2-docutils
3abd27
BuildRequires: python-jinja2
3abd27
BuildRequires: python-nose
3abd27
#BuildRequires: python2-pygments
3abd27
# docutils dependencies
3abd27
BuildRequires: python-imaging
3abd27
# pygments dependencies
3abd27
BuildRequires: python-nose
3abd27
%endif
3abd27
3abd27
BuildRequires: gcc gcc-c++ make
3abd27
BuildRequires: autoconf automake libtool
3abd27
BuildRequires: systemd-units openssl openssl-devel
3abd27
BuildRequires: python3-devel python3-setuptools
3abd27
BuildRequires: desktop-file-utils
3abd27
BuildRequires: groff-base graphviz
3abd27
BuildRequires: unbound-devel
3abd27
BuildRequires: systemtap-sdt-devel
3abd27
# make check dependencies
3abd27
BuildRequires: procps-ng
3abd27
%if %{with check_datapath_kernel}
3abd27
BuildRequires: nmap-ncat
3abd27
# would be useful but not available in RHEL or EPEL
3abd27
#BuildRequires: pyftpdlib
3abd27
%endif
3abd27
3abd27
%if %{with libcapng}
3abd27
BuildRequires: libcap-ng libcap-ng-devel
3abd27
%endif
3abd27
3abd27
%ifarch %{dpdkarches}
3abd27
BuildRequires: meson
3abd27
%if 0%{?rhel} > 8 || 0%{?fedora}
3abd27
BuildRequires: python3-pyelftools
3abd27
%endif
3abd27
# DPDK driver dependencies
3abd27
BuildRequires: zlib-devel numactl-devel libarchive-devel
3abd27
%ifarch x86_64
3abd27
BuildRequires: rdma-core-devel >= 15 libmnl-devel
3abd27
%endif
3abd27
3abd27
# Required by packaging policy for the bundled DPDK
3abd27
Provides: bundled(dpdk) = %{dpdkver}
3abd27
%endif
3abd27
3abd27
Requires: openssl iproute module-init-tools
3abd27
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
3abd27
#Requires: kernel >= 3.15.0-0
3abd27
Requires: openvswitch-selinux-extra-policy
3abd27
3abd27
Requires(pre): shadow-utils
3abd27
Requires(post): /bin/sed
3abd27
Requires(post): /usr/sbin/usermod
3abd27
Requires(post): /usr/sbin/groupadd
3abd27
Requires(post): systemd-units
3abd27
Requires(preun): systemd-units
3abd27
Requires(postun): systemd-units
3abd27
Obsoletes: openvswitch-controller <= 0:2.1.0-1
3abd27
3abd27
%if 0%{?rhel}
3abd27
# sortedcontainers are not packaged on RHEL yet, but ovs includes it
3abd27
%global __requires_exclude ^python%{python3_version}dist\\(sortedcontainers\\)$
3abd27
%endif
3abd27
3abd27
%description
3abd27
Open vSwitch provides standard network bridging functions and
3abd27
support for the OpenFlow protocol for remote per-flow control of
3abd27
traffic.
3abd27
3abd27
%package -n python3-%{pkgname}
3abd27
Summary: Open vSwitch python3 bindings
3abd27
License: ASL 2.0
3abd27
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
3abd27
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
3abd27
3abd27
%description -n python3-%{pkgname}
3abd27
Python bindings for the Open vSwitch database
3abd27
3abd27
%package test
3abd27
Summary: Open vSwitch testing utilities
3abd27
License: ASL 2.0
3abd27
BuildArch: noarch
3abd27
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
3abd27
Requires: tcpdump
3abd27
3abd27
%description test
3abd27
Utilities that are useful to diagnose performance and connectivity
3abd27
issues in Open vSwitch setup.
3abd27
3abd27
%package devel
3abd27
Summary: Open vSwitch OpenFlow development package (library, headers)
3abd27
License: ASL 2.0
3abd27
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
3abd27
3abd27
%description devel
3abd27
This provides shared library, libopenswitch.so and the openvswitch header
3abd27
files needed to build an external application.
3abd27
3abd27
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
3abd27
%package -n network-scripts-%{name}
3abd27
Summary: Open vSwitch legacy network service support
3abd27
License: ASL 2.0
3abd27
Requires: network-scripts
3abd27
Supplements: (%{name} and network-scripts)
3abd27
3abd27
%description -n network-scripts-%{name}
3abd27
This provides the ifup and ifdown scripts for use with the legacy network
3abd27
service.
3abd27
%endif
3abd27
3abd27
%if %{with ipsec}
3abd27
%package ipsec
3abd27
Summary: Open vSwitch IPsec tunneling support
3abd27
License: ASL 2.0
3abd27
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
3abd27
Requires: libreswan
3abd27
3abd27
%description ipsec
3abd27
This package provides IPsec tunneling support for OVS tunnels.
3abd27
%endif
3abd27
3abd27
%prep
3abd27
%if 0%{?commit:1}
3abd27
%setup -q -n ovs-%{commit} -a 10
3abd27
%else
3abd27
%setup -q -n ovs-%{version} -a 10
3abd27
%endif
3abd27
%if ! %{external_sphinx}
3abd27
%if 0%{?commit:1}
3abd27
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
3abd27
%else
3abd27
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
3abd27
%endif
3abd27
%endif
3abd27
%if 0%{?rhel} && 0%{?rhel} < 9
3abd27
%if 0%{?commit:1}
3abd27
%setup -n ovs-%{commit} -q -D -T -a 103
3abd27
%else
3abd27
%setup -n ovs-%{version} -q -D -T -a 103
3abd27
%endif
3abd27
%endif
3abd27
3abd27
mv dpdk-*/ %{dpdkdir}/
3abd27
3abd27
%patch0 -p1
3abd27
3abd27
%build
3abd27
%if 0%{?rhel} && 0%{?rhel} < 9
3abd27
export PYTHONPATH="${PWD}/pyelftools-%{pyelftoolsver}"
3abd27
%endif
3abd27
# Build Sphinx on RHEL
3abd27
%if ! %{external_sphinx}
3abd27
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
3abd27
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
3abd27
    pushd "$x"
3abd27
    python2 setup.py install --home %{_builddir}/pytmp
3abd27
    popd
3abd27
done
3abd27
3abd27
export PATH="$PATH:%{_builddir}/pytmp/bin"
3abd27
%endif
3abd27
3abd27
./boot.sh
3abd27
3abd27
%ifarch %{dpdkarches}    # build dpdk
3abd27
# Lets build DPDK first
3abd27
cd %{dpdkdir}
3abd27
3abd27
ENABLED_DRIVERS=(
3abd27
    bus/pci
3abd27
    bus/vdev
3abd27
    mempool/ring
3abd27
    net/failsafe
3abd27
    net/i40e
3abd27
    net/ring
3abd27
    net/vhost
3abd27
    net/virtio
3abd27
    net/tap
3abd27
)
3abd27
3abd27
%ifarch x86_64
3abd27
ENABLED_DRIVERS+=(
3abd27
    bus/auxiliary
3abd27
    bus/vmbus
3abd27
    common/iavf
3abd27
    common/mlx5
3abd27
    net/bnxt
3abd27
    net/enic
3abd27
    net/iavf
3abd27
    net/ice
3abd27
    net/mlx5
3abd27
    net/netvsc
3abd27
    net/nfp
3abd27
    net/qede
3abd27
    net/vdev_netvsc
3abd27
)
3abd27
%endif
3abd27
3abd27
%ifarch aarch64 x86_64
3abd27
ENABLED_DRIVERS+=(
3abd27
    net/e1000
3abd27
    net/ixgbe
3abd27
)
3abd27
%endif
3abd27
3abd27
for driver in "${ENABLED_DRIVERS[@]}"; do
3abd27
    enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
3abd27
done
3abd27
3abd27
# As of 21.11-rc3, following libraries can be disabled:
3abd27
# optional_libs = [
3abd27
#         'bitratestats',
3abd27
#         'gpudev',
3abd27
#         'gro',
3abd27
#         'gso',
3abd27
#         'kni',
3abd27
#         'jobstats',
3abd27
#         'latencystats',
3abd27
#         'metrics',
3abd27
#         'pdump',
3abd27
#         'power',
3abd27
#         'vhost',
3abd27
# ]
3abd27
# If doing any updates, this must be aligned with:
3abd27
# https://access.redhat.com/articles/3538141
3abd27
DISABLED_LIBS=(
3abd27
    gpudev
3abd27
    kni
3abd27
    jobstats
3abd27
    power
3abd27
)
3abd27
3abd27
for lib in "${DISABLED_LIBS[@]}"; do
3abd27
    disable_libs="${disable_libs:+$disable_libs,}"$lib
3abd27
done
3abd27
3abd27
%set_build_flags
3abd27
%__meson --prefix=%{_builddir}/dpdk-build \
3abd27
         --buildtype=plain \
3abd27
         -Ddisable_libs="$disable_libs" \
3abd27
         -Ddisable_apps="*" \
3abd27
         -Denable_drivers="$enable_drivers" \
3abd27
         -Dplatform=generic \
3abd27
         -Dmax_ethports=1024 \
3abd27
         -Dmax_numa_nodes=8 \
3abd27
         -Dtests=false \
3abd27
         %{_vpath_builddir}
3abd27
%meson_build
3abd27
%__meson install -C %{_vpath_builddir} --no-rebuild
3abd27
3abd27
# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
3abd27
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*
3abd27
3abd27
# Generate a list of supported drivers, its hard to tell otherwise.
3abd27
cat << EOF > README.DPDK-PMDS
3abd27
DPDK drivers included in this package:
3abd27
3abd27
EOF
3abd27
3abd27
for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
3abd27
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
3abd27
done >> README.DPDK-PMDS
3abd27
3abd27
cat << EOF >> README.DPDK-PMDS
3abd27
3abd27
For further information about the drivers, see
3abd27
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
3abd27
EOF
3abd27
3abd27
cd -
3abd27
%endif    # build dpdk
3abd27
3abd27
# And now for OVS...
3abd27
mkdir build-shared build-static
3abd27
pushd build-shared
3abd27
ln -s ../configure
3abd27
%configure \
3abd27
%if %{with libcapng}
3abd27
        --enable-libcapng \
3abd27
%else
3abd27
        --disable-libcapng \
3abd27
%endif
3abd27
        --disable-static \
3abd27
        --enable-shared \
3abd27
        --enable-ssl \
3abd27
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
3abd27
        --enable-usdt-probes \
3abd27
        --disable-afxdp
3abd27
make %{?_smp_mflags}
3abd27
popd
3abd27
pushd build-static
3abd27
ln -s ../configure
3abd27
%ifarch %{dpdkarches}
3abd27
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
3abd27
%endif
3abd27
%configure \
3abd27
%if %{with libcapng}
3abd27
        --enable-libcapng \
3abd27
%else
3abd27
        --disable-libcapng \
3abd27
%endif
3abd27
        --enable-ssl \
3abd27
%ifarch %{dpdkarches}
3abd27
        --with-dpdk=static \
3abd27
%endif
3abd27
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
3abd27
        --enable-usdt-probes \
3abd27
        --disable-afxdp
3abd27
make %{?_smp_mflags}
3abd27
popd
3abd27
3abd27
/usr/bin/python3 build-aux/dpdkstrip.py \
3abd27
        --dpdk \
3abd27
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
3abd27
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
3abd27
3abd27
%install
3abd27
rm -rf $RPM_BUILD_ROOT
3abd27
make -C build-shared install sbin_PROGRAMS=ovsdb/ovsdb-server DESTDIR=$RPM_BUILD_ROOT
3abd27
make -C build-static install bin_PROGRAMS= sbin_PROGRAMS=vswitchd/ovs-vswitchd DESTDIR=$RPM_BUILD_ROOT
3abd27
3abd27
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
3abd27
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
3abd27
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
3abd27
3abd27
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
3abd27
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
3abd27
3abd27
install -p -D -m 0644 \
3abd27
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
3abd27
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
3abd27
3abd27
for service in openvswitch ovsdb-server ovs-vswitchd \
3abd27
               ovs-delete-transient-ports; do
3abd27
        install -p -D -m 0644 \
3abd27
                        rhel/usr_lib_systemd_system_${service}.service \
3abd27
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
3abd27
done
3abd27
3abd27
%if %{with ipsec}
3abd27
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
3abd27
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
3abd27
%endif
3abd27
3abd27
install -m 0755 rhel/etc_init.d_openvswitch \
3abd27
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
3abd27
3abd27
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
3abd27
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
3abd27
3abd27
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
3abd27
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
3abd27
3abd27
install -m 0644 vswitchd/vswitch.ovsschema \
3abd27
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
3abd27
3abd27
%if 0%{?rhel} < 9
3abd27
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
3abd27
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
3abd27
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
3abd27
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
3abd27
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
3abd27
%endif
3abd27
3abd27
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
3abd27
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
3abd27
        $RPM_BUILD_ROOT%{python3_sitelib}
3abd27
3abd27
# Build the JSON C extension for the Python lib (#1417738)
3abd27
pushd python
3abd27
(
3abd27
export CPPFLAGS="-I ../include -I ../build-shared/include"
3abd27
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
3abd27
%py3_build
3abd27
%py3_install
3abd27
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
3abd27
)
3abd27
popd
3abd27
3abd27
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
3abd27
3abd27
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
3abd27
3abd27
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
3abd27
3abd27
install -p -D -m 0755 \
3abd27
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
3abd27
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
3abd27
3abd27
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
3abd27
# The db needs special permission as IPsec Pre-shared keys are stored in it.
3abd27
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
3abd27
3abd27
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
3abd27
3abd27
# remove unpackaged files
3abd27
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
3abd27
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
3abd27
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
3abd27
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
3abd27
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
3abd27
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
3abd27
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
3abd27
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
3abd27
3abd27
%if ! %{with ipsec}
3abd27
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
3abd27
%endif
3abd27
3abd27
# remove ovn unpackages files
3abd27
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
3abd27
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
3abd27
3abd27
%check
3abd27
%if %{with check}
3abd27
    pushd build-static
3abd27
    touch resolv.conf
3abd27
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
3abd27
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
3abd27
       make check TESTSUITEFLAGS='--recheck'; then :;
3abd27
    else
3abd27
        cat tests/testsuite.log
3abd27
        exit 1
3abd27
    fi
3abd27
    popd
3abd27
%endif
3abd27
%if %{with check_datapath_kernel}
3abd27
    pushd build-static
3abd27
    if make check-kernel RECHECK=yes; then :;
3abd27
    else
3abd27
        cat tests/system-kmod-testsuite.log
3abd27
        exit 1
3abd27
    fi
3abd27
    popd
3abd27
%endif
3abd27
3abd27
%clean
3abd27
rm -rf $RPM_BUILD_ROOT
3abd27
3abd27
%preun
3abd27
%if 0%{?systemd_preun:1}
3abd27
    %systemd_preun openvswitch.service
3abd27
%else
3abd27
    if [ $1 -eq 0 ] ; then
3abd27
    # Package removal, not upgrade
3abd27
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
3abd27
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
3abd27
    fi
3abd27
%endif
3abd27
3abd27
%pre
3abd27
getent group openvswitch >/dev/null || groupadd -r openvswitch
3abd27
getent passwd openvswitch >/dev/null || \
3abd27
    useradd -r -g openvswitch -d / -s /sbin/nologin \
3abd27
    -c "Open vSwitch Daemons" openvswitch
3abd27
3abd27
%ifarch %{dpdkarches}
3abd27
    getent group hugetlbfs >/dev/null || groupadd hugetlbfs
3abd27
    usermod -a -G hugetlbfs openvswitch
3abd27
%endif
3abd27
exit 0
3abd27
3abd27
%post
3abd27
if [ $1 -eq 1 ]; then
3abd27
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
3abd27
3abd27
%ifarch %{dpdkarches}
3abd27
    sed -i \
3abd27
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
3abd27
        /etc/sysconfig/openvswitch
3abd27
%endif
3abd27
fi
3abd27
chown -R openvswitch:openvswitch /etc/openvswitch
3abd27
3abd27
%if 0%{?systemd_post:1}
3abd27
    %systemd_post openvswitch.service
3abd27
%else
3abd27
    # Package install, not upgrade
3abd27
    if [ $1 -eq 1 ]; then
3abd27
        /bin/systemctl daemon-reload >dev/null || :
3abd27
    fi
3abd27
%endif
3abd27
3abd27
%postun
3abd27
%if 0%{?systemd_postun:1}
3abd27
    %systemd_postun openvswitch.service
3abd27
%else
3abd27
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
3abd27
%endif
3abd27
3abd27
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
3abd27
# old rpm versions restart the service in postun, but
3abd27
# due to systemd some preparation is needed.
3abd27
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
3abd27
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
3abd27
    systemctl daemon-reload >/dev/null 2>&1 || :
3abd27
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
3abd27
    systemctl start openvswitch >/dev/null 2>&1 || :
3abd27
fi
3abd27
exit 0
3abd27
3abd27
%files -n python3-%{pkgname}
3abd27
%{python3_sitearch}/ovs
3abd27
%{python3_sitearch}/ovs-*.egg-info
3abd27
%doc LICENSE
3abd27
3abd27
%files test
3abd27
%{_bindir}/ovs-pcap
3abd27
%{_bindir}/ovs-tcpdump
3abd27
%{_bindir}/ovs-tcpundump
3abd27
%{_datadir}/openvswitch/scripts/usdt/*
3abd27
%{_mandir}/man1/ovs-pcap.1*
3abd27
%{_mandir}/man8/ovs-tcpdump.8*
3abd27
%{_mandir}/man1/ovs-tcpundump.1*
3abd27
%{_bindir}/ovs-test
3abd27
%{_bindir}/ovs-vlan-test
3abd27
%{_bindir}/ovs-l3ping
3abd27
%{_mandir}/man8/ovs-test.8*
3abd27
%{_mandir}/man8/ovs-vlan-test.8*
3abd27
%{_mandir}/man8/ovs-l3ping.8*
3abd27
%{python3_sitelib}/ovstest
3abd27
3abd27
%files devel
3abd27
%{_libdir}/*.so
3abd27
%{_libdir}/pkgconfig/*.pc
3abd27
%{_includedir}/openvswitch/*
3abd27
%{_includedir}/openflow/*
3abd27
%exclude %{_libdir}/*.a
3abd27
%exclude %{_libdir}/*.la
3abd27
3abd27
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
3abd27
%files -n network-scripts-%{name}
3abd27
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
3abd27
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
3abd27
%endif
3abd27
3abd27
%files
3abd27
%defattr(-,openvswitch,openvswitch)
3abd27
%dir %{_sysconfdir}/openvswitch
3abd27
%{_sysconfdir}/openvswitch/default.conf
3abd27
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
3abd27
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
3abd27
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
3abd27
%defattr(-,root,root)
3abd27
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
3abd27
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
3abd27
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
3abd27
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
3abd27
%{_unitdir}/openvswitch.service
3abd27
%{_unitdir}/ovsdb-server.service
3abd27
%{_unitdir}/ovs-vswitchd.service
3abd27
%{_unitdir}/ovs-delete-transient-ports.service
3abd27
%{_datadir}/openvswitch/scripts/openvswitch.init
3abd27
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
3abd27
%{_datadir}/openvswitch/scripts/ovs-lib
3abd27
%{_datadir}/openvswitch/scripts/ovs-save
3abd27
%{_datadir}/openvswitch/scripts/ovs-vtep
3abd27
%{_datadir}/openvswitch/scripts/ovs-ctl
3abd27
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
3abd27
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
3abd27
%config %{_datadir}/openvswitch/local-config.ovsschema
3abd27
%config %{_datadir}/openvswitch/vswitch.ovsschema
3abd27
%config %{_datadir}/openvswitch/vtep.ovsschema
3abd27
%{_bindir}/ovs-appctl
3abd27
%{_bindir}/ovs-dpctl
3abd27
%{_bindir}/ovs-ofctl
3abd27
%{_bindir}/ovs-vsctl
3abd27
%{_bindir}/ovsdb-client
3abd27
%{_bindir}/ovsdb-tool
3abd27
%{_bindir}/ovs-pki
3abd27
%{_bindir}/vtep-ctl
3abd27
%{_libdir}/*.so.*
3abd27
%{_sbindir}/ovs-vswitchd
3abd27
%{_sbindir}/ovsdb-server
3abd27
%{_mandir}/man1/ovsdb-client.1*
3abd27
%{_mandir}/man1/ovsdb-server.1*
3abd27
%{_mandir}/man1/ovsdb-tool.1*
3abd27
%{_mandir}/man5/ovsdb.5*
3abd27
%{_mandir}/man5/ovsdb.local-config.5*
3abd27
%{_mandir}/man5/ovsdb-server.5.*
3abd27
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
3abd27
%{_mandir}/man5/vtep.5*
3abd27
%{_mandir}/man7/ovsdb-server.7*
3abd27
%{_mandir}/man7/ovsdb.7*
3abd27
%{_mandir}/man7/ovs-actions.7*
3abd27
%{_mandir}/man7/ovs-fields.7*
3abd27
%{_mandir}/man8/vtep-ctl.8*
3abd27
%{_mandir}/man8/ovs-appctl.8*
3abd27
%{_mandir}/man8/ovs-ctl.8*
3abd27
%{_mandir}/man8/ovs-dpctl.8*
3abd27
%{_mandir}/man8/ovs-kmod-ctl.8.*
3abd27
%{_mandir}/man8/ovs-ofctl.8*
3abd27
%{_mandir}/man8/ovs-pki.8*
3abd27
%{_mandir}/man8/ovs-vsctl.8*
3abd27
%{_mandir}/man8/ovs-vswitchd.8*
3abd27
%{_mandir}/man8/ovs-parse-backtrace.8*
3abd27
%{_udevrulesdir}/91-vfio.rules
3abd27
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
3abd27
%ifarch %{dpdkarches}
3abd27
%doc %{dpdkdir}/README.DPDK-PMDS
3abd27
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
3abd27
%else
3abd27
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
3abd27
%endif
3abd27
/var/lib/openvswitch
3abd27
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
3abd27
%{_datadir}/openvswitch/bugtool-plugins/
3abd27
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
3abd27
%{_bindir}/ovs-dpctl-top
3abd27
%{_sbindir}/ovs-bugtool
3abd27
%{_mandir}/man8/ovs-dpctl-top.8*
3abd27
%{_mandir}/man8/ovs-bugtool.8*
3abd27
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
3abd27
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
3abd27
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
3abd27
%endif
3abd27
3abd27
%if %{with ipsec}
3abd27
%files ipsec
3abd27
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
3abd27
%{_unitdir}/openvswitch-ipsec.service
3abd27
%endif
3abd27
3abd27
%changelog
Open vSwitch CI 955b61
* Fri Aug 04 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-47
Open vSwitch CI 955b61
- Merging upstream branch-3.1 [RH git: 06de042cba]
Open vSwitch CI 955b61
    Commit list:
Open vSwitch CI 955b61
    27296cf482 ci: Fix OPTS not being passed to OSX builds.
Open vSwitch CI 955b61
Open vSwitch CI 955b61
Open vSwitch CI 0190f2
* Thu Aug 03 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-46
Open vSwitch CI 0190f2
- Merging upstream branch-3.1 [RH git: ab94f613c7]
Open vSwitch CI 0190f2
    Commit list:
Open vSwitch CI 0190f2
    8b1795c69f ovsdb-tool: Fix json leak while showing clustered log.
Open vSwitch CI 0190f2
    d4d068fef6 ovsdb-server: Fix excessive memory usage on DB open. (#2228464)
Open vSwitch CI 0190f2
    369daff0d4 tests: Add ovsdb execution cases for set size constraints.
Open vSwitch CI 0190f2
    eb33626b59 ovsdb: relay: Fix handling of XOR updates with size constraints.
Open vSwitch CI 0190f2
    8d2c8c33e7 ovsdb: file: Fix diff application to a default column value.
Open vSwitch CI 0190f2
    3797558158 ovsdb: file: Fix inability to read diffs that violate type size.
Open vSwitch CI 0190f2
    96d02ee7a8 ovs-tcpdump: Clear auto-assigned ipv6 address of mirror port.
Open vSwitch CI 0190f2
Open vSwitch CI 0190f2
Open vSwitch CI 5feebd
* Tue Aug 01 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-45
Open vSwitch CI 5feebd
- Merging upstream branch-3.1 [RH git: 4224df5b41]
Open vSwitch CI 5feebd
    Commit list:
Open vSwitch CI 5feebd
    618d3bdbb5 ofproto-dpif: Fix removal of renamed datapath ports.
Open vSwitch CI 5feebd
Open vSwitch CI 5feebd
Open vSwitch CI 428fff
* Tue Jul 25 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-44
Open vSwitch CI 428fff
- Merging upstream branch-3.1 [RH git: 31fab0fb20]
Open vSwitch CI 428fff
    Commit list:
Open vSwitch CI 428fff
    11c542104e netdev-dpdk: Negotiate delivery of per-packet Rx metadata.
Open vSwitch CI 428fff
Open vSwitch CI 428fff
Open vSwitch CI ae69f4
* Fri Jul 21 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-43
Open vSwitch CI ae69f4
- Merging upstream branch-3.1 [RH git: da1afee4f8]
Open vSwitch CI ae69f4
    Commit list:
Open vSwitch CI ae69f4
    cad4759fa1 ofproto-dpif-upcall: Mirror packets that are modified. (#2155579)
Open vSwitch CI ae69f4
Open vSwitch CI ae69f4
Open vSwitch CI 621a80
* Wed Jul 19 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-42
Open vSwitch CI 621a80
- Merging upstream branch-3.1 [RH git: b1a11e2717]
Open vSwitch CI 621a80
    Commit list:
Open vSwitch CI 621a80
    17022ea063 vswitchd: Wait for a bridge exit before replying to exit unixctl.
Open vSwitch CI 621a80
Open vSwitch CI 621a80
Open vSwitch CI 344b99
* Tue Jun 27 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-41
Open vSwitch CI 344b99
- Merging upstream branch-3.1 [RH git: 66f8de8365]
Open vSwitch CI 344b99
    Commit list:
Open vSwitch CI 344b99
    4aba34b82b Prepare for 3.1.3.
Open vSwitch CI 344b99
    9167774475 Set release date for 3.1.2.
Open vSwitch CI 344b99
Open vSwitch CI 344b99
Open vSwitch CI 3a2968
* Fri Jun 23 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-40
Open vSwitch CI 3a2968
- Merging upstream branch-3.1 [RH git: 4ccf29c3a3]
Open vSwitch CI 3a2968
    Commit list:
Open vSwitch CI 3a2968
    aba1862d8b ofproto-dpif-upcall: Don't set statistics to 0 when they jump back.
Open vSwitch CI 3a2968
Open vSwitch CI 3a2968
Open vSwitch CI 8fe023
* Mon Jun 12 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-39
Open vSwitch CI 8fe023
- Merging upstream branch-3.1 [RH git: a8358be74b]
Open vSwitch CI 8fe023
    Commit list:
Open vSwitch CI 8fe023
    859071224c ovsdb: monitor: Destroy initial change set when new columns added.
Open vSwitch CI 8fe023
    54e45e3fee ovsdb: Monitor: Keep and maintain the initial change set.
Open vSwitch CI 8fe023
Open vSwitch CI 8fe023
Open vSwitch CI 2bd7f9
* Fri Jun 09 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-38
Open vSwitch CI 2bd7f9
- Merging upstream branch-3.1 [RH git: 1b7d3d3a1f]
Open vSwitch CI 2bd7f9
    Commit list:
Open vSwitch CI 2bd7f9
    5fe322e169 fatal-signal: Don't share signal fds/handles with forked process.
Open vSwitch CI 2bd7f9
Open vSwitch CI 2bd7f9
Open vSwitch CI fc0835
* Wed Jun 07 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-37
Open vSwitch CI fc0835
- Merging upstream branch-3.1 [RH git: 31e7facba9]
Open vSwitch CI fc0835
    Commit list:
Open vSwitch CI fc0835
    3fcb817840 cpu: Fix cpuid check for some AMD processors. (#2211747)
Open vSwitch CI fc0835
    01f0668fdf tc: Fix crash on malformed reply from kernel.
Open vSwitch CI fc0835
Open vSwitch CI fc0835
Open vSwitch CI 42cea9
* Wed Jun 07 2023 Timothy Redaelli <tredaelli@redhat.com> - 3.1.0-36
Open vSwitch CI 42cea9
- redhat: Fix an unwanted change that prevent rh-fail-if-dirty to work [RH git: 1aa56d4216]
Open vSwitch CI 42cea9
Open vSwitch CI 42cea9
Open vSwitch CI fbb504
* Fri Jun 02 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-35
Open vSwitch CI fbb504
- Merging upstream branch-3.1 [RH git: 2eaadb8281]
Open vSwitch CI fbb504
    Commit list:
Open vSwitch CI fbb504
    45dba48f37 netdev-dpdk: Fix warning with gcc 13.
Open vSwitch CI fbb504
Open vSwitch CI fbb504
Open vSwitch CI 35cb1a
* Mon May 29 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-34
Open vSwitch CI 35cb1a
- Merging upstream branch-3.1 [RH git: c5a742a597]
Open vSwitch CI 35cb1a
    Commit list:
Open vSwitch CI 35cb1a
    faddfa21df utilities/bashcomp: Fix PS1 generation on new bash. (#2170344)
Open vSwitch CI 35cb1a
    33db42a34b netdev-offload-dpdk: Fix crash in debug log.
Open vSwitch CI 35cb1a
Open vSwitch CI 35cb1a
Open vSwitch CI f1e0b8
* Fri May 26 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-33
Open vSwitch CI f1e0b8
- Merging upstream branch-3.1 [RH git: ea7b9de7d1]
Open vSwitch CI f1e0b8
    Commit list:
Open vSwitch CI f1e0b8
    55535451bb stream-ssl: Disable alerts on unexpected EOF.
Open vSwitch CI f1e0b8
Open vSwitch CI f1e0b8
Open vSwitch CI 02dcc0
* Thu May 25 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-32
Open vSwitch CI 02dcc0
- Merging upstream branch-3.1 [RH git: 5cf043293a]
Open vSwitch CI 02dcc0
    Commit list:
Open vSwitch CI 02dcc0
    e3b84fd4ab tests: layer3-tunnels: Skip bareudp tests if not supported by kernel.
Open vSwitch CI 02dcc0
    e913394054 ovs-fields: Modify the width of tpa and spa.
Open vSwitch CI 02dcc0
Open vSwitch CI 02dcc0
Open vSwitch CI b36a25
* Thu May 25 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-31
Open vSwitch CI b36a25
- Merging upstream branch-3.1 [RH git: 03d17c9746]
Open vSwitch CI b36a25
    Commit list:
Open vSwitch CI b36a25
    23d77ba105 netdev-vport: RCU-fy tunnel config.
Open vSwitch CI b36a25
    0f303e4a7f smap: Make argument of smap_add_ipv6 constant.
Open vSwitch CI b36a25
    467b891f73 netdev-vport: Fix unsafe handling of GRE sequence number.
Open vSwitch CI b36a25
Open vSwitch CI b36a25
Open vSwitch CI e71f4b
* Fri May 19 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-30
Open vSwitch CI e71f4b
- Merging upstream branch-3.1 [RH git: 5999e438cc]
Open vSwitch CI e71f4b
    Commit list:
Open vSwitch CI e71f4b
    ea20146882 tests: dpdk: Pass `--no-pci` to tests that do not use physical ports.
Open vSwitch CI e71f4b
Open vSwitch CI e71f4b
Open vSwitch CI 70d354
* Thu May 11 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-29
Open vSwitch CI 70d354
- Merging upstream branch-3.1 [RH git: 21d461f54c]
Open vSwitch CI 70d354
    Commit list:
Open vSwitch CI 70d354
    f4cc9ca824 dpctl: Fix dereferencing null pointer in parse_ct_limit_zones().
Open vSwitch CI 70d354
Open vSwitch CI 70d354
Open vSwitch CI 58f4f5
* Wed May 10 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-28
Open vSwitch CI 58f4f5
- Merging upstream branch-3.1 [RH git: d7b0d724f2]
Open vSwitch CI 58f4f5
    Commit list:
Open vSwitch CI 58f4f5
    9e27e8fe81 netdev-offload: Fix deadlock/recursive use of the netdev_hmap_rwlock rwlock. (#2182541)
Open vSwitch CI 58f4f5
    087439e416 ofproto-dpif-xlate: Fix use-after-free when xlate_actions().
Open vSwitch CI 58f4f5
Open vSwitch CI 58f4f5
Open vSwitch CI 3535e5
* Fri May 05 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-27
Open vSwitch CI 3535e5
- Merging upstream branch-3.1 [RH git: a0b74d148b]
Open vSwitch CI 3535e5
    Commit list:
Open vSwitch CI 3535e5
    bf9c834e64 ci: Separate DPDK from OVS build.
Open vSwitch CI 3535e5
Open vSwitch CI 3535e5
Open vSwitch CI bbe91f
* Thu May 04 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-26
Open vSwitch CI bbe91f
- Merging upstream branch-3.1 [RH git: c0cd6bd2a3]
Open vSwitch CI bbe91f
    Commit list:
Open vSwitch CI bbe91f
    bf1b32e20e ovsdb-idl.at: Fix write-changed-only tests without change tracking.
Open vSwitch CI bbe91f
Open vSwitch CI bbe91f
Open vSwitch CI 16a7da
* Fri Apr 28 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-25
Open vSwitch CI 16a7da
- Merging upstream branch-3.1 [RH git: dd97c178a8]
Open vSwitch CI 16a7da
    Commit list:
Open vSwitch CI 16a7da
    c6cb828870 tc: Fix cleaning chains.
Open vSwitch CI 16a7da
Open vSwitch CI 16a7da
Open vSwitch CI e611a5
* Thu Apr 27 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-24
Open vSwitch CI e611a5
- Merging upstream branch-3.1 [RH git: a9adae047c]
Open vSwitch CI e611a5
    Commit list:
Open vSwitch CI e611a5
    29c61a4024 python-stream: Handle SSL error in do_handshake.
Open vSwitch CI e611a5
Open vSwitch CI e611a5
Open vSwitch CI e611a5
* Tue Apr 25 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-23
Open vSwitch CI e611a5
- Merging upstream branch-3.1 [RH git: 9f3dc364af]
Open vSwitch CI e611a5
    Commit list:
Open vSwitch CI e611a5
    615548e532 dpif-netlink: Fix memory leak dpif_netlink_open().
Open vSwitch CI e611a5
    42edc9a1d5 ofp-parse: Check ranges on string to uint32_t conversion.
Open vSwitch CI e611a5
    d3a479c4b4 learning-switch: Fix coredump of OpenFlow15 learning-switch.
Open vSwitch CI e611a5
Open vSwitch CI e611a5
Open vSwitch CI 38c5a5
* Mon Apr 24 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-22
Open vSwitch CI 38c5a5
- Merging upstream branch-3.1 [RH git: 7629025902]
Open vSwitch CI 38c5a5
    Commit list:
Open vSwitch CI 38c5a5
    9529e9aa96 ovsdb: Allow conversion records with no data in a clustered storage.
Open vSwitch CI 38c5a5
    7006bb112b ovsdb: Check for ephemeral columns before writing a new schema.
Open vSwitch CI 38c5a5
    27678b3a19 ovsdb-tool: Fix cluster-to-standalone for DB conversion records.
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
* Fri Apr 07 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-21
Open vSwitch CI 38c5a5
- Merging upstream branch-3.1 [RH git: 4890f6931a]
Open vSwitch CI 38c5a5
    Commit list:
Open vSwitch CI 38c5a5
    771c989a9a ovs-tcpdump: Stdout is shutdown before ovs-tcpdump exit.
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
* Thu Apr 06 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-20
Open vSwitch CI 38c5a5
- Merging upstream branch-3.1 [RH git: 56a5f0d564]
Open vSwitch CI 38c5a5
    Commit list:
Open vSwitch CI 38c5a5
    8ac6375cac Prepare for 3.1.2.
Open vSwitch CI 38c5a5
    0187eadfce Set release date for 3.1.1.
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
* Thu Apr 06 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-19
Open vSwitch CI 38c5a5
- Merging upstream branch-3.1 [RH git: 3069c68dd9]
Open vSwitch CI 38c5a5
    Commit list:
Open vSwitch CI 38c5a5
    61b39d8c47 ofproto-dpif-xlate: Always mask ip proto field. (#2134873)
Open vSwitch CI 38c5a5
Open vSwitch CI 38c5a5
Open vSwitch CI 5acaff
* Wed Apr 05 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-18
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 3607c5dbe6]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    8019b5896e conntrack-tp: Fix clang warning.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Apr 04 2023 Timothy Redaelli <tredaelli@redhat.com> - 3.1.0-17
Open vSwitch CI 5acaff
- ofproto-dpif-xlate: Always mask ip proto field. [RH git: 4868ac0e85] (#2134873)
Open vSwitch CI 5acaff
    The ofproto layer currently treats nw_proto field as overloaded to mean
Open vSwitch CI 5acaff
    both that a proper nw layer exists, as well as the value contained in
Open vSwitch CI 5acaff
    the header for the nw proto.  However, this is incorrect behavior as
Open vSwitch CI 5acaff
    relevant standards permit that any value, including '0' should be treated
Open vSwitch CI 5acaff
    as a valid value.
Open vSwitch CI 5acaff
    
Open vSwitch CI 5acaff
    Because of this overload, when the ofproto layer builds action list for
Open vSwitch CI 5acaff
    a packet with nw_proto of 0, it won't build the complete action list that
Open vSwitch CI 5acaff
    we expect to be built for the packet.  That will cause a bad behavior
Open vSwitch CI 5acaff
    where all packets passing the datapath will fall into an incomplete
Open vSwitch CI 5acaff
    action set.
Open vSwitch CI 5acaff
    
Open vSwitch CI 5acaff
    The fix here is to unwildcard nw_proto, allowing us to preserve setting
Open vSwitch CI 5acaff
    actions for protocols which we know have support for the actions we
Open vSwitch CI 5acaff
    program.  This means that a traffic which contains nw_proto == 0 cannot
Open vSwitch CI 5acaff
    cause connectivity breakage with other traffic on the link.
Open vSwitch CI 5acaff
    
Open vSwitch CI 5acaff
    Reported-by: David Marchand <dmarchand@redhat.com>
Open vSwitch CI 5acaff
    Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2134873
Open vSwitch CI 5acaff
    Acked-by: Ilya Maximets <i.maximets@ovn.org>
Open vSwitch CI 5acaff
    Signed-off-by: Aaron Conole <aconole@redhat.com>
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Mon Apr 03 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-16
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: a911cf94ce]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    b184a68a20 netdev-offload-tc: Del ufid mapping if device not exist.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Thu Mar 30 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-15
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: e6b73e0565]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    037e2d916 db-ctl-base: Partially revert b8bf410a5.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Wed Mar 29 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-14
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 407a020d7a]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    fee5ea720 netdev-tc-offloads: Fix misaligned 8 byte read.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Wed Mar 29 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-13
Open vSwitch CI 5acaff
- Merging dpdk submodule [RH git: 541c8eefbd]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    3812e23f6b net/i40e: revert link status check on device start (#2173794)
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Mon Mar 27 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-12
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: fbc56ee622]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    fff04b838 ovs-thread: Fix cpus not read for the first 10s.
Open vSwitch CI 5acaff
    b2b467b3a dpif-netlink: Always create at least 1 handler.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Wed Mar 22 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-11
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 28d55c3fb3]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    0f30961e0 netdev-offload-tc: Fix parse_tc_flower_to_actions() reporting errors.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Wed Mar 15 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-10
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: a9561af3dc]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    3f50354a9 vswitch: Add missing documentation for "ct_flush" capability.
Open vSwitch CI 5acaff
    504f8c859 dpctl: Fix flush-conntrack with datapath as argument.
Open vSwitch CI 5acaff
    24b47072f ofproto-dpif-upcall: Wait for valid hw flow stats before applying min-revalidate-pps.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Mar 14 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-9
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 398009fd5f]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    9f9b4de38 system-traffic: Fix conntrack test cases which are failing with af_xdp.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Mar 07 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-8
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: d17880bde7]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    dcdff1f42 netdev-windows: Add checking when creating netdev with system type on Windows
Open vSwitch CI 5acaff
    39a7a18c3 ofproto-dpif-upcall: Include hardware offloaded flows in total flows.
Open vSwitch CI 5acaff
    f7378bc7f ofproto-dpif-upcall: Reset ukey's last stats value if the datapath changed.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Feb 28 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-7
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 54a2eb1fda]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    694c7b4e0 classifier: Fix missing masks on a final stage with ports trie.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Mon Feb 27 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-6
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 29cb42e1cd]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    87249e136 ofproto: Fix re-creation of tunnel backing interfaces on restart.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Thu Feb 23 2023 Timothy Redaelli <tredaelli@redhat.com> - 3.1.0-5
Open vSwitch CI 5acaff
- redhat: use git rev-parse instead of git name-rev [RH git: 1b47f9b3ae]
Open vSwitch CI 5acaff
    Currenty, git name-rev --name-only HEAD is used in order to get the
Open vSwitch CI 5acaff
    current branch, but it doesn't work correctly if a tag is created so use
Open vSwitch CI 5acaff
    git rev-parse --symbolic-full-name --abbrev-ref instead.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Feb 21 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-4
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 7992626cb1]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    cb4eecd01 conntrack: Fix conntrack_clean may access the same exp_list each time.
Open vSwitch CI 5acaff
    372e1a835 ovs-actions: Correct typo in ovs-actions man page.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
* Tue Feb 21 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-3
Open vSwitch CI 5acaff
- Merging upstream branch-3.1 [RH git: 1cdfcbc3be]
Open vSwitch CI 5acaff
    Commit list:
Open vSwitch CI 5acaff
    9c34fc2f6 ofproto-ipfix: Use per-domain template timeouts.
Open vSwitch CI 5acaff
    b72a7f925 Prepare for 3.1.1.
Open vSwitch CI 5acaff
Open vSwitch CI 5acaff
3abd27
* Mon Feb 20 2023 Timothy Redaelli <tredaelli@redhat.com> - 3.1.0-2
3abd27
- redhat: add a workaround for meson [RH git: 4b77c5096a]
3abd27
    Currently, fast-datapath-rhel-8 is aligned to RHEL 8.0, with an
3abd27
    exception to use a newer meson version.
3abd27
    
3abd27
    The problem is that, in the meanwhile, _smp_build_ncpus macros was added
3abd27
    (and meson macros uses it).
3abd27
    
3abd27
    This commit just define, if needed, _smp_build_ncpus by stripping the first 2
3abd27
    characters (-j) from _smp_mflags that was present in RHEL 8.0.
3abd27
    
3abd27
    Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
3abd27
3abd27
3abd27
* Fri Feb 17 2023 Timothy Redaelli <tredaelli@redhat.com> - 3.1.0-1
3abd27
- redhat: Use official 3.1.0 tarball [RH git: 2cd8ef13fd]
3abd27
3abd27