diff --git a/log-check-module-loop.patch b/log-check-module-loop.patch index da51bfd..808af7d 100644 --- a/log-check-module-loop.patch +++ b/log-check-module-loop.patch @@ -2,16 +2,16 @@ Index: lib/vlog.c =================================================================== --- lib/vlog.c.orig +++ lib/vlog.c -@@ -227,7 +227,7 @@ set_facility_level(enum vlog_facility fa +@@ -273,7 +273,7 @@ set_destination_level(enum vlog_destinat ovs_mutex_lock(&log_file_mutex); if (!module) { struct vlog_module *mp; - LIST_FOR_EACH (mp, list, &vlog_modules) { + LIST_FOR_EACH_CHECK (mp, list, &vlog_modules) { - mp->levels[facility] = level; + mp->levels[destination] = level; update_min_level(mp); } -@@ -347,7 +347,7 @@ vlog_set_log_file(const char *file_name) +@@ -397,7 +397,7 @@ vlog_set_log_file(const char *file_name) log_writer = async_append_create(new_log_fd); } @@ -24,13 +24,13 @@ Index: lib/list.h =================================================================== --- lib/list.h.orig +++ lib/list.h -@@ -79,5 +79,9 @@ bool list_is_short(const struct list *); - ? ASSIGN_CONTAINER(NEXT, (ITER)->MEMBER.next, MEMBER), 1 \ - : 0); \ - (ITER) = (NEXT)) -+#define LIST_FOR_EACH_CHECK(ITER, MEMBER, LIST) \ -+ for (ASSIGN_CONTAINER(ITER, (LIST)->next, MEMBER); \ -+ &(ITER)->MEMBER != (LIST) && (ITER)->MEMBER.next != (ITER)->MEMBER.prev; \ -+ ASSIGN_CONTAINER(ITER, (ITER)->MEMBER.next, MEMBER)) +@@ -271,4 +271,9 @@ list_is_short(const struct ovs_list *lis + return list->next == list->prev; + } ++#define LIST_FOR_EACH_CHECK(ITER, MEMBER, LIST) \ ++ for (ASSIGN_CONTAINER(ITER, (LIST)->next, MEMBER); \ ++ &(ITER)->MEMBER != (LIST) && (ITER)->MEMBER.next != (ITER)->MEMBER.prev; \ ++ ASSIGN_CONTAINER(ITER, (ITER)->MEMBER.next, MEMBER)) ++ #endif /* list.h */ diff --git a/openvswitch-2.3.1.tar.gz b/openvswitch-2.3.1.tar.gz deleted file mode 100644 index d321e5d..0000000 --- a/openvswitch-2.3.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21174901c311d54703b4a7f498be0c42e5d2cc68bdecb0090dbb555e2af4bcd2 -size 3266916 diff --git a/openvswitch-2.4.0.tar.gz b/openvswitch-2.4.0.tar.gz new file mode 100644 index 0000000..8ea48eb --- /dev/null +++ b/openvswitch-2.4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:424c5a8dea1c5b153e8c1803bb041d0495e81379fb6f386dd58ee903a7681b9a +size 4182154 diff --git a/openvswitch-switch.template b/openvswitch-switch.template deleted file mode 100644 index dc90b5d..0000000 --- a/openvswitch-switch.template +++ /dev/null @@ -1,8 +0,0 @@ -# This is a POSIX shell fragment -*- sh -*- - -# FORCE_COREFILES: If 'yes' then core files will be enabled. -# FORCE_COREFILES=yes - -# BRCOMPAT: If 'yes' and the openvswitch-brcompat package is installed, then -# Linux bridge compatibility will be enabled. -# BRCOMPAT=no diff --git a/openvswitch.changes b/openvswitch.changes index bfeff3b..1ba3731 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,143 @@ +------------------------------------------------------------------- +Tue Mar 1 08:43:19 UTC 2016 - kmroz@suse.com + +- Tighten up openvswitch service ordering (bsc#968205). + +------------------------------------------------------------------- +Wed Feb 24 15:23:20 UTC 2016 - kmroz@suse.com + +- Don't install INSTALL.* files. + +------------------------------------------------------------------- +Wed Feb 24 13:45:52 UTC 2016 - kmroz@suse.com + +- Removed: openvswitch-switch.template + +------------------------------------------------------------------- +Wed Feb 24 12:53:50 UTC 2016 - kmroz@suse.com + +- New upstream version 2.4.0 + - Flow table modifications are now atomic, meaning that each packet + now sees a coherent version of the OpenFlow pipeline. For + example, if a controller removes all flows with a single OpenFlow + "flow_mod", no packet sees an intermediate version of the OpenFlow + pipeline where only some of the flows have been deleted. + - Added support for SFQ, FQ_CoDel and CoDel qdiscs. + - Add bash command-line completion support for ovs-vsctl Please check + utilities/ovs-command-compgen.INSTALL.md for how to use. + - The MAC learning feature now includes per-port fairness to mitigate + MAC flooding attacks. + - New support for a "conjunctive match" OpenFlow extension, which + allows constructing OpenFlow matches of the form "field1 in + {a,b,c...} AND field2 in {d,e,f...}" and generalizations. For details, + see documentation for the "conjunction" action in ovs-ofctl(8). + - Add bash command-line completion support for ovs-appctl/ovs-dpctl/ + ovs-ofctl/ovsdb-tool commands. Please check + utilities/ovs-command-compgen.INSTALL.md for how to use. + - The "learn" action supports a new flag "delete_learned" that causes + the learned flows to be deleted when the flow with the "learn" action + is deleted. + - Basic support for the Geneve tunneling protocol. It is not yet + possible to generate or match options. This is planned for a future + release. The protocol is documented at + http://tools.ietf.org/html/draft-gross-geneve-00 + - The OVS database now reports controller rate limiting statistics. + - sflow now exports information about LACP-based bonds, port names, and + OpenFlow port numbers, as well as datapath performance counters. + - ovs-dpctl functionality is now available for datapaths integrated + into ovs-vswitchd, via ovs-appctl. Some existing ovs-appctl + commands are now redundant and will be removed in a future + release. See ovs-vswitchd(8) for details. + - OpenFlow: + * OpenFlow 1.4 bundles are now supported for flow mods and port + mods. For flow mods, both 'atomic' and 'ordered' bundle flags + are trivially supported, as all bundled messages are executed + in the order they were added and all flow table modifications + are now atomic to the datapath. Port mods may not appear in + atomic bundles, as port status modifications are not atomic. + * IPv6 flow label and neighbor discovery fields are now modifiable. + * OpenFlow 1.5 extended registers are now supported. + * The OpenFlow 1.5 actset_output field is now supported. + * OpenFlow 1.5 Copy-Field action is now supported. + * OpenFlow 1.5 masked Set-Field action is now supported. + * OpenFlow 1.3+ table features requests are now supported (read-only). + * Nicira extension "move" actions may now be included in action sets. + * "resubmit" actions may now be included in action sets. The resubmit + is executed last, and only if the action set has no "output" or "group" + action. + * OpenFlow 1.4+ flow "importance" is now maintained in the flow table. + * A new Netronome extension to OpenFlow 1.5+ allows control over the + fields hashed for OpenFlow select groups. See "selection_method" and + related options in ovs-ofctl(8) for details. + - ovs-ofctl has a new '--bundle' option that makes the flow mod commands + ('add-flow', 'add-flows', 'mod-flows', 'del-flows', and 'replace-flows') + use an OpenFlow 1.4 bundle to operate the modifications as a single + atomic transaction. If any of the flow mods in a transaction fail, none + of them are executed. All flow mods in a bundle appear to datapath + lookups simultaneously. + - ovs-ofctl 'add-flow' and 'add-flows' commands now accept arbitrary flow + mods as an input by allowing the flow specification to start with an + explicit 'add', 'modify', 'modify_strict', 'delete', or 'delete_strict' + keyword. A missing keyword is treated as 'add', so this is fully + backwards compatible. With the new '--bundle' option all the flow mods + are executed as a single atomic transaction using an OpenFlow 1.4 bundle. + - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because + MD5 is no longer secure and some operating systems have started to disable + it in OpenSSL. + - ovsdb-server: New OVSDB protocol extension allows inequality tests on + "optional scalar" columns. See ovsdb-server(1) for details. + - ovs-vsctl now permits immutable columns in a new row to be modified in + the same transaction that creates the row. + - test-controller has been renamed ovs-testcontroller at request of users + who find it useful for testing basic OpenFlow setups. It is still not + a necessary or desirable part of most Open vSwitch deployments. + - Support for travis-ci.org based continuous integration builds has been + added. Build failures are reported to build@openvswitch.org. See INSTALL.md + file for additional details. + - Support for the Rapid Spanning Tree Protocol (IEEE 802.1D-2004). + The implementation has been tested successfully against the Ixia Automated + Network Validation Library (ANVL). + - Stats are no longer updated on fake bond interface. + - Keep active bond slave selection across OVS restart. + - A simple wrapper script, 'ovs-docker', to integrate OVS with Docker + containers. If and when there is a native integration of Open vSwitch + with Docker, the wrapper script will be retired. + - Added support for DPDK Tunneling. VXLAN, GRE, and Geneve are supported + protocols. This is generic tunneling mechanism for userspace datapath. + - Support for multicast snooping (IGMPv1, IGMPv2 and IGMPv3) + - Support for Linux kernels up to 4.0.x + - The documentation now use the term 'destination' to mean one of syslog, + console or file for vlog logging instead of the previously used term + 'facility'. + - Support for VXLAN Group Policy extension + - Initial support for the IETF Auto-Attach SPBM draft standard. This + contains rudimentary support for the LLDP protocol as needed for + Auto-Attach. + - The default OpenFlow and OVSDB ports are now the IANA-assigned + numbers. OpenFlow is 6653 and OVSDB is 6640. + - Support for DPDK vHost. + - Support for outer UDP checksums in Geneve and VXLAN. + - The kernel vports with dependencies are no longer part of the overall + openvswitch.ko but built and loaded automatically as individual kernel + modules (vport-*.ko). + - Support for STT tunneling. + - Support to configure method (--syslog-method argument) that determines + how daemons will talk with syslog. + - Support for "ovs-appctl vlog/list-pattern" command that lets to query + logging message format for each destination. + - GRE64 and ipsec_gre64 tunnel protocol is deprecated and will be removed + from OVS v2.5 release. + * The openvswitch-testcontroller package is new. It reintroduces the + simple OpenFlow controller that was packaged with Open vSwitch prior to + version 2.1, at request of users who find it useful for testing basic + OpenFlow setups. It is still not a necessary or desirable part of most + Open vSwitch deployments. + +- Fixed: log-check-module-loop.patch to work with new version. +- Removed: openvswitch-2.3.1.tar.gz +- Added: openvswitch-2.4.0.tar.gz +- Spec file work and cleanup. + ------------------------------------------------------------------- Sun Jan 10 17:55:22 UTC 2016 - antoine.belvire@laposte.net diff --git a/openvswitch.service b/openvswitch.service index 815b005..ab2412d 100644 --- a/openvswitch.service +++ b/openvswitch.service @@ -1,6 +1,7 @@ [Unit] Description=Open vSwitch -After=syslog.target network.target +After=network-pre.target +Before=network.service [Service] Type=oneshot diff --git a/openvswitch.spec b/openvswitch.spec index 468542f..f3405b1 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -1,7 +1,7 @@ # # spec file for package openvswitch # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %bcond_with gui Name: openvswitch -Version: 2.3.1 +Version: 2.4.0 Release: 0 Summary: An open source, production quality, multilayer virtual switch License: Apache-2.0 @@ -33,7 +33,6 @@ Url: http://openvswitch.org/ Source0: http://openvswitch.org/releases/%{name}-%{version}.tar.gz Source1: preamble Source2: openvswitch-switch.init -Source3: openvswitch-switch.template Source4: openvswitch-switch.logrotate Source5: openvswitch-vtep.init Source6: openvswitch-ipsec.init @@ -100,7 +99,7 @@ Group: Productivity/Networking/System Requires: %{name} = %{version} %description devel -Devel files for Open vSwitch. +Devel libraries and headers for Open vSwitch. %if %{with ipsec} @@ -256,7 +255,7 @@ Open vSwitch is a full-featured software-based Ethernet switch. %setup -q %patch2 -p0 -set -- * +set -- * .travis* mkdir source mv "$@" source/ mkdir obj @@ -326,8 +325,6 @@ pushd source install -d -m 755 %{buildroot}/%{_sysconfdir}/init.d install -d -m 755 %{buildroot}%{_localstatedir}/adm/fillup-templates -install -m 644 %{SOURCE3} \ - %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}-switch install -m 755 %{SOURCE2} \ %{buildroot}/%{_sysconfdir}/init.d/%{name}-switch install -m 755 %{SOURCE5} \ @@ -398,19 +395,33 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %endif %insserv_cleanup +%post vtep -p /sbin/ldconfig + %preun vtep %stop_on_removal openvswitch-vtep %postun vtep %restart_on_update openvswitch-vtep +/sbin/ldconfig %files %defattr(-,root,root) %dir %{_datadir}/openvswitch -%doc source/AUTHORS source/DESIGN source/INSTALL.* source/NOTICE -%doc source/REPORTING-BUGS source/PORTING -%doc source/CodingStyle source/README -%doc source/WHY-OVS source/COPYING +%doc source/AUTHORS +%doc source/CONTRIBUTING.md +%doc source/COPYING +%doc source/CodingStyle.md +%doc source/DESIGN.md +%doc source/FAQ.md +%doc source/IntegrationGuide.md +%doc source/NEWS +%doc source/NOTICE +%doc source/OPENFLOW-1.1+.md +%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 @@ -421,24 +432,11 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_sbindir}/ovs-vlan-bug-workaround %dir %{_datadir}/openvswitch/scripts %{_datadir}/openvswitch/bugtool-plugins -%{_datadir}/openvswitch/scripts/ovs-bugtool-cfm-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-lacp-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-tc-class-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-ovsdb-dump -%{_datadir}/openvswitch/scripts/ovs-bugtool-bond-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-coverage-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-daemons-ver -%{_datadir}/openvswitch/scripts/ovs-bugtool-vsctl-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-memory-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-ovs-ofctl-dump-flows -%{_datadir}/openvswitch/scripts/ovs-bugtool-ovs-appctl-dpif -%{_datadir}/openvswitch/scripts/ovs-bugtool-ovs-ofctl-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-bfd-show -%{_datadir}/openvswitch/scripts/ovs-bugtool-list-dbs -%{_libdir}/libofproto-%{version}.so -%{_libdir}/libopenvswitch-%{version}.so -%{_libdir}/libovsdb-%{version}.so -%{_libdir}/libsflow-%{version}.so +%{_datadir}/openvswitch/scripts/ovs-bugtool-* +%{_libdir}/libofproto.so.* +%{_libdir}/libopenvswitch.so.* +%{_libdir}/libovsdb.so.* +%{_libdir}/libsflow.so.* %{_mandir}/man1/ovs-benchmark.1.gz %{_mandir}/man1/ovsdb-client.1.gz %{_mandir}/man8/ovs-appctl.8.gz @@ -447,6 +445,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_mandir}/man8/ovs-vlan-bug-workaround.8.gz %{_mandir}/man8/ovs-parse-backtrace.8.gz %{_mandir}/man8/ovs-dpctl-top.8.gz +%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash %files pki %defattr(-,root,root) @@ -462,6 +461,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_mandir}/man8/vtep-ctl.8.gz %{_datadir}/openvswitch/scripts/ovs-vtep %{_datadir}/openvswitch/vtep.ovsschema +%{_libdir}/libvtep.so.* %files -n python-openvswitch %defattr(-,root,root) @@ -482,6 +482,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %files switch %defattr(-,root,root) +%{_bindir}/ovs-docker %{_bindir}/ovs-dpctl %{_bindir}/ovs-tcpundump %{_bindir}/ovs-pcap @@ -494,7 +495,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_datadir}/openvswitch/scripts/ovs-lib %{_datadir}/openvswitch/scripts/ovs-save %{_datadir}/openvswitch/vswitch.ovsschema -%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch-switch +%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash %{_sysconfdir}/init.d/openvswitch-switch %{_sbindir}/rc%{name}-switch %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch @@ -517,9 +518,11 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_bindir}/ovs-test %{_bindir}/ovs-l3ping %{_bindir}/ovs-vlan-test +%{_bindir}/ovs-testcontroller %{_mandir}/man8/ovs-test.8.gz %{_mandir}/man8/ovs-l3ping.8.gz %{_mandir}/man8/ovs-vlan-test.8.gz +%{_mandir}/man8/ovs-testcontroller.8.gz %files devel %defattr(-,root,root) @@ -531,16 +534,10 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_libdir}/libovsdb.la %{_libdir}/libsflow.so %{_libdir}/libsflow.la - -%if %{with gui} - -%files ovsdbmonitor -%defattr(-,root,root) -%{_bindir}/ovsdbmonitor -%dir %{_datadir}/ovsdbmonitor -%{_datadir}/applications/ovsdbmonitor.desktop -%{_datadir}/ovsdbmonitor/* -%{_mandir}/man1/ovsdbmonitor.1.gz -%endif +%{_libdir}/libvtep.so +%{_libdir}/libvtep.la +%{_includedir}/openflow/ +%{_includedir}/openvswitch/ +%{_libdir}/pkgconfig/*.pc %changelog