800917b5a2
- Update to Xen 4.1.2_rc2 c/s 23152 - bnc#716695 - domUs using tap devices will not start updated multi-xvdp.patch - Upstream patches from Jan 23803-intel-pmu-models.patch 23800-x86_64-guest-addr-range.patch 23795-intel-ich10-quirk.patch 23804-x86-IPI-counts.patch - bnc#706106 - Inconsistent reporting of VM names during migration xend-migration-domname-fix.patch - bnc#712823 - L3:Xen guest does not start reliable when rebooted xend-vcpu-affinity-fix.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=143
72 lines
1.9 KiB
Diff
72 lines
1.9 KiB
Diff
Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge
|
|
===================================================================
|
|
--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-bridge
|
|
+++ xen-4.1.2-testing/tools/hotplug/Linux/network-bridge
|
|
@@ -193,6 +193,28 @@ antispoofing () {
|
|
iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT
|
|
}
|
|
|
|
+find_active_vlans() {
|
|
+ local netdev=$1
|
|
+ local vlan
|
|
+ local vlans
|
|
+ vlans=""
|
|
+ for vifcfg in /etc/sysconfig/network/ifcfg-vlan* ; do
|
|
+ vlan=${vifcfg/*\/ifcfg-}
|
|
+ if [ "$vlan" = "vlan*" ]; then
|
|
+ continue
|
|
+ fi
|
|
+ . $vifcfg
|
|
+ etherdevice="$ETHERDEVICE"
|
|
+ if [ -x /sbin/getcfg-interface ]; then
|
|
+ etherdevice=$(/sbin/getcfg-interface "$ETHERDEVICE")
|
|
+ fi
|
|
+ if [ "$ETHERDEVICE" = "$netdev" ] || [ "$etherdevice" = "$netdev" ] ; then
|
|
+ link_exists "$vlan" && vlans="$vlans $vlan"
|
|
+ fi
|
|
+ done
|
|
+ echo "$vlans"
|
|
+}
|
|
+
|
|
# Usage: show_status dev bridge
|
|
# Print ifconfig and routes.
|
|
show_status () {
|
|
@@ -227,6 +249,9 @@ op_start () {
|
|
|
|
claim_lock "network-bridge"
|
|
|
|
+ vlans=$(find_active_vlans "${netdev}")
|
|
+ for vlan in $vlans ; do ifdown $vlan ; done
|
|
+
|
|
create_bridge ${tdev}
|
|
|
|
preiftransfer ${netdev}
|
|
@@ -254,6 +279,8 @@ op_start () {
|
|
add_to_bridge2 ${bridge} ${pdev}
|
|
do_ifup ${bridge}
|
|
|
|
+ for vlan in $vlans ; do ifup $vlan ; done
|
|
+
|
|
if [ ${antispoof} = 'yes' ] ; then
|
|
antispoofing
|
|
fi
|
|
@@ -275,6 +302,9 @@ op_stop () {
|
|
|
|
claim_lock "network-bridge"
|
|
|
|
+ vlans=$(find_active_vlans "${netdev}")
|
|
+ for vlan in $vlans ; do ifdown $vlan ; done
|
|
+
|
|
transfer_addrs ${bridge} ${pdev}
|
|
if ! ifdown ${bridge}; then
|
|
get_ip_info ${bridge}
|
|
@@ -291,6 +321,8 @@ op_stop () {
|
|
ip link set ${pdev} name ${netdev}
|
|
do_ifup ${netdev}
|
|
|
|
+ for vlan in $vlans ; do ifup $vlan ; done
|
|
+
|
|
release_lock "network-bridge"
|
|
}
|
|
|