Merged 6Wind patch.
diff --git a/acconfig.h b/acconfig.h
index de39bc8..caaf3ae 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -32,7 +32,7 @@
#undef HAVE_IPV6
/* Define if you wish to support ipv6 router advertisment. */
-/* #undef HAVE_RTADV */
+#undef HAVE_RTADV
/* whether system has GNU regex */
#undef HAVE_GNU_REGEX
@@ -40,6 +40,9 @@
/* whether system has SNMP library */
#undef HAVE_SNMP
+/* whether systme has a ifra_lifetime field */
+#undef HAVE_IFRA_LIFETIME
+
/* whether sockaddr has a sa_len field */
#undef HAVE_SA_LEN
@@ -88,6 +91,9 @@
/* Define if you have KAME project ipv6 stack. */
#undef KAME
+/* Define if you have 6WIND MUSICA IPv6 stack. */
+#undef MUSICA
+
/* Define if you have Linux ipv6 stack. */
#undef LINUX_IPV6
@@ -139,6 +145,12 @@
/* Define if FreeBSD 3.2 */
#undef FREEBSD_32
+/* Define if FreeBSD */
+#undef FREEBSD
+
+/* Define if SIXOS */
+#undef SIXOS
+
/* Define if OpenBSD */
#undef OPEN_BSD
diff --git a/config.sub b/config.sub
index 004c7de..8c16a0e 100755
--- a/config.sub
+++ b/config.sub
@@ -995,7 +995,8 @@
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*)
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -sixos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff --git a/configure.in b/configure.in
index 0aec5e7..62f43f5 100755
--- a/configure.in
+++ b/configure.in
@@ -81,7 +81,7 @@
[ --enable-snmp enable SNMP support])
AC_ARG_WITH(libpam,
[ --with-libpam use libpam for PAM support in vtysh])
-AC_ARG_ENABLE(tcpsock,
+AC_ARG_ENABLE(tcp-zebra,
[ --enable-tcp-zebra enable TCP/IP socket connection between zebra and protocol daemon])
dnl Temporary option until OSPF NSSA implementation complete
AC_ARG_ENABLE(nssa,
@@ -98,9 +98,8 @@
[ --enable-ospf-te enable Traffic Engineering Extension to OSPF])
AC_ARG_ENABLE(multipath,
[ --enable-multipath=ARG enable multipath function, ARG must be digit])
-
-dnl AC_ARG_ENABLE(rtadv,
-dnl [ --enable-rtadv enable IPV6 router advertisment option])
+AC_ARG_ENABLE(rtadv,
+[ --disable-rtadv disable IPV6 router advertisment feature])
if test "${enable_broken_aliases}" = "yes"; then
if test "${enable_netlink}" = "yes"
@@ -129,9 +128,13 @@
AC_DEFINE(HAVE_OSPF_TE,,OSPF TE)
fi
-dnl if test "${enable_rtadv}" = "yes"; then
-dnl AC_DEFINE(HAVE_RTADV)
-dnl fi
+AC_MSG_CHECKING(Should Zebra's RTADV be used)
+if test "${enable_rtadv}" = "no"; then
+ AC_MSG_RESULT(no)
+else
+ AC_DEFINE(HAVE_RTADV)
+ AC_MSG_RESULT(yes)
+fi
changequote(, )dnl
@@ -157,7 +160,7 @@
dnl Check header files.
dnl -------------------
AC_STDC_HEADERS
-AC_CHECK_HEADERS(string.h stropts.h sys/conf.h sys/ksym.h sys/time.h sys/times.h sys/select.h sys/sysctl.h sys/sockio.h sys/types.h net/if_dl.h net/if_var.h linux/version.h kvm.h netdb.h netinet/in.h net/netopt.h netinet/in_var.h netinet/in6_var.h netinet/in6.h inet/nd.h asm/types.h netinet/icmp6.h netinet6/nd6.h libutil.h)
+AC_CHECK_HEADERS(string.h stropts.h sys/conf.h sys/ksym.h sys/time.h sys/times.h sys/select.h sys/sysctl.h sys/sockio.h sys/types.h net/if_dl.h net/if_var.h linux/version.h kvm.h netdb.h netinet/in.h net/netopt.h netinet/in_var.h netinet/in6_var.h netinet6/in6_var.h netinet/in6.h netinet6/in6.h inet/nd.h asm/types.h netinet/icmp6.h netinet6/nd6.h libutil.h)
dnl check some types
AC_C_CONST
@@ -469,6 +472,23 @@
fi
AC_MSG_RESULT(KAME)
fi
+dnl -------------------------
+dnl MUSICA IPv6
+dnl default host check
+dnl It is not used by Kheops
+dnl -------------------------
+if grep MUSICA /usr/include6/netinet6/in6.h >/dev/null 2>&1; then
+ zebra_cv_ipv6=yes
+ AC_DEFINE(HAVE_IPV6)
+ AC_DEFINE(MUSICA)
+ AC_DEFINE(KAME)
+ RIPNGD="ripngd"
+ OSPF6D="ospf6d"
+ if test -d /usr/local/v6/lib -a -f /usr/local/v6/lib/libinet6.a; then
+ LIB_IPV6="-L/usr/local/v6/lib -linet6"
+ fi
+ AC_MSG_RESULT(MUSICA)
+fi
dnl ---------
dnl NRL check
dnl ---------
@@ -788,13 +808,24 @@
dnl ----------------------------
dnl check structure in6_aliasreq
dnl ----------------------------
-AC_MSG_CHECKING(whether struct if6_aliasreq exist)
+AC_MSG_CHECKING(whether struct in6_aliasreq exist)
AC_EGREP_HEADER(in6_aliasreq,
netinet6/in6_var.h,
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_IN6_ALIASREQ,,in6_aliasreq)],
AC_MSG_RESULT(no))
+dnl -----------------------------------
+dnl check ifra_lifetime of in6_aliasreq
+dnl -----------------------------------
+AC_MSG_CHECKING(whether in6_aliasreq.ifra_lifetime exist)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <netinet6/in6_var.h>
+],[static struct if6_aliasreq ac_i;int ac_j = sizeof (ac_i.ifra_lifetime);],
+[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_IFRA_LIFETIME)],
+ AC_MSG_RESULT(no))
+
dnl ---------------------------
dnl check structure rt_addrinfo
dnl ---------------------------
@@ -926,5 +957,6 @@
source code location : ${srcdir}
compiler : ${CC}
compiler flags : ${CFLAGS}
+linker flags : ${LDFLAGS} ${LIBS}
directory for pid files : ${ac_piddir}
"