896a7b
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
896a7b
#
896a7b
# Copying and distribution of this file, with or without modification,
896a7b
# are permitted in any medium without royalty provided the copyright
896a7b
# notice and this notice are preserved.  This file is offered as-is,
896a7b
# without warranty of any kind.
896a7b
#
896a7b
# If tests have to be skipped while building, specify the '--without check'
896a7b
# option. For example:
896a7b
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
896a7b
896a7b
# This defines the base package name's version.
896a7b
896a7b
%define pkgname openvswitch3.3
896a7b
896a7b
896a7b
%if 0%{?commit:1}
896a7b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
896a7b
%endif
896a7b
896a7b
# Enable PIE, bz#955181
896a7b
%global _hardened_build 1
896a7b
896a7b
# RHEL-7 doesn't define _rundir macro yet
896a7b
# Fedora 15 onwards uses /run as _rundir
896a7b
%if 0%{!?_rundir:1}
896a7b
%define _rundir /run
896a7b
%endif
896a7b
896a7b
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
896a7b
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
896a7b
%ifarch %{ix86} x86_64 aarch64
896a7b
%bcond_without check
896a7b
%else
896a7b
%bcond_with check
896a7b
%endif
896a7b
# option to run kernel datapath tests, requires building as root!
896a7b
%bcond_with check_datapath_kernel
896a7b
# option to build with libcap-ng, needed for running OVS as regular user
896a7b
%bcond_without libcapng
896a7b
# option to build with ipsec support
896a7b
%bcond_without ipsec
896a7b
896a7b
# Build python2 (that provides python) and python3 subpackages on Fedora
896a7b
# Build only python3 (that provides python) subpackage on RHEL8
896a7b
# Build only python subpackage on RHEL7
896a7b
%if 0%{?rhel} > 7 || 0%{?fedora}
896a7b
# On RHEL8 Sphinx is included in buildroot
896a7b
%global external_sphinx 1
896a7b
%else
896a7b
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
896a7b
%global external_sphinx 0
896a7b
%endif
896a7b
896a7b
Name: %{pkgname}
896a7b
Summary: Open vSwitch
896a7b
Group: System Environment/Daemons daemon/database/utilities
896a7b
URL: http://www.openvswitch.org/
896a7b
Version: 3.3.0
Open vSwitch CI 0953c9
Release: 21%{?dist}
896a7b
896a7b
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
896a7b
# lib/sflow*.[ch] files are SISSL
896a7b
# datapath/ is GPLv2 (although not built into any of the binary packages)
896a7b
License: ASL 2.0 and LGPLv2+ and SISSL
896a7b
896a7b
%define dpdkver 23.11
896a7b
%define dpdkdir dpdk
896a7b
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
896a7b
# NOTE: DPDK does not currently build for s390x
896a7b
# DPDK on aarch64 is not stable enough to be enabled in FDP
896a7b
%if 0%{?rhel} > 7 || 0%{?fedora}
896a7b
%define dpdkarches x86_64 ppc64le
896a7b
%else
896a7b
%define dpdkarches
896a7b
%endif
896a7b
896a7b
%if 0%{?commit:1}
896a7b
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
896a7b
%else
896a7b
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
896a7b
%endif
896a7b
Source2: openvswitch.sysusers
896a7b
Source3: openvswitch-hugetlbfs.sysusers
896a7b
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
896a7b
896a7b
%define docutilsver 0.12
896a7b
%define pygmentsver 1.4
896a7b
%define sphinxver   1.2.3
896a7b
%define pyelftoolsver 0.27
896a7b
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
896a7b
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
896a7b
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
896a7b
Source103: https://pypi.io/packages/source/p/pyelftools/pyelftools-%{pyelftoolsver}.tar.gz
896a7b
896a7b
%define apply_patch %(test -s %{_sourcedir}/openvswitch-%{version}.patch && echo 1 || echo 0)
896a7b
896a7b
%if %{apply_patch}
896a7b
Patch0:    openvswitch-%{version}.patch
896a7b
%endif
896a7b
896a7b
# The DPDK is designed to optimize througput of network traffic using, among
896a7b
# other techniques, carefully crafted assembly instructions.  As such it
896a7b
# needs extensive work to port it to other architectures.
896a7b
ExclusiveArch: x86_64 aarch64 ppc64le s390x
896a7b
896a7b
# Do not enable this otherwise YUM will break on any upgrade.
896a7b
# Provides: openvswitch
896a7b
Conflicts: openvswitch < 3.3
896a7b
Conflicts: openvswitch-dpdk < 3.3
896a7b
Conflicts: openvswitch2.10
896a7b
Conflicts: openvswitch2.11
896a7b
Conflicts: openvswitch2.12
896a7b
Conflicts: openvswitch2.13
896a7b
Conflicts: openvswitch2.14
896a7b
Conflicts: openvswitch2.15
896a7b
Conflicts: openvswitch2.16
896a7b
Conflicts: openvswitch2.17
896a7b
Conflicts: openvswitch3.0
896a7b
Conflicts: openvswitch3.1
896a7b
Conflicts: openvswitch3.2
896a7b
896a7b
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
896a7b
# in the -optional repository and so we can't require it directly since RHV
896a7b
# doesn't have the -optional repository enabled and so TPS fails
896a7b
%if %{external_sphinx}
896a7b
BuildRequires: python3-sphinx
896a7b
%else
896a7b
# Sphinx dependencies
896a7b
BuildRequires: python-devel
896a7b
BuildRequires: python-setuptools
896a7b
#BuildRequires: python2-docutils
896a7b
BuildRequires: python-jinja2
896a7b
BuildRequires: python-nose
896a7b
#BuildRequires: python2-pygments
896a7b
# docutils dependencies
896a7b
BuildRequires: python-imaging
896a7b
# pygments dependencies
896a7b
BuildRequires: python-nose
896a7b
%endif
896a7b
896a7b
BuildRequires: gcc gcc-c++ make
896a7b
BuildRequires: autoconf automake libtool
896a7b
BuildRequires: systemd-units systemd-rpm-macros openssl openssl-devel
896a7b
BuildRequires: python3-devel python3-setuptools
896a7b
BuildRequires: desktop-file-utils
896a7b
BuildRequires: groff-base graphviz
896a7b
BuildRequires: unbound-devel
896a7b
BuildRequires: systemtap-sdt-devel
896a7b
# make check dependencies
896a7b
BuildRequires: procps-ng
896a7b
%if %{with check_datapath_kernel}
896a7b
BuildRequires: nmap-ncat
896a7b
# would be useful but not available in RHEL or EPEL
896a7b
#BuildRequires: pyftpdlib
896a7b
%endif
896a7b
896a7b
%if %{with libcapng}
896a7b
BuildRequires: libcap-ng libcap-ng-devel
896a7b
%endif
896a7b
896a7b
%ifarch %{dpdkarches}
896a7b
BuildRequires: meson
896a7b
%if 0%{?rhel} > 8 || 0%{?fedora}
896a7b
BuildRequires: python3-pyelftools
896a7b
%endif
896a7b
# DPDK driver dependencies
896a7b
BuildRequires: zlib-devel numactl-devel libarchive-devel
896a7b
# libarchive static dependencies
896a7b
BuildRequires: bzip2-devel libacl-devel libxml2-devel libzstd-devel lz4-devel xz-devel
896a7b
%ifarch x86_64
896a7b
BuildRequires: rdma-core-devel >= 15 libmnl-devel
896a7b
%endif
896a7b
896a7b
# Required by packaging policy for the bundled DPDK
896a7b
Provides: bundled(dpdk) = %{dpdkver}
896a7b
%endif
896a7b
896a7b
Requires: openssl iproute module-init-tools
896a7b
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
896a7b
#Requires: kernel >= 3.15.0-0
896a7b
Requires: openvswitch-selinux-extra-policy
896a7b
896a7b
%{?sysusers_requires_compat}
896a7b
Requires(post): /bin/sed
896a7b
Requires(post): systemd-units
896a7b
Requires(preun): systemd-units
896a7b
Requires(postun): systemd-units
896a7b
Obsoletes: openvswitch-controller <= 0:2.1.0-1
896a7b
896a7b
%if 0%{?rhel}
896a7b
# sortedcontainers are not packaged on RHEL yet, but ovs includes it
896a7b
%global __requires_exclude ^python%{python3_version}dist\\(sortedcontainers\\)$
896a7b
%endif
896a7b
896a7b
%description
896a7b
Open vSwitch provides standard network bridging functions and
896a7b
support for the OpenFlow protocol for remote per-flow control of
896a7b
traffic.
896a7b
896a7b
%package -n python3-%{pkgname}
896a7b
Summary: Open vSwitch python3 bindings
896a7b
License: ASL 2.0
896a7b
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
896a7b
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
896a7b
896a7b
%description -n python3-%{pkgname}
896a7b
Python bindings for the Open vSwitch database
896a7b
896a7b
%package test
896a7b
Summary: Open vSwitch testing utilities
896a7b
License: ASL 2.0
896a7b
BuildArch: noarch
896a7b
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
896a7b
Requires: tcpdump
896a7b
896a7b
%description test
896a7b
Utilities that are useful to diagnose performance and connectivity
896a7b
issues in Open vSwitch setup.
896a7b
896a7b
%package devel
896a7b
Summary: Open vSwitch OpenFlow development package (library, headers)
896a7b
License: ASL 2.0
896a7b
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
896a7b
896a7b
%description devel
896a7b
This provides shared library, libopenswitch.so and the openvswitch header
896a7b
files needed to build an external application.
896a7b
896a7b
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
896a7b
%package -n network-scripts-%{name}
896a7b
Summary: Open vSwitch legacy network service support
896a7b
License: ASL 2.0
896a7b
Requires: network-scripts
896a7b
Supplements: (%{name} and network-scripts)
896a7b
896a7b
%description -n network-scripts-%{name}
896a7b
This provides the ifup and ifdown scripts for use with the legacy network
896a7b
service.
896a7b
%endif
896a7b
896a7b
%if %{with ipsec}
896a7b
%package ipsec
896a7b
Summary: Open vSwitch IPsec tunneling support
896a7b
License: ASL 2.0
896a7b
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
896a7b
Requires: libreswan
896a7b
896a7b
%description ipsec
896a7b
This package provides IPsec tunneling support for OVS tunnels.
896a7b
%endif
896a7b
896a7b
%prep
896a7b
%if 0%{?commit:1}
896a7b
%setup -q -n ovs-%{commit} -a 10
896a7b
%else
896a7b
%setup -q -n ovs-%{version} -a 10
896a7b
%endif
896a7b
%if ! %{external_sphinx}
896a7b
%if 0%{?commit:1}
896a7b
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
896a7b
%else
896a7b
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
896a7b
%endif
896a7b
%endif
896a7b
%if 0%{?rhel} && 0%{?rhel} < 9
896a7b
%if 0%{?commit:1}
896a7b
%setup -n ovs-%{commit} -q -D -T -a 103
896a7b
%else
896a7b
%setup -n ovs-%{version} -q -D -T -a 103
896a7b
%endif
896a7b
%endif
896a7b
896a7b
mv dpdk-*/ %{dpdkdir}/
896a7b
896a7b
%if %{apply_patch}
896a7b
%patch0 -p1
896a7b
%endif
896a7b
896a7b
%build
896a7b
%if 0%{?rhel} && 0%{?rhel} < 9
896a7b
export PYTHONPATH="${PWD}/pyelftools-%{pyelftoolsver}"
896a7b
%endif
896a7b
# Build Sphinx on RHEL
896a7b
%if ! %{external_sphinx}
896a7b
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
896a7b
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
896a7b
    pushd "$x"
