Open vSwitch CI 36c20e
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
Open vSwitch CI 36c20e
#
Open vSwitch CI 36c20e
# Copying and distribution of this file, with or without modification,
Open vSwitch CI 36c20e
# are permitted in any medium without royalty provided the copyright
Open vSwitch CI 36c20e
# notice and this notice are preserved.  This file is offered as-is,
Open vSwitch CI 36c20e
# without warranty of any kind.
Open vSwitch CI 36c20e
#
Open vSwitch CI 36c20e
# If tests have to be skipped while building, specify the '--without check'
Open vSwitch CI 36c20e
# option. For example:
Open vSwitch CI 36c20e
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# This defines the base package name's version.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%define pkgname openvswitch3.5
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%global commit 8b7f1eb8db1aa99ccf7b542662129450caff65e0
Open vSwitch CI 36c20e
%if 0%{?commit:1}
Open vSwitch CI 36c20e
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Enable PIE, bz#955181
Open vSwitch CI 36c20e
%global _hardened_build 1
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# RHEL-7 doesn't define _rundir macro yet
Open vSwitch CI 36c20e
# Fedora 15 onwards uses /run as _rundir
Open vSwitch CI 36c20e
%if 0%{!?_rundir:1}
Open vSwitch CI 36c20e
%define _rundir /run
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
Open vSwitch CI 36c20e
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
Open vSwitch CI 36c20e
%ifarch %{ix86} x86_64 aarch64
Open vSwitch CI 36c20e
%bcond_without check
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%bcond_with check
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
# option to run kernel datapath tests, requires building as root!
Open vSwitch CI 36c20e
%bcond_with check_datapath_kernel
Open vSwitch CI 36c20e
# option to build with libcap-ng, needed for running OVS as regular user
Open vSwitch CI 36c20e
%bcond_without libcapng
Open vSwitch CI 36c20e
# option to build with ipsec support
Open vSwitch CI 36c20e
%bcond_without ipsec
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Build python2 (that provides python) and python3 subpackages on Fedora
Open vSwitch CI 36c20e
# Build only python3 (that provides python) subpackage on RHEL8
Open vSwitch CI 36c20e
# Build only python subpackage on RHEL7
Open vSwitch CI 36c20e
%if 0%{?rhel} > 7 || 0%{?fedora}
Open vSwitch CI 36c20e
# On RHEL8 Sphinx is included in buildroot
Open vSwitch CI 36c20e
%global external_sphinx 1
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
Open vSwitch CI 36c20e
%global external_sphinx 0
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Name: %{pkgname}
Open vSwitch CI 36c20e
Summary: Open vSwitch
Open vSwitch CI 36c20e
Group: System Environment/Daemons daemon/database/utilities
Open vSwitch CI 36c20e
URL: http://www.openvswitch.org/
Open vSwitch CI 36c20e
Version: 3.5.0
Open vSwitch CI c3a679
Release: 0.18%{?dist}
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
Open vSwitch CI 36c20e
# lib/sflow*.[ch] files are SISSL
Open vSwitch CI 36c20e
# datapath/ is GPLv2 (although not built into any of the binary packages)
Open vSwitch CI 36c20e
License: ASL 2.0 and LGPLv2+ and SISSL
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%define dpdkver 24.11
Open vSwitch CI 36c20e
%define dpdkdir dpdk
Open vSwitch CI 36c20e
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
Open vSwitch CI 36c20e
# NOTE: DPDK does not currently build for s390x
Open vSwitch CI 36c20e
# DPDK on aarch64 is not stable enough to be enabled in FDP
Open vSwitch CI 36c20e
%if 0%{?rhel} > 7 || 0%{?fedora}
Open vSwitch CI 36c20e
%define dpdkarches x86_64 ppc64le
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%define dpdkarches
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?commit:1}
Open vSwitch CI 36c20e
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Source2: openvswitch.sysusers
Open vSwitch CI 36c20e
Source3: openvswitch-hugetlbfs.sysusers
Open vSwitch CI 36c20e
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%define docutilsver 0.12
Open vSwitch CI 36c20e
%define pygmentsver 1.4
Open vSwitch CI 36c20e
%define sphinxver   1.2.3
Open vSwitch CI 36c20e
%define pyelftoolsver 0.27
Open vSwitch CI 36c20e
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
Open vSwitch CI 36c20e
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
Open vSwitch CI 36c20e
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
Open vSwitch CI 36c20e
Source103: https://pypi.io/packages/source/p/pyelftools/pyelftools-%{pyelftoolsver}.tar.gz
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%define apply_patch %(test -s %{_sourcedir}/openvswitch-%{version}.patch && echo 1 || echo 0)
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{apply_patch}
Open vSwitch CI 36c20e
Patch0:    openvswitch-%{version}.patch
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# The DPDK is designed to optimize througput of network traffic using, among
Open vSwitch CI 36c20e
# other techniques, carefully crafted assembly instructions.  As such it
Open vSwitch CI 36c20e
# needs extensive work to port it to other architectures.
Open vSwitch CI 36c20e
ExclusiveArch: x86_64 aarch64 ppc64le s390x
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Do not enable this otherwise YUM will break on any upgrade.
Open vSwitch CI 36c20e
# Provides: openvswitch
Open vSwitch CI 36c20e
Conflicts: openvswitch < 3.5
Open vSwitch CI 36c20e
Conflicts: openvswitch-dpdk < 3.5
Open vSwitch CI 36c20e
Conflicts: openvswitch2.10
Open vSwitch CI 36c20e
Conflicts: openvswitch2.11
Open vSwitch CI 36c20e
Conflicts: openvswitch2.12
Open vSwitch CI 36c20e
Conflicts: openvswitch2.13
Open vSwitch CI 36c20e
Conflicts: openvswitch2.14
Open vSwitch CI 36c20e
Conflicts: openvswitch2.15
Open vSwitch CI 36c20e
Conflicts: openvswitch2.16
Open vSwitch CI 36c20e
Conflicts: openvswitch2.17
Open vSwitch CI 36c20e
Conflicts: openvswitch3.0
Open vSwitch CI 36c20e
Conflicts: openvswitch3.1
Open vSwitch CI 36c20e
Conflicts: openvswitch3.2
Open vSwitch CI 36c20e
Conflicts: openvswitch3.3
Open vSwitch CI 36c20e
Conflicts: openvswitch3.4
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
Open vSwitch CI 36c20e
# in the -optional repository and so we can't require it directly since RHV
Open vSwitch CI 36c20e
# doesn't have the -optional repository enabled and so TPS fails
Open vSwitch CI 36c20e
%if %{external_sphinx}
Open vSwitch CI 36c20e
BuildRequires: python3-sphinx
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
# Sphinx dependencies
Open vSwitch CI 36c20e
BuildRequires: python-devel
Open vSwitch CI 36c20e
BuildRequires: python-setuptools
Open vSwitch CI 36c20e
#BuildRequires: python2-docutils
Open vSwitch CI 36c20e
BuildRequires: python-jinja2
Open vSwitch CI 36c20e
BuildRequires: python-nose
Open vSwitch CI 36c20e
#BuildRequires: python2-pygments
Open vSwitch CI 36c20e
# docutils dependencies
Open vSwitch CI 36c20e
BuildRequires: python-imaging
Open vSwitch CI 36c20e
# pygments dependencies
Open vSwitch CI 36c20e
BuildRequires: python-nose
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
BuildRequires: gcc gcc-c++ make
Open vSwitch CI 36c20e
BuildRequires: autoconf automake libtool
Open vSwitch CI 36c20e
BuildRequires: systemd-units systemd-rpm-macros openssl openssl-devel
Open vSwitch CI 36c20e
BuildRequires: python3-devel python3-setuptools
Open vSwitch CI 36c20e
BuildRequires: desktop-file-utils
Open vSwitch CI 36c20e
BuildRequires: groff-base graphviz
Open vSwitch CI 36c20e
BuildRequires: unbound-devel
Open vSwitch CI 36c20e
BuildRequires: systemtap-sdt-devel
Open vSwitch CI 36c20e
# make check dependencies
Open vSwitch CI 36c20e
BuildRequires: procps-ng
Open vSwitch CI 36c20e
%if %{with check_datapath_kernel}
Open vSwitch CI 36c20e
BuildRequires: nmap-ncat
Open vSwitch CI 36c20e
# would be useful but not available in RHEL or EPEL
Open vSwitch CI 36c20e
#BuildRequires: pyftpdlib
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{with libcapng}
Open vSwitch CI 36c20e
BuildRequires: libcap-ng libcap-ng-devel
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
BuildRequires: meson
Open vSwitch CI 36c20e
%if 0%{?rhel} > 8 || 0%{?fedora}
Open vSwitch CI 36c20e
BuildRequires: python3-pyelftools
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
# DPDK driver dependencies
Open vSwitch CI 36c20e
BuildRequires: zlib-devel numactl-devel libarchive-devel
Open vSwitch CI 36c20e
# libarchive static dependencies
Open vSwitch CI 36c20e
BuildRequires: bzip2-devel libacl-devel libxml2-devel libzstd-devel lz4-devel xz-devel
Open vSwitch CI 36c20e
%ifarch x86_64
Open vSwitch CI 36c20e
BuildRequires: rdma-core-devel >= 15 libmnl-devel
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Required by packaging policy for the bundled DPDK
Open vSwitch CI 36c20e
Provides: bundled(dpdk) = %{dpdkver}
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Requires: openssl iproute module-init-tools
Open vSwitch CI 36c20e
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
Open vSwitch CI 36c20e
#Requires: kernel >= 3.15.0-0
Open vSwitch CI 36c20e
Requires: openvswitch-selinux-extra-policy
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%{?sysusers_requires_compat}
Open vSwitch CI 36c20e
Requires(post): /bin/sed
Open vSwitch CI 36c20e
Requires(post): systemd-units
Open vSwitch CI 36c20e
Requires(preun): systemd-units
Open vSwitch CI 36c20e
Requires(postun): systemd-units
Open vSwitch CI 36c20e
Obsoletes: openvswitch-controller <= 0:2.1.0-1
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?rhel}
Open vSwitch CI 36c20e
# sortedcontainers are not packaged on RHEL yet, but ovs includes it
Open vSwitch CI 36c20e
%global __requires_exclude ^python%{python3_version}dist\\(sortedcontainers\\)$
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description
Open vSwitch CI 36c20e
Open vSwitch provides standard network bridging functions and
Open vSwitch CI 36c20e
support for the OpenFlow protocol for remote per-flow control of
Open vSwitch CI 36c20e
traffic.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%package -n python3-%{pkgname}
Open vSwitch CI 36c20e
Summary: Open vSwitch python3 bindings
Open vSwitch CI 36c20e
License: ASL 2.0
Open vSwitch CI 36c20e
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 36c20e
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description -n python3-%{pkgname}
Open vSwitch CI 36c20e
Python bindings for the Open vSwitch database
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%package test
Open vSwitch CI 36c20e
Summary: Open vSwitch testing utilities
Open vSwitch CI 36c20e
License: ASL 2.0
Open vSwitch CI 36c20e
BuildArch: noarch
Open vSwitch CI 36c20e
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 36c20e
Requires: tcpdump
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description test
Open vSwitch CI 36c20e
Utilities that are useful to diagnose performance and connectivity
Open vSwitch CI 36c20e
issues in Open vSwitch setup.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%package devel
Open vSwitch CI 36c20e
Summary: Open vSwitch OpenFlow development package (library, headers)
Open vSwitch CI 36c20e
License: ASL 2.0
Open vSwitch CI 36c20e
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description devel
Open vSwitch CI 36c20e
This provides shared library, libopenswitch.so and the openvswitch header
Open vSwitch CI 36c20e
files needed to build an external application.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
Open vSwitch CI 36c20e
%package -n network-scripts-%{name}
Open vSwitch CI 36c20e
Summary: Open vSwitch legacy network service support
Open vSwitch CI 36c20e
License: ASL 2.0
Open vSwitch CI 36c20e
Requires: network-scripts
Open vSwitch CI 36c20e
Supplements: (%{name} and network-scripts)
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description -n network-scripts-%{name}
Open vSwitch CI 36c20e
This provides the ifup and ifdown scripts for use with the legacy network
Open vSwitch CI 36c20e
service.
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{with ipsec}
Open vSwitch CI 36c20e
%package ipsec
Open vSwitch CI 36c20e
Summary: Open vSwitch IPsec tunneling support
Open vSwitch CI 36c20e
License: ASL 2.0
Open vSwitch CI 36c20e
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 36c20e
Requires: libreswan
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%description ipsec
Open vSwitch CI 36c20e
This package provides IPsec tunneling support for OVS tunnels.
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%prep
Open vSwitch CI 36c20e
%if 0%{?commit:1}
Open vSwitch CI 36c20e
%setup -q -n ovs-%{commit} -a 10
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%setup -q -n ovs-%{version} -a 10
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%if ! %{external_sphinx}
Open vSwitch CI 36c20e
%if 0%{?commit:1}
Open vSwitch CI 36c20e
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%if 0%{?rhel} && 0%{?rhel} < 9
Open vSwitch CI 36c20e
%if 0%{?commit:1}
Open vSwitch CI 36c20e
%setup -n ovs-%{commit} -q -D -T -a 103
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%setup -n ovs-%{version} -q -D -T -a 103
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
mv dpdk-*/ %{dpdkdir}/
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{apply_patch}
Open vSwitch CI 36c20e
%patch -P0 -p1
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%build
Open vSwitch CI 36c20e
%if 0%{?rhel} && 0%{?rhel} < 9
Open vSwitch CI 36c20e
export PYTHONPATH="${PWD}/pyelftools-%{pyelftoolsver}"
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
# Build Sphinx on RHEL
Open vSwitch CI 36c20e
%if ! %{external_sphinx}
Open vSwitch CI 36c20e
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
Open vSwitch CI 36c20e
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
Open vSwitch CI 36c20e
    pushd "$x"
