diff --git a/config.h.in b/config.h.in
index 5895851..afe2b5d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,24 +1,21 @@
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+/* accconfig.h -- `autoheader' will generate config.h.in for zebra.
+   Copyright (C) 1998, 1999 Kunihiro Ishiguro <kunihiro@zebra.org> */
 
-/* Define if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-#undef _ALL_SOURCE
-#endif
+/* Version of GNU Zebra */
+#undef VERSION
 
-/* Define to empty if the keyword does not work.  */
-#undef const
+/* Solaris on x86. */
+#undef SOLARIS_X86
 
-/* Define as the return type of signal handlers (int or void).  */
-#undef RETSIGTYPE
+/* Package name of GNU Zebra */
+#undef PACKAGE
 
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
+/* Define if host is GNU/Linux */
+#undef GNU_LINUX
 
-/* Define if your processor stores words with the most significant
-   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
-#undef WORDS_BIGENDIAN
+/* Define if you have the AF_ROUTE socket.  */
+#undef HAVE_AF_ROUTE
 
 /* Define if you have the inet_aton function.  */
 #undef HAVE_INET_ATON
@@ -29,12 +26,123 @@
 /* Define if you have the inet_pton function.  */
 #undef HAVE_INET_PTON
 
+/* Define if you have the setproctitle function.  */
+#undef HAVE_SETPROCTITLE
+
 /* Define if you have ipv6 stack.  */
 #undef HAVE_IPV6
 
+/* Define if you wish to support ipv6 router advertisment.  */
+/* #undef HAVE_RTADV */
+
+/* whether system has GNU regex */
+#undef HAVE_GNU_REGEX
+
+/* whether system has SNMP library */
+#undef HAVE_SNMP
+
+/* whether sockaddr has a sa_len field */
+#undef HAVE_SA_LEN
+
+/* whether sockaddr_in has a sin_len field */
+#undef HAVE_SIN_LEN
+
+/* whether sockaddr_un has a sun_len field */
+#undef HAVE_SUN_LEN
+
+/* whether sockaddr_in6 has a sin6_scope_id field */
+#undef HAVE_SIN6_SCOPE_ID
+
+/* Define if there is socklen_t. */
+#undef HAVE_SOCKLEN_T
+
+/* Define if there is sockaddr_dl structure. */
+#undef HAVE_SOCKADDR_DL
+
+/* Define if there is ifaliasreq structure. */
+#undef HAVE_IFALIASREQ
+
+/* Define if there is in6_aliasreq structure. */
+#undef HAVE_IN6_ALIASREQ
+
+/* Define if there is rt_addrinfo structure. */
+#undef HAVE_RT_ADDRINFO
+
+/* Define if there is in_pktinfo structure. */
+#undef HAVE_INPKTINFO
+
+/* Define if you have the getrusage function. */
+#undef HAVE_RUSAGE
+
+/* Define if /proc/net/dev exists. */
+#undef HAVE_PROC_NET_DEV
+
+/* Define if /proc/net/if_inet6 exists. */
+#undef HAVE_PROC_NET_IF_INET6
+
+/* Define if NET_RT_IFLIST exists in sys/socket.h. */
+#undef HAVE_NET_RT_IFLIST
+
+/* Define if you have INRIA ipv6 stack.  */
+#undef INRIA_IPV6
+
+/* Define if you have KAME project ipv6 stack.  */
+#undef KAME
+
+/* Define if you have Linux ipv6 stack.  */
+#undef LINUX_IPV6
+
+/* Define if you have NRL ipv6 stack.  */
+#undef NRL
+
+/* Define if you have BSDI NRL IPv6 stack. */
+#undef BSDI_NRL
+
+/* Define if one-vty option is specified. */
+#undef VTYSH
+
+/* Define if interface aliases don't have distinct indeces */
+#undef HAVE_BROKEN_ALIASES
+
+/* Define if disable-bgp-announce option is specified. */
+#undef DISABLE_BGP_ANNOUNCE
+
 /* PAM support */
 #undef USE_PAM
 