896a7b
    python2 setup.py install --home %{_builddir}/pytmp
896a7b
    popd
896a7b
done
896a7b
896a7b
export PATH="$PATH:%{_builddir}/pytmp/bin"
896a7b
%endif
896a7b
896a7b
./boot.sh
896a7b
896a7b
%ifarch %{dpdkarches}    # build dpdk
896a7b
# Lets build DPDK first
896a7b
cd %{dpdkdir}
896a7b
896a7b
ENABLED_DRIVERS=(
896a7b
    bus/pci
896a7b
    bus/vdev
896a7b
    mempool/ring
896a7b
    net/failsafe
896a7b
    net/i40e
896a7b
    net/ring
896a7b
    net/vhost
896a7b
    net/virtio
896a7b
    net/tap
896a7b
)
896a7b
896a7b
%ifarch x86_64
896a7b
ENABLED_DRIVERS+=(
896a7b
    baseband/acc
896a7b
    bus/auxiliary
896a7b
    bus/vmbus
896a7b
    common/iavf
896a7b
    common/mlx5
896a7b
    common/nfp
896a7b
    net/bnxt
896a7b
    net/enic
896a7b
    net/iavf
896a7b
    net/ice
896a7b
    net/mlx5
896a7b
    net/netvsc
896a7b
    net/nfp
896a7b
    net/qede
896a7b
    net/vdev_netvsc
896a7b
)
896a7b
%endif
896a7b
896a7b
%ifarch aarch64 x86_64
896a7b
ENABLED_DRIVERS+=(
896a7b
    net/e1000
896a7b
    net/ixgbe
896a7b
)
896a7b
%endif
896a7b
896a7b
for driver in "${ENABLED_DRIVERS[@]}"; do
896a7b
    enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
