ssh: connect to address 2001:200:0:1cd1:202:b3ff:fe64:8b78 port 22: Network is unreachable
cvs server: Diffing .
Index: CHANGES
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/CHANGES,v
retrieving revision 1.4
diff -u -r1.4 CHANGES
--- CHANGES	2002/02/05 08:33:01	1.4
+++ CHANGES	2002/07/31 03:19:29
@@ -1,3 +1,17 @@
+New in 0.9.3
+- Reverse tunneling
+- Bug fixes
+
+New in 0.9.2
+- Dynamic tunnel creation and removal
+- Mobile Prefix Solicitations and Advertisements
+- S-bit support
+- Multiple home address support
+- Support for multiple interfaces and removal and reinstallation 
+  of home interface
+- Proxy DAD for Home Agent
+
+
 New in 0.9.1
 
 - Tunnel code rewritten
Index: INSTALL
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/INSTALL,v
retrieving revision 1.5
diff -u -r1.5 INSTALL
--- INSTALL	2002/02/05 08:33:01	1.5
+++ INSTALL	2002/07/31 03:19:30
@@ -11,8 +11,8 @@
 MIPL Mobile IPv6 comes as a kernel patch for the 2.4.x series.  It has
 been tested with various 2.4.x kernels.  The kernel patch is named
 mipv6-a.b-v2.4.x.patch (where a and b are the major and minor version
-numbers of MIPL and x is the kernel version sublevel against which the
-patch was made).  This patch should only be applied against fresh
+numbers of MIPL and x is the kernel version sub-level against which
+the patch was made).  This patch should only be applied against fresh
 2.4.x tree (or later; provided no changes have been made in the
 net/ipv6 directory).
 
@@ -41,8 +41,6 @@
  CONFIG_PROC_FS=y 
  CONFIG_MODULES=y 
  CONFIG_NET=y 
- CONFIG_NETLINK=y
- CONFIG_RTNETLINK=y
  CONFIG_NETFILTER=y 
  CONFIG_UNIX=y 
  CONFIG_INET=y 
@@ -99,7 +97,9 @@
 files /etc/sysconfig/network-mip6.conf(5) and /etc/mipv6_acl.conf(5).
 They are pretty self-explanatory but you may want to take a look at
 the man pages.  For run-time configuration and diagnostics use
-mipdiag(8).  See manual page for usage information. Currently the configuration of security associations needs to be done manually, see mipdiag(8) for details.
+mipdiag(8).  See manual page for usage information.  Currently the
+configuration of security associations needs to be done manually, see
+mipdiag(8) for details.
 
 
 USAGE
@@ -129,20 +129,21 @@
 
 NOTE ON AUTHENTICATION 
 
-MIPL-0.9.1 includes and  can use manually keyed IPSec AH in transport mode
-for authenticating mobility related signaling.  After compiling the
-module with AH turned on you should configure the security
-associations in the file /etc/mipv6_sas.conf according to
-mipv6_sas.conf(5). 
-
 The default method for authentication of Binding Updates and
-Acknowledegements is the use of the authentication data suboption (new
-in mipv6 draft 15). It is compiled into the module by default. To
-start using it just set /proc/sys/net/ipv6/mobility/use_auth to 1 and
-set the SAs for all the nodes either manually with mipdiag OR
+Acknowledgments is the use of the authentication data sub-option (new
+in Mobile IPv6 draft 15).  It is compiled into the module by default.
+To start using it just set /proc/sys/net/ipv6/mobility/use_auth to 1
+and set the SAs for all the nodes either manually with mipdiag OR
 beforehand into /etc/mipv6_sas.conf and uncomment the AUTHENTICATION
 line in network-mip6.conf.
 
+Additionally, MIPL includes and can use manually keyed IPSec AH in
+transport mode for authenticating mobility related signaling.  After
+compiling the module with CONFIG_IPV6_MOBILITY_AH turned on you should
+configure the security associations in the file /etc/mipv6_sas.conf
+according to mipv6_sas.conf(5).
+
+
 NOTE ON DYNAMIC HOME AGENT ADDRESS DISCOVERY SUPPORT
 
 MIPL supports Dynamic Home Agent Address Discovery.  However, DHAAD
@@ -155,13 +156,10 @@
 should never be used as source address).  HA supporting DHAAD must
 also run radvd (or other software capable of sending Router
 Advertisements with MIPv6 extensions) and advertise itself with H-bit
-(Home Agent) set on every interface it serves as a Home Agent.
+(Home Agent) set on every interface it serves as a Home Agent.  To
+enable DHAAD in Mobile Node, use mipdiag -H without an address.
 
-To enable DHAAD in Mobile Node, just assign Home Agents Anycast
-Address for Home Agent Address.  For how to compute the Home Agents
-Anycast Address for your home subnet see RFC 2526.
 
-
 RADVD
 
 A Router Advertisement Daemon (radvd) should be installed on the
@@ -169,7 +167,10 @@
 Official radvd supports Mobile IPv6 extensions since version 0.6.2.
 radvd can be downloaded from:
  
-	http://v6web.litech.org/radvd/ (official)
+   http://v6web.litech.org/radvd/ (official)
+
+   http://www.mipl.mediapoli.com/pub/mirrors/v6web.litech.org/radvd/
+   (daily mirror, located in Espoo, Finland)
 
 The radvd package includes needed installation and configuration
 notes.
Index: Makefile.in
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/Makefile.in,v
retrieving revision 1.4
diff -u -r1.4 Makefile.in
--- Makefile.in	2002/01/28 11:52:16	1.4
+++ Makefile.in	2002/07/31 03:19:31
@@ -58,6 +58,8 @@
 MAN_FILES = mipdiag.8.man mipv6_acl.conf.5.man mipv6_sas.conf.5.man network-mip6.conf.5.man
 MANS =  mipdiag.8 mipv6_acl.conf.5 mipv6_sas.conf.5 network-mip6.conf.5
 
