Dominique Leuenberger 2016-10-13 09:30:12 +00:00 committed by Git OBS Bridge
commit b569bb3f2c
11 changed files with 165 additions and 368 deletions

View File

@ -1,60 +0,0 @@
From fb496f92ca1eeead8760b5cdfd857165f64deadf Mon Sep 17 00:00:00 2001
From: Numan Siddique <nusiddiq@redhat.com>
Date: Mon, 21 Dec 2015 12:31:14 +0530
Subject: [PATCH] Remove broken pipe warning logs from ovsdb-server.log for ovn
tests
Taken the fix from the commit d3292dd... (in ovn-controller-vtep.at)
Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
Signed-off-by: Russell Bryant <rbryant@redhat.com>
---
tests/ovn-nbctl.at | 10 +++++++++-
tests/ovn-sbctl.at | 10 +++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/tests/ovn-nbctl.at b/tests/ovn-nbctl.at
index 5358f1e..efad8a2 100644
--- a/tests/ovn-nbctl.at
+++ b/tests/ovn-nbctl.at
@@ -16,7 +16,15 @@ m4_define([OVN_NBCTL_TEST_START],
# OVN_NBCTL_TEST_STOP
m4_define([OVN_NBCTL_TEST_STOP],
- [AT_CHECK([check_logs $1])
+ [# removes all 'Broken pipe' warning logs from ovsdb-server.log. this is in
+ # that *ctl command (e.g. ovn-nbctl) exits right after committing the change
+ # to database. however, in reaction, some daemon (e.g. ovn-controller-vtep)
+ # may immediately update the database. this later update may cause database
+ # sending update back to *ctl command if *ctl has not proceeded to exit yet.
+ # and if *ctl command exits before database calling send, the send from
+ # database will fail with 'Broken pipe' error.
+ AT_CHECK([check_logs "$1
+/Broken pipe/d"])
AT_CHECK([ovs-appctl -t ovsdb-server exit])])
diff --git a/tests/ovn-sbctl.at b/tests/ovn-sbctl.at
index 9986d9a..4c7cf87 100644
--- a/tests/ovn-sbctl.at
+++ b/tests/ovn-sbctl.at
@@ -25,7 +25,15 @@ m4_define([OVN_SBCTL_TEST_START],
# OVN_SBCTL_TEST_STOP
m4_define([OVN_SBCTL_TEST_STOP],
- [AT_CHECK([check_logs $1])
+ [# removes all 'Broken pipe' warning logs from ovsdb-server.log. this is in
+ # that *ctl command (e.g. ovn-nbctl) exits right after committing the change
+ # to database. however, in reaction, some daemon (e.g. ovn-controller-vtep)
+ # may immediately update the database. this later update may cause database
+ # sending update back to *ctl command if *ctl has not proceeded to exit yet.
+ # and if *ctl command exits before database calling send, the send from
+ # database will fail with 'Broken pipe' error.
+ AT_CHECK([check_logs "$1
+/Broken pipe/d"])
AT_CHECK([ovs-appctl -t ovn-northd exit])
AT_CHECK([ovs-appctl -t ovsdb-server exit])])
--
2.8.3

View File

@ -1,51 +0,0 @@
From 49e6a7ece028a2a429ee7672e4225788e8bbb4a9 Mon Sep 17 00:00:00 2001
From: Markos Chandras <mchandras@suse.de>
Date: Tue, 6 Sep 2016 11:06:56 +0100
Subject: [PATCH] ovs-ctl: Add new DPDK_OPTIONS environment variable
Add new DPDK_OPTIONS environment variable to hold the dpdk
vswitchd options so that the systemd unit files can be used to
launch an ovs-vswitcd DPDK capable instance instead of doing
it manually.
A similar patch has been submitted upstream
http://openvswitch.org/pipermail/dev/2016-July/074150.html
but got rejected because the master (2.6 at the time) has been
fixed in a different way and DPDK options are now part of the
ovsdb.
Signed-off-by: Markos Chandras <mchandras@suse.de>
---
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template | 3 +++
utilities/ovs-ctl.in | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
index 3050a07..8779c1e 100644
--- a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
@@ -21,3 +21,6 @@
# --ovsdb-server-wrapper=valgrind
#
OPTIONS=""
+# DPDK options to be passed along with --dpdk to ovs-vswitchd. For example:
+# DPDK_OPTIONS="-c 0x1 -n 4"
+DPDK_OPTIONS=""
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index 0082bed..cec399c 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -215,7 +215,9 @@ start_forwarding () {
fi
# Start ovs-vswitchd.
- set ovs-vswitchd unix:"$DB_SOCK"
+ set ovs-vswitchd
+ [ -z "$DPDK_OPTIONS" ] || set -- "$@" "--dpdk" $DPDK_OPTIONS "--"
+ set "$@" unix:"$DB_SOCK"
set "$@" -vconsole:emer -vsyslog:err -vfile:info
if test X"$MLOCKALL" != Xno; then
set "$@" --mlockall
--
2.9.3

View File

@ -1,148 +0,0 @@
From 40b5ea86319f803cc4f5df6754b2cd1556f6bd94 Mon Sep 17 00:00:00 2001
From: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>
Date: Tue, 12 Apr 2016 11:44:15 +0100
Subject: [PATCH] acinclude: Autodetect DPDK location when configuring OVS
When using DPDK datapath, the OVS configure script requires the DPDK
build directory passed on --with-dpdk. This can be avoided if DPDK
library, headers are in standard compiler search paths.
This patch fixes the problem by searching for DPDK libraries in standard
locations and configure OVS sources for dpdk datapath.
If the install location is manually specified in "--with-dpdk"
autodiscovery shall be skipped.
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>
Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
---
AUTHORS | 1 +
acinclude.m4 | 76 +++++++++++++++++++++++++++++++++++++++++-------------------
2 files changed, 53 insertions(+), 24 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index f345c31..acd7ce7 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -163,27 +163,50 @@ AC_DEFUN([OVS_CHECK_DPDK], [
[AC_HELP_STRING([--with-dpdk=/path/to/dpdk],
[Specify the DPDK build directory])])
- if test X"$with_dpdk" != X; then
- RTE_SDK=$with_dpdk
+ AC_MSG_CHECKING([whether dpdk datapath is enabled])
+ if test -z "$with_dpdk" || test "$with_dpdk" = no; then
+ AC_MSG_RESULT([no])
+ DPDKLIB_FOUND=false
+ else
+ AC_MSG_RESULT([yes])
+ case "$with_dpdk" in
+ yes)
+ DPDK_AUTO_DISCOVER="true"
+ DPDK_INCLUDE="/usr/local/include/dpdk -I/usr/include/dpdk"
+ ;;
+ *)
+ DPDK_AUTO_DISCOVER="false"
+ DPDK_INCLUDE="$with_dpdk/include"
+ # If 'with_dpdk' is passed install directory, point to headers
+ # installed in $DESTDIR/$prefix/include/dpdk
+ AC_CHECK_FILE([$DPDK_INCLUDE/rte_config.h], [],
+ [AC_CHECK_FILE([$DPDK_INCLUDE/dpdk/rte_config.h],
+ [DPDK_INCLUDE=$DPDK_INCLUDE/dpdk], [])])
+ DPDK_LIB_DIR="$with_dpdk/lib"
+ ;;
+ esac
- DPDK_INCLUDE=$RTE_SDK/include
- DPDK_LIB_DIR=$RTE_SDK/lib
DPDK_LIB="-ldpdk"
DPDK_EXTRA_LIB=""
- RTE_SDK_FULL=`readlink -f $RTE_SDK`
-
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([#include <$RTE_SDK_FULL/include/rte_config.h>
-#if !RTE_LIBRTE_VHOST_USER
-#error
-#endif], [])],
- [], [AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support enabled, vhost-user disabled.])
- DPDK_EXTRA_LIB="-lfuse"])
ovs_save_CFLAGS="$CFLAGS"
ovs_save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -L$DPDK_LIB_DIR"
CFLAGS="$CFLAGS -I$DPDK_INCLUDE"
+ if test "$DPDK_AUTO_DISCOVER" = "false"; then
+ LDFLAGS="$LDFLAGS -L${DPDK_LIB_DIR}"
+ fi
+
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [
+ #include <rte_config.h>
+#if !RTE_LIBRTE_VHOST_USER
+#error
+#endif
+ ], [])
+ ], [],
+ [AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support enabled, vhost-user disabled.])
+ DPDK_EXTRA_LIB="-lfuse"])
# On some systems we have to add -ldl to link with dpdk
#
@@ -192,7 +215,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [
# Before each attempt the search cache must be unset,
# otherwise autoconf will stick with the old result
- found=false
+ DPDKLIB_FOUND=false
save_LIBS=$LIBS
for extras in "" "-ldl"; do
LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB"
@@ -201,17 +224,25 @@ AC_DEFUN([OVS_CHECK_DPDK], [
#include <rte_eal.h>],
[int rte_argc; char ** rte_argv;
rte_eal_init(rte_argc, rte_argv);])],
- [found=true])
- if $found; then
+ [DPDKLIB_FOUND=true])
+ if $DPDKLIB_FOUND; then
break
fi
done
- if $found; then :; else
- AC_MSG_ERROR([cannot link with dpdk])
+
+ # If linking unsuccessful
+ if test "$DPDKLIB_FOUND" = "false" ; then
+ if $DPDK_AUTO_DISCOVER; then
+ AC_MSG_ERROR([Could not find DPDK library in default search path, Use --with-dpdk to specify the DPDK library installed in non-standard location])
+ else
+ AC_MSG_ERROR([Could not find DPDK libraries in $DPDK_LIB_DIR])
+ fi
fi
CFLAGS="$ovs_save_CFLAGS"
LDFLAGS="$ovs_save_LDFLAGS"
- OVS_LDFLAGS="$OVS_LDFLAGS -L$DPDK_LIB_DIR"
+ if test "$DPDK_AUTO_DISCOVER" = "false"; then
+ OVS_LDFLAGS="$OVS_LDFLAGS -L$DPDK_LIB_DIR"
+ fi
OVS_CFLAGS="$OVS_CFLAGS -I$DPDK_INCLUDE"
OVS_ENABLE_OPTION([-mssse3])
@@ -226,12 +257,9 @@ AC_DEFUN([OVS_CHECK_DPDK], [
DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive
AC_SUBST([DPDK_vswitchd_LDFLAGS])
AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.])
-
- else
- RTE_SDK=
fi
- AM_CONDITIONAL([DPDK_NETDEV], test -n "$RTE_SDK")
+ AM_CONDITIONAL([DPDK_NETDEV], test "$DPDKLIB_FOUND" = true)
])
dnl OVS_GREP_IFELSE(FILE, REGEX, [IF-MATCH], [IF-NO-MATCH])
--
2.8.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:34da54fbad503205b1a66b48ca4312679e1ce5b04763a9fb86050b2b25d66f21
size 4603077

