Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
openvswitch.12136
0001-utilities-Add-script-to-support-DPDK-optio...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch of Package openvswitch.12136
From 2bd8f7f5b990d0ac6924e7b498b25128d037cada 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 feaba37d5..f3b6f013a 100644 --- a/rhel/usr_lib_systemd_system_openvswitch.service +++ b/rhel/usr_lib_systemd_system_openvswitch.service @@ -9,6 +9,7 @@ Requires=ovs-vswitchd.service [Service] Type=oneshot ExecStart=/bin/true +ExecStartPost=/usr/share/openvswitch/scripts/ovs-dpdk-migrate-2.6.sh ExecReload=/usr/share/openvswitch/scripts/ovs-systemd-reload 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.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor