0c76f22ef1
- bnc#633573 - System fail to boot after running several warm reboot tests 22749-vtd-workarounds.patch - Upstream patches from Jan 22744-ept-pod-locking.patch 22777-vtd-ats-fixes.patch 22781-pod-hap-logdirty.patch 22782-x86-emul-smsw.patch 22789-i386-no-x2apic.patch 22790-svm-resume-migrate-pirqs.patch 22816-x86-pirq-drop-priv-check.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=94
72 lines
1.9 KiB
Diff
72 lines
1.9 KiB
Diff
Index: xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
|
|
===================================================================
|
|
--- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-bridge
|
|
+++ xen-4.0.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 () {
|
|
@@ -223,6 +245,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}
|
|
@@ -250,6 +275,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
|
|
@@ -267,6 +294,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}
|
|
@@ -283,6 +313,8 @@ op_stop () {
|
|
ip link set ${pdev} name ${netdev}
|
|
do_ifup ${netdev}
|
|
|
|
+ for vlan in $vlans ; do ifup $vlan ; done
|
|
+
|
|
release_lock "network-bridge"
|
|
}
|
|
|