3
openvswitch-2.6.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6f86b47b5847e739ca1c5a80059a804cd49e2b98eefef0fdbce1c4d93c7d0f1
size 5386102

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Mon Oct 3 08:26:10 UTC 2016 - mchandras@suse.de
- Version bump to 2.6.0. Some of the changes are:
* First supported release of OVN. See ovn-architecture(7) for more
details.
* ovsdb-server:
- New "monitor_cond" "monitor_cond_update" and "update2" extensions to
RFC 7047.
* OpenFlow:
- OpenFlow 1.3+ bundles now expire after 10 seconds since the
last time the bundle was either opened, modified, or closed.
- OpenFlow 1.3 Extension 230, adding OpenFlow Bundles support, is
now implemented.
- OpenFlow 1.3+ bundles are now supported for group mods as well as
flow mods and port mods. Both 'atomic' and 'ordered' bundle
flags are supported for group mods as well as flow mods.
- Internal OpenFlow rule representation for load and set-field
actions is now much more memory efficient. For a complex flow
table this can reduce rule memory consumption by 40%.
- Bundles are now much more memory efficient than in OVS 2.5.
Together with memory efficiency improvements in OpenFlow rule
representation, the peak OVS resident memory use during a
bundle commit for large complex set of flow mods can be only
25% of that in OVS 2.5 (4x lower).
- OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY.
- OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported.
- OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported.
- New property-based packet-in message format NXT_PACKET_IN2 with support
for arbitrary user-provided data and for serializing flow table
traversal into a continuation for later resumption.
- New extension message NXT_SET_ASYNC_CONFIG2 to allow OpenFlow 1.4-like
control over asynchronous messages in earlier versions of OpenFlow.
- [...]
- For a complete list of changes, please see
http://openvswitch.org/releases/NEWS-2.6.0
- Remove obsolete patches and files
* 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
* 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch
* openvswitch-2.5.0-detect-dpdk-installation.patch
* openvswitch-switch.logrotate
* openvswitch.service
-------------------------------------------------------------------
Tue Sep 6 10:11:49 UTC 2016 - mchandras@suse.de

