chiark / gitweb /
rules_generator: net rules - always add KERNEL== match to generated rules
[elogind.git] / extras / rule_generator / 75-persistent-net-generator.rules
index d09bc3802868974ffa47e73f1c268274e2ec2736..85a4c5b55b14a55acd017de78e3028ce7113b347 100644 (file)
@@ -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"