Open vSwitch CI 36c20e
    python2 setup.py install --home %{_builddir}/pytmp
Open vSwitch CI 36c20e
    popd
Open vSwitch CI 36c20e
done
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
export PATH="$PATH:%{_builddir}/pytmp/bin"
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
./boot.sh
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}    # build dpdk
Open vSwitch CI 36c20e
# Lets build DPDK first
Open vSwitch CI 36c20e
cd %{dpdkdir}
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
ENABLED_DRIVERS=(
Open vSwitch CI 36c20e
    bus/pci
Open vSwitch CI 36c20e
    bus/vdev
Open vSwitch CI 36c20e
    mempool/ring
Open vSwitch CI 36c20e
    net/failsafe
Open vSwitch CI 36c20e
    net/i40e
Open vSwitch CI 36c20e
    net/ring
Open vSwitch CI 36c20e
    net/vhost
Open vSwitch CI 36c20e
    net/virtio
Open vSwitch CI 36c20e
    net/tap
Open vSwitch CI 36c20e
)
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%ifarch x86_64
Open vSwitch CI 36c20e
ENABLED_DRIVERS+=(
Open vSwitch CI 36c20e
    baseband/acc
Open vSwitch CI 36c20e
    bus/auxiliary
Open vSwitch CI 36c20e
    bus/vmbus
Open vSwitch CI 36c20e
    common/iavf
Open vSwitch CI 36c20e
    common/mlx5
Open vSwitch CI 36c20e
    common/nfp
Open vSwitch CI 36c20e
    net/bnxt
Open vSwitch CI 36c20e
    net/enic
Open vSwitch CI 36c20e
    net/iavf
Open vSwitch CI 36c20e
    net/ice
Open vSwitch CI 36c20e
    net/mlx5
Open vSwitch CI 36c20e
    net/netvsc
Open vSwitch CI 36c20e
    net/nfp
Open vSwitch CI 36c20e
    net/qede
Open vSwitch CI 36c20e
    net/vdev_netvsc
Open vSwitch CI 36c20e
)
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%ifarch aarch64 x86_64
Open vSwitch CI 36c20e
ENABLED_DRIVERS+=(
Open vSwitch CI 36c20e
    net/e1000
Open vSwitch CI 36c20e
    net/ixgbe
Open vSwitch CI 36c20e
)
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
for driver in "${ENABLED_DRIVERS[@]}"; do
Open vSwitch CI 36c20e
    enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
