[yocto] [pull-sys940x 3/4] genmac: Replace RANDOM_MAC in network/interfaces with a randomly generated MAC

Darren Hart dvhart at linux.intel.com
Thu Feb 2 10:27:37 PST 2012



On 02/01/2012 02:42 PM, Joshua Lock wrote:
> 
> 
> On 01/02/12 14:26, Darren Hart wrote:
>> For machines that do not have a MAC in hardware and with drivers that don't
>> generate a random one in the kernel, this init script will replace the string
>> RANDOM_MAC in the network/interfaces file with one generated with "ranpwd -m".
>> Care is taken to ensure multiple interfaces can use RANDOM_MAC and receive
>> unique addresses. ranpwd generates MACs with the locally administered bit set
>> and the multicast bit disabled.
>>
>> Signed-off-by: Darren Hart<dvhart at linux.intel.com>
>> ---
>>   meta-sys940x/recipes-bsp/genmac/files/genmac |   46 ++++++++++++++++++++++++++
>>   meta-sys940x/recipes-bsp/genmac/genmac.bb    |   30 +++++++++++++++++
>>   2 files changed, 76 insertions(+), 0 deletions(-)
>>   create mode 100644 meta-sys940x/recipes-bsp/genmac/files/genmac
>>   create mode 100644 meta-sys940x/recipes-bsp/genmac/genmac.bb
>>
>> diff --git a/meta-sys940x/recipes-bsp/genmac/files/genmac b/meta-sys940x/recipes-bsp/genmac/files/genmac
>> new file mode 100644
>> index 0000000..6ca069c
>> --- /dev/null
>> +++ b/meta-sys940x/recipes-bsp/genmac/files/genmac
>> @@ -0,0 +1,46 @@
>> +#!/bin/sh
>> +### BEGIN INIT INFO
>> +# Provides:          Random MAC address generator
>> +# Required-Start:    $syslog
>> +# Required-Stop:     $syslog
>> +# Default-Start:     2 3 4 5
>> +# Default-Stop:      0 1 6
>> +# Short-Description: Set a random MAC for tagged interfaces
>> +# Description:       Set a random MAC for interfaces with RANDOM_MAC
>> +### END INIT INFO
>> +
>> +# Author: Darren Hart<dvhart at linux.intel.com>
>> +# Based on /etc/init.d/skeleton
>> +
>> +PATH=/sbin:/usr/sbin:/bin:/usr/bin
>> +DESC="Set a random MAC for tagged interfaces"
>> +NAME=genmac
>> +RANPWD=`which ranpwd`
>> +SCRIPTNAME=/etc/init.d/$NAME
>> +
>> +# Exit if amixer is not installed
> 
> amixer?
> 
>> +[ -x "$RANPWD" ] || exit 0
>> +
>> +do_start() {
>> +	# Replace every occurance of RANDOM_MAC with a unique locally
> occurrence?
>> +	# administered, unicast, randomly generated MAC address.
>> +	while grep -q RANDOM_MAC /etc/network/interfaces; do
>> +		sed -i "1,/RANDOM_MAC/s/RANDOM_MAC/$($RANPWD -m)/" /etc/network/interfaces
>> +	done
> 
> Otherwise looks good, feel free to add my SOB.
> 

Both fixed, SOB added. Thanks for the review!

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the yocto mailing list