From db271ea782157c752324d7deead0aba369422259cb2c97ecca0cf85db45a6a61 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 7 Oct 2016 13:07:43 +0000 Subject: [PATCH] Accepting request 433610 from home:markoschandras:network - 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. OBS-URL: https://build.opensuse.org/request/show/433610 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=104 --- ...pe-warning-logs-from-ovsdb-server.lo.patch | 60 ------- ...ew-DPDK_OPTIONS-environment-variable.patch | 51 ------ ...witch-2.5.0-detect-dpdk-installation.patch | 148 ------------------ openvswitch-2.5.0.tar.gz | 3 - openvswitch-2.6.0.tar.gz | 3 + openvswitch-dpdk.changes | 43 +++++ openvswitch-dpdk.spec | 75 ++++----- openvswitch-switch.logrotate | 17 -- openvswitch.changes | 43 +++++ openvswitch.service | 15 -- openvswitch.spec | 75 ++++----- 11 files changed, 165 insertions(+), 368 deletions(-) delete mode 100644 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch delete mode 100644 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch delete mode 100644 openvswitch-2.5.0-detect-dpdk-installation.patch delete mode 100644 openvswitch-2.5.0.tar.gz create mode 100644 openvswitch-2.6.0.tar.gz delete mode 100644 openvswitch-switch.logrotate delete mode 100644 openvswitch.service diff --git a/0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch b/0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch deleted file mode 100644 index 06c8e68..0000000 --- a/0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch +++ /dev/null @@ -1,60 +0,0 @@ -From fb496f92ca1eeead8760b5cdfd857165f64deadf Mon Sep 17 00:00:00 2001 -From: Numan Siddique -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 -Signed-off-by: Russell Bryant ---- - 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 - diff --git a/0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch b/0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch deleted file mode 100644 index e7adbb6..0000000 --- a/0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 49e6a7ece028a2a429ee7672e4225788e8bbb4a9 Mon Sep 17 00:00:00 2001 -From: Markos Chandras -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 ---- - 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 - diff --git a/openvswitch-2.5.0-detect-dpdk-installation.patch b/openvswitch-2.5.0-detect-dpdk-installation.patch deleted file mode 100644 index 65efc85..0000000 --- a/openvswitch-2.5.0-detect-dpdk-installation.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 40b5ea86319f803cc4f5df6754b2cd1556f6bd94 Mon Sep 17 00:00:00 2001 -From: Bhanuprakash Bodireddy -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 -Signed-off-by: Daniele Di Proietto ---- - 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 -+#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 ], - [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 - diff --git a/openvswitch-2.5.0.tar.gz b/openvswitch-2.5.0.tar.gz deleted file mode 100644 index b6fee9f..0000000 --- a/openvswitch-2.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:34da54fbad503205b1a66b48ca4312679e1ce5b04763a9fb86050b2b25d66f21 -size 4603077 diff --git a/openvswitch-2.6.0.tar.gz b/openvswitch-2.6.0.tar.gz new file mode 100644 index 0000000..b976408 --- /dev/null +++ b/openvswitch-2.6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6f86b47b5847e739ca1c5a80059a804cd49e2b98eefef0fdbce1c4d93c7d0f1 +size 5386102 diff --git a/openvswitch-dpdk.changes b/openvswitch-dpdk.changes index b26ea88..71641db 100644 --- a/openvswitch-dpdk.changes +++ b/openvswitch-dpdk.changes @@ -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 diff --git a/openvswitch-dpdk.spec b/openvswitch-dpdk.spec index 771fc52..942261f 100644 --- a/openvswitch-dpdk.spec +++ b/openvswitch-dpdk.spec @@ -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 diff --git a/openvswitch-switch.logrotate b/openvswitch-switch.logrotate deleted file mode 100644 index 910b7d6..0000000 --- a/openvswitch-switch.logrotate +++ /dev/null @@ -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 -} diff --git a/openvswitch.changes b/openvswitch.changes index b26ea88..71641db 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -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 diff --git a/openvswitch.service b/openvswitch.service deleted file mode 100644 index fcdf311..0000000 --- a/openvswitch.service +++ /dev/null @@ -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 diff --git a/openvswitch.spec b/openvswitch.spec index 954a129..975522b 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -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