build: remove AIX, NEC EWS and IRIX

Valar morghulis.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
diff --git a/configure.ac b/configure.ac
index f46673c..b9001b3 100755
--- a/configure.ac
+++ b/configure.ac
@@ -605,23 +605,10 @@
       opsys=gnu-linux
       AC_DEFINE(GNU_LINUX,,GNU Linux)
   ;;
-  *-nec-sysv4*)
-      AC_CHECK_LIB(nsl, gethostbyname)
-      AC_CHECK_LIB(socket, socket)
-  ;;
   *-openbsd*)
       opsys=openbsd
       AC_DEFINE(OPEN_BSD,,OpenBSD)
   ;;
-  *-bsdi*)
-      opsys=bsdi
-      OTHER_METHOD="mtu_kvm.o"
-      AC_CHECK_LIB(kvm, main)
-  ;;
-  *-irix6.5)
-      opsys=irix
-      AC_DEFINE(IRIX_65,,IRIX 6.5)
-  ;;
 esac
 
 AC_SYS_LARGEFILE
@@ -813,10 +800,6 @@
   AC_MSG_RESULT(Route socket)
   KERNEL_METHOD="kernel_socket.o"
   RT_METHOD="rt_socket.o"
-elif test "$opsys" = "irix" ; then
-  AC_MSG_RESULT(Route socket)
-  KERNEL_METHOD="kernel_socket.o"
-  RT_METHOD="rt_socket.o"
 else
   AC_TRY_RUN([#include <errno.h>
 #include <sys/types.h>
@@ -842,7 +825,6 @@
 fi
 AC_SUBST(RT_METHOD)
 AC_SUBST(KERNEL_METHOD)
-AC_SUBST(OTHER_METHOD)
 AM_CONDITIONAL([HAVE_NETLINK], [test "x$netlink" = "xyes"])
 
 dnl --------------------------
@@ -949,9 +931,6 @@
   AC_MSG_RESULT(Solaris GLIF)
   IF_METHOD=if_ioctl_solaris.o
   IOCTL_METHOD=ioctl_solaris.o
-elif test "$opsys" = "irix" ; then
-  AC_MSG_RESULT(IRIX)
-  IF_METHOD=if_ioctl.o
 elif test "$opsys" = "openbsd";then
   AC_MSG_RESULT(openbsd)
   IF_METHOD=if_ioctl.o
@@ -1058,7 +1037,6 @@
   "/proc/net/snmp")  quagga_cv_ipforward_method="proc";;
   "/dev/ip")         
                      case "$host" in
-                       *-nec-sysv4*)  quagga_cv_ipforward_method="ews";;
                        *-freebsd*)    quagga_cv_ipforward_method="sysctl";;
                        *)             quagga_cv_ipforward_method="solaris";;
                      esac;;
@@ -1125,12 +1103,7 @@
     AC_DEFINE(NRL,1,NRL)
     RIPNGD="ripngd"
     OSPF6D="ospf6d"
-    if test x"$opsys" = x"bsdi";then
-      AC_DEFINE(BSDI_NRL,,BSDI)
-      AC_MSG_RESULT(BSDI_NRL)
-    else
-      AC_MSG_RESULT(NRL)
-    fi
+    AC_MSG_RESULT(NRL)
 dnl ------------------------------------
 dnl Solaris 9, 10 and potentially higher
 dnl ------------------------------------
diff --git a/lib/zebra.h b/lib/zebra.h
index a4e0214..a5ed20e 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -244,20 +244,6 @@
 #include <execinfo.h>
 #endif /* HAVE_GLIBC_BACKTRACE */
 
-#ifdef BSDI_NRL
-
-#ifdef HAVE_NETINET6_IN6_H
-#include <netinet6/in6.h>
-#endif /* HAVE_NETINET6_IN6_H */
-
-#ifdef NRL
-#include <netinet6/in6.h>
-#endif /* NRL */
-
-#define IN6_ARE_ADDR_EQUAL IN6_IS_ADDR_EQUAL
-
-#endif /* BSDI_NRL */
-
 /* Local includes: */
 #if !(defined(__GNUC__) || defined(VTYSH_EXTRACT_PL)) 
 #define __attribute__(x)