+CONF_AUTO_FILES = config.cache config.log config.status
+
 .SUFFIXES:
 .SUFFIXES: .c .o .man
 
@@ -70,7 +72,8 @@
 	$(CC) $(CFLAGS) $? -o $@
 
 clean:
-	$(RM) -f $(OBJS) $(MIPDIAG) $(IPV6TUNNEL) core $(MANS) mobile-ip6
+	$(RM) -f $(OBJS) $(MIPDIAG) $(IPV6TUNNEL) core $(MANS) mobile-ip6 \
+	$(CONF_AUTO_FILES) Makefile
 
 install: all
 	@for dir in $(bindir) $(man5dir) $(man8dir) $(sysconfdir) $(docdir) ; do \
Index: README
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/README,v
retrieving revision 1.4
diff -u -r1.4 README
--- README	2002/02/05 08:33:01	1.4
+++ README	2002/07/31 03:19:31
@@ -1,32 +1,32 @@
-MIPL Mobile IPv6 version 0.9.1
+MIPL Mobile IPv6 version 0.9.3
 
 MIPL Mobile IPv6 is an implementation of the Mobile IPv6 specification
-for Linux. The software provides transparent mobility to applications
+for Linux.  The software provides transparent mobility to applications
 which use IPv6 by implementing draft-ietf-mobileip-ipv6-15 and also
-parts of the IPSec protocols. It works at least with Red Hat 6.1
+parts of the IPSec protocols.  It works at least with Red Hat 6.1
 through 7.2 with the kernel version indicated in the package name.
 
 The software was developed as part of a software development project
-course at the Helsinki University of Technology. The project's goal
-was to create a prototype implementation of Mobile IPv6 for linux.
+course at the Helsinki University of Technology.  The project's goal
+was to create a prototype implementation of Mobile IPv6 for Linux.
 The project group consisted of: Sami Kivisaari, Niklas Kmpe, Juha
-Mynttinen, Toni Nyknen, Henrik Petander and Antti Tuominen. The
+Mynttinen, Toni Nyknen, Henrik Petander and Antti Tuominen.  The
 software has been developed further by the GO research project at the
-computer science department of HUT. Also the members of the MIPL
+computer science department of HUT.  Also the members of the MIPL
 mailing list have contributed to the development of this version by
-sending bug reports and patches.
+sending bug reports and patches.  See CREDITS.
 
 The package consists of a kernel module, kernel patches and userspace
-programs for configuration and installation of the kernel part. Also a
-modified radvd daemon is included.  INSTALL file contains information
-about installation and man pages provide help for the use of the
-userspace tools. Current issues with and limitations of the software
-are included in the TODO file. Copyright and other legal issues are
-addressed in COPYING. CHANGES list the changes from the previous
-version. Read also the radvd README file for changes made to it.
+programs for configuration and installation of the kernel part.  Also
+a modified radvd daemon is included.  INSTALL file contains
+information about installation and man pages provide help for the use
+of the userspace tools.  Current issues with and limitations of the
+software are included in the TODO file.  Copyright and other legal
+issues are addressed in COPYING.  CHANGES list the changes from the
+previous version.
 
 This release may contain bugs, although it has been tested to some
-degree. The user should note that since the software is implemented
+degree.  The user should note that since the software is implemented
 as a kernel-module it may crash her computer, potentially damage its
 file system and cause loss of information.
 
@@ -35,10 +35,14 @@
 	http://www.mipl.mediapoli.com/
 
 To report bugs or to join the development work please subscribe to the
-MIPL mailing list by sending e-mail with 'subscribe mipl' as message
-body to majordomo@list.mipl.mediapoli.com. More info and the list
-archive can be found at the project web site. Coordinators can be
-contacted at lpetande@tml.hut.fi or ajtuomin@tml.hut.fi.
+MIPL mailing list(s).  There are two mailing lists called mipl and
+mipl-devel.  First one is for all MIPL related discussion and can be
+subscribed by sending e-mail with 'subscribe mipl' as message body to
+majordomo@list.mipl.mediapoli.com.  The other is for development talk
+only.  Send 'subscribe mipl-devel' to the same address to subscribe.
+More info and the list archives can be found at the project web site.
+Coordinators can be contacted at lpetande@tml.hut.fi or
+ajtuomin@tml.hut.fi.
 
 Henrik Petander,
 Helsinki University of Technology
Index: TODO
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/TODO,v
retrieving revision 1.5
diff -u -r1.5 TODO
--- TODO	2002/02/05 08:33:01	1.5
+++ TODO	2002/07/31 03:19:32
@@ -1,21 +1,13 @@
-MIPL Mobile IPv6 TODO list for 0.9.1
+MIPL Mobile IPv6 TODO list for 0.9.3
 
 Known bugs and limitations of MIPL Mobile IPv6 implementation for
 Linux:
 
 General:
 
-_ Hashlist does not work with multiple entries sharing the same key,
-  this makes it impossible for MN to register multiple home addresses
- with the same HA or CN. Hashlist should be changed to support two
- hashkeys per entry to solve this. The same bug stops HA and CN
- sometimes from sending a BA in repsonse to a failed BU if a binding
- already exists for the home address.
+- Update everything to Draft 17.
 
-- A fixed number of tunnels is created at startup in HA and MN and more
-  tunnels can not be created on demand.
- 
-- Dynamic key establishment between MN and CN is missing. 
+- Dynamic key establishment between MN and CN is missing.
 
 - Piggybacking of signaling options should be done only if packets
   have room for it.  We should wait a certain amount of time for a
@@ -25,6 +17,9 @@
   home address option and piggyback BU and BA if there is enough
   space.
 
+  [Piggybacking is no longer available in Draft 17, but is specified
+   on a separate draft.]
+
 - PMTU should be adapted dynamically.  When MN moves away from home
   the pmtu for (idevs) routes should be adapted to allow room for home
   address option.  In CN (also HA): when a BU is received CN should
@@ -43,26 +38,18 @@
 
 - MN sends a neighbour solicitation to its HA when it returns home for
   sending a BU using its home address as the source address.  Instead
-  it should use unspecified address as the source. As a workaround MN
-  can do without the NS if it receives a RA from HA
-
-- MN sends BUs to previous routers, if they have the HA flag in their router 
-  advertisements and renews the binding forever. MN should stop 
-  sending the BUs at least when its old care-of address expires and
-  clean up everything related to the expired address.
+  it should use unspecified address as the source.  As a workaround MN
+  can do without the NS if it receives a RA from HA.
 
-- Reverse tunneling is not implemented.  (work in progress)
+- MN sends BUs to previous routers, if they have the HA flag in their
+  router advertisements and renews the binding forever.  MN should
+  stop sending the BUs at least when its old care-of address expires
+  and clean up everything related to the expired address.
 
 - When MN is started in a foreign network, it should not do DAD in the
- foreign network for its home address, and it should not reply to
- neighbour discovery messages for its home address.
-
-
-
-HA: 
+  foreign network for its home address, and it should not reply to
+  neighbour discovery messages for its home address.
 
-- Proxy DAD for MN's home address is missing (draft section 9.1)
-- HA (and CN) should have a certain window of acceptable sequence numbers fro BUs, now they check that the new seq. nr is larger modulo 256 than the previous one.
 
 If you find more bugs or have ideas or patches please send them to the
 MIPL mailing list: mipl@list.mipl.mediapoli.com.
Index: VERSION
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/VERSION,v
retrieving revision 1.4
diff -u -r1.4 VERSION
--- VERSION	2002/01/28 11:52:16	1.4
+++ VERSION	2002/07/31 03:19:32
@@ -1 +1 @@
-0.9.1
+0.9.3
Index: chkconf_kernel.sh
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/chkconf_kernel.sh,v
retrieving revision 1.5
diff -u -r1.5 chkconf_kernel.sh
--- chkconf_kernel.sh	2002/01/28 11:52:16	1.5
+++ chkconf_kernel.sh	2002/07/31 03:19:32
@@ -6,7 +6,7 @@
 # Authors:
 # Antti Tuominen          <ajtuomin@tml.hut.fi>
 #
-# $Id: chkconf_kernel.sh,v 1.2 2001/08/09 18:55:48 antti Exp $
+# $Id: chkconf_kernel.sh,v 1.3 2002/02/22 11:29:39 antti Exp $
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -14,20 +14,22 @@
 # 2 of the License, or (at your option) any later version.
 
 # Default settings for kernel
-DFLT_CONFIG_EXPERIMENTAL=y 
-DFLT_CONFIG_SYSCTL=y 
-DFLT_CONFIG_PROC_FS=y 
-DFLT_CONFIG_MODULES=y 
-DFLT_CONFIG_NET=y 
-DFLT_CONFIG_NETFILTER=y 
-DFLT_CONFIG_UNIX=y 
-DFLT_CONFIG_INET=y 
+DFLT_CONFIG_EXPERIMENTAL=y
+DFLT_CONFIG_SYSCTL=y
+DFLT_CONFIG_PROC_FS=y
+DFLT_CONFIG_MODULES=y
+DFLT_CONFIG_NET=y
+DFLT_CONFIG_NETFILTER=y
+DFLT_CONFIG_UNIX=y
+DFLT_CONFIG_INET=y
 DFLT_CONFIG_IPV6=m
+DFLT_CONFIG_IPV6_IPV6_TUNNEL=m
 DFLT_CONFIG_IPV6_MOBILITY=m
 
 TAGS="CONFIG_EXPERIMENTAL CONFIG_SYSCTL CONFIG_PROC_FS \
       CONFIG_MODULES CONFIG_NET CONFIG_NETFILTER CONFIG_UNIX \
-      CONFIG_INET CONFIG_IPV6 CONFIG_IPV6_MOBILITY"
+      CONFIG_INET CONFIG_IPV6 CONFIG_IPV6_IPV6_TUNNEL \
+      CONFIG_IPV6_MOBILITY"
 
 LINUX=/usr/src/linux
 WARN=0;
