summaryrefslogtreecommitdiffstats
path: root/isisd/isis_circuit.c
diff options
context:
space:
mode:
authorpaul <paul>2007-08-07 18:49:18 +0000
committerpaul <paul>2007-08-07 18:49:18 +0000
commit2d192a330b41f105157945fde45d1f2a6cfd0b9e (patch)
tree5a15f289a67886c88bd9122f97dee30487fc552e /isisd/isis_circuit.c
parent420692ec70367ad8d2429ecf3bcab7843863ec49 (diff)
downloadquagga-2d192a330b41f105157945fde45d1f2a6cfd0b9e.tar.bz2
quagga-2d192a330b41f105157945fde45d1f2a6cfd0b9e.tar.xz
[isisd] Add support for Solaris DLPI
2007-08-07 James Carlson <james.d.carlson@sun.com> * configure.ac: Added support for separate link-layer access mechanisms in isisd. * isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and isis_pfpacket.c, selected by autoconf, and added DLPI support. * (general) Fixed to allow compilation and use on Solaris.
Diffstat (limited to 'isisd/isis_circuit.c')
-rw-r--r--isisd/isis_circuit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index fe3eb827..af24988e 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -26,6 +26,10 @@
#include <netinet/if_ether.h>
#endif
+#ifndef ETHER_ADDR_LEN
+#define ETHER_ADDR_LEN ETHERADDRL
+#endif
+
#include "log.h"
#include "memory.h"
#include "if.h"
@@ -381,11 +385,13 @@ isis_circuit_if_add (struct isis_circuit *circuit, struct interface *ifp)
* Get the Hardware Address
*/
#ifdef HAVE_STRUCT_SOCKADDR_DL
+#ifndef SUNOS_5
if (circuit->interface->sdl.sdl_alen != ETHER_ADDR_LEN)
zlog_warn ("unsupported link layer");
else
memcpy (circuit->u.bc.snpa, LLADDR (&circuit->interface->sdl),
ETH_ALEN);
+#endif
#else
if (circuit->interface->hw_addr_len != ETH_ALEN)
{
@@ -447,10 +453,12 @@ isis_circuit_update_params (struct isis_circuit *circuit,
* Get the Hardware Address
*/
#ifdef HAVE_STRUCT_SOCKADDR_DL
+#ifndef SUNOS_5
if (circuit->interface->sdl.sdl_alen != ETHER_ADDR_LEN)
zlog_warn ("unsupported link layer");
else
memcpy (circuit->u.bc.snpa, LLADDR (&circuit->interface->sdl), ETH_ALEN);
+#endif
#else
if (circuit->interface->hw_addr_len != ETH_ALEN)
{