896a7b
done
896a7b
896a7b
# If doing any updates, this must be aligned with:
896a7b
# https://access.redhat.com/articles/3538141
896a7b
ENABLED_LIBS=(
896a7b
    bbdev
896a7b
    bitratestats
896a7b
    bpf
896a7b
    cmdline
896a7b
    cryptodev
896a7b
    dmadev
896a7b
    gro
896a7b
    gso
896a7b
    hash
896a7b
    ip_frag
896a7b
    latencystats
896a7b
    member
896a7b
    meter
896a7b
    metrics
896a7b
    pcapng
896a7b
    pdump
896a7b
    security
896a7b
    stack
896a7b
    vhost
896a7b
)
896a7b
896a7b
for lib in "${ENABLED_LIBS[@]}"; do
896a7b
    enable_libs="${enable_libs:+$enable_libs,}"$lib
896a7b
done
896a7b
896a7b
%set_build_flags
896a7b
%__meson --prefix=%{_builddir}/dpdk-build \
896a7b
         --buildtype=plain \
896a7b
         -Denable_libs="$enable_libs" \
896a7b
         -Ddisable_apps="*" \
896a7b
         -Denable_drivers="$enable_drivers" \
896a7b
         -Dplatform=generic \
896a7b
         -Dmax_ethports=1024 \
896a7b
         -Dmax_numa_nodes=8 \
