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))}.