X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Frule_generator%2F75-persistent-net-generator.rules;h=85a4c5b55b14a55acd017de78e3028ce7113b347;hp=d09bc3802868974ffa47e73f1c268274e2ec2736;hb=e6d70ed63a03f39de148e6b0afb47cbbc5ec78eb;hpb=c746922ca26fe18f6b3f3a4516e7236bfc0106b7 diff --git a/extras/rule_generator/75-persistent-net-generator.rules b/extras/rule_generator/75-persistent-net-generator.rules index d09bc3802..85a4c5b55 100644 --- a/extras/rule_generator/75-persistent-net-generator.rules +++ b/extras/rule_generator/75-persistent-net-generator.rules @@ -18,10 +18,7 @@ SUBSYSTEM!="net", GOTO="persistent_net_generator_end" NAME=="?*", GOTO="persistent_net_generator_end" # device name whitelist -KERNEL!="eth*|ath*|wlan*[0-9]|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" - -# add interface type match for some devices -KERNEL=="wlan*|ath*", ENV{MATCHIFTYPE}="1" +KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" # ignore Xen virtual interfaces SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" @@ -29,6 +26,9 @@ SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" # read MAC address ENV{MATCHADDR}="$attr{address}" +# match interface type +ENV{MATCHIFTYPE}="$attr{type}" + # do not use "locally administered" MAC address ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" @@ -44,6 +44,9 @@ SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" # S/390 uses id matches only, do not use MAC address match SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}="" +# see if we got enough data to create a rule +ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end" + # default comment ENV{COMMENT}=="", ENV{COMMENT}="$env{SUBSYSTEM} device"