896a7b
         -Dtests=false \
896a7b
         %{_vpath_builddir}
896a7b
%meson_build
896a7b
%__meson install -C %{_vpath_builddir} --no-rebuild
896a7b
896a7b
# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
896a7b
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*
896a7b
896a7b
# Generate a list of supported drivers, its hard to tell otherwise.
896a7b
cat << EOF > README.DPDK-PMDS
896a7b
DPDK drivers included in this package:
896a7b
896a7b
EOF
896a7b
896a7b
for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
896a7b
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
896a7b
done >> README.DPDK-PMDS
896a7b
896a7b
cat << EOF >> README.DPDK-PMDS
896a7b
896a7b
For further information about the drivers, see
896a7b
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
896a7b
EOF
896a7b
896a7b
cd -
896a7b
%endif    # build dpdk
896a7b
896a7b
# And now for OVS...
896a7b
mkdir build-shared build-static
896a7b
pushd build-shared
896a7b
ln -s ../configure
896a7b
%configure \
896a7b
%if %{with libcapng}
896a7b
        --enable-libcapng \
896a7b
%else
896a7b
        --disable-libcapng \
896a7b
%endif
896a7b
        --disable-static \
896a7b
        --enable-shared \
896a7b
        --enable-ssl \
896a7b
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
896a7b
        --enable-usdt-probes \
896a7b
        --disable-afxdp
896a7b
make %{?_smp_mflags}
896a7b
popd
896a7b
pushd build-static
896a7b
ln -s ../configure
896a7b
%ifarch %{dpdkarches}
896a7b
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
896a7b
%endif
896a7b
%configure \
896a7b
%if %{with libcapng}
896a7b
        --enable-libcapng \
896a7b
%else
896a7b
        --disable-libcapng \
896a7b
%endif
896a7b
        --enable-ssl \
896a7b
%ifarch %{dpdkarches}
896a7b
        --with-dpdk=static \
896a7b
%endif
896a7b
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
896a7b
        --enable-usdt-probes \
896a7b
        --disable-afxdp
896a7b
make %{?_smp_mflags}
896a7b
popd
896a7b
896a7b
/usr/bin/python3 build-aux/dpdkstrip.py \
896a7b
        --dpdk \
896a7b
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
896a7b
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
896a7b
896a7b
%install
896a7b
rm -rf $RPM_BUILD_ROOT
896a7b
make -C build-shared install sbin_PROGRAMS=ovsdb/ovsdb-server DESTDIR=$RPM_BUILD_ROOT
896a7b
make -C build-static install bin_PROGRAMS= sbin_PROGRAMS=vswitchd/ovs-vswitchd DESTDIR=$RPM_BUILD_ROOT
896a7b
896a7b
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
896a7b
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
896a7b
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
896a7b
896a7b
install -p -D -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch.conf
896a7b
%ifarch %{dpdkarches}
896a7b
install -p -D -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch-hugetlbfs.conf
896a7b
%endif
896a7b
896a7b
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
896a7b
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
896a7b
896a7b
install -p -D -m 0644 \
896a7b
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
896a7b
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
896a7b
896a7b
for service in openvswitch ovsdb-server ovs-vswitchd \
896a7b
               ovs-delete-transient-ports; do
896a7b
        install -p -D -m 0644 \
896a7b
                        rhel/usr_lib_systemd_system_${service}.service \
896a7b
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
896a7b
done
896a7b
896a7b
%if %{with ipsec}
896a7b
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
896a7b
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
896a7b
%endif
896a7b
896a7b
install -m 0755 rhel/etc_init.d_openvswitch \
896a7b
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
896a7b
896a7b
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
896a7b
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
896a7b
896a7b
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
896a7b
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
896a7b
896a7b
install -m 0644 vswitchd/vswitch.ovsschema \
896a7b
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
896a7b
896a7b
%if 0%{?rhel} < 9
896a7b
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
896a7b
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
896a7b
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
896a7b
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
896a7b
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
896a7b
%endif
896a7b
896a7b
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
896a7b
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
896a7b
        $RPM_BUILD_ROOT%{python3_sitelib}
896a7b
896a7b
# Build the JSON C extension for the Python lib (#1417738)
896a7b
pushd python
896a7b
(
896a7b
export CPPFLAGS="-I ../include -I ../build-shared/include"
896a7b
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
896a7b
%py3_build
896a7b
%py3_install
896a7b
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
896a7b
)
896a7b
popd
896a7b
896a7b
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
896a7b
896a7b
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
896a7b
896a7b
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
896a7b
896a7b
install -p -D -m 0755 \
896a7b
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
896a7b
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
896a7b
896a7b
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
896a7b
# The db needs special permission as IPsec Pre-shared keys are stored in it.
896a7b
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
896a7b
896a7b
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
896a7b
896a7b
# remove unpackaged files
896a7b
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
896a7b
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
896a7b
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
896a7b
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
896a7b
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
896a7b
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
896a7b
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
896a7b
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
896a7b
896a7b
%if ! %{with ipsec}
896a7b
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
896a7b
%endif
896a7b
896a7b
# remove ovn unpackages files
896a7b
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
896a7b
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
896a7b
896a7b
%check
896a7b
%if %{with check}
896a7b
    pushd build-static
