diff options
Diffstat (limited to 'kernel/networking/openvswitch/libvirt/add_interface/runtest.sh')
-rwxr-xr-x | kernel/networking/openvswitch/libvirt/add_interface/runtest.sh | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/kernel/networking/openvswitch/libvirt/add_interface/runtest.sh b/kernel/networking/openvswitch/libvirt/add_interface/runtest.sh index 74455f4..1f103bd 100755 --- a/kernel/networking/openvswitch/libvirt/add_interface/runtest.sh +++ b/kernel/networking/openvswitch/libvirt/add_interface/runtest.sh @@ -49,10 +49,28 @@ add_interface() return $? } -set | grep vlan +add_vlan() +{ + guest=$1 + switch=$2 + vlan=$3 + sed -ie "/<source bridge='$switch'\/>/ a \<vlan trunk='yes'>\n<tag id='$vlan'\/>\n<\/vlan>" $guest + virsh define --file $guest + return $? +} + +set | grep -i vlan for switch in $SWITCHES; do + if [ -n "VLANS_$switch" ]; then + for vlan in $(eval echo \$VLANS_$switch); do + for guest in $(eval echo \$$vlan); do + add_interface /etc/libvirt/qemu/${guest}.xml $switch && report_result $TEST/$guest/$switch PASS 0 + add_vlan /etc/libvirt/qemu/${guest}.xml $switch $vlan && report_result $TEST/$guest/$vlan PASS 0 + done + done + fi for guest in $(eval echo \$$switch); do - add_interface /etc/libvirt/qemu/${guest}.xml $switch && report_result $TEST/$guest/$switch PASS 0 + add_interface /etc/libvirt/qemu/${guest}.xml $SWITCH && report_result $TEST/$guest/$switch PASS 0 done done |