Accepting request 582588 from home:markoschandras:network
- 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. OBS-URL: https://build.opensuse.org/request/show/582588 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=139
This commit is contained in:
parent
6d5d3ab04a
commit
c0316badd8
@ -1,34 +0,0 @@
|
||||
From 9a20eb387a578575400dd266cf64bebc323a5e7a Mon Sep 17 00:00:00 2001
|
||||
From: Mark Kavanagh <mark.b.kavanagh@intel.com>
|
||||
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 <i.maximets@samsung.com>
|
||||
Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
|
||||
Acked-by: Ilya Maximets <i.maximets@samsung.com>
|
||||
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
|
||||
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
||||
---
|
||||
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
|
||||
|
@ -1,128 +0,0 @@
|
||||
From 4f543e486836e9e48fd771ce64808136ac9ce887 Mon Sep 17 00:00:00 2001
|
||||
From: Markos Chandras <mchandras@suse.de>
|
||||
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 <mchandras@suse.de>
|
||||
---
|
||||
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 <mchandras@suse.de>
|
||||
+# Maintainer: Markos Chandras <mchandras@suse.de>
|
||||
+
|
||||
+
|
||||
+# 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
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 48d294a05d4c0723aba6d7bae2e8a7bb56921736 Mon Sep 17 00:00:00 2001
|
||||
From: Markos Chandras <mchandras@suse.de>
|
||||
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 <mchandras@suse.de>
|
||||
---
|
||||
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 <sys/socket.h>
|
||||
#include <linux/if.h>
|
||||
|
||||
+#include <rte_bus_pci.h>
|
||||
#include <rte_config.h>
|
||||
#include <rte_cycles.h>
|
||||
#include <rte_errno.h>
|
||||
@@ -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
|
||||
|
@ -1,217 +0,0 @@
|
||||
From 99aa592dd03c15e9857cfc9c93cc31a8a660af7e Mon Sep 17 00:00:00 2001
|
||||
From: Mark Kavanagh <mark.b.kavanagh@intel.com>
|
||||
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 <mark.b.kavanagh@intel.com>
|
||||
Acked-by: Kevin Traynor <ktraynor@redhat.com>
|
||||
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
|
||||
---
|
||||
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 <stdbool.h>
|
||||
+
|
||||
#ifdef DPDK_NETDEV
|
||||
|
||||
#include <rte_config.h>
|
||||
@@ -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 @@
|
||||
</p>
|
||||
</column>
|
||||
|
||||
+ <column name="other_config" key="vhost-iommu-support"
|
||||
+ type='{"type": "boolean"}'>
|
||||
+ <p>
|
||||
+ 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 <code>true</code> enables vHost IOMMU support for vHost User
|
||||
+ Client ports in OvS-DPDK, starting from DPDK v17.11.
|
||||
+ </p>
|
||||
+ <p>
|
||||
+ Changing this value requires restarting the daemon.
|
||||
+ </p>
|
||||
+ </column>
|
||||
+
|
||||
<column name="other_config" key="n-handler-threads"
|
||||
type='{"type": "integer", "minInteger": 1}'>
|
||||
<p>
|
||||
--
|
||||
2.15.1
|
||||
|
3
openvswitch-2.9.0.tar.gz
Normal file
3
openvswitch-2.9.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3699ce579acd346e9aa2fba89514cdcc79b231f6227659eea6714917b398419d
|
||||
size 6933057
|
@ -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
|
||||
|
||||
|
@ -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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user