MIPv6 Tester
Test Plan
TAHI Tests


This tool is used to ease our testing for IPv6 mobility features. It opens a bidirectional TCP stream and two unidirectional UDP streams, between two peers on the network (designed as a 'server' and a 'client', even through both peers are client and server). The tool tests the connectivity between the peers and reports the down time of each connection. See the Usage section below for more information.


Copyright (c) 2005-2006, Bull S.A.S. All rights reserved. Created by: Sebastien Decugis & Benjamin Thery

This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it would be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

You should have received a copy of the GNU General Public License along with this program; if not, write the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.



To run the application, all you have to do is:
  1. Uncompress the archive
  2. Enter the newly created directory
  3. Execute the Python script: ./mipv6tester.py
If you want to install the application in a cleaner manner, you can:
  1. Uncompress the archive in a temporary directory
  2. Move the file mipv6tester to a directory contained in your PATH (e.g. /usr/local/bin). It is a wrapper to run ./mipv6tester.py.
  3. Move the rest of the files in your installation directory (e.g. /usr/local/share/mipv6tester)
  4. Edit the script mipv6tester (the one you moved at step 2) and update the value of the environment variable MIPV6TESTER_DIR.
  5. Now, you should be able to execute the script mipv6tester from anywhere.


Using mipv6tester is pretty straightforward:
  1. Set up the network. Make sure the two nodes can ping each other.
  2. Execute mipv6tester on the first node. Configure it as server and set the IPv6 address of the other node.
  3. Execute mipv6tester on the second node. Configure it as client and set the IPv6 address of the server node.
  4. Press the Start button on the server node. It will wait for the client on its TCP socket and start to send UDP packets.
  5. Press the Start button on the client node. It should connect to the server node.
  6. Status of the application should show you that both nodes are receiving and sending packets.
When the application detects a handover (e.g. when a mobile node moves between to network), it calculates the duration of the handover and displays it when the connection comes  back.


Press the Edit button to configure the node.

Name of the configuration.
Setting a new name will create a new configuration.
Whether the node will be the server or the client for the TCP connection.
Note: The node that acts as server must be started before the client node.
Remote host
IPv6 address of the remote node.
Number of packets sent per second.
Log file
File where the logs are saved.
Ports  used by the TCP and UDP sockets.
For example, by default, the node known as the server will:
  • Listen to TCP port 10101
  • Read UDP packets on ports 10103 and 10105
  • Send UDP packets to ports 10104 and 10106 of the client node.
You shouldn't have to modify them, but you can.

Also, before starting the tester, you can disable one or more connections by clicking on the check boxes on top of each protocol frame (e.g. if you want to test only UDP traffic).

The configurations are saved in the XML file $HOME/.mipv6tester

Last update: Wed Jun 07 2006