diff --git a/zebra/Makefile.am b/zebra/Makefile.am
index 4a76317..8e3c99b 100644
--- a/zebra/Makefile.am
+++ b/zebra/Makefile.am
@@ -12,11 +12,10 @@
 rt_method = @RT_METHOD@
 rtread_method = @RTREAD_METHOD@
 kernel_method = @KERNEL_METHOD@
-other_method = @OTHER_METHOD@
 ioctl_method = @IOCTL_METHOD@
 
 otherobj = $(ioctl_method) $(ipforward) $(if_method) \
-	$(rt_method) $(rtread_method) $(kernel_method) $(other_method)
+	$(rt_method) $(rtread_method) $(kernel_method)
 
 if HAVE_NETLINK
 othersrc = zebra_fpm_netlink.c
@@ -51,10 +50,10 @@
 zebra_DEPENDENCIES = $(otherobj)
 
 EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c \
-        if_sysctl.c ipforward_aix.c ipforward_ews.c ipforward_proc.c \
+        if_sysctl.c ipforward_proc.c \
 	ipforward_solaris.c ipforward_sysctl.c rt_ioctl.c rt_netlink.c \
 	rt_socket.c rtread_netlink.c rtread_sysctl.c \
-	rtread_getmsg.c kernel_socket.c kernel_netlink.c mtu_kvm.c \
+	rtread_getmsg.c kernel_socket.c kernel_netlink.c \
 	ioctl.c ioctl_solaris.c \
 	GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
 
diff --git a/zebra/interface.h b/zebra/interface.h
index 7a05348..2f3b7b9 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -236,8 +236,4 @@
 extern int ifaddr_proc_ipv6 (void);
 #endif /* HAVE_PROC_NET_IF_INET6 */
 
-#ifdef BSDI
-extern int if_kvm_get_mtu (struct interface *);
-#endif /* BSDI */
-
 #endif /* _ZEBRA_INTERFACE_H */
