Reference Function and Dependencies¶
The reference Network Function here is not intended to be performant, but rather a proof of concept for evaluating basic behavior in the face of differing network conditions and flow inputs. The ultimate output of the project is a specification that we expect ICS vendors will use to implement the functionality in their own products.
The reference NF, test orchestration framework, and analysis tools are written in Python. Below we list both the software and other requirements for utilizing these tools.
Test Topology Builder (
To build the test topology using the
reserve.py script you will need a valid GENI credential in order to use
the VTS testbed employed. If you do not have GENI credentials you can find instructions for acquiring
credentials at the NSF GENI Portal.
Your environment will require the installation of the following python libraries:
- geni-lib (properly configured with your GENI credentials)
The default Vagrant installation of
geni-lib builds a 32-bit virtual machine whose base OS has conflicts
with the libraries required for operation of this experiment. You can use
virtualenv to build an
isolated environment on that VM to separate your use of this code from the base OS.
The topology builder will function with the libraries above, although it sets up an environment that will require that you link a Dropbox account with the VTS site you use, in order to automatically transfer the experiment data out of the isolated topology that VTS creates. You can easily do this using the documentation here.
Experiment Runner (
The experiment orchestration system does not require that you use a topology in the GENI environment, but the
experiment runner script provided here has weak dependencies on that topology. If you have an interest in setting
up the experiment topology on other resources and still using the
runexp.py script in your environment, please
contact UH Netlab and we can assist you.
The experiment runner script requires the following python libraries be installed:
Output Analysis (
The analysis script requires the following python libraries to be installed: