Name: PIF-AIR-IRI-archive
Owner: Open Networking Foundation & OpenSourceSDN Software
Description: Archive of the original PIF AIR-IRI experimental framework
Created: 2014-10-27 16:05:52.0
Updated: 2016-03-02 05:35:23.0
Pushed: 2016-03-02 05:04:21.0
Size: 348
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This repository contains code related to ongoing work under the aegis of Protocol Independent Forwarding (PIF).
See the Doxygen generated documentation, and in particular the AIR and IRI readme files (under Related Pages).
See the Detailed Getting Started below for installing dependencies.
AIR, which just stands for An Intermediate Representation, is a high level framework for describing network forwarding processing logic and composing that logic into a functioning switch.
AIR uses YAML for its specification, both for the metalanguage specification and for the specification of a switch instance.
Here is a high level diagram showing how AIR and IRI relate.
The following types are defined in air_meta.yml.
TODO: Only a few of these are documented currently.
IRI is a simple Python based implementation of the AIR framework. It accepts an instance of an AIR switch specification and instantiates a switch conforming to the logic described.
IRI uses the OFTest framework data plane implementation. This allows the switch to use ethernet, virtual ethernet, TCP sockets or UDP sockets as the port interfaces.
The port abstraction uses the Python VPI module which is distributed in conjunction with OFTest and BigCode infrastructure:
NOTE: pcap as a means of controlling veths is not yet working
For documentation:
For coverage:
This section assumes Ubuntu as the base install.
You should be able to check out repositories from github.
If you can't, first run: sudo apt-get install git
See github.com for getting a log in ID
Download the IR repo
git clone git@github.com:OpenNetworkingFoundation/air_iri.git
Run the install script to get the required packages:
cd air_iri/tools
sudo ./install_pkgs.sh
This should have installed the following
You may need to update the Python package if it is installed, but outdated.
Note: Support for Virtual Port Interfaces will be coming
You should see output like the following.
~/pkg/air_iri$ START_YML=l3.yml make start
sudo PYTHONPATH=.:submodules/oftest/src/python ./start.py -v l3.yml
INFO:root:Creating IRI switch instance
INFO:root:Starting dataplane
WARNING:dataplane:Missing pypcap, VLAN tests may fail. See README for installation instructions.
INFO:root:Adding port veth0
INFO:root:Adding port veth2
INFO:root:Adding port veth4
INFO:root:Adding port veth6
INFO:root:Starting IRI Switch instance ichiban
INFO:root:Opening AIR input file: l3.yml
INFO:root:Creating parser parser
... (more debug output)
INFO:root:IR switch ichiban running
This is an unorganized list of things to work on going forward