chiark / gitweb /
rules_generator: net rules - add "dev_id" value to generated rules
[elogind.git] / extras / rule_generator / 75-persistent-net-generator.rules
index d09bc3802868974ffa47e73f1c268274e2ec2736..2c42de0d780fd0f31d318d2ee019012df14b7a10 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,12 @@ SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
 # read MAC address
 ENV{MATCHADDR}="$attr{address}"
 
+# match interface type
+ENV{MATCHIFTYPE}="$attr{type}"
+
+# match interface dev_id
+ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
+
 # do not use "locally administered" MAC address
 ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
 
@@ -44,6 +47,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"