View File

@ -28,7 +28,7 @@
# Do NOT edit this auto generated file! Edit openvswitch.spec instead
# and run 'pre_checkin.sh' before committing
Name: openvswitch-dpdk
Version: 2.5.0
Version: 2.6.0
Release: 0
Summary: An open source, production quality, multilayer virtual switch (DPDK)
# All code is Apache-2.0 except
@ -39,15 +39,7 @@ Group: Productivity/Networking/System
Url: http://openvswitch.org/
Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz
Source1: preamble
Source2: openvswitch-switch.logrotate
Source3: openvswitch.service
Source89: Module.supported.updates
# PATCH-FIX-UPSTREAM: openvswitch-2.5.0-detect-dpdk-installation.patch (fate#319170)
Patch0: openvswitch-%{version}-detect-dpdk-installation.patch
# PATCH-FIX-UPSTREAM: 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
Patch1: 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
# PATCH-FIX-SUSE: 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch (bsc#987265)
Patch2: 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
@ -63,6 +55,7 @@ BuildRequires: pkgconfig
# Needed by the testsuite
BuildRequires: procps
BuildRequires: python-devel
BuildRequires: python-six
BuildRequires: python-xml
BuildRequires: valgrind-devel
BuildRequires: pkgconfig(openssl)
@ -77,10 +70,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with dpdk}
# We need to be a bit strict with the dpdk version since
# it's very possible for DPDK to change it's API between
# releases. OVS currently requires 2.2.0. We may have to
# provide multiple versions of dpdk if OVS and DPDK get
# out of sync too often.
BuildRequires: dpdk-devel = 2.2.0
# releases. This version currently requires 16.07.
BuildRequires: dpdk-devel = 16.07
BuildRequires: libnuma-devel
BuildRequires: libpcap-devel
# We can't have openvswitch and openvswitch-dpdk in parallel
Conflicts: openvswitch
ExclusiveArch: aarch64 x86_64 %{ix86}
@ -248,9 +241,6 @@ Open vSwitch is a full-featured software-based Ethernet switch.
%prep
%setup -q -n openvswitch-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
set -- * .travis*
@ -259,7 +249,6 @@ mv "$@" source/
mkdir obj
pushd source
perl -i -pe 's{__(DATE|TIME)__}{""}g' include/openvswitch/util.h
# only call boot.sh for distros with autoconf >= 2.64
bash -x boot.sh
popd
@ -331,17 +320,12 @@ done
pushd source
make %{?_smp_mflags} DESTDIR=%{buildroot} install
for service in ovn-controller ovn-controller-vtep ovn-northd; do
for service in openvswitch ovn-controller ovn-controller-vtep \
ovn-northd ovsdb-server ovs-vswitchd; do
install -D -m 644 rhel/usr_lib_systemd_system_${service}.service \
%{buildroot}%{_unitdir}/${service}.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}
done
# We use our own openvswitch.service
install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/openvswitch.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcopenvswitch
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller-vtep
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-northd
install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
%{buildroot}/%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
@ -349,7 +333,7 @@ install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
install -d -m 755 %{buildroot}/%{_sysconfdir}/logrotate.d
install -d -m 755 %{buildroot}/%{_localstatedir}/log/openvswitch
install -m 644 %{SOURCE2} \
install -m 644 rhel/etc_logrotate.d_openvswitch \
%{buildroot}/%{_sysconfdir}/logrotate.d/openvswitch-switch
install -d -m 755 %{buildroot}/%{_sysconfdir}/profile.d
@ -373,16 +357,24 @@ rm -rf %{buildroot}%{py_sitedir}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%pre switch
%service_add_pre ovsdb-server.service
%service_add_pre ovs-vswitchd.service
%service_add_pre openvswitch.service
%post switch
%service_add_post ovsdb-server.service
%service_add_post ovs-vswitchd.service
%service_add_post openvswitch.service
%{fillup_only -n openvswitch}
%preun switch
%service_del_preun ovsdb-server.service
%service_del_preun ovs-vswitchd.service
%service_del_preun openvswitch.service
%postun switch
%service_del_postun ovsdb-server.service
%service_del_postun ovs-vswitchd.service
%service_del_postun openvswitch.service
%pre ovn
@ -424,10 +416,8 @@ rm -rf %{buildroot}%{py_sitedir}
%doc source/PORTING.md
%doc source/README*
%doc source/SECURITY.md
%doc source/TODO.md
%doc source/WHY-OVS.md
%{_bindir}/ovs-appctl
%{_bindir}/ovs-benchmark
%{_bindir}/ovs-ofctl
%{_bindir}/ovsdb-client
%{_bindir}/ovs-parse-backtrace
@ -441,7 +431,6 @@ rm -rf %{buildroot}%{py_sitedir}
%{_libdir}/libopenvswitch.so.*
%{_libdir}/libovsdb.so.*
%{_libdir}/libsflow.so.*
%{_mandir}/man1/ovs-benchmark.1%{ext_man}
%{_mandir}/man1/ovsdb-client.1%{ext_man}
%{_mandir}/man8/ovs-appctl.8%{ext_man}
%{_mandir}/man8/ovs-bugtool.8%{ext_man}
@ -479,8 +468,6 @@ rm -rf %{buildroot}%{py_sitedir}
%defattr(-,root,root)
%{_bindir}/ovs-docker
%{_bindir}/ovs-dpctl
%{_bindir}/ovs-tcpundump
%{_bindir}/ovs-pcap
%{_bindir}/ovs-vsctl
%{_bindir}/ovsdb-tool
%{_sbindir}/ovs-vswitchd
@ -493,16 +480,18 @@ rm -rf %{buildroot}%{py_sitedir}
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch
%{_mandir}/man8/ovs-dpctl.8%{ext_man}
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
%{_mandir}/man1/ovs-pcap.1%{ext_man}
%{_mandir}/man8/ovs-vsctl.8%{ext_man}
%{_mandir}/man1/ovsdb-tool.1%{ext_man}
%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
%{_mandir}/man1/ovsdb-server.1%{ext_man}
%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
%{_mandir}/man8/ovs-ctl.8%{ext_man}
%{_sbindir}/rcovsdb-server
%{_sbindir}/rcovs-vswitchd
%{_sbindir}/rcopenvswitch
%{_unitdir}/openvswitch.service
%{_unitdir}/ovs-vswitchd.service
%{_unitdir}/ovsdb-server.service
%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
%dir %{_localstatedir}/log/openvswitch
@ -515,7 +504,11 @@ rm -rf %{buildroot}%{py_sitedir}
%{_bindir}/ovn-nbctl
%{_bindir}/ovn-northd
%{_bindir}/ovn-sbctl
%{_bindir}/ovn-trace
%{_datadir}/openvswitch/scripts/ovn-ctl
%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
%{_libdir}/libovn.so.*
%{_mandir}/man5/ovn-nb.5*
%{_mandir}/man5/ovn-sb.5*
@ -526,6 +519,7 @@ rm -rf %{buildroot}%{py_sitedir}
%{_mandir}/man8/ovn-nbctl.8*
%{_mandir}/man8/ovn-northd.8*
%{_mandir}/man8/ovn-sbctl.8*
%{_mandir}/man8/ovn-trace.8*
%config %{_datadir}/openvswitch/ovn-nb.ovsschema
%config %{_datadir}/openvswitch/ovn-sb.ovsschema
%{_sbindir}/rcovn-controller
@ -537,14 +531,20 @@ rm -rf %{buildroot}%{py_sitedir}
%files test
%defattr(-,root,root)
%{_bindir}/ovs-test
%{_bindir}/ovs-l3ping
%{_bindir}/ovs-vlan-test
%{_bindir}/ovs-pcap
%{_bindir}/ovs-test
%{_bindir}/ovs-testcontroller
%{_mandir}/man8/ovs-test.8%{ext_man}
%{_bindir}/ovs-tcpdump
%{_bindir}/ovs-tcpundump
%{_bindir}/ovs-vlan-test
%{_mandir}/man1/ovs-pcap.1%{ext_man}
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
%{_mandir}/man8/ovs-l3ping.8%{ext_man}
%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
%{_mandir}/man8/ovs-tcpdump.8%{ext_man}
%{_mandir}/man8/ovs-test.8%{ext_man}
%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
%files devel
%defattr(-,root,root)
@ -555,6 +555,7 @@ rm -rf %{buildroot}%{py_sitedir}
%{_libdir}/libsflow.so
%{_libdir}/libvtep.so
%{_includedir}/openflow/
%{_includedir}/ovn/
%{_includedir}/openvswitch/
%{_libdir}/pkgconfig/*.pc

View File

@ -1,17 +0,0 @@
/var/log/openvswitch/*.log {
daily
compress
create 640 root root
delaycompress
missingok
rotate 30
postrotate
# Tell Open vSwitch daemons to reopen their log files
if [ -e /var/run/openvswitch/ovs-vswitchd.pid ]; then
ovs-appctl --target ovs-vswitchd vlog/reopen
fi
if [ -e /var/run/openvswitch/ovsdb-server.pid ]; then
ovs-appctl --target ovsdb-server vlog/reopen
fi
endscript
}

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Mon Oct 3 08:26:10 UTC 2016 - mchandras@suse.de
- Version bump to 2.6.0. Some of the changes are:
* First supported release of OVN. See ovn-architecture(7) for more
details.
* ovsdb-server:
- New "monitor_cond" "monitor_cond_update" and "update2" extensions to
RFC 7047.
* OpenFlow:
- OpenFlow 1.3+ bundles now expire after 10 seconds since the
last time the bundle was either opened, modified, or closed.
- OpenFlow 1.3 Extension 230, adding OpenFlow Bundles support, is
now implemented.
- OpenFlow 1.3+ bundles are now supported for group mods as well as
flow mods and port mods. Both 'atomic' and 'ordered' bundle
flags are supported for group mods as well as flow mods.
- Internal OpenFlow rule representation for load and set-field
actions is now much more memory efficient. For a complex flow
table this can reduce rule memory consumption by 40%.
- Bundles are now much more memory efficient than in OVS 2.5.
Together with memory efficiency improvements in OpenFlow rule
representation, the peak OVS resident memory use during a
bundle commit for large complex set of flow mods can be only
25% of that in OVS 2.5 (4x lower).
- OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY.
- OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported.
- OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported.
- New property-based packet-in message format NXT_PACKET_IN2 with support
for arbitrary user-provided data and for serializing flow table
traversal into a continuation for later resumption.
- New extension message NXT_SET_ASYNC_CONFIG2 to allow OpenFlow 1.4-like
control over asynchronous messages in earlier versions of OpenFlow.
- [...]
- For a complete list of changes, please see
http://openvswitch.org/releases/NEWS-2.6.0
- Remove obsolete patches and files
* 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
* 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch
* openvswitch-2.5.0-detect-dpdk-installation.patch
* openvswitch-switch.logrotate
* openvswitch.service
-------------------------------------------------------------------
Tue Sep 6 10:11:49 UTC 2016 - mchandras@suse.de

View File

@ -1,15 +0,0 @@
[Unit]
Description=Open vSwitch
After=network-pre.target
Before=network.service
[Service]
Type=oneshot
EnvironmentFile=-/etc/sysconfig/openvswitch
ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start \
--system-id=random $OPTIONS
ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View File

@ -26,7 +26,7 @@
# but keep it here as an option
%bcond_with check
Name: openvswitch
Version: 2.5.0
Version: 2.6.0
Release: 0
Summary: An open source, production quality, multilayer virtual switch
# All code is Apache-2.0 except
@ -37,15 +37,7 @@ Group: Productivity/Networking/System
Url: http://openvswitch.org/
Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz
Source1: preamble
Source2: openvswitch-switch.logrotate
Source3: openvswitch.service
Source89: Module.supported.updates
# PATCH-FIX-UPSTREAM: openvswitch-2.5.0-detect-dpdk-installation.patch (fate#319170)
Patch0: openvswitch-%{version}-detect-dpdk-installation.patch
# PATCH-FIX-UPSTREAM: 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
Patch1: 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
# PATCH-FIX-SUSE: 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch (bsc#987265)
Patch2: 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
@ -61,6 +53,7 @@ BuildRequires: pkgconfig
# Needed by the testsuite
BuildRequires: procps
BuildRequires: python-devel
BuildRequires: python-six
BuildRequires: python-xml
BuildRequires: valgrind-devel
BuildRequires: pkgconfig(openssl)
@ -75,10 +68,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with dpdk}
# We need to be a bit strict with the dpdk version since
# it's very possible for DPDK to change it's API between
# releases. OVS currently requires 2.2.0. We may have to
# provide multiple versions of dpdk if OVS and DPDK get
# out of sync too often.
BuildRequires: dpdk-devel = 2.2.0
# releases. This version currently requires 16.07.
BuildRequires: dpdk-devel = 16.07
BuildRequires: libnuma-devel
BuildRequires: libpcap-devel
# We can't have openvswitch and openvswitch-dpdk in parallel
Conflicts: openvswitch
ExclusiveArch: aarch64 x86_64 %{ix86}
@ -246,9 +239,6 @@ Open vSwitch is a full-featured software-based Ethernet switch.
%prep
%setup -q -n openvswitch-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
set -- * .travis*
@ -257,7 +247,6 @@ mv "$@" source/
mkdir obj
pushd source
perl -i -pe 's{__(DATE|TIME)__}{""}g' include/openvswitch/util.h
# only call boot.sh for distros with autoconf >= 2.64
bash -x boot.sh
popd
@ -329,17 +318,12 @@ done
pushd source
make %{?_smp_mflags} DESTDIR=%{buildroot} install
for service in ovn-controller ovn-controller-vtep ovn-northd; do
for service in openvswitch ovn-controller ovn-controller-vtep \
ovn-northd ovsdb-server ovs-vswitchd; do
install -D -m 644 rhel/usr_lib_systemd_system_${service}.service \
%{buildroot}%{_unitdir}/${service}.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}
done
# We use our own openvswitch.service
install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/openvswitch.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcopenvswitch
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller-vtep
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-northd
install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
%{buildroot}/%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
@ -347,7 +331,7 @@ install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
install -d -m 755 %{buildroot}/%{_sysconfdir}/logrotate.d
install -d -m 755 %{buildroot}/%{_localstatedir}/log/openvswitch
install -m 644 %{SOURCE2} \
install -m 644 rhel/etc_logrotate.d_openvswitch \
%{buildroot}/%{_sysconfdir}/logrotate.d/openvswitch-switch
install -d -m 755 %{buildroot}/%{_sysconfdir}/profile.d
@ -371,16 +355,24 @@ rm -rf %{buildroot}%{py_sitedir}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%pre switch
%service_add_pre ovsdb-server.service
%service_add_pre ovs-vswitchd.service
%service_add_pre openvswitch.service
%post switch
%service_add_post ovsdb-server.service
%service_add_post ovs-vswitchd.service
%service_add_post openvswitch.service
%{fillup_only -n openvswitch}
%preun switch
%service_del_preun ovsdb-server.service
%service_del_preun ovs-vswitchd.service
%service_del_preun openvswitch.service
%postun switch
%service_del_postun ovsdb-server.service
%service_del_postun ovs-vswitchd.service
%service_del_postun openvswitch.service
%pre ovn
@ -422,10 +414,8 @@ rm -rf %{buildroot}%{py_sitedir}
%doc source/PORTING.md
%doc source/README*
%doc source/SECURITY.md
%doc source/TODO.md
%doc source/WHY-OVS.md
%{_bindir}/ovs-appctl
%{_bindir}/ovs-benchmark
%{_bindir}/ovs-ofctl
%{_bindir}/ovsdb-client
%{_bindir}/ovs-parse-backtrace
@ -439,7 +429,6 @@ rm -rf %{buildroot}%{py_sitedir}
%{_libdir}/libopenvswitch.so.*
%{_libdir}/libovsdb.so.*
%{_libdir}/libsflow.so.*
%{_mandir}/man1/ovs-benchmark.1%{ext_man}
%{_mandir}/man1/ovsdb-client.1%{ext_man}
%{_mandir}/man8/ovs-appctl.8%{ext_man}
%{_mandir}/man8/ovs-bugtool.8%{ext_man}
@ -477,8 +466,6 @@ rm -rf %{buildroot}%{py_sitedir}
%defattr(-,root,root)
%{_bindir}/ovs-docker
%{_bindir}/ovs-dpctl
%{_bindir}/ovs-tcpundump
%{_bindir}/ovs-pcap
%{_bindir}/ovs-vsctl
%{_bindir}/ovsdb-tool
%{_sbindir}/ovs-vswitchd
@ -491,16 +478,18 @@ rm -rf %{buildroot}%{py_sitedir}
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch
%{_mandir}/man8/ovs-dpctl.8%{ext_man}
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
%{_mandir}/man1/ovs-pcap.1%{ext_man}
%{_mandir}/man8/ovs-vsctl.8%{ext_man}
%{_mandir}/man1/ovsdb-tool.1%{ext_man}
%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
%{_mandir}/man1/ovsdb-server.1%{ext_man}
%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
%{_mandir}/man8/ovs-ctl.8%{ext_man}
%{_sbindir}/rcovsdb-server
%{_sbindir}/rcovs-vswitchd
%{_sbindir}/rcopenvswitch
%{_unitdir}/openvswitch.service
%{_unitdir}/ovs-vswitchd.service
%{_unitdir}/ovsdb-server.service
%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
%dir %{_localstatedir}/log/openvswitch
@ -513,7 +502,11 @@ rm -rf %{buildroot}%{py_sitedir}
%{_bindir}/ovn-nbctl
%{_bindir}/ovn-northd
%{_bindir}/ovn-sbctl
%{_bindir}/ovn-trace
%{_datadir}/openvswitch/scripts/ovn-ctl
%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
%{_libdir}/libovn.so.*
%{_mandir}/man5/ovn-nb.5*
%{_mandir}/man5/ovn-sb.5*
@ -524,6 +517,7 @@ rm -rf %{buildroot}%{py_sitedir}
%{_mandir}/man8/ovn-nbctl.8*
%{_mandir}/man8/ovn-northd.8*
%{_mandir}/man8/ovn-sbctl.8*
%{_mandir}/man8/ovn-trace.8*
%config %{_datadir}/openvswitch/ovn-nb.ovsschema
%config %{_datadir}/openvswitch/ovn-sb.ovsschema
%{_sbindir}/rcovn-controller
@ -535,14 +529,20 @@ rm -rf %{buildroot}%{py_sitedir}
%files test
%defattr(-,root,root)
%{_bindir}/ovs-test
%{_bindir}/ovs-l3ping
%{_bindir}/ovs-vlan-test
%{_bindir}/ovs-pcap
%{_bindir}/ovs-test
%{_bindir}/ovs-testcontroller
%{_mandir}/man8/ovs-test.8%{ext_man}
%{_bindir}/ovs-tcpdump
%{_bindir}/ovs-tcpundump
%{_bindir}/ovs-vlan-test
%{_mandir}/man1/ovs-pcap.1%{ext_man}
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
%{_mandir}/man8/ovs-l3ping.8%{ext_man}
%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
%{_mandir}/man8/ovs-tcpdump.8%{ext_man}
%{_mandir}/man8/ovs-test.8%{ext_man}
%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
%files devel
%defattr(-,root,root)
@ -553,6 +553,7 @@ rm -rf %{buildroot}%{py_sitedir}
%{_libdir}/libsflow.so
%{_libdir}/libvtep.so
%{_includedir}/openflow/
%{_includedir}/ovn/
%{_includedir}/openvswitch/
%{_libdir}/pkgconfig/*.pc