chiark / gitweb /
rules: persistent net - handle "locally administered" ibmveth MAC addresses
authorKay Sievers <kay.sievers@vrfy.org>
Mon, 26 May 2008 15:11:13 +0000 (17:11 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Mon, 26 May 2008 15:11:13 +0000 (17:11 +0200)
extras/rule_generator/75-persistent-net-generator.rules
udev_rules.c

index 2c42de0..75b4534 100644 (file)
@@ -29,9 +29,6 @@ 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 +41,9 @@ 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}=""
 
@@ -51,7 +51,7 @@ SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}
 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"
index a102e2d..ea850a8 100644 (file)
@@ -1101,7 +1101,7 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule)
                attr_subst_subdir(filename, sizeof(filename));
 
                match = (stat(filename, &statbuf) == 0);
-               info("'%s' %s", filename, match ? "exists" : "does not exist\n");
+               info("'%s' %s", filename, match ? "exists\n" : "does not exist\n");
                if (match && rule->test_mode_mask > 0) {
                        match = ((statbuf.st_mode & rule->test_mode_mask) > 0);
                        info("'%s' has mode=%#o and %s %#o\n", filename, statbuf.st_mode,