Open vSwitch CI 36c20e
done
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# If doing any updates, this must be aligned with:
Open vSwitch CI 36c20e
# https://access.redhat.com/articles/3538141
Open vSwitch CI 36c20e
ENABLED_LIBS=(
Open vSwitch CI 36c20e
    bbdev
Open vSwitch CI 36c20e
    bitratestats
Open vSwitch CI 36c20e
    bpf
Open vSwitch CI 36c20e
    cmdline
Open vSwitch CI 36c20e
    cryptodev
Open vSwitch CI 36c20e
    dmadev
Open vSwitch CI 36c20e
    gro
Open vSwitch CI 36c20e
    gso
Open vSwitch CI 36c20e
    hash
Open vSwitch CI 36c20e
    ip_frag
Open vSwitch CI 36c20e
    latencystats
Open vSwitch CI 36c20e
    member
Open vSwitch CI 36c20e
    meter
Open vSwitch CI 36c20e
    metrics
Open vSwitch CI 36c20e
    pcapng
Open vSwitch CI 36c20e
    pdump
Open vSwitch CI 36c20e
    security
Open vSwitch CI 36c20e
    stack
Open vSwitch CI 36c20e
    vhost
Open vSwitch CI 36c20e
)
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
for lib in "${ENABLED_LIBS[@]}"; do
Open vSwitch CI 36c20e
    enable_libs="${enable_libs:+$enable_libs,}"$lib
