xen/bridge-vlan.patch
Charles Arnold 0a0dc9a60d - bnc#801663 - performance of mirror lvm unsuitable for production
block-dmmd

- Update to Xen 4.3.0-rc2

- Consolidate all xend and traditional qemu patches into one patch
  file.  Rename '.diff' patches to '.patch' and reoder others.
  xend-traditional-qemu.patch

- Create a xend-tools package for the legacy xend toolstack files

- Update to Xen 4.3.0-rc1 c/s 27068

- bnc#818183 - VUL-0: xen: CVE-2013-2007: XSA-51: qga set umask
  0077 when daemonizing
  CVE-2013-2007-xsa51-1.patch
  CVE-2013-2007-xsa51-2.patch

- bnc#808269 - Fully Virtualized Windows VM install is failed on
  Ivy Bridge platforms with Xen kernel
  26754-hvm-Improve-APIC-INIT-SIPI-emulation.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=241
2013-06-01 21:11:56 +00:00

72 lines
1.9 KiB
Diff

Index: xen-4.2.0-testing/tools/hotplug/Linux/network-bridge
===================================================================
--- xen-4.2.0-testing.orig/tools/hotplug/Linux/network-bridge
+++ xen-4.2.0-testing/tools/hotplug/Linux/network-bridge
@@ -195,6 +195,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 () {
@@ -229,6 +251,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}
@@ -256,6 +281,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
@@ -277,6 +304,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}
@@ -293,6 +323,8 @@ op_stop () {
ip link set ${pdev} name ${netdev}
do_ifup ${netdev}
+ for vlan in $vlans ; do ifup $vlan ; done
+
release_lock "network-bridge"
}