# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. # # If tests have to be skipped while building, specify the '--without check' # option. For example: # rpmbuild -bb --without check rhel/openvswitch-fedora.spec # This defines the base package name's version. %define pkgname openvswitch2.13 #%%global commit0 2a4f006c79c06628634490627ac72d8c76477e56 #%%global date 20200121 #%%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) # DPDK commit #%%global commit1 ef8b7c505f10897621c0801d8ef3e961385246f8 #%%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) # Enable PIE, bz#955181 %global _hardened_build 1 # RHEL-7 doesn't define _rundir macro yet # Fedora 15 onwards uses /run as _rundir %if 0%{!?_rundir:1} %define _rundir /run %endif # FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x # FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11 %ifarch %{ix86} x86_64 aarch64 %bcond_without check %else %bcond_with check %endif # option to run kernel datapath tests, requires building as root! %bcond_with check_datapath_kernel # option to build with libcap-ng, needed for running OVS as regular user %bcond_without libcapng # option to build with ipsec support %bcond_without ipsec # Build python2 (that provides python) and python3 subpackages on Fedora # Build only python3 (that provides python) subpackage on RHEL8 # Build only python subpackage on RHEL7 %if 0%{?rhel} > 7 || 0%{?fedora} # On RHEL8 Sphinx is included in buildroot %global external_sphinx 1 %else # Don't use external sphinx (RHV doesn't have optional repositories enabled) %global external_sphinx 0 %endif Name: %{pkgname} Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.13.0 Release: 107%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL # datapath/ is GPLv2 (although not built into any of the binary packages) License: ASL 2.0 and LGPLv2+ and SISSL %define dpdkver %{?commit1}%{!?commit1:19.11} %define dpdkdir dpdk %define dpdksver %(echo %{dpdkver} | cut -d. -f-2) # NOTE: DPDK does not currently build for s390x # DPDK on aarch64 is not stable enough to be enabled in FDP %define dpdkarches x86_64 ppc64le %if 0%{?commit0:1} Source: https://github.com/openvswitch/ovs/archive/%{commit0}.tar.gz#/openvswitch-%{shortcommit0}.tar.gz %else Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz %endif %if 0%{?commit1:1} Source10: https://git.dpdk.org/dpdk/snapshot/dpdk-%{dpdkver}.tar.xz %else Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz %endif %define docutilsver 0.12 %define pygmentsver 1.4 %define sphinxver 1.1.3 Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz Source500: configlib.sh Source502: set_config.sh # Important: source503 is used as the actual copy file # @TODO: this causes a warning - fix it? Source504: arm64-armv8a-linuxapp-gcc-config Source505: ppc_64-power8-linuxapp-gcc-config Source506: x86_64-native-linuxapp-gcc-config Patch: openvswitch-%{version}.patch # The DPDK is designed to optimize througput of network traffic using, among # other techniques, carefully crafted assembly instructions. As such it # needs extensive work to port it to other architectures. ExclusiveArch: x86_64 aarch64 ppc64le s390x # Do not enable this otherwise YUM will break on any upgrade. # Provides: openvswitch Conflicts: openvswitch < 2.13 Conflicts: openvswitch-dpdk < 2.13 Conflicts: openvswitch2.10 Conflicts: openvswitch2.11 Conflicts: openvswitch2.12 # dpdk_mach_arch maps between rpm and dpdk arch name, often same as _target_cpu # dpdk_mach_tmpl is the config template dpdk_mach name, often "native" # dpdk_mach is the actual dpdk_mach name used in the dpdk make system %ifarch x86_64 %define dpdk_mach_arch x86_64 %define dpdk_mach_tmpl native %define dpdk_mach default %endif %ifarch aarch64 %define dpdk_mach_arch arm64 %define dpdk_mach_tmpl armv8a %define dpdk_mach armv8a %endif %ifarch ppc64le %define dpdk_mach_arch ppc_64 %define dpdk_mach_tmpl power8 %define dpdk_mach power8 %endif %define dpdktarget %{dpdk_mach_arch}-%{dpdk_mach_tmpl}-linuxapp-gcc # FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's # in the -optional repository and so we can't require it directly since RHV # doesn't have the -optional repository enabled and so TPS fails %if %{external_sphinx} BuildRequires: python3-sphinx %else # Sphinx dependencies BuildRequires: python-devel BuildRequires: python-setuptools #BuildRequires: python2-docutils BuildRequires: python-jinja2 BuildRequires: python-nose #BuildRequires: python2-pygments # docutils dependencies BuildRequires: python-imaging # pygments dependencies BuildRequires: python-nose %endif BuildRequires: gcc gcc-c++ make BuildRequires: autoconf automake libtool BuildRequires: systemd-units openssl openssl-devel BuildRequires: python3-devel python3-setuptools BuildRequires: desktop-file-utils BuildRequires: groff-base graphviz BuildRequires: unbound-devel # make check dependencies BuildRequires: procps-ng %if 0%{?rhel} > 7 || 0%{?fedora} BuildRequires: python3-pyOpenSSL %endif %if %{with check_datapath_kernel} BuildRequires: nmap-ncat # would be useful but not available in RHEL or EPEL #BuildRequires: pyftpdlib %endif %if %{with libcapng} BuildRequires: libcap-ng libcap-ng-devel %endif %ifarch %{dpdkarches} # DPDK driver dependencies BuildRequires: zlib-devel numactl-devel %ifarch x86_64 BuildRequires: rdma-core-devel >= 15 libmnl-devel %endif # Required by packaging policy for the bundled DPDK Provides: bundled(dpdk) = %{dpdkver} %endif Requires: openssl iproute module-init-tools #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3 #Requires: kernel >= 3.15.0-0 Requires: openvswitch-selinux-extra-policy Requires(pre): shadow-utils Requires(post): /bin/sed Requires(post): /usr/sbin/usermod Requires(post): /usr/sbin/groupadd Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units Obsoletes: openvswitch-controller <= 0:2.1.0-1 %description Open vSwitch provides standard network bridging functions and support for the OpenFlow protocol for remote per-flow control of traffic. %package -n python3-%{pkgname} Summary: Open vSwitch python3 bindings License: ASL 2.0 Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release} Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release} %description -n python3-%{pkgname} Python bindings for the Open vSwitch database %package test Summary: Open vSwitch testing utilities License: ASL 2.0 BuildArch: noarch Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: tcpdump %description test Utilities that are useful to diagnose performance and connectivity issues in Open vSwitch setup. %package devel Summary: Open vSwitch OpenFlow development package (library, headers) License: ASL 2.0 Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release} %description devel This provides shared library, libopenswitch.so and the openvswitch header files needed to build an external application. %if 0%{?rhel} > 7 || 0%{?fedora} > 28 %package -n network-scripts-%{name} Summary: Open vSwitch legacy network service support License: ASL 2.0 Requires: network-scripts Supplements: (%{name} and network-scripts) %description -n network-scripts-%{name} This provides the ifup and ifdown scripts for use with the legacy network service. %endif %if %{with ipsec} %package ipsec Summary: Open vSwitch IPsec tunneling support License: ASL 2.0 Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: libreswan %description ipsec This package provides IPsec tunneling support for OVS tunnels. %endif %prep %if 0%{?commit0:1} %setup -q -n ovs-%{commit0} -a 10 %else %setup -q -n ovs-%{version} -a 10 %endif %if ! %{external_sphinx} %if 0%{?commit0:1} %setup -n ovs-%{commit0} -q -D -T -a 100 -a 101 -a 102 %else %setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102 %endif %endif mv dpdk-*/ %{dpdkdir}/ %patch -p1 %build # Build Sphinx on RHEL %if ! %{external_sphinx} export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python" for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do pushd "$x" python2 setup.py install --home %{_builddir}/pytmp popd done export PATH="$PATH:%{_builddir}/pytmp/bin" %endif %if 0%{?commit0:1} # fix the snapshot unreleased version to be the released one. sed -i.old -e "s/^AC_INIT(openvswitch,.*,/AC_INIT(openvswitch, %{version},/" configure.ac %endif ./boot.sh %ifarch %{dpdkarches} # build dpdk # Lets build DPDK first cd %{dpdkdir} # In case dpdk-devel is installed unset RTE_SDK RTE_INCLUDE RTE_TARGET # Avoid appending second -Wall to everything, it breaks upstream warning # disablers in makefiles. Strip explicit -march= from optflags since they # will only guarantee build failures, DPDK is picky with that. # Note: _hardening_ldflags has to go on the extra cflags line because dpdk is # astoundingly convoluted in how it processes its linker flags. Fixing it in # dpdk is the preferred solution, but adjusting to allow a gcc option in the # ldflags, even when gcc is used as the linker, requires large tree-wide changes touch obj.o gcc -### obj.o 2>&1 | awk '/.*collect2.*/ { print $0}' | sed -e 's/\S*\.res\S*//g' -e 's/-z \S*//g' -e 's/[^ ]*\.o//g' -e 's/ /\n/g' | sort -u > ./noopts.txt gcc -### $RPM_LD_FLAGS obj.o 2>&1 | awk '/.*collect2.*/ {print $0}' | sed -e 's/\S*\.res\S*//g' -e 's/-z \S*//g' -e 's/[^ ]*\.o//g' -e 's/ /\n/g' | sort -u > ./opts.txt EXTRA_RPM_LDFLAGS=$(comm -13 ./noopts.txt ./opts.txt) rm -f obj.o export EXTRA_CFLAGS="$(echo %{optflags} | sed -e 's:-Wall::g' -e 's:-march=[[:alnum:]]* ::g') -Wformat -fPIC -fcommon %{_hardening_ldflags}" export EXTRA_LDFLAGS=$(echo %{__global_ldflags} | sed -e's/-Wl,//g' -e's/-spec.*//') export HOST_EXTRA_CFLAGS="$EXTRA_CFLAGS $EXTRA_RPM_LDFLAGS" export EXTRA_HOST_LDFLAGS="$EXTRA_RPM_LDFLAGS $(echo %{__global_ldflags} | sed -e's/-spec.*//')" # DPDK defaults to using builder-specific compiler flags. However, # the config has been changed by specifying CONFIG_RTE_MACHINE=default # in order to build for a more generic host. NOTE: It is possible that # the compiler flags used still won't work for all Fedora-supported # dpdk_machs, but runtime checks in DPDK will catch those situations. make V=1 O=%{dpdktarget} T=%{dpdktarget} %{?_smp_mflags} config cp -f %{SOURCE500} %{SOURCE502} "%{_sourcedir}/%{dpdktarget}-config" . %{SOURCE502} %{dpdktarget}-config "%{dpdktarget}/.config" # Currently RHEL8.3+ includes binutils 2.30 with the patch to fix AVX512 support backported (#1870039), # but DPDK 19.11 blindly disables AVX512 support if ld version < 2.32 binutils_version=$(rpm -q --qf '%%{version}-%%{release}' binutils) if [ "$binutils_version" "<" "2.30-79.el8" ]; then make V=1 O=%{dpdktarget} %{?_smp_mflags} else make LD_VERSION=2.32 V=1 O=%{dpdktarget} %{?_smp_mflags} fi # Generate a list of supported drivers, its hard to tell otherwise. cat << EOF > README.DPDK-PMDS DPDK drivers included in this package: EOF for f in $(ls %{dpdk_mach_arch}-%{dpdk_mach_tmpl}-linuxapp-gcc/lib/lib*_pmd_*); do basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:] done >> README.DPDK-PMDS cat << EOF >> README.DPDK-PMDS For further information about the drivers, see http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html EOF cd - %endif # build dpdk # And now for OVS... mkdir build-shared build-static pushd build-shared ln -s ../configure %configure \ %if %{with libcapng} --enable-libcapng \ %else --disable-libcapng \ %endif --disable-static \ --enable-shared \ --enable-ssl \ --with-pkidir=%{_sharedstatedir}/openvswitch/pki make %{?_smp_mflags} popd pushd build-static ln -s ../configure %configure \ %if %{with libcapng} --enable-libcapng \ %else --disable-libcapng \ %endif --enable-ssl \ %ifarch %{dpdkarches} --with-dpdk=$(pwd)/../%{dpdkdir}/%{dpdktarget} \ %endif --with-pkidir=%{_sharedstatedir}/openvswitch/pki \ ac_cv_search_mlx5dv_create_wq=-lmlx5 # mlx5dv_create_wq was added in rdma-core 16 since it's the first # officially released release that adds support for mlx offloading, # but currently on RHEL 7.7 we still have rdma-core 15 (with the # offloading commits backported) and so configure is not able to detect # it. make %{?_smp_mflags} popd /usr/bin/python3 build-aux/dpdkstrip.py \ --dpdk \ < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \ > rhel/usr_lib_systemd_system_ovs-vswitchd.service %install rm -rf $RPM_BUILD_ROOT make -C build-shared install-libLTLIBRARIES DESTDIR=$RPM_BUILD_ROOT make -C build-static install DESTDIR=$RPM_BUILD_ROOT install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \ $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules install -p -D -m 0644 \ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch for service in openvswitch ovsdb-server ovs-vswitchd \ ovs-delete-transient-ports; do install -p -D -m 0644 \ rhel/usr_lib_systemd_system_${service}.service \ $RPM_BUILD_ROOT%{_unitdir}/${service}.service done %if %{with ipsec} install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \ $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service %endif install -m 0755 rhel/etc_init.d_openvswitch \ $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init install -p -D -m 0644 rhel/etc_openvswitch_default.conf \ $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \ $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch install -m 0644 vswitchd/vswitch.ovsschema \ $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib} cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \ $RPM_BUILD_ROOT%{python3_sitelib} # Build the JSON C extension for the Python lib (#1417738) pushd python ( export CPPFLAGS="-I ../include -I ../build-shared/include" export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}" %py3_build %py3_install [ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ] ) popd rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ install -p -D -m 0755 \ rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \ $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db # The db needs special permission as IPsec Pre-shared keys are stored in it. chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf # remove unpackaged files rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \ $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \ $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \ $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \ $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \ $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \ $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \ $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8* %if ! %{with ipsec} rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec %endif # remove ovn unpackages files rm -f $RPM_BUILD_ROOT%{_bindir}/ovn* rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn* rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn* rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn* rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn* rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn* rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn* rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/* %check %if %{with check} pushd build-static touch resolv.conf export OVS_RESOLV_CONF=$(pwd)/resolv.conf if make check TESTSUITEFLAGS='%{_smp_mflags}' || make check TESTSUITEFLAGS='--recheck'; then :; else cat tests/testsuite.log exit 1 fi popd %endif %if %{with check_datapath_kernel} pushd build-static if make check-kernel RECHECK=yes; then :; else cat tests/system-kmod-testsuite.log exit 1 fi popd %endif %clean rm -rf $RPM_BUILD_ROOT %preun %if 0%{?systemd_preun:1} %systemd_preun openvswitch.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || : /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || : fi %endif %pre getent group openvswitch >/dev/null || groupadd -r openvswitch getent passwd openvswitch >/dev/null || \ useradd -r -g openvswitch -d / -s /sbin/nologin \ -c "Open vSwitch Daemons" openvswitch %ifarch %{dpdkarches} getent group hugetlbfs >/dev/null || groupadd hugetlbfs usermod -a -G hugetlbfs openvswitch %endif exit 0 %post if [ $1 -eq 1 ]; then sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch %ifarch %{dpdkarches} sed -i \ 's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\ /etc/sysconfig/openvswitch %endif fi chown -R openvswitch:openvswitch /etc/openvswitch %if 0%{?systemd_post:1} %systemd_post openvswitch.service %else # Package install, not upgrade if [ $1 -eq 1 ]; then /bin/systemctl daemon-reload >dev/null || : fi %endif %postun %if 0%{?systemd_postun:1} %systemd_postun openvswitch.service %else /bin/systemctl daemon-reload >/dev/null 2>&1 || : %endif %triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist} # old rpm versions restart the service in postun, but # due to systemd some preparation is needed. if systemctl is-active openvswitch >/dev/null 2>&1 ; then /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || : systemctl daemon-reload >/dev/null 2>&1 || : systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || : systemctl start openvswitch >/dev/null 2>&1 || : fi exit 0 %files -n python3-%{pkgname} %{python3_sitearch}/ovs %{python3_sitearch}/ovs-*.egg-info %doc LICENSE %files test %{_bindir}/ovs-pcap %{_bindir}/ovs-tcpdump %{_bindir}/ovs-tcpundump %{_mandir}/man1/ovs-pcap.1* %{_mandir}/man8/ovs-tcpdump.8* %{_mandir}/man1/ovs-tcpundump.1* %{_bindir}/ovs-test %{_bindir}/ovs-vlan-test %{_bindir}/ovs-l3ping %{_mandir}/man8/ovs-test.8* %{_mandir}/man8/ovs-vlan-test.8* %{_mandir}/man8/ovs-l3ping.8* %{python3_sitelib}/ovstest %files devel %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %{_includedir}/openvswitch/* %{_includedir}/openflow/* %exclude %{_libdir}/*.a %exclude %{_libdir}/*.la %if 0%{?rhel} > 7 || 0%{?fedora} > 28 %files -n network-scripts-%{name} %{_sysconfdir}/sysconfig/network-scripts/ifup-ovs %{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs %endif %files %defattr(-,openvswitch,openvswitch) %dir %{_sysconfdir}/openvswitch %{_sysconfdir}/openvswitch/default.conf %config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db %ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~ %config %ghost %{_sysconfdir}/openvswitch/system-id.conf %defattr(-,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch %{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash %{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch %{_unitdir}/openvswitch.service %{_unitdir}/ovsdb-server.service %{_unitdir}/ovs-vswitchd.service %{_unitdir}/ovs-delete-transient-ports.service %{_datadir}/openvswitch/scripts/openvswitch.init %{_datadir}/openvswitch/scripts/ovs-check-dead-ifs %{_datadir}/openvswitch/scripts/ovs-lib %{_datadir}/openvswitch/scripts/ovs-save %{_datadir}/openvswitch/scripts/ovs-vtep %{_datadir}/openvswitch/scripts/ovs-ctl %{_datadir}/openvswitch/scripts/ovs-kmod-ctl %{_datadir}/openvswitch/scripts/ovs-systemd-reload %config %{_datadir}/openvswitch/vswitch.ovsschema %config %{_datadir}/openvswitch/vtep.ovsschema %{_bindir}/ovs-appctl %{_bindir}/ovs-dpctl %{_bindir}/ovs-ofctl %{_bindir}/ovs-vsctl %{_bindir}/ovsdb-client %{_bindir}/ovsdb-tool %{_bindir}/ovs-pki %{_bindir}/vtep-ctl %{_libdir}/*.so.* %{_sbindir}/ovs-vswitchd %{_sbindir}/ovsdb-server %{_mandir}/man1/ovsdb-client.1* %{_mandir}/man1/ovsdb-server.1* %{_mandir}/man1/ovsdb-tool.1* %{_mandir}/man5/ovsdb.5* %{_mandir}/man5/ovsdb-server.5.* %{_mandir}/man5/ovs-vswitchd.conf.db.5* %{_mandir}/man5/vtep.5* %{_mandir}/man7/ovsdb-server.7* %{_mandir}/man7/ovsdb.7* %{_mandir}/man7/ovs-actions.7* %{_mandir}/man7/ovs-fields.7* %{_mandir}/man8/vtep-ctl.8* %{_mandir}/man8/ovs-appctl.8* %{_mandir}/man8/ovs-ctl.8* %{_mandir}/man8/ovs-dpctl.8* %{_mandir}/man8/ovs-kmod-ctl.8.* %{_mandir}/man8/ovs-ofctl.8* %{_mandir}/man8/ovs-pki.8* %{_mandir}/man8/ovs-vsctl.8* %{_mandir}/man8/ovs-vswitchd.8* %{_mandir}/man8/ovs-parse-backtrace.8* %{_udevrulesdir}/91-vfio.rules %doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst %ifarch %{dpdkarches} %doc %{dpdkdir}/README.DPDK-PMDS %endif /var/lib/openvswitch %attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch %ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch %{_datadir}/openvswitch/bugtool-plugins/ %{_datadir}/openvswitch/scripts/ovs-bugtool-* %{_bindir}/ovs-dpctl-top %{_sbindir}/ovs-bugtool %{_mandir}/man8/ovs-dpctl-top.8* %{_mandir}/man8/ovs-bugtool.8* %if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29) %{_sysconfdir}/sysconfig/network-scripts/ifup-ovs %{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs %endif %if %{with ipsec} %files ipsec %{_datadir}/openvswitch/scripts/ovs-monitor-ipsec %{_unitdir}/openvswitch-ipsec.service %endif %changelog * Wed Apr 21 2021 Open vSwitch CI - 2.13.0-107 - Merging upstream branch-2.13 [9a8a64930161e8b1721509c8ca3562fbd837be49] * Tue Apr 20 2021 Timothy Redaelli - 2.13.0-106 - Fix typo in rh-mock-srpm [5641bf9d72c0bb4a56a4a84dfb9d673ef60b42ab] * Wed Apr 14 2021 Open vSwitch CI - 2.13.0-105 - Merging upstream branch-2.13 [0aaf7c02b702ebd002e5936868dd117706c505b4] * Fri Apr 09 2021 Open vSwitch CI - 2.13.0-104 - Merging upstream branch-2.13 [1334a398c9b34857cb1e2939b3aaa56277064d46] * Tue Apr 06 2021 Timothy Redaelli - 2.13.0-103 - Align DPDK config to 19.11.7 [62cff1abf5fda881c4e5b130df38372701d31ba4] * Tue Apr 06 2021 Timothy Redaelli - 2.13.0-102 - Merge tag 'c765f42e31c1baa8f4e7a9e01080f5474596ea98' into fast-datapath-rhel-8 [4ef8ee2e1a5edb1c1406f275032bc3d06ba139ca] * Fri Apr 02 2021 Open vSwitch CI - 2.13.0-101 - Merging upstream branch-2.13 [02b662f992b57ed2cc2274efb0033abae7bf2aa8] * Thu Apr 01 2021 Open vSwitch CI - 2.13.0-100 - Merging upstream branch-2.13 [7323d4b8e428cec0b48de457159861b8a1cdd410] * Tue Mar 30 2021 Open vSwitch CI - 2.13.0-99 - Merging upstream branch-2.13 [8e7dc3319c3b29a77620f75b1d42ff42fd174ecf] * Mon Mar 22 2021 Kevin Traynor - 2.13.0-98 - dpif-netdev: Allow PMD auto load balance with cross-numa. (#1938162) [edeaca020b9d40fed8a0a474f35eeec5ed4e338f] * Fri Mar 19 2021 Kevin Traynor - 2.13.0-97 - redhat: Update docs for test builds [0322f225d315978939c35b96237ffe611fa4fd1d] * Tue Mar 16 2021 Open vSwitch CI - 2.13.0-96 - Merging upstream branch-2.13 [bb107a7f7f27a7f3ad77cebc15049606e63568c2] * Mon Feb 15 2021 Eelco Chaudron - 2.13.0-95 - conntrack: add generic IP protocol support [6b3ca4b0282bb6e728066004fca47a0936e4b8c3] * Wed Feb 10 2021 Open vSwitch CI - 2.13.0-94 - Merging upstream branch-2.13 [8655a639ac7db93d02e3cd003cf5ae4f7acad10a] * Fri Feb 05 2021 Open vSwitch CI - 2.13.0-93 - Merging upstream branch-2.13 [2100324b58f204f956a35e9827d2d72e4d20b7d9] * Thu Feb 04 2021 Open vSwitch CI - 2.13.0-92 - Merging upstream branch-2.13 [92b77d14894afeb17d2b139e75670aaa29853511] * Wed Feb 03 2021 Open vSwitch CI - 2.13.0-91 - Merging upstream branch-2.13 [ea87c21ff21477eff945b07a755329f05d4466b7] * Tue Feb 02 2021 Timothy Redaelli - 2.13.0-90 - dpif-netdev: Add PMD auto load balance status log. [4fd540d8efc8369c6af05e5e266bf418afade8d3] * Tue Feb 02 2021 Timothy Redaelli - 2.13.0-89 - dpif-netdev: Add parameters to configure PMD auto load balance. [5935f7a9d8754ff0b5fadbc835c65dea9cdf1434] * Tue Feb 02 2021 Timothy Redaelli - 2.13.0-88 - dpif-netdev: Add log for PMD auto load balance interval parameter. [a8f4696c200ee9f1786b66fe6c7d7da4caa9924c] * Mon Feb 01 2021 Open vSwitch CI - 2.13.0-87 - Merging upstream branch-2.13 [d303f53850951fa26f6a832ffb2f437fcd4cf9f1] * Fri Jan 29 2021 Open vSwitch CI - 2.13.0-86 - Merging upstream branch-2.13 [2986e0866ea3d2c5e9a4b4fd43e81e1477c03686] * Thu Jan 28 2021 Open vSwitch CI - 2.13.0-85 - Merging upstream branch-2.13 [f2f6b58dd9df37438da9c7ef902decd613c787d6] * Thu Jan 28 2021 Timothy Redaelli - 2.13.0-84 - redhat: Use a mock config based on the buildsystem target [b820a7b8946c64749284b88538399dd2f9b411fe] * Thu Jan 28 2021 Flavio Leitner - 2.13.0-83 - Merging b37528cef7 conntrack: Fix the icmp conntrack new state. [dc913c7d4c23e792d4077c81bc65c025bc4c5f6c] * Thu Jan 28 2021 Flavio Leitner - 2.13.0-82 - Merging f383000ca6 acinclude: Strip out -mno-avx512f provided .. [304ba372e44e1f930d6a2134140db415d8d56922] * Wed Jan 20 2021 Timothy Redaelli - 2.13.0-81 - Enable AVX512 support on binutils >= 2.30-79.el8 [8b3f9929026f45837b5670fade0ffde616fde5bc] * Thu Jan 14 2021 Open vSwitch CI - 2.13.0-80 - Merging upstream branch-2.13 [b7a6e48410649f2d0029baaf499a5cf0619f4f34] * Wed Jan 06 2021 Open vSwitch CI - 2.13.0-79 - Merging upstream branch-2.13 [86c9f9af773d8564a7d26e4e80fba389617fab17] * Wed Dec 23 2020 Open vSwitch CI - 2.13.0-78 - Merging upstream branch-2.13 [2cfb47639f7b1e375f9802ab0c8a03265eeb6b24] * Fri Dec 04 2020 Open vSwitch CI - 2.13.0-77 - Merging upstream branch-2.13 [350e017b667ea581716c2c2bc6157beeb1e7fdca] * Fri Dec 04 2020 Open vSwitch CI - 2.13.0-76 - Merging upstream branch-2.13 [ece49fb665132c11fe815ae13e2bf7ecd36d9c9d] * Thu Dec 03 2020 Open vSwitch CI - 2.13.0-75 - Merging upstream branch-2.13 [3e10785905d14d986f5721ede1c2235d1912ffba] * Wed Dec 02 2020 Open vSwitch CI - 2.13.0-74 - Merging upstream branch-2.13 [773fc1e75ba2b56c434caa43f9f78fda02d82f23] * Thu Nov 19 2020 Timothy Redaelli - 2.13.0-73 - Fix building OVS on ppc64le and armv7hl with Python 3.9 [a6928f88b26288fe7f8716f1e326b09d2fe4423b] * Tue Nov 17 2020 Timothy Redaelli - 2.13.0-72 - redhat: Enable ipsec support (#1782141) [2c7306b51f559b492c2aed5baba63c41d06cf296] * Mon Nov 16 2020 Open vSwitch CI - 2.13.0-71 - Merging upstream branch-2.13 [2aae1815250d0236b6ee7f074f864bf4d2af5537] * Wed Nov 11 2020 Flavio Leitner - 2.13.0-70 - redhat: Fix conf.db permissions in the spec. [46d36172986f80091292beb55e2124d1d7a80a6e] * Wed Nov 11 2020 Flavio Leitner - 2.13.0-69 - Merging d43d10e10c netdev-offload-dpdk: Preserve HW statistics.. [a779495d0366223d2cdfd62ccd878ba68d6568df] * Mon Nov 09 2020 Flavio Leitner - 2.13.0-68 - Merging dc5b4e8f69 ovs-bugtool: Fix crash when enable --ovs. [de7f5508d74813425812e10fe2bf59d1770e1f23] * Thu Nov 05 2020 Ilya Maximets - 2.13.0-67 - Merging upstream branch-2.13 [03753de14fe750a686db5eb0ce9a16df89e0d647] * Wed Nov 04 2020 Ilya Maximets - 2.13.0-66 - Merging upstream branch-2.13 [373b7e9f5192ac2d757e6750e9468746d2f6c52f] * Tue Oct 27 2020 Open vSwitch CI - 2.13.0-65 - Merging upstream branch-2.13 [f9a054c1b5f25a501106bec2fb5b9cf1259ddca0] * Sat Oct 24 2020 Open vSwitch CI - 2.13.0-64 - Merging upstream branch-2.13 [73eb33dcf1bf45fb35c125e4573bf130bc181d16] * Wed Oct 21 2020 Open vSwitch CI - 2.13.0-63 - Merging upstream branch-2.13 [6f80f8c230dadd1c4c8a6830aab018271b79f66e] * Wed Oct 21 2020 Timothy Redaelli - 2.13.0-62 - redhat: Add conflicts for older versioned packages (#1886836) [b1f563c73886c6bded2f4b076f52caa5b12cd026] * Fri Oct 09 2020 Open vSwitch CI - 2.13.0-61 - Merging upstream branch-2.13 [fa57a21817ef306b17d45fe9e64dda8ad86a806f] * Wed Sep 16 2020 Open vSwitch CI - 2.13.0-60 - Merging upstream branch-2.13 [38d21cf4eb02e273ef28b46e63bcf877d5a672ea] * Thu Sep 10 2020 Open vSwitch CI - 2.13.0-59 - Merging upstream branch-2.13 [4fbcdeb187628b2eedc607f45b70fdff68f7ea26] * Thu Aug 27 2020 Open vSwitch CI - 2.13.0-58 - Merging upstream branch-2.13 [d5817ddabf270b2fcfd9694746b382a0d040727c] * Wed Aug 26 2020 Open vSwitch CI - 2.13.0-57 - Merging upstream branch-2.13 [2fe3a06bffcd907f8f6561ec0e56963de9766c97] * Tue Aug 18 2020 Flavio Leitner - 2.13.0-56 - dpdk: Updated configs to 19.11.3 [4e4acaf40ab114e958b299cdff55c11240bfd4da] * Tue Aug 18 2020 Flavio Leitner - 2.13.0-55 - Merging 798524b5e3 version: 19.11.3 (#1868709) [64c883ec66425ad67a70599c549008442e3217cd] * Thu Aug 13 2020 Open vSwitch CI - 2.13.0-54 - Merging upstream branch-2.13 [5dddb2d4f863203ec3560fcfaf8f20844b053073] * Mon Aug 10 2020 Open vSwitch CI - 2.13.0-53 - Merging upstream branch-2.13 [bb436c2999218e59e06f089b42e19d3778869c63] * Mon Aug 10 2020 Dumitru Ceara - 2.13.0-52 - ovsdb-server: Replace in-memory DB contents at raft install_snapshot. (#1867185) [9f646ec051fa2a2bf980843b7c1859479e87c228] * Sat Aug 08 2020 Flavio Leitner - 2.13.0-51 - redhat: Add support to custom RPM releases. [7eb5b56344c07f237b2883f655eeee9c1ea0535e] * Sat Aug 08 2020 Flavio Leitner - 2.13.0-50 - pkgtool: Use OVS static version in package NVR. [a0b572aaa173f2a4b4f57b8b396706777bf83395] * Thu Jul 30 2020 Timothy Redaelli - 2.13.0-49 - odp-util: Fix clearing match mask if set action is partially unnecessary. (#1862153) [6d85fea8b4c7db954c051d0bad7bc9505c1fdf7c] * Thu Jul 16 2020 Flavio Leitner - 2.13.0-48 - redhat: Clean old changelog entries. [6cf8d909e81a715a302a2c401ef60abcc726fc78] * Thu Jul 16 2020 Flavio Leitner - 2.13.0-47 - redhat: Update the documentation. [c9571d2dad6b1e47ba1d398350d8cd101a93e6a7] * Thu Jul 16 2020 Flavio Leitner - 2.13.0-46 - redhat: Add merge script. [752c59ba745c3c82bc7ca1e31caefbc4b6514b07] * Thu Jul 16 2020 Flavio Leitner - 2.13.0-45 - redhat: Use static references. [f1025c1515c00e9ec8e1fbc3a5337c412a3ce0c8] * Wed Jul 15 2020 Flavio Leitner - 2.13.0-44 - Update DPDK configs to v19.11.2. [98e6e9823b54d5f7f52aa531a5479289a4fc40d7] * Wed Jul 15 2020 Flavio Leitner - 2.13.0-43 - Merge DPDK tag 'v19.11.2' into fast-datapath-rhel-8 [755e86c61ae905a1485850f9e44a3502a63f52fb] * Wed Jul 15 2020 Flavio Leitner - 2.13.0-42 - Merging upstream branch-2.13 to fast-datapath-rhel-8 [735b3f94c2655e930b0ee86556eb01191518f7e8] * Sun Jul 12 2020 Flavio Leitner - 2.13.0-41 - redhat: Rename OVSCI job name. [a61f1d1095e58fb7c2ad38d37b86f3012f5aecfe] * Wed Jul 08 2020 Timothy Redaelli - 2.13.0-40 - redhat: pkgtool: use diff instead of format-patch [da2129ac827efe85db1e0ceeff8996e5045a862b] * Thu Jun 25 2020 Timothy Redaelli - 2.13.0-39 - bus/pci: fix VF memory access (#1851169) [2b22bcd9ad02d0180ad5c46a2cccf34a3afba600] * Fri Jun 05 2020 Ilya Maximets - 2.13.0-38 - raft: Avoid sending equal snapshots. (#1834838) [3168eba559cbce28937be4e785c3337030694455] * Fri Jun 05 2020 Ilya Maximets - 2.13.0-37 - ovsdb-server: Fix schema leak while reading db. (#1834838) [92a1e56c8a37927441fb1742e6054a9118654ef0] * Fri Jun 05 2020 Ilya Maximets - 2.13.0-36 - ovsdb: Add raft memory usage to memory report. (#1834838) [fb32a78921e50b1ffa0c52f873167f68622e8723] * Tue Jun 02 2020 Aaron Conole - 2.13.0-35 - netdev-offload-tc: Re-fetch block ID after probing. [d14e39f81bec29064a58df0177ce457765305f8b] * Tue Jun 02 2020 Aaron Conole - 2.13.0-34 - netdev-linux: Update LAG in all cases. [8b155475749cdb7a1817810d447e4cf6598cb6fa] * Wed May 20 2020 Timothy Redaelli - 2.13.0-33 - vhost: fix potential fd leak [a9e6e358142634f1cd4d6555c5835f0062aa2a34] * Wed May 20 2020 Timothy Redaelli - 2.13.0-32 - vhost: fix potential memory space leak [b39bac1377f5ece651b3ddb1485f6327036e7c38] * Wed May 20 2020 Timothy Redaelli - 2.13.0-31 - vhost: fix translated address not checked [7da906164278fc5142607d5c94d20bb2b6e3ca8f] * Wed May 20 2020 Timothy Redaelli - 2.13.0-30 - vhost: fix vring index check [7c4cfd12e3b2693b68ee995f65421577248c34d9] * Wed May 20 2020 Timothy Redaelli - 2.13.0-29 - vhost: check log mmap offset and size overflow [517d8488dcf0ca7bb7f7db2fe8167389141aff9d] * Fri May 15 2020 Dumitru Ceara - 2.13.0-28 - raft: Disable RAFT jsonrpc inactivity probe. (#1836308) [3d9b529afb098531190d57d6f35d1622bb4093cd] * Fri May 15 2020 Dumitru Ceara - 2.13.0-27 - raft: Fix leak of the incomplete command. (#1836307) [5c38ccd52fb3925e82eda20f1897ec02abb390d9] * Fri May 15 2020 Dumitru Ceara - 2.13.0-26 - raft: Fix the problem of stuck in candidate role forever. (#1836305) [9c76350e271546eedfeb18720975e35b4e36e1f1] * Fri May 15 2020 Dumitru Ceara - 2.13.0-25 - raft: Fix next_index in install_snapshot reply handling. (#1836305) [cc3d02699203e2fe9d9fd384d09e268ba614828d] * Fri May 15 2020 Dumitru Ceara - 2.13.0-24 - raft: Avoid busy loop during leader election. (#1836305) [053b78c8d60ffb4d212fd7894f91be52027f291f] * Fri May 15 2020 Dumitru Ceara - 2.13.0-23 - raft: Fix raft_is_connected() when there is no leader yet. (#1836305) [e732012d7be335650398ff03c2431c64b2c4aaba] * Fri May 15 2020 Dumitru Ceara - 2.13.0-22 - ovsdb-server: Don't disconnect clients after raft install_snapshot. (#1836305) [8ff30dfee6cb075e36ed38b77695ff03321ce12b] * Fri May 15 2020 Dumitru Ceara - 2.13.0-21 - raft-rpc: Fix message format. (#1836305) [914d885061c9f7e7e6e5f921065301e08837e122] * Wed Apr 22 2020 Timothy Redaelli - 2.13.0-20 - redhat: pkgtool: Use the oldest sha1 [4c657a79de8221c769d4622ff4110b6aaccf938a] * Mon Apr 20 2020 Timothy Redaelli - 2.13.0-19 - Fix building locally on Fedora 32+ [d1c89e4d998507fcd18a1e94bc6459f016e6310e] * Thu Apr 16 2020 Timothy Redaelli - 2.13.0-18 - Set -fcommon in DPDK CFLAGS [f8a379e95e8617d9371cd87bfa559fa14e88fc33] * Thu Apr 16 2020 Timothy Redaelli - 2.13.0-17 - Update DPDK config files for 19.11.1 [d771330907cee39a6c08409f866c3abcb9d90351] * Thu Apr 16 2020 Timothy Redaelli - 2.13.0-16 - Merge tag 'v19.11.1' into fast-datapath-rhel-8 [0b3abfb0e63fc2838c15eb119a1876f9691fd70e] * Tue Apr 14 2020 Timothy Redaelli - 2.13.0-15 - bugtool: Fix for Python3. (#1809241) [71f25b7920093daa59827a0a4be4095309aec6ff] * Tue Apr 07 2020 Flavio Leitner - 2.13.0-14 - redhat: Skip NVR check only if building rhel-8 on rhel-7. [2b9f32bef20febced3dbcd85b6cb986b8475d121] * Mon Apr 06 2020 Flavio Leitner - 2.13.0-13 - redhat: rh-dgit-brew: Skip NVR check in RHEL-7. [6280d8d29ff80c38b076bae005b3a19ec2375bc7] * Mon Apr 06 2020 Flavio Leitner - 2.13.0-12 - redhat: pkgtool: Use BZ id from reported-at tag. [3ee7ec51b693eaf1715c0bbf8da2500405c7d8fe] * Fri Mar 27 2020 Flavio Leitner - 2.13.0-11 - redhat: ovsci: Schedule the CI job while brew is building. [1551e1e70e9ce98e61b9597f90c6c23b5dee6f1c] * Tue Mar 24 2020 Flavio Leitner - 2.13.0-10 - redhat: ovsci: Use the correct job name and params. [220f32afb2a3ce5437b6a502937cda7f887e9304] * Mon Mar 23 2020 Timothy Redaelli - 2.13.0-9 - Add compatibility with RHEL7 git [34929957833d71263e072c24842eaba3d61ad235] * Mon Mar 23 2020 Timothy Redaelli - 2.13.0-8 - Use the date in UTC [b53bdb16b8575fd3fbb28af2b704abd1eccb27d8] * Mon Mar 23 2020 Numan Siddique - 2.13.0-7 - ofproto-dpif-xlate: Fix recirculation when in_port is OFPP_CONTROLLER. (#1775160) [4ee0f6af9e601cbb5f69a486526d1011314bbfed] * Wed Mar 11 2020 Timothy Redaelli - 2.13.0-6 - vhost: fix packed virtqueue ready condition (#1812620) [0b4e7827b873c8a420171d840bde5d3c77a67e60] * Thu Feb 27 2020 Timothy Redaelli - 2.13.0-5 - redhat: permit make to fail when pkgtool --gen{spec,patches} exist badly [61807f941ec5ddcbfb0cf1f4ba6a52d934c72f06] * Tue Feb 25 2020 Timothy Redaelli - 2.13.0-4 - vhost: protect log address translation in IOTLB update (#1806599) [0d4370404fa971cb07ca2bf9cb0cdf98ecc54d4b]