896a7b
    touch resolv.conf
896a7b
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
896a7b
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
896a7b
       make check TESTSUITEFLAGS='--recheck'; then :;
896a7b
    else
896a7b
        cat tests/testsuite.log
896a7b
        exit 1
896a7b
    fi
896a7b
    popd
896a7b
%endif
896a7b
%if %{with check_datapath_kernel}
896a7b
    pushd build-static
896a7b
    if make check-kernel RECHECK=yes; then :;
896a7b
    else
896a7b
        cat tests/system-kmod-testsuite.log
896a7b
        exit 1
896a7b
    fi
896a7b
    popd
896a7b
%endif
896a7b
896a7b
%clean
896a7b
rm -rf $RPM_BUILD_ROOT
896a7b
896a7b
%preun
896a7b
%if 0%{?systemd_preun:1}
896a7b
    %systemd_preun openvswitch.service
896a7b
%else
896a7b
    if [ $1 -eq 0 ] ; then
896a7b
    # Package removal, not upgrade
896a7b
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
896a7b
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
896a7b
    fi
896a7b
%endif
896a7b
896a7b
%pre
896a7b
%sysusers_create_compat %{SOURCE2}
896a7b
%ifarch %{dpdkarches}
896a7b
%sysusers_create_compat %{SOURCE3}
896a7b
%endif
896a7b
896a7b
%post
896a7b
if [ $1 -eq 1 ]; then
896a7b
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
896a7b
896a7b
%ifarch %{dpdkarches}
896a7b
    sed -i \
896a7b
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
896a7b
        /etc/sysconfig/openvswitch
896a7b
%endif
896a7b
fi
896a7b
chown -R openvswitch:openvswitch /etc/openvswitch
896a7b
896a7b
%if 0%{?systemd_post:1}
896a7b
    %systemd_post openvswitch.service
896a7b
%else
896a7b
    # Package install, not upgrade
896a7b
    if [ $1 -eq 1 ]; then
896a7b
        /bin/systemctl daemon-reload >dev/null || :
896a7b
    fi
896a7b
%endif
896a7b
896a7b
%postun
896a7b
%if 0%{?systemd_postun:1}
896a7b
    %systemd_postun openvswitch.service
896a7b
%else
896a7b
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
896a7b
%endif
896a7b
896a7b
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
896a7b
# old rpm versions restart the service in postun, but
896a7b
# due to systemd some preparation is needed.
896a7b
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
896a7b
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
896a7b
    systemctl daemon-reload >/dev/null 2>&1 || :
896a7b
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
896a7b
    systemctl start openvswitch >/dev/null 2>&1 || :
