2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
	* Extensions to Neighbor Discovery for Mobile IPv6
diff --git a/ChangeLog b/ChangeLog
index 44852b1..b0c3ab3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
+	* configure.ac: add struct nd_opt_interval and struct
+	  nd_opt_homeagent_info detection.
+
 2005-03-14 Paul Jakma <paul.jakma@sun.com>
 
 	* (global) update all c files to match the lib/vector.h rename of
diff --git a/configure.ac b/configure.ac
index 95ab588..faee4af 100755
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 ##  Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
 ##  Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
 ##
-## $Id: configure.ac,v 1.90 2005/03/12 06:36:10 paul Exp $
+## $Id: configure.ac,v 1.91 2005/03/25 13:05:47 vincent Exp $
 AC_PREREQ(2.53)
 
 AC_INIT(Quagga, 0.99.0, [http://bugzilla.quagga.net])
@@ -1073,6 +1073,36 @@
  AC_DEFINE(HAVE_INPKTINFO,,in_pktinfo)],
  AC_MSG_RESULT(no))
 
+dnl ----------------------------------
+dnl check struct nd_opt_homeagent_info
+dnl ----------------------------------
+AC_MSG_CHECKING(whether struct nd_opt_homeagent_info exist)
+AC_EGREP_HEADER(nd_opt_homeagent_info,
+netinet/icmp6.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_ND_OPT_HOMEAGENT_INFO,,nd_opt_homeagent_info)],
+ AC_MSG_RESULT(no))
+
+dnl --------------------------------
+dnl check struct nd_opt_adv_interval
+dnl --------------------------------
+AC_MSG_CHECKING(whether struct nd_opt_adv_interval exist)
+AC_EGREP_HEADER(nd_opt_adv_interval,
+netinet/icmp6.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_ND_OPT_ADV_INTERVAL,,nd_opt_adv_interval)],
+ AC_MSG_RESULT(no))
+
+dnl ------------------------------------
+dnl check fields in  nd_opt_adv_interval
+dnl ------------------------------------
+AC_MSG_CHECKING(whether nd_opt_ai_type field exist)
+AC_EGREP_HEADER(nd_opt_ai_type,
+netinet/icmp6.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_ND_OPT_ADV_INTERVAL_AI_FIELDS,,nd_opt_ai_type)],
+ AC_MSG_RESULT(no))
+
 dnl --------------------------------------
 dnl checking for getrusage struct and call
 dnl --------------------------------------
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 641e156..f631265 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,12 @@
+2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
+	* ipv6.texi: Add new commands for neighbor discovery
+	    interface ipv6 nd prefix X:X::X:X/M router-address
+	    interface ipv6 nd ra-interval msec
+	    interface ipv6 nd home-agent-config-flag
+	    interface ipv6 nd home-agent-lifetime
+	    interface ipv6 nd home-agent-preference
+	    interface ipv6 nd adv-interval-option
+
 2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* basic.texi: Add note about last-resort crash logging to /var/tmp
diff --git a/doc/ipv6.texi b/doc/ipv6.texi
index c740234..910253c 100644
--- a/doc/ipv6.texi
+++ b/doc/ipv6.texi
@@ -23,7 +23,7 @@
 Don't send router advertisment messages.
 @end deffn
 
-@deffn {Interface Command} {ipv6 nd prefix @var{ipv6prefix} [@var{valid-lifetime}] [@var{preferred-lifetime}] [off-link] [no-autconfig]} {}
+@deffn {Interface Command} {ipv6 nd prefix @var{ipv6prefix} [@var{valid-lifetime}] [@var{preferred-lifetime}] [off-link] [no-autoconfig] [router-address]} {}
 Configuring the IPv6 prefix to include in router advertisements. Several prefix
 specific optional parameters and flags may follow:
 @itemize @bullet
@@ -52,6 +52,13 @@
 cannot be used for IPv6 autoconfiguration.
 
 Default: not set, i.e. prefix can be used for autoconfiguration.
+
+@item
+@var{router-address} - indicates to hosts on the local link that the specified 
+prefix 
+contains a complete IP address by setting R flag.
+
+Default: not set, i.e. hosts do not assume a complete IP address is placed.
 @end itemize
 @end deffn
 
@@ -63,6 +70,13 @@
 Default: @code{600}
 @end deffn
 
+@deffn {Interface Command} {ipv6 nd ra-interval msec MILLISECONDS} {}
+@deffnx {Interface Command} {no ipv6 nd ra-interval msec} {}
+The  maximum  time allowed between sending unsolicited multicast router
+advertisements from the interface, in milliseconds. Must be no less than 30 milliseconds.
+
+Default: @code{600000}
+@end deffn
 @deffn {Interface Command} {ipv6 nd ra-lifetime SECONDS} {}
 @deffnx {Interface Command} {no ipv6 nd ra-lifetime} {}
 The value to be placed in the Router Lifetime field of router advertisements
@@ -104,6 +118,38 @@
 Default: not set
 @end deffn
 
+@deffn {Interface Command} {ipv6 nd home-agent-config-flag} {}
+@deffnx {Interface Command} {no ipv6 nd home-agent-config-flag} {}
+Set/unset flag in IPv6 router advertisements which indicates to hosts that
+the router acts as a Home Agent and includes a Home Agent Option.
+
+Default: not set
+@end deffn
+
+@deffn {Interface Command} {ipv6 nd home-agent-preference} {}
+@deffnx {Interface Command} {no ipv6 nd home-agent-preference} {}
+The value to be placed in Home Agent Option, when Home Agent config flag is set, 
+which indicates to hosts Home Agent preference.
+
+Default: 0
+@end deffn
+
+@deffn {Interface Command} {ipv6 nd home-agent-lifetime} {}
+@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime} {}
+The value to be placed in Home Agent Option, when Home Agent config flag is set, 
+which indicates to hosts Home Agent Lifetime. A value of 0 means to place Router Lifetime value.
+
+Default: 0
+@end deffn
+
+@deffn {Interface Command} {ipv6 nd adv-interval-option} {}
+@deffnx {Interface Command} {no ipv6 nd adv-interval-option} {}
+Include an Advertisement Interval option which indicates to hosts the maximum time, 
+in milliseconds, between successive unsolicited Router Advertisements.
+
+Default: not set
+@end deffn
+
 @example
 @group
 interface eth0
@@ -113,4 +159,5 @@
 @end example
 
 For more information see @cite{RFC2462 (IPv6 Stateless Address Autoconfiguration)}
-and @cite{RFC2461 (Neighbor Discovery for IP Version 6 (IPv6))}.
+, @cite{RFC2461 (Neighbor Discovery for IP Version 6 (IPv6))}
+and @cite{RFC3775 (Mobility Support in IPv6 (Mobile IPv6))}.