Re: [nox-dev] NOX 0.4.0
Thank you for you help. I will try to send a mail and install the instruction athttps://github.com/bigswitch/snac/wiki/ -[ 받은 메일 내용 ]-- 제목 : Re: [nox-dev] NOX 0.4.0 날짜 : 2011년 2월 07일 월요일, 17시 22분 36초 +0900 보낸이 :"James \"Murphy\" McCauley" jam...@nau.edu 받는이 :Min-Hyup KANG kang-min-h...@hanmail.net I don't know that much about SNAC. I believe more SNAC discussion takes place on the openflow-discuss mailing list than here, so you might have more luck there than on the nox mailing list. It looks like your main problems may just be with the packaged versions of SNAC, and you may have better luck building from source. SNAC maintains their own fork of an old NOX. You might try the instructions at https://github.com/bigswitch/snac/wiki/ . -- Murphy P.S., I notice you dropped the CC to the mailing list. We usually try to keep discussions on the list if possible so that everyone can help and everyone can benefit. :) On Mon, 2011-02-07 at 17:03 +0900, Min-Hyup KANG wrote: Thank you for your information. so, My test-bed is below Pronto 3290(ETH1:192.168.2.1)--(eth1:192.168.2.2)Controller(eth0)-INTERNET (Indigo-beta-4) (NOX, FlowVisor, SNAC)(Ubuntu server 10.10) so, I already installed NOX(0.6.0), FlowVisor, Indigo firmware. During installing SNAC, I am facing some problem. There are installation step in http://www.openflowswitch.org/wp/snac/ apt-get install openssl libboost-test1.34.1 libboost-filesystem1.34.1 \ libboost-serialization1.34.1 libxerces-c28 python2.5 python-twisted \ python-simplejson python-mako python-openssl tmpreaper \ python-sphinx libldap2-dev but Now, I can not use libboost1.34.1 and python2.5 root@ofc:/opt/nox/snac_packages# apt-get install libboost-test1.34.1 Reading package lists... Done Building dependency tree Reading state information... Done Package libboost-test1.34.1 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'libboost-test1.34.1' has no installation candidate so, I replace 1.42.0 and python2.6 and then I try to install 1.0 SNAC. root@ofc:/opt/nox/snac_packages# dpkg -i *.deb Selecting previously deselected package noxcore. (Reading database ... 73358 files and directories currently installed.) Unpacking noxcore (from noxcore_0.4.0~beta_amd64.deb) ... Selecting previously deselected package nox-dbg. Unpacking nox-dbg (from nox-dbg_0.4.0~beta_amd64.deb) ... Selecting previously deselected package noxext. Unpacking noxext (from noxext_0.4.0~beta_amd64.deb) ... Selecting previously deselected package nox-monitor. Unpacking nox-monitor (from nox-monitor_0.4.0~beta_amd64.deb) ... Selecting previously deselected package openflow-common. Unpacking openflow-common (from openflow-common_0.8.9-rev4_amd64.deb) ... Selecting previously deselected package openflow-pki. Unpacking openflow-pki (from openflow-pki_0.8.9-rev4_all.deb) ... Selecting previously deselected package snacdocs. Unpacking snacdocs (from snacdocs_0.4.0~beta_amd64.deb) ... dpkg: dependency problems prevent configuration of noxcore: noxcore depends on libboost-filesystem1.34.1 (= 1.34.1-2.1); however: Package libboost-filesystem1.34.1 is not installed. noxcore depends on libboost-serialization1.34.1 (= 1.34.1-2.1); however: Package libboost-serialization1.34.1 is not installed. noxcore depends on libboost-test1.34.1 (= 1.34.1-2.1); however: Package libboost-test1.34.1 is not installed. noxcore depends on python2.5 (=
Re: [nox-dev] Error in using Nox controller
Hi Murphy, Thanks a lot. After installing zope, I could set the switch to self learning mode loading the pyswitch module. nox_core -i ptcp: pyswitch NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 7 2011 08:32:49 Compiled with OpenFlow 0x01 1|nox|WARN:Ignoring features reply received while in state 'receiving ofmp capability reply' 3|openflow|WARN:stream: connection closed by peer 4|nox|WARN:stream: connection closed by peer 6|nox|WARN:Ignoring features reply received while in state 'receiving ofmp capability reply' Now, as you suggested - I will try using SNAC or add/modify a module (pyswitch) to achieve following - setting flow tables in switch - obtaining first packet of a every new flow from the controller Regards, Vishal On Fri, Feb 4, 2011 at 6:43 PM, Murphy McCauley jam...@nau.edu wrote: Well, that actually appears to be getting components loading. I'm not sure why such a hack was necessary, but... whatever. Let's pretend it was a good idea, for the moment. If you don't care about Python, I suspect you may now be able to run configure with python disabled and rebuild and have it work. If you DO want Python... Twisted requires Zope Interface. You should install it. :) http://www.zope.org/Products/ZopeInterface -- Murphy On Feb 4, 2011, at 3:33 PM, Vishal wrote: Hi Murphy, Thanks a lot. This is the current error after changing the dso-deployer.cc. I had upgraded boost-filesystem as well as gcc version to compile nox earlier. ./nox_core NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 4 2011 16:36:41 Compiled with OpenFlow 0x01 1|nox|ERR:Cannot change the state of 'python' to INSTALLED: 'python' ran into an error: Could not import pyvigilreactor from nox.coreapps.pyrt.pyoxidereactor: Traceback (most recent call last): File ./nox/coreapps/pyrt/pyoxidereactor.py, line 23, in module import nox.lib.core File ./nox/lib/core.py, line 25, in module from util import * File ./nox/lib/util.py, line 31, in module from nox.lib.packet.ethernet import ethernet File ./nox/lib/packet/ethernet.py, line 26, in module from packet_base import packet_base File ./nox/lib/packet/packet_base.py, line 54, in module from twisted.python import log File /usr/lib/python2.5/site-packages/twisted/python/log.py, line 17, in module from zope.interface import Interface ImportError: No module named zope.interface Regards, Vishal On Fri, Feb 4, 2011 at 6:04 PM, Murphy McCauley jam...@nau.edu wrote: Ah, Fedora 8... most of us are using recent versions of Ubuntu or Debian, so these are where most of our experience is. Without twisted installed, it was just trying to build without python. Now it seems to be building with python but running into the same problem as before (but with one of the python components instead of switch). I think this might be a problem with boost filesystem. Are you using a recent version? It's a long shot, but you might also look in dso-deployer.cc around like 104 or so for the line: new DSO_component_context(kernel, directory.string(), *li); and change it to: new DSO_component_context(kernel, directory.string() + /, *li); I don't have incredibly high hopes that this will actually work, but... :) As for adding static flows or whatever... you could always use dpctl to manually install flows. As far as I know, there is no simple way to do this built into NOX (it's always possible someone added something while I wasn't looking...). In general, the NOX Way would be to write a component for this. Depending on exactly what you want, you can probably do this in a Python component (or by modifying pyswitch) very easily. Or maybe SNAC (a controller built on NOX -- http://snacsource.org/) would fit your needs? -- Murphy On Feb 4, 2011, at 2:27 PM, Vishal wrote: Hi Murphy, I am running on: Fedora 8 ( 2.6.24.4-64.fc8), gcc version 4.4.4, Python 2.5.1 Assuming that issue could be because of twisted/python, I installed twisted. Now, I am getting the following errors: *1)* $nox_core -i ptcp: NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 4 2011 15:18:51 Compiled with OpenFlow 0x01 1|nox|ERR:Application 'python' description not found. *2)* if I provide libdir on cmdline, I get following $nox_core --libdir=/usr/local/bin/ NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 4 2011 15:18:51 Compiled with OpenFlow 0x01 1|nox|ERR:Cannot change the state of 'python' to INSTALLED: 'python' ran into an error: Can't open a dynamic library: * '/usr/local/bin/nox/coreapps/pyrtpyrt.so:* cannot open shared object file: No such file or directory' or * '/usr/local/bin/nox/coreapps/pyrt.libs/pyrt.so:* cannot open shared object file: No such file or directory' The paths which it has chosen has a / missing
Re: [nox-dev] Error in using Nox controller
Glad to hear you've gotten it working. A couple thoughts: If the flows you want are known ahead of time, you can just hardcode them. If you want to extend NOX so that you can give it commands at runtime, you might look at the messenger component and the nox-send-cmd.py script. pyswitch already gets OFP_DEFAULT_MISS_SEND_LEN bytes of the first packet of every new flow (it uses the headers in it to actually create the flow). This is 128 bytes by default, but you can change it if you want the whole packet. Alternately, you can install a low priority rule with a bunch of wildcards and a forward-to-controller action to send everything that doesn't match a better rule to the controller. Good luck! -- Murphy On Feb 7, 2011, at 7:33 AM, Vishal wrote: Hi Murphy, Thanks a lot. After installing zope, I could set the switch to self learning mode loading the pyswitch module. nox_core -i ptcp: pyswitch NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 7 2011 08:32:49 Compiled with OpenFlow 0x01 1|nox|WARN:Ignoring features reply received while in state 'receiving ofmp capability reply' 3|openflow|WARN:stream: connection closed by peer 4|nox|WARN:stream: connection closed by peer 6|nox|WARN:Ignoring features reply received while in state 'receiving ofmp capability reply' Now, as you suggested - I will try using SNAC or add/modify a module (pyswitch) to achieve following - setting flow tables in switch - obtaining first packet of a every new flow from the controller Regards, Vishal On Fri, Feb 4, 2011 at 6:43 PM, Murphy McCauley jam...@nau.edu wrote: Well, that actually appears to be getting components loading. I'm not sure why such a hack was necessary, but... whatever. Let's pretend it was a good idea, for the moment. If you don't care about Python, I suspect you may now be able to run configure with python disabled and rebuild and have it work. If you DO want Python... Twisted requires Zope Interface. You should install it. :) http://www.zope.org/Products/ZopeInterface -- Murphy On Feb 4, 2011, at 3:33 PM, Vishal wrote: Hi Murphy, Thanks a lot. This is the current error after changing the dso-deployer.cc. I had upgraded boost-filesystem as well as gcc version to compile nox earlier. ./nox_core NOX 0.9.0(zaku)~full~beta (nox_core), compiled Feb 4 2011 16:36:41 Compiled with OpenFlow 0x01 1|nox|ERR:Cannot change the state of 'python' to INSTALLED: 'python' ran into an error: Could not import pyvigilreactor from nox.coreapps.pyrt.pyoxidereactor: Traceback (most recent call last): File ./nox/coreapps/pyrt/pyoxidereactor.py, line 23, in module import nox.lib.core File ./nox/lib/core.py, line 25, in module from util import * File ./nox/lib/util.py, line 31, in module from nox.lib.packet.ethernet import ethernet File ./nox/lib/packet/ethernet.py, line 26, in module from packet_base import packet_base File ./nox/lib/packet/packet_base.py, line 54, in module from twisted.python import log File /usr/lib/python2.5/site-packages/twisted/python/log.py, line 17, in module from zope.interface import Interface ImportError: No module named zope.interface Regards, Vishal On Fri, Feb 4, 2011 at 6:04 PM, Murphy McCauley jam...@nau.edu wrote: Ah, Fedora 8... most of us are using recent versions of Ubuntu or Debian, so these are where most of our experience is. Without twisted installed, it was just trying to build without python. Now it seems to be building with python but running into the same problem as before (but with one of the python components instead of switch). I think this might be a problem with boost filesystem. Are you using a recent version? It's a long shot, but you might also look in dso-deployer.cc around like 104 or so for the line: new DSO_component_context(kernel, directory.string(), *li); and change it to: new DSO_component_context(kernel, directory.string() + /, *li); I don't have incredibly high hopes that this will actually work, but... :) As for adding static flows or whatever... you could always use dpctl to manually install flows. As far as I know, there is no simple way to do this built into NOX (it's always possible someone added something while I wasn't looking...). In general, the NOX Way would be to write a component for this. Depending on exactly what you want, you can probably do this in a Python component (or by modifying pyswitch) very easily. Or maybe SNAC (a controller built on NOX -- http://snacsource.org/) would fit your needs? -- Murphy On Feb 4, 2011, at 2:27 PM, Vishal wrote: Hi Murphy, I am running on: Fedora 8 ( 2.6.24.4-64.fc8), gcc version 4.4.4, Python 2.5.1 Assuming that issue could be because of twisted/python,
[nox-dev] nox-gui.py only shows one flow entry
Hi All, I am using nox-destiny branch and NEC IP8800 openflow-enabled switch. nox-gui.py only shows one flow entry information even though there are more than one flow entries on the openflow switch. And I found that it is because the openflow switch replied each flow statistics in individual packet. In other word, if there are two flow entries on the openflow switch, then two flow statistics reply messages are sent to NOX. Instead of putting two flow entries information in one flow statistics reply messages, it caused nox-gui.py always showing one flow entry result. Also, it is the same situation on port statistics request. nox-gui.py only shows one port information. The openflow spec doesn't restrict the openflow switch to put the whole statistics in ONE reply message. Any suggestion? Thanks, MinChi ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] nox-gui.py only shows one flow entry
Hi MinChi, thanks for reporting this, we haven't actually had the chance to play around with a NEC switch and hadn't come across this so far. So just to clarify, when you request port stats, does the NEC switch send back one message per port? It looks like we should tweak it to multiplex the messages and parse/present them as one. On Mon, Feb 7, 2011 at 5:13 PM, MinChi Tseng min...@cht.com.tw wrote: Hi All, I am using *nox-destiny branch* and *NEC IP8800 openflow-enabled switch*. nox-gui.py only shows one flow entry information even though there are more than one flow entries on the openflow switch. And I found that it is because the openflow switch replied each flow statistics in individual packet. In other word, if there are two flow entries on the openflow switch, then two flow statistics reply messages are sent to NOX. Instead of putting two flow entries information in one flow statistics reply messages, it caused nox-gui.py always showing one flow entry result. Also, it is the same situation on port statistics request. nox-gui.py only shows one port information. The openflow spec doesn’t restrict the openflow switch to put the whole statistics in ONE reply message. Any suggestion? Thanks, MinChi ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] nox-gui.py only shows one flow entry
I pushed a fix to a related problem as 78949e67597709f9139ce8ac4790db75ea97bbdb (Fix switchstats with some switches). This accumulates table stats messages for the switchstats app. I think we just need to do the same thing for the GUI... -- Murphy On Feb 7, 2011, at 5:27 PM, Kyriakos Zarifis wrote: Hi MinChi, thanks for reporting this, we haven't actually had the chance to play around with a NEC switch and hadn't come across this so far. So just to clarify, when you request port stats, does the NEC switch send back one message per port? It looks like we should tweak it to multiplex the messages and parse/present them as one. On Mon, Feb 7, 2011 at 5:13 PM, MinChi Tseng min...@cht.com.tw wrote: Hi All, I am using nox-destiny branch and NEC IP8800 openflow-enabled switch. nox-gui.py only shows one flow entry information even though there are more than one flow entries on the openflow switch. And I found that it is because the openflow switch replied each flow statistics in individual packet. In other word, if there are two flow entries on the openflow switch, then two flow statistics reply messages are sent to NOX. Instead of putting two flow entries information in one flow statistics reply messages, it caused nox-gui.py always showing one flow entry result. Also, it is the same situation on port statistics request. nox-gui.py only shows one port information. The openflow spec doesn’t restrict the openflow switch to put the whole statistics in ONE reply message. Any suggestion? Thanks, MinChi ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] nox-gui.py only shows one flow entry
Hi Kyriakos, Yes, with port stats request, NEC switch also send back one message per port. Actually, NEC switch uses flags (in ofp_stats_reply struct) to indicate if there is a subsequent message to statistics reply message. When there is a subsequent message to Statistics Reply message, 1 is set to the flags of the Statics Reply message. Otherwise, 0 is set. Then, I am trying to modify monitoring component in nox-destiny branch to merge the messages and send them to nox-gui as one. MinChi From: Kyriakos Zarifis [mailto:kyr.zari...@gmail.com] Sent: Tuesday, February 08, 2011 9:28 AM To: MinChi Tseng Cc: nox-dev@noxrepo.org Subject: Re: [nox-dev] nox-gui.py only shows one flow entry Hi MinChi, thanks for reporting this, we haven't actually had the chance to play around with a NEC switch and hadn't come across this so far. So just to clarify, when you request port stats, does the NEC switch send back one message per port? It looks like we should tweak it to multiplex the messages and parse/present them as one. On Mon, Feb 7, 2011 at 5:13 PM, MinChi Tseng min...@cht.com.twmailto:min...@cht.com.tw wrote: Hi All, I am using nox-destiny branch and NEC IP8800 openflow-enabled switch. nox-gui.py only shows one flow entry information even though there are more than one flow entries on the openflow switch. And I found that it is because the openflow switch replied each flow statistics in individual packet. In other word, if there are two flow entries on the openflow switch, then two flow statistics reply messages are sent to NOX. Instead of putting two flow entries information in one flow statistics reply messages, it caused nox-gui.py always showing one flow entry result. Also, it is the same situation on port statistics request. nox-gui.py only shows one port information. The openflow spec doesn't restrict the openflow switch to put the whole statistics in ONE reply message. Any suggestion? Thanks, MinChi ___ nox-dev mailing list nox-dev@noxrepo.orgmailto:nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org