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