Browse Source

Handle upper case MAC addresses in ifname option

While the documentation states that ifname MAC addresses must be
lower case, we silently accept upper case ones and fail later on
when udev doesn't rename the device.

Instead of adding sanity checking on the MAC address just convert
it to lower case and remove the requirement completely.
master
Anton Blanchard 13 years ago committed by Harald Hoyer
parent
commit
acfab3733f
  1. 1
      dracut.cmdline.7.xml
  2. 3
      modules.d/40network/parse-ifname.sh

1
dracut.cmdline.7.xml

@ -464,7 +464,6 @@ This parameter can be specified multiple times.</para>
<term><envar>ifname=</envar><replaceable>&lt;interface&gt;</replaceable>:<replaceable>&lt;MAC&gt;</replaceable></term> <term><envar>ifname=</envar><replaceable>&lt;interface&gt;</replaceable>:<replaceable>&lt;MAC&gt;</replaceable></term>
<listitem> <listitem>
<para>Assign network device name &lt;interface&gt; (ie eth0) to the NIC with MAC &lt;MAC&gt;. <para>Assign network device name &lt;interface&gt; (ie eth0) to the NIC with MAC &lt;MAC&gt;.
Note letters in the MAC-address must be lowercase!
<remark>Note: If you use this option you <emphasis remap="B">must</emphasis> specify an ifname= argument for all interfaces used in ip= or fcoe= arguments.</remark> <remark>Note: If you use this option you <emphasis remap="B">must</emphasis> specify an ifname= argument for all interfaces used in ip= or fcoe= arguments.</remark>
This parameter can be specified multiple times.</para> This parameter can be specified multiple times.</para>
</listitem> </listitem>

3
modules.d/40network/parse-ifname.sh

@ -25,7 +25,8 @@ parse_ifname_opts() {
case $# in case $# in
7) 7)
ifname_if=$1 ifname_if=$1
ifname_mac=$2:$3:$4:$5:$6:$7 # udev requires MAC addresses to be lower case
ifname_mac=`echo $2:$3:$4:$5:$6:$7 | tr '[:upper:]' '[:lower:]'`
;; ;;
*) *)
die "Invalid arguments for ifname=" die "Invalid arguments for ifname="

Loading…
Cancel
Save