From: Tom Gundersen Date: Sun, 17 Mar 2013 04:23:33 +0000 (+0900) Subject: udev: net-name-slot - disable by kernel command line switch X-Git-Tag: v199~172 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=0cf2d0d023389957f57175c9cfb6aba56c0df343;hp=6ec0ac43bb1f9f8b8b435ba6e5d55dc7cc84c3c6 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. --- diff --git a/TODO b/TODO index fcc347127..c73e8dc98 100644 --- a/TODO +++ b/TODO @@ -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: diff --git a/man/systemd-udevd.service.xml b/man/systemd-udevd.service.xml index 35e254384..18734eed1 100644 --- a/man/systemd-udevd.service.xml +++ b/man/systemd-udevd.service.xml @@ -154,6 +154,14 @@ non-working kernel modules. + + net.predictable-names= + rd.net.predictable-names= + + Rename network interfaces to give them predictable names + when possible. Defaults to 1. + + diff --git a/rules/80-net-name-slot.rules b/rules/80-net-name-slot.rules index 2834e82db..e83eb3ff5 100644 --- a/rules/80-net-name-slot.rules +++ b/rules/80-net-name-slot.rules @@ -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}"