summaryrefslogtreecommitdiff
path: root/isisd/isis_circuit.c
diff options
context:
space:
mode:
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)
{