+/* TCP/IP communication between zebra and protocol daemon. */
+#undef HAVE_TCP_ZEBRA
+
+/* The OSPF NSSA option (RFC1587). */
+#undef HAVE_NSSA
+
+/* The OSPF Opaque LSA option (RFC2370). */
+#undef HAVE_OPAQUE_LSA
+
+/* Traffic Engineering Extension to OSPF
+   (draft-katz-yeung-ospf-traffic-06.txt). */
+#undef HAVE_OSPF_TE
+
+/* Linux netlink. */
+#undef HAVE_NETLINK
+
+/* PATHS */
+#undef PATH_ZEBRA_PID
+#undef PATH_RIPD_PID
+#undef PATH_RIPNGD_PID
+#undef PATH_BGPD_PID
+#undef PATH_OSPFD_PID
+#undef PATH_OSPF6D_PID
+
+/* Define if Solaris */
+#undef SUNOS_5
+
+/* Define if FreeBSD 3.2 */
+#undef FREEBSD_32
+
+/* Define if OpenBSD */
+#undef OPEN_BSD
+
 #ifdef HAVE_IPV6
 #ifdef KAME
 #ifndef INET6
@@ -43,296 +151,300 @@
 #endif /* KAME */
 #endif /* HAVE_IPV6 */
 
-/* Define if you have the bcopy function.  */
-#undef HAVE_BCOPY
+#ifdef SUNOS_5
+typedef unsigned int u_int32_t; 
+typedef unsigned short u_int16_t; 
+typedef unsigned short u_int8_t; 
+#endif /* SUNOS_5 */
 
