Lucas Meneghel Rodrigues writes: > On Tue, 2011-04-19 at 11:17 +0800, Amos Kong wrote: > > Script is used to setup/remove of private bridge > > it provides dhcp service to guests by dnsmasq. > > Ok, this is a great start! I'd rather have this as python code as part > of the framework, so I'll play with it a little and we can get this > going. > > Jason, would you please re-send that patchset that removes the need for > the qemu-ifup script? We can make everything work together and deliver a > good experience for users and completely getting rid of user mode for > ever and ever :)
Sorry for the delay, try to send it soon :) > > > Signed-off-by: Amos Kong <[email protected]> > > --- > > client/tests/kvm/scripts/set_private_br.sh | 53 > > ++++++++++++++++++++++++++++ > > 1 files changed, 53 insertions(+), 0 deletions(-) > > create mode 100755 client/tests/kvm/scripts/set_private_br.sh > > > > diff --git a/client/tests/kvm/scripts/set_private_br.sh > > b/client/tests/kvm/scripts/set_private_br.sh > > new file mode 100755 > > index 0000000..4c4cff0 > > --- /dev/null > > +++ b/client/tests/kvm/scripts/set_private_br.sh > > @@ -0,0 +1,53 @@ > > +#!/bin/bash > > +# > > +# Author: Amos Kong <[email protected]> > > +# Date: Apr 14, 2011 > > +# Description: this script is used to create/delete a private bridge, > > +# launch a dhcp server on the bridge by dnsmasq. > > +# > > +# @ ./set_private_br.sh $bridge_name $subnet_prefix > > +# @ ./set_private_br.sh vbr0 192.168.33 > > + > > +brname='vbr0' > > +subnet='192.168.33' > > + > > +add_br() > > +{ > > + echo "add new private bridge: $brname" > > + /usr/sbin/brctl show |egrep "\b$brname\b" && exit > > + /usr/sbin/brctl addbr $brname > > + echo 1 > /proc/sys/net/ipv4/ip_forward > > + /usr/sbin/brctl stp $brname on > > + /usr/sbin/brctl setfd $brname 0 > > + ifconfig $brname $subnet.1 up > > + # Add forward rule, then guest can access public network > > + iptables -t nat -A POSTROUTING -s $subnet.254/24 ! -d $subnet.254/24 > > -j MASQUERADE > > + /etc/init.d/dnsmasq stop > > + dnsmasq --strict-order --bind-interfaces --listen-address $subnet.1 > > --dhcp-range $subnet.1,$subnet.254 --pid-file=/tmp/dnsmasq.pid > > +} > > + > > +del_br() > > +{ > > + echo "cleanup bridge setup" > > + kill -9 `cat /tmp/dnsmasq.pid` > > + ifconfig $brname down > > + /usr/sbin/brctl delbr $brname > > + iptables -t nat -D POSTROUTING -s $subnet.254/24 ! -d $subnet.254/24 > > -j MASQUERADE > > +} > > + > > + > > +if [ $# = 0 ]; then > > + echo "./set_private_br.sh add|del [brname] [subnet]" > > + exit > > +fi > > +if [ $# > 1 ]; then > > + brname="$2" > > +fi > > +if [ $# > 2 ]; then > > + subnet="$3" > > +fi > > +if [ $1 = 'add' ]; then > > + add_br > > +elif [ $1 = 'del' ]; then > > + del_br 2>/dev/null > > +fi > > > > _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
