xen/replace-obsolete-network-configuration-commands-in-s.patch

153 lines
5.3 KiB
Diff
Raw Permalink Normal View History

From 5e1e18fde92bae1ae87f78d470e80b1ffc9350d1 Mon Sep 17 00:00:00 2001
From: Michal Kubecek <mkubecek@suse.cz>
Date: Wed, 26 Jul 2017 10:28:54 +0200
Subject: [PATCH] replace obsolete network configuration commands in scripts
Some scripts still use obsolete network configuration commands ifconfig and
brctl. Replace them by commands from iproute2 package.
---
tools/hotplug/Linux/colo-proxy-setup | 14 --------------
tools/hotplug/Linux/remus-netbuf-setup | 2 +-
tools/hotplug/Linux/vif-bridge | 6 +-----
tools/hotplug/Linux/vif-nat | 2 +-
tools/hotplug/Linux/vif-route | 6 ++++--
tools/hotplug/Linux/xen-network-common.sh | 15 +--------------
6 files changed, 8 insertions(+), 37 deletions(-)
--- a/tools/hotplug/Linux/colo-proxy-setup
+++ b/tools/hotplug/Linux/colo-proxy-setup
@@ -76,17 +76,10 @@
function setup_secondary()
{
- if which brctl >&/dev/null; then
- do_without_error brctl delif $bridge $vifname
- do_without_error brctl addbr $forwardbr
- do_without_error brctl addif $forwardbr $vifname
- do_without_error brctl addif $forwardbr $forwarddev
- else
do_without_error ip link set $vifname nomaster
do_without_error ip link add name $forwardbr type bridge
do_without_error ip link set $vifname master $forwardbr
do_without_error ip link set $forwarddev master $forwardbr
- fi
do_without_error ip link set dev $forwardbr up
do_without_error modprobe xt_SECCOLO
@@ -98,17 +91,10 @@
function teardown_secondary()
{
- if which brctl >&/dev/null; then
- do_without_error brctl delif $forwardbr $forwarddev
- do_without_error brctl delif $forwardbr $vifname
- do_without_error brctl delbr $forwardbr
- do_without_error brctl addif $bridge $vifname
- else
do_without_error ip link set $forwarddev nomaster
do_without_error ip link set $vifname nomaster
do_without_error ip link delete $forwardbr type bridge
do_without_error ip link set $vifname master $bridge
- fi
do_without_error iptables -t mangle -D PREROUTING -m physdev --physdev-in \
$vifname -j SECCOLO --index $index
--- a/tools/hotplug/Linux/remus-netbuf-setup
+++ b/tools/hotplug/Linux/remus-netbuf-setup
@@ -139,7 +139,7 @@
setup_ifb() {
- for ifb in `ifconfig -a -s|egrep ^ifb|cut -d ' ' -f1`
+ for ifb in $(ip --oneline link show type ifb | awk -F : '(NR == 1) { print $2; }')
do
check_ifb "$ifb" || continue
REMUS_IFB="$ifb"
--- a/tools/hotplug/Linux/vif-bridge
+++ b/tools/hotplug/Linux/vif-bridge
@@ -39,11 +39,7 @@
bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" "$bridge")
if [ -z "$bridge" ]; then
- if which brctl >&/dev/null; then
- bridge=$(brctl show | awk 'NR==2{print$1}')
- else
- bridge=$(bridge link | cut -d" " -f7)
- fi
+ read bridge < <(ip --oneline link show type bridge | awk -F : '(NR == 1) { print $2; }')
if [ -z "$bridge" ]
then
fatal "Could not find bridge, and none was specified"
--- a/tools/hotplug/Linux/vif-nat
+++ b/tools/hotplug/Linux/vif-nat
@@ -172,7 +172,7 @@
;;
offline)
[ "$dhcp" != 'no' ] && dhcp_down
- do_without_error ifconfig "${dev}" down
+ do_without_error ip link set "${dev}" down
;;
esac
--- a/tools/hotplug/Linux/vif-route
+++ b/tools/hotplug/Linux/vif-route
@@ -23,13 +23,15 @@
case "${command}" in
add|online)
- ifconfig ${dev} ${main_ip} netmask 255.255.255.255 up
+ ip addr add "${main_ip}/32" dev "$dev"
+ ip link set "dev" up
echo 1 >/proc/sys/net/ipv4/conf/${dev}/proxy_arp
ipcmd='add'
cmdprefix=''
;;
remove|offline)
- do_without_error ifdown ${dev}
+ do_without_error ip addr flush dev "$dev"
+ do_without_error ip link set "$dev" down
ipcmd='del'
cmdprefix='do_without_error'
;;
--- a/tools/hotplug/Linux/xen-network-common.sh
+++ b/tools/hotplug/Linux/xen-network-common.sh
@@ -111,13 +111,7 @@
# Don't create the bridge if it already exists.
if [ ! -e "/sys/class/net/${bridge}/bridge" ]; then
- if which brctl >&/dev/null; then
- brctl addbr ${bridge}
- brctl stp ${bridge} off
- brctl setfd ${bridge} 0
- else
ip link add name ${bridge} type bridge stp_state 0 forward_delay 0
- fi
fi
}
@@ -129,11 +123,7 @@
# Don't add $dev to $bridge if it's already on the bridge.
if [ ! -e "/sys/class/net/${bridge}/brif/${dev}" ]; then
log debug "adding $dev to bridge $bridge"
- if which brctl >&/dev/null; then
- brctl addif ${bridge} ${dev}
- else
ip link set ${dev} master ${bridge}
- fi
else
log debug "$dev already on bridge $bridge"
fi
@@ -150,11 +140,8 @@
# Don't remove $dev from $bridge if it's not on the bridge.
if [ -e "/sys/class/net/${bridge}/brif/${dev}" ]; then
log debug "removing $dev from bridge $bridge"
- if which brctl >&/dev/null; then
- do_without_error brctl delif ${bridge} ${dev}
- else
do_without_error ip link set ${dev} nomaster
- fi
+ do_without_error ip link set "$dev" down
else
log debug "$dev not on bridge $bridge"
fi