Index: diffs
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/diffs,v
retrieving revision 1.1.3.1
diff -u -r1.1.3.1 diffs
--- diffs	2002/07/31 02:24:12	1.1.3.1
+++ diffs	2002/07/31 03:19:32
@@ -1,581 +1 @@
-? diffs
-cvs server: Diffing .
-cvs server: CHANGES no longer exists, no comparison available
-cvs server: COPYING no longer exists, no comparison available
-cvs server: CREDITS no longer exists, no comparison available
-cvs server: INSTALL no longer exists, no comparison available
-Index: Makefile.in
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/Makefile.in,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- Makefile.in	2002/01/28 06:07:23	1.1.3.1
-+++ Makefile.in	2002/07/31 02:01:32	1.1.3.2
-@@ -58,6 +58,8 @@
- MAN_FILES = mipdiag.8.man mipv6_acl.conf.5.man mipv6_sas.conf.5.man network-mip6.conf.5.man
- MANS =  mipdiag.8 mipv6_acl.conf.5 mipv6_sas.conf.5 network-mip6.conf.5
- 
-+CONF_AUTO_FILES = config.cache config.log config.status
-+
- .SUFFIXES:
- .SUFFIXES: .c .o .man
- 
-@@ -70,7 +72,8 @@
- 	$(CC) $(CFLAGS) $? -o $@
- 
- clean:
--	$(RM) -f $(OBJS) $(MIPDIAG) $(IPV6TUNNEL) core $(MANS) mobile-ip6
-+	$(RM) -f $(OBJS) $(MIPDIAG) $(IPV6TUNNEL) core $(MANS) mobile-ip6 \
-+	$(CONF_AUTO_FILES) Makefile
- 
- install: all
- 	@for dir in $(bindir) $(man5dir) $(man8dir) $(sysconfdir) $(docdir) ; do \
-cvs server: README no longer exists, no comparison available
-cvs server: TODO no longer exists, no comparison available
-Index: VERSION
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/VERSION,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- VERSION	2002/01/28 06:07:23	1.1.3.1
-+++ VERSION	2002/07/31 02:01:32	1.1.3.2
-@@ -1 +1 @@
--0.9.1
-+0.9.3
-Index: chkconf_kernel.sh
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/chkconf_kernel.sh,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- chkconf_kernel.sh	2002/01/28 06:07:23	1.1.3.1
-+++ chkconf_kernel.sh	2002/07/31 02:01:33	1.1.3.2
-@@ -6,7 +6,7 @@
- # Authors:
- # Antti Tuominen          <ajtuomin@tml.hut.fi>
- #
--# $Id: chkconf_kernel.sh,v 1.2 2001/08/09 18:55:48 antti Exp $
-+# $Id: chkconf_kernel.sh,v 1.3 2002/02/22 11:29:39 antti Exp $
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License
-@@ -14,20 +14,22 @@
- # 2 of the License, or (at your option) any later version.
- 
- # Default settings for kernel
--DFLT_CONFIG_EXPERIMENTAL=y 
--DFLT_CONFIG_SYSCTL=y 
--DFLT_CONFIG_PROC_FS=y 
--DFLT_CONFIG_MODULES=y 
--DFLT_CONFIG_NET=y 
--DFLT_CONFIG_NETFILTER=y 
--DFLT_CONFIG_UNIX=y 
--DFLT_CONFIG_INET=y 
-+DFLT_CONFIG_EXPERIMENTAL=y
-+DFLT_CONFIG_SYSCTL=y
-+DFLT_CONFIG_PROC_FS=y
-+DFLT_CONFIG_MODULES=y
-+DFLT_CONFIG_NET=y
-+DFLT_CONFIG_NETFILTER=y
-+DFLT_CONFIG_UNIX=y
-+DFLT_CONFIG_INET=y
- DFLT_CONFIG_IPV6=m
-+DFLT_CONFIG_IPV6_IPV6_TUNNEL=m
- DFLT_CONFIG_IPV6_MOBILITY=m
- 
- TAGS="CONFIG_EXPERIMENTAL CONFIG_SYSCTL CONFIG_PROC_FS \
-       CONFIG_MODULES CONFIG_NET CONFIG_NETFILTER CONFIG_UNIX \
--      CONFIG_INET CONFIG_IPV6 CONFIG_IPV6_MOBILITY"
-+      CONFIG_INET CONFIG_IPV6 CONFIG_IPV6_IPV6_TUNNEL \
-+      CONFIG_IPV6_MOBILITY"
- 
- LINUX=/usr/src/linux
- WARN=0;
-Index: ipv6tunnel.c
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/ipv6tunnel.c,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- ipv6tunnel.c	2002/01/28 06:07:24	1.1.3.1
-+++ ipv6tunnel.c	2002/07/31 02:01:44	1.1.3.2
-@@ -1,5 +1,5 @@
- /* 
-- * $Id: ipv6tunnel.c,v 1.3 2001/12/10 19:22:43 jola Exp $
-+ * $Id: ipv6tunnel.c,v 1.4 2002/03/21 13:55:52 ville Exp $
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-@@ -274,7 +274,7 @@
-         if (parse_args(argc, argv, &p) < 0)
-                 return -1;
- 
--	if (do_get_ioctl(p.name[0] ? p.name : "ipv6tunl0", &p))
-+	if (do_get_ioctl(p.name[0] ? p.name : "ip6tnl0", &p))
-                 return -1;
- 
-         print_tunnel(&p);
-@@ -291,7 +291,7 @@
- 	if (parse_args(argc, argv, &p) < 0)
- 		return -1;
- 	
--	return do_add_ioctl(cmd, "ipv6tunl0", &p);
-+	return do_add_ioctl(cmd, "ip6tnl0", &p);
- }
- 
- int do_del(int argc, char **argv)
-@@ -301,7 +301,7 @@
- 	if (parse_args(argc, argv, &p) < 0)
- 		return -1;
- 
--	return do_del_ioctl(p.name[0] ? p.name : "ipv6tunl0", &p);
-+	return do_del_ioctl(p.name[0] ? p.name : "ip6tnl0", &p);
- }
- 
- 
-Index: mip6.h
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/mip6.h,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- mip6.h	2002/01/28 06:07:24	1.1.3.1
-+++ mip6.h	2002/07/31 02:01:44	1.1.3.2
-@@ -71,6 +71,19 @@
- 	int		ifr6_ifindex; 
- };
- 
-+/*
-+ * Struct for ACL rules
-+ */
-+struct mipv6_acl_record {
-+	struct in6_addr mask;
-+	unsigned char prefix_len;
-+	unsigned char action;
-+};
-+
-+#define ACL_DENY 0
-+#define ACL_ALLOW 1
-+#define ACL_FLUSH 2
-+
- #define MA_IFACE_NOT_PRESENT 0x01
- #define MA_IFACE_NOT_USED    0x02
- #define MA_IFACE_HAS_ROUTER  0x04
-@@ -127,5 +140,8 @@
- 
- #define IOCTL_SET_MN_INFO _IOR(MAJOR_NUM, 14, void *)
- #define IOCTL_GET_MN_INFO _IOWR(MAJOR_NUM, 15, void *)
-+
-+/* Add ACL rule */
-+#define IOCTL_ADD_ACL_RULE _IOWR(MAJOR_NUM, 16, void *)
-  
- #endif
-cvs server: mipdiag.8 no longer exists, no comparison available
-Index: mipdiag.8.man
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/mipdiag.8.man,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- mipdiag.8.man	2002/01/28 06:07:24	1.1.3.1
-+++ mipdiag.8.man	2002/07/31 02:01:49	1.1.3.2
-@@ -78,11 +78,15 @@
- Set name of interface for which -P sets the preference (e.g. eth0). 
- .IP "-P, --set_if_pref preference"
- Set preference for an interface (e.g. set preference 3 to eth0 :
--"mipdiag -i eth0 -P 3" ). MN uses by default the interface with the
-+"mipdiag -i eth0 -P3" ). MN uses by default the interface with the
- highest preference.  If a currently used interface is lost, MN
- switches to the interface with the next highest preference and
- performs a vertical handoff. The default preference is the interface
--identifier of an interface.
-+identifier of an interface. MN also moves any manually configured home
-+addresses from interfaces going down to the interface with the highest
-+preference. MN moves the home addresses back to a reinstalled
-+interface, when the interface returns to the home network of the home
-+address.
- 
- 
- .SH SECURITY OPTIONS
-Index: mipdiag.c
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/mipdiag.c,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- mipdiag.c	2002/01/28 06:07:24	1.1.3.1
-+++ mipdiag.c	2002/07/31 02:01:49	1.1.3.2
-@@ -4,7 +4,7 @@
-  *      Authors:
-  *      Antti Tuominen          <ajtuomin@tml.hut.fi>
-  *
-- *      $Id: mipdiag.c,v 1.41 2001/12/10 09:31:06 henkku Exp $
-+ *      $Id: mipdiag.c,v 1.44 2002/05/15 16:07:30 antti Exp $
-  *
-  *      This program is free software; you can redistribute it and/or
-  *      modify it under the terms of the GNU General Public License
-@@ -43,8 +43,8 @@
- #include "diag.h"
- #include "conf.h"
- 
--static char miplversion[] = "MIPL Mobile IPv6 0.9.1";
--static char progversion[] = "mipdiag 0.22 (2001-12-07) Antti Tuominen";
-+static char miplversion[] = "MIPL Mobile IPv6 0.9.3";
-+static char progversion[] = "mipdiag 0.23 (2002-04-09) Antti Tuominen";
- 
- static char base64_digits [] =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz- ";
-@@ -69,11 +69,11 @@
- 		"   -l, --bulist             show bingding update list\n"
- 		"   -m, --mninfo             show MN information\n"
- 		"   -s, --statistics         show statistics\n"
--		"   -I, --ifaces             show current interfaces and priorities\n" /* MULTIACCESS */
-+		"   -I, --ifaces             show current interfaces and priorities\n"
- 		"   -h, --homeaddress        set MN's home address and prefix length\n"
- 		"   -H, --homeagent          set MN's home agent's address\n"
--		"   -i, --if_name            set interface for which preference is adjusted with -P\n" /* MULTIACCESS */
--		"   -P, --set_if_pref        set priority for an interface\n" /* MULTIACCESS */
-+		"   -i, --if_name            set interface for which preference is adjusted with -P\n"
-+		"   -P, --set_if_pref        set priority for an interface\n"
- 		"   -d, --debuglevel         get/set module's debug level\n"
- 		"   -r, --rule               set access control rule\n"
- 		"   -R  --rulelist           read access control list from file\n"
-@@ -236,37 +236,43 @@
- 	}
- }
- 
--void acl_add_rule(char *policy, struct in6_addr addr, int prefix)
-+int acl_add_rule(char *policy, struct in6_addr *addr, int prefix_len)
- {
--	FILE *acl;
--	char cpolicy;
-+	int fd;
-+	int ret = 0;
-+	struct mipv6_acl_record rule;
- 
-+	memset(&rule, 0, sizeof(rule));
-+
- 	if (!strcasecmp(policy, "DENY"))
--		cpolicy = '-';
-+		rule.action = ACL_DENY;
- 	else if (!strcasecmp(policy, "ALLOW"))
--		cpolicy = '+';
-+		rule.action = ACL_ALLOW;
- 	else if (!strcasecmp(policy, "FLUSH"))
--		cpolicy = '*';
-+		rule.action = ACL_FLUSH;
- 	else {
- 		fprintf(stderr, "Access list format error: unknown policy \"%s\".\n",
- 			policy);
- 		exit(1);
- 	}
-+
-+	if (rule.action != ACL_FLUSH) {
-+		memcpy(&rule.mask, addr, sizeof(struct in6_addr));
-+		rule.prefix_len = prefix_len;
-+	}
-+
-+	if ((fd = open(CTLFILE, 0)) < 0 ) {
-+		perror("open:");
-+		return -ENOENT;
-+	}
- 
--	acl = fopen("/proc/sys/net/ipv6/mobility/mobile_node_list", "r+");
--	if (acl != NULL) {
--		if (cpolicy == '*')
--			fprintf(acl, "*");
--		else
--			fprintf(acl, "%c %08x%08x%08x%08x %02x", cpolicy,
--				htonl(addr.s6_addr32[0]), 
--				htonl(addr.s6_addr32[1]),
--				htonl(addr.s6_addr32[2]), 
--				htonl(addr.s6_addr32[3]),
--				prefix);
--		fclose(acl);
-+	if ((ret = ioctl(fd, IOCTL_ADD_ACL_RULE, &rule)) < 0) {
-+		fprintf(stderr, "ioctl failed\n");
- 	}
- 
-+	close(fd);
-+
-+	return ret;
- }
- 
- void set_access(char *rule) 
-@@ -305,7 +311,7 @@
- 			exit(1);
- 		}
- 	} 
--	acl_add_rule(policy, saddr, plen);
-+	acl_add_rule(policy, &saddr, plen);
- }
- 
- void acl_file(char *path)
-cvs server: mipv6_acl.conf no longer exists, no comparison available
-cvs server: mipv6_acl.conf.5 no longer exists, no comparison available
-cvs server: mipv6_sas.conf.5 no longer exists, no comparison available
-Index: mipv6_sas.conf.5.man
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/mipv6_sas.conf.5.man,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- mipv6_sas.conf.5.man	2002/01/28 06:07:24	1.1.3.1
-+++ mipv6_sas.conf.5.man	2002/07/31 02:01:49	1.1.3.2
-@@ -36,7 +36,8 @@
- .B ALG_AUTH_HMAC_MD5
- :MD5 HMAC uses a key length of 128 bits. 
- .B ALG_AUTH_HMAC_SHA1
--SHA1 HMAC uses a key length of 160 bits.
-+SHA1 HMAC uses a key length of 160 bits. SHA-1 does not work with AH support. 
-+It will crash your host.
- .IP "direction: direction"
- Direction of the SA. Either inbound or outbound.
- .IP "key in hexadecimal" 
-@@ -53,10 +54,11 @@
-  
- .SH EXAMPLE
- @sysconfdir@/mip6_sas.conf file in a home agent with SAs for a mobile node
--with the home address 3ffe:2620:6:1234:abcd::1.
-+with the home address 3ffe:2620:6:1234:abcd::1. Format is: 
-+#address; spi; algorithm; direction; key in hex;  key
- 
- .PP
--#address; spi; algorithm; direction; key in hex;  key
-+
- 3ffe:2620:6:1234:abcd::1;1033;ALG_AUTH_HMAC_MD5;inbound;0;abcdefghijkl1234567890
- 3ffe:2620:6:1234:abcd::1;1034;ALG_AUTH_HMAC_MD5;outbound;0;1234567890abcdefghijkl
- 
-cvs server: mipv6_sas.conf.example no longer exists, no comparison available
-cvs server: mobile-ip6 no longer exists, no comparison available
-Index: mobile-ip6.in
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/mobile-ip6.in,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- mobile-ip6.in	2002/01/28 06:07:24	1.1.3.1
-+++ mobile-ip6.in	2002/07/31 02:01:50	1.1.3.2
-@@ -10,7 +10,6 @@
- # @configure_input@
- 
- MIPV6_MODULE=@MIPV6_MODULE@
--TUNNEL_MODULE=@TUNNEL_MODULE@
- 
- prefix=@prefix@
- exec_prefix=@exec_prefix@
-@@ -18,15 +17,12 @@
- sysconfdir=@sysconfdir@
- 
- CONFIG_FILE=@NETWORK_MIP6_CONF@/network-mip6.conf
--IPV6TUNNEL=@sbindir@/ipv6tunnel
- MIPDIAG=@sbindir@/mipdiag
- SUBSYS=$1
- LOCKDIR=@LOCKDIR@
- 
--IP=@sbindir@/ip
--INSMOD=@sbindir@/insmod
-+MODPROBE=@sbindir@/modprobe
- LSMOD=@sbindir@/lsmod
--RMMOD=@sbindir@/rmmod
- 
- # Test if 'functions' exists. If not, define our own 'action'
- 
-@@ -50,20 +46,6 @@
-     }
- fi
- 
--tear_down_tunnel() {
--    if [ "$FUNCTIONALITY" = "mn" -o "$FUNCTIONALITY" = "ha" ] ; then
--	if [ -z "$TUNNEL_NR" ] ; then
--	    TUNNEL_NR=10
--	fi
--    else
--	TUNNEL_NR=10
--    fi
--
--    for ((i = 1; i <= $TUNNEL_NR; i++)) ; do
--	$IPV6TUNNEL del mipv6$i
--    done
--}
--
- if [ ! -f $CONFIG_FILE ] ; then
-     echo "Cannot find configuration file: $CONFIG_FILE"
-     exit 1
-@@ -71,7 +53,7 @@
- 
- . $CONFIG_FILE
- 
--for file in $IPV6TUNNEL $MIPDIAG $INSMOD $LSMOD $RMMOD $IP ; do
-+for file in $MIPDIAG $MODPROBE $LSMOD ; do
-     if [ ! -x $file ] ; then
- 	echo "Cannot execute: $file"
- 	exit 1
-@@ -92,46 +74,38 @@
- 	case "$FUNCTIONALITY" in
- 	    mn)
- 		INSMOD_ARGS="mipv6_is_mn=1"
--		if [ -z "$TUNNEL_NR" ] ; then
--		    TUNNEL_NR=10
-+		if [ ! -z "$USE_REVERSE_TUNNEL" ] && \
-+                   [ "$USE_REVERSE_TUNNEL" = "yes" ]; then
-+		    INSMOD_ARGS="$INSMOD_ARGS mipv6_reverse_tunnel=1"
- 		fi
- 		;;
- 	    ha)
- 		INSMOD_ARGS="mipv6_is_ha=1"
--		if [ -z "$TUNNEL_NR" ] ; then
--		    TUNNEL_NR=10
--		fi
- 		;;
- 	    cn)
- 		INSMOD_ARGS=
--		TUNNEL_NR=0
- 		;;
-         esac
--	if [ ! -z "$DEBUGLEVEL" ]; then
--	    INSMOD_ARGS="$INSMOD_ARGS mipv6_debug=$DEBUGLEVEL";
--	fi
- 
--	$INSMOD $TUNNEL_MODULE &> /dev/null
--	if [ ! $? -eq 0 ] ; then
--	    echo "$INSMOD $TUNNEL_MODULE failed"
--	    exit 1
--	fi
-+	if [ "$FUNCTIONALITY" = "mn" -o "$FUNCTIONALITY" = "ha" ]; then 
-+	    if [ -z "$MIN_TUNNEL_NR" ]; then
-+		MIN_TUNNEL_NR=1
-+	    fi
-+	    INSMOD_ARGS="$INSMOD_ARGS mipv6_min_tunnel_nr=$MIN_TUNNEL_NR";
- 
--	for ((i=1; i <= $TUNNEL_NR; i++)) ; do
--	    $IPV6TUNNEL add mipv6t$i --kernel-device
--	done
-+	    if [ -z "$MAX_TUNNEL_NR" ]; then
-+		MAX_TUNNEL_NR=2
-+	    fi
-+	    INSMOD_ARGS="$INSMOD_ARGS mipv6_max_tunnel_nr=$MAX_TUNNEL_NR";
-+	fi
- 
--	for ((i=1; i <= $TUNNEL_NR; i++)) ; do
--	    $IP link set mipv6t$i up
--	done
-+	if [ ! -z "$DEBUGLEVEL" ]; then
-+	    INSMOD_ARGS="$INSMOD_ARGS mipv6_debug=$DEBUGLEVEL";
-+	fi
- 
--	$INSMOD $MIPV6_MODULE $INSMOD_ARGS &> /dev/null
-+	$MODPROBE $MIPV6_MODULE $INSMOD_ARGS &> /dev/null
- 	status=$?
- 
--	if [ ! "$status" -eq 0 ] ; then
--	    tear_down_tunnel
--	fi
--
- 	action "Starting Mobile IPv6:" [ $status -eq 0 ] || exit 1
- 	
- 	touch $LOCKDIR/mobile-ip6
-@@ -161,21 +135,8 @@
- 	;;
-     stop)
- 	action "Stopping Mobile IPv6:" [ -f $LOCKDIR/mobile-ip6 ] || exit 1
--	$RMMOD $MIPV6_MODULE
--
--	if [ "$FUNCTIONALITY" = "mn" -o "$FUNCTIONALITY" = "ha" ]; then
--	    if [ -z "$TUNNEL_NR" ] ; then
--	        TUNNEL_NR=10
--	    fi
--	else
--	    TUNNEL_NR=0
--	fi
--
--	for ((i = 1; i <= $TUNNEL_NR; i++)) ; do
--	    $IPV6TUNNEL del mipv6t$i
--	done
- 
--	$RMMOD $TUNNEL_MODULE &> /dev/null    
-+	$MODPROBE -r $MIPV6_MODULE
- 
- 	rm -f $LOCKDIR/mobile-ip6
- 	exit $?
-cvs server: mobile-ip6.test no longer exists, no comparison available
-Index: network-mip6.conf
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/network-mip6.conf,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- network-mip6.conf	2002/01/28 06:07:24	1.1.3.1
-+++ network-mip6.conf	2002/07/31 02:01:50	1.1.3.2
-@@ -14,15 +14,25 @@
- # node is not in its home network (default: yes).
- #TUNNEL_SITELOCAL=yes
- 
--# Number of tunnel devices MIPL can use. Limits the number of simultaneous
--# bindings between different HAs and MNs.
--TUNNEL_NR=10
-+# Minimum number of free tunnel devices kept in cache on MN or HA
-+# Must be set to at least 1 for MN and HA. To ensure successful 
-+# bindings even during high work loads it could be set to a bigger 
-+# value on the HA.
-+MIN_TUNNEL_NR=1
- 
-+# Maximum number of free tunnel devices kept in cache on MN or HA
-+# Must be set to at least 1 for MN and HA. To improve performance
-+# set it higher than MIN_TUNNEL_NR
-+MAX_TUNNEL_NR=2
-+
-+# Should MN use reverse tunnel for communication with CN (default: no)
-+#USE_REVERSE_TUNNEL=no
-+
- # Home address for mobile node with prefix length. Example:
- # 3FFE:2620:6:1234:ABCD::1/48 (Don't use the example value!)
- HOMEADDRESS=fec0::1/10
- 
--# Home agent's address for mobile node. 
-+# Home agent's address for mobile node with prefix length.
- HOMEAGENT=fec0::2/10
- 
- # Path for a file containing list of IPv6 addresses (and other
-cvs server: network-mip6.conf.5 no longer exists, no comparison available
-Index: network-mip6.conf.5.man
-===================================================================
-RCS file: /cvsroot/usagi/usagi/src/miplv6/network-mip6.conf.5.man,v
-retrieving revision 1.1.3.1
-retrieving revision 1.1.3.2
-diff -u -r1.1.3.1 -r1.1.3.2
---- network-mip6.conf.5.man	2002/01/28 06:07:24	1.1.3.1
-+++ network-mip6.conf.5.man	2002/07/31 02:01:50	1.1.3.2
-@@ -7,7 +7,8 @@
- module. This file is used by automatic startup script to set up
- parameters for the kernel module.
- .SH SYNTAX
--Configuration file consists of option and value pairs: OPTION=value. Option name must be in all capitals. Value is case-insensitive.
-+Configuration file consists of option and value pairs: OPTION=value. 
-+Option name must be in all capitals. Value is case-insensitive.
- .SH OPTIONS
- .IP "FUNCTIONALITY"
- Should this node act as a home agent (ha), mobile node (mn) or
-@@ -20,9 +21,17 @@
- .IP "TUNNEL_SITELOCAL"
- Should unicasts to node's site-local address be tunneled when mobile
- node is not in its home network (default: yes).
--.IP "TUNNEL_NR"
--Number of tunnel devices MIPL can use. Limits the number of simultaneous
--bindings between different HAs and MNs.
-+.IP "MIN_TUNNEL_NR"
-+Minimum number of free tunnel devices kept in cache on MN or HA
-+Must be set to at least 1 for MN and HA. To ensure successful 
-+bindings even during high work loads it could be set to a bigger 
-+value on the HA.
-+.IP "MAX_TUNNEL_NR"
-+Maximum number of free tunnel devices kept in cache on MN or HA
-+Must be set to at least 1 for MN and HA. To improve performance
-+set it higher than MIN_TUNNEL_NR
-+.IP "USE_REVERSE_TUNNEL"
-+Should MN use reverse tunnel for communication with CN (default: no)
- .IP "HOMEADDRESS"
- Home address for mobile node with prefix length. Example:
- 3FFE:2620:6:1234:ABCD::1/48 (Don't use the example value!)
+ssh: connect to address 2001:200:0:1cd1:202:b3ff:fe64:8b78 port 22: Network is unreachable
Index: mip6.h
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/mip6.h,v
retrieving revision 1.5
diff -u -r1.5 mip6.h
--- mip6.h	2002/04/10 11:28:42	1.5
+++ mip6.h	2002/07/31 03:19:37
@@ -71,6 +71,19 @@
 	int		ifr6_ifindex; 
 };
 
