6327676635
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=2cde1443cbaf9b44fea7d2345354b1f7
58 lines
1.7 KiB
Diff
58 lines
1.7 KiB
Diff
Index: xen-4.0.0-testing/tools/hotplug/Linux/network-bridge
|
|
===================================================================
|
|
--- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-bridge
|
|
+++ xen-4.0.0-testing/tools/hotplug/Linux/network-bridge
|
|
@@ -245,6 +245,9 @@ op_start () {
|
|
|
|
claim_lock "network-bridge"
|
|
|
|
+ local bonded=""
|
|
+ [ -e /sys/class/net/${netdev}/bonding ] && bonded="yes"
|
|
+
|
|
vlans=$(find_active_vlans "${netdev}")
|
|
for vlan in $vlans ; do ifdown $vlan ; done
|
|
|
|
@@ -262,18 +265,32 @@ op_start () {
|
|
ip link set ${netdev} down
|
|
ip addr flush ${netdev}
|
|
fi
|
|
- ip link set ${netdev} name ${pdev}
|
|
- ip link set ${tdev} name ${bridge}
|
|
-
|
|
- setup_bridge_port ${pdev}
|
|
|
|
- # Restore slaves
|
|
- if [ -n "${slaves}" ]; then
|
|
- ip link set ${pdev} up
|
|
- ifenslave ${pdev} ${slaves}
|
|
+ if [ "x${bonded}" = "xyes" ]
|
|
+ then
|
|
+ ip link set ${tdev} name ${bridge}
|
|
+ ln -sf /etc/sysconfig/network/ifcfg-${netdev} /etc/sysconfig/network/ifcfg-${pdev}
|
|
+ ifup ${pdev}
|
|
+ local gw=`ip route show dev ${pdev} | fgrep default | sed 's/default via //'`
|
|
+ ip addr flush ${pdev}
|
|
+ rm -f /etc/sysconfig/network/ifcfg-${pdev}
|
|
+ brctl addif ${bridge} ${pdev}
|
|
+ ip link set ${bridge} up
|
|
+ [ -n "$gw" ] && ip route add default via ${gw}
|
|
+ else
|
|
+ ip link set ${netdev} name ${pdev}
|
|
+ ip link set ${tdev} name ${bridge}
|
|
+
|
|
+ setup_bridge_port ${pdev}
|
|
+
|
|
+ # Restore slaves
|
|
+ if [ -n "${slaves}" ]; then
|
|
+ ip link set ${pdev} up
|
|
+ ifenslave ${pdev} ${slaves}
|
|
+ fi
|
|
+ add_to_bridge2 ${bridge} ${pdev}
|
|
+ do_ifup ${bridge}
|
|
fi
|
|
- add_to_bridge2 ${bridge} ${pdev}
|
|
- do_ifup ${bridge}
|
|
|
|
for vlan in $vlans ; do ifup $vlan ; done
|
|
|