123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # do not edit this file, it will be overwritten on update
- # these rules generate rules for persistent network device naming
- #
- # variables used to communicate:
- # MATCHADDR MAC address used for the match
- # MATCHID bus_id used for the match
- # MATCHDRV driver name used for the match
- # MATCHIFTYPE interface type match
- # COMMENT comment to add to the generated rule
- # INTERFACE_NAME requested name supplied by external tool
- # INTERFACE_NEW new interface name returned by rule writer
- ACTION!="add", GOTO="persistent_net_generator_end"
- SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
- # ignore the interface if a name has already been set
- NAME=="?*", GOTO="persistent_net_generator_end"
- # device name whitelist
- 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"
- # 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}=""
- # do not use empty address
- ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
- # build comment line for generated rule:
- SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)"
- SUBSYSTEMS=="usb", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)"
- 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}="net device ($attr{driver})"
- # write rule
- DRIVERS=="?*", IMPORT{program}="write_net_rules"
- # rename interface if needed
- ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
- LABEL="persistent_net_generator_end"
|