+/*
+ * Struct for ACL rules
+ */
+struct mipv6_acl_record {
+	struct in6_addr mask;
+	unsigned char prefix_len;
+	unsigned char action;
+};
+
+#define ACL_DENY 0
+#define ACL_ALLOW 1
+#define ACL_FLUSH 2
+
 #define MA_IFACE_NOT_PRESENT 0x01
 #define MA_IFACE_NOT_USED    0x02
 #define MA_IFACE_HAS_ROUTER  0x04
@@ -127,6 +140,9 @@
 
 #define IOCTL_SET_MN_INFO _IOR(MAJOR_NUM, 14, void *)
 #define IOCTL_GET_MN_INFO _IOWR(MAJOR_NUM, 15, void *)
+
+/* Add ACL rule */
+#define IOCTL_ADD_ACL_RULE _IOWR(MAJOR_NUM, 16, void *)
  
 #define IOCTL_SET_HA_ANYCAST _IOR (MAJOR_NUM, 16, void *)
 #define IOCTL_DEL_HA_ANYCAST _IOR (MAJOR_NUM, 17, void *)
Index: mipdiag.8.man
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/mipdiag.8.man,v
retrieving revision 1.4
diff -u -r1.4 mipdiag.8.man
--- mipdiag.8.man	2002/01/28 11:52:16	1.4
+++ mipdiag.8.man	2002/07/31 03:19:37
@@ -78,11 +78,15 @@
 Set name of interface for which -P sets the preference (e.g. eth0). 
 .IP "-P, --set_if_pref preference"
 Set preference for an interface (e.g. set preference 3 to eth0 :
-"mipdiag -i eth0 -P 3" ). MN uses by default the interface with the
+"mipdiag -i eth0 -P3" ). MN uses by default the interface with the
 highest preference.  If a currently used interface is lost, MN
 switches to the interface with the next highest preference and
 performs a vertical handoff. The default preference is the interface
