diff options
Diffstat (limited to 'isisd')
| -rw-r--r-- | isisd/isis_dlpi.c | 23 | 
1 files changed, 17 insertions, 6 deletions
diff --git a/isisd/isis_dlpi.c b/isisd/isis_dlpi.c index e61dd166..3cbe0b4f 100644 --- a/isisd/isis_dlpi.c +++ b/isisd/isis_dlpi.c @@ -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)  | 