Open vSwitch CI 36c20e
done
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%set_build_flags
Open vSwitch CI 36c20e
%__meson --prefix=%{_builddir}/dpdk-build \
Open vSwitch CI 36c20e
         --buildtype=plain \
Open vSwitch CI 36c20e
         -Denable_libs="$enable_libs" \
Open vSwitch CI 36c20e
         -Ddisable_apps="*" \
Open vSwitch CI 36c20e
         -Denable_drivers="$enable_drivers" \
Open vSwitch CI 36c20e
         -Dplatform=generic \
Open vSwitch CI 36c20e
         -Dmax_ethports=1024 \
Open vSwitch CI 36c20e
         -Dmax_numa_nodes=8 \
Open vSwitch CI 36c20e
         -Dtests=false \
Open vSwitch CI 36c20e
         %{_vpath_builddir}
Open vSwitch CI 36c20e
%meson_build
Open vSwitch CI 36c20e
%__meson install -C %{_vpath_builddir} --no-rebuild
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
Open vSwitch CI 36c20e
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Generate a list of supported drivers, its hard to tell otherwise.
Open vSwitch CI 36c20e
cat << EOF > README.DPDK-PMDS
Open vSwitch CI 36c20e
DPDK drivers included in this package:
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
EOF
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
Open vSwitch CI 36c20e
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
Open vSwitch CI 36c20e
done >> README.DPDK-PMDS
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
cat << EOF >> README.DPDK-PMDS
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
For further information about the drivers, see
Open vSwitch CI 36c20e
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
Open vSwitch CI 36c20e
EOF
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
cd -
Open vSwitch CI 36c20e
%endif    # build dpdk
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# And now for OVS...
Open vSwitch CI 36c20e
mkdir build-shared build-static
Open vSwitch CI 36c20e
pushd build-shared
Open vSwitch CI 36c20e
ln -s ../configure
Open vSwitch CI 36c20e
%configure \
Open vSwitch CI 36c20e
%if %{with libcapng}
Open vSwitch CI 36c20e
        --enable-libcapng \
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
        --disable-libcapng \
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
        --disable-static \
Open vSwitch CI 36c20e
        --enable-shared \
Open vSwitch CI 36c20e
        --enable-ssl \
Open vSwitch CI 36c20e
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
Open vSwitch CI 36c20e
        --enable-usdt-probes \
Open vSwitch CI 36c20e
        --disable-afxdp \
Open vSwitch CI 36c20e
        --with-version-suffix=-%{release}
Open vSwitch CI 36c20e
make %{?_smp_mflags}
Open vSwitch CI 36c20e
popd
Open vSwitch CI 36c20e
pushd build-static
Open vSwitch CI 36c20e
ln -s ../configure
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%configure \
Open vSwitch CI 36c20e
%if %{with libcapng}
Open vSwitch CI 36c20e
        --enable-libcapng \
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
        --disable-libcapng \
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
        --enable-ssl \
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
        --with-dpdk=static \
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
Open vSwitch CI 36c20e
        --enable-usdt-probes \
Open vSwitch CI 36c20e
        --disable-afxdp \
Open vSwitch CI 36c20e
        --with-version-suffix=-%{release}
Open vSwitch CI 36c20e
make %{?_smp_mflags}
Open vSwitch CI 36c20e
popd
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
/usr/bin/python3 build-aux/dpdkstrip.py \
Open vSwitch CI 36c20e
        --dpdk \