-/* Define if you have the bzero function.  */
-#undef HAVE_BZERO
-
-/* Define if you have the daemon function.  */
-#undef HAVE_DAEMON
-
-/* Define if you have the getaddrinfo function.  */
-#undef HAVE_GETADDRINFO
-
-/* Define if you have the getifaddrs function.  */
-#undef HAVE_GETIFADDRS
-
-/* Define if you have the if_indextoname function.  */
-#undef HAVE_IF_INDEXTONAME
-
-/* Define if you have the if_nametoindex function.  */
-#undef HAVE_IF_NAMETOINDEX
-
-/* Define if you have the inet_aton function.  */
-#undef HAVE_INET_ATON
-
-/* Define if you have the setproctitle function.  */
-#undef HAVE_SETPROCTITLE
-
-/* Define if you have the snprintf function.  */
-#undef HAVE_SNPRINTF
-
-/* Define if you have the strerror function.  */
-#undef HAVE_STRERROR
-
-/* Define if you have the strlcat function.  */
-#undef HAVE_STRLCAT
-
-/* Define if you have the strlcpy function.  */
-#undef HAVE_STRLCPY
-
-/* Define if you have the vsnprintf function.  */
-#undef HAVE_VSNPRINTF
-
-/* Define if you have the <asm/types.h> header file.  */
-#undef HAVE_ASM_TYPES_H
-
-/* Define if you have the <inet/nd.h> header file.  */
-#undef HAVE_INET_ND_H
-
-/* Define if you have the <kvm.h> header file.  */
-#undef HAVE_KVM_H
-
-/* Define if you have the <libutil.h> header file.  */
-#undef HAVE_LIBUTIL_H
-
-/* Define if you have the <linux/version.h> header file.  */
-#undef HAVE_LINUX_VERSION_H
-
-/* Define if you have the <net/if_dl.h> header file.  */
-#undef HAVE_NET_IF_DL_H
-
-/* Define if you have the <net/if_var.h> header file.  */
-#undef HAVE_NET_IF_VAR_H
-
-/* Define if you have the <net/netopt.h> header file.  */
-#undef HAVE_NET_NETOPT_H
-
-/* Define if you have the <netdb.h> header file.  */
-#undef HAVE_NETDB_H
-
-/* Define if you have the <netinet/icmp6.h> header file.  */
-#undef HAVE_NETINET_ICMP6_H
-
-/* Define if you have the <netinet/in.h> header file.  */
-#undef HAVE_NETINET_IN_H
-
-/* Define if you have the <netinet/in6.h> header file.  */
-#undef HAVE_NETINET_IN6_H
-
-/* Define if you have the <netinet/in6_var.h> header file.  */
-#undef HAVE_NETINET_IN6_VAR_H
-
-/* Define if you have the <netinet/in_var.h> header file.  */
-#undef HAVE_NETINET_IN_VAR_H
-
-/* Define if you have the <netinet6/nd6.h> header file.  */
-#undef HAVE_NETINET6_ND6_H
-
-/* Define if you have the <string.h> header file.  */
-#undef HAVE_STRING_H
-
-/* Define if you have the <stropts.h> header file.  */
-#undef HAVE_STROPTS_H
-
-/* Define if you have the <sys/conf.h> header file.  */
-#undef HAVE_SYS_CONF_H
-
-/* Define if you have the <sys/ksym.h> header file.  */
-#undef HAVE_SYS_KSYM_H
-
-/* Define if you have the <sys/select.h> header file.  */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/sockio.h> header file.  */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define if you have the <sys/sysctl.h> header file.  */
-#undef HAVE_SYS_SYSCTL_H
-
-/* Define if you have the <sys/time.h> header file.  */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/times.h> header file.  */
-#undef HAVE_SYS_TIMES_H
-
-/* Define if you have the <sys/types.h> header file.  */
-#undef HAVE_SYS_TYPES_H
-
-/* Define if you have the crypt library (-lcrypt).  */
-#undef HAVE_LIBCRYPT
-
-/* Define if you have the kvm library (-lkvm).  */
-#undef HAVE_LIBKVM
-
-/* Define if you have the m library (-lm).  */
-#undef HAVE_LIBM
-
-/* Define if you have the nsl library (-lnsl).  */
-#undef HAVE_LIBNSL
-
-/* Define if you have the readline library (-lreadline).  */
-#undef HAVE_LIBREADLINE
-
-/* Define if you have the resolv library (-lresolv).  */
-#undef HAVE_LIBRESOLV
-
-/* Define if you have the socket library (-lsocket).  */
-#undef HAVE_LIBSOCKET
-
-/* Define if you have the tinfo library (-ltinfo).  */
-#undef HAVE_LIBTINFO
-
-/* Define if you have the xnet library (-lxnet).  */
-#undef HAVE_LIBXNET
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
-/* Broken Alias */
-#undef HAVE_BROKEN_ALIASES
-
-/* Use TCP for zebra communication */
-#undef HAVE_TCP_ZEBRA
-
-/* OSPF NSSA */
-#undef HAVE_NSSA
-
-/* OSPF Opaque LSA */
-#undef HAVE_OPAQUE_LSA
-
-/* OSPF Opaque LSA */
-#undef HAVE_OPAQUE_LSA
-
-/* OSPF TE */
-#undef HAVE_OSPF_TE
-
-/* SunOS 5 */
-#undef SUNOS_5
-
-/* SunOS 5 */
-#undef SUNOS_5
-
-/* GNU Linux */
-#undef GNU_LINUX
-
-/* FreeBSD 3.2 */
-#undef FREEBSD_32
-
-/* OpenBSD */
-#undef OPEN_BSD
-
-/* VTY shell */
-#undef VTYSH
-
-/* Use PAM for authentication */
-#undef USE_PAM
-
-/* Use PAM for authentication */
-#undef USE_PAM
-
-/* netlink */
-#undef HAVE_NETLINK
-
-/* netlink */
-#undef HAVE_NETLINK
-
-/* NET_RT_IFLIST */
-#undef HAVE_NET_RT_IFLIST
-
-/* /proc/net/dev */
-#undef HAVE_PROC_NET_DEV
-
-/* /proc/net/if_inet6 */
-#undef HAVE_PROC_NET_IF_INET6
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* Inria IPv6 */
-#undef INRIA_IPV6
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* KAME IPv6 */
-#undef KAME
-
-/* IPv6 */
-#undef HAVE_IPV6
-
-/* NRL */
-#undef NRL
+#ifndef HAVE_SOCKLEN_T
+typedef int socklen_t;
+#endif /* HAVE_SOCKLEN_T */
 
 /* BSDI */
 #undef BSDI_NRL
 
-/* Linux IPv6 */
-#undef LINUX_IPV6
-
 /* Disable BGP installation to zebra */
 #undef DISABLE_BGP_ANNOUNCE
 
