POX Openflow Controller Installation Screencast
POX Openflow Controller Installation: POX is a lightweight OpenFlow controller that is written completely in Python that is targeted for developers to spin up their own controllers. The nice thing about POX is if you want an OF controller spun up in as fast as you can type git clone etc, you got it.
It supports the same tools that NOX does but you dont have the C++ compilation dependencies that without maintenance get stale quickly as libraries evolve.
Install The POX OpenFlow Controller
Installation:
https://github.com/noxrepo/pox/downloads
Or clone from GitHub, even easier!
1 2 3 4 5 6 |
sudo apt-get install git git clone http://github.com/noxrepo/pox cd pox ./pox.py openflow.of_01 --address=<your ip> --port=6633 |
NOX> Yay!
https://github.com/noxrepo/pox/downloads
You have an OF controller running now ready to be attached to!
That said I haven’t tried this with real gear.The README looks like anything Openflow v1.0 is fair game though.
POX Openflow Controller Installation Video
NoxRepo.org → Brent Salisbury, the author of the Network Static blog recently posted a YouTube video showing how to get POX up and running on Ubuntu. I wanted to give out a shout of thanks for that, and throw in another little tip or two.I think people who aren’t at all familiar with git and the command line will find the blog post and videoparticularly useful.One thing I’ll point out is that this isn’t even as easy as it could be! If you want to avoid using git, you can just download a tarball or zipball. And you only need to specify arguments to the of_01 module (which handles communication with OpenFlow 1.0 switches) if you don’t like the defaults, which are to listen to connections on all interfaces at port 6633 (equivalent to putting openflow.of_01 –address=0.0.0.0 –port=6633 on the command line). – Murphy McCauley
Thanks Murphy, keep up the great work!
More OpenFlow Tutorials:
OpenFlow and OpenvSwitch Tutorial →
OpenFlow, OpenvSwitch and KVM SDN Lab Installation App →
Thanks for stopping by.
hi, i think you have put the wrong screencast. I have read from github, why i need to run ./pox.py openflow.of_01 –address= –port=6633? is this command just use to assign my ip to the controller? Can i just run ./pox.py forwarding.l2_learning without ./pox.py openflow.of_01 –address= –port=6633? Hope to hear from you soon. Thank you!
Hi, i have a problem on installing the Nox as shown in video above. While i’m installing the nox until ../configure it show that i have 2.0.4 version of swig but the nox just required 1.3.0 or later. The statement as below:
checking for SWIG version… 2.0.4
configure: WARNING: SWIG version >= 1.3.0 is required. You have 2.0.4. You should look at http://www.swig.org
configure: error: When configured with python, NOX requires swig 1.3.0 or later to be installed
So what should i proceed on this? Hope to hear your new soon. Thanks…
Hi guys, Someone else mentioned Swig was out of date after a repo update. Guess I would back off if you needed NOX running. Surprised it isn’t being maintained but I am sure it is peoples hobby and not job. I am liking Java controllers for testing at the moment for the cross platform ease and no worries about dependancies. That said would you run it in production? lol who knows yet the jury is out. Will try an updated NOX install if you would send me what distro you are using.
Rebecca you sure can specify any port you want. I think I got used to running on 6633 and kept it. I think that was the default in Beacon and was too lazy to reconfigure switches to a different port.
Cya!
hello. video is dead
Hi Ashkan, I double checked and it seems to be playing ok. Here is the direct link if that helps. http://www.youtube.com/watch?v=H0UPYZg9I6A
THanks,
-Brent
Hi,
I am trying to implement a live migration too. And I am stuck in flow table things. Can i have your email please? I do need some help. 🙂
Hi,
I am trying to implement a really basic live migration of a virtual network with Openflow. I need to copy the current state of the switch(most importantly, the flow table) to the controller. The controller can then insert the same flow onto the new switch. However, I am not able to find any messages or functions that convey all the fields to the controller. Can you shed some light on this? Am I missing something?