Hi!

Some thoughts inline:



1. Following the build and installation instructions in noxrepo.org <http://noxrepo.org>'s manual results in a large number of 'make check' and './nox_core tests' errors. I have tried building with the git files on two different machines running Ubuntu and Xubuntu 9.04 with the same results. These are clean installs of X/Ubuntu and as far as I can tell all of the dependencies listed are installed and up to date with the Ubuntu repositories. I have attached the './nox_core tests' output, but most of the errors are of the following form:

*ImportError: Import by filename is not supported.
../../../../../src/nox/netapps/tests/tests.cc(115): fatal error in "nox.netapps.tests.pyunittests.storage_test.testAddthenPutWrongTable": Unable to import twisted.trial.reporter.

All of these errors seem to mention Twisted, but I have ver. 8.2.0-2 of python-twisted installed. I have tried running the installation commands and 'make check' from root without any changes. Any ideas as to where I am going wrong? I can provide more debug output if necessary.


This sounds like a broken or incompatible twisted install to me. One way to double check whether twisted is working is to try to try to access it from the python command line from within Nox. Here's what it looks like on my system:


cas...@badwater:~/nox/noxcore/build/src$ ./nox_core pyloop
NOX 0.5.0~full~beta (nox_core), compiled Jun 22 2009 10:52:59
Compiled with OpenFlow 0x97 (exp)
Python 2.5.2 (r252:60911, Jan  4 2009, 18:00:02)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import twisted.trial.reporter
>>>
2. Despite the above errors, I am able to connect my NOX controller to an external OpenFlow switch using './nox_core -i -v ptcp:6633 pyswitch.' However, the monitorsui and switchstatsws modules mentioned in the 'Setting Up a Virtual Testing Environment' tutorial return 'description not found' errors. Could these issues be related to the 'make check' errors, and what are these modules used for?

Are you pulling directly from git? Or from a tarball?


3. Although I can use nox_core to run a learning switch (pyswitch) on my OpenFlow box, I have yet to come across the ability to modify the flow table or manually add rules or entries as discussed in the OpenFlow whitepaper. Is there a specific NOX module that provides that ability, perhaps through the webserver functionality?


There are a number of options here. If you look through the pyswitch source code you'll see that it modifies the flow table for each new flow:

(e.g.:   inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT,
                                      openflow.OFP_FLOW_PERMANENT, actions,
                                      bufid, openflow.OFP_DEFAULT_PRIORITY,
                                      inport, buf))

Much of the API for accessing openflow, getting flow-table statistics, and manipulating the flow table can be found at nox/lib/core.py (which has some marginal documentation).

You can do the same manipulations from C++ (see src/nox/coreapps/switch/).

Regarding webservices, these are generally reserved for higher level functions like reporting topology, address bindings, statistics etc. and not for direct flow-table management.

I hope this all makes sense.
.martin

Thank you very much for any and all assistance you can provide. I look forward to exploring the full potential of NOX/OpenFlow!

Regards,
Bradley Collins
Clemson University
------------------------------------------------------------------------

_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


--
Martin Casado
CTO, Nicira Networks
650-776-1457 (m)




_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to