+/* FreeBSD 3.2 */
+#undef FREEBSD_32
+
+/* GNU Linux */
+#undef GNU_LINUX
+
+/* Define if you have the <asm/types.h> header file. */
+#undef HAVE_ASM_TYPES_H
+
+/* Define if you have the `bcopy' function. */
+#undef HAVE_BCOPY
+
+/* Broken Alias */
+#undef HAVE_BROKEN_ALIASES
+
+/* Define if you have the `bzero' function. */
+#undef HAVE_BZERO
+
+/* Define if you have the `daemon' function. */
+#undef HAVE_DAEMON
+
+/* Define if you have the `getaddrinfo' function. */
+#undef HAVE_GETADDRINFO
+
+/* Define if you have the `getifaddrs' function. */
+#undef HAVE_GETIFADDRS
+
+/* GNU regexp library */
+#undef HAVE_GNU_REGEX
+
+/* ifaliasreq */
+#undef HAVE_IFALIASREQ
+
+/* Define if you have the `if_indextoname' function. */
+#undef HAVE_IF_INDEXTONAME
+
+/* Define if you have the `if_nametoindex' function. */
+#undef HAVE_IF_NAMETOINDEX
+
+/* in6_aliasreq */
+#undef HAVE_IN6_ALIASREQ
+
+/* Define if you have the `inet_aton' function. */
+#undef HAVE_INET_ATON
+
+/* Define if you have the <inet/nd.h> header file. */
+#undef HAVE_INET_ND_H
+
 /* inet_ntop */
 #undef HAVE_INET_NTOP
 
 /* inet_pton */
 #undef HAVE_INET_PTON
 
-/* GNU regexp library */
-#undef HAVE_GNU_REGEX
+/* in_pktinfo */
+#undef HAVE_INPKTINFO
+
+/* Define if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* IPv6 */
+#undef HAVE_IPV6
+
+/* Define if you have the <kvm.h> header file. */
+#undef HAVE_KVM_H
+
+/* Define if you have the `crypt' library (-lcrypt). */
+#undef HAVE_LIBCRYPT
+
+/* Define if you have the `kvm' library (-lkvm). */
+#undef HAVE_LIBKVM
+
+/* Define if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define if you have the `ncurses' library (-lncurses). */
+#undef HAVE_LIBNCURSES
+
+/* Define if you have the `nsl' library (-lnsl). */
+#undef HAVE_LIBNSL
+
+/* Define if you have the `readline' library (-lreadline). */
+#undef HAVE_LIBREADLINE
+
+/* Define if you have the `resolv' library (-lresolv). */
+#undef HAVE_LIBRESOLV
+
+/* Define if you have the `socket' library (-lsocket). */
+#undef HAVE_LIBSOCKET
+
+/* Define if you have the `tinfo' library (-ltinfo). */
+#undef HAVE_LIBTINFO
+
+/* Define if you have the <libutil.h> header file. */
+#undef HAVE_LIBUTIL_H
+
+/* Define if you have the `xnet' library (-lxnet). */
+#undef HAVE_LIBXNET
+
+/* Define if you have the <linux/version.h> header file. */
+#undef HAVE_LINUX_VERSION_H
+
+/* Define if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define if you have the <netinet6/nd6.h> header file. */
+#undef HAVE_NETINET6_ND6_H
+
+/* Define if you have the <netinet/icmp6.h> header file. */
+#undef HAVE_NETINET_ICMP6_H
+
+/* Define if you have the <netinet/in6.h> header file. */
+#undef HAVE_NETINET_IN6_H
+
+/* Define if you have the <netinet/in6_var.h> header file. */
+#undef HAVE_NETINET_IN6_VAR_H
+
+/* Define if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define if you have the <netinet/in_var.h> header file. */
+#undef HAVE_NETINET_IN_VAR_H
+
+/* netlink */
+#undef HAVE_NETLINK
 
 /* SNMP */
-#undef HAVE_SNMP
+#undef HAVE_NETSNMP
 
-/* SNMP */
-#undef UCD_COMPATIBLE
+/* Define if you have the <net/if_dl.h> header file. */
+#undef HAVE_NET_IF_DL_H
 
-/* SNMP */
-#undef HAVE_SNMP
+/* Define if you have the <net/if_var.h> header file. */
+#undef HAVE_NET_IF_VAR_H
 
