[isisd] Add support for Solaris DLPI
2007-08-07 James Carlson <james.d.carlson@sun.com>
* configure.ac: Added support for separate link-layer access
mechanisms in isisd.
* isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and
isis_pfpacket.c, selected by autoconf, and added DLPI support.
* (general) Fixed to allow compilation and use on Solaris.
diff --git a/configure.ac b/configure.ac
index 857f415..437767e 100755
--- a/configure.ac
+++ b/configure.ac
@@ -752,6 +752,35 @@
AC_SUBST(KERNEL_METHOD)
AC_SUBST(OTHER_METHOD)
+dnl --------------------------
+dnl Determine IS-IS I/O method
+dnl --------------------------
+AC_CHECK_HEADER(net/bpf.h)
+AC_CHECK_HEADER(sys/dlpi.h)
+AC_MSG_CHECKING(zebra IS-IS I/O method)
+if test x"$opsys" = x"gnu-linux"; then
+ AC_MSG_RESULT(pfpacket)
+ ISIS_METHOD=isis_pfpacket.o
+elif test x"$opsys" = x"sol2-6" -o x"$opsys" = x"sol8"; then
+ AC_MSG_RESULT(DLPI)
+ ISIS_METHOD="isis_dlpi.o"
+else
+ if test $ac_cv_header_net_bpf_h = no; then
+ if test $ac_cv_header_sys_dlpi_h = no; then
+ AC_MSG_RESULT(none)
+ AC_MSG_WARN([*** IS-IS support will not be built ***])
+ ISISD=""
+ else
+ AC_MSG_RESULT(DLPI)
+ fi
+ ISIS_METHOD="isis_dlpi.o"
+ else
+ AC_MSG_RESULT(BPF)
+ ISIS_METHOD="isis_bpf.o"
+ fi
+fi
+AC_SUBST(ISIS_METHOD)
+
dnl ------------------------------------
dnl check for broken CMSG_FIRSTHDR macro
dnl ------------------------------------