Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
xen
bridge-vlan.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bridge-vlan.diff of Package xen
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" }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor