Make it compile in NetBSD and OpenBSD.
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 810be79..1d2e22f 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-19 Rivo Nurges <rix at estpak.ee>
+
+	* *.c: Removing many useless net/ethernet.h includes and some tiny
+	  fixes to make it compile on NetBSD and OpenBSD.
+
 2004-05-08 Paul Jakma <paul@dishone.st>
 
 	* isis_zebra.c: Sync with zclient changes.
diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c
index d11e32e..86fed1d 100644
--- a/isisd/isis_adjacency.c
+++ b/isisd/isis_adjacency.c
@@ -25,8 +25,6 @@
 #include <limits.h>
 #include <string.h>
 #include <zebra.h>
-#include <net/ethernet.h>
-
 
 #include "log.h"
 #include "memory.h"
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 1865e33..192b107 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -23,7 +23,11 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <zebra.h>
+#ifdef GNU_LINUX
 #include <net/ethernet.h>
+#else
+#include <netinet/if_ether.h>
+#endif
 
 #include "log.h"
 #include "memory.h"
diff --git a/isisd/isis_csm.c b/isisd/isis_csm.c
index 2282bbc..b205790 100644
--- a/isisd/isis_csm.c
+++ b/isisd/isis_csm.c
@@ -21,7 +21,6 @@
  */
 
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "log.h"
 #include "memory.h"
diff --git a/isisd/isis_dr.c b/isisd/isis_dr.c
index 8b6c8ff..a2fddcc 100644
--- a/isisd/isis_dr.c
+++ b/isisd/isis_dr.c
@@ -23,7 +23,6 @@
 
 
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "log.h"
 #include "hash.h"
diff --git a/isisd/isis_dynhn.c b/isisd/isis_dynhn.c
index 0ba1842..6b1d27b 100644
--- a/isisd/isis_dynhn.c
+++ b/isisd/isis_dynhn.c
@@ -22,7 +22,6 @@
 
 #include <time.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "vty.h"
 #include "linklist.h"
diff --git a/isisd/isis_events.c b/isisd/isis_events.c
index 29ea806..be136e2 100644
--- a/isisd/isis_events.c
+++ b/isisd/isis_events.c
@@ -23,7 +23,6 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "log.h"
 #include "memory.h"
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 0faadbd..a29ba80 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -23,7 +23,6 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "linklist.h"
 #include "thread.h"
diff --git a/isisd/isis_main.c b/isisd/isis_main.c
index 1200750..0d9cf3e 100644
--- a/isisd/isis_main.c
+++ b/isisd/isis_main.c
@@ -22,7 +22,6 @@
 
 #include <stdio.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "getopt.h"
 #include "thread.h"
@@ -104,8 +103,8 @@
 char *pid_file = PATH_ISISD_PID;
 
 /* for reload */
-char _cwd[64];
-char _progpath[64];
+char _cwd[MAXPATHLEN];
+char _progpath[MAXPATHLEN];
 int _argc;
 char **_argv;
 char **_envp;
diff --git a/isisd/isis_misc.c b/isisd/isis_misc.c
index 1f19606..709dbe4 100644
--- a/isisd/isis_misc.c
+++ b/isisd/isis_misc.c
@@ -27,7 +27,6 @@
 #include <time.h>
 #include <ctype.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 #include <sys/utsname.h>
 
 #include "stream.h"
diff --git a/isisd/isis_network.c b/isisd/isis_network.c
index c10aeeb..4f9af61 100644
--- a/isisd/isis_network.c
+++ b/isisd/isis_network.c
@@ -24,7 +24,13 @@
 #include <sys/socket.h>
 #include <errno.h>
 #include <zebra.h>
+#ifdef GNU_LINUX
 #include <net/ethernet.h>     /* the L2 protocols */
+#else
+#include <net/if.h>
+#include <netinet/if_ether.h>
+#endif
+
 
 #include "log.h"
 #include "stream.h"
@@ -237,12 +243,14 @@
     zlog_warn ("failed to set BPF dev to immediate mode");
   }
 
+#ifdef BIOCSSEESENT
   /*
    * We want to see only incoming packets
    */
   if (ioctl (fd, BIOCSSEESENT, (caddr_t)&false) < 0) {
     zlog_warn ("failed to set BPF dev to incoming only mode");
   }
+#endif
 
   /*
    * ...but all of them
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 65009ba..f93025d 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -24,7 +24,6 @@
 #include <stdio.h>
 #include <string.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "memory.h"
 #include "thread.h"
diff --git a/isisd/isis_route.c b/isisd/isis_route.c
index 74231ad..b889d3b 100644
--- a/isisd/isis_route.c
+++ b/isisd/isis_route.c
@@ -25,7 +25,6 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "thread.h"
 #include "linklist.h"
diff --git a/isisd/isis_routemap.c b/isisd/isis_routemap.c
index 4df983d..9a8df61 100644
--- a/isisd/isis_routemap.c
+++ b/isisd/isis_routemap.c
@@ -23,7 +23,6 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "thread.h"
 #include "linklist.h"
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index a522877..03f724f 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -24,7 +24,6 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "thread.h"
 #include "linklist.h"
diff --git a/isisd/isis_tlv.c b/isisd/isis_tlv.c
index eb673d9..ab39ceb 100644
--- a/isisd/isis_tlv.c
+++ b/isisd/isis_tlv.c
@@ -22,7 +22,6 @@
  */
 
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "log.h"
 #include "linklist.h"
diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c
index 4b496c3..136d2b5 100644
--- a/isisd/isis_zebra.c
+++ b/isisd/isis_zebra.c
@@ -21,7 +21,6 @@
  */
 
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "thread.h"
 #include "command.h"
diff --git a/isisd/isisd.c b/isisd/isisd.c
index 9cdb255..8d0b3a2 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -22,7 +22,6 @@
 
 #include <string.h>
 #include <zebra.h>
-#include <net/ethernet.h>
 
 #include "thread.h"
 #include "vty.h"