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