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 634e73
Release: 42%{?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 \
Open vSwitch CI c28b59
        --disable-afxdp \
Open vSwitch CI c28b59
        --with-version-suffix=-%{release}
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 \
Open vSwitch CI c28b59
        --disable-afxdp \
Open vSwitch CI c28b59
        --with-version-suffix=-%{release}
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 634e73
* Mon Aug 12 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-42
Open vSwitch CI 634e73
- Merging upstream branch-3.3 [RH git: 7188a23809]
Open vSwitch CI 634e73
    Commit list:
Open vSwitch CI 634e73
    73c563efc7 tunnel, tests: Add test for mirroring over tunnels.
Open vSwitch CI 634e73
    81e64f47d7 ofproto-dpif-xlate: Add a recursion limit to tunnel address lookup.
Open vSwitch CI 634e73
Open vSwitch CI 634e73
Open vSwitch CI dc765b
* Thu Aug 08 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-41
Open vSwitch CI dc765b
- Merging upstream branch-3.3 [RH git: 65b2f8cd44]
Open vSwitch CI dc765b
    Commit list:
Open vSwitch CI dc765b
    7428125173 netdev-dpdk: Fix race condition in mempool information dump.
Open vSwitch CI dc765b
    e0c0302d71 ovsdb: transaction: Remove incorrect transaction abort in pre-commit.
Open vSwitch CI dc765b
Open vSwitch CI dc765b
Open vSwitch CI c28b59
* Mon Jul 22 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-40
Open vSwitch CI c28b59
- Merging upstream branch-3.3 [RH git: 62b757012a]
Open vSwitch CI c28b59
    Commit list:
Open vSwitch CI c28b59
    59d80787ad netlink-notifier: Silence the UBsan's function pointer mismatch error.
Open vSwitch CI c28b59
    bd133fcf6b Documentation: Update QEMU documentation URLs.
Open vSwitch CI c28b59
    6738b680ec match: Fix false-positive snprintf size warning.
Open vSwitch CI c28b59
    5bf4c0f09e util: Add non-NULL format assertion to xvasprintf.
Open vSwitch CI c28b59
    9cbd8804dd docs: Define Read the Docs configuration for Sphinx HTML parameters.
Open vSwitch CI c28b59
    6eca4d13c8 flow: Fix unaligned access to the ND target in miniflow_extract.
Open vSwitch CI c28b59
    d2119feb01 dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe.
Open vSwitch CI c28b59
    9c439c23e6 dpctl: Fix netdev reference leak in "show" command.
Open vSwitch CI c28b59
Open vSwitch CI c28b59
Open vSwitch CI c28b59
* Wed Jul 17 2024 Timothy Redaelli <tredaelli@redhat.com> - 3.3.0-39
Open vSwitch CI c28b59
- Use --with-version-suffix [RH git: 03cc07cae1]
Open vSwitch CI c28b59
Open vSwitch CI c28b59
Open vSwitch CI c28b59
* Wed Jul 17 2024 Timothy Redaelli <tredaelli@redhat.com> - 3.3.0-38
Open vSwitch CI c28b59
- rhel: Make the version, displayed to the user, customizable. [RH git: 470b5520a5]
Open vSwitch CI c28b59
    Since on CentOS/RHEL the builds are based on stable branches and not on
Open vSwitch CI c28b59
    tags for debugging purpose it's better to have the downstream version as
Open vSwitch CI c28b59
    version so it's easier to know which commits are included in a build.
Open vSwitch CI c28b59
    
Open vSwitch CI c28b59
    This commit adds --with-version-suffix as ./configure option in
Open vSwitch CI c28b59
    order to set an OVS version suffix that should be shown to the user via
Open vSwitch CI c28b59
    ovs-vsctl -V and, so, also on database, on ovs-vsctl show and the other
Open vSwitch CI c28b59
    utilities.
Open vSwitch CI c28b59
    
Open vSwitch CI c28b59
    --with-version-suffix is used in Fedora/CentOS/RHEL spec file in order to have
Open vSwitch CI c28b59
    the version be aligned with the downstream one.
Open vSwitch CI c28b59
    
Open vSwitch CI c28b59
    Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Open vSwitch CI c28b59
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Open vSwitch CI c28b59
    (cherry picked from commit 9e6d43ef32152527f7887d7f316a191adb5f338c)
Open vSwitch CI c28b59
Open vSwitch CI c28b59
Open vSwitch CI 235887
* Wed Jul 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-37
Open vSwitch CI 235887
- Merging upstream branch-3.3 [RH git: 59364717e8]
Open vSwitch CI 235887
    Commit list:
Open vSwitch CI 235887
    15cbfb19fa cirrus: Update to FreeBSD 14.1.
Open vSwitch CI 235887
Open vSwitch CI 235887
Open vSwitch CI 0984f3
* Wed Jul 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-36
Open vSwitch CI 0984f3
- Merging upstream branch-3.3 [RH git: eb0ad890f2]
Open vSwitch CI 0984f3
    Commit list:
Open vSwitch CI 0984f3
    a3722ab1f7 ovs-monitor-ipsec: LibreSwan v5 support.
Open vSwitch CI 0984f3
    bd18a13732 ovs-monitor-ipsec: LibreSwan autodetect version.
Open vSwitch CI 0984f3
Open vSwitch CI 0984f3
Open vSwitch CI 345ec5
* Tue Jul 02 2024 Michael Santana <msantana@redhat.com> - 3.3.0-35
Open vSwitch CI 345ec5
- netdev-offload-tc: Reserve lower tc prio for vlan ethertype. [RH git: c2202ea6e8]
Open vSwitch CI 345ec5
    The cited commit reserved lower tc priorities for IP ethertypes in order
Open vSwitch CI 345ec5
    to give IP traffic higher priority than other management traffic.
Open vSwitch CI 345ec5
    In case of of vlan encap traffic, IP traffic will still get lower
Open vSwitch CI 345ec5
    priority.
Open vSwitch CI 345ec5
    
Open vSwitch CI 345ec5
    Fix it by also reserving low priority tc prio for vlan.
Open vSwitch CI 345ec5
    
Open vSwitch CI 345ec5
    Fixes: c230c7579c14 ("netdev-offload-tc: Reserve lower tc prios for ip ethertypes")
Open vSwitch CI 345ec5
    Signed-off-by: Maor Dickman <maord@nvidia.com>
Open vSwitch CI 345ec5
    Acked-by: Roi Dayan <roid@nvidia.com>
Open vSwitch CI 345ec5
    Signed-off-by: Simon Horman <horms@ovn.org>
Open vSwitch CI 345ec5
Open vSwitch CI 345ec5
Open vSwitch CI 52bafb
* Tue Jul 02 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-34
Open vSwitch CI 52bafb
- Merging upstream branch-3.3 [RH git: c09d2d60bb]
Open vSwitch CI 52bafb
    Commit list:
Open vSwitch CI 52bafb
    504efbe923 netdev-dpdk: Check pending reset when adding device.
Open vSwitch CI 52bafb
Open vSwitch CI 52bafb
Open vSwitch CI 053f7b
* Tue Jun 25 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-33
Open vSwitch CI 053f7b
- Merging upstream branch-3.3 [RH git: 3ecc0a5b13]
Open vSwitch CI 053f7b
    Commit list:
Open vSwitch CI 053f7b
    2393305d96 odp-execute: Check IPv4 checksum offload flag in AVX.
Open vSwitch CI 053f7b
    0aec0c2cc0 odp-execute: Set IPv6 traffic class in AVX implementation.
Open vSwitch CI 053f7b
Open vSwitch CI 053f7b
Open vSwitch CI e2f6df
* Fri Jun 21 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-32
Open vSwitch CI e2f6df
- Merging upstream branch-3.3 [RH git: ecd756e0cf]
Open vSwitch CI e2f6df
    Commit list:
Open vSwitch CI e2f6df
    dd1aea7f8b ofp-prop: Fix unaligned 128 bit access.
Open vSwitch CI e2f6df
Open vSwitch CI e2f6df
Open vSwitch CI 83495e
* Wed Jun 19 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-31
Open vSwitch CI 83495e
- Merging upstream branch-3.3 [RH git: 92e783ebee]
Open vSwitch CI 83495e
    Commit list:
Open vSwitch CI 83495e
    830fd48237 dpdk: Check other_config:dpdk-extra for '--lcores'.
Open vSwitch CI 83495e
Open vSwitch CI 83495e
Open vSwitch CI 119680
* Fri Jun 07 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-30
Open vSwitch CI 119680
- Merging upstream branch-3.3 [RH git: b79bfd3e3b]
Open vSwitch CI 119680
    Commit list:
Open vSwitch CI 119680
    8499e90274 Prepare for 3.3.2.
Open vSwitch CI 119680
    2b87b844db Set release date for 3.3.1.
Open vSwitch CI 119680
Open vSwitch CI 119680
Open vSwitch CI cf3d7f
* Fri Jun 07 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-29
Open vSwitch CI cf3d7f
- Merging upstream branch-3.3 [RH git: 9d435dd64a]
Open vSwitch CI cf3d7f
    Commit list:
Open vSwitch CI cf3d7f
    81d2804fc3 python: ovs: flow: Fix nested check_pkt_len acts.
Open vSwitch CI cf3d7f
    8c15b5c0f3 python: idl: Fix index not being updated on row modification.
Open vSwitch CI cf3d7f
    80c935dba3 python: ovsdb-idl: Convert new_uuid insert() arg to UUID.
Open vSwitch CI cf3d7f
    6b6d7f05db python: ovsdb-idl: Make IndexedRows mirror hmap.
Open vSwitch CI cf3d7f
Open vSwitch CI cf3d7f
Open vSwitch CI effb39
* Fri Jun 07 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-28
Open vSwitch CI effb39
- Merging upstream branch-3.3 [RH git: e5ee6d743e]
Open vSwitch CI effb39
    Commit list:
Open vSwitch CI effb39
    479dd96e18 ci: Restore vhost-user unit tests in check-dpdk.
Open vSwitch CI effb39
    cc99622485 system-dpdk: Fix socket conflict when starting testpmd.
Open vSwitch CI effb39
Open vSwitch CI effb39
Open vSwitch CI f2274a
* Thu Jun 06 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-27
Open vSwitch CI f2274a
- Merging upstream branch-3.3 [RH git: 63995fdae6]
Open vSwitch CI f2274a
    Commit list:
Open vSwitch CI f2274a
    5bb95ad089 netdev-dpdk: Refactor tunnel checksum offloading.
Open vSwitch CI f2274a
    a9248871af netdev-dpdk: Use guest TSO segmentation size hint.
Open vSwitch CI f2274a
    55d2e6d3dc netdev-dpdk: Refactor TSO request code.
Open vSwitch CI f2274a
    2fe3ab83ab netdev-dpdk: Fix inner checksum when outer is not supported.
Open vSwitch CI f2274a
    537a6bcda7 netdev-dpdk: Disable outer UDP checksum for net/iavf.
Open vSwitch CI f2274a
    2e03f5567c netdev-dpdk: Fallback to non tunnel checksum offloading.
Open vSwitch CI f2274a
Open vSwitch CI f2274a
Open vSwitch CI be19ea
* Wed Jun 05 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-26
Open vSwitch CI be19ea
- Merging upstream branch-3.3 [RH git: 00e3d428c5]
Open vSwitch CI be19ea
    Commit list:
Open vSwitch CI be19ea
    7916a24171 nsh: Add support to compose-packet and use it in system tests.
Open vSwitch CI be19ea
    310cf419e7 tests: Convert ND, MPLS and CT sendpkt tests to compose-packet.
Open vSwitch CI be19ea
    96efed3499 tests: sendpkt: Allow different input formats.
Open vSwitch CI be19ea
    2e89ed9946 ipf: Handle common case of ipf defragmentation.
Open vSwitch CI be19ea
    69424e53b6 ipf: Only add fragments to batch of same dl_type.
Open vSwitch CI be19ea
Open vSwitch CI be19ea
Open vSwitch CI 8f58bd
* Mon Jun 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-25
Open vSwitch CI 8f58bd
- Merging upstream branch-3.3 [RH git: 05cf3a52ce]
Open vSwitch CI 8f58bd
    Commit list:
Open vSwitch CI 8f58bd
    5cfbc915de python: ovsdb-idl: Use monitor_cond for _Server DB.
Open vSwitch CI 8f58bd
    84c83589b6 ovsdb-idl: Add C IDL test for "monitor" fallback.
Open vSwitch CI 8f58bd
Open vSwitch CI 8f58bd
Open vSwitch CI 3e2c9d
* Mon Jun 03 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-24
Open vSwitch CI 3e2c9d
- Merging upstream branch-3.3 [RH git: 0a6f4082a3]
Open vSwitch CI 3e2c9d
    Commit list:
Open vSwitch CI 3e2c9d
    79608c4fdd tests: Fix non-portable plus match in python vlog test.
Open vSwitch CI 3e2c9d
Open vSwitch CI 3e2c9d
Open vSwitch CI 0b6277
* Fri May 31 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-23
Open vSwitch CI 0b6277
- Merging upstream branch-3.3 [RH git: bc25876bb0]
Open vSwitch CI 0b6277
    Commit list:
Open vSwitch CI 0b6277
    6688bff495 odp-execute: Fix AVX checksum calculation.
Open vSwitch CI 0b6277
Open vSwitch CI 0b6277
Open vSwitch CI 85b803
* Thu May 30 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.3.0-22
Open vSwitch CI 85b803
- Merging upstream branch-3.3 [RH git: 4a1c8a2b9c]
Open vSwitch CI 85b803
    Commit list:
Open vSwitch CI 85b803
    0ec55bbe95 dpdk: Use DPDK 23.11.1 release for OVS 3.3.
Open vSwitch CI 85b803
Open vSwitch CI 85b803
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