Install¶
This guide is for installing on Ubuntu.
Pre-Work¶
Ensure packages are up-to-date¶
sudo apt-get update
sudo apt-get upgrade
Install Python pip¶
sudo apt-get install python-pip
Install git¶
Install git and git-flow for software version control:
sudo apt-get install git git-flow
Install Ryu OpenFlow Controller¶
Ryu is the OpenFlow Software-Defined Networking (SDN) controller application that handles communications with the switch:
sudo pip install ryu
Install Packages Required by nmeta¶
Install YAML¶
Install Python YAML (“YAML Ain’t Markup Language”) for parsing config and policy files:
sudo apt-get install python-yaml
Install simplejson¶
sudo pip install simplejson
Install coloredlogs¶
Install coloredlogs to improve readability of terminal logs by colour-coding:
sudo pip install coloredlogs
TBD¶
mongodb + pymongo
Run nmeta¶
cd
cd ryu
PYTHONPATH=. ./bin/ryu-manager ../nmeta/nmeta/nmeta.py
Aliases¶
Aliases can be used to make it easier to run common commands. To add the aliases, edit the .bash_aliases file in your home directory:
cd
sudo vi .bash_aliases
Paste in the following:
# Run nmeta:
alias nm="cd; cd ryu; PYTHONPATH=. ./bin/ryu-manager ../nmeta/nmeta/nmeta.py"
#
# Retrieve nmeta network metadata:
alias idmac="sudo python nmeta/misc/jsonpretty.py http://127.0.0.1:8080/nmeta/identity/mac/"
alias idip="sudo python nmeta/misc/jsonpretty.py http://127.0.0.1:8080/nmeta/identity/ip/"
alias idsvc="sudo python nmeta/misc/jsonpretty.py http://127.0.0.1:8080/nmeta/identity/service/"
alias idsys="sudo python nmeta/misc/jsonpretty.py http://127.0.0.1:8080/nmeta/identity/systemtable/"
alias idnic="sudo python nmeta/misc/jsonpretty.py http://127.0.0.1:8080/nmeta/identity/nictable/"