Open vSwitch CI 36c20e
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
Open vSwitch CI 36c20e
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%install
Open vSwitch CI 36c20e
rm -rf $RPM_BUILD_ROOT
Open vSwitch CI 36c20e
make -C build-shared install sbin_PROGRAMS=ovsdb/ovsdb-server DESTDIR=$RPM_BUILD_ROOT
Open vSwitch CI 36c20e
make -C build-static install bin_PROGRAMS= sbin_PROGRAMS=vswitchd/ovs-vswitchd DESTDIR=$RPM_BUILD_ROOT
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
Open vSwitch CI 36c20e
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch.conf
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
install -p -D -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch-hugetlbfs.conf
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0644 \
Open vSwitch CI 36c20e
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
for service in openvswitch ovsdb-server ovs-vswitchd \
Open vSwitch CI 36c20e
               ovs-delete-transient-ports; do
Open vSwitch CI 36c20e
        install -p -D -m 0644 \
Open vSwitch CI 36c20e
                        rhel/usr_lib_systemd_system_${service}.service \
Open vSwitch CI 36c20e
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
Open vSwitch CI 36c20e
done
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{with ipsec}
Open vSwitch CI 36c20e
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
Open vSwitch CI 36c20e
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -m 0755 rhel/etc_init.d_openvswitch \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -m 0644 vswitchd/vswitch.ovsschema \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?rhel} < 9
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
Open vSwitch CI 36c20e
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 36c20e
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
Open vSwitch CI 36c20e
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT%{python3_sitelib}
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# Build the JSON C extension for the Python lib (#1417738)
Open vSwitch CI 36c20e
pushd python
Open vSwitch CI 36c20e
(
Open vSwitch CI 36c20e
export CPPFLAGS="-I ../include -I ../build-shared/include"
Open vSwitch CI 36c20e
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
Open vSwitch CI 36c20e
%py3_build
Open vSwitch CI 36c20e
%py3_install
Open vSwitch CI 36c20e
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
Open vSwitch CI 36c20e
)
Open vSwitch CI 36c20e
popd
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
install -p -D -m 0755 \
Open vSwitch CI 36c20e
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 36c20e
# The db needs special permission as IPsec Pre-shared keys are stored in it.
Open vSwitch CI 36c20e
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# remove unpackaged files
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
Open vSwitch CI 36c20e
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if ! %{with ipsec}
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
# remove ovn unpackages files
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
Open vSwitch CI 36c20e
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%check
Open vSwitch CI 36c20e
%if %{with check}
Open vSwitch CI 36c20e
    pushd build-static
Open vSwitch CI 36c20e
    touch resolv.conf
Open vSwitch CI 36c20e
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
Open vSwitch CI 36c20e
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
Open vSwitch CI 36c20e
       make check TESTSUITEFLAGS='--recheck'; then :;
Open vSwitch CI 36c20e
    else
Open vSwitch CI 36c20e
        cat tests/testsuite.log
Open vSwitch CI 36c20e
        exit 1
Open vSwitch CI 36c20e
    fi
Open vSwitch CI 36c20e
    popd
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%if %{with check_datapath_kernel}
Open vSwitch CI 36c20e
    pushd build-static
Open vSwitch CI 36c20e
    if make check-kernel RECHECK=yes; then :;
Open vSwitch CI 36c20e
    else
Open vSwitch CI 36c20e
        cat tests/system-kmod-testsuite.log
Open vSwitch CI 36c20e
        exit 1
Open vSwitch CI 36c20e
    fi
Open vSwitch CI 36c20e
    popd
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%clean
Open vSwitch CI 36c20e
rm -rf $RPM_BUILD_ROOT
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%preun
Open vSwitch CI 36c20e
%if 0%{?systemd_preun:1}
Open vSwitch CI 36c20e
    %systemd_preun openvswitch.service
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
    if [ $1 -eq 0 ] ; then
Open vSwitch CI 36c20e
    # Package removal, not upgrade
Open vSwitch CI 36c20e
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
    fi
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%pre
Open vSwitch CI 36c20e
%sysusers_create_compat %{SOURCE2}
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
%sysusers_create_compat %{SOURCE3}
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%post
Open vSwitch CI 36c20e
if [ $1 -eq 1 ]; then
Open vSwitch CI 36c20e
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
    sed -i \
Open vSwitch CI 36c20e
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
Open vSwitch CI 36c20e
        /etc/sysconfig/openvswitch
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
fi
Open vSwitch CI 36c20e
chown -R openvswitch:openvswitch /etc/openvswitch
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?systemd_post:1}
Open vSwitch CI 36c20e
    %systemd_post openvswitch.service
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
    # Package install, not upgrade
Open vSwitch CI 36c20e
    if [ $1 -eq 1 ]; then
Open vSwitch CI 36c20e
        /bin/systemctl daemon-reload >dev/null || :
Open vSwitch CI 36c20e
    fi
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%postun
Open vSwitch CI 36c20e
%if 0%{?systemd_postun:1}
Open vSwitch CI 36c20e
    %systemd_postun openvswitch.service
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
Open vSwitch CI 36c20e
# old rpm versions restart the service in postun, but
Open vSwitch CI 36c20e
# due to systemd some preparation is needed.
Open vSwitch CI 36c20e
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
Open vSwitch CI 36c20e
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
    systemctl daemon-reload >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
    systemctl start openvswitch >/dev/null 2>&1 || :
