udev: net-name-slot - disable by kernel command line switch

The properties will still be set in the udev database, but they will not be used
for setting the interface names. As for the other kernel commandline switches,
we allow it to be prefixed by 'rd.' to only apply in the initrd.
This commit is contained in:
Tom Gundersen 2013-03-17 13:23:33 +09:00
parent 6ec0ac43bb
commit 0cf2d0d023
3 changed files with 13 additions and 2 deletions

2
TODO
View File

@ -28,8 +28,6 @@ Fedora 19:
* cgroup attrs:
- update dbus interface docs in wiki
* kernel cmdline switch to turn off predictable network interface names
* journal is not closed properly at shutdown when run in a container?
* localed:

View File

@ -154,6 +154,14 @@
non-working kernel modules.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>net.predictable-names=</varname></term>
<term><varname>rd.net.predictable-names=</varname></term>
<listitem>
<para>Rename network interfaces to give them predictable names
when possible. Defaults to 1.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

View File

@ -4,6 +4,11 @@ ACTION=="remove", GOTO="net_name_slot_end"
SUBSYSTEM!="net", GOTO="net_name_slot_end"
NAME!="", GOTO="net_name_slot_end"
IMPORT{cmdline}="net.predictable-names"
ENV{net.predictable-names}=="0", GOTO="net_name_slot_end"
IMPORT{cmdline}="rd.net.predictable-names"
ENV{rd.net.predictable-names}=="0", TEST=="/etc/initrd-release", GOTO="net_name_slot_end"
NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}"
NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}"
NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}"