On Wed, 2004-03-31 at 05:11, Herbert Poetzl wrote:
On Wed, Mar 31, 2004 at 01:41:14AM +0000, Liam Helmer wrote:
     printf "%s:%02x" eth0 12345

Ooh, cool. That's much nicer. So, after fixing a couple of other bugs too, it should look more like this:

vstohex () {
        [ -n "$1" ] || return 1
local oct1=$((${1} / 256))
local oct2=$((${1} % 256))
printf "%02:%02" ${oct1} ${oct2}
        }

if [ -n "${BUILD_VSIF}" ] && ! /sbin/ip link ls ${VSERVER_NAME} > /dev/null 2>&1 ; then
olddummylist=($(/sbin/ip link ls 2> /dev/null | gawk '$2 ~ /^dummy/ {print $2}' | sed 's/:$//g' | sort))
insmod -o dummy-${VSERVER_NAME} dummy
newdummylist=($(/sbin/ip link ls 2> /dev/null | gawk '$2 ~ /^dummy/ {print $2}' | sed 's/:$//g' | sort))
if [[ "[EMAIL PROTECTED]" = "[EMAIL PROTECTED]" ]] ; then
${LOGERROR} "Sorry, no dummy support in kernel!"
else
for nd in [EMAIL PROTECTED] ; do
for od in [EMAIL PROTECTED] ; do
[ "$nd" = "$od" ] && continue 2
done
dummylock=/var/run/vserver/.lock.${nd}
[ -f "$dummylock" ] && continue
echo $$ >> $dummylock
hexend=$(vstohex ${S_CONTEXT})
mac="ff:ff:ff:ff:${hexend}"
ip link set dev ${nd} address ${mac}
nameif ${VSERVER_NAME} ${mac} || ${LOGERROR} "Couldn't set up interface ${VSERVER_NAME} correctly!"
rm -f ${dummylock}
break
done
fi
fi
if [ "$BUILD_VSIF" ] ; then
if ! /sbin/ip link ls ${VSERVER_NAME} > /dev/null 2>&1 ; then
${LOGERROR} "Dummy interface ${VSERVER_NAME} doesn't exist!"
else
ip addr flush ${VSERVER_NAME}
for ipaddr in ${IPROOT} ; do
ip addr add dev ${VSERVER_NAME} $ipaddr
done
fi

fi


is a good solution too (for bash)

best,
Herbert

_______________________________________________
Vserver mailing list
[EMAIL PROTECTED]
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to