Shim6 Enabled Ubuntu Live Image
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.
The following are available to download
- Shim6 enabled live image. The image contains a fully bootable Ubuntu live CD with a Shim6 enabled kernel
- Patched kernel source. Linux kernel 2.6.24 patched with Shim6, squashfs, and unionfs
- Shim6 userspace tools
- Download a test file from a shim6 enabled server here (A recent episode of Amateurlogic.TV). The second link is provided by The Hamilton Institute (thanks Dave) via HEAnet.
The Shim6 implementation used is Sébastien Barré's LinShim6. The latest version of which is always available at the LinShim6 home page.
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
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.
iface eth0 inet ipv4ll
iface eth1 inet ipv4ll
When the changes have been made, restart networking as follows
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
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:
root@ubuntu:~# modprobe shim6_pkt_listener
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
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:
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:
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>
LinksShim6 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
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.