-identifier of an interface.
+identifier of an interface. MN also moves any manually configured home
+addresses from interfaces going down to the interface with the highest
+preference. MN moves the home addresses back to a reinstalled
+interface, when the interface returns to the home network of the home
+address.
 
 
 .SH SECURITY OPTIONS
Index: mipdiag.c
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/mipdiag.c,v
retrieving revision 1.9
diff -u -r1.9 mipdiag.c
--- mipdiag.c	2002/04/10 11:28:42	1.9
+++ mipdiag.c	2002/07/31 03:19:37
@@ -4,7 +4,7 @@
  *      Authors:
  *      Antti Tuominen          <ajtuomin@tml.hut.fi>
  *
- *      $Id: mipdiag.c,v 1.41 2Index: network-mip6.conf
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/network-mip6.conf,v
retrieving revision 1.9
diff -u -r1.9 network-mip6.conf
--- network-mip6.conf	2002/04/10 11:28:42	1.9
+++ network-mip6.conf	2002/07/31 03:19:38
@@ -14,15 +14,25 @@
 # node is not in its home network (default: yes).
 #TUNNEL_SITELOCAL=yes
 
-# Number of tunnel devices MIPL can use. Limits the number of simultaneous
-# bindings between different HAs and MNs.
-TUNNEL_NR=10
+# Minimum number of free tunnel devices kept in cache on MN or HA
+# Must be set to at least 1 for MN and HA. To ensure successful 
+# bindings even during high work loads it could be set to a bigger 
+# value on the HA.
+MIN_TUNNEL_NR=1
 
