Version 7 (modified by Ben Newton, 11 years ago) (diff)


Tmix Software

This page describes how to install and use the Tmix software for generating Tmix input files from a network traffic trace.

Software Dependencies

The Tmix software is intended to be run on a modern Linux distribution. Tmix depends on the following packages:


Python 2.6 or better is required. This software is not Python 3 compatible.

This software requires a number of readily available software packages. Most modern Linux distributions should have these packages available via their native package management suite (eg. yum or apt).

Debian / Ubuntu

sudo apt-get install python-m2crypto python-dateutil \

python-openssl libxmlsec1 xmlsec1 \ libxmlsec1-openssl libxmlsec1-dev

RedHat / Fedora

sudo yum install m2crypto python-dateutil pyOpenSSL xmlsec1 \

xmlsec1-devel xmlsec1-openssl xmlsec1-openssl-devel


Please see InstallCentOs.

Mac OS X

Using homebrew

These instructions use homebrew.

To install:

brew install python This will install python at /usr/local/bin but the python that comes with Mac OS is at /usr/bin which takes precedent in the path, so modify your ~/.profile file and add this line:

export PATH=/usr/local/bin:$PATH

and then run source ~/.profile

Type which python to ensure that you are using the right one. brew install swig pip install M2Crypto brew install libxmlsec1 pip install python-dateutil brew install xmlsec1 pip install pyopenssl and assume that your python is at /usr/bin/python so you have two options: always invoke them using python, e.g. python src/ and python src/ modify the first line in each of the files to be #!/usr/local/bin/python If you want to test if your python can access the libraries you want, just start python in interactive mode and try to import the module (e.g. import M2Crypto).

MacPorts Instructions

These instructions have not recently been tested. You may need to edit your PATH or PYTHONPATH to ensure all installed modules are properly found.

You must have MacPorts already installed.

sudo port install py26-m2crypto py26-dateutil py26-openssl xmlsec cd /opt/local/lib sudo ln -s libxmlsec1-openssl.dylib In each terminal that you wish to run GCF, run this command first for xmlsec1:

export DYLD_LIBRARY_PATH=/opt/local/lib Windows / Cygwin

The necessary libraries are likely available but we have no experience running in this environment.

Test Run Here is a 4 step test install of this software. Full usage instructions for each step are in README.txt

Create gcf_config cd gcf cp gcf_config.sample gcf_config Optional: Edit gcf_config if you want to change settings from the default.

Note: for a test run edits are not needed. Do this only if you want to change settings from the defaults.

Create certificates and run the GENI Clearinghouse In terminal one: cd gcf python src/ python src/ Run the GENI Aggregate Manager in a second terminal: python src/ Run the gcf client test script in a third terminal window: python src/ You should see output like this:

$ python src/ INFO:gcf-test:CH Server is https://localhost:8000/. Using keyfile /home/jkarlin/dev/gcf/alice-key.pem, certfile /home/jkarlin/dev/gcf/alice-cert.pem INFO:gcf-test:AM Server is https://localhost:8001/. Using keyfile /home/jkarlin/dev/gcf/alice-key.pem, certfile /home/jkarlin/dev/gcf/alice-cert.pem Slice Creation SUCCESS: URN = urn:publicid:IDN+geni:gpo:gcf+slice+1468-659: Testing GetVersion... passed Testing ListResources... passed Testing CreateSliver... passed Testing SliverStatus... passed Testing ListResources... passed Testing RenewSliver... passed. (Result: False) Testing DeleteSliver... passed Testing ListResources... passed Second Slice URN = urn:publicid:IDN+geni:gpo:gcf+slice+065e-c63: Testing ListResources... passed Testing CreateSliver... passed Testing Shutdown... passed Next Steps If you ran in to issues or your output looks different

Confirm you followed the install instructions including dependencies See the Omni Troubleshooting page for more detailed help Look at the source for the reference aggregate manager to understand how the API and credentials are used, or to implement your own AM.

See README-omni.txt to try the Omni client for talking to multiple aggregate managers and control frameworks.

Try federating your test GCF aggregate manager with another clearinghouse. For details, see README.txt

Further reading is on the GENI Wiki, as listed in README.txt.