[isisd:DLPI] Try open vanity-named DLPI dev before style 1,2

2008-08-13 Jingjing Duan <Jingjing.Duan@sun.com>

	* isisd/isis_dlpi.c: (open_dlpi_dev) Clearview-UV device nodes are
	  under /dev/net, try opening there before attempting style 1 or 2
	  names.

Signed-off-by: Paul Jakma <paul@quagga.net>
diff --git a/isisd/isis_dlpi.c b/isisd/isis_dlpi.c
index e61dd16..3cbe0b4 100644
--- a/isisd/isis_dlpi.c
+++ b/isisd/isis_dlpi.c
@@ -313,12 +313,23 @@
 	circuit->interface->name);
       return ISIS_WARNING;
     }
-
-  /* Try first as Style 1 */
-  (void) snprintf(devpath, sizeof (devpath), "/dev/%s",
-    circuit->interface->name);
-  unit = -1;
-  fd = dlpiopen (devpath, &acklen);
+  
+  /* Try the vanity node first, if permitted */
+  if (getenv("DLPI_DEVONLY") == NULL)
+    {
+      (void) snprintf (devpath, sizeof(devpath), "/dev/net/%s",
+                      circuit->interface->name);
+      fd = dlpiopen (devpath, &acklen);
+    }
+  
+  /* Now try as an ordinary Style 1 node */
+  if (fd == -1)
+    {
+      (void) snprintf (devpath, sizeof (devpath), "/dev/%s",
+                      circuit->interface->name);
+      unit = -1;
+      fd = dlpiopen (devpath, &acklen);
+    }
 
   /* If that fails, try again as Style 2 */
   if (fd == -1)