mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 13:27:53 +00:00
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>
This commit is contained in:
parent
35c4bf71e5
commit
a4247f4b69
27
configure.ac
27
configure.ac
@ -653,23 +653,10 @@ case "$host" in
|
|||||||
opsys=gnu-linux
|
opsys=gnu-linux
|
||||||
AC_DEFINE(GNU_LINUX,,GNU Linux)
|
AC_DEFINE(GNU_LINUX,,GNU Linux)
|
||||||
;;
|
;;
|
||||||
*-nec-sysv4*)
|
|
||||||
AC_CHECK_LIB(nsl, gethostbyname)
|
|
||||||
AC_CHECK_LIB(socket, socket)
|
|
||||||
;;
|
|
||||||
*-openbsd*)
|
*-openbsd*)
|
||||||
opsys=openbsd
|
opsys=openbsd
|
||||||
AC_DEFINE(OPEN_BSD,,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
|
esac
|
||||||
|
|
||||||
AC_SYS_LARGEFILE
|
AC_SYS_LARGEFILE
|
||||||
@ -853,10 +840,6 @@ elif test x"$opsys" = x"sol8";then
|
|||||||
AC_MSG_RESULT(Route socket)
|
AC_MSG_RESULT(Route socket)
|
||||||
KERNEL_METHOD="kernel_socket.o"
|
KERNEL_METHOD="kernel_socket.o"
|
||||||
RT_METHOD="rt_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
|
else
|
||||||
AC_TRY_RUN([#include <errno.h>
|
AC_TRY_RUN([#include <errno.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -882,7 +865,6 @@ main ()
|
|||||||
fi
|
fi
|
||||||
AC_SUBST(RT_METHOD)
|
AC_SUBST(RT_METHOD)
|
||||||
AC_SUBST(KERNEL_METHOD)
|
AC_SUBST(KERNEL_METHOD)
|
||||||
AC_SUBST(OTHER_METHOD)
|
|
||||||
AM_CONDITIONAL([HAVE_NETLINK], [test "x$netlink" = "xyes"])
|
AM_CONDITIONAL([HAVE_NETLINK], [test "x$netlink" = "xyes"])
|
||||||
|
|
||||||
dnl --------------------------
|
dnl --------------------------
|
||||||
@ -989,9 +971,6 @@ elif test "$opsys" = "sol8";then
|
|||||||
AC_MSG_RESULT(Solaris GLIF)
|
AC_MSG_RESULT(Solaris GLIF)
|
||||||
IF_METHOD=if_ioctl_solaris.o
|
IF_METHOD=if_ioctl_solaris.o
|
||||||
IOCTL_METHOD=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
|
elif test "$opsys" = "openbsd";then
|
||||||
AC_MSG_RESULT(openbsd)
|
AC_MSG_RESULT(openbsd)
|
||||||
IF_METHOD=if_ioctl.o
|
IF_METHOD=if_ioctl.o
|
||||||
@ -1103,7 +1082,6 @@ case $quagga_cv_ipforward_method in
|
|||||||
"/proc/net/snmp") quagga_cv_ipforward_method="proc";;
|
"/proc/net/snmp") quagga_cv_ipforward_method="proc";;
|
||||||
"/dev/ip")
|
"/dev/ip")
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*-nec-sysv4*) quagga_cv_ipforward_method="ews";;
|
|
||||||
*-freebsd*) quagga_cv_ipforward_method="sysctl";;
|
*-freebsd*) quagga_cv_ipforward_method="sysctl";;
|
||||||
*) quagga_cv_ipforward_method="solaris";;
|
*) quagga_cv_ipforward_method="solaris";;
|
||||||
esac;;
|
esac;;
|
||||||
@ -1170,12 +1148,7 @@ dnl ---------
|
|||||||
AC_DEFINE(NRL,1,NRL)
|
AC_DEFINE(NRL,1,NRL)
|
||||||
RIPNGD="ripngd"
|
RIPNGD="ripngd"
|
||||||
OSPF6D="ospf6d"
|
OSPF6D="ospf6d"
|
||||||
if test x"$opsys" = x"bsdi";then
|
|
||||||
AC_DEFINE(BSDI_NRL,,BSDI)
|
|
||||||
AC_MSG_RESULT(BSDI_NRL)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(NRL)
|
AC_MSG_RESULT(NRL)
|
||||||
fi
|
|
||||||
dnl ------------------------------------
|
dnl ------------------------------------
|
||||||
dnl Solaris 9, 10 and potentially higher
|
dnl Solaris 9, 10 and potentially higher
|
||||||
dnl ------------------------------------
|
dnl ------------------------------------
|
||||||
|
14
lib/zebra.h
14
lib/zebra.h
@ -246,20 +246,6 @@ typedef int socklen_t;
|
|||||||
#include <execinfo.h>
|
#include <execinfo.h>
|
||||||
#endif /* HAVE_GLIBC_BACKTRACE */
|
#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: */
|
/* Local includes: */
|
||||||
#if !(defined(__GNUC__) || defined(VTYSH_EXTRACT_PL))
|
#if !(defined(__GNUC__) || defined(VTYSH_EXTRACT_PL))
|
||||||
#define __attribute__(x)
|
#define __attribute__(x)
|
||||||
|
@ -12,11 +12,10 @@ if_method = @IF_METHOD@
|
|||||||
rt_method = @RT_METHOD@
|
rt_method = @RT_METHOD@
|
||||||
rtread_method = @RTREAD_METHOD@
|
rtread_method = @RTREAD_METHOD@
|
||||||
kernel_method = @KERNEL_METHOD@
|
kernel_method = @KERNEL_METHOD@
|
||||||
other_method = @OTHER_METHOD@
|
|
||||||
ioctl_method = @IOCTL_METHOD@
|
ioctl_method = @IOCTL_METHOD@
|
||||||
|
|
||||||
otherobj = $(ioctl_method) $(ipforward) $(if_method) \
|
otherobj = $(ioctl_method) $(ipforward) $(if_method) \
|
||||||
$(rt_method) $(rtread_method) $(kernel_method) $(other_method)
|
$(rt_method) $(rtread_method) $(kernel_method)
|
||||||
|
|
||||||
if HAVE_NETLINK
|
if HAVE_NETLINK
|
||||||
othersrc = zebra_fpm_netlink.c
|
othersrc = zebra_fpm_netlink.c
|
||||||
@ -54,10 +53,10 @@ testzebra_LDADD = ../lib/libzebra.la $(LIBCAP) $(LIB_IPV6)
|
|||||||
zebra_DEPENDENCIES = $(otherobj)
|
zebra_DEPENDENCIES = $(otherobj)
|
||||||
|
|
||||||
EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c \
|
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 \
|
ipforward_solaris.c ipforward_sysctl.c rt_ioctl.c rt_netlink.c \
|
||||||
rt_socket.c rtread_netlink.c rtread_sysctl.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 \
|
ioctl.c ioctl_solaris.c \
|
||||||
GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
|
GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
|
||||||
|
|
||||||
|
@ -259,8 +259,4 @@ extern int interface_list_proc (void);
|
|||||||
extern int ifaddr_proc_ipv6 (void);
|
extern int ifaddr_proc_ipv6 (void);
|
||||||
#endif /* HAVE_PROC_NET_IF_INET6 */
|
#endif /* HAVE_PROC_NET_IF_INET6 */
|
||||||
|
|
||||||
#ifdef BSDI
|
|
||||||
extern int if_kvm_get_mtu (struct interface *);
|
|
||||||
#endif /* BSDI */
|
|
||||||
|
|
||||||
#endif /* _ZEBRA_INTERFACE_H */
|
#endif /* _ZEBRA_INTERFACE_H */
|
||||||
|
@ -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 ()
|
|
||||||
{
|
|
||||||
;
|
|
||||||
}
|
|
@ -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 ()
|
|
||||||
{
|
|
||||||
;
|
|
||||||
}
|
|
@ -106,7 +106,7 @@ int mib_ipv6[MIB_SIZ] =
|
|||||||
{
|
{
|
||||||
CTL_NET,
|
CTL_NET,
|
||||||
PF_INET6,
|
PF_INET6,
|
||||||
#if defined(KAME) || (defined(__bsdi__) && _BSDI_VERSION >= 199802 ) || defined(NRL)
|
#if defined(KAME) || defined(NRL)
|
||||||
IPPROTO_IPV6,
|
IPPROTO_IPV6,
|
||||||
IPV6CTL_FORWARDING
|
IPV6CTL_FORWARDING
|
||||||
#else /* NOT KAME */
|
#else /* NOT KAME */
|
||||||
|
@ -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;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user