Re: [nox-dev] [Nox-dev] How to develop a new routing component in NOX?
Hi Giang, are you interested in building a component in python, or C++? Did you take a look at this page? (It has basic guidelines for both) http://noxrepo.org/noxwiki/index.php/Developing_in_NOX I would suggest looking at that, and then looking at the code of a simple example component (like, pyswitch, for python components) On Tue, Mar 6, 2012 at 10:13 AM, Giang Nguyen giangn...@gmail.com wrote: Hi all. I'm new membie in NOX. I have a project with Mininet , NOX and OF switch.I want to develop a new routing algorithm in NOX. But I can't know where to start. Could you help me how to start to develop new routing component in NOX, everybody? which information does relate to this component? from which component or directory i must import to this component? Hope all of you help me. Thank in advance! -- Giang Nguyen Electronic and Telecommunication Class-K52 Center for Training of Excellent Students Ha Noi University of Science and Technology Ha Noi, Viet Nam YM:giangnguyen_bk Mobile:(+84) 016646..4 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] nox-gui flowtracer problem
Resolved - patch will be pushed to destiny. Thanks wunyuan for pointing it out! On Wed, Feb 8, 2012 at 6:22 PM, wunyuan wuny...@nchc.narl.org.tw wrote: Dear Kyriakos Zarifis, In flow path, I keep client a and client b pinging each other. Then, I try that, but it still has not changed. I attach two picture to show it. The flowtrace1 is a graph after clicking trace button. The flowtrace2 is a graph after zooming in on the topology. 於 2012/2/8 下午 05:03, Kyriakos Zarifis 提到: I haven't used the flowtracer tool in a long time, but just a first guess (assuming that there is actually a flow setup on a path for the entry you are tracing): I've noticed that in some system the graphics don't refresh sometimes until you force them to refresh by, e.g. zooming in/out on the topology. Can you try that (just roll your mousewheel) and if anything changes? If that doesn't work, we can take the discussion offline and I can try to replicate your error on my machine. On Wed, Feb 8, 2012 at 12:36 AM, wunyuan wuny...@nchc.narl.org.twwrote: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab I had fixed ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' with 64 bit version ubuntu. First, I start NOX and configure a and b to ping each other. Also, I run the nox-gui.py. Now, I select one flow entry from the nox-gui panel on the left and click the Trace ! button but I can not see anything on the topology panel. What should I configure If i want to see flow on the topology panel? Thanks. Best regards, Wun-Yuan 於 2012/1/5 下午 03:07, wunyuan 提到: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab Firstly, I set a and b to ping each other. Secondly, I input ./nox_core -v -v -i ptcp:9550 routing lavi monitoring trackhost_pktin to run the NOX. and then start nox-gui. Thirdly, I click FlowTracer botton and then double click of1 node on nox-gui to show its flow entries. Finally, I highlight one entry and click Trace! botton. However,I cannot find any flows on nox-gui and I find one error message. this error message is as follows: File ~/nox/src/gui/views/flowtracer.py, line 95, in trace_flow value = int(value,16) ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' How could I fix it? -- === 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.tw === ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- === 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.tw === ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] DATABASE Network view (NOX)
On Tue, Feb 28, 2012 at 8:17 AM, marwen mechtri mechtri.mar...@gmail.comwrote: Hello, I would like to know if NOX use a database to store the network view. and where is it located. is it sqlite, or mysql database. the network view isn't stored in a database - rather, there are a few components that are responsible for creating the network view, and making it available to other components. This is done specifically by these components: Discoveryhttp://noxrepo.org/noxwiki/index.php/Discovery , Topology http://noxrepo.org/noxwiki/index.php/Topology, Authenticatorhttp://noxrepo.org/noxwiki/index.php/Authenticator . If you want to programmatically interact with the network view, you would use the API provided by these components. otherwise how can I interface with NOX in order to look at the network view If you want to just look at the network (and get some real time information, but not manage it programatically) you can use the GUIhttp://noxrepo.org/noxwiki/index.php/NOX_GUI (currently only in the branch destiny) Thanks in advance, Best Regards, Marouen ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] NOX error
Is there a meta.json in the build tree? nox/build/src/nox/coreapps/examples/ ? (not in nox/src/nox/coreapps/examples/) if it is there, maybe its contents have changed and are in wrong format - feel free to paste it On Sat, Feb 18, 2012 at 7:47 AM, Baraki Halefom bara...@gmail.com wrote: anyone familiar with the following error. 2|pyrt|ERR:Can't load and parse 'nox/coreapps/examples/meta.json the meta.json file has all the required dependency lists -- Baraki H. Abay Department of Math and Computer science North Carolina Central University Durham, 27707 NC ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] g++ internal when compiling
Murphy pointed out that this could be because of the -j 5 flag. This flag make to run 5 jobs at a time. Indeed, from the wiki: The *../configure* step checks for required dependencies. 'make -j 5' should work on a system with 1 GB of RAM; 'make -j' may work on systems with more RAM. I was indeed compiling in a vm with 1gb ram, and running make without '-j 5' worked. It looks like 'authenticator' and 'user_event_log' are the most memory intensive components to compile. Or there's a breaking change with a more recent version of g++. Or a combination : Anyway, give that a try, I'm guessing that this will work for you too. On Wed, Feb 15, 2012 at 2:33 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: I couldn't look at it at the time, so I ended up simply not compiling the offending components.. I am planning to take a look at some point soon (but if you do it first feel free to share: ) On Wed, Feb 15, 2012 at 2:15 PM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Did you manage to fix it? If so, do you remember what you did? Thanks, On Wed, Feb 15, 2012 at 3:00 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: I actually came across this too last week when compiling destiny on Ubuntu 11.10. It also happened for user_event_log and I think maybe one more component. On Wed, Feb 15, 2012 at 9:58 AM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Hi guys, I'm trying to compile the Destiny branch on Ubuntu 10.04 with GCC 4.4 but I keep getting the following error: g++: Internal error: Killed (program cc1plus) Please submit a full bug report. See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions. make[9]: *** [authenticator_la-authenticator_util.lo] Error 1 make[9]: *** Waiting for unfinished jobs make[9]: Leaving directory `/home/user/src/nox/build/src/nox/netapps/authenticator' make[8]: *** [all] Error 2 Can someone tell me what's wrong? Configure finishes fine, should I be using a different GCC version? Thanks, Basu -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] monitoring module not available in my nox repository
That's right, 'monitoring' is only in destiny. git checkout -b destiny origin/destiny to create a new local destiny branch and switch to it (from herehttp://noxrepo.org/noxwiki/index.php/Installation/DebianUbuntu ) On Thu, Feb 16, 2012 at 9:22 AM, Aaron Rosen aro...@clemson.edu wrote: I know it's definitely in destiny if you switch branches to that. Aaron On Thu, Feb 16, 2012 at 12:02 PM, Baraki Halefom bara...@gmail.com wrote: hello every one, I am trying to gather the flow statistics info from switches in my network through my Component. I tried to import the 'monitoring' module to use it send flow statistics request as follows. from nox.netapps.monitoring.monitoring import Monitoring and got the following error ImportError: No module named monitoring.monitoring isn't the monitoring module available in the zaku version? what else could it be? similarly it gives me similar error when i import the pyopenflow (import nox.lib.pyopenflow as of) model. when i check the directory list both modules are not available. Moreover, inst.register_for_flow_stats_in(my_flow_in_handler) gives me the following error Attribute erro: myswitch instance has no attribute 'register_for_flow_stats_in' where 'myswitch' is my custom component thanks in advance -- Baraki H. Abay Department of Math and Computer science North Carolina Central University Durham, 27707 NC ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Aaron O. Rosen Masters Student - Network Communication 306B Fluor Daniel ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Extending pytopology component
Hi Andrea, that sounds good. Yes, the .i file is the right place to make the extensions. Here's a tutorial that helped when I was looking into swig: http://www.swig.org/tutorial.html On Wed, Feb 15, 2012 at 3:27 AM, andrea simeoni andreasimeon...@gmail.comwrote: Hi guys, I need a certain amount of information by the Topology component. I'm working in python and the pytopology component exposes only a subset of the whole Topology functionalities. To this aim I was thinking to extend pytopology with proper functions. Since I've not SWIG experience could someone explain me where I have to put modifications? I was thinking to extend the pytopology.i file. Is it the correct approach? Best regards -- Andrea Simeoni ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] g++ internal when compiling
I couldn't look at it at the time, so I ended up simply not compiling the offending components.. I am planning to take a look at some point soon (but if you do it first feel free to share: ) On Wed, Feb 15, 2012 at 2:15 PM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Did you manage to fix it? If so, do you remember what you did? Thanks, On Wed, Feb 15, 2012 at 3:00 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: I actually came across this too last week when compiling destiny on Ubuntu 11.10. It also happened for user_event_log and I think maybe one more component. On Wed, Feb 15, 2012 at 9:58 AM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Hi guys, I'm trying to compile the Destiny branch on Ubuntu 10.04 with GCC 4.4 but I keep getting the following error: g++: Internal error: Killed (program cc1plus) Please submit a full bug report. See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions. make[9]: *** [authenticator_la-authenticator_util.lo] Error 1 make[9]: *** Waiting for unfinished jobs make[9]: Leaving directory `/home/user/src/nox/build/src/nox/netapps/authenticator' make[8]: *** [all] Error 2 Can someone tell me what's wrong? Configure finishes fine, should I be using a different GCC version? Thanks, Basu -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] nox-gui flowtracer problem
Aha, try ./nox_core -v -v -i ptcp: monitoring flowtracer (btw you'll need -v -v to get the log messages to show on your GUI, that's why your log panel is empty) On Thu, Feb 9, 2012 at 4:06 PM, wunyuan wuny...@nchc.narl.org.tw wrote: ha, I don't run flowtracer component. I only run ./nox_core -i ptcp: switch lavitest_showflow or ./nox_core -i ptcp: switch lavi. 於 2012/2/9 下午 09:53, Kyriakos Zarifis 提到: Ah, the first question I should have asked: Are you running the flowtracer component? ./nox_core blah blah flowtracer On Wed, Feb 8, 2012 at 6:22 PM, wunyuan wuny...@nchc.narl.org.tw wrote: Dear Kyriakos Zarifis, In flow path, I keep client a and client b pinging each other. Then, I try that, but it still has not changed. I attach two picture to show it. The flowtrace1 is a graph after clicking trace button. The flowtrace2 is a graph after zooming in on the topology. 於 2012/2/8 下午 05:03, Kyriakos Zarifis 提到: I haven't used the flowtracer tool in a long time, but just a first guess (assuming that there is actually a flow setup on a path for the entry you are tracing): I've noticed that in some system the graphics don't refresh sometimes until you force them to refresh by, e.g. zooming in/out on the topology. Can you try that (just roll your mousewheel) and if anything changes? If that doesn't work, we can take the discussion offline and I can try to replicate your error on my machine. On Wed, Feb 8, 2012 at 12:36 AM, wunyuan wuny...@nchc.narl.org.twwrote: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab I had fixed ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' with 64 bit version ubuntu. First, I start NOX and configure a and b to ping each other. Also, I run the nox-gui.py. Now, I select one flow entry from the nox-gui panel on the left and click the Trace ! button but I can not see anything on the topology panel. What should I configure If i want to see flow on the topology panel? Thanks. Best regards, Wun-Yuan 於 2012/1/5 下午 03:07, wunyuan 提到: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab Firstly, I set a and b to ping each other. Secondly, I input ./nox_core -v -v -i ptcp:9550 routing lavi monitoring trackhost_pktin to run the NOX. and then start nox-gui. Thirdly, I click FlowTracer botton and then double click of1 node on nox-gui to show its flow entries. Finally, I highlight one entry and click Trace! botton. However,I cannot find any flows on nox-gui and I find one error message. this error message is as follows: File ~/nox/src/gui/views/flowtracer.py, line 95, in trace_flow value = int(value,16) ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' How could I fix it? -- === 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.tw === ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- === 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.tw === -- === 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.tw === ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] nox-gui flowtracer problem
I haven't used the flowtracer tool in a long time, but just a first guess (assuming that there is actually a flow setup on a path for the entry you are tracing): I've noticed that in some system the graphics don't refresh sometimes until you force them to refresh by, e.g. zooming in/out on the topology. Can you try that (just roll your mousewheel) and if anything changes? If that doesn't work, we can take the discussion offline and I can try to replicate your error on my machine. On Wed, Feb 8, 2012 at 12:36 AM, wunyuan wuny...@nchc.narl.org.tw wrote: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab I had fixed ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' with 64 bit version ubuntu. First, I start NOX and configure a and b to ping each other. Also, I run the nox-gui.py. Now, I select one flow entry from the nox-gui panel on the left and click the Trace ! button but I can not see anything on the topology panel. What should I configure If i want to see flow on the topology panel? Thanks. Best regards, Wun-Yuan 於 2012/1/5 下午 03:07, wunyuan 提到: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab Firstly, I set a and b to ping each other. Secondly, I input ./nox_core -v -v -i ptcp:9550 routing lavi monitoring trackhost_pktin to run the NOX. and then start nox-gui. Thirdly, I click FlowTracer botton and then double click of1 node on nox-gui to show its flow entries. Finally, I highlight one entry and click Trace! botton. However,I cannot find any flows on nox-gui and I find one error message. this error message is as follows: File ~/nox/src/gui/views/**flowtracer.py, line 95, in trace_flow value = int(value,16) ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' How could I fix it? -- ==**==**=== 網路與資安組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.**tw wuny...@nchc.narl.org.tw ==**==**=== __**_ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/**listinfo/nox-devhttp://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Switch Statistics
the component 'monitoring' does that - I'd suggest taking a look there On Wed, Feb 1, 2012 at 1:31 PM, Siddharth Sharma sid.sharma...@gmail.comwrote: HI, Can anyone please tell me how to get SWITCH STATISTICS (for ex. flow statistics, port statistics, etc). I am trying to send the request from NOX Controller to OpenFlow Switch to get the statistics, but not able to do that. If possible, can anyone please provide with the sample code. Thanks Siddharth ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Account on nox wiki
Hi Maciej, thanks for your contribution! I will contact you with the details of your account. On Wed, Jan 18, 2012 at 2:11 AM, Maciej Gałkiewicz maciej.galkiew...@gmail.com wrote: Hello I would like to help with documentation on nox wiki. I have found some links which does not work anymore or do not point to appropriate destination. The next thing is installation manual. It does not work for debian wheezy and I have experienced some problems with debian squeeze too. I would be happy to help. regards Maciej ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] NOX on IRC
Great to see some activity on IRC already : On Tue, Jan 17, 2012 at 6:15 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: The nox-dev mailing list is still the best way discuss NOX or ask for help, but there is now also a IRC channel where NOX users and developers can hangout for a more real-time type of interaction. Join us on #noxcontroller on freenode servers. (For instant web-based access: http://webchat.freenode.net/ ) ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] NOX on IRC
The nox-dev mailing list is still the best way discuss NOX or ask for help, but there is now also a IRC channel where NOX users and developers can hangout for a more real-time type of interaction. Join us on #noxcontroller on freenode servers. (For instant web-based access: http://webchat.freenode.net/ ) ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] 'Monitoring' component status
Hi Joe, That's right, monitoring periodically queries switches for statistics and exposes that info. The interface is probably not going to chance any time soon. It has been used and tested to some extent, and has been proven ok for what it used so far. It exposes information like table_stats, port_stats, aggregate_stats I'm not aware of scripts that demonstrate its usage, but the GUI interacts with monitoring to display some switch statistics etc. So if you wanted to delve into the code there you could find an example of how to use the API. (It's probably more complicated than you need since, 'messenger' is used between the GUI and monitoring for their communication. You probably don't care about interfacing with an external program like that) On Tue, Jan 17, 2012 at 5:58 PM, Joe Stringer joestrin...@google.comwrote: Hi all, I'm currently writing an SNMP subagent to interface with NOX to fetch openflow statistics from NOX. To this end, I was thinking of fetching the statistics via JSON messages. I noticed that netapps/monitoring in the destiny branch caches stats about connected datapaths, and it looks like it could be useful for my project. What is the current status of the monitoring component in the destiny branch? - Is the interface likely to change much? - What information does it expose? - Are there any scripts like src/scripts/nox-console.py that have examples of how to structure messages to get certain types of replies? Cheers, Joe ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] What is the main difference between “route” and “routing” in NOX
Here's an overview of the routing component http://noxrepo.org/noxwiki/index.php/Routing On Mon, Jan 16, 2012 at 2:41 AM, 王楠 wangnan8...@gmail.com wrote: Hi, I want to do some study on the forwarding capability within NOX. I notice there are two components “route” and “routing” in folder netapps as if they are doing the similar job . could someone explain what is the main difference between “route” and “routing”? Thank you. Mike wangnan8...@gmail.com ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Flow-mod error 8: Specified buffer does not exist.
Hi Sergio, if you don't care to send out the buffered packet that triggered the packet_in (or if, for example, you just want to install a flow proactively) using buffer_id=-1 I think should work. On Fri, Jan 13, 2012 at 8:09 AM, Sergio Jiménez Feijóo jjji...@gmail.comwrote: Hi Guys, I'm having trouble trying to add several flowmods to my OpenFlow switches. My application collects information from the network topology and calculates a (layer 2) route for every flow. Then it performs flow-mods in all the switches of the selected route in order to send the flow to its destination. I'm using as an example the coreapps/switch flowmod code. When my controller sends the flow-mod packets to the switches they respond with an error message (Specified buffer does not exist). My app worked nicely on a testbed of 6 Linksys WRT54GL with an OpenFlow capable firmware and NOX Zaku without FlowVisor. Now I'm using 5 NEC IP8800/S3640-24T2XW with NOX Destiny and FlowVisor and I'm experiencing this problem. Is the buffer_id really necessary? Can I add a flowmod without specifying any buffer_id? How can I avoid this error? I don't care about the packets that arrived before the flowmod being dropped. I just need to run a flowmod in several switches matching one single packet (the same one). I want all the switches to learn how to treat that type of packet all at the same time (I run a for loop in my code). Thank you for your help. __**_ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/**listinfo/nox-devhttp://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] nox-gui flowtracer problem
This seems to be a bug where the component was expecting a hex string, but the L in the end of the long int messes things. Thanks for reporting. What kind of switch are you using? For a temporary fix in your case, try replacing line 95 with: value = int(value[:-1],16) On Wed, Jan 4, 2012 at 11:07 PM, wunyuan wuny...@nchc.narl.org.tw wrote: Dear all, I build a testbed as follows: NOX / \ of1of2 /\ ab Firstly, I set a and b to ping each other. Secondly, I input ./nox_core -v -v -i ptcp:9550 routing lavi monitoring trackhost_pktin to run the NOX. and then start nox-gui. Thirdly, I click FlowTracer botton and then double click of1 node on nox-gui to show its flow entries. Finally, I highlight one entry and click Trace! botton. However,I cannot find any flows on nox-gui and I find one error message. this error message is as follows: File ~/nox/src/gui/views/**flowtracer.py, line 95, in trace_flow value = int(value,16) ValueError: invalid literal for int() with base 16: '0xe4115b1251b4L' How could I fix it? -- ==**==**=== 系統與網路技術組-黃文源(Wun-Yuan Huang) 財團法人國家實驗研究院 國家高速網路與計算中心南部事業群 National Center for High-Performance Computing South Region Office 台南縣台南科學園區南科三路28號 No.28, Nan-Ke 3rd. Rd., Science-based Industrial Park, Tainan 744, Taiwan, R.O.C. TEL:06-5050940 ext.751 FAX:06-5050945 E-Mail:wuny...@nchc.narl.org.**tw wuny...@nchc.narl.org.tw ==**==**=== __**_ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/**listinfo/nox-devhttp://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Nox on netkit
Did you try to install swig? something like apt-get install swig should do it On Fri, Dec 30, 2011 at 3:31 PM, Francesco Pocci francesco.po...@gmail.comwrote: Hi, I'm just trying to install Nox controller on a virtual machine created with netkit, with some problem. One of this is that i have this error: configure:error: when configured with python, NOX requires swig 1.3.0 or later to be installed At this point i google this problem and i have found no real fix for this issue. what can i do? regards F.P. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Matching aggregate stats responses to requests
Hi Shrutarhi, Destiny is definitely the recommended branch, that's right. just like you noticed, monitoring generates xids itself, and the epoch is specific to it. The epoch is just some variable (secs) defined on the top of the file. However it also increments the xids when an asynchronous user request occurs (e.g. when a user double-clicks on a switch on the gui to get it's current flow table). So the xid is incremented for each periodical or manual request. If I recall correctly, an earlier patch on destiny generalized this so that all requests (from any component) have their xid automatically generated and filled by NOX's packing library (unless you override them and manually assign one). This is definitely true for C++ components, but I think it has been exposed to the python side too (relevant patcheshttp://noxrepo.org/cgi-bin/gitweb.cgi?p=noxa=searchh=refs%2Fheads%2Fdestinyst=commits=+xid+ ) On Fri, Dec 9, 2011 at 10:31 AM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Hi Kyriakos, I've been looking through the monitoring app and figuring out how to use xids. It seems like you're using collection_epoch to generate new xids and collection_epoch is just a logical clock. However I couldn't tell when you are advancing the clock. Is this application specific or is there some rule for generating xids that I'm missing? Thanks, Basu On Fri, Dec 9, 2011 at 12:44 PM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Thank you, I just checked out the Destiny branch. From what I can tell Destiny seems to be the recommended branch for NOX development. Is that correct? On Thu, Dec 8, 2011 at 7:47 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: Ah, you're also looking at coreapps/examples/monitor.py I was referring to netapps/monitoring.py (you can find that in the destiny branch) (monitor.py is a much simpler, early monitoring component) On Thu, Dec 8, 2011 at 10:26 AM, Shrutarshi Basu ba...@cs.cornell.eduwrote: Thanks, it looks like I am working with an older version of NOX -- I can see a monitor.py app that does not seem to use the xid at all. I will try to upgrade and see what I can do. Will report back. Thanks, Basu On Wed, Dec 7, 2011 at 4:27 PM, Kyriakos Zarifis kyr.zari...@gmail.com wrote: Hi Shrutarshi, the field you should be looking at is the xid (transaction id). I don't remember the specifics right now - I think in Destiny it is automatically set (and returned?) and you can also set it when you send the request (that's what the monitoring module does) I can be more specific when I look at the code to refresh my memory, but this might help for now On Wed, Dec 7, 2011 at 12:29 PM, Shrutarshi Basu ba...@cs.cornell.edu wrote: If I send a bunch of aggregate stats requests for different flows, is there a way for the aggregate_stats_in handler to know which response it is being called on? I see that it gets the dpid, but what if I have multiple flows on the same dpid that I want information on? Thanks, Basu -- -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com -- because Computer Science is not about computers ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com -- because Computer Science is not about computers -- -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com -- because Computer Science is not about computers -- -- Shrutarshi Basu Basus.me The ByteBaker http://bytebaker.com -- because Computer Science is not about computers ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Component: hosttracker
Ah, ok. So I'm not sure exactly how the logic that detects if a host has been removed is implemented, as I didn't write this component. So I don't know when the delete message is sent for hosts. I could take a look and get back to you. The logic should be somewhere inside LAVI/hosttracker, and it might be something along the lines of if you haven't heard any traffic from host, remove it, or 'if you hear traffic from host X on port B, but X is registered on port A, remove it from A. (for example - what do *you* mean when you say when I remove the host? :). In a physical environment, this can mean turning the machine off, or unplugging its network cable, both of which events aren't easily detectable from the network's perspective) On Mon, Dec 5, 2011 at 10:25 PM, ztom switch@hotmail.com wrote: when you say the front-end, do you mean noxconsole? the GUI? GUI, nox-gui.py (you can take a look at the GUI to see how the message exchange happens and what they messages look like.. the code should be in topology.py) I know the process of msg exchange, back-end(jsonmsg)-view_interface(signal/slot)-GUI. But when I remove the host, nox(with LAVI component) will send a jsonmsg including node_type: host, command: delete. Actually, it doesn't, so I'm confused. -- Date: Mon, 5 Dec 2011 22:14:47 -0800 Subject: Re: [nox-dev] Component: hosttracker From: kyr.zari...@gmail.com To: switch@hotmail.com CC: nox-dev@noxrepo.org when you say the front-end, do you mean noxconsole? the GUI? (you can take a look at the GUI to see how the message exchange happens and what they messages look like.. the code should be in topology.py) On Mon, Dec 5, 2011 at 9:28 PM, ztom switch@hotmail.com wrote: Hi~ alls, I found a component named hosttracker with source code, and it can handle adding or removing of hosts. But when I run it with nox_core($ ./nox_core -v -i ptcp:6633 monitoring hosttracker), the front-end still can't receive the jsonmsg as {'node_type': 'host', 'command':'add/remove'}. What should i do??? --- thanks tom ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] FW: Help: LAVI and NOX's nox-gui.py
Hi, the hosts should appear when they talk to the network. Did you try generating some traffic? A simple ping should do it (btw, I think lavi is not required as an argument as IIRC it's a dependency of monitoring anyway) On Fri, Dec 2, 2011 at 1:21 AM, ztom switch@hotmail.com wrote: Hi~ alls, I used LAVI and nox-gui.py(another front-end as ENVI), and tested some cases with NOX and openvswitch, one switch links to one host, my cmd is $ ./nox_core -v -i ptcp:6633 monitoring pyswitch lavi , but there's no host icon and hs2sw link in nox-gui's view, just swicth icon. Could someone help me... --- thanks a lot ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] FW: Help: LAVI and NOX's nox-gui.py
Oh, also, there is one component that is responsible for tracking host traffic, and that's what feeds the host information to LAVI and eventually to the GUI I can't remember if it is there as a dependency, so you might need to run that manually. I think the name is trackhost_pktin (can't check right now unfortunately). So maybe try adding that too after monitoring and pyswitch ? On Fri, Dec 2, 2011 at 11:24 AM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: Hi, the hosts should appear when they talk to the network. Did you try generating some traffic? A simple ping should do it (btw, I think lavi is not required as an argument as IIRC it's a dependency of monitoring anyway) On Fri, Dec 2, 2011 at 1:21 AM, ztom switch@hotmail.com wrote: Hi~ alls, I used LAVI and nox-gui.py(another front-end as ENVI), and tested some cases with NOX and openvswitch, one switch links to one host, my cmd is $ ./nox_core -v -i ptcp:6633 monitoring pyswitch lavi , but there's no host icon and hs2sw link in nox-gui's view, just swicth icon. Could someone help me... --- thanks a lot ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Not able to send ARP Reply
Hello, How exactly did you figure out that the ARP is not received? Id try the following troubleshooting steps to see where the problem is: Did you try to use wireshark to see how far you ARP packet goes? Is it actually sent out the controller interface? (it probably is) Is it being received on the switch interface? (this might not be true, depending on how you constructed the ARP) If yes, is it properly formed? Can the switch process it and install an arp entry from it? (you could also paste the code where you construct/send the ARP) On Mon, Nov 14, 2011 at 5:05 AM, Harshil Anil Kumar Shah harshil_s...@infosys.com wrote: Hi, Currently, I am trying to send ARP Reply to my openflow switch from NOX-0.8. In the debug message it shows that ARP Reply is sent and also shows the packet information. But I am not able to receive it on my openflow switch. What can be the solution? ** ** Thanks in advance. ** ** *Regards,* *Harshil Shah,* Convergence Lab, Infosys Labs Infosys | Bangalore *Mob #** : +91 97428 87966**.* ** ** CAUTION - Disclaimer * This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS End of Disclaimer INFOSYS*** ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] can nox support two more controllers
Hi, NOX does not support multiple controller instances inherently. This means that there is no defined protocol for communication between controller instances or a way to distribute state between them. So the general answer is no. Depending on what you want to do exactly, the answer might be different: Theoretically, you can have different switches connect to different controllers, but the controllers will not know about each other's existence and wouldn't act as a single control entity. It would be like having 2 separate control domains and each controller would have a global view of their domain only, which is not very useful. (The statement about nox-console does not have to do anything with multiple controllers support. Nox-console is rather a tool used to send commands to a controller from a terminal.) On Sun, Nov 6, 2011 at 12:09 AM, hzy yyjianx...@gmail.com wrote: hi all: The zaku release of nox *Preliminary support for a console (nox-console). Is that mean I can't open two controllers. I wander if I can have two controllers work together with one control several switches and the other one control the rest switches. Any ideas? Thank you for advance. * ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] can nox support two more controllers
It is not really a goal for NOX, so I doubt it will be a feature in the future. If you provide some more information on what you want to do and why you need multiple controllers, I or somebody else might be able to share some thoughts. If you want multiple instances of the same controller for load distribution and reliability, it becomes really tricky because you need to keep them synchronized. For some insight (on how tricky it is), you can take a look at this paper http://www.usenix.org/event/osdi10/tech/full_papers/Koponen.pdf On Sun, Nov 6, 2011 at 12:53 AM, hzy yyjianx...@gmail.com wrote: Thank you for your reply. Will the future version of NOX support this feature? If I can do this to extend the NOX? I know it's maybe very hard, but I really want to try? Can you give me some advices? 2011/11/6 Kyriakos Zarifis kyr.zari...@gmail.com Hi, NOX does not support multiple controller instances inherently. This means that there is no defined protocol for communication between controller instances or a way to distribute state between them. So the general answer is no. Depending on what you want to do exactly, the answer might be different: Theoretically, you can have different switches connect to different controllers, but the controllers will not know about each other's existence and wouldn't act as a single control entity. It would be like having 2 separate control domains and each controller would have a global view of their domain only, which is not very useful. (The statement about nox-console does not have to do anything with multiple controllers support. Nox-console is rather a tool used to send commands to a controller from a terminal.) On Sun, Nov 6, 2011 at 12:09 AM, hzy yyjianx...@gmail.com wrote: hi all: The zaku release of nox *Preliminary support for a console (nox-console). Is that mean I can't open two controllers. I wander if I can have two controllers work together with one control several switches and the other one control the rest switches. Any ideas? Thank you for advance. * ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] re-build only changed module
Hi Rafal, I think the build system will only compile files that have changed or have been affected by changes (e.g. adding an include etc), so it generally won't compile more than it needs to. Unfortunately I don't know of any way that will reduce the amount of files that are compiled. You may get some speed up by doing make -j 5 instead of make On Mon, Oct 31, 2011 at 8:16 AM, Rafał Oracz ra...@oracz.it wrote: Hi, Is there any possibility to build only C++ module which has been changed? Compiling whole nox takes a few long minutes, and if you do it often it is very disruptive. thanks. __**_ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/**listinfo/nox-devhttp://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] pyswitch pop error type information and very much info type information
1. You probably get the first error because your topology is a loop and the switch is getting a packet for a host H and sees that the port that it thinks it's supposed to send the packet to (learned port) is the same port where it received the packet (inport). The learned port is the same as the inport because at some point before this error happened, the switch received a packet from host H on that port, and registered the host on that port. 2. What kind of data traffic are you sending? 3. Associating a flow to a VLAN is just another action, like sending a flow out a port. For the latter, you'd use action OFPAT_OUTPUT. For setting a VLAN to a flow, you use the action OFPAT_SET_VLAN_VID. This is described in section 5.2.4. of the spec On Mon, Oct 31, 2011 at 7:11 AM, dongxia pan bartley@gmail.com wrote: hi, when I execute nox_core with the form: sudo ./nox_core -v -i ptcp:6633 pyswitch monitoring. two openvswitches directly link to two physical switches separatly, which don't support openflow protocol. controller brings about error and info information,as follows: 1. pyswitch | ERR:' ** warning** learned port = inport' 2.00043 | packet | INFO: (udp parse) warning UDP packet data shorter than UDP len: 94 147 what causes these results ? is there any one who can give me some hints or reasons? another question: how to configure a VLAN using NOX ? ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] how to add the components of mobilevms to NOX destiny
In your application folder, under src/ (NOT build/src) , make sure you have updated the Makefile.am file. This is where you tell the build system to create links inside the build/ tree to files in your src/ tree. So, for example, you need to change meta.xml to meta.json in there. This is why your build failed until you manually copied the .json into your build/ tree. Delete it from there, and once you update Makefile.am, and do ./boot.sh again, you'll see that a symbolic link to your meta.json will be created under build/ This is one of the problems, I'm not sure it's the only one. Try changing that and start again from ./boot.sh On Thu, Oct 27, 2011 at 7:13 PM, 王健 wangjian2008_12...@126.com wrote: hello,everyone. Maybe i don't express my problem clearly, so i describe it more detailed. I got the source code of mobilevms compoments(a folder) from http://www.openflow.org/wk/index.php/Mobile_VMs for NOX 0.4, now i want to transplant them to NOX destiny. The source code of mobilevms compoments is beyond 10M, so i can not add it to attachment, sorry for this. How can I deal with this problem. For example i need convert the meta.xml to meta.json(anything else to modify?) and copy the mobilevms folder to nox/src/nox/netapps directory. This problem has confused me for a long time. Anyone who can give me a integral and detailed steps for it. Thank you very much, look forward to reply from you even a little bit advice~ best wishes wang jian Friday October 28,2011 -- 网易公开课推出哈佛最受欢迎《幸福》课程,帮您修满幸福学分!http://v.163.com/special/positivepsychology/?from=mailfooter ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] how to use discovery component?
Hi there, in order use Link_events in your python component you need to: 1) make your component aware of the Link_event object by importing it 2) register a handler for the event in your component's configure() (to make your component respond to such events) 3) write a handler (to tell your component how it should respond to such events) so, in practice: # 1 from nox.netapps.discovery.pylinkevent import Link_event ... # 2 def install(self): ... self.register_handler(Link_event.static_get_name(), self.handle_link_event) # 3 def handle_link_event(self, e): print Received link event:, e.__dict__# this will show you the contents of the event (for example: 'dport': 2, 'dpsrc': 1L, 'dpdst': 2L, 'sport': 2, 'action': 'add') # do something about the event here On Tue, Oct 11, 2011 at 3:17 AM, hzy yyjianx...@gmail.com wrote: Hi murphy: yes, the results are the same. the NOX I am using is download from http://www.openflow.org/wk/index.php/OpenFlow_Tutorial. Never mind, the thing I concern is that how can i deal with the link_event in my component. I think I should look some codes, like core.py or something else, I just don't know how to start. Can you give me some advice? best regards hzy 2011/10/11 Murphy McCauley jam...@nau.edu I don't know anything about pytutorial (it's not one of the mainlin NOX components), so I don't really know what to make of that. You tried implementing getInterface() like below on your my_router class? def getInterface (self): return str(my_router) And the results were the same? This is unrelated, but you also seem to be using a version of NOX that's over a year old. The destiny branch in particular has many bug fixes. -- Murphy On Oct 10, 2011, at 7:40 PM, hzy wrote: Hi murphy: Thank you for your reply, but I have added these codes in my component. This time I tried to invoke component pytutorial, so that you can get more information in your computer. So I add following codes in discovery component. self._pytutorial = self.resolve(nox.coreapps.tutorial.pytutorial.pyturorial) print self._pytutorial.mac_to_port 00478|pyrt|ERR:unable to invoke a Python event handler: Traceback (most recent call last): File ./nox/lib/util.py, line 116, in f event.total_len, buffer_id, packet) File ./nox/netapps/discovery/discovery.py, line 166, in lambda discovery.lldp_input_handler(self,dp,inport,reason,len,bid,packet), File ./nox/netapps/discovery/discovery.py, line 316, in lldp_input_handler print self._pytutorial.mac_to_port AttributeError: 'NoneType' object has no attribute 'mac_to_port' I was confused. In other hand, I accept your advise to handle discovery's Link_even. Since I am a newbie, can you give me some advice how to deal with Link_event in my component? Best regards. hzy 2011/10/10 Murphy McCauley jam...@nau.edu Whoops. I meant: def getInterface (self): return str(my_router) Sorry about that! -- Murphy On Oct 10, 2011, at 7:51 AM, Murphy McCauley wrote: So first off, maybe you have a reason, but in general, the hope is that you should have no reason to modify discovery.py. Rather than modify discovery.py to explicitly call your component, hopefully you should be able to simply handle discovery's Link_event. If you really do need to modify discovery.py to call your component explicitly, then as for why your code doesn't work, I don't think I have enough information to say. Assuming that your paths are right (you have a directory/package called my_experiment) and that in my_router.py you have a class/component called my_router... my best guess is that you didn't implement getInterface() in my_router in the expected way. Try adding the following to your my_router class: def getInterface (self): return my_router Hope that helps. -- Murphy On Oct 10, 2011, at 6:45 AM, hzy wrote: hi murpy: Thank you for your reply. it works now, but another problem comes up. This time I want the discovery component invoke the dic_all_path defined in my modle. So I add following codes in discovery component self._my_router = self.resolve(nox.coreapps.my_experiment.my_router.my_router) print self._my_router.dic_all_path I also tried these codes from nox.coreapps.my_experiment import my_router self._my_router = self.resolve(my_router.my_router print self._my_router.dic_all_path 00206|pyrt|ERR:unable to invoke a Python event handler: Traceback (most recent call last): File ./nox/lib/util.py, line 116, in f event.total_len, buffer_id, packet) File ./nox/netapps/discovery/discovery.py, line 163, in lambda discovery.lldp_input_handler(self,dp,inport,reason,len,bid,packet), File ./nox/netapps/discovery/discovery.py, line 312, in lldp_input_handler print self._my_router.dic_all_path AttributeError: 'NoneType' object has no attribute 'dic_all_path' any ideas. best regards.
Re: [nox-dev] Multiple Nox with spanning_tree Running the same in the Machine
It looks like either the socket was left open from an ungraceful shutdown last time you ran NOX, or another application happens to be using the port that jsonmessenger is trying to use. If I recall, that would be port 2703. If you run lsof -i | grep 2703 you should be able to see which application is using that port. If it is a zombie NOX (or some other program you don't care about) you can kill it and try rerunning. Alternatively (if a program you care about is using 2703), you can try to make jsonmessenger use another different port. I think the command for that would be jsonmessenger=tcpport=portnumber On Wed, Sep 28, 2011 at 1:33 PM, Rafael Lopes rafaell...@gmail.com wrote: When i try to run two nox with the spanning_tree i get this error below. First: Ok openflow@openflowvm:~/nox/build/src$ ./nox_core -v -i ptcp:6634 switch spanning_tree routing 1|nox|INFO:Starting nox_core (/home/openflow/nox/build/src/.libs/lt-nox_core) 2|nox|INFO:nox bootstrap complete Second: Error openflow@openflowvm:~/nox/build/src$ ./nox_core -v -i ptcp:6635 switch spanning_tree routing 1|nox|INFO:Starting nox_core (/home/openflow/nox/build/src/.libs/lt-nox_core) 2|nox|ERR:Cannot change the state of 'spanning_tree' to INSTALLED: 'spanning_tree' has an unmet dependency: 'jsonmessenger' ran into an error: bind: Address already in use any idea to solve it ? -- Rafael Lopes Gomes: - Msc. Candidate in Computer Science at University of Campinas (UNICAMP) - Member of LRC/UNICAMP and GERCOM/UFPA - http://www.lrc.ic.unicamp.br/~rafaellgom ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] NOX Pronto 3290(2011.08.06)
I don't know much about Pronto, but this error is a message from the switch telling NOX that it couldn't add a flow entry because the flow table was full. Could that be the case indeed? 2011/9/19 Min-Hyup KANG kang-min-h...@hanmail.net Hi, All I'd like to know that it is compatible between NOX(zaku or destiny) and Pronto 3290(2011.08.06 firmware). Currently, I can not operate Simplerouting etc. I don't know exactly why nox is having a below message. If you have any solution, please let me know. 00175|routeinstaller|DBG:Install flow entry port0007:vlan:pcp:0 mac84:2b:2b:60:26:6e-84:2b:2b:60:38:03 proto0800 ip192.168.10.11-192.168.10.10 port8-0 with 1 actions 00176|openflow-event|ERR:received Openflow error packet from dpid=02aa: type=3, code=0, 80 bytes of data 00177|openflow-event|ERR:received Openflow error packet from dpid=02aa: type=3, code=0, 80 bytes of data Best Regards, Min-Hyup KANG kang-min-h...@hanmail.net ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Fwd: NOX GUI
Back to original openflow, when I ping from one VM to another, the GUI shows 8 flows in one dot and 0 in the other.. OpenvSwitch works fine, showing 2 flows in each dot. Weird.. what do these 8 flows look like? Do they make any sense/no sense at all? Do they have invalid values etc? Also, if you inspect the tables manually (e.g. dpctl) do they show the right flows or do they show the same? Another thing, after some time, the log scrollbar in GUI stops going down. It stays in the middle.. Maybe it's a known issue too.. Right: I think it's fixed in a local branch, but apparently has not been pushed ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Fwd: NOX GUI
The error message you get when you close the application is a known issue (it doesn't really affect anything) You are correct about flowtracer.py. (I didn't remember we had separated the feature into its own component). Try running that one, I just tested it on my end. It won't show anything too meaningful until we figure out why the links are not drawn. This might require some debugging on your side: 1) First, are you sure there are indeed links there? Have you tried to test connectivity? 2) If pings etc work, then try to take a look at LAVI's messages to see that it actually sees the links. (LAVI is the backend that advertises the topology to the gui). 3) On the gui side, you can add some print statements in got_topo_msg() in the file src/gui/topology.py (around line 755), to make sure that link advertisement messages are received. I.e. add a print jsonmsg and make sure messages with the field links are received. On Wed, Sep 14, 2011 at 5:04 AM, Lucas Henrique Mauricio lhmauri...@poli.ufrj.br wrote: Hello! I don't have physical access to the computer I'm working on it now but the error messages I have are: - Something with a qt4 sql library (Solved downloading libqt4-sql-sqlite) - When exiting the NOX GUI, it shows an error message telling something about it didn't finish a connection (maybe I'm wrong), something will cease to work. I don't remember clearly the correct error message. =( - When I try to use spanning tree without executing it with nox it gives a series of python errors that I think that can be easily solved executing spanning_tree. There is a flowtracer.py but you told me to run sample_routing instead. Is it correct? 2011/9/13 Murphy McCauley jam...@nau.edu Oh, duh, of course the spanning tree component needs to be running. Haha, thanks Kyriakos. One more note is that if you run sample_routing, *don't* run pyswitch. -- Murphy On Sep 13, 2011, at 6:15 PM, Kyriakos Zarifis wrote: Hi there, for stp and flowtracer, the respective relevant NOX components need to be running If I recall correctly, the names of these components are 'spanning_tree and sample_routing The haven't been thoroughly tested, but worked fine last time I checked. They won't do much anyway if the links don't show up. Do you get any error messages in the terminal where you started the GUI? On Tue, Sep 13, 2011 at 10:21 PM, Murphy McCauley jam...@nau.edu wrote: I had a vague memory about components, so I looked it up. Maybe this applies? http://noxrepo.org/pipermail/nox-dev/2011-August/007951.html For links -- did you add discovery to your NOX commandline? STP and Flowtracer... I am not sure if these are implemented. You might take a glance at the code to see if you can tell. I'm not an expert in the GUI. Maybe Kyriakos can jump in here. :) -- Murphy On Sep 13, 2011, at 9:44 AM, Lucas Henrique Mauricio wrote: Hello Murphy. You were right about debugging messages as well.. Using -v -v did make these messages to show up in the GUI. But I still have problems with the links and the components.. STP and Flowtracer are not working as well but maybe I only need to run some functions with nox, right? Thanks 2011/9/12 Murphy McCauley jam...@nau.edu The quick answer about -v -v can be gotten with ./nox_core --help: -v, --verbose make console log verbose (shows INFO messages -- use twice for DBG) The longer answer is that -v -v puts it into very verbose mode. NOX's logging can actually be configured with quite a lot of flexibility through several mechanisms, including at runtime... but the GUI doesn't currently know anything about that. In general, you probably DO want all levels of log messages to be sent to the GUI so that you can then use the GUI's filtering mechanism (which lets you filter them after the fact). This really should be the default for the GUI, and I have a local branch which does this, so it's quite possible we'll see it in a future version of NOX. About the Components section being empty... if I recall correctly (and it's entirely possible that I don't), the Components section is populated by watching the DBG messages about component loading when NOX starts up. With only one -v, they never get to the GUI. -- Murphy On Sep 12, 2011, at 7:34 PM, Lucas Henrique Mauricio wrote: I figured it out how to solve the missing library. You were right, it's libqt4-sql-sqlite. About this -v -v, what's the point? hehe I'll try tomorrow but I don't understand what it's gonna change.. Could you explain, please? One last thing, what do you think about the fact that components button doesn't show anything? Thanks for your replies! 2011/9/12 Murphy McCauley jam...@nau.edu It looks like you're missing Qt's sqlite interface. Try installing it. On Ubuntu I think this is in the libqt4-sql-sqlite package. I think to get links to show up, you'll need to run discovery as well, and you should probably run
Re: [nox-dev] Issue about nox-gui.py
Hi, for a temporary resolution, in the file src/gui/log.py , uncomment lines 257-258. There is a performance issue which has not been resolved, so this feature was temporarily disabled. When you uncomment this it will work but will also probably degrade performance. On Sat, Aug 27, 2011 at 4:16 PM, Chen Gao tygct...@gmail.com wrote: Dear All, ** ** Before I run nox-gui.py, I run nox_core –I ptcp: monitoring pyswitch –v –v. Then in nox-gui window, the log can be shown. However, when I click component, it’s empty. So I try run nox_core –I ptcp: monitoring topology discovery pyswitch –v –v Unfortunately, the component in nox-gui is still empty. ** ** Could someone tell me how to make running components shown in nox-gui? Thanks ** ** What’s more, about the ENVI, is that I compile it then run enough? ** ** Thank you ** ** Chen ** ** ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Have a openflow interactive component in nox now?
Hi, you are right that a CLI might be helpful, and it is in fact one of the things that we have in mind as a next feature. However, keep in mind that you can already setup flows proactively (before any packet is received), with NOX programmatically. (e.g. by adding the relevant code on the datapath_join handler instead of the packet_in handler). A packet_in is just another event, nothing says that flows should be added based on that event only. On Mon, Aug 22, 2011 at 2:32 AM, hu.yongsh...@zte.com.cn wrote: Hi, I know that the Openvswitch could manage its flowtables by dpctl (add/del flows) directly? I want to know there is a similar component to funciton. If it exists, I could configure the openflow network more flexible. Such as, setup flows before receive a packet from switches. A CLI model is the best, could my wish be satisfied? Thank you! Best Regards! ZTE Information Security Notice: The information contained in this mail is solely property of the sender's organization. This mail communication is confidential. Recipients named above are obligated to maintain secrecy and are not permitted to disclose the contents of this communication to others. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the originator of the message. Any views expressed in this message are those of the individual sender. This message has been scanned for viruses and Spam by ZTE Anti-Spam system. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Nox Sockets
Hey, is the listening socket on the local host? if so, can you try: self.sock.connect((localhost,5000)) instead of: self.sock.connect((,5000)) ? (I'm not sure I've seen connect take an empty string as an argument for the host. Do you know that python defaults that to localhost?) On Mon, Aug 15, 2011 at 2:15 PM, chris oleke chrisol...@gmail.com wrote: Murphy, the thing is I'd pretty much want to maintain the sockets that I'm using at the moment since the third party application is tailored to work with them. When I send the data from NOX, I have to close the sockets because the data won't be received on the other end if the sockets remain open. My flow stats are generated every 10 seconds so my aim is to have them sent continously. I had previously tried using sock.setblocking(0) but encountered an error *operation already in progress* so abandoned using it. On Sat, Aug 13, 2011 at 2:34 AM, Murphy McCauley jam...@nau.edu wrote: It has been long enough since I've looked at the co-op threading in NOX that I don't immediately know what the problem you're having with the file descriptors going away is. You're sure you're not calling close() on them? You could try setting the socket to non-blocking mode with sock.setblocking(0). It might be possible to get asynccore to work, but I think it'd probably be some trouble. Twisted, on the other hand, should more or less just work. I think you can probably look at the NOX webservice stuff for a bit of an example, but it shouldn't be much different than any other Twisted code. Or if you would be okay with communicating with the other process via JSON strings, you could use jsonmessenger. Look in monitoring.py from the monitoring component for an example. Hope that helps. -- Murphy On Aug 12, 2011, at 2:03 PM, chris oleke wrote: Hi Hopefully this is still within the Nox domain. I have a python application that is using sockets to send out flows that I have obtained from a flow_stats_in_event to an application external of Nox. This is how I’m doing it self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.connect((,5000)) self.sock.send(repr(flows)) self.sock.close() Unfortunately I can only send the flows once before the sockets close after which I get the errors below self.sock.send(repr(flows)) File /usr/lib/python2.6/socket.py, line 167, in _dummy raise error(EBADF, 'Bad file descriptor') error: [Errno 9] Bad file descriptor It’s obviously as a result of trying to send information out on a socket that’s been closed. I have tried to look at asyncore and see if I can have an asynchronous socket but haven’t had any luck and my application’s seems to lock/freeze the few times I have tried. Is there a way I can have the socket remain connected so I can have flows sent constantly and also be able to receive data when sent from the external application. I would like a demonstration as well if it’s possible. Thanks Chris ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Re : Nox CLI
Hi Amar, there is no CLI for setting up flows through NOX.. In order to do something like that you can use an external tool like dpct or ovsctl (depending on what kind of switch you are using) The point of NOX, and any controller, is to do the same thing programmatically. You install flows by crafting flow_mod packets (in your code) and sending them to switches. Flow_mod packets are used to add/modify/remove flow entries on a switch. For adding new flow entries, you give those flow_mod packets a flow description (match), and the action(s) to be performed on a packet that arrives on the switch that matches that description. If you say your ping goes through, you are probably using a NOX component that sets up those flow entries. (what kind of switch are you using?) So you can look at the code of the component you are running to see what it does to craft those packets and set up flow entries on the switch. On of the simpler examples of this is in the component switch or pyswitch Hope this helps On Thu, Aug 11, 2011 at 9:42 PM, amarnath v amarnath...@gmail.com wrote: Hi Team, First of all congrts for developing such a grt controller. But i see NOX controller wont support CLI and i tired to work with WEB which is not user friendly. Can you please let me know how to control the flows using NOX.I tired using web but it is effecting nox.core. My topology: - H1 Openflow enabled switch---H2 | | NOX Controller I am doing the ping from H1 to H2 , ping is success and openflow displays the flows. I captured OFP packets at controller, but now i dont have any idea how to set the action for this flows in NOX. Thanks, Amar ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Nox on Fedora8
Thanks Niky! If it's ok with you, I'll add your instructions here: http://noxrepo.org/noxwiki/index.php/Dependencies On Sun, Jul 24, 2011 at 5:22 AM, Niky Riga nr...@bbn.com wrote: Hi all, I needed recently to run Nox on PlanetLab hosts running Fedora 8. It took me a bit to get the process right, so I have written down the steps I followed, in case others find it useful. http://groups.geni.net/geni/**wiki/GeniExperimenter/NoxAndF8http://groups.geni.net/geni/wiki/GeniExperimenter/NoxAndF8 I just needed to run the switch controller, so I haven't fully tested that all the necessary packages are there, for all controllers. Cheers, Niky __**_ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/**listinfo/nox-devhttp://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] A discovery question
Exactly, this version is what would make sense to me too : (And I also doubt NOX currently does what the page claims) On Thu, Jul 14, 2011 at 5:50 PM, Murphy McCauley jam...@nau.edu wrote: Okay, I just read that page, and... you're right, that's definitely what it says. It seems to indicate that what it's talking about there is what is currently implemented in Nox's discovery.py. I think this is false. I won't completely swear to this, but I did just rewrite discovery like two weeks ago, so I was all through that code and I am pretty sure there's nothing in there that forwards LLDP. And pyswitch and authenticator both bail as soon as they see that the ethertype is 88cc, so neither pyswitch nor routing should be forwarding them either. And, you know, I have never actually observed this in Wireshark (not that I have been looking for it!). I don't immediately see why this would be a good idea anyway. 1) NOX doesn't need to forward advertisements to spread its info since it already gets it all centrally, 2) OFDP-style advertisements for non-neighbor switches would probably be either meaningless or confusing to non-OF switches, and 3) doing this would make it much harder to actually figure out the direct-neighbor relationships anyway. So, yeah. I don't think NOX works exactly how that page describes. If it SHOULD be working that way, hopefully someone will explain why. What I think that document should actually say to describe how NOX presently works is along the lines of: Switch O (Openflow-enabled) OFDP advertisements out all ports. Switch A (not OpenFlow-enabled) will forward the received OFDP advertisements out all other ports. Switch B (OpenFlow-enabled) will update it's internal connectivity information. Switch B will *not* forward the OFDP advertisement. That is, only Switch A really changes behavior. And: The Take Away All Switches in a layer-2 network receive OFDP advertisements from their OpenFlow neighbors (these may be directly connected OpenFlow switches, or they may be the closest OpenFlow switch via one or more intermediate non-OpenFlow switches). OFDP's EtherType is 0x88cc. OFDP advertisements are sent to a normal multicast MAC (01:23:00:00:00:01). OFDP is Advertisement only. Non-OpenFlow Switches will forward OFDP advertisements. OpenFlow Switches will not forward OFDP advertisements. -- Murphy On Jul 14, 2011, at 1:56 PM, Kyriakos Zarifis wrote: Hm. That was my impression too, but now looking at the doc again, the phrase confused me. 2011/7/14 Murphy McCauley jam...@nau.edu So the normal LLDP multicast address should never be forwarded. No problem there except that NOX couldn't see through intermediate switches there. On the other hand, with the OFDP address... OpenFlow switches still won't forward such messages (NOX looks at them in discovery, but never instructs the switches to forward them). But non-OF switches will forward them (as far as I understand it, this is the entire point -- so that NOX can see through such switches). So yes, these messages may be broadcast by non-OF hardware on the non-OF portion of their network (always stopping when they hit an OF switch), but it's not actually any worse than any other broadcast like an ARP. The non-OF portion of the network probably already has to be capable of dealing with broadcasts (via STP or looplessness or whatever) or you have big problems anyway. Right? -- Murphy On Jul 14, 2011, at 1:29 PM, kk yap wrote: Oops.. I read the GENI document again, and Murphy is right in that the multicast address is different here. My apologies. This address will be forwarded by mac bridges though. Won't this be risking a broadcast storm? Am I missing something again? Regards KK On 14 July 2011 13:23, kk yap yap...@stanford.edu wrote: I believe OFDP uses LLDP as Kyriakos mentioned. So, there is no real difference here. As for the question of discovering a link between two OpenFlow switches connected by a non-OpenFlow switch, the link will be discovered if the switch does not process LLDP and thus pass it on. Else, the intermediate switch will consume the LLDP packet. For discovery of only OpenFlow switches, it might be best to use a packet with multicast address (and possibly ethertype) that is different from LLDP (i.e., 802.11ab). The change is not hard but note the consequences. Just my two cents worth. Regards KK 2011/7/14 Murphy McCauley jam...@nau.edu: Right. Someone correct me if I am wrong here, but really the only difference between OFDP and normal LLDP is that OFDP uses a normal multicast address so that it can see connectivity across non-OpenFlow switches. The purpose being... if you have two OpenFlow switches connected via an intermediate non-OpenFlow switch, using normal LLDP, you couldn't tell that the two OpenFlow switches were connected because the intermediate switch
Re: [nox-dev] 答复: Error in running ./nox-gui.py
By the way, a segfault does occur when you *exit* the program.. It's something silly that I have to look into at some point, but it doesn't affect the functionality. Not that I have noticed at least. Is that when you get it, or does it happen immediately when you run it? 2011/6/28 Murphy McCauley jam...@nau.edu My main system these days is Kubuntu 11.04 (natty), so I mostly test with what's in there (which should be quite recent). You should be able to find versions for these packages by searching on the Ubuntu packages site: http://packages.ubuntu.com/ I routinely build and use NOX from the head of destiny. The following should always pull a tarball of this: http://noxrepo.org/ cgi-bin/gitweb.cgi?p=nox;a=snapshot;h=refs/heads/destiny;sf=tgz Hope that helps. -- Murphy On Tuesday, June 28, 2011 08:12:45 PM Tinny Zhu(Mingming) wrote: Thank you for your help. I find it's the version problem of PyQt4. I have to update PyQt4 from 4.4.2 to 4.8.4, and install SIP-4.12.3, libqt4_dev_4.4.3, and the NOX destiny branch is the latest. But when I run ./nox-gui.py , the segment fault is happened. It must be still version problem. Who can tell me which the version you are running? Because my Linux cannot connect to internet for 'git'. Thanks Tinny -邮件原件- 发件人: Murphy McCauley [mailto:jam...@nau.edu] 发送时间: 2011年6月27日 15:24 收件人: nox-dev@noxrepo.org 抄送: Tinny Zhu(Mingming); Xiayinben 主题: Re: [nox-dev] Error in running ./nox-gui.py What distribution are you using? You might try changing QtCore.pyqtSignal(str) to QtCore.Signal(str). -- Murphy On Monday, June 27, 2011 12:14:44 AM Tinny Zhu(Mingming) wrote: When I input './nox-gui.py', the following error is happened. Traceback (most recent call last): File ./nox-gui.py, line 20 , in module import gui.log as log File /home/nox0.9gui/nox/src/src/gui/log.py, line 9, in module from communication import LoggerInterface, LogHandler File /home/nox0.9gui/nox/src/src/gui/communication.py, line 59, in module class TopologyInterface (QtCore.QThread, QtGui.QWidget): File /home/nox0.9gui/nox/src/src/gui/communication.py, line 82, in TopologyInterface monitoring_received_signal = QtCore.pyqtSignal(str) AttributeError: 'module object has no attribute 'pyqtSignal' Thanks Tinny ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] gathering status of Openflow Switch
Hi, I was actually referring to netapps/monitoring/montoring.py, which is a more complete (and complicated) monitoring component, but it is the same idea. However the one you looked at might actually be a better example exactly because it is simpler, but still shows how to create and send switch query packets. The output you pasted looks okay 2011/6/19 Min-Hyup KANG kang-min-h...@hanmail.net Hi, after I found monitoring.py, There is existing /src/nox/coreapps/examples/monitor.py. I think what you mean is /src/nox/coreapps/examples/monitor.py. right ? so, I excuted monitor component. I can check Table stats and Port stats, Aggregate stats as a below. 00072|openflow-event|DBG:received stats reply from 002320ca92e0 Table stats in from datapath 00:23:20:ca:92:e0 hash2 : 0 linear : 2 00073|openflow-event|DBG:received stats reply from 002320ca92e0 Port stats in from datapath 00:23:20:ca:92:e0 1 : 4 2 : 4 00074|openflow-event|DBG:received stats reply from 002320ca92e0 Aggregate stats in from datapath 00:23:20:ca:92:e0 {'packet_count': 0L, 'byte_count': 0L, 'flow_count': 0L} - 원본 메일 - *보낸사람*: Kyriakos Zarifis kyr.zari...@gmail.com *받는사람* : Min-Hyup KANG kang-min-h...@hanmail.net *참조* : nox-dev@noxrepo.org *날짜*: 2011년 6월 20일 월요일, 00시 35분 26초 +0900 *제목*: Re: [nox-dev] gathering status of Openflow Switch Hi, the 'monitoring' component I was referring to, is under: ** / src / nox / netapps / monitoring / monitoring.py** but on the Destiny branch of the repository (not Zaku which is the master branch). Follow the instructions here http://noxrepo.org/noxwiki/index.php/NOX_Installation#Installation (where it says For a branch other than master...) to switch to Destiny. - you mean pyswitch can gather status of flow, port in switch, right ? and I think I should use ofp_stats_request, ofp_stats_reply, ofp_desc_stats, ofp_port_stats_request, ofp_ports_stats etc of struct in openflow.h and core.py Exactly. You can see some example of how to build some messages in 'monitoring.py' Best Regards, Min-Hyup KANG kang-min-h...@hanmail.net ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] gathering status of Openflow Switch
Hi, the 'monitoring' component I was referring to, is under: / src / nox / netapps / monitoring / monitoring.py but on the Destiny branch of the repository (not Zaku which is the master branch). Follow the instructions here http://noxrepo.org/noxwiki/index.php/NOX_Installation#Installation (where it says For a branch other than master...) to switch to Destiny. - you mean pyswitch can gather status of flow, port in switch, right ? and I think I should use ofp_stats_request, ofp_stats_reply, ofp_desc_stats, ofp_port_stats_request, ofp_ports_stats etc of struct in openflow.h and core.py Exactly. You can see some example of how to build some messages in 'monitoring.py' ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Res: Issues in Ubuntu 10.04 with boost_filesystem-mt
According to http://noxrepo.org/noxwiki/index.php/Dependencies , I think the one one that was missing specifically, was libboost-test-dev On Tue, Jun 14, 2011 at 2:39 PM, fernando farias fer...@yahoo.com.brwrote: you also can to try libboost-all-dev ! Fernando N. N. Farias Electrical Engineer PhD. Student Member of the Research Group on Computer Networks and Multimedia Communications - GERCOM/UFPA Optical Research Team - GERCOM Federal University of Pará Primeiro eles o ignoram. Depois, riem de você. Chega um ponto em que lutam contra voce. Ate o dia em que você vence. Gandhi -- *De:* Srini Seetharaman seeth...@stanford.edu *Para:* nox-dev nox-dev@noxrepo.org *Enviadas:* Terça-feira, 14 de Junho de 2011 18:25:47 *Assunto:* [nox-dev] Issues in Ubuntu 10.04 with boost_filesystem-mt Hi I am trying to compile the latest head of NOX-Zaku on an Ubuntu 10.04 machine. I didn't receive any errors when I ran boot.sh. But, when I ran configure, I got the following error: checking whether the Boost::UnitTestFramework library is available... yes configure: error: Could not link against boost_filesystem-mt ! I don't see any solution for others that have faced similar issues in the past. Do I need to run configure with additional command-line options or should I be installing any other package? Thanks Srini. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Cannot find nox-gui.py
Hey Andrea, the gui is currently only available on the Destiny branch, not Zaku. If you're interested in grabbing the code from Destiny: http://noxrepo.org/noxwiki/index.php/NOX_Installation#Installation On Thu, Jun 2, 2011 at 2:02 AM, andrea simeoni andreasimeon...@gmail.comwrote: Hi guys, I've recently installed NOX 0.9.0 zaku, and I'm looking for the nox-guy.py file. The noxrepo page says it' s under the /src folder, but there is nothing. Maibe the gui is not available in my NOX release? Any suggestions? Best regards -- Andrea Simeoni ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Installing a flow using Nox onto a Openflow Switch
If you want to proactively install flow entries a reasonable place to put the code that does it might be the handler of datapath_join, in your component. This code runs when a new switch connects to NOX, and the switch's information is passed to the handler through the event. If that doesn't work for want you want to do, maybe you can describe when exactly you want to install flows On Thu, Jun 2, 2011 at 11:05 AM, kashyap TA kashyap...@gmail.com wrote: Hi All, Yes, I tried doing a component, but there is one problem. As long as I understand the python component, it get a data packet and from that it get some info and then progemas a flow. In my case, All I need to do it program a flow in the switch using the NOX where I say if it is from a particular port say portA with a mac addressab:cd:de:ef and vlan 10 then forward it to portB on else flood to all the ports. I am not sure we can just install flows into the box with out getting a datat packet. The swith is a openflow hardware enabled switch. Please let me know. If anybody has a sample flow it would be great. Please do let me know. Thanks and Regards Kashyap On Thu, May 26, 2011 at 4:41 PM, Baohua Yang yangbao...@gmail.com wrote: NOX doesn't provide a CLI, so you might have to write a APP to setup your routing rules. See here for more information of how to write a simple APP. http://noxrepo.org/noxwiki/ On Thu, May 26, 2011 at 1:09 PM, kashyap TA kashyap...@gmail.comwrote: Hi, I am running nox on my linux machine and I have a openflow enabled hardware switch. I am able to initiate a connection between the Nox Controller and the hardware switch. I need to push some flows on to the Switch from the NOX controller. Can I do that? and if so how ? I am not able to find any help guide. I am new to Nox controller. Can some body help. I just need to push a flow which says, if the packet comes from a particular port, push it out on a particular port. Please do let me know. Thanks and Regards Kashyap ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Best wishes! Baohua ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Installing a flow using Nox onto a Openflow Switch
Hi, NOX does not currently have a command line or a way to manage flow tables non-programmatically. (However, it is something worth considering for the future, as it looks like a few people have expressed interest in something like that. It can be a command line or a more interactive way through the GUI.) For now, you'd have to write your own application like you said (or use ofctl) On Thu, Jun 2, 2011 at 12:09 PM, Balaji Venkataraman xbal...@gmail.comwrote: I was about to ask the same question, I'm using openvswitch and able to apply flows using ovs-ofctl from command line in the switch environment. How can one do the same from the NOX? Do we need to write our own application for using openflow or does NOX have any way of configuring the flow to the switch? Thanks and Regards, Balaji On Thu, Jun 2, 2011 at 11:23 AM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: If you want to proactively install flow entries a reasonable place to put the code that does it might be the handler of datapath_join, in your component. This code runs when a new switch connects to NOX, and the switch's information is passed to the handler through the event. If that doesn't work for want you want to do, maybe you can describe when exactly you want to install flows On Thu, Jun 2, 2011 at 11:05 AM, kashyap TA kashyap...@gmail.com wrote: Hi All, Yes, I tried doing a component, but there is one problem. As long as I understand the python component, it get a data packet and from that it get some info and then progemas a flow. In my case, All I need to do it program a flow in the switch using the NOX where I say if it is from a particular port say portA with a mac addressab:cd:de:ef and vlan 10 then forward it to portB on else flood to all the ports. I am not sure we can just install flows into the box with out getting a datat packet. The swith is a openflow hardware enabled switch. Please let me know. If anybody has a sample flow it would be great. Please do let me know. Thanks and Regards Kashyap On Thu, May 26, 2011 at 4:41 PM, Baohua Yang yangbao...@gmail.comwrote: NOX doesn't provide a CLI, so you might have to write a APP to setup your routing rules. See here for more information of how to write a simple APP. http://noxrepo.org/noxwiki/ On Thu, May 26, 2011 at 1:09 PM, kashyap TA kashyap...@gmail.comwrote: Hi, I am running nox on my linux machine and I have a openflow enabled hardware switch. I am able to initiate a connection between the Nox Controller and the hardware switch. I need to push some flows on to the Switch from the NOX controller. Can I do that? and if so how ? I am not able to find any help guide. I am new to Nox controller. Can some body help. I just need to push a flow which says, if the packet comes from a particular port, push it out on a particular port. Please do let me know. Thanks and Regards Kashyap ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Best wishes! Baohua ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Installing a flow using Nox onto a Openflow Switch
Hey, I'm actually not sure that there's a general model, it depends a lot on _when_ you want to install flows. NOX is essentially an event programming platform, meaning that it will typically do things when other things happen: It will generally edit flows when a signal is sent from the network. (or maybe when a timer expires, but technically it's the same, as the timer would be triggered by a similar network event). Such events could be connections from new switches, link state changes, new traffic arrival (packet_in), etc. If you want to edit flow tables manually, in real time and at random times, not triggered by such events, then a tool like dpctl/ofctl might make more sense. You *could* write a NOX component that gets external input (through messenger and/or the console.py script, or the GUI), which would make the component run a bit of code. It's basically the same principle, you'd be 'injecting' a custom event to NOX, and it's handler would install the flow you want. But this might be a bit more complicated and not worth the effort, if all you need is to install a flow entry, which you can do with ofctl. If you want to share your goal in more detail maybe I could think of a more specific answer On Thu, Jun 2, 2011 at 12:57 PM, Balaji Venkataraman xbal...@gmail.comwrote: Thanks for your reply, can you please share with us any links or working model of such an application. It will be very useful to understand how to develop this and use it. Thanks and Regards, Balaji On Thu, Jun 2, 2011 at 12:17 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: Hi, NOX does not currently have a command line or a way to manage flow tables non-programmatically. (However, it is something worth considering for the future, as it looks like a few people have expressed interest in something like that. It can be a command line or a more interactive way through the GUI.) For now, you'd have to write your own application like you said (or use ofctl) On Thu, Jun 2, 2011 at 12:09 PM, Balaji Venkataraman xbal...@gmail.comwrote: I was about to ask the same question, I'm using openvswitch and able to apply flows using ovs-ofctl from command line in the switch environment. How can one do the same from the NOX? Do we need to write our own application for using openflow or does NOX have any way of configuring the flow to the switch? Thanks and Regards, Balaji On Thu, Jun 2, 2011 at 11:23 AM, Kyriakos Zarifis kyr.zari...@gmail.com wrote: If you want to proactively install flow entries a reasonable place to put the code that does it might be the handler of datapath_join, in your component. This code runs when a new switch connects to NOX, and the switch's information is passed to the handler through the event. If that doesn't work for want you want to do, maybe you can describe when exactly you want to install flows On Thu, Jun 2, 2011 at 11:05 AM, kashyap TA kashyap...@gmail.comwrote: Hi All, Yes, I tried doing a component, but there is one problem. As long as I understand the python component, it get a data packet and from that it get some info and then progemas a flow. In my case, All I need to do it program a flow in the switch using the NOX where I say if it is from a particular port say portA with a mac addressab:cd:de:ef and vlan 10 then forward it to portB on else flood to all the ports. I am not sure we can just install flows into the box with out getting a datat packet. The swith is a openflow hardware enabled switch. Please let me know. If anybody has a sample flow it would be great. Please do let me know. Thanks and Regards Kashyap On Thu, May 26, 2011 at 4:41 PM, Baohua Yang yangbao...@gmail.comwrote: NOX doesn't provide a CLI, so you might have to write a APP to setup your routing rules. See here for more information of how to write a simple APP. http://noxrepo.org/noxwiki/ On Thu, May 26, 2011 at 1:09 PM, kashyap TA kashyap...@gmail.comwrote: Hi, I am running nox on my linux machine and I have a openflow enabled hardware switch. I am able to initiate a connection between the Nox Controller and the hardware switch. I need to push some flows on to the Switch from the NOX controller. Can I do that? and if so how ? I am not able to find any help guide. I am new to Nox controller. Can some body help. I just need to push a flow which says, if the packet comes from a particular port, push it out on a particular port. Please do let me know. Thanks and Regards Kashyap ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Best wishes! Baohua ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Installing a flow using Nox onto a Openflow Switch
Hi there, yes, you can edit the flow table programmatically from NOX please take a look at this: http://noxrepo.org/noxwiki/index.php/FAQ#How_can_I_edit_the_flow_table_of_a_switch.3F and also the rest of the info on the wiki should be useful. Let us know if this helps or you have more questions. On Thu, May 26, 2011 at 1:09 PM, kashyap TA kashyap...@gmail.com wrote: Hi, I am running nox on my linux machine and I have a openflow enabled hardware switch. I am able to initiate a connection between the Nox Controller and the hardware switch. I need to push some flows on to the Switch from the NOX controller. Can I do that? and if so how ? I am not able to find any help guide. I am new to Nox controller. Can some body help. I just need to push a flow which says, if the packet comes from a particular port, push it out on a particular port. Please do let me know. Thanks and Regards Kashyap ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] how to add a flow entry through nox to the openflow switch
Hi, which NOX components are you running? You need do have some component(s) that will install flow entries on the switch for the ping to go through have a look here: http://noxrepo.org/noxwiki/index.php/FAQ#What_does_the_traversal_of_a_packet_through_a_NOX_controlled_network_look_like.3F 2011/4/26 linbo li...@csnet1.cs.tsinghua.edu.cn Hi ,all I want to verify the openflow and controller work well or not,but I get something wrong. here is my problem: 1、the openflow switch has connetected to nox ,and the topology is as follow: openflow-controller:eth0 - 192.168.1.1/24 openflow-switch:eth0 - 192.168.1.2/24 openflow-switch:eth1 - no IP (would act as a switch port) openflow-switch:eth2 - no IP (would act as a switch port) openflow-host1:eth0 - 192.168.2.1/24 openflow-host2:eth0 - 192.168.2.2/24 2、when i ping host1 from host2 ,I can‘t see any ping replies coming. i check out the flow table of the switch ,and the flow table of the swtich is empty。 so how can I add a flow entry through nox to the openflow switch to let the ping work welll Thank you! 2011-04-26 -- linbo ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] # of times Flows_stats_in event handler should be triggered
Hi Hamid, I don't think I've come across cases where I get multiple replies for a single flow stat request. What switch are you using? Are you sure you're only sending a single request? Did you try to troubleshoot with wireshark, and if so do you actually see one request and a couple replies? On Mon, Apr 18, 2011 at 4:38 PM, Hamid Bazzaz ha...@cs.ucsd.edu wrote: Hi folks, I am registering a handler for the Flows_stats_in_event handler in my NOX application and would like to do certain processing upon receiving the flow stats from each switch in my topology. What happens is that every time I send a request to fetch the flow stats of my switches, the event handler is triggered a few times for each switch. I wonder how many trigger of the event handler I should be expecting for a single flow stats request. Is it the case that stats for a single flows might get divided into separate events? If so, when can I know for sure that all the flow stats of a single switch has arrived? Thanks, --Hamid ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] CONTINUE vs. STOP in Disposition methods?
just as a follow-up, this http://noxrepo.org/noxwiki/index.php/Disposition also explains how to control the event processing chain http://noxrepo.org/noxwiki/index.php/Disposition On Thu, Apr 14, 2011 at 5:42 PM, Hamid Bazzaz ha...@cs.ucsd.edu wrote: I see. Thanks for clarifying this Martin! --Hamid On Thu, Apr 14, 2011 at 5:41 PM, Martin Casado cas...@nicira.com wrote: CONTINUE = continue to call handlers in the call chain STOP = don't call any additional handlers for this event Hello, I am curious what's the difference between returning STOP vs. CONTINUE in the Disposition methods. Specifically, should we return STOP or CONTINUE in case of some errors happening? I believe I have seen both cases in different sample codes and I haven't been able to completely understand the difference. Thanks, --Hamid ___ nox-dev mailing listnox-dev@noxrepo.orghttp://noxrepo.org/mailman/listinfo/nox-dev -- ~~~ Martin Casado Nicira Networks, Inc.www.nicira.com | www.openvswitch.org cell: 650-776-1457 ~~~ ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Which NOX module should be used for wireless networks testing
That's right, you'd have to update the STP module meta file to the current meta format (json). The transition is pretty straightforward: just take a look at a meta.xml of any module and the corresponding meta.json in zaku I have actually included and tried out the module on my local branch but haven't pushed to the repo destiny yet, but you should be able to add the module on your NOX installation.. Then it should work fine with, say, pyswitch. As for interoperation with routing, it's not immediately clear if it would not break - like you said, I think the fact that routing doesn't FLOOD packets would probably break it. (Maybe you could give it a try, and/or give a try hacking routing in order to FLOOD instead?) On Wed, Apr 13, 2011 at 1:19 PM, sachin sharma sharon_sac...@yahoo.co.inwrote: Hi, I had tried integrate this STP implementation in NOX version 0.9 (Zaku) which is compatible with openflow 1.0. But could not because the structure of xml file etc are different, which i could not understand that how to integrate it. But I was successful in integrating that in 0.5 version. I did not test this STP with routing module but i have gone through the code and read this release. and found that this STP release creates the spanning tree for OFP_FLOOD packets. As i understood from the routing module code, it does not send this packet for searching the unknown destintation. It searches by explicitly sending the packet to each and every output port except incoming port. However if this spanning tree implementation takes care above to create loop free environment, than may be this implementation is also able to recover from loops. (but i m not sure about that) Thanks, Sachin --- On *Thu, 14/4/11, Kyriakos Zarifis kyr.zari...@gmail.com* wrote: From: Kyriakos Zarifis kyr.zari...@gmail.com Subject: Re: [nox-dev] Which NOX module should be used for wireless networks testing To: sachin sharma sharon_sac...@yahoo.co.in Cc: James Murphy McCauley jam...@nau.edu, nox-dev@noxrepo.org Date: Thursday, 14 April, 2011, 1:38 AM Hey Sachin do you know why this STP module would not work with zaku? I'm asking because I have actually used it (not too thoroughly to be honest) and didn't immediately see any issues. Is it the fact that routing does not use OFP_FLOOD, so it wouldn't work with routing, or is it an issue with the STP module itself? On Wed, Apr 13, 2011 at 1:00 PM, sachin sharma sharon_sac...@yahoo.co.inhttp://mc/compose?to=sharon_sac...@yahoo.co.in wrote: Hi Murphy, I know this basic spanning tree implementation but this is only compatible with NOX version 0.5. I am using openflow version 1.0 in openwrt linux which does not support 0.5 version. So. do u have a spanning tree implementation which is compatible with the NOX supporting openflow version 1.0 I have one doubt that whether routing loops (Routing Module at NOX) can be prevented by this implementation. Because routing module does not flood the packets by (OFP_FLOOD) but it transmits the packet to each and every port except incoming port explicitly when it does not know the destination. thanks, Sachin --- On *Thu, 14/4/11, James Murphy McCauley jam...@nau.eduhttp://mc/compose?to=jam...@nau.edu * wrote: From: James Murphy McCauley jam...@nau.eduhttp://mc/compose?to=jam...@nau.edu Subject: Re: [nox-dev] Which NOX module should be used for wireless networks testing To: sachin sharma sharon_sac...@yahoo.co.inhttp://mc/compose?to=sharon_sac...@yahoo.co.in Cc: nox-dev@noxrepo.org http://mc/compose?to=nox-dev@noxrepo.org Date: Thursday, 14 April, 2011, 1:07 AM You might want to take a look at the spanning_tree component: http://www.openflow.org/wk/index.php/Basic_Spanning_Tree -- Murphy On Thu, 2011-04-14 at 01:01 +0530, sachin sharma wrote: Hi, I am interested to test openflow in wireless networks where loops are present in topology. I have tested openflow in wired network where i found that loops in topology prevent openflow to work properly. However, this problem can be solved if switch itself has STP implemented. But now I am interested to measure OpenFlow performance in wireless network such that loop problem should not occur. I am actually interested in OLSR/DSDV like protocol. I think, I can not use routing (implemented in NOX) as when topology module does not know about the destination. packet is transmitted to each and every port except incoming port. This give rise to problem of looping. I cannot use MAC learning also because it does flooding where there is also a chances of looping. So, what to use? Can you please suggest me that which NOX module I should use for this testing. Thanks in replying, Sachin ___ nox-dev mailing list nox-dev@noxrepo.org http://mc/compose?to=nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] getting switch port number connected to a host
Hey, take a look at the API provided by pybindings_storage: void get_names_by_mac(const ethernetaddr mac, const Get_names_callback cb); and then void get_location_by_name(int64_t locationname, Name::Type name_type, const Get_locations_callback cb); would something like this do it for you? (Location holds dpid and port info) On Tue, Apr 5, 2011 at 1:25 PM, karim torkmen karim.torkm...@gmail.comwrote: Hi, I am trying to retrieve the topology of an openflow network through pybindings_storage. Untill now, I succeed to get the different connections between the switches i.e the tuple (src_dpid,src_port,dst_dpid,dst_port) through the method get_all_links() which seems to return just teh links between the switches. But, I still need to have a tuple of the type (host_mac_address, dst_dpid,dst_port). Any idea about how to get this information. Thanks a lot for your help. Regards, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] problem running a new component
Hey Karim, Your component is using pybindings_storage, so it needs to be running. If you don't want to call it manually, you need to define pybindings_storage as a dependency for your component, so that it is deployed automatically. You do that in the meta.json file of try_topology. On Mon, Apr 4, 2011 at 4:26 AM, karim torkmen karim.torkm...@gmail.comwrote: Hi, I am developing a new component called try_topology that uses the bindings_storage component. When I run it with this command : - ./nox_core -v -i ptcp:6633 pybindings_storage try_topology It returns no errors. However, by calling just the try_topolgy component, I get the following error: 00042|nox|ERR:Cannot change the state of 'try_topology' to INSTALLED: 'try_topology' ran into an error: cannot import a Python module 'nox.coreapps.try_topology.try_topology': Traceback (most recent call last): File /home/karim/nox/build/src/nox/coreapps/try_topology/try_topology.py, line 3, in module from nox.netapps.bindings_storage.pybindings_storage import pybindings_storage File /home/karim/nox/build/src/nox/netapps/bindings_storage/pybindings_storage.py, line 25, in module _pybindings_storage = swig_import_helper() File /home/karim/nox/build/src/nox/netapps/bindings_storage/pybindings_storage.py, line 21, in swig_import_helper _mod = imp.load_module('_pybindings_storage', fp, pathname, description) ImportError: /home/karim/nox/build/src/nox/netapps/bindings_storage/_pybindings_storage.so: undefined symbol: vigil::applications::Bindings_Storage::get_all_names(vigil::applications::Name::Type, boost::functionvoid ()(std::__debug::listvigil::applications::Name, std::allocatorvigil::applications::Name ) const) Any Idea about this error. Thanks a lot, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] 00005|nox|ERR:Application
Hey, you only need to rebuild NOX the first time you introduce a new python component (after following the instructions on the wiki), so that the links are created to the build/src/ directory. After that, you can simply run NOX each time you edit your python component. On Thu, Mar 31, 2011 at 11:32 PM, Bill Liao lwlw1...@gmail.com wrote: On Fri, Apr 1, 2011 at 5:29 AM, Kyriakos Zarifis kyr.zari...@gmail.com wrote: Hi Karim, did you rerun ../configure and make after you edited configure.ac and Makefile.am? On Thu, Mar 31, 2011 at 7:42 AM, karim torkmen karim.torkm...@gmail.com wrote: Hi, I developed a component when I try to run it, I get the following error message : 1|nox|INFO:Starting nox_core (/nox/build/src/.libs/lt-nox_core) 2|nox|DBG:Application installation report: 3|nox|DBG:built-in DSO deployer: Current state: INSTALLED Required state: INSTALLED Dependencies: 4|nox|DBG:built-in event dispatcher: Current state: INSTALLED Required state: INSTALLED Dependencies: 5|nox|ERR:Application 'try_topology' description not found. *** To add my component I tried two methods: The first one is through executing the script : nox-new-c-app.py The second one is by editing meta.json, configure.ac and Makefile.am. Unfortunately, none of them was able to make me run my component. Thank you for your help. Regards, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev Hi, Kyriakos Sorry to interrupt. But I'm wondering is it necessary to re-make after building a new python component. As far as I know after reading some source, there is no such requirement right? The python component is managed by PyRt, just as Dso-deployer. So, for c++ component, maybe we should make to produce the *.so dynamic library, but what will MAKE produce for new python component? Regards wliao ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Have any application in NOX supports multicast?
Hi, although that would take some effort, it is perfectly doable to hold that information on your component. You wouldn't have to use v1.1 tables or anything like that, all the state would be on your controller. While there are several packet types of packets included in the packet parsing library of NOX, IGMP messages are unfortunately one of them. So in order to extract the Join/Leave Group information, you would have to parse them manually (or add a relevant igmp.py in lib/packet/, following the paradigm of the other packet classes. such an addition would be welcome). On Wed, Mar 30, 2011 at 11:20 PM, Jen-Wei Hu jenwe...@gmail.com wrote: Dear Murphy KK, Thanks for your kindly reply and help. Just like KK mentioned, we might need an IGMP multicast. So, in this point, we must do something on NOX. That is, we need to implement a data structure that do the same thing as Group table for recording which ports have IGMP request. Is is right, please clear me! Thanks Jen-Wei On Mon, Mar 28, 2011 at 9:22 AM, kk yap yap...@stanford.edu wrote: Hi Jen-Wei, OpenFlow 1.1 (implemented) is released, so it is quite final for me. Also, if you are not constrained to using the group semantics (in OpenFlow 1.1), you can do multicast by listing all the ports you want to multicast to in the flow_mod command. If you are looking for IGMP multicast support, then you are looking for someone to do some work. Regards KK On 27 March 2011 17:41, James Murphy McCauley jam...@nau.edu wrote: So this is certainly not an official statement of any sort, but I would not expect to see OpenFlow 1.1 support in NOX for a while. I believe there's some consensus that supporting both 1.0 and 1.1 well will require some nontrivial API changes (and we're due for some API changes anyway), and there will be a focus on getting some of that right rather than incrementally updating NOX as has been done for previous OpenFlow versions. And before we even have 1.1 compatibility, I really would not hazard a guess about what we'd be releasing supporting multicast. Sorry! Hopefully we'll have more of an idea about this in the coming months, as well as more actual OpenFlow 1.1 implementations. (Also, as far as my limited understanding goes, OpenFlow 1.1 is still not final...) -- Murphy On Sat, 2011-03-26 at 11:33 +0800, Jen-Wei Hu wrote: Hi all, We are glad to hear the version 1.1 of OpenFlow is released because this version create a Group table for supporting multicast. Although we use the NOX that support OpenFlow 1.0, would any plan to develop an application or example which supports multicast? Or give us some advices to do it? Thank you! Bests, Jen-Wei ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Have any application in NOX supports multicast?
On Wed, Mar 30, 2011 at 11:38 PM, Jen-Wei Hu jenwe...@gmail.com wrote: Dear Kyriakos, Thanks for your quickly help. Last week, I found in lib/packet have some files, such as arp or icmp. That time, I think may not follow them to do similar thing. But after your explanation, I think we are wrong and must to do it. The other thing is we also record which ports contain vedio streaming, is it right? Do you mean keep track of the multicast sources? I guess that depends on the implementation. You might not necessarily have to do that. (In traditional multicast with shared trees, the routers only care about which of their ports lead to interested multicast listeners, and don't necessarily hold any state about the sources.) But yes, since there's a centralized controller with the view of the topology, it mightmake sense to register the sources' locations with the controller, and create the trees in a more static way (meaning, in traditional MC a join message would propagate all the way up to a Rendezvous Point, but with NOX you could probably grab the IGMP join at the leaf, and figure out how to connect the leaf to your tree in NOX) Thanks Jen-Wei On Thu, Mar 31, 2011 at 2:29 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: Hi, although that would take some effort, it is perfectly doable to hold that information on your component. You wouldn't have to use v1.1 tables or anything like that, all the state would be on your controller. While there are several packet types of packets included in the packet parsing library of NOX, IGMP messages are unfortunately one of them. So in order to extract the Join/Leave Group information, you would have to parse them manually (or add a relevant igmp.py in lib/packet/, following the paradigm of the other packet classes. such an addition would be welcome). On Wed, Mar 30, 2011 at 11:20 PM, Jen-Wei Hu jenwe...@gmail.com wrote: Dear Murphy KK, Thanks for your kindly reply and help. Just like KK mentioned, we might need an IGMP multicast. So, in this point, we must do something on NOX. That is, we need to implement a data structure that do the same thing as Group table for recording which ports have IGMP request. Is is right, please clear me! Thanks Jen-Wei On Mon, Mar 28, 2011 at 9:22 AM, kk yap yap...@stanford.edu wrote: Hi Jen-Wei, OpenFlow 1.1 (implemented) is released, so it is quite final for me. Also, if you are not constrained to using the group semantics (in OpenFlow 1.1), you can do multicast by listing all the ports you want to multicast to in the flow_mod command. If you are looking for IGMP multicast support, then you are looking for someone to do some work. Regards KK On 27 March 2011 17:41, James Murphy McCauley jam...@nau.edu wrote: So this is certainly not an official statement of any sort, but I would not expect to see OpenFlow 1.1 support in NOX for a while. I believe there's some consensus that supporting both 1.0 and 1.1 well will require some nontrivial API changes (and we're due for some API changes anyway), and there will be a focus on getting some of that right rather than incrementally updating NOX as has been done for previous OpenFlow versions. And before we even have 1.1 compatibility, I really would not hazard a guess about what we'd be releasing supporting multicast. Sorry! Hopefully we'll have more of an idea about this in the coming months, as well as more actual OpenFlow 1.1 implementations. (Also, as far as my limited understanding goes, OpenFlow 1.1 is still not final...) -- Murphy On Sat, 2011-03-26 at 11:33 +0800, Jen-Wei Hu wrote: Hi all, We are glad to hear the version 1.1 of OpenFlow is released because this version create a Group table for supporting multicast. Although we use the NOX that support OpenFlow 1.0, would any plan to develop an application or example which supports multicast? Or give us some advices to do it? Thank you! Bests, Jen-Wei ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] 00005|nox|ERR:Application
Hi Karim, did you rerun ../configure and make after you edited configure.ac and Makefile.am? On Thu, Mar 31, 2011 at 7:42 AM, karim torkmen karim.torkm...@gmail.comwrote: Hi, I developed a component when I try to run it, I get the following error message : 1|nox|INFO:Starting nox_core (/nox/build/src/.libs/lt-nox_core) 2|nox|DBG:Application installation report: 3|nox|DBG:built-in DSO deployer: Current state: INSTALLED Required state: INSTALLED Dependencies: 4|nox|DBG:built-in event dispatcher: Current state: INSTALLED Required state: INSTALLED Dependencies: 5|nox|ERR:Application 'try_topology' description not found. *** To add my component I tried two methods: The first one is through executing the script : nox-new-c-app.py The second one is by editing meta.json, configure.ac and Makefile.am. Unfortunately, none of them was able to make me run my component. Thank you for your help. Regards, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] correspondence mac address port number
Oh I see - the bindings_storage module would hold that information from nox.netapps.bindings_storage.pybindings_storage import pybindings_storage self.bindings = self.resolve(pybindings_storage) and then you can use the module's API as defined in netapps/bindings_storage for example self.bindings.get_all_links() would give you a list with tuples of the form (src_dpid, src_port, dst_dpid, dst_port) you can take a look at the code of Glen Gibb's spanning tree modulehttp://www.openflow.org/wk/index.php/Basic_Spanning_Tree, which is the only example that comes to my mind that uses the python binding storage API On Tue, Mar 29, 2011 at 3:36 AM, karim torkmen karim.torkm...@gmail.comwrote: On 03/29/2011 12:29 PM, Kyriakos Zarifis wrote: Hi Karim, the second parameter of install_datapath_flow() is a python dictionary that describes the flow for which you are setting up an entry. This is where you specify the MAC address(es). Create a dictionary, populate as you want (the keys for the source and destination addresses are 'dl_src' and 'dl_dst' respectively. - missing key/value pair equals wildcard for that field), and pass it to install_datapath_flow. If you take a look at src/nox/lib/core.py, which defines the python API, you'll find some information about this in the definition of install_datapath_flow() On Tue, Mar 29, 2011 at 3:03 AM, karim torkmen karim.torkm...@gmail.comwrote: Hi, I want to set-up statically a path using openflow but the install_datapath_flow() method does not accept mac address as parameter, so I need to know the correspondence between mac addresses and port numbers in a switch so that I can choose the out_port that is correspondent to a mac address. Is there any method that allows it ? Thanks a lot, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev Thanks Kyriakos :) My question was not very well formulated ;) I meant in order to set a path I need to know the topology of the openFlow network, e.g. port 1 of switch 1 is linked to port 1 of switch 2 etc. in order to decide how to populate the switching table. Is there any method to get this information ? Thanks a lot ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] links capacities tracking
Hi Harry, if you use the destiny branch, the GUI there offers some relevant functionality. The main idea is that the 'monitoring' component periodically polls statistics from switches, including traffic sent/received. One of the things it does is that it tries to estimate the current utilization based on these values for neighboring switches, the link capacity and the collection period. (However I'm not convinced that the numbers it reports are currently correct and some testing is definitely due) On Mon, Mar 28, 2011 at 9:09 AM, Harry harry@gmail.com wrote: Hi all, Do you have any idea how can I track the capacity of a link in mininet and the total traffic passing through that link? Thanks in advance! ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] some confusions about the inport parameter
Hi Karim, 'inport' actually refers to a different thing in each case: * send_openflow(dpid, bufid, buf, openflow.OFPP_FLOOD, inport) send_openflow is used to inject a packet in the network, and send it out the 'dpids's port(s) described the 4th parameter. The switch should treat the packet as if it arrived on 'inport'. The packet actually arrives through the openflow channel, but you use this for things like openflow.OFPP_TABLE, where the packet will be forwarded based on the flow_table matches, in which case it needs to have arrived on a physical port. * install_datapath_flow(dpid, flow, 5, 0, actions, bufid, openflow.OFP_DEFAULT_PRIORITY, inport, packet) Here it is indeed what you said: it is the input port to match for this flow entry we are installing. (after installing this entry, packets matching 'flow' arriving on 'inport' all be treated according to 'actions') Do they design the port of communication between the controller and the switch, or the port from which a switch received a packet and that has after to forward it to the controller. In the first case it seems that the inport is the port between the controller and the switch, however the second case seems to be the port from which a switch received a packet. Thanks a lot. Regards, Karim ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] nox controller configuration for load balancing
Hi , NOX does not provide load balancing functionality by default; you would need to write your own application. A high level description of the functionality that you'd have to program on NOX in order to achieve network-layer load balancing is: Listen for incoming requests from the clients and set up flows to one of the servers for each one of them: The requests are destined to the same IP, the OF switch forwards incoming requests to NOX, NOX picks a server and sets up a rule on the switch for the specific flow. If you haven't done so, I'd suggest taking a look herehttp://noxrepo.org/noxwiki/index.php/Main_Page to familiarize yourself with NOX. You'll also find some instructions on writing your own NOX components, although a good practice is to look at existing code and copy/hack it. If you look at the routing component and understand how it works, it might be easier to hack that than to write a new component On Sat, Mar 19, 2011 at 3:28 AM, Hilman Fathurrahman i...@hil-man.net wrote: I want to do a simple test using openflow for load balancing between 2 server Topology : clients internet OF switch NOX contoller | | server1server2 How do i configure nox contoller ? Thanks for your help ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] different between ofdatapath and dpctl
Hi, please take a minute and go through the whole wiki, as it will provide some general insight. The answers to most questions are there. For the specific question, see http://noxrepo.org/noxwiki/index.php/NOX_Components, and specifically Discovery, Topology and Authenticator, which are both used by the 'routing' application. Also http://noxrepo.org/noxwiki/index.php/FAQ#What_kind_of_routing_does_NOX_support.3F Regards 2011/3/10 杨宇 yangyu...@gmail.com Hi,Kyriakos Zarifis I'm little confused by the followings; In the webpage http://noxrepo.org/noxwiki/index.php/Routing there has the following sentences: The routing application keeps track of shortest-path routes between any two authenticated datapaths in the network. Routing interacts with the Topology component in order to maintain routes. On link changes, the set of affected routes is updated. On link changes, the set of affected routes is updated. How the routing application know about the link state changed? like sending the hello packet in OSPF? What's the mechanism of the routing application? How it works with the NOX.. Thanks a lot. Best regards -- Yang 2011-03-10 - 发件人:Kyriakos Zarifis 发送日期:2011-03-10 10:24:20 收件人:杨宇 抄送:kk yap; nox-dev 主题:Re: [nox-dev] different between ofdatapath and dpctl Hi, as KK said, if you want IP routing functionality you would have to build an application with the routing logic yourself on top of NOX. The 'routing' functionality that ships with nox does not do traditional IP routing (what is does is briefly described here: http://noxrepo.org/noxwiki/index.php/Routing ) Depending on what you want to do, this existing routing component might work for you. (you can decide after taking a look at how it works and what it actually does) Otherwise, the wiki itself provides information on developing your own components. If you just want to see the topology that you described working, running ./nox_core with the 'sample_routing' component should do it. But implementing full traditional IP routing logic would require some more effort. 2011/3/9 杨宇 yangyu...@gmail.com Hi, Which webpage or tutorial may be a reference? May you give me some suggestion? Best regards -- Yang 2011-03-10 - 发件人:kk yap 发送日期:2011-03-10 09:46:14 收件人:杨宇 抄送:nox-dev 主题:Re: Re: Re: [nox-dev] different between ofdatapath and dpctl Hi, You have to write your own controller components for this. From what I remember, NOX does not ship with standard components that is full IP routing. I might be wrong. Regards KK 2011/3/9 杨宇 yangyu...@gmail.com: Hi kk yap, Thanks for your reply. These days, I read a lot of tutorial of openflow and nox in the website. Maybe I mixed these command line. Which I want to do is the followings: I want to set up a topology like this: controller __|__ | | | switch switch switch | | PC1 PC2 The openflow switches should be worked as routers. PC1 and Pc2 are in the different subnet. What should I configure the switches and controllers that Pc1 can ping the PC2. I was confused because lots of the experiment are in the mininet and all of the hosts(like PC1 and Pc2)are in the same subnet in the Openflow tutorial page. These tutorial are not suitable to my experiments. Thank you again. Best regards yang 2011-03-10 发件人: kk yap 发送时间: 2011-03-09 22:52:16 收件人: 杨宇 抄送: nox-dev 主题: Re: Re: [nox-dev] different between ofdatapath and dpctl Hi, This is because you are trying to add a kernel datapath on a userspace switch. I do not see this pair of commands being used in the link you provided ( http://www.openflow.org/foswiki/bin/view/OpenFlow/Deployment/HOWTO/LabSetup ). Any reason for doing so? /var/run/dp0 is the UNIX domain socket to communicate to the switch with. You need it when you run ofprotocol. And the datapath id is 004E46324304. The userspace switch supports only one datapath from what I recall. Regards KK PS Please don't drop the mailing list. On 9 March 2011 06:48, 杨宇 yangyu...@gmail.com wrote: hello, kk thansk for your reply.. # ./udatapath/ofdatapath --detach punix:/var/run/dp0 -d 004E46324304 -i eth1,eth2 This runs the OpenFlow switch. I think the punix:/var/run/dp0 is the created switch. and the 004E46324304 is the datapath , is that true ? 发件人: kk yap 发送时间: 2011-03-09 22:34
Re: [nox-dev] Setting Up a Virtual Testing Environment
did you try downloading and using the provided hda.dsk and kernel.bin on that page, instead of using the scripts to build your own? I'd try using these, as well as the provided openflow1.0 binary On Wed, Mar 9, 2011 at 2:30 AM, Ramana Reddy gtvrre...@gmail.com wrote: Dear Kyriakos Zarifis, Thanks for your reply. I tried using the following link http://www.openflow.org/wk/index.php/OpenFlowVMS. But when created using the scripts *(vms-create-disk.sh*,*vms-compile-kernel.sh), *I failed to do that. What is the system setup is needed to run these scripts. Does Mininet supports wireless stuff? Thanks, Ramana. * * On Wed, Mar 9, 2011 at 3:41 PM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: Ramana, the instructions on that page are unfortunately pretty old, and the VM images provided there will not work with recent versions of NOX. For newer instructions please take a look at the wiki: http://noxrepo.org/noxwiki/index.php/Using_NOX#Setting_up_a_virtual_NOX.2FOpenflow_network The currently preferred method for setting up a virtual tested is Mininethttp://www.openflow.org/foswiki/bin/view/OpenFlow/Mininet . On Wed, Mar 9, 2011 at 2:01 AM, Ramana Reddy gtvrre...@gmail.com wrote: Does any one tried setting up a virtual Testing Environment. It is working fine with me with the existing file system and kernel binary from the following link: http://noxrepo.org/manual/vm_environment.html But when I created my own kernel.bin ( http://noxrepo.org/manual/vm_environment.html) in ubuntu 10.10, it is giving kernel panic. Help in this regards is highly appreciated. ( I used existing hda.dsk.gz from the above url) VFS: Cannot open root device hda1 or unknown-block(0,0) Please append a correct root= boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Pid: 1, comm: swapper Tainted: GW 2.6.38-rc6+ #1 Call Trace: [c120f5bb] ? panic+0x50/0x13f [c1342b7b] ? mount_block_root+0x1eb/0x1ff [c10a9590] ? sys_mknod+0x13/0x15 [c1342bdb] ? mount_root+0x4c/0x54 [c1342cf4] ? prepare_namespace+0x111/0x138 [c13423d4] ? kernel_init+0x17a/0x189 [c134225a] ? kernel_init+0x0/0x189 [c1002c86] ? kernel_thread_helper+0x6/0x10 Regards, Ramana. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] problem with dpctl
He Chang, when you run dpctl locally on a switch to display its flowtable, you should be passing the dp_id that was used when creating the openflow switch (with the adddp command) so it should look something like ./dpctl show nl:0 similarly, ./dpctl add-flow nl:0 [flow] is used to manually add a flow (as opposed to doing it programatically through nox) dpctl has not much to do with NOX. It is a separate program. It runs on the switch in order to view and manually modify its flow table. (think of it as a 'manual' controller, as in, non-programmatic). Pointing dpctl towards NOX does not make much sense. It is meant to talk to switches. man dpctl and dpctl --help provide a lot of information on the program's use. 2011/3/8 changhe188 changhe...@126.com Hi, all Here's a problem when I used dpctl with my virtual machines (2 switches, 1 controller, all ubuntu9.04). We set controller's IP 192.168.0.100, two switches linked to the controller's IP are 192.168.0.1 and 192.168.0.2. When I boot nox on controller, and then do following on switch 192.168.0.2, sudo ./secchan/ofprotocol unix:/var/run/dp0 tcp:192.168.0.100:6633 sudo ./dpctl show tcp:192.168.0.2:6633 it returns, dpctl: talking to tcp:192.168.0.2:6633: Connection refused and I also tried following, ./dpctl show tcp:192.168.0.100:6633 it returns. dpctl: talking to tcp:192.168.0.100:6633: unexpected end of file and on the controller, it gives following message, 5|nox|WARN:Received unsupported message type during handshake (5) The main problem is how can I show the switch's flow table using dpctl, and how can I add an item to the flow table. It confuses me a lot, thanks. He Chang -- 常 贺 Tel:(+86)1381-138-9007 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] ARP, MAC Address of switches
Hi Sriram, I don't think there is any mapping to switch port MACs on the controller by default. You'd probably have to do something like what you described. But why do you need the MAC addresses of the switch ports in order to setup flows? (Or did I misunderstand you and you referring to the MAC addresses of H1 and H2?) On Tue, Mar 1, 2011 at 11:35 AM, Sriram natarajan.sri...@gmail.com wrote: Hello All, I have the following topology setup H1-S1-S2...-Sn-H2 (n varies from 1 to 20 in my testbed). I need to pre-install set of flows in each switch (when I receive a Datapath Join Event). To achieve this i need to know the MAC address of the connected interfaces in the switches. I was thinking to send an ARP request from the controller to all switches when I receive the datapath_join_event and the switch can FLOOD the request to all connected ports. With the ARP reply I can determine the MAC addresses. However I would like to know if there is a better way to get this information (dynamically determine the MAC addresses of all connected switch links). Is there an API which gives this information already? Thanks for your help Sriram ___ 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] ARP, MAC Address of switches
No, you are right, this is the MAC. I meant that they are not stored somewhere on NOX by default, you'd have to collect the MACs programmatically with some queries. (But this is indeed easier than sending ARPs) On Tue, Mar 1, 2011 at 12:29 PM, Niky Riga nr...@bbn.com wrote: Hi, In ofp_phy_port data structure, that includes per port info, there is a hw_addr field, which I always assumed is the MAC address of the port, is this something different? --niky On 3/1/11 3:17 PM, Kyriakos Zarifis wrote: Hi Sriram, I don't think there is any mapping to switch port MACs on the controller by default. You'd probably have to do something like what you described. But why do you need the MAC addresses of the switch ports in order to setup flows? (Or did I misunderstand you and you referring to the MAC addresses of H1 and H2?) On Tue, Mar 1, 2011 at 11:35 AM, Sriram natarajan.sri...@gmail.com mailto:natarajan.sri...@gmail.com wrote: Hello All, I have the following topology setup H1-S1-S2...-Sn-H2 (n varies from 1 to 20 in my testbed). I need to pre-install set of flows in each switch (when I receive a Datapath Join Event). To achieve this i need to know the MAC address of the connected interfaces in the switches. I was thinking to send an ARP request from the controller to all switches when I receive the datapath_join_event and the switch can FLOOD the request to all connected ports. With the ARP reply I can determine the MAC addresses. However I would like to know if there is a better way to get this information (dynamically determine the MAC addresses of all connected switch links). Is there an API which gives this information already? Thanks for your help Sriram ___ nox-dev mailing list nox-dev@noxrepo.org mailto: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 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] The difference between GUI and ENVI
Hi, ENVI and the new GUI are completely different frontend applications with different functionalities. (The only thing in common is that they both use LAVI as a backend) On Mon, Feb 28, 2011 at 4:23 AM, 谢峰 xiefen...@gmail.com wrote: Hi all, Does anybody know the difference between GUI and ENVI, or they are just the same application with the same function? many thanks! regards, XieFeng ___ 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
Hey Shiva, are you sure NOX is running properly? I noticed you mentioned running it with ./nox_core -v -i tcp:6633 monitoring That should probably be ./nox_core -v -i ptcp:6633 monitoring ('tcp'-'ptcp'). As long as you have one or more switches trying to connect to NOX after you run this, you should see them when you fire up the GUI. (If you stil don't, please provide a log of the console output of ./nox_core, ./nox-gui, if you see anything on the left panel of the GUI etc) On Fri, Feb 18, 2011 at 8:37 AM, Murphy McCauley jam...@nau.edu wrote: You must run nox_core with monitoring on the commandline. Also, you probably should/must turn on verbose logging (though this is likely to change in the near future). So, for example: ./nox_core -v -v monitoring Hopefully then the GUI should do something. If not, maybe you can explain how it's not running (does nothing show up, does the GUI appear but not do anything, does it print a stacktrace, etc.). -- Murphy On Feb 18, 2011, at 4:13 AM, shivakrishn...@rib.srmuniv.ac.in wrote: Dear All, I am trying to run nox-gui using ./nox-gui.py but it is not running. As i see there should be atleast one monitor component. How to run monitor component. waiting for reply. Thanks Regards, Shiva ___ 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] Getting individual flow stats for an python app
Exactly - there's an example of using this in netapps/monitoring.py (line 188) in destiny, (and you can trace how it's handled etc) If all you need is to print out/look at the flow stats (rather than act on them programatically), and you do switch to destiny, you could use the gui for that. On Mon, Feb 21, 2011 at 8:44 AM, Murphy McCauley jam...@nau.edu wrote: I believe that the flow stats event is Pythonized in both the zaku and destiny branches -- it's just that a helper method to make the callback easy to register is missing from zaku. A simple register_for_flow_stats_in method DOES exist in the destiny branch, though. So I'd suggest you either switch to the destiny branch, or look at the relevant patch to destiny (21e3bf59aca5d3df8e86bcd09cc9156a66866f7f) which should demonstrate how to register a callback for flow stats events (it's not particularly hard -- basically you call register_handler with Flow_stats_in_event.static_get_name() as the first parameter). Hope that helps. -- Murphy On Feb 21, 2011, at 8:30 AM, Malveeka Tewari wrote: Hi I am writing a python app for the NOX controller and want to obtain flow statistics for individual flows from an openflow switch. I can see that nox supports python callback handlers for handling stats reply for aggregate flows stats, table stats , port stats and desc stats events, but the handler for individual flow stat seems to be missing. Any suggestions on how can I extend the functionality to handle flow stats event in a python nox app. Thanks! Malveeka ___ 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] Getting individual flow stats for an python app
can you try using flow.wildcards = openflow.OFPFW_ALL after making sure that nox.lib.openflow has been imported? On Mon, Feb 21, 2011 at 1:37 PM, malve...@cs.ucsd.edu wrote: Thanks! I have another question. Using the nox controller , I have inserted forwarding rules such that packets that match a particular (src_mac, dst_mac) pair be sent out on a particular port. Since this is a wildcard entry, it also matches packets that belong to the null vlan as long as the (src_mac, dst_mac) pair matches. However, when I request for aggregate flow stats from the nox controller, it does not show any flows 00117|openflow-event|DBG:received stats reply from 00ffca7e3ad4 Aggregate stats in from datapath 00.:ff:ca:7e:3a:d4 {'packet_count': 0L, 'byte_count': 0L, 'flow_count': 0L} This is how I am requesting for aggregate flow stats def aggregate_timer(self, dpid): flow = ofp_match() flow.wildcards = 0x self.ctxt.send_aggregate_stats_request(dpid, flow, 0xff) self.post_callback(MONITOR_TABLE_PERIOD, lambda : self.aggregate_timer(dpid)) But running ovs-ofctl on the switch does show that there are flows in the forwarding table. Jan 02 11:25:34|1|ofctl|INFO|connecting to unix://var/run/openvswitch/ful0.mgmt stats_reply (xid=0xe9c1a): flags=none type=2(aggregate) packet_count=414 byte_count=42228 flow_count=2 I am not sure why sending a request from the nox controller does not give the correct response. I don't know if that's a bug with the switch's implementation or nox or I am doing something wrong while requesting for stats. The following thread leads me to believe that I am missing something but I am not sure what. https://mailman.stanford.edu/pipermail/openflow-spec/2010-February/000890.html Any thoughts ? Thanks! Malveeka - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: Murphy McCauley jam...@nau.edu Cc: Malveeka Tewari malve...@cs.ucsd.edu, nox-dev@noxrepo.org Sent: Monday, February 21, 2011 1:10:42 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app Exactly - there's an example of using this in netapps/monitoring.py (line 188) in destiny, (and you can trace how it's handled etc) If all you need is to print out/look at the flow stats (rather than act on them programatically), and you do switch to destiny, you could use the gui for that. On Mon, Feb 21, 2011 at 8:44 AM, Murphy McCauley jam...@nau.edu wrote: I believe that the flow stats event is Pythonized in both the zaku and destiny branches -- it's just that a helper method to make the callback easy to register is missing from zaku. A simple register_for_flow_stats_in method DOES exist in the destiny branch, though. So I'd suggest you either switch to the destiny branch, or look at the relevant patch to destiny (21e3bf59aca5d3df8e86bcd09cc9156a66866f7f) which should demonstrate how to register a callback for flow stats events (it's not particularly hard -- basically you call register_handler with Flow_stats_in_event.static_get_name() as the first parameter). Hope that helps. -- Murphy On Feb 21, 2011, at 8:30 AM, Malveeka Tewari wrote: Hi I am writing a python app for the NOX controller and want to obtain flow statistics for individual flows from an openflow switch. I can see that nox supports python callback handlers for handling stats reply for aggregate flows stats, table stats , port stats and desc stats events, but the handler for individual flow stat seems to be missing. Any suggestions on how can I extend the functionality to handle flow stats event in a python nox app. Thanks! Malveeka ___ 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] Getting individual flow stats for an python app
So the thing is that flow.wildcard definitely needs to be at least 0x3f (and not 0x, which I am guessing you got from the monitor.py example, which is actually obsolete and should be updated, as the wildcard field has been changed to 32 bits (actual max length is 22). So OFPFW_ALL (which should be equal to 0x3f, or 4194303) should cover it. As a fast check, could you try manually setting flow.wildcard = 0x just to make sure that it's a wildcard issue? On Mon, Feb 21, 2011 at 2:58 PM, malve...@cs.ucsd.edu wrote: Even with flow.wildcard = openflow.OFPFW_ALL the counters seem to be zero .. :( - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: malve...@cs.ucsd.edu Cc: nox-dev@noxrepo.org, Murphy McCauley jam...@nau.edu Sent: Monday, February 21, 2011 2:47:10 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app can you try using flow.wildcards = openflow.OFPFW_ALL after making sure that nox.lib.openflow has been imported? On Mon, Feb 21, 2011 at 1:37 PM, malve...@cs.ucsd.edu wrote: Thanks! I have another question. Using the nox controller , I have inserted forwarding rules such that packets that match a particular (src_mac, dst_mac) pair be sent out on a particular port. Since this is a wildcard entry, it also matches packets that belong to the null vlan as long as the (src_mac, dst_mac) pair matches. However, when I request for aggregate flow stats from the nox controller, it does not show any flows 00117|openflow-event|DBG:received stats reply from 00ffca7e3ad4 Aggregate stats in from datapath 00.:ff:ca:7e:3a:d4 {'packet_count': 0L, 'byte_count': 0L, 'flow_count': 0L} This is how I am requesting for aggregate flow stats def aggregate_timer(self, dpid): flow = ofp_match() flow.wildcards = 0x self.ctxt.send_aggregate_stats_request(dpid, flow, 0xff) self.post_callback(MONITOR_TABLE_PERIOD, lambda : self.aggregate_timer(dpid)) But running ovs-ofctl on the switch does show that there are flows in the forwarding table. Jan 02 11:25:34|1|ofctl|INFO|connecting to unix://var/run/openvswitch/ful0.mgmt stats_reply (xid=0xe9c1a): flags=none type=2(aggregate) packet_count=414 byte_count=42228 flow_count=2 I am not sure why sending a request from the nox controller does not give the correct response. I don't know if that's a bug with the switch's implementation or nox or I am doing something wrong while requesting for stats. The following thread leads me to believe that I am missing something but I am not sure what. https://mailman.stanford.edu/pipermail/openflow-spec/2010-February/000890.html Any thoughts ? Thanks! Malveeka - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: Murphy McCauley jam...@nau.edu Cc: Malveeka Tewari malve...@cs.ucsd.edu, nox-dev@noxrepo.org Sent: Monday, February 21, 2011 1:10:42 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app Exactly - there's an example of using this in netapps/monitoring.py (line 188) in destiny, (and you can trace how it's handled etc) If all you need is to print out/look at the flow stats (rather than act on them programatically), and you do switch to destiny, you could use the gui for that. On Mon, Feb 21, 2011 at 8:44 AM, Murphy McCauley jam...@nau.edu wrote: I believe that the flow stats event is Pythonized in both the zaku and destiny branches -- it's just that a helper method to make the callback easy to register is missing from zaku. A simple register_for_flow_stats_in method DOES exist in the destiny branch, though. So I'd suggest you either switch to the destiny branch, or look at the relevant patch to destiny (21e3bf59aca5d3df8e86bcd09cc9156a66866f7f) which should demonstrate how to register a callback for flow stats events (it's not particularly hard -- basically you call register_handler with Flow_stats_in_event.static_get_name() as the first parameter). Hope that helps. -- Murphy On Feb 21, 2011, at 8:30 AM, Malveeka Tewari wrote: Hi I am writing a python app for the NOX controller and want to obtain flow statistics for individual flows from an openflow switch. I can see that nox supports python callback handlers for handling stats reply for aggregate flows stats, table stats , port stats and desc stats events, but the handler for individual flow stat seems to be missing. Any suggestions on how can I extend the functionality to handle flow stats event in a python nox app. Thanks! Malveeka ___ 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] Getting individual flow stats for an python app
Glad it works. Interesting, looking at it now it still looks like OFPFW_ALL==0x3f should be working too. Something to look into, thanks for bringing it up. On Mon, Feb 21, 2011 at 5:35 PM, Malveeka Tewari malve...@cs.ucsd.eduwrote: Setting flow.wildcards = 0x solved the problem :-) Thanks! - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: malve...@cs.ucsd.edu Cc: nox-dev@noxrepo.org, Murphy McCauley jam...@nau.edu Sent: Monday, February 21, 2011 5:01:52 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app So the thing is that flow.wildcard definitely needs to be at least 0x3f (and not 0x, which I am guessing you got from the monitor.py example, which is actually obsolete and should be updated, as the wildcard field has been changed to 32 bits (actual max length is 22). So OFPFW_ALL (which should be equal to 0x3f, or 4194303) should cover it. As a fast check, could you try manually setting flow.wildcard = 0x just to make sure that it's a wildcard issue? On Mon, Feb 21, 2011 at 2:58 PM, malve...@cs.ucsd.edu wrote: Even with flow.wildcard = openflow.OFPFW_ALL the counters seem to be zero .. :( - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: malve...@cs.ucsd.edu Cc: nox-dev@noxrepo.org, Murphy McCauley jam...@nau.edu Sent: Monday, February 21, 2011 2:47:10 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app can you try using flow.wildcards = openflow.OFPFW_ALL after making sure that nox.lib.openflow has been imported? On Mon, Feb 21, 2011 at 1:37 PM, malve...@cs.ucsd.edu wrote: Thanks! I have another question. Using the nox controller , I have inserted forwarding rules such that packets that match a particular (src_mac, dst_mac) pair be sent out on a particular port. Since this is a wildcard entry, it also matches packets that belong to the null vlan as long as the (src_mac, dst_mac) pair matches. However, when I request for aggregate flow stats from the nox controller, it does not show any flows 00117|openflow-event|DBG:received stats reply from 00ffca7e3ad4 Aggregate stats in from datapath 00.:ff:ca:7e:3a:d4 {'packet_count': 0L, 'byte_count': 0L, 'flow_count': 0L} This is how I am requesting for aggregate flow stats def aggregate_timer(self, dpid): flow = ofp_match() flow.wildcards = 0x self.ctxt.send_aggregate_stats_request(dpid, flow, 0xff) self.post_callback(MONITOR_TABLE_PERIOD, lambda : self.aggregate_timer(dpid)) But running ovs-ofctl on the switch does show that there are flows in the forwarding table. Jan 02 11:25:34|1|ofctl|INFO|connecting to unix://var/run/openvswitch/ful0.mgmt stats_reply (xid=0xe9c1a): flags=none type=2(aggregate) packet_count=414 byte_count=42228 flow_count=2 I am not sure why sending a request from the nox controller does not give the correct response. I don't know if that's a bug with the switch's implementation or nox or I am doing something wrong while requesting for stats. The following thread leads me to believe that I am missing something but I am not sure what. https://mailman.stanford.edu/pipermail/openflow-spec/2010-February/000890.html Any thoughts ? Thanks! Malveeka - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: Murphy McCauley jam...@nau.edu Cc: Malveeka Tewari malve...@cs.ucsd.edu, nox-dev@noxrepo.org Sent: Monday, February 21, 2011 1:10:42 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Getting individual flow stats for an python app Exactly - there's an example of using this in netapps/monitoring.py (line 188) in destiny, (and you can trace how it's handled etc) If all you need is to print out/look at the flow stats (rather than act on them programatically), and you do switch to destiny, you could use the gui for that. On Mon, Feb 21, 2011 at 8:44 AM, Murphy McCauley jam...@nau.edu wrote: I believe that the flow stats event is Pythonized in both the zaku and destiny branches -- it's just that a helper method to make the callback easy to register is missing from zaku. A simple register_for_flow_stats_in method DOES exist in the destiny branch, though. So I'd suggest you either switch to the destiny branch, or look at the relevant patch to destiny (21e3bf59aca5d3df8e86bcd09cc9156a66866f7f) which should demonstrate how to register a callback for flow stats events (it's not particularly hard -- basically you call register_handler with Flow_stats_in_event.static_get_name() as the first parameter). Hope that helps. -- Murphy On Feb 21, 2011, at 8:30 AM, Malveeka Tewari wrote: Hi I am writing a python app for the NOX controller and want to obtain flow statistics for individual flows from an openflow switch. I can see that nox supports python callback handlers
Re: [nox-dev] Matching wildcard flows with different priorities
Hey Malveeka, what kind of switch are you using? (sorry if you mentioned this and I missed it) On Mon, Feb 21, 2011 at 9:08 PM, malve...@cs.ucsd.edu wrote: So if I insert the rules in the order flow1, flow2 then you're right flow2 doesn't get installed . However, if I insert flow2 and then flow1, both rule do get installed but in that case, even packets that should match flow1 (because it's higher priority) match against flow2 and get forwarded incorrectly. - Original Message - From: Murphy McCauley jam...@nau.edu To: malve...@cs.ucsd.edu Cc: nox-dev nox-dev@noxrepo.org Sent: Monday, February 21, 2011 8:28:38 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Matching wildcard flows with different priorities I think my next step would be to inspect the switch and see if the flows I'm expecting are there (that is... is flow2 actually getting installed?). If you're using the reference switch or Open vSwitch, I'd just use the appropriate dpctl tool to dump the flow table. -- Murphy On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote: I am not building the match by hand. I am specifying the flow as a dictionary and calling the install_datapath_flow method: inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT, openflow.OFP_FLOW_PERMANENT, actions, bufid, priority, port, buf) where flow is simply a dictionary .. flow1 = {'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src': array('B', [0, 96, 221, 70, 81, 94])} flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])} and I invoke install_datapath_flow to insert entries flow flow1 and flow2. From what I understand install_datapath_flow internally calls set_match to create the ofp_match object for the flow. I even tried creating a ofp_match object for the given flow and passing it to the install_datapath_flow command in place of flow but that gave me an AttributeError Following is the traceback. Traceback (most recent call last): File ./nox/lib/util.py, line 138, in f ret = f.cb(event.datapath_id, attrs) File ./nox/coreapps/examples/hybriddc.py, line 66, in datapath_join_callback rules.insert_static_rules(inst, dpid, 1) File ./nox/coreapps/examples/staticrules.py, line 38, in insert_static_rules self.insert_rules_pod01(inst, dpid) File ./nox/coreapps/examples/staticrules.py, line 112, in insert_rules_pod01 None, None) File ./nox/coreapps/examples/staticrules.py, line 288, in insert_forwarding_rule port, buf) File ./nox/lib/core.py, line 380, in install_datapath_flow (idle_timeout, actions, buffer_id), hard_timeout) File ./nox/lib/core.py, line 253, in send_flow_command m = set_match(attrs) File ./nox/lib/util.py, line 250, in set_match if attrs.has_key(core.IN_PORT): File ./nox/lib/openflow.py, line 756, in lambda __getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name) File ./nox/lib/openflow.py, line 54, in _swig_getattr raise AttributeError(name) - Original Message - From: Murphy McCauley jam...@nau.edu To: malve...@cs.ucsd.edu Cc: nox-dev nox-dev@noxrepo.org Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific Subject: Re: [nox-dev] Matching wildcard flows with different priorities The expected behavior is as you expect, not what you're observing. Are you building the match by hand, or are you using set_match() (in util) or something that calls it? If you're building it by hand, are you accounting for byte order in the wildcards field using htonl()? -- Murphy On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote: Hi I thought I'd start another thread for this issue.. I am inserting the following two flow entries in the switch. 1) match: (src1, dst1, *) , action: send out on port x, priority = 101 (higher priority) 2) match: (src1, *) action: send out on port y, priority = 5 (lower priority) The flow between src1 and dst1 is correctly being sent on port x. This is expected because flow entry 1 has a higher priority. However for a flow between src1 and dst2, the packets are being sent to the controller instead of being sent out on port y. I had expected that since the match will fail for a higher priority flow entry it'll be matched against the lower priority entry and sent out on port y but this doesn't seem to be the case. Is this the expected behavior ? If so, what should I change so that the flows between src1 and destination other than dst1 are sent out on port y ? Thanks! Malveeka ___ 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 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] About python issue
Hi, this is problem known prolbem with python which has been addressed here http://www.mail-archive.com/nox-dev@noxrepo.org/msg01448.html http://www.mail-archive.com/nox-dev@noxrepo.org/msg01448.htmlAlso, this problem should not exist on the 'destiny' branch 2011/1/24 Min-Hyup Kang kang-min-h...@hanmail.net Dear all Now, I am facing some problem in NOX dependencies. so, I need your help. apt-get install autoconf automake g++ libtool python python-twisted swig libxerces-c2-dev libssl-dev make libboost-python-dev libssl-dev libboost1.42-all-dev -I can't use libboost1.35-dev. so, I used libboost1.42-all-dev. and apt-get install libsqlite3-dev python-simplejson apt-get install python-sphinx and then I installed NOX 0.6 git clone git://noxrepo.org/nox #cd nox #./boot.sh #mkdir build/ #cd build/ #../configure #make #cd src #make check and then cd src ./nox_core tests NOX 0.9.0(zaku)~full~beta (nox_core), compiled Jan 17 2011 09:45:40 Compiled with OpenFlow 0x01 1|nox|ERR:Cannot change the state of 'python' to INSTALLED: 'python' ran into an error: Unable to construct a Python component: Traceback (most recent call last): File ./nox/coreapps/pyrt/pyoxidereactor.py, line 364, in instance return pyoxidereactor(ctxt) File ./nox/coreapps/pyrt/pyoxidereactor.py, line 133, in __init__ signal.signal(signal.SIGCHLD, self._handleSigchld) AttributeError: 'pyoxidereactor' object has no attribute '_handleSigchld' As you can see, There is 1|nox|ERR:Cannot change the state of 'python' to INSTALLED. So, I think there is python dependencies issue. Can you tell me your opinion, please ? == Min-Hyup Kang Thank you ! == kang-min-h...@hanmail.net ___ 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 Error
Hi Syed, type=3 corresponds to OFPET_FLOW_MOD_FAILED, and code=0 to OFPFMFC_ALL_TABLES_FULL Any reason why the flow table would be indeed full? On Wed, Jan 12, 2011 at 3:45 PM, Syed Akbar Mehdi akbar.me...@seecs.nust.edu.pk wrote: Hi, While running some captured network data through an openflow switch running on a Linux box, I get the following error messages at the controller: 00015|openflow-event|ERR:received Openflow error packet from dpid=002320b77f72: type=3, code=0, 80 bytes of data What is meant by the type = 3, code = 0 ? Also does the 80 bytes mean that the packet at the switch that caused it to send this error to the controller was 80 bytes in size? -- Regards, Syed Akbar Mehdi, School of EECS (SEECS), National University of Sciences and Technology (NUST), Pakistan. ___ 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] how to add a new component
Hi Xiefeng, have you taken a look at this? ( http://www.openflowswitch.org/wk/index.php/Basic_Spanning_Tree#Installation) there are a few minor outdated instructions ( for example cd noxcore should be cd nox and nox.xml should be nox.json) but the main idea is described there. On Sun, Dec 26, 2010 at 3:27 PM, 谢峰 xiefen...@gmail.com wrote: Hi, all I have download tha Spanning_Tree component, but I don't know how to use it. someone can help me? thanks, xiefeng ___ 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] how to add a new component
Are you running nox_core with spanning_tree? What are the sings that spanning_tree is not working? Can you attach a log with any relevant error messages? 2010/12/26 谢峰 xiefen...@gmail.com I modified the file:spanning_tree/Makefile.am as follow: include ../../../Make.vars EXTRA_DIST =\ meta.json\ __init__.py \ spanning_tree.py NOX_RUNTIMEFILES = meta.json\ __init__.py \ spanning_tree.py all-local: @dlist=$(NOX_RUNTIMEFILES);for f in $$dlist; do \ if test -f $(srcdir)/$$f test ! -f $$f; then \ ln -sf $(srcdir)/$$f $(builddir)/$$f;\ fi;\ done; and I modified the file spanning_tree/meta.json as follow: { components: [ { python: nox.apps.spanning_tree.spanning_tree, dependencies: [ python, discovery ], name: spanning_tree, } ] } Is there some problem, but during the installation, there is no error. however, it seems the spanning_tree doesn't work. Thanks for your help. regards xiefeng 在 2010年12月26日 下午10:37,谢峰 xiefen...@gmail.com写道: I've done as the steps and I modified the nox.json, after the installation, In this file *build/src/etc/nox.json, I see packet-in-event first say spanning_tree component.* 2010/12/26 Kyriakos Zarifis kyr.zari...@gmail.com Hi Xiefeng, have you taken a look at this? ( http://www.openflowswitch.org/wk/index.php/Basic_Spanning_Tree#Installation) there are a few minor outdated instructions ( for example cd noxcore should be cd nox and nox.xml should be nox.json) but the main idea is described there. On Sun, Dec 26, 2010 at 3:27 PM, 谢峰 xiefen...@gmail.com wrote: Hi, all I have download tha Spanning_Tree component, but I don't know how to use it. someone can help me? thanks, xiefeng ___ 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] Event handling order
Hi Syed, please take a look here http://noxrepo.org/noxwiki/index.php/FAQ#How_can_I_affect_the_order_that_different_components_handle_events.3F On Wed, Dec 22, 2010 at 9:34 PM, Syed Akbar Mehdi akbar.me...@seecs.nust.edu.pk wrote: Hi, Is there some way to impose an order between various components with regards to how an event is handled? e.g. if I want to say that Component A should always get a Packet_in_event before Component B, is that possible? -- Regards, Syed Akbar Mehdi, School of EECS (SEECS), National University of Sciences and Technology (NUST), Pakistan. ___ 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] dump the topology in the console
Hi, the topology component holds some structures that describe the topology. I guess a way to dump a description of the topology would be to get a hangle to that component (from any component, presumably your own) and read and print out the information you're interested. If there is no specific reason why you want the topology dumped on the console as text, you could use NOX's GUI [1], found on the destiny branch [2], to get a visualization of the topology. [1] http://noxrepo.org/noxwiki/index.php/NOX_GUI [2] http://noxrepo.org/noxwiki/index.php/NOX_Installation#Installation On Thu, Dec 16, 2010 at 3:02 PM, 谢峰 xiefen...@gmail.com wrote: Hello, all, I want to dump the topology so that I can see the topology in the console. how should I do? Should I add some codes into the routing.cc or nox_main.cc file, but I don't know exactly what the detailed nodes information stored in. Can anybody help me. thanks. regards fengxie -- Feng Xie Ph.D. Candidate Network Security Lab, Research Institute of Information Technology Tsinghua National Laboratory for Information Science and Technology Dept. of Automation, Tsinghua Univ., Beijing, China, 100084. Tel.: +86-010-6277-2656 Email: xiefen...@gmail.com ___ 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 Execution Error
Hi Alexandre, this is an issue with more recent versions of Twisted (which version are you using?) it has been addressed here: http://www.mail-archive.com/nox-dev@noxrepo.org/msg01448.html On Thu, Dec 9, 2010 at 3:40 PM, Alexandre Passito pass...@dcc.ufam.edu.brwrote: Hi All, After recompiling nox zaku it returned the following error when executing ./nox_core --- NOX 0.9.0(zaku)~full~beta (nox_core), compiled Dec 9 2010 19:35:24 Compiled with OpenFlow 0x01 1|nox|ERR:Cannot change the state of 'python' to INSTALLED: 'python' ran into an error: Unable to construct a Python component: Traceback (most recent call last): File ./nox/coreapps/pyrt/pyoxidereactor.py, line 364, in instance return pyoxidereactor(ctxt) File ./nox/coreapps/pyrt/pyoxidereactor.py, line 133, in __init__ signal.signal(signal.SIGCHLD, self._handleSigchld) AttributeError: 'pyoxidereactor' object has no attribute '_handleSigchld' Any idea how to pass this error? Regards, Alex ___ 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] 6633 routing error
Hi Abhishek, nothing is necessarily wrong in what you're describing. NOX seems to have started and is waiting for switches to connect. Running nox_core with the -v flag will give you more information about what's happening. Zaku is fine. It's the current HEAD (master branch, and stable version) On Wed, Dec 8, 2010 at 6:51 PM, majum...@cse.unl.edu wrote: After installing everything properly, when i tried the following $./nox_core -i ptcp:6633 routing it got stuck in an infinite loop. it gave NOX0.8.0`full`beta (nox_core), compiled Dec 8 2010 19:22:19 Compiled with OpenFlow 0x01 and the prompt got stuck. I'm using a Ubuntu10Vm, OpenFlow v1.0. Also while installing NOX compatible with OpenFlow v1.0 when I did git branch -a, I got * zaku instead of a * master. I don't whether this is an issue or not, but still this was something different from what is mentioned in the page and so I wanted to let you know. Please reply ASAP. Thanks Abhishek ___ 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] Issue regarding setting up Controller (Virtual Testing Environment)
Hi Asnat, KK is referring to the output that you get on the console when you start nox_core in verbose mode (using -v). When you get the 'connection failed/dropped' messages on the switch side, you'll get some corresponding log messages on NOX's console; that's what we're looking for. On Sun, Dec 5, 2010 at 8:38 PM, Hasnat Ahmed 10msithah...@seecs.edu.pkwrote: Hi kk, can you tell me how to view the nox logs...where its being placed ... thanks Regards Hasnat On Sat, Dec 4, 2010 at 11:22 PM, kk yap yap...@stanford.edu wrote: Hi Hasnat, You are not telling me much other than you have some errors going on. It would definitely help if you can tell me what the errors are. Then maybe I can see if I can advise on how to get rid of them. So, can I have the logs? Thanks. Regards KK PS Unless this is meant to be a private email, please don't drop the mailing list. Thanks. On 4 December 2010 06:39, Hasnat Ahmed 10msithah...@seecs.edu.pk wrote: now i have redone all the steps mentioned in CREATE AN OPENFLOW NETWORK WITHIN A SINGLE PC my switch portion is verified successfully and drawing command is also working fine but this time at controller(NOX) portion when i run the ./nox_core -i ptcp:6633 routing command it is displaying me that line openflow compiled and cursor stays blink like its in blocking stage etc i dont know than when i run a command vms-start.py 2hosts-2ofsw.vms.xml its shows me error hda.disk file is missing. but i have placed this file and its present. On Wed, Dec 1, 2010 at 6:18 PM, kk yap yap...@stanford.edu wrote: I see the errors on the switch side, but what about the NOX side? What is the controller saying about the switch? Is the switch disconnecting or is the controller disconnecting the switch? That's critical for understanding what is happening. Regards KK On 1 December 2010 03:22, Hasnat Ahmed 10msithah...@seecs.edu.pk wrote: sorry yapkke , i did not get ur point. On Wed, Dec 1, 2010 at 11:57 AM, kk yap yap...@stanford.edu wrote: What about the log from the NOX side of things? Regards KK On 30 November 2010 22:49, Hasnat Ahmed 10msithah...@seecs.edu.pk wrote: Hi , while creating a openflow network within a single pc I have verified successfully switch set up part but when tried to setup the controller portion. we are examing a issue. controller port (6663) is in listening mode (fine)but when we start the controller it will 1st show its status connected and then lose the connection and cannot reestablish the connection. so without holding the conntroller connectivity the simulation cant run. kindly see the attached pic. we are not getting out that why controller loses its connectivity. ___ 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] Help creating a flow
Great! thanks for updating. On Thu, Dec 2, 2010 at 5:51 PM, Derek Cormier derek.corm...@lab.ntt.co.jpwrote: Oh, that's embarrasing! I was using body.port_no instead of body.out_port. It works now. -Derek On 12/03/2010 10:34 AM, Derek Cormier wrote: I registered for flow mod events and the event shows the flow being added. I can also see the flow through Open vSwitch. I'm not receiving any errors, so the request is in the correct format. Could it be a problem with Open vSwitch? Request == request = ofp_stats_request() request.header.xid = 25 request.type = OFPST_FLOW request.flags = 0 body = ofp_flow_stats_request() body.port_no = OFPP_NONE body.table_id = 0xff # All flow tables body.match.wildcards = OFPFW_ALL request.header.length = len(request.pack()) + len(body.pack()) self.send_openflow_command(dpid, request.pack() + body.pack()) ___ 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] Help creating a flow
can you paste the code where you build and send your stats request? On Tue, Nov 30, 2010 at 5:48 PM, Derek Cormier derek.corm...@lab.ntt.co.jpwrote: Interesting. I used Open vSwitch's ovs-ofctl dump-flows and I can see the flow. I am waiting three seconds after installing the flow before requesting the flow stats, so that should be enough time... -Derek On 12/01/2010 10:40 AM, Kyriakos Zarifis wrote: Can you look at the flowtable using dpctl to verify that it is empty? ( could it be the timing? are you sending the request right after you send the flowmod?) On Tue, Nov 30, 2010 at 5:33 PM, Derek Cormier derek.corm...@lab.ntt.co.jp wrote: Oh, and I forgot to mention that I am sending a flow stats request. On 12/01/2010 10:30 AM, Derek Cormier wrote: Hello, I am trying to add a flow to a switch in my Nox component. After the switch joins the datapath, I create a simple flow to test that it works: flow = dict() flow[NW_PROTO] = UDP_PROTOCOL self.install_datapath_flow(dpid, flow, OFP_FLOW_PERMANENT, OFP_FLOW_PERMANENT, [[OFPAT_OUTPUT, [0, OFPP_CONTROLLER]]]) I then receive a flow stats reply event in my handler, but event.flows = [] and event.flowcount = 0. Do you know what I am doing wrong? Thank you, Derek ___ 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 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Arguments For Components
exactly - looks like you already found it, but for the record there is an equivalent example for python in discovery.py On Mon, Nov 29, 2010 at 6:24 PM, Derek Cormier derek.corm...@lab.ntt.co.jpwrote: Ooh I see, it uses the Configuration object. I was able to get it working in python. In case anyone else has this problem, if you override configure you can use config['arguments'] to get a list of args passed to the component. Thanks KK! Derek On 11/30/2010 11:10 AM, kk yap wrote: Hi Derek, In C/C++, jsonmessenger provides an example. Regards KK On 29 November 2010 17:57, Derek Cormierderek.corm...@lab.ntt.co.jp wrote: Hi Kyriakos, I was looking to send arguments when running ./nox_core. I just found the documentation on the Wiki, but it's not clear on how to access the arguments from the component. Do you know how to do this? Thanks! -Derek On 11/30/2010 10:16 AM, Kyriakos Zarifis wrote: Hi Derek, You can pass arguments to components on startup as flags when you run ./nox_core If you're talking about sending commands to components while NOX is running (which is think is what you want?), this can also be done using the messenger component. The idea is that you send a command (as a json string) to the messenger, indicating which component it is meant for. This would raise a JSONmsg_event which can be caught and handled by your component. I think the script nox_console communicates only with LAVI in that way, but it provides an example, and the idea is the same for any component. (If you use the GUI from destiny, you can type a json command in the console and direct it to any component) On Mon, Nov 29, 2010 at 4:48 PM, Derek Cormier derek.corm...@lab.ntt.co.jp wrote: Is there any way to send command line arguments to Nox components? Thanks, Derek ___ 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 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Cycles
Are you running 'discovery'? If so, the events you see could be the LLDP packets sent by that component. On Tue, Nov 16, 2010 at 5:55 PM, Rohit Manohar rdman...@ncsu.edu wrote: I am trying to build the following topology in Nox: Openflow2 -- - End1 -- Openflow1Openflow4 End2 -- - - Openflow3 When I register Openflow4 with NOX, some sort of traffic loop is getting created. NOX is continuously registering packet-in events even when I haven't set up any flows. Are cycles not supported by NOX? If yes, do I need to indicate it in the .conf file? Regards, -- Rohit Manohar Graduate Student North Carolina State University Raleigh, US. ___ 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] help for trying the GUI
Hi Christopher, I'm glad you got it running. You're right, the last character there is getting cropped out because it doesn't fit in the drawing rectangle of the node. I've seen this when running the gui on a mac, and reduced the size of the fonts to fix it, but obviously it can still happen on some platforms. At some point I'll just make the size of the displayed string adjustable. However the dpid can be viewed in several ways: I don't remember if I've actually pushed the code for this yet, but if you hover the mouse over a node you might get a popup displaying information about the node. If not, right-clicking on the node will bring up a menu with, among other things, information about the switch, including the ID (If you really need to see it drawn, for now could do it manually: topology.py, line 168) PS Also note in the left window in the attached .png that all of the field values appear to be decimal. How difficult would it be to make some of them more easily parse-able by mere mortals, such as myself? :-) Right, decimal IPs are admittedly not too helpful: Shouldn't be too hard to edit this - thanks for the feedback ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] multi command to a switch
Hi Attilio, I'm pretty sure the answer to (1) is yes, as for (2) I can't answer with certainty off the top of my head but I think that's the right syntax too (I'd just try it out with wireshark running on both interfaces to verify that I'm getting the wanted behavior. Looking at the OF spec would help too. Section 3.3 describes the use of actions) On Thu, Nov 11, 2010 at 2:56 AM, Attilio Broglio attilio.brog...@create-net.org wrote: Hi Kyriakos, in these days I have worked on the code and I understand the mistake I did (thanks). Then I have other two questions: 1) When I send an action-list like: actions=mod_vlan_vid:100,output:1 In this case, do I send the flow to the port 1 with the vlan_id changed to 100? 2) 1) When I send an action like: actions=output:1,mod_vlan_vid:100,output:1 In this case, do I send a normal flow to the port 1 and also a flow with vlan_id modified to 100 to port 1? Thanks, Attilio - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: Attilio Broglio attilio.brog...@create-net.org Cc: nox-dev@noxrepo.org Sent: Monday, November 1, 2010 1:20:24 AM Subject: Re: [nox-dev] multi command to a switch Hi Attilo, The files you are playing with belong to the switch implementation and not NOX. My instructions described how to use the controller to define a list of actions that should be performed on a switch when a flow is matched. If you are actually trying to add new actions (new functionalities) on the switch that are not in the openflow specification, that's a whole different (and much bigger) story - and it's an openflow question. But I'm pretty sure that's not what you want to do. The 2 actions you described in the first message (set vlan, send on a port) are both valid, existing OF actions. You just need to make NOX tell the switch to perform them. So when I said add actions to the action list, I was referring to the action list that NOX sends to a switch in a flow_mod message instructing it to insert a flow entry and what to do with packets matching it. Regards On Fri, Oct 29, 2010 at 3:15 AM, Attilio Broglio attilio.brog...@create-net.org wrote: Hi Kyriakos, in these days I am working in order to add my multi-action in the action-list. I put my action type in the openflow.h file and also I create some specific action in the dp_act.c. Up to now I'am able to do only simple action on the switch, not multi-actions, but I'm going on this direction. But I have 2 questions: When I describe the action I put the implementation in the file udatapath/dp_act.c. I see that there is also another similar file in datapath/dp_act.c that more or less is the same. So wich are the differences between these 2 files? And it's right to implement the action only in the udatapath/dp_act.c (as I do)? Thanks, Attilio - Original Message - From: Kyriakos Zarifis kyr.zari...@gmail.com To: Attilio Broglio attilio.brog...@create-net.org Cc: nox-dev@noxrepo.org Sent: Monday, October 25, 2010 9:08:04 PM Subject: Re: [nox-dev] multi command to a switch Hi Attilio, actions is a list which is executed by the switch when a flow is matched, so you should be able to do that by appending one or more actions to the action list. (Setting vlan id, stripping vlan id, sending out a port are 3 separate actions) On Mon, Oct 25, 2010 at 8:55 AM, Attilio Broglio attilio.brog...@create-net.org wrote: Hi, I have a short question about nox/openflow (I am working on the switch.cc file). I would to know if it's possible to apply 2 different actions to a flow . For example: A packet arrives to the port 1 and I want to send it to the port 2 with a vlan_ID, and at the same time, send it also to the port 3 with a different VLAN_ID. Is this possible or not? Thanks, Attilio ___ 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] help for trying the GUI
Dependencies: 'jsonmessenger' OK 00074|nox|DBG:data_cache: Current state: INSTALLED Required state: INSTALLED Dependencies: 'datatypes' OK 00075|nox|DBG:python: Current state: INSTALLED Required state: INSTALLED Dependencies: 00076|nox|DBG:monitoring: Current state: INSTALLED Required state: INSTALLED Dependencies: 'python' OK, 'lavi_switches' OK, 'lavi_swlinks' OK, 'lavi nodes' OK, 'python' OK 00077|nox|DBG:storage-backend: Current state: INSTALLED Required state: INSTALLED Dependencies: 'storage-common' OK 00078|nox|DBG:pydatacache: Current state: INSTALLED Required state: INSTALLED Dependencies: 'data_cache' OK, 'python' OK 00079|nox|DBG:switch: Current state: INSTALLED Required state: INSTALLED Dependencies: 00080|nox|DBG:pybindings_storage: Current state: INSTALLED Required state: INSTALLED Dependencies: 'bindings_storage' OK, 'python' OK 00081|nox|DBG:datatypes: Current state: INSTALLED Required state: INSTALLED Dependencies: 00082|openflow|DBG:Passive tcp interface bound to port 6633 00083|nox|INFO:nox bootstrap complete When I *then* start the GUI, clicking on the Component button then yields a substantial list. Is the component list populated by the components appearing in the log message stream? That certainly appears to be the case. So, it now looks like I have the GUI doing something, but I see no topology displayed. Will I only see a topology if I have OpenFlow switches connected directly to each other? Should connected hosts show up? Does the traceback shown at the top of this message (and below) have anything to do with the lack of display? Any time I hit R in the GUI, I see the following displayed in the terminal window from which I am running it: Sending ...{'command': 'request', 'node_type': 'all', 'type': 'lavi', 'xid': 12} Sending ...{'command': 'request', 'type': 'lavi', 'link_type': 'all', 'xid': 13} Traceback (most recent call last): File /var/local/src/nox/src/gui/topology.py, line 726, in got_topo_msg nodeItem = Node(self, nodeID) File /var/local/src/nox/src/gui/topology.py, line 38, in __init__ self.setFlag(QtGui.QGraphicsItem.ItemSendsGeometryChanges) AttributeError: type object 'QGraphicsItem' has no attribute 'ItemSendsGeometryChanges' Thanks to everyone for helping me to get this far. The tool looks promising, if I can figure out how to make it give up the rest of its display secrets. :-) /Chris On 11/10/2010 05:42 PM, Kyriakos Zarifis wrote: Hi there, Unfortunately I can't reproduce this, so some additional information would help. Do you get any errors on the shell where you started the GUI? Also, what do you see when you click on the components button at the bottom of the left sife panel of the GUI? Regards, Kyriakos On Wed, Nov 10, 2010 at 12:06 PM, Christopher J. Tengi te...@cs.princeton.edu te...@cs.princeton.edu wrote: KK, What components must be included on the nox_core command line in order for nox-gui.py to be able to talk to it? Are there any components that must *not* be included? For example, I tried this: ./nox_core -i ptcp:6633 \ switch switch_management \ hostip hosttracker \ lavi monitoring \ discovery topology \ messenger jsonmessenger but the GUI displays nothing useful in either window, and pressing the Send button only results in a jsonmessenger is not running message in the left-side window. Thanks, /Chris On 10/21/2010 02:31 AM, kk yap wrote: Hi El, Try the instructions here? http://noxrepo.org/noxwiki/index.php/NOX_GUI http://noxrepo.org/noxwiki/index.php/NOX_GUI Regards KK On 20 October 2010 13:18, el beckhov beck...@gmail.com beck...@gmail.com wrote: hi, i'm a student in montreal (canada) i'm new with nox and i have some difficulty to download and try the GUI can you please help me ? thank you PS: i don't know how to access the Destiny branch of the noxrepo ___ nox-dev mailing list nox-dev@noxrepo.orgnox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.orgnox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/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
Re: [nox-dev] help for trying the GUI
Hi there, Unfortunately I can't reproduce this, so some additional information would help. Do you get any errors on the shell where you started the GUI? Also, what do you see when you click on the components button at the bottom of the left sife panel of the GUI? Regards, Kyriakos On Wed, Nov 10, 2010 at 12:06 PM, Christopher J. Tengi te...@cs.princeton.edu wrote: KK, What components must be included on the nox_core command line in order for nox-gui.py to be able to talk to it? Are there any components that must *not* be included? For example, I tried this: ./nox_core -i ptcp:6633 \ switch switch_management \ hostip hosttracker \ lavi monitoring \ discovery topology \ messenger jsonmessenger but the GUI displays nothing useful in either window, and pressing the Send button only results in a jsonmessenger is not running message in the left-side window. Thanks, /Chris On 10/21/2010 02:31 AM, kk yap wrote: Hi El, Try the instructions here? http://noxrepo.org/noxwiki/index.php/NOX_GUI Regards KK On 20 October 2010 13:18, el beckhovbeck...@gmail.com wrote: hi, i'm a student in montreal (canada) i'm new with nox and i have some difficulty to download and try the GUI can you please help me ? thank you PS: i don't know how to access the Destiny branch of the noxrepo ___ 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] help for trying the GUI
that's right, and even discovery and topology will be invoked as dependencies of lavi_swlinks which is a dependency for monitoring, so you can remove them too. (in other words monitoring and jsonmessenger are all you need to actively invoke for the gui to work) On Wed, Nov 10, 2010 at 3:15 PM, kk yap yap...@stanford.edu wrote: Hi Chris, You can remove messenger and lavi. Monitoring should have the rest of the components needed as dependencies. ./nox_core -i ptcp:6633 \ switch switch_management \ hostip hosttracker \ monitoring \ discovery topology \ jsonmessenger Regards KK On 10 November 2010 14:42, Kyriakos Zarifis kyr.zari...@gmail.com wrote: Hi there, Unfortunately I can't reproduce this, so some additional information would help. Do you get any errors on the shell where you started the GUI? Also, what do you see when you click on the components button at the bottom of the left sife panel of the GUI? Regards, Kyriakos On Wed, Nov 10, 2010 at 12:06 PM, Christopher J. Tengi te...@cs.princeton.edu wrote: KK, What components must be included on the nox_core command line in order for nox-gui.py to be able to talk to it? Are there any components that must *not* be included? For example, I tried this: ./nox_core -i ptcp:6633 \ switch switch_management \ hostip hosttracker \ lavi monitoring \ discovery topology \ messenger jsonmessenger but the GUI displays nothing useful in either window, and pressing the Send button only results in a jsonmessenger is not running message in the left-side window. Thanks, /Chris On 10/21/2010 02:31 AM, kk yap wrote: Hi El, Try the instructions here? http://noxrepo.org/noxwiki/index.php/NOX_GUI Regards KK On 20 October 2010 13:18, el beckhovbeck...@gmail.com wrote: hi, i'm a student in montreal (canada) i'm new with nox and i have some difficulty to download and try the GUI can you please help me ? thank you PS: i don't know how to access the Destiny branch of the noxrepo ___ 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 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Routing in Nox
Hi Ricardo, no, as you noticed 'routing' doesn't implement any fancy protocol, just SP. If you need some more complicated algorithm you need to implement it yourself by writing a component. On Thu, Nov 4, 2010 at 4:07 PM, Ricardo Bennesby ricardo.benne...@gmail.com wrote: Hi. I have a doubt of how routing works on Nox. I've analysed the routing module and observed that it tracks the shortest path between switches in the network. But does it use routing algorithms applied in internetm like the BGP? If not, how the routing between Autonomous Systems happens in Nox? Thanks. Best Regards. -- Ricardo Bennesby da Silva Ciência da Computação - UFAM LabCIA - Laboratório de Computação Inteligente e Autonômica ___ 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] multi command to a switch
Hi Attilio, actions is a list which is executed by the switch when a flow is matched, so you should be able to do that by appending one or more actions to the action list. (Setting vlan id, stripping vlan id, sending out a port are 3 separate actions) On Mon, Oct 25, 2010 at 8:55 AM, Attilio Broglio attilio.brog...@create-net.org wrote: Hi, I have a short question about nox/openflow (I am working on the switch.cc file). I would to know if it's possible to apply 2 different actions to a flow . For example: A packet arrives to the port 1 and I want to send it to the port 2 with a vlan_ID, and at the same time, send it also to the port 3 with a different VLAN_ID. Is this possible or not? Thanks, Attilio ___ 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] Accessing Packet IPid
Hi Alec, did you check lib/packet/ipv4.py? Are you referring to the fragment id? There is a an id member in the ipv4 packet class, which I think is what you are looking for. On Sun, Oct 17, 2010 at 10:04 PM, Alec Story av...@cornell.edu wrote: I'm trying to implement a NAT box detection algorithm (from http://www.cs.columbia.edu/~smb/papers/fnat.pdf ), which uses the IPid field of the IP header. I can't find any reference to the field in Nox's code, but I might have missed it - is there a way to access that field, ideally in python? -- Alec Story Cornell University Biological Sciences, Computer Science 2012 ___ 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] TCP packets are not parsed correctly
Hi Niky, something tells me this was introduced with a patch that I was asked to push a while back (df58e02b9dec24564878e0d77274f551d349e070). I reverted it for now, which I think temporarily corrects this (can you verify?) and i'll try to push a real fix soon. On Thu, Oct 14, 2010 at 9:47 PM, Niky Riga nr...@bbn.com wrote: Hi, I am running the zaku release for nox, and I am using a python module. I believe that there is a bug when parsing tcp packets in the pythong modules. I have a simple module that registers for the packet_in event. When a packet is received, and after the packet is parsed, I print the packet and the outcome is weird. For udp traffic the output is more normal. CODE: def packet_in_callback(dpid, inport, reason, len, bufid, packet): if not packet.parsed: log.msg('Ignoring incomplete packet',system='smartre') # don't forward lldp packets if packet.type == ethernet.LLDP_TYPE: return CONTINUE print packet print type(packet) print type(packet.next.next).mro() OUPUT (TCP) : 00122|openflow-event|DBG:received packet-in event from e2b8dc3b1753 (len:74) [(VMware, Inc.):f7:5b:1a(Intel Corporate):e7:b8:9a:IP]([v:4hl:5l:60t:64]TCP cs:6a0d[10.17.53.20110.17.53.101])?o#x??K??r?? $? type 'instance' [type 'str', type 'basestring', type 'object'] OUPUT (UDP) : [(Intel Corporate):5a:e7:4d(Intel Corporate):5f:8a:c5:IP]([v:4hl:5l:30t:64]UDP cs:1d39[10.17.53.20110.17.53.101]){332545000} l:10 c: 34577 type 'instance' [type 'instance', type 'object'] Any ideas what might be wrong in parsing the packet? Thanks, Niky ___ 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] TCP packets are not parsed correctly
Hey Niky, for a fast fix, and in order to avoid pulling/rebuilding, you can manually apply this change in lib/packet/tcp.py (somewhere around line 158 if I recall) self.options.append(tcp_opt(tcp_opt.MSS,val)) elif arr[i] == tcp_opt.WSOPT: if arr[i+1] != 3: raise Exception() -val = struct.unpack('!H',arr[i+2:i+3])[0] -self.options.append(tcp_opt(tcp_opt.WSOPT, val)) +self.options.append(tcp_opt(tcp_opt.WSOPT, arr[i+2])) This should at least get you going immediately (and we'll push a full fix asap). On Fri, Oct 15, 2010 at 8:27 PM, Niky Riga nr...@bbn.com wrote: Hi, Given that this bug is blocking one of the Gec9 plenary demos, I would like to start debugging it. Do you have an idea where should I start looking? In which file do you believe the problem is? Thanks, niky Niky Riga wrote: I am running nox zaku as released on the September 15th, should I update? --niky James McCauley wrote: didn't look at the original problem, but the rolled back patch does look wrong to me. I think it's almost right now, but the last part should be arr[i + 2] On Oct 15, 2010 12:58 AM, Kyriakos Zarifis kyr.zari...@gmail.commailto: kyr.zari...@gmail.com wrote: ___ 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] What is the possible cause of error: type=3, code=3 and type=3, code=1
Hi Guanyao, I haven't seen this error myself, but looking at the code it looks like it is raised when a OFPT_ERROR is received from a switch, and looking at the spec it looks like switches send this when the negotiated OF version is not supported: If the negotiated version is supported by the recipient, then the connection pro- ceeds. Otherwise, the recipient must reply with an OFPT_ERROR message with a type field of OFPET_HELLO_FAILED, a code field of OFPHFC_COMPATIBLE, and optionally an ASCII string explaining the situation in data, and then terminate the connection. and type=3 seems to correspond to: OFPET_FLOW_MOD_FAILED, /* Problem modifying flow entry. */ and code=1 and code=3 seems to correspond to: OFPFMFC_OVERLAP, /* Attempted to add overlapping flow with CHECK_OVERLAP flag set. */ and OFPFMFC_BAD_EMERG_TIMEOUT /* Flow not added because of non-zero idle/hard timeout*/ respectively. (pages 39-40 on the OF1.0 spec) These messages are pretty much self-explanatory, so check that you are setting the relevant fields in order to do what you are trying to. Regards On Tue, Sep 21, 2010 at 11:36 PM, Guanyao Huang gyhu...@ucdavis.edu wrote: Hi When setting up a flow entry (I am using mininet and NOX from HOTI tutorial), it says: 00065|openflow-event|ERR:received Openflow error packet from dpid=000c: type=3, code=1, 80 bytes of data 00324|openflow-event|ERR:received Openflow error packet from dpid=0013: type=3, code=3, 80 bytes of data 00325|openflow-event|ERR:received Openflow error packet from dpid=000c: type=3, code=3, 80 bytes of data 00326|openflow-event|ERR:received Openflow error packet from dpid=000e: type=3, code=3, 88 bytes of data I am very confused. I never set CHECK_OVERLAP flag. Also, when will a flow entry become emergency? I didnt set it. Will it be set when a previous flow_mod fail? Is there any general/common reason for these two errors? Thanks. ___ 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