+# Maximum number of free tunnel devices kept in cache on MN or HA
+# Must be set to at least 1 for MN and HA. To improve performance
+# set it higher than MIN_TUNNEL_NR
+MAX_TUNNEL_NR=2
+
+# Should MN use reverse tunnel for communication with CN (default: no)
+#USE_REVERSE_TUNNEL=no
+
 # Home address for mobile node with prefix length. Example:
 # 3FFE:2620:6:1234:ABCD::1/48 (Don't use the example value!)
 HOMEADDRESS=fec0::1/10
 
-# Home agent's address for mobile node. 
+# Home agent's address for mobile node with prefix length.
 HOMEAGENT=fec0::2/10
 
 # Home Link for Home Agent
Index: network-mip6.conf.5.man
===================================================================
RCS file: /cvsroot/usagi/usagi/src/miplv6/network-mip6.conf.5.man,v
retrieving revision 1.4
diff -u -r1.4 network-mip6.conf.5.man
--- network-mip6.conf.5.man	2002/01/28 11:52:16	1.4
+++ network-mip6.conf.5.man	2002/07/31 03:19:38
@@ -7,7 +7,8 @@
 module. This file is used by automatic startup script to set up
 parameters for the kernel module.
 .SH SYNTAX
-Configuration file consists of option and value pairs: OPTION=value. Option name must be in all capitals. Value is case-insensitive.
+Configuration file consists of option and value pairs: OPTION=value. 
+Option name must be in all capitals. Value is case-insensitive.
 .SH OPTIONS
 .IP "FUNCTIONALITY"
 Should this node act as a home agent (ha), mobile node (mn) or
@@ -20,9 +21,17 @@
 .IP "TUNNEL_SITELOCAL"
 Should unicasts to node's site-local address be tunneled when mobile
 node is not in its home network (default: yes).
-.IP "TUNNEL_NR"
-Number of tunnel devices MIPL can use. Limits the number of simultaneous
-bindings between different HAs and MNs.
+.IP "MIN_TUNNEL_NR"
+Minimum number of free tunnel devices kept in cache on MN or HA
+Must be set to at least 1 for MN and HA. To ensure successful 
+bindings even during high work loads it could be set to a bigger 
+value on the HA.
+.IP "MAX_TUNNEL_NR"
+Maximum number of free tunnel devices kept in cache on MN or HA
+Must be set to at least 1 for MN and HA. To improve performance
+set it higher than MIN_TUNNEL_NR
+.IP "USE_REVERSE_TUNNEL"
+Should MN use reverse tunnel for communication with CN (default: no)
 .IP "HOMEADDRESS"
 Home address for mobile node with prefix length. Example:
 3FFE:2620:6:1234:ABCD::1/48 (Don't use the example value!)
