From 19877dd2dcc9f2a9ce7ca557441ac1fc4f80faa1 Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 11 May 2004 10:49:35 +0000 Subject: 2004-05-11 Paul Jakma * configure.ac: Add solaris support for the zebra/*_solaris method's, based on Sowmini's patches. * zebra/Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch. --- ChangeLog | 5 ++++ configure.ac | 84 ++++++++++++++++++++++++++++++++++++------------------- zebra/ChangeLog | 4 +++ zebra/Makefile.am | 12 ++++---- 4 files changed, 71 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50efbb78..c4a71776 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-05-11 Paul Jakma + + * configure.ac: Add solaris support for the zebra/*_solaris + method's, based on Sowmini's patches. + 2004-04-08 Paul Jakma * ospf_spf.h: Add backlink field to struct vertex diff --git a/configure.ac b/configure.ac index 7d0e4e47..03876545 100755 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ ## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro ## Portions Copyright (c) 2003 Paul Jakma ## -## $Id: configure.ac,v 1.50 2004/05/03 12:50:39 paul Exp $ +## $Id: configure.ac,v 1.51 2004/05/11 10:49:35 paul Exp $ AC_PREREQ(2.53) AC_INIT(quagga, 0.96.5, [http://bugzilla.quagga.net]) @@ -233,14 +233,24 @@ AC_TYPE_SIGNAL dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) case "$host" in - *-sunos5.6* | *-solaris2.6*) + [*-sunos5.[6-8]*] | [*-solaris2.[6-8]*]) opsys=sol2-6 - AC_DEFINE(SUNOS_5,,SunOS 5) + AC_DEFINE(SUNOS_56, 1, SunOS 5.6 to 5.8) + AC_DEFINE(SUNOS_5, 1, SunOS 5) AC_CHECK_LIB(xnet, main) CURSES=-lcurses ;; + [*-sunos5.[8-9]] | [*-sunos5.1[0-9]] \ + | [*-solaris2.[8-9]] | [*-solaris2.1[0-9]]) + opsys=sol9 + AC_DEFINE(SUNOS_59,,SunOS 5.9 up) + AC_DEFINE(SUNOS_5, 1, SunOS 5) + AC_CHECK_LIB(socket, main) + AC_CHECK_LIB(nsl, main) + CURSES=-lcurses + ;; *-sunos5* | *-solaris2*) - AC_DEFINE(SUNOS_5,,SunOS 5) + AC_DEFINE(SUNOS_5,,SunOS 5, Unknown SunOS) AC_CHECK_LIB(socket, main) AC_CHECK_LIB(nsl, main) CURSES=-lcurses @@ -396,17 +406,20 @@ if test x"$opsys" = x"gnu-linux"; then AC_DEFINE(HAVE_NETLINK,,netlink) netlink=yes fi +elif test x"$opsys" = x"sol2-6";then + AC_MSG_RESULT(Route socket) + KERNEL_METHOD="kernel_socket.o" + RT_METHOD="rt_socket.o" +elif test x"$opsys" = x"sol9";then + 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 - if test "$opsys" = "sol2-6";then - AC_MSG_RESULT(solaris) - KERNEL_METHOD="kernel_socket.o" - RT_METHOD="rt_socket.o" - elif test "$opsys" = "irix" ; then - AC_MSG_RESULT(irix) - KERNEL_METHOD="kernel_socket.o" - RT_METHOD="rt_socket.o" - else - AC_TRY_RUN([#include + AC_TRY_RUN([#include #include #include @@ -427,7 +440,6 @@ main () [KERNEL_METHOD=kernel_socket.o RT_METHOD=rt_socket.o AC_MSG_RESULT(socket)]) - fi fi AC_SUBST(RT_METHOD) AC_SUBST(KERNEL_METHOD) @@ -464,30 +476,34 @@ AC_SUBST(RTREAD_METHOD) dnl ----------------------------- dnl check interface lookup method dnl ----------------------------- +IOCTL_METHOD=ioctl.o AC_MSG_CHECKING(interface looking up method) if test "$netlink" = yes; then AC_MSG_RESULT(netlink) IF_METHOD=if_netlink.o -else - if test "$opsys" = "sol2-6";then - AC_MSG_RESULT(solaris) - IF_METHOD=if_ioctl.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 - elif grep NET_RT_IFLIST /usr/include/sys/socket.h >/dev/null 2>&1; then - AC_MSG_RESULT(sysctl) +elif test "$opsys" = "sol2-6";then + AC_MSG_RESULT(Solaris GIF) + IF_METHOD=if_ioctl.o +elif test "$opsys" = "sol9";then + 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 +elif grep NET_RT_IFLIST /usr/include/sys/socket.h >/dev/null 2>&1; then + AC_MSG_RESULT(sysctl) IF_METHOD=if_sysctl.o AC_DEFINE(HAVE_NET_RT_IFLIST,,NET_RT_IFLIST) - else +else AC_MSG_RESULT(ioctl) IF_METHOD=if_ioctl.o - fi fi AC_SUBST(IF_METHOD) +AC_SUBST(IOCTL_METHOD) dnl ----------------------- dnl check proc file system. @@ -592,6 +608,16 @@ dnl --------- else AC_MSG_RESULT(NRL) fi +dnl ------------------------------------ +dnl Solaris 9, 10 and potentially higher +dnl ------------------------------------ + elif test x"$opsys" = x"sol9"; then + zebra_cv_ipv6=yes; + AC_DEFINE(HAVE_IPV6, 1, IPv6) + AC_DEFINE(SOLARIS_IPV6, 1, Solaris IPv6) + RIPNGD="ripngd" + OSPF6D="ospf6d" + AC_MSG_RESULT(Solaris IPv6) dnl ---------- dnl Linux IPv6 dnl ---------- diff --git a/zebra/ChangeLog b/zebra/ChangeLog index 053f9e87..8381cf32 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,7 @@ +2004-05-11 Paul Jakma + + * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch. + 2004-05-09 Paul Jakma * zserv.c: (zsend_route_multipath) Set the nexthop_num diff --git a/zebra/Makefile.am b/zebra/Makefile.am index 6f8e9542..61fdaeae 100644 --- a/zebra/Makefile.am +++ b/zebra/Makefile.am @@ -14,14 +14,15 @@ rt_method = @RT_METHOD@ rtread_method = @RTREAD_METHOD@ kernel_method = @KERNEL_METHOD@ other_method = @OTHER_METHOD@ +ioctl_method = @IOCTL_METHOD@ -otherobj = $(ipforward) $(if_method) $(if_proc) $(rt_method) \ - $(rtread_method) $(kernel_method) $(other_method) +otherobj = $(ioctl_method) $(ipforward) $(if_method) $(if_proc) \ + $(rt_method) $(rtread_method) $(kernel_method) $(other_method) sbin_PROGRAMS = zebra zebra_SOURCES = \ - zserv.c main.c interface.c connected.c ioctl.c zebra_rib.c \ + zserv.c main.c interface.c connected.c zebra_rib.c \ redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c noinst_HEADERS = \ @@ -32,11 +33,12 @@ zebra_LDADD = ../lib/libzebra.a $(otherobj) $(LIBCAP) $(LIB_IPV6) zebra_DEPENDENCIES = $(otherobj) -EXTRA_DIST = if_ioctl.c if_netlink.c if_proc.c if_sysctl.c \ - ipforward_aix.c ipforward_ews.c ipforward_proc.c \ +EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c if_proc.c \ + if_sysctl.c ipforward_aix.c ipforward_ews.c ipforward_proc.c \ ipforward_solaris.c ipforward_sysctl.c rt_ioctl.c rt_netlink.c \ rt_socket.c rtread_netlink.c rtread_proc.c rtread_sysctl.c \ rtread_getmsg.c kernel_socket.c kernel_netlink.c mtu_kvm.c \ + ioctl.c ioctl_solaris.c \ GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB #client : client_main.o ../lib/libzebra.a -- cgit v1.2.1