[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-users] slightly less random random macs
Hello all, There's been many posts lately about problems that stem from either duplicate macs, non static macs and other networking issues that would be averted if a mac was specified upon vm creation. I've been using this little function I wrote in my shell scripts that setup dom-u's from a csv file and its worked rather well, lets you control the prefix and characters used in making the mac. As far as I know there is no "standard" mac prefix to denote a virtual nic. Anyway here's the snippet / function which is very self explanatory and should work with bash / dash / etc. This can be accomplished with python using only a few lines of code, but bash seems more widely used when creating back end helpers. Hope someone finds it of use. Best, -Tim # creates a random mac address and sets a global _MAC variable # to contain it. makemac() { # edit prefix to suit, ideally matches the manufacturer # prefix of the type of nic your using. local prefix="00:00:6d" local hextet[3]="" local hextet[4]="" local hextet[5]="" local tmp="" local i=3; # these characters are used in making the mac local digi='0a1b2c3d4e5f6789h' local offset=$((${#digi} - 1)) _MAC="$prefix" while [ "$i" -le 5 ]; do tmp[1]="${digi:$(($RANDOM%${offset})):1}" tmp[2]="${digi:$(($RANDOM%${offset})):1}" hextet[$i]="${tmp[1]}${tmp[2]}" _MAC="${_MAC}:${hextet[i]}" let "i += 1" done unset octet unset tmp unset prefix } # When done, the variable $_MAC will contain the generated mac address. Sample use : #!/bin/sh echo "I will make a mac address." makemac echo "The MAC address is ${_MAC}, Have a nice day." unset _MAC exit 0 _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |