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=75b4534af2b88c23624297e900d5565260d7c73a;hp=d09bc3802868974ffa47e73f1c268274e2ec2736;hb=bc4c751802147f1ff21bf52a57a2976754949453;hpb=c746922ca26fe18f6b3f3a4516e7236bfc0106b7 diff --git a/extras/rule_generator/75-persistent-net-generator.rules b/extras/rule_generator/75-persistent-net-generator.rules index d09bc3802..75b4534af 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}="" @@ -41,11 +41,17 @@ SUBSYSTEMS=="usb", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)" SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" +# ibmveth likes to use "locally administered" MAC addresses +DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($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" +ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})" # write rule DRIVERS=="?*", IMPORT{program}="write_net_rules"