[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