Skip navigation.
Home
A virtual network infrastructure
PlanetLab logo
Powered by PlanetLab

Trellis Developer Guide

Here are some basic instructions on how to set up a MyVINI (running Trellis) from MyPLC 4.2, and on compiling the Trellis code from source.


Bringing up a MyVINI

Trellis nodes are just PlanetLab nodes that run a different kernel and tools, so the recommended procedure is to fully set up MyPLC and then re-install the nodes with the Trellis software as follows:

  1. Install a box with Fedora 8. This will be your MyVINI Central.
  2. Install the myplc-native RPM and all dependencies. The 4.2 release is still in beta, so the best bet is probably to grab the latest 4.2 Release Candidate (RC) from the nightly build server. You can do this using yum by adding something like this to /etc/yum.repos.d:
    [PlanetLab]
    name=PlanetLab 4.2 build, Release Candidate 17, Fedora 8
    baseurl=http://build.planet-lab.org/planetlab/f8/planetlab-f8-linux32-4.2-rc17/RPMS/
    enabled=1
    gpgcheck=0
    
  3. Bring up your MyPLC installation and add sites and nodes. The MyPLC User's Guide will help with this, though it is a bit out-of-date. For example, note that the myplc-native package doesn't run in a chroot.

  4. Replace the bootstrapfs tarball. New nodes are installed with the software in this tarball, which is found in /var/www/html/boot/bootstrapfs-planetlab-i386.tar.bz2. You can replace this with the VINI Trellis tarball, which should be reasonably up-to-date.
  5. Update the nodes with the latest Trellis software and tools. The latest Trellis-specific packages can be found here.
  6. Reinstall the nodes and they should come up running Trellis. Now you should be able to follow the instructions in the Trellis v0.1 Power User Guide to create topologies.


Compiling Trellis from source

All of the Trellis source code is available on the PlanetLab SVN server. To build a Trellis node, you'll need a new kernel and a modified iproute tool for configuring EGRE tunnels. All the other software run by the node comes from standard F8 or PlanetLab packages.

To build the Trellis kernel RPM, run the following on a Fedora 8 box (e.g., your MyVINI Central):

# svn co https://svn.planet-lab.org/svn/linux-2.6/branches/trellis/ trellis
# cd trellis
# make rpm

The RPM will be placed in the i686 subdirectory.

To build the iproute2 RPM:

# svn co https://svn.planet-lab.org/svn/iproute2/branches/trellis/ iproute-2.6.16
# cd iproute-2.6.16
# make rpm

The RPM can be found in the usual place (e.g., /usr/src/redhat/RPMS/i386/).


Enabling Topology Creation for a Slice

In order to create a topology for a slice, it is necessary to set the following slice attributes.

  • Type vsys, value setup-link
  • Type vsys, value setup-nat
  • Type capabilities, value CAP_NET_ADMIN