Shim6 Enabled Ubuntu Live Image

Introduction

TSSG is a research centre based at the Waterford Institute of Technology's campus. Recently we have been doing some work based around the Shim6 protocol, and as a service to the Shim6 community, have decided to provide this as a bootable Ubuntu based ISO. This is essentially the setup we have been using in the lab, and we hope it will be of benefit to others in evaluating the technology.

Downloads

The following are available to download

The Shim6 implementation used is Sébastien Barré's LinShim6. The latest version of which is always available at the LinShim6 home page.

Booting/Configuration

The image must be burned to a CD-ROM or DVD. When this is done, insert the disc into the computer's CD/DVD-ROM drive and reboot. The computer will then boot into a fully functional Ubuntu OS

To try Shim6, two computers running the Shim6 enabled kernel are required. At least one of these should have 2 or more network interfaces. In order to try Shim6, all interfaces must hava valid IPv6 addresses. These can be either router assigned, where the hosts in question are connected to an IPv6 enabled router, or manually assigned.

Note that most if not all the operations outlined in this section must be carried out as root, so open a terminal and type the following

ubuntu@ubuntu:~$ sudo bash
root@ubuntu:~#

The interfaces may be configured via the Ubuntu network configuration applet. In this case, for each interface, change the automatic configuration method from "dhcp" to "IPv4LL". The alternative is to edit the /etc/network/interfaces file directly (the network configuration applet is merely a front end to this file in any case).

The following two examples illustrate editing this file. These assume a host with 2 network interfaces eth0 and eth1, though the configuration should be modified and repeated for all interfaces on the host in question substituting the actual interface names (obtainable using ifconfig -a -s). In each case, add these to the contents of the file.

/etc/network/interfaces : Router assigned addresses
auto eth0 eth1
iface eth0 inet ipv4ll
iface eth1 inet ipv4ll
/etc/network/interfaces : Statically configured addresses
iface eth0 inet6 static
address 2002:c0a8:241:1::13
netmask 64
iface eth1 inet6 static
address 2002:c0a8:241:1::14
netmask 64

When the changes have been made, restart networking as follows

root@ubuntu:~# /etc/init.d/networking restart

Repeat the procedure as necessary on the second host

Note that these configurations are volatile, and will disappear when the computer is rebooted. To make the configurations persistent, it is necessary to install the OS, and then configure it

Trying Shim6

Following the instructions in the previous section, you should now have 2 computers a and b. Let's assume a has 2 network interfaces a1, and a2, and b a single interface b1. To start Shim6, run the following commands:

Starting Shim6
root@ubuntu:~# modprobe shim6
root@ubuntu:~# modprobe shim6_pkt_listener
root@ubuntu:~# cgad
root@ubuntu:~# shim6d

To test Shim6 generate some traffic on the connection. One way to do this is to connect to the remote host vi ssh, and run the top command (NB: sshd is not included on the live CD, so if running from a trial live CD you will need to install it using apt-get which will require configuration of /etc/resolv.conf and perhaps others - this is left as an exercise to the reader!). The state of Shim6 can be monitored with the shim6c command. The context can be viewed by typing "cat *" at the prompt, as shown below with sample output. Type "exit" to terminate the session

Initial Context
root@ubuntu:~# shim6c localhost
LinShim6-0.9-th>cat *
++++++++++++++++++++++++++++++
Information from user space daemon
----------------------------------

Global state : i1 sent
local context tag : 3bc63a2ca7c9
peer context tag : 0
Peer locator list :
        2001:770:25:88:250:c2ff:fe07:92d9
Local locator list :
        2001:770:25:6:24f5:dfc7:2dcc:dd2d (CGA)
        2001:770:25:6:3c95:4699:7863:6d3b (CGA)
Current local locator : 2001:770:25:6:3c95:4699:7863:6d3b
Current peer locator : 2001:770:25:88:250:c2ff:fe07:92d9
LinShim6-0.9-th>
            

The "Current local locator" shown above will correspond to one of the assigned IP addresses on the interfaces. Determine which one, then disable it by eg:

root@ubuntu:~# ifconfig eth0 down

After a period of time (10-15 seconds generally), Shim6 will attempt to find another path and send traffic along that while the application continues. Sample shim6c output is shown below:

Context following reap
LinShim6-0.9-th>cat *
++++++++++++++++++++++++++++++
Information from user space daemon
----------------------------------

Global state : i1 sent
local context tag : 3bc63a2ca7c9
peer context tag : 0
Peer locator list :
        2001:770:25:88:250:c2ff:fe07:92d9
Local locator list :
        2001:770:25:6:24f5:dfc7:2dcc:dd2d (CGA)
        2001:770:25:6:3c95:4699:7863:6d3b (CGA)
Current local locator : 2001:770:20:2:24f5:dfc7:2dcc:dd2d
Current peer locator : 2001:770:25:88:250:c2ff:fe07:92d9
LinShim6-0.9-th>
            

Links

Shim6 home page
LinShim6 - Sébastien Barré's implementation of Shim6 on the Linux kernel
TSSG - Telecommunication Systems And Software Group at Waterford Institute of Technology
WIT - Waterford Institute of Technology

Contact

Warranty

This website and all information, products and services on it are provided on an "as is" basis, without warranty of any kind, either express or implied. The software on this site is not recognized, supported or sponsored in any way by Ubuntu and Canonical. This means that this is not an official Ubuntu project. Your use of this website is at your own risk. TSSG, WIT and Canonical Ltd. disclaim all warranties, express or implied, including without limitation, warranties of merchantability and fitness for a particular purpose.

TSSG, WIT and Canonical Ltd. disclaim liability for any direct, indirect, incidental, special, consequential, exemplary, punitive or other damages, or lost profits, that may result directly or indirectly from the use of this website and any material that is downloaded or obtained through the use of this website.

This includes, without limitation, any damage to computer systems, hardware or software, loss of data, or any other performance failures, any errors, bugs, viruses or other defects that result from, or are associated with the use of this website.

Ubuntu and Canonical are registered trademarks of Canonical Ltd.