diff --git a/0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch b/0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch deleted file mode 100644 index b43c066..0000000 --- a/0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9a20eb387a578575400dd266cf64bebc323a5e7a Mon Sep 17 00:00:00 2001 -From: Mark Kavanagh -Date: Fri, 20 Oct 2017 13:37:00 +0100 -Subject: [PATCH 1/3] netdev-dpdk: replace uint8_t with dpdk_port_t - -netdev_dpdk_detach() declares a 'port_id' variable, of type uint8_t. -This variable should instead be of type dpdk_port_t. - -Fixes: bb37956ac ("netdev-dpdk: Use uint8_t for port_id.") -CC: Ilya Maximets -Signed-off-by: Mark Kavanagh -Acked-by: Ilya Maximets -Signed-off-by: Ian Stokes -Signed-off-by: Markos Chandras ---- - lib/netdev-dpdk.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c -index 41acb5b62..dc96d7ce3 100644 ---- a/lib/netdev-dpdk.c -+++ b/lib/netdev-dpdk.c -@@ -2521,7 +2521,7 @@ netdev_dpdk_detach(struct unixctl_conn *conn, int argc OVS_UNUSED, - { - int ret; - char *response; -- uint8_t port_id; -+ dpdk_port_t port_id; - char devname[RTE_ETH_NAME_MAX_LEN]; - struct netdev_dpdk *dev; - --- -2.15.1 - diff --git a/0001-utilities-Add-script-to-support-DPDK-option-migratio.patch b/0001-utilities-Add-script-to-support-DPDK-option-migratio.patch deleted file mode 100644 index e2cf306..0000000 --- a/0001-utilities-Add-script-to-support-DPDK-option-migratio.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 4f543e486836e9e48fd771ce64808136ac9ce887 Mon Sep 17 00:00:00 2001 -From: Markos Chandras -Date: Fri, 10 Feb 2017 09:51:03 +0000 -Subject: [PATCH] utilities: Add script to support DPDK option migration from - OvS<2.6 - -Open vSwitch 2.6 now requires DPDK options to be in the Open vSwitch -database so add a script to migration options from -/etc/sysconfig/openvswitch to the database. - -Commit: bab6940971336510c1f4342cde0bc17da46b99f1 ("netdev-dpdk: Convert -initialization from cmdline to db") -Signed-off-by: Markos Chandras ---- - rhel/usr_lib_systemd_system_openvswitch.service | 1 + - utilities/ovs-dpdk-migrate-2.6.sh | 88 +++++++++++++++++++++++++ - 2 files changed, 89 insertions(+) - create mode 100644 utilities/ovs-dpdk-migrate-2.6.sh - -diff --git a/rhel/usr_lib_systemd_system_openvswitch.service b/rhel/usr_lib_systemd_system_openvswitch.service -index e823c5454..4cdb8e75d 100644 ---- a/rhel/usr_lib_systemd_system_openvswitch.service -+++ b/rhel/usr_lib_systemd_system_openvswitch.service -@@ -9,6 +9,7 @@ BindsTo=ovs-vswitchd.service - [Service] - Type=oneshot - ExecStart=/bin/true -+ExecStartPost=/usr/share/openvswitch/scripts/ovs-dpdk-migrate-2.6.sh - ExecReload=/bin/true - ExecStop=/bin/true - RemainAfterExit=yes -diff --git a/utilities/ovs-dpdk-migrate-2.6.sh b/utilities/ovs-dpdk-migrate-2.6.sh -new file mode 100644 -index 000000000..6a3f1e08c ---- /dev/null -+++ b/utilities/ovs-dpdk-migrate-2.6.sh -@@ -0,0 +1,88 @@ -+#!/bin/bash -+ -+# Copyright (c) 2017 SUSE LINUX GmbH -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at: -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+# -+# Author: Markos Chandras -+# Maintainer: Markos Chandras -+ -+ -+# The script will try its best to migrate the DPDK options from -+# /etc/sysconfig/openvswitch to the new Open vSwitch db options introduced -+# in Open vSwitch 2.6 -+ -+set -eu -+ -+extra_string='' -+ -+do_ovs_print() { -+ logger="$(which logger || false) -t $(basename $0) -- [dpdk options migration]" -+ echo "[dpdk options migration]" $@ -+ eval $logger $@ -+} -+ -+do_ovs_db() { -+ field=$1; shift -+ args="$@" -+ ovsctl="ovs-vsctl set Open_vSwitch . other_config:$field='$args'" -+ do_ovs_print "Executing '$ovsctl'" -+ eval $ovsctl -+} -+ -+OVS_SYSCONFIG=/etc/sysconfig/openvswitch -+ -+# Exit if for whatever reason there is no sysconfig file -+[[ ! -e $OVS_SYSCONFIG ]] && exit 0 -+ -+source $OVS_SYSCONFIG -+ -+# Exit if no DPDK_OPTIONS are set -+[[ "${DPDK_OPTIONS:-x__unset__x}" == "x__unset__x" ]] && exit 0 -+ -+# If other_config:dpdk-init exists in db then we don't need to do anything -+$(type -p ovs-vsctl) get Open_vSwitch . other_config:dpdk-init &> /dev/null && exit 0 -+ -+OPTIONS=$(getopt -u -o b:c:d:l:m:n:r:v:w: --long xen-dom0:,syslog,socket-mem:,lcores:,master-lcore:,huge-dir,proc-type,file-prefix,vmware-tsc-map,vdev:,base-virtaddr,create-uio-dev,no-shconf,no-pci,no-hpet,no-huge -n ${0} -- $DPDK_OPTIONS) -+ -+set -- $OPTIONS -+ -+do_ovs_db dpdk-init true -+ -+while true; do -+ case $1 in -+ -c) do_ovs_db dpdk-lcore-mask $2; shift 2;; -+ --socket-mem) do_ovs_db dpdk-socket-mem $2; shift 2;; -+ --) shift; break ;; -+ *) -+ if [[ ${2:-x__unset__x} != x__unset__x ]]; then -+ extra_string+="$1 $2 " && shift 2 -+ else -+ extra_string+="$1 " && shift 1 -+ fi -+ ;; -+ esac -+done -+ -+[[ -n "$extra_string" ]] && do_ovs_db dpdk-extra "$extra_string" -+ -+# And now disable DPDK_OPTIONS -+sed -i -e '/^DPDK_OPTIONS=/i \ -+# ------------------------ WARNING -------------------------- \ -+# DPDK options now belong to the Open vSwitch database. See \ -+# man ovs-vswitchd.conf.db(5)' -e 's/^DPDK_OPTIONS=/#&/' $OVS_SYSCONFIG -+ -+# Restart it so new changes take effect -+systemctl -q restart openvswitch -+ -+exit 0 --- -2.11.0 - diff --git a/0002-netdev-dpdk-DPDK-v17.11-upgrade.patch b/0002-netdev-dpdk-DPDK-v17.11-upgrade.patch deleted file mode 100644 index 58aa8db..0000000 --- a/0002-netdev-dpdk-DPDK-v17.11-upgrade.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 48d294a05d4c0723aba6d7bae2e8a7bb56921736 Mon Sep 17 00:00:00 2001 -From: Markos Chandras -Date: Tue, 9 Jan 2018 15:55:34 +0000 -Subject: [PATCH 2/3] netdev-dpdk: DPDK v17.11 upgrade - -API changes for DPDK v17.11 (taken from upstream commit -5e925ccc2a6f569f1b32365e3660671b8e7d36b3 "netdev-dpdk: DPDK v17.11 -upgrade") - -Signed-off-by: Markos Chandras ---- - lib/netdev-dpdk.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c -index dc96d7ce3..b93aa2354 100644 ---- a/lib/netdev-dpdk.c -+++ b/lib/netdev-dpdk.c -@@ -26,6 +26,7 @@ - #include - #include - -+#include - #include - #include - #include -@@ -150,8 +151,8 @@ BUILD_ASSERT_DECL((MAX_NB_MBUF / ROUND_DOWN_POW2(MAX_NB_MBUF/MIN_NB_MBUF)) - - #define DPDK_ETH_PORT_ID_INVALID RTE_MAX_ETHPORTS - --/* DPDK library uses uint8_t for port_id. */ --typedef uint8_t dpdk_port_t; -+/* DPDK library uses uint16_t for port_id. */ -+typedef uint16_t dpdk_port_t; - - #define VHOST_ENQ_RETRY_NUM 8 - #define IF_NAME_SZ (PATH_MAX > IFNAMSIZ ? PATH_MAX : IFNAMSIZ) --- -2.15.1 - diff --git a/0003-netdev-dpdk-vHost-IOMMU-support.patch b/0003-netdev-dpdk-vHost-IOMMU-support.patch deleted file mode 100644 index 30b4dcd..0000000 --- a/0003-netdev-dpdk-vHost-IOMMU-support.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 99aa592dd03c15e9857cfc9c93cc31a8a660af7e Mon Sep 17 00:00:00 2001 -From: Mark Kavanagh -Date: Fri, 8 Dec 2017 10:53:47 +0000 -Subject: [PATCH 3/3] netdev-dpdk: vHost IOMMU support - -DPDK v17.11 introduces support for the vHost IOMMU feature. -This is a security feature, which restricts the vhost memory -that a virtio device may access. - -This feature also enables the vhost REPLY_ACK protocol, the -implementation of which is known to work in newer versions of -QEMU (i.e. v2.10.0), but is buggy in older versions (v2.7.0 - -v2.9.0, inclusive). As such, the feature is disabled by default -in (and should remain so), for the aforementioned older QEMU -verions. Starting with QEMU v2.9.1, vhost-iommu-support can -safely be enabled, even without having an IOMMU device, with -no performance penalty. - -This patch adds a new global config option, vhost-iommu-support, -that controls enablement of the vhost IOMMU feature: - - ovs-vsctl set Open_vSwitch . other_config:vhost-iommu-support=true - -This value defaults to false; to enable IOMMU support, this field -should be set to true when setting other global parameters on init -(such as "dpdk-socket-mem", for example). Changing the value at -runtime is not supported, and requires restarting the vswitch daemon. - -Signed-off-by: Mark Kavanagh -Acked-by: Kevin Traynor -Signed-off-by: Ian Stokes ---- - Documentation/topics/dpdk/vhost-user.rst | 28 ++++++++++++++++++++++++++++ - lib/dpdk-stub.c | 6 ++++++ - lib/dpdk.c | 12 ++++++++++++ - lib/dpdk.h | 3 +++ - lib/netdev-dpdk.c | 14 ++++++++++---- - vswitchd/vswitch.xml | 15 +++++++++++++++ - 6 files changed, 74 insertions(+), 4 deletions(-) - -diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst -index d383a16e3..9286f8ac6 100644 ---- a/Documentation/topics/dpdk/vhost-user.rst -+++ b/Documentation/topics/dpdk/vhost-user.rst -@@ -273,6 +273,34 @@ One benefit of using this mode is the ability for vHost ports to 'reconnect' in - event of the switch crashing or being brought down. Once it is brought back up, - the vHost ports will reconnect automatically and normal service will resume. - -+vhost-user-client IOMMU Support -+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+ -+vhost IOMMU is a feature which restricts the vhost memory that a virtio device -+can access, and as such is useful in deployments in which security is a -+concern. -+ -+IOMMU support may be enabled via a global config value, -+```vhost-iommu-support```. Setting this to true enables vhost IOMMU support for -+all vhost ports when/where available:: -+ -+ $ ovs-vsctl set Open_vSwitch . other_config:vhost-iommu-support=true -+ -+The default value is false. -+ -+.. important:: -+ -+ Changing this value requires restarting the daemon. -+ -+.. important:: -+ -+ Enabling the IOMMU feature also enables the vhost user reply-ack protocol; -+ this is known to work on QEMU v2.10.0, but is buggy on older versions -+ (2.7.0 - 2.9.0, inclusive). Consequently, the IOMMU feature is disabled by -+ default (and should remain so if using the aforementioned versions of -+ QEMU). Starting with QEMU v2.9.1, vhost-iommu-support can safely be -+ enabled, even without having an IOMMU device, with no performance penalty. -+ - .. _dpdk-testpmd: - - DPDK in the Guest -diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c -index daef7291f..36021807c 100644 ---- a/lib/dpdk-stub.c -+++ b/lib/dpdk-stub.c -@@ -48,3 +48,9 @@ dpdk_get_vhost_sock_dir(void) - { - return NULL; - } -+ -+bool -+dpdk_vhost_iommu_enabled(void) -+{ -+ return false; -+} -diff --git a/lib/dpdk.c b/lib/dpdk.c -index 8da6c3244..6710d10fc 100644 ---- a/lib/dpdk.c -+++ b/lib/dpdk.c -@@ -41,6 +41,7 @@ VLOG_DEFINE_THIS_MODULE(dpdk); - static FILE *log_stream = NULL; /* Stream for DPDK log redirection */ - - static char *vhost_sock_dir = NULL; /* Location of vhost-user sockets */ -+static bool vhost_iommu_enabled = false; /* Status of vHost IOMMU support */ - - static int - process_vhost_flags(char *flag, const char *default_val, int size, -@@ -345,6 +346,11 @@ dpdk_init__(const struct smap *ovs_other_config) - vhost_sock_dir = sock_dir_subcomponent; - } - -+ vhost_iommu_enabled = smap_get_bool(ovs_other_config, -+ "vhost-iommu-support", false); -+ VLOG_INFO("IOMMU support for vhost-user-client %s.", -+ vhost_iommu_enabled ? "enabled" : "disabled"); -+ - argv = grow_argv(&argv, 0, 1); - argc = 1; - argv[0] = xstrdup(ovs_get_program_name()); -@@ -482,6 +488,12 @@ dpdk_get_vhost_sock_dir(void) - return vhost_sock_dir; - } - -+bool -+dpdk_vhost_iommu_enabled(void) -+{ -+ return vhost_iommu_enabled; -+} -+ - void - dpdk_set_lcore_id(unsigned cpu) - { -diff --git a/lib/dpdk.h b/lib/dpdk.h -index 673a1f17e..dc58d968a 100644 ---- a/lib/dpdk.h -+++ b/lib/dpdk.h -@@ -17,6 +17,8 @@ - #ifndef DPDK_H - #define DPDK_H - -+#include -+ - #ifdef DPDK_NETDEV - - #include -@@ -35,5 +37,6 @@ struct smap; - void dpdk_init(const struct smap *ovs_other_config); - void dpdk_set_lcore_id(unsigned cpu); - const char *dpdk_get_vhost_sock_dir(void); -+bool dpdk_vhost_iommu_enabled(void); - - #endif /* dpdk.h */ -diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c -index b93aa2354..3082fd668 100644 ---- a/lib/netdev-dpdk.c -+++ b/lib/netdev-dpdk.c -@@ -3259,6 +3259,7 @@ netdev_dpdk_vhost_client_reconfigure(struct netdev *netdev) - { - struct netdev_dpdk *dev = netdev_dpdk_cast(netdev); - int err; -+ uint64_t vhost_flags = 0; - - ovs_mutex_lock(&dev->mutex); - -@@ -3269,16 +3270,21 @@ netdev_dpdk_vhost_client_reconfigure(struct netdev *netdev) - */ - if (!(dev->vhost_driver_flags & RTE_VHOST_USER_CLIENT) - && strlen(dev->vhost_id)) { -- /* Register client-mode device */ -- err = rte_vhost_driver_register(dev->vhost_id, -- RTE_VHOST_USER_CLIENT); -+ /* Register client-mode device. */ -+ vhost_flags |= RTE_VHOST_USER_CLIENT; -+ -+ /* Enable IOMMU support, if explicitly requested. */ -+ if (dpdk_vhost_iommu_enabled()) { -+ vhost_flags |= RTE_VHOST_USER_IOMMU_SUPPORT; -+ } -+ err = rte_vhost_driver_register(dev->vhost_id, vhost_flags); - if (err) { - VLOG_ERR("vhost-user device setup failure for device %s\n", - dev->vhost_id); - goto unlock; - } else { - /* Configuration successful */ -- dev->vhost_driver_flags |= RTE_VHOST_USER_CLIENT; -+ dev->vhost_driver_flags |= vhost_flags; - VLOG_INFO("vHost User device '%s' created in 'client' mode, " - "using client socket '%s'", - dev->up.name, dev->vhost_id); -diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml -index 074535b58..8f646059f 100644 ---- a/vswitchd/vswitch.xml -+++ b/vswitchd/vswitch.xml -@@ -344,6 +344,21 @@ -

- - -+ -+

-+ vHost IOMMU is a security feature, which restricts the vhost memory -+ that a virtio device may access. vHost IOMMU support is disabled by -+ default, due to a bug in QEMU implementations of the vhost REPLY_ACK -+ protocol, (on which vHost IOMMU relies) prior to v2.9.1. Setting this -+ value to true enables vHost IOMMU support for vHost User -+ Client ports in OvS-DPDK, starting from DPDK v17.11. -+

-+

-+ Changing this value requires restarting the daemon. -+

-+
-+ - -

--- -2.15.1 - diff --git a/openvswitch-2.8.1.tar.gz b/openvswitch-2.8.1.tar.gz deleted file mode 100644 index acbd923..0000000 --- a/openvswitch-2.8.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d1c439e26d7044f0ec823c7fef1b00b7c6465da0b83a7d0cf3191ed1dc43893 -size 6746474 diff --git a/openvswitch-2.9.0.tar.gz b/openvswitch-2.9.0.tar.gz new file mode 100644 index 0000000..61ec039 --- /dev/null +++ b/openvswitch-2.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3699ce579acd346e9aa2fba89514cdcc79b231f6227659eea6714917b398419d +size 6933057 diff --git a/openvswitch.changes b/openvswitch.changes index 8958b9f..05048c6 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,70 @@ +------------------------------------------------------------------- +Thu Mar 1 10:39:54 UTC 2018 - mchandras@suse.de + +- Version bump to 2.9.0. Some of the changes are: + * NSH implementation now conforms to latest draft (draft-ietf-sfc-nsh-28). + * OVSDB: + - ovsdb-client: New "get-schema-cksum" and "query" commands. + - ovsdb-client: New "backup" and "restore" commands. + - ovsdb-client: New --timeout option. + - ovsdb-tool: New "db-name" and "schema-name" commands. + * ovs-vsctl and other commands that display data in tables now support a + --max-column-width option to limit column width. + * No longer slow-path traffic that sends to a controller. Applications, + such as OVN ACL logging, want to send a copy of a packet to a + controller while leaving the actual packet forwarding in the datapath. + * OVN: + - The "requested-chassis" option for a logical switch port now accepts a + chassis "hostname" in addition to a chassis "name". + - IPv6 + * Added support to send IPv6 Router Advertisement packets in response to + the IPv6 Router Solicitation packets from the VIF ports. + * Added support to generate Neighbor Solicitation packets using the OVN + action 'nd_ns' to resolve unknown next hop MAC addresses for the + IPv6 packets. + - ovn-ctl: New commands run_nb_ovsdb and run_sb_ovsdb. + * OpenFlow: + - ct_clear action is now backed by kernel datapath. Support is probed for + when OVS starts. + - ovs-dpctl and related ovs-appctl commands: + * "flush-conntrack" now accept a 5-tuple to delete a specific + connection tracking entry. + * New "ct-set-maxconns", "ct-get-maxconns", and "ct-get-nconns" commands + for userspace datapath. + - No longer send packets to the Linux TAP device if it's DOWN unless it is + in another networking namespace. + * DPDK: + - Add support for DPDK v17.11 + - Add support for vHost IOMMU + - New debug appctl command 'netdev-dpdk/get-mempool-info'. + * Custom statistics: + - DPDK physical ports now return custom set of "dropped", "error" and + "management" statistics. + - ovs-ofctl dump-ports command now prints new of set custom statistics + if available (for OpenFlow 1.4+). + - New appctl command 'dpif-netdev/pmd-rxq-rebalance' to rebalance rxq to + pmd assignments. + - Add rxq utilization of pmd to appctl 'dpif-netdev/pmd-rxq-show'. + - Add support for vHost dequeue zero copy (experimental) + * Userspace datapath: + - Output packet batching support. + * vswitchd: + - Datapath IDs may now be specified as 0x1 (etc.) instead of 16 digits. + - Configuring a controller, or unconfiguring all controllers, now deletes + all groups and meters (as well as all flows). + - New --enable-sparse configure option enables "sparse" checking by default. + - Added additional information to vhost-user status. +- For the complete list of changes, please refer to + http://openvswitch.org/releases/NEWS-2.9.0 +- Fix incorrect python3 dependencies for python2 subpackages +- Drop upstream patches for DPDK 17.11 support. They have been merged upstream + * 0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch + * 0002-netdev-dpdk-DPDK-v17.11-upgrade.patch + * 0003-netdev-dpdk-vHost-IOMMU-support.patch +- Get rid of the old openvswitch DPDK migration steps everybody should have + migrated from <2.6 to latest releases by now. + * 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch + ------------------------------------------------------------------- Tue Jan 9 16:25:48 UTC 2018 - mchandras@suse.de diff --git a/openvswitch.spec b/openvswitch.spec index 74a2d32..4e0a0dd 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -22,7 +22,7 @@ %if ! %{defined _fillupdir} %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif -%define lname libopenvswitch-2_8-0 +%define lname libopenvswitch-2_9-0 %ifarch aarch64 x86_64 %{ix86} # DPDK enabled by default %bcond_without dpdk @@ -36,25 +36,18 @@ # Disable building the external kernel datapath by default %bcond_with kmp Name: openvswitch -Version: 2.8.1 +Version: 2.9.0 Release: 0 Summary: A multilayer virtual network switch # All code is Apache-2.0 except # - lib/sflow* which is SISSL # - utilities/bugtool which is LGPL-2.1 -License: Apache-2.0 AND LGPL-2.1 AND SISSL +License: Apache-2.0 AND LGPL-2.1-only AND SISSL Group: Productivity/Networking/System Url: http://openvswitch.org/ Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz Source1: preamble Source89: Module.supported.updates -# PATCH-FIX-UPSTREAM: 0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch -Patch0: 0001-netdev-dpdk-replace-uint8_t-with-dpdk_port_t.patch -# PATCH-FIX-UPSTREAM: 0002-netdev-dpdk-DPDK-v17.11-upgrade.patch -Patch1: 0002-netdev-dpdk-DPDK-v17.11-upgrade.patch -# PATCH-FIX-UPSTREAM: 0003-netdev-dpdk-vHost-IOMMU-support.patch -Patch2: 0003-netdev-dpdk-vHost-IOMMU-support.patch -Patch99: 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module six} BuildRequires: %{python_module xml} @@ -119,7 +112,7 @@ vNetwork distributed vswitch or Cisco’s Nexus 1000V. %if %{with kmp} %package kmp Summary: Open vSwitch kernel modules -License: GPL-2.0+ +License: GPL-2.0-or-later Group: System/Kernel BuildRequires: %{kernel_module_package_buildreqs} %suse_kernel_module_package -p %{_sourcedir}/preamble ec2 xenpae vmi um @@ -263,8 +256,8 @@ Summary: Python2 bindings for Open vSwitch License: Apache-2.0 Group: Productivity/Networking/System Requires: openvswitch-common = %{version} -Requires: python3 -Requires: python3-six +Requires: python2 +Requires: python2-six Provides: python-openvswitch = %{version} Obsoletes: python-openvswitch < 2.8.1 BuildArch: noarch @@ -329,10 +322,6 @@ performance and connectivity issues in Open vSwitch setup. %prep %setup -q -n openvswitch-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch99 -p1 %build set -- * .travis* .mailmap @@ -367,7 +356,7 @@ pushd source dpdk_opt="--with-dpdk" %endif -%{_bindir}/perl build-aux/dpdkstrip.pl \ +%{_bindir}/python build-aux/dpdkstrip.py \ %if %{with dpdk} --dpdk \ %else @@ -456,9 +445,6 @@ mkdir -p %{buildroot}%{_docdir}/%{name} cp -r Documentation/* %{buildroot}%{_docdir}/%{name} find %{buildroot}%{_docdir}/%{name}/ -type f ! -name '*.rst' -delete -# DPDK migration script -install -m 755 utilities/ovs-dpdk-migrate-2.6.sh %{buildroot}/%{_datadir}/openvswitch/scripts/ - popd # python2 @@ -482,19 +468,6 @@ find %{buildroot} -type f -name "*.la" -delete -print %post /sbin/ldconfig %{fillup_only -n openvswitch} -if grep -q ^DPDK_OPTIONS= %{_sysconfdir}/sysconfig/openvswitch &> /dev/null; then - cat >> %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release}-something << EOF - WARNING! DPDK options are now part of the Open vSwitch database. Please see - https://github.com/openvswitch/ovs/blob/branch-2.7/Documentation/intro/install/dpdk.rst - - The Open vSwitch systemd service will try to migrate your %{_sysconfdir}/sysconfig/openvswitch - DPDK settings to the OvS database the next time it's restarted but you should check the result - using 'ovs-vsctl list Open_vSwitch' or something similar. - - Please remember to remove the DPDK_OPTIONS variable from %{_sysconfdir}/sysconfig/openvswitch - to avoid seeing this warning again. -EOF -fi if [ $1 -eq 1 ]; then getent passwd openvswitch >/dev/null || \ @@ -621,7 +594,6 @@ export DISABLE_RESTART_ON_UPDATE=yes %{_datadir}/openvswitch/scripts/ovs-ctl %{_datadir}/openvswitch/scripts/ovs-lib %{_datadir}/openvswitch/scripts/ovs-save -%{_datadir}/openvswitch/scripts/ovs-dpdk-migrate-2.6.sh %{_datadir}/openvswitch/vswitch.ovsschema %{_mandir}/man1/ovsdb-client.1%{ext_man} %{_mandir}/man1/ovsdb-server.1%{ext_man}