Scripts/make-mac.sh
From Xen
Jump to navigationJump to search
The following, is a little script that can be used to assign unique MAC addresses based on the name of a VM and a Xen bridge.
#!/bin/bash if [[ $# < 1 ]] ; then echo "Usage: $0 vmname [bridge]" exit 1 fi name=$1 bridge="xenbr0" if [[ $# > 1 ]] ; then bridge=$2 fi hmac=$(cat /sys/class/net/${bridge}/address) if [[ -z "$hmac" ]] ; then fail "Couldn't find address for device $bridge" fi # Get the host mac, and lop off the first two bytes mac=$(echo $hmac | sed 's/^..:..:\(.*$\)/\1/;') # Add an "extension" to the end based on the name macext=$(echo "$name" | md5sum | sed 's/^\(..\).*$/\1/;') # And pick a number for the first byte that has bit 2 set ("local") mac="5a:${mac}:${macext}" echo $mac