896a7b
fi
896a7b
exit 0
896a7b
896a7b
%files -n python3-%{pkgname}
896a7b
%{python3_sitearch}/ovs
896a7b
%{python3_sitearch}/ovs-*.egg-info
896a7b
%doc LICENSE
896a7b
896a7b
%files test
896a7b
%{_bindir}/ovs-pcap
896a7b
%{_bindir}/ovs-tcpdump
896a7b
%{_bindir}/ovs-tcpundump
896a7b
%{_datadir}/openvswitch/scripts/usdt/*
896a7b
%{_mandir}/man1/ovs-pcap.1*
896a7b
%{_mandir}/man8/ovs-tcpdump.8*
896a7b
%{_mandir}/man1/ovs-tcpundump.1*
896a7b
%{_bindir}/ovs-test
896a7b
%{_bindir}/ovs-vlan-test
896a7b
%{_bindir}/ovs-l3ping
896a7b
%{_mandir}/man8/ovs-test.8*
896a7b
%{_mandir}/man8/ovs-vlan-test.8*
896a7b
%{_mandir}/man8/ovs-l3ping.8*
896a7b
%{python3_sitelib}/ovstest
896a7b
896a7b
%files devel
896a7b
%{_libdir}/*.so
896a7b
%{_libdir}/pkgconfig/*.pc
896a7b
%{_includedir}/openvswitch/*
896a7b
%{_includedir}/openflow/*
896a7b
%exclude %{_libdir}/*.a
896a7b
%exclude %{_libdir}/*.la
896a7b
896a7b
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
896a7b
%files -n network-scripts-%{name}
896a7b
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
896a7b
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
896a7b
%endif
896a7b
896a7b
%files
896a7b
%defattr(-,openvswitch,openvswitch)
896a7b
%dir %{_sysconfdir}/openvswitch
896a7b
%{_sysconfdir}/openvswitch/default.conf
896a7b
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
896a7b
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
896a7b
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
896a7b
%defattr(-,root,root)
896a7b
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
896a7b
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
896a7b
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
896a7b
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
896a7b
%{_unitdir}/openvswitch.service
896a7b
%{_unitdir}/ovsdb-server.service
896a7b
%{_unitdir}/ovs-vswitchd.service
896a7b
%{_unitdir}/ovs-delete-transient-ports.service
896a7b
%{_datadir}/openvswitch/scripts/openvswitch.init
896a7b
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
896a7b
%{_datadir}/openvswitch/scripts/ovs-lib
896a7b
%{_datadir}/openvswitch/scripts/ovs-save
896a7b
%{_datadir}/openvswitch/scripts/ovs-vtep
896a7b
%{_datadir}/openvswitch/scripts/ovs-ctl
896a7b
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
896a7b
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
896a7b
%config %{_datadir}/openvswitch/local-config.ovsschema
896a7b
%config %{_datadir}/openvswitch/vswitch.ovsschema
896a7b
%config %{_datadir}/openvswitch/vtep.ovsschema
896a7b
%{_bindir}/ovs-appctl
896a7b
%{_bindir}/ovs-dpctl
896a7b
%{_bindir}/ovs-ofctl
896a7b
%{_bindir}/ovs-vsctl
896a7b
%{_bindir}/ovsdb-client
896a7b
%{_bindir}/ovsdb-tool
896a7b
%{_bindir}/ovs-pki
896a7b
%{_bindir}/vtep-ctl
896a7b
%{_libdir}/*.so.*
896a7b
%{_sbindir}/ovs-vswitchd
896a7b
%{_sbindir}/ovsdb-server
896a7b
%{_mandir}/man1/ovsdb-client.1*
896a7b
%{_mandir}/man1/ovsdb-server.1*
896a7b
%{_mandir}/man1/ovsdb-tool.1*
896a7b
%{_mandir}/man5/ovsdb.5*
896a7b
%{_mandir}/man5/ovsdb.local-config.5*
896a7b
%{_mandir}/man5/ovsdb-server.5.*
896a7b
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
896a7b
%{_mandir}/man5/vtep.5*
896a7b
%{_mandir}/man7/ovsdb-server.7*
896a7b
%{_mandir}/man7/ovsdb.7*
896a7b
%{_mandir}/man7/ovs-actions.7*
896a7b
%{_mandir}/man7/ovs-fields.7*
896a7b
%{_mandir}/man8/vtep-ctl.8*
896a7b
%{_mandir}/man8/ovs-appctl.8*
896a7b
%{_mandir}/man8/ovs-ctl.8*
896a7b
%{_mandir}/man8/ovs-dpctl.8*
896a7b
%{_mandir}/man8/ovs-kmod-ctl.8.*
896a7b
%{_mandir}/man8/ovs-ofctl.8*
896a7b
%{_mandir}/man8/ovs-pki.8*
896a7b
%{_mandir}/man8/ovs-vsctl.8*
896a7b
%{_mandir}/man8/ovs-vswitchd.8*
896a7b
%{_mandir}/man8/ovs-parse-backtrace.8*
896a7b
%{_udevrulesdir}/91-vfio.rules
896a7b
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
896a7b
%ifarch %{dpdkarches}
896a7b
%doc %{dpdkdir}/README.DPDK-PMDS
896a7b
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
896a7b
%else
896a7b
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
896a7b
%endif
896a7b
/var/lib/openvswitch
896a7b
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
896a7b
%{_datadir}/openvswitch/bugtool-plugins/
896a7b
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
896a7b
%{_bindir}/ovs-dpctl-top
896a7b
%{_sbindir}/ovs-bugtool
896a7b
%{_mandir}/man8/ovs-dpctl-top.8*
896a7b
%{_mandir}/man8/ovs-bugtool.8*
896a7b
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
896a7b
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
896a7b
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
896a7b
%endif
896a7b
%{_sysusersdir}/openvswitch.conf
896a7b
%ifarch %{dpdkarches}
896a7b
%{_sysusersdir}/openvswitch-hugetlbfs.conf
896a7b
%endif
896a7b
896a7b
%if %{with ipsec}
896a7b
%files ipsec
896a7b
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
896a7b
%{_unitdir}/openvswitch-ipsec.service
896a7b
%endif
896a7b
896a7b
%changelog
Open vSwitch CI 0953c9
* Tue May 28 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-21
Open vSwitch CI 0953c9
- Merging upstream branch-3.3 [RH git: 4793020729]
Open vSwitch CI 0953c9
    Commit list:
Open vSwitch CI 0953c9
    a3022b08ac netdev-linux: Initialize link speed in error conditions.
Open vSwitch CI 0953c9
    216c2c1ff9 netdev-linux: Return an error if device feature names are empty.
Open vSwitch CI 0953c9
    1b78323a21 socket: Fix uninitialized values in inet_parse_ functions.
Open vSwitch CI 0953c9
    4ece94d2ab dpctl: Fix uninitialized value when deleting flows.
Open vSwitch CI 0953c9
    7ee12c5ae1 netdev-native-tnl: Fix use of uninitialized offset on SRv6 header pop.
Open vSwitch CI 0953c9
    258bc1e0c6 netdev-linux: Fix ethtool_cmd is partly outside array bounds.
Open vSwitch CI 0953c9
Open vSwitch CI 0953c9
Open vSwitch CI 4fe50c
* Thu May 23 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-20
Open vSwitch CI 4fe50c
- Merging upstream branch-3.3 [RH git: e37661f387]
Open vSwitch CI 4fe50c
    Commit list:
Open vSwitch CI 4fe50c
    ffbce0c428 atlocal: Replace deprecated pkg_resources.
Open vSwitch CI 4fe50c
    1f0423a4ee atlocal: Fix setting HAVE_PYTEST on unexpected errors.
Open vSwitch CI 4fe50c
    95baf295af srv6: Fix misaligned writes to segment list.
Open vSwitch CI 4fe50c
Open vSwitch CI 4fe50c
Open vSwitch CI 7f71fd
* Fri May 17 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-19
Open vSwitch CI 7f71fd
- Merging upstream branch-3.3 [RH git: f3bdc58258]
Open vSwitch CI 7f71fd
    Commit list:
Open vSwitch CI 7f71fd
    8d4ba3b5a8 compiler: Fix errors in Clang 17 ubsan checks.
Open vSwitch CI 7f71fd
    d153eff606 table: Fix freeing global variable.
Open vSwitch CI 7f71fd
    f02dc3cfec vlog: Destroy async_append first then close log_fd.
Open vSwitch CI 7f71fd
Open vSwitch CI 7f71fd
Open vSwitch CI debb27
* Tue May 14 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-18
Open vSwitch CI debb27
- Merging upstream branch-3.3 [RH git: 2c450fb957]
Open vSwitch CI debb27
    Commit list:
Open vSwitch CI debb27
    bf1b16364b conntrack: Fully initialize conn struct before insertion.
Open vSwitch CI debb27
    cf461fe282 conntrack: Do not use {0} to initialize unions.
Open vSwitch CI debb27
Open vSwitch CI debb27
Open vSwitch CI a8fd58
* Tue May 07 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-17
Open vSwitch CI a8fd58
- Merging upstream branch-3.3 [RH git: a2b1d49351]
Open vSwitch CI a8fd58
    Commit list:
Open vSwitch CI a8fd58
    20ed5491c5 ovsdb-client: Add missing arg to help for 'dump'.
Open vSwitch CI a8fd58
Open vSwitch CI a8fd58
Open vSwitch CI 3d1497
* Fri May 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-16
Open vSwitch CI 3d1497
- Merging upstream branch-3.3 [RH git: 8c52aecb56]
Open vSwitch CI 3d1497
    Commit list:
Open vSwitch CI 3d1497
    4756bf4baf ofproto-dpif-trace: Fix access to an out-of-scope stack memory.
Open vSwitch CI 3d1497
    01eca18be1 hash, jhash: Fix unaligned access to the hash remainder.
Open vSwitch CI 3d1497
    4f61523c0d sparse: Add additional define for sparse on GCC >= 14.
Open vSwitch CI 3d1497
Open vSwitch CI 3d1497
Open vSwitch CI 0fee85
* Tue Apr 30 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-15
Open vSwitch CI 0fee85
- Merging upstream branch-3.3 [RH git: 1cb679f528]
Open vSwitch CI 0fee85
    Commit list:
Open vSwitch CI 0fee85
    9a5c24d70f sparse: Add immintrin.h header.
Open vSwitch CI 0fee85
    3528cc6f45 tc: Fix -Wgnu-variable-sized-type-not-at-end warning with Clang 18.
Open vSwitch CI 0fee85
    5814de5687 tests: Fix build failure with Clang 18 due to -Wformat-truncation.
Open vSwitch CI 0fee85
Open vSwitch CI 0fee85
Open vSwitch CI bd18e8
* Mon Apr 29 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-14
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: fd340e5b9e]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    a6c3b5202c netdev-dpdk: Fix possible memory leak configuring VF MAC address.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Tue Apr 23 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-13
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 2914158441]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    42e685916e ovsdb: raft: Fix probe intervals after install snapshot request.
Open vSwitch CI bd18e8
    1c44cb5963 ovsdb: raft: Fix inability to join a cluster with a large database.
Open vSwitch CI bd18e8
    5966c22b85 rhel/systemd: Set ovsdb-server timeout to 5 minutes.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Thu Apr 11 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-12
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 9b5e829705]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    f19448b861 github: Update python to 3.12.
Open vSwitch CI bd18e8
    b705fb8dd2 ovsdb-dot: Fix flake8 issues.
Open vSwitch CI bd18e8
    1ac823cb03 ovsdb-doc: Fix syntax warning with Python 3.12 and flake8 issues.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Wed Apr 10 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-11
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 7956e878a6]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    7e99dbd8a0 python: Remove hacking dependency and use recent flake8.
Open vSwitch CI bd18e8
    41055da769 cirrus: Update to FreeBSD 13.3.
Open vSwitch CI bd18e8
    6448c1b697 vlog: Log stack trace on vlog_abort.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Tue Apr 09 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-10
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 41fe6a6437]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    a6852319b4 tests: Fix compatibility issue with Python 3.13 in vlog.at.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Fri Apr 05 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-9
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 3b2958ef7b]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    775507fe91 ofproto-dpif-upcall: Fix ukey installation failure logs and counters.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Wed Apr 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-8
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 69817f7024]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    b26baf873e conntrack: Do not use icmp reverse helper for icmpv6.
Open vSwitch CI bd18e8
    b9f28c5862 conntrack: Fix SNAT with exhaustion system test.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Wed Mar 27 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-7
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 1a2a88672e]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    43db937876 ovsdb: raft: Fix inability to join after leadership change round trip.
Open vSwitch CI bd18e8
    2a2f162b57 ovsdb: raft: Fix assertion when 1-node cluster looses leadership.
Open vSwitch CI bd18e8
    a174a5ab8b ovsdb: raft: Fix permanent joining state on a cluster member.
Open vSwitch CI bd18e8
    5eac230f22 ovsdb: raft: Fix time intervals for multitasking while joining.
Open vSwitch CI bd18e8
    99fe661f04 ovsdb: raft: Avoid transferring leadership to unavailable servers.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Wed Mar 27 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-6
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 918ba37710]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    c560f6ca32 ofproto-dpif-xlate: Fix continuations with associated metering.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Fri Mar 22 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-5
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 53f3f1b833]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    1c1f173ce8 dpif-netdev: Fix crash due to tunnel offloading on recirculation.
Open vSwitch CI bd18e8
    feb0fefd8d netdev-dpdk: Disable outer UDP checksum offload for ice/i40e driver.
Open vSwitch CI bd18e8
    3280d95c42 ovs-monitor-ipsec: LibreSwan autodetect paths. (#1975039)
Open vSwitch CI bd18e8
    4fedcae6ee route-table: Avoid routes from non-standard routing tables.
Open vSwitch CI bd18e8
    9f39cd4a11 ovs-tcpdump: Fix cleanup mirror failed with twice fatal signals.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Tue Mar 19 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-4
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: e9ada703c5]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    7fa40643e7 ofproto-dpif: Fix tunnel with different name del/add failure.
Open vSwitch CI bd18e8
    04dc9d117a ofpbuf: Prevent undefined behavior in ofpbuf_clone.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
* Sat Mar 16 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-3
Open vSwitch CI bd18e8
- Merging upstream branch-3.3 [RH git: 742462843f]
Open vSwitch CI bd18e8
    Commit list:
Open vSwitch CI bd18e8
    667c9eb2b0 netdev-dpdk: Fix tunnel type check during Tx offload preparation.
Open vSwitch CI bd18e8
    332300c360 netdev-dpdk: Fix TCP check during Tx offload preparation.
Open vSwitch CI bd18e8
    e7778b3716 netdev-dpdk: Clear inner packet marks if no inner offloads requested.
Open vSwitch CI bd18e8
Open vSwitch CI bd18e8
896a7b
* Wed Mar 13 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-2
896a7b
- Merging upstream branch-3.3 [RH git: ed97fb253e]
896a7b
    Commit list:
896a7b
    c85158e265 netdev-dpdk: Clean up all marker flags if no offloads requested.
896a7b
    a6bb8be429 github: Reduce ASLR entropy to be compatible with asan in llvm 14.
896a7b
    70dcee98f4 netdev-dpdk: Dump packets that fail Tx preparation.
896a7b
    5ae591757a bfd: Improve state change log message. (#2258496)
896a7b
    efbc37b946 tests: Fix "SSL db: Implementation" test with openssl > 3.2.0.
896a7b
    0f1af687cc conntrack: Fix flush not flushing all elements.
896a7b
    04f1984a44 m4: Fix linking with OpenSSL 1.1.0+ and 3+ on Windows.
896a7b
    8f903b598f ovs-pki: Fix file permissions on Windows.
896a7b
    3002010658 bond: Reset stats when deleting post recirc rule.
896a7b
    02f0d6db14 ofproto-dpif-trace: Fix infinite recirculation tracing.
896a7b
    e68ddb34bc github: Temporarily disable SNAT with exhaustion system test.
896a7b
    95d4d7108a dp-packet: Don't offload inner csum if outer isn't supported.
896a7b
    05453d807d ofproto-dpif-xlate: Fix ignoring IPv6 local_ip for native tunnels.
896a7b
    a0df9c85de netdev-dummy: Add local route entries for IP addresses.
896a7b
    2f742d7afc tests: Move the non-local port as tunnel endpoint test.
896a7b
    a6bdf7d310 Prepare for 3.3.1.
896a7b
896a7b
896a7b
* Wed Mar 13 2024 Timothy Redaelli <tredaelli@redhat.com> - 3.3.0-1
896a7b
- redhat: Imported Red Hat OVS 3.3 build files. [RH git: dfdea27000]
896a7b
896a7b