Eliminate most instances where we use linux kernel headers
 -Erik
diff --git a/libbb/interface.c b/libbb/interface.c
index ff79703..bdb77bc 100644
--- a/libbb/interface.c
+++ b/libbb/interface.c
@@ -15,7 +15,7 @@
  *              that either displays or sets the characteristics of
  *              one or more of the system's networking interfaces.
  *
- * Version:     $Id: interface.c,v 1.12 2002/11/28 10:20:45 bug1 Exp $
+ * Version:     $Id: interface.c,v 1.13 2003/01/14 08:54:06 andersen Exp $
  *
  * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
  *              and others.  Copyright 1993 MicroWalt Corporation
@@ -93,7 +93,7 @@
 
 
 #ifdef HAVE_HWSLIP
-#include <linux/if_slip.h>
+#include <net/if_slip.h>
 #endif
 
 #if HAVE_AFINET6
@@ -1397,7 +1397,12 @@
 
 #if HAVE_HWETHER
 #include <net/if_arp.h>
+
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <net/ethernet.h>
+#else
 #include <linux/if_ether.h>
+#endif
 
 /* Display an Ethernet address in readable format. */
 static char *pr_ether(unsigned char *ptr)
diff --git a/networking/ifconfig.c b/networking/ifconfig.c
index 4c11858..95cc07a 100644
--- a/networking/ifconfig.c
+++ b/networking/ifconfig.c
@@ -15,7 +15,7 @@
  * Foundation;  either  version 2 of the License, or  (at
  * your option) any later version.
  *
- * $Id: ifconfig.c,v 1.21 2002/12/27 17:42:01 mjn3 Exp $
+ * $Id: ifconfig.c,v 1.22 2003/01/14 08:54:07 andersen Exp $
  *
  */
 
@@ -38,15 +38,21 @@
 #include <ctype.h>		/* isdigit and friends */
 #include <stddef.h>		/* offsetof */
 #include <sys/ioctl.h>
+#include <net/if.h>
 #include <net/if_arp.h>
 #include <netinet/in.h>
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <netpacket/packet.h>
+#include <net/ethernet.h>
+#else
+#include <asm/types.h>
 #include <linux/if_ether.h>
-#include <net/if.h>
+#endif
 #include "inet_common.h"
 #include "busybox.h"
 
 #ifdef CONFIG_FEATURE_IFCONFIG_SLIP
-# include <linux/if_slip.h>
+# include <net/if_slip.h>
 #endif
 
 /* I don't know if this is needed for busybox or not.  Anyone? */
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index 3b2f4da..1cfaf6d 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -18,10 +18,15 @@
 #include <string.h>
 #include <unistd.h>
 
-#include <linux/if.h>
-#include <linux/if_packet.h>
+#include <net/if.h>
+#include <net/if_packet.h>
+#include <netpacket/packet.h>
+
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <net/ethernet.h>
+#else
 #include <linux/if_ether.h>
-#include <linux/sockios.h>
+#endif
 
 #include "rt_names.h"
 #include "utils.h"
@@ -29,6 +34,10 @@
 
 #include "libbb.h"
 
+
+/* take from linux/sockios.h */
+#define SIOCSIFNAME	0x8923		/* set interface name */
+
 static int do_link;
 
 static int on_off(char *msg)
diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c
index dcf717e..1eb1779 100644
--- a/networking/libiproute/iptunnel.c
+++ b/networking/libiproute/iptunnel.c
@@ -25,10 +25,13 @@
 
 #include <arpa/inet.h>
 #include <netinet/ip.h>
+#include <netinet/in.h>
 
-#define sysinfo kernel_sysinfo
-#include <linux/if_arp.h>
-#undef sysinfo
+#include <net/if.h>
+#include <net/if_arp.h>
+
+#include <asm/types.h>
+#define __constant_htons htons
 #include <linux/if_tunnel.h>
 
 #include "rt_names.h"
diff --git a/networking/libiproute/ll_addr.c b/networking/libiproute/ll_addr.c
index 08d5b78..39e561f 100644
--- a/networking/libiproute/ll_addr.c
+++ b/networking/libiproute/ll_addr.c
@@ -11,11 +11,7 @@
 
 #include <arpa/inet.h>
 #include <string.h>
-
-#define sysinfo kernel_sysinfo
-#include <linux/if_arp.h>
-#undef sysinfo
-
+#include <net/if_arp.h>
 #include "utils.h"
 #include "libbb.h"
 
diff --git a/networking/nameif.c b/networking/nameif.c
index a9d4221..886ff49 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -32,10 +32,12 @@
 #include <string.h>
 #include <net/if.h>
 #include <netinet/ether.h>
-#include <linux/sockios.h>
 
 #include "busybox.h"
 
+/* take from linux/sockios.h */
+#define SIOCSIFNAME	0x8923		/* set interface name */
+
 /* Octets in one ethernet addr, from <linux/if_ether.h>	 */
 #define ETH_ALEN	6