AW: AW: [Users] Multiple bridge support

Kir Kolyshkin kir at openvz.org
Thu Jul 10 13:42:15 EDT 2008


I don't quite get it. Is it supposed to be a replacement for vznetaddbr, 
an addition to it, or is it orthogonal to it? Who and when calls vznetaddbr?

Dietmar Maurer wrote:
> Hi Kir,
>
>   
>> Von: Kir Kolyshkin [mailto:kir at openvz.org] 
>> Gesendet: Donnerstag, 03. Juli 2008 13:35
>> An: users at openvz.org; Dietmar Maurer
>> Betreff: Re: AW: [Users] Multiple bridge support
>>
>> How do you invoke it? Using EXTERNAL_SCRIPT?
>>
>> Would be good to have a patch adding (conditional?) 
>> invocation of vznetaddbr to vznetcfg.
>>     
>
> One idea was to add a new global option in vz.conf:
>
> DEF_BRIDGE=XXXX
>
> If set, we automatically setup the bridge (we need to pass an additional
> parameter to vznetcfg, but i guess thats no problem at all). That also
> avoid a hardcoded default bridge name (vmbr0).
>
> Here is the totally untested code. If you like the idea I will test it
> ;-)
>
> ---------------------------------------
> #!/bin/sh
> CONFIGFILE='@PKGCONFDIR@/vz.conf'
>
> [ -f "$CONFIGFILE" ] &&. $CONFIGFILE
>
> VZNETCFG='@PKGCONFDIR@/vznet.conf'
>
> [ -f "$VZNETCFG" ] && . "$VZNETCFG"
>
> usage()
> {
>         echo >&2 "vznetcfg init veth <dev> [<bridge>]"
> }
>
> init_veth()
> {
>         local dev="$1"
>         local bridge="$2"
>
>         if [ -n "$DEV_BRIDGE" ]; then
>             if [ ! -n "$bridge" ]; then
>                 bridge=$DEV_BRIDGE
>             fi
>             echo "Adding interface $dev to bridge $bridge on CT0 for
> CT$VEID"
>             /sbin/ifconfig $dev 0
>             echo 1 > /proc/sys/net/ipv4/conf/$dev/proxy_arp
>             echo 1 > /proc/sys/net/ipv4/conf/$dev/forwarding
>             /usr/sbin/brctl addif $bridge $dev
>         else
>             ip link set "$dev" up
>         fi
> }
>
> # Call the external script if defined
> if [ -n "$EXTERNAL_SCRIPT" -a -x "$EXTERNAL_SCRIPT" ]; then
>         export VEID
>         exec "$EXTERNAL_SCRIPT" $@
> fi
>
> if test $# -le 2; then
>     usage
>     exit 0
> fi
>
> CMD="$1"
> case "$CMD$2" in
>         initveth)
>                 if test $# -le 3; then
>                         usage
>                         exit 1
>                 fi
>
>                 init_veth "$3" "$4"
>                 ;;
>         *)
>                 echo "invalid action"
>                 exit 1
>                 ;;
> esac
> exit 0
>
>
>   



More information about the Users mailing list