]> git.puffer.fish Git - matthieu/frr.git/commitdiff
[isisd:DLPI] Try open vanity-named DLPI dev before style 1,2
authorJingjing Duan <Jingjing.Duan@sun.com>
Wed, 13 Aug 2008 18:29:47 +0000 (19:29 +0100)
committerPaul Jakma <paul@quagga.net>
Fri, 22 Aug 2008 18:52:57 +0000 (19:52 +0100)
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>
isisd/isis_dlpi.c

index e61dd1666fb71b1104365989861f3060b9915385..3cbe0b4fc28b448f3d2d09064794b45f22e17cbf 100644 (file)
@@ -313,12 +313,23 @@ open_dlpi_dev (struct isis_circuit *circuit)
        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)