Open vSwitch CI 36c20e
fi
Open vSwitch CI 36c20e
exit 0
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%files -n python3-%{pkgname}
Open vSwitch CI 36c20e
%{python3_sitearch}/ovs
Open vSwitch CI 36c20e
%{python3_sitearch}/ovs-*.egg-info
Open vSwitch CI 36c20e
%{_bindir}/ovs-flowviz
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-flowviz.8*
Open vSwitch CI 36c20e
%doc LICENSE
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%files test
Open vSwitch CI 36c20e
%{_bindir}/ovs-pcap
Open vSwitch CI 36c20e
%{_bindir}/ovs-tcpdump
Open vSwitch CI 36c20e
%{_bindir}/ovs-tcpundump
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/usdt/*
Open vSwitch CI 36c20e
%{_mandir}/man1/ovs-pcap.1*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-tcpdump.8*
Open vSwitch CI 36c20e
%{_mandir}/man1/ovs-tcpundump.1*
Open vSwitch CI 36c20e
%{_bindir}/ovs-test
Open vSwitch CI 36c20e
%{_bindir}/ovs-vlan-test
Open vSwitch CI 36c20e
%{_bindir}/ovs-l3ping
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-test.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-vlan-test.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-l3ping.8*
Open vSwitch CI 36c20e
%{python3_sitelib}/ovstest
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%files devel
Open vSwitch CI 36c20e
%{_libdir}/*.so
Open vSwitch CI 36c20e
%{_libdir}/pkgconfig/*.pc
Open vSwitch CI 36c20e
%{_includedir}/openvswitch/*
Open vSwitch CI 36c20e
%{_includedir}/openflow/*
Open vSwitch CI 36c20e
%exclude %{_libdir}/*.a
Open vSwitch CI 36c20e
%exclude %{_libdir}/*.la
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
Open vSwitch CI 36c20e
%files -n network-scripts-%{name}
Open vSwitch CI 36c20e
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 36c20e
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%files
Open vSwitch CI 36c20e
%defattr(-,openvswitch,openvswitch)
Open vSwitch CI 36c20e
%dir %{_sysconfdir}/openvswitch
Open vSwitch CI 36c20e
%{_sysconfdir}/openvswitch/default.conf
Open vSwitch CI 36c20e
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 36c20e
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
Open vSwitch CI 36c20e
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
Open vSwitch CI 36c20e
%defattr(-,root,root)
Open vSwitch CI 36c20e
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
Open vSwitch CI 36c20e
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
Open vSwitch CI 36c20e
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
Open vSwitch CI 36c20e
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
Open vSwitch CI 36c20e
%{_unitdir}/openvswitch.service
Open vSwitch CI 36c20e
%{_unitdir}/ovsdb-server.service
Open vSwitch CI 36c20e
%{_unitdir}/ovs-vswitchd.service
Open vSwitch CI 36c20e
%{_unitdir}/ovs-delete-transient-ports.service
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/openvswitch.init
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-lib
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-save
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-vtep
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-ctl
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
Open vSwitch CI 36c20e
%config %{_datadir}/openvswitch/local-config.ovsschema
Open vSwitch CI 36c20e
%config %{_datadir}/openvswitch/vswitch.ovsschema
Open vSwitch CI 36c20e
%config %{_datadir}/openvswitch/vtep.ovsschema
Open vSwitch CI 36c20e
%{_bindir}/ovs-appctl
Open vSwitch CI 36c20e
%{_bindir}/ovs-dpctl
Open vSwitch CI 36c20e
%{_bindir}/ovs-ofctl
Open vSwitch CI 36c20e
%{_bindir}/ovs-vsctl
Open vSwitch CI 36c20e
%{_bindir}/ovsdb-client
Open vSwitch CI 36c20e
%{_bindir}/ovsdb-tool
Open vSwitch CI 36c20e
%{_bindir}/ovs-pki
Open vSwitch CI 36c20e
%{_bindir}/vtep-ctl
Open vSwitch CI 36c20e
%{_libdir}/*.so.*
Open vSwitch CI 36c20e
%{_sbindir}/ovs-vswitchd
Open vSwitch CI 36c20e
%{_sbindir}/ovsdb-server
Open vSwitch CI 36c20e
%{_mandir}/man1/ovsdb-client.1*
Open vSwitch CI 36c20e
%{_mandir}/man1/ovsdb-server.1*
Open vSwitch CI 36c20e
%{_mandir}/man1/ovsdb-tool.1*
Open vSwitch CI 36c20e
%{_mandir}/man5/ovsdb.5*
Open vSwitch CI 36c20e
%{_mandir}/man5/ovsdb.local-config.5*
Open vSwitch CI 36c20e
%{_mandir}/man5/ovsdb-server.5.*
Open vSwitch CI 36c20e
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
Open vSwitch CI 36c20e
%{_mandir}/man5/vtep.5*
Open vSwitch CI 36c20e
%{_mandir}/man7/ovsdb-server.7*
Open vSwitch CI 36c20e
%{_mandir}/man7/ovsdb.7*
Open vSwitch CI 36c20e
%{_mandir}/man7/ovs-actions.7*
Open vSwitch CI 36c20e
%{_mandir}/man7/ovs-fields.7*
Open vSwitch CI 36c20e
%{_mandir}/man8/vtep-ctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-appctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-ctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-dpctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-kmod-ctl.8.*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-ofctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-pki.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-vsctl.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-vswitchd.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-parse-backtrace.8*
Open vSwitch CI 36c20e
%{_udevrulesdir}/91-vfio.rules
Open vSwitch CI 36c20e
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
%doc %{dpdkdir}/README.DPDK-PMDS
Open vSwitch CI 36c20e
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
Open vSwitch CI 36c20e
%else
Open vSwitch CI 36c20e
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
/var/lib/openvswitch
Open vSwitch CI 36c20e
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/bugtool-plugins/
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
Open vSwitch CI 36c20e
%{_bindir}/ovs-dpctl-top
Open vSwitch CI 36c20e
%{_sbindir}/ovs-bugtool
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-dpctl-top.8*
Open vSwitch CI 36c20e
%{_mandir}/man8/ovs-bugtool.8*
Open vSwitch CI 36c20e
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
Open vSwitch CI 36c20e
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 36c20e
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
%{_sysusersdir}/openvswitch.conf
Open vSwitch CI 36c20e
%ifarch %{dpdkarches}
Open vSwitch CI 36c20e
%{_sysusersdir}/openvswitch-hugetlbfs.conf
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%if %{with ipsec}
Open vSwitch CI 36c20e
%files ipsec
Open vSwitch CI 36c20e
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
Open vSwitch CI 36c20e
%{_unitdir}/openvswitch-ipsec.service
Open vSwitch CI 36c20e
%endif
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
%changelog
Open vSwitch CI c3a679
* Thu Feb 06 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.18
Open vSwitch CI c3a679
- Merging upstream branch-3.5 [RH git: d3ea8eae53]
Open vSwitch CI c3a679
    Commit list:
Open vSwitch CI c3a679
    63785d16db fedora: Don't generate network-scripts-openvswitch for ver > 40.
Open vSwitch CI c3a679
Open vSwitch CI c3a679
Open vSwitch CI 593cc9
* Fri Jan 31 2025 Kevin Traynor <ktraynor@redhat.com> - 3.5.0-0.17
Open vSwitch CI 593cc9
- redhat: update ovsci Jenkins URL [RH git: 620501659b]
Open vSwitch CI 593cc9
    Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Open vSwitch CI 593cc9
Open vSwitch CI 593cc9
Open vSwitch CI 40b3de
* Thu Jan 30 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.16
Open vSwitch CI 40b3de
- Merging upstream branch-3.5 [RH git: bdadb926b5]
Open vSwitch CI 40b3de
    Commit list:
Open vSwitch CI 40b3de
    57c3cc37c8 route-table: Allow parsing routes without nexthop.
Open vSwitch CI 40b3de
    123798f7f7 sparse: Remove wrappers for some DPDK headers.
Open vSwitch CI 40b3de
Open vSwitch CI 40b3de
Open vSwitch CI 50fd88
* Wed Jan 29 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.15
Open vSwitch CI 50fd88
- Merging upstream branch-3.5 [RH git: 89c55b4126]
Open vSwitch CI 50fd88
    Commit list:
Open vSwitch CI 50fd88
    472143855b netdev-offload-tc: Fix ignore of dl type mask when installing flows. (FDP-1114)
Open vSwitch CI 50fd88
Open vSwitch CI 50fd88
Open vSwitch CI 50fd88
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.14
Open vSwitch CI 50fd88
- Merging upstream branch-3.5 [RH git: dc034df15a]
Open vSwitch CI 50fd88
    Commit list:
Open vSwitch CI 50fd88
    0aaa852402 faq: Update DPDK releases for older branches.
Open vSwitch CI 50fd88
Open vSwitch CI 50fd88
Open vSwitch CI 1b53c6
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.13
Open vSwitch CI 1b53c6
- Merging dpdk subtree [RH git: 644f6b4b63]
Open vSwitch CI 1b53c6
    Commit list:
Open vSwitch CI 1b53c6
    37ef93564c Merge branch 'private-dmarchan-FDP-1116' into '24.11'
Open vSwitch CI 1b53c6
    dfee4c06a7 Revert "vhost: revert VDUSE uAPI header" (FDP-1116)
Open vSwitch CI 1b53c6
Open vSwitch CI 1b53c6
Open vSwitch CI f7646c
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.12
Open vSwitch CI f7646c
- Merging upstream branch-3.5 [RH git: 4914e17078]
Open vSwitch CI f7646c
    Commit list:
Open vSwitch CI f7646c
    09095c6988 AUTHORS: Add Markus Linnala.
Open vSwitch CI f7646c
    cb7a446902 utilities/bashcomp: Do not run ovs-vsctl when not possible.
Open vSwitch CI f7646c
Open vSwitch CI f7646c
Open vSwitch CI 36c20e
* Thu Jan 23 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.11
Open vSwitch CI 36c20e
- Merging upstream branch-3.5 [RH git: 8a2fa92ce8]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    c0c61e12f6 ofproto-macros.at: Fix hex matching in the strip_recird() macro.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Tue Jan 21 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.10
Open vSwitch CI 36c20e
- Merging upstream branch-3.5 [RH git: cdcc237376]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    84768a4b05 route-table: Use ofpbuf_use_const() for multipath attributes.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Tue Jan 21 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.9
Open vSwitch CI 36c20e
- Merging upstream branch-3.5 [RH git: 6b3eee585b]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    6e708a0433 route-table: Fix potential memory leak.
Open vSwitch CI 36c20e
    ee9b72178e route-table: Avoid potential NULL ptr dereference.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Tue Jan 21 2025 Flavio Leitner <fbl@redhat.com> - 3.5.0-0.8
Open vSwitch CI 36c20e
- Use pre-release prefix in the changelog. [RH git: 38ae83b5f6]
Open vSwitch CI 36c20e
    Fix pkgtool to use the pre-release prefix in the
Open vSwitch CI 36c20e
    package changelog.
Open vSwitch CI 36c20e
    
Open vSwitch CI 36c20e
    Signed-off-by: Flavio Leitner <fbl@redhat.com>
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Mon Jan 20 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.7
Open vSwitch CI 36c20e
- Merging upstream branch-3.5 [RH git: 31977248c1]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    09f3b32a31 ofp-ct: Add missing struct declaration.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Mon Jan 20 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.6
Open vSwitch CI 36c20e
- Merging dpdk subtree [RH git: 8ac33dad6e]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    f4db1f3496 vhost: reset packets count when not ready (FDP-1087)
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Fri Jan 17 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.5
Open vSwitch CI 36c20e
- Merging upstream branch-3.5 [RH git: 4af0728b21]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    005e258920 Prepare for 3.5.0.
Open vSwitch CI 36c20e
    2276c3a2c6 userspace: Support GRE TSO.
Open vSwitch CI 36c20e
    d68b73e2f1 docs: Update userspace TSO tunnel fallback documentation.
Open vSwitch CI 36c20e
    a4efa07881 docs: Add tunnel support to TSO GRE documentation.
Open vSwitch CI 36c20e
    91fc51106c route-table: Support parsing multipath routes.
Open vSwitch CI 36c20e
    50f7d2082b route-table: Export route table sync functions.
Open vSwitch CI 36c20e
    da58f0291e route-table: Use correct type for nlmsg_type.
Open vSwitch CI 36c20e
    18aa16831f route-table: Rename route_data mark to rta_mark.
Open vSwitch CI 36c20e
    ca8f5af37d route-table: Rename route_data local to rtn_local.
Open vSwitch CI 36c20e
    a75eb54643 route-table: Store original value for rtm_dst_len.
Open vSwitch CI 36c20e
    e573adeecb route-table: Use callback for handling route msgs.
Open vSwitch CI 36c20e
    e15910ddc0 route-table: Use RTA_TABLE for route table filter.
Open vSwitch CI 36c20e
    9d9a99d157 route-table: Support parsing RTA_VIA attribute.
Open vSwitch CI 36c20e
    6f9196a3d0 route-table: Store nexthops in linked list.
Open vSwitch CI 36c20e
    583dd0315c route-table: Harmonize log msgs with code base.
Open vSwitch CI 36c20e
    910bc81e66 route-table: Rename static nln callback buffer.
Open vSwitch CI 36c20e
    71785737de route-table: Split header and attribute parsing.
Open vSwitch CI 36c20e
    78d10bdc31 route-table: Store route protocol.
Open vSwitch CI 36c20e
    10ae7983e8 route-table: Store route priority.
Open vSwitch CI 36c20e
    903989bdb4 route-table: Store route table ID.
Open vSwitch CI 36c20e
    e67f317ef1 ovs-ctl: Fix inability to set custom options for ovs-monitor-ipsec.
Open vSwitch CI 36c20e
    fe1d48dba2 rhel, debian: Add missing restart policy to ipsec service.
Open vSwitch CI 36c20e
    656c95e133 rhel, debian: Fix systemd monitoring wrong pid for ovs-monitor-ipsec.
Open vSwitch CI 36c20e
    867093679b dpif-netdev: Modify code comments for function parse_tcp_flags.
Open vSwitch CI 36c20e
    c3f4d9fe54 ipf: Fix the over-sized reassembly.
Open vSwitch CI 36c20e
    367e0fff23 debian: Let *-ctl handle runtime directory.
Open vSwitch CI 36c20e
    3f19558e73 debian: Use PIDFile with systemd.
Open vSwitch CI 36c20e
    439e0bf2f8 debian: Add X-Python3-Version stanza.
Open vSwitch CI 36c20e
    4ce47bbccf debian: Move ovs-flowviz to openvswitch-common.
Open vSwitch CI 36c20e
    96d5bcf991 debian: Drop hard Python dep where appropriate.
Open vSwitch CI 36c20e
    f64e94d8d6 debian: Drop shlibs:Depends macro for -ipsec.
Open vSwitch CI 36c20e
    0ff25dfca5 debian: Drop python3:Depends macro for -vtep.
Open vSwitch CI 36c20e
    6a1a5f2eec python: Allow ovs-flowviz to run without graphviz.
Open vSwitch CI 36c20e
    e4193663af debian: Use pybuild to handle OVS Python module.
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Fri Jan 17 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.4
Open vSwitch CI 36c20e
- Merging dpdk subtree [RH git: 32c1f281cc]
Open vSwitch CI 36c20e
    Commit list:
Open vSwitch CI 36c20e
    f2eea2f37a version: 24.11.1
Open vSwitch CI 36c20e
    fdf13ea6fe net/virtio: fix Rx checksum calculation
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Wed Jan 15 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.3
Open vSwitch CI 36c20e
- Add ovs-flowviz files to spec template [RH git: cd6d5f1b65]
Open vSwitch CI 36c20e
    Signed-off-by: Michael Santana <msantana@redhat.com>
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Tue Jan 14 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.2
Open vSwitch CI 36c20e
- pkgtool: OVS_SHA_REF should not be mandatory [RH git: d25ac96b2b]
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e
* Tue Jan 14 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.1
Open vSwitch CI 36c20e
- redhat: Imported Red Hat OVS 3.5 build files. [RH git: 9fc184c493]
Open vSwitch CI 36c20e
Open vSwitch CI 36c20e