summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2010-09-13 18:51:48 -0700
committerAn-Cheng Huang <ancheng@vyatta.com>2010-09-13 18:51:48 -0700
commitcf0af1b7817cc19608a648febfbc98faad2cb33e (patch)
treecfd686ead9fd7c60a034ebe626af355ed5c9f39e
parent00db17fe115d4e10f84f4ca5eda6027c4cec7545 (diff)
downloadvyatta-cfg-quagga-cf0af1b7817cc19608a648febfbc98faad2cb33e.tar.gz
vyatta-cfg-quagga-cf0af1b7817cc19608a648febfbc98faad2cb33e.zip
more fixes for bug 6152
* second udev invocation now has ACTION "change" in squeeze. * DRIVERS no longer available from squeeze udev.
-rw-r--r--sysconf/vyatta-net.rules23
1 files changed, 18 insertions, 5 deletions
diff --git a/sysconf/vyatta-net.rules b/sysconf/vyatta-net.rules
index a215c325..f01c3d3c 100644
--- a/sysconf/vyatta-net.rules
+++ b/sysconf/vyatta-net.rules
@@ -1,13 +1,26 @@
# These rules use vyatta_net_name to persistently name network interfaces
# per "hwid" association with the interface block of the vyatta config file.
-ACTION!="add", GOTO="vyatta_net_end"
+# note that this is actually invoked twice: once during early rcS (udev)
+# and the second time during rl-system (rescan). pre-mendocino, ACTION is
+# "add" on both invocations, so the original rule looks for "add".
+#
+# however, in mendocino, the squeeze udev performs the second invocation with
+# ACTION "change", so the original rule does not get applied on the second
+# invocation, and therefore config.boot is not updated by rl-system.
+#
+# to emulate the previous behavior, invoke vyatta_net_name for both "add" and
+# "change" for now. however, the two-pass approach should be revisited to
+# determine if it is still necessary.
+
+ACTION!="add", ACTION!="change", GOTO="vyatta_net_end"
SUBSYSTEM!="net", GOTO="vyatta_net_end"
-# Do name change for ethernet devices only
-KERNEL=="eth*", DRIVERS=="?*",\
- PROGRAM="vyatta_net_name %k $attr{address}", \
- NAME="%c"
+# Do name change for ethernet devices only.
+# note that the original rule was checking "DRIVERS", which does not appear
+# to be available (empty string) from the squeeze udev. skip the DRIVERS
+# check for now.
+KERNEL=="eth*", PROGRAM="vyatta_net_name %k $attr{address}", NAME="%c"
LABEL="vyatta_net_end"