-/* SNMP */
-#undef HAVE_SNMP
+/* Define if you have the <net/netopt.h> header file. */
+#undef HAVE_NET_NETOPT_H
 
-/* sa_len */
-#undef HAVE_SA_LEN
+/* NET_RT_IFLIST */
+#undef HAVE_NET_RT_IFLIST
 
-/* sin_len */
-#undef HAVE_SIN_LEN
+/* OSPF NSSA */
+#undef HAVE_NSSA
 
-/* sun_len */
-#undef HAVE_SUN_LEN
+/* OSPF Opaque LSA */
+#undef HAVE_OPAQUE_LSA
 
-/* scope id */
-#undef HAVE_SIN6_SCOPE_ID
+/* OSPF TE */
+#undef HAVE_OSPF_TE
 
-/* socklen_t */
-#undef HAVE_SOCKLEN_T
+/* /proc/net/dev */
+#undef HAVE_PROC_NET_DEV
 
-/* sockaddr_dl */
-#undef HAVE_SOCKADDR_DL
-
-/* ifaliasreq */
-#undef HAVE_IFALIASREQ
-
-/* in6_aliasreq */
-#undef HAVE_IN6_ALIASREQ
+/* /proc/net/if_inet6 */
+#undef HAVE_PROC_NET_IF_INET6
 
 /* rt_addrinfo */
 #undef HAVE_RT_ADDRINFO
 
-/* in_pktinfo */
-#undef HAVE_INPKTINFO
-
 /* rusage */
 #undef HAVE_RUSAGE
 
-/* zebra PID */
-#undef PATH_ZEBRA_PID
+/* sa_len */
+#undef HAVE_SA_LEN
+
+/* Define if you have the `setproctitle' function. */
+#undef HAVE_SETPROCTITLE
+
+/* scope id */
+#undef HAVE_SIN6_SCOPE_ID
+
+/* sin_len */
+#undef HAVE_SIN_LEN
+
+/* SNMP */
+#undef HAVE_SNMP
+
+/* Define if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* sockaddr_dl */
+#undef HAVE_SOCKADDR_DL
+
+/* socklen_t */
+#undef HAVE_SOCKLEN_T
+
+/* Define if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have the `strlcat' function. */
+#undef HAVE_STRLCAT
+
+/* Define if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* Define if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
+/* sun_len */
+#undef HAVE_SUN_LEN
+
+/* Define if you have the <sys/conf.h> header file. */
+#undef HAVE_SYS_CONF_H
+
+/* Define if you have the <sys/ksym.h> header file. */
+#undef HAVE_SYS_KSYM_H
+
+/* Define if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define if you have the <sys/sockio.h> header file. */
+#undef HAVE_SYS_SOCKIO_H
+
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
+/* Define if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Use TCP for zebra communication */
+#undef HAVE_TCP_ZEBRA
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Inria IPv6 */
+#undef INRIA_IPV6
+
+/* KAME IPv6 */
+#undef KAME
+
+/* Linux IPv6 */
+#undef LINUX_IPV6
+
+/* NRL */
+#undef NRL
+
+/* OpenBSD */
+#undef OPEN_BSD
+
+/* Name of package */
+#undef PACKAGE
+
+/* bgpd PID */
+#undef PATH_BGPD_PID
+
+/* ospf6d PID */
+#undef PATH_OSPF6D_PID
+
+/* ospfd PID */
+#undef PATH_OSPFD_PID
 
 /* ripd PID */
 #undef PATH_RIPD_PID
@@ -340,12 +452,40 @@
 /* ripngd PID */
 #undef PATH_RIPNGD_PID
 
-/* bgpd PID */
-#undef PATH_BGPD_PID
+/* zebra PID */
+#undef PATH_ZEBRA_PID
 
-/* ospfd PID */
-#undef PATH_OSPFD_PID
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
 
-/* ospf6d PID */
-#undef PATH_OSPF6D_PID
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
 
+/* SunOS 5 */
+#undef SUNOS_5
+
+/* SNMP */
+#undef UCD_COMPATIBLE
+
+/* Use PAM for authentication */
+#undef USE_PAM
+
+/* Version number of package */
+#undef VERSION
+
+/* VTY shell */
+#undef VTYSH
+
+/* Define if your processor stores words with the most significant byte first
+   (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