diff --git a/zebra/ipforward_aix.c b/zebra/ipforward_aix.c
deleted file mode 100644
index c79e7f1..0000000
--- a/zebra/ipforward_aix.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * ipforward value get function for aix.
- * Copyright (C) 1997 Kunihiro Ishiguro
- *
- * This file is part of GNU Zebra.
- *
- * GNU Zebra is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * GNU Zebra is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Zebra; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.  
- */
-
-#include <zebra.h>
-
-int
-ipforward ()
-{
-  int fd, ret;
-  int af = AF_INET;
-  char netopt[] = "ipforwarding";
-  struct optreq oq;
-
-  fd = socket(af, SOCK_DGRAM, 0);
-  if (fd < 0) {
-    /* need logging here */
-    return -1;
-  }
-
-  strcpy (oq.name, netopt);
-  oq.getnext = 0;
-
-  ret = ioctl (fd, SIOCGNETOPT, (caddr_t)&oq);
-  close(fd);
-
-  if (ret < 0) {
-    /* need logging here */
-    return -1;
-  }
-
-  ret = atoi (oq.data);
-  return ret;
-}
-
-int
-ipforward_on ()
-{
-  ;
-}
-
-int
-ipforward_off ()
-{
-  ;
-}
diff --git a/zebra/ipforward_ews.c b/zebra/ipforward_ews.c
deleted file mode 100644
index c872000..0000000
--- a/zebra/ipforward_ews.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Ipforward value get function for NEC EWS.
- * Copyright (C) 1997 Kunihiro Ishiguro
- *
- * This file is part of GNU Zebra.
- *
- * GNU Zebra is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * GNU Zebra is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Zebra; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.  
- */
-
-#include <zebra.h>
-
-int
-ipforward ()
-{
-  int fd;
-  char buf[BUFSIZ];
-  struct mioc_rksym rks;
-
-  fd = open ("/dev/kmem", O_RDWR);
-  if (fd < 0) {
-    /* need logging here */
-    return -1;
-  }
-
-  rks.mirk_symname = "ipforwarding";
-  rks.mirk_buf = buf;
-  rks.mirk_buflen = sizeof (int);
-
-  if (ioctl (fd, MIOC_READKSYM, &rks) < 0) {
-    /* need logging here */
-    return -1;
-  }
-  close (fd);
-  return *(int *)buf;
-}
-
-int
-ipforward_on ()
-{
-  ;
-}
-
-int
-ipforward_off ()
-{
-  ;
-}
diff --git a/zebra/ipforward_sysctl.c b/zebra/ipforward_sysctl.c
index 185aee3..8824418 100644
--- a/zebra/ipforward_sysctl.c
+++ b/zebra/ipforward_sysctl.c
@@ -106,7 +106,7 @@
 {
   CTL_NET,
   PF_INET6,
-#if defined(KAME) || (defined(__bsdi__) && _BSDI_VERSION >= 199802 ) || defined(NRL)
+#if defined(KAME) || defined(NRL)
   IPPROTO_IPV6,
   IPV6CTL_FORWARDING
 #else /* NOT KAME */
diff --git a/zebra/mtu_kvm.c b/zebra/mtu_kvm.c
deleted file mode 100644
index d37bb9b..0000000
--- a/zebra/mtu_kvm.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* MTU get using kvm_read.
- * Copyright (C) 1999 Kunihiro Ishiguro
- *
- * This file is part of GNU Zebra.
- *
- * GNU Zebra is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * GNU Zebra is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Zebra; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.  
- */
-
-#include <zebra.h>
-
-#include <kvm.h>
-#include <limits.h>
-#include <fcntl.h>
-
-#include "if.h"
-
-/* get interface MTU to use kvm_read */
-void
-if_kvm_get_mtu (struct interface *ifp)
-{
-  kvm_t *kvmd;
-  struct ifnet ifnet;
-  unsigned long ifnetaddr;
-  int len;
- 
-  char ifname[IFNAMSIZ];
-  char tname[INTERFACE_NAMSIZ + 1];
-  char buf[_POSIX2_LINE_MAX];
- 
-  struct nlist nl[] = 
-  {
-    {"_ifnet"},
-    {""}
-  };
-
-  ifp->mtu6 = ifp->mtu = -1;
-  
-  kvmd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, buf);
-
-  if (kvmd == NULL) 
-    return ;
-  
-  kvm_nlist(kvmd, nl);
- 
-  ifnetaddr = nl[0].n_value;
- 
-  if (kvm_read(kvmd, ifnetaddr, (char *)&ifnetaddr, sizeof ifnetaddr) < 0) 
-    {
-      kvm_close (kvmd);
-      return ;
-    }
- 
-  while(ifnetaddr != 0) 
-    {
-      if (kvm_read (kvmd, ifnetaddr, (char *)&ifnet, sizeof ifnet) < 0) 
-	{
-	  kvm_close (kvmd);
-	  return ;
-	}
-
-      if (kvm_read (kvmd, (u_long)ifnet.if_name, ifname, IFNAMSIZ) < 0) 
-	{
-	  kvm_close (kvmd);
-	  return ;
-	}
-
-      len = snprintf (tname, INTERFACE_NAMSIZ + 1, 
-		      "%s%d", ifname, ifnet.if_unit);
-
-      if (strncmp (tname, ifp->name, len) == 0)
-	break;
-
-      ifnetaddr = (u_long)ifnet.if_next;
-    }
-
-  kvm_close (kvmd);
-
-  if (ifnetaddr == 0) 
-    {
-      return ;
-    }
-
-  ifp->mtu6 = ifp->mtu = ifnet.if_mtu;
-}