----- Forwarded Message -----
From: "Shan Hu" <shan...@utdallas.edu>
To: "Murphy McCauley" <jam...@nau.edu>
Sent: Friday, November 11, 2011 2:28:19 PM
Subject: Re: [nox-dev] what is the difference between pyswitch and routing 
module?

Thank you,Murphy.I get what you mean. The reason i use ovs-ofctl to add flow is 
to test the queue function, that is also what some cookbook says, hard-coding 
controller is only suitable for testing. So can i say the queue QoS works? 
since it does reserve bandwidth and limit rate,in one case though.

Shan

----- Original Message -----
From: "Murphy McCauley" <jam...@nau.edu>
To: "Shan Hu" <shan...@utdallas.edu>
Cc: "nox-dev" <nox-dev@noxrepo.org>
Sent: Friday, November 11, 2011 1:35:26 PM
Subject: Re: [nox-dev] what is the difference between pyswitch and routing 
module?

You're using ovs-ofctl to add a flow to a switch.  In general, this isn't how 
NOX is intended to be used.  The pyswitch and routing applications in NOX (and 
this is probably true for pretty much all NOX applications) assume that they 
are the only things installing flows.  If you are manually adding flows 
externally, there is no telling what the results might be.  In your case, I 
guess it seems to work for pyswitch and not for routing, but the opposite could 
easily have been true instead.

The expected way to do this is to modify the NOX applications so that they 
install the rules you want (e.g., using enqueue instead of a simple output 
action) -- NOT to try to override NOX's behavior by manually installing flows.

Hope that helps.
-- Murphy

On Nov 10, 2011, at 5:16 PM, Shan Hu wrote:

> I has this topology as follows:
> 
>            host2
>             |
>           [eth2] 
>            ovs2
>           /    \
>          /      \
> host1--ovs1     ovs3--host3
> 
> i set queue tables on ovs2,created two queues,assigned queue0 with rate 
> 400mbps~500mbps,and queue1 with rate 600mbps~700mbps.
> 
> Then on controller i run command: ./nox_core -ptcp:6633 pyswitch
> 
> At last on ovs2 i run command: ./ovs-ofctl add flow br0 "in_port=1(note:ovs1) 
> ip nw_dst=xx.xx.xx.xx(note:host2 ip) idle_timeout=0 
> actions=enqueue:4:0(note:to make flows from port1 follow queue0 rule)"
> 
> Then i push data from host1 to host2, the rate is limited to 400mbps~500mbps.
> 
> However,i do the same as above except that i changed command on controller 
> to: ./nox_core -ptcp:6633 routing, the rate is not limited at all.
> 
> I thought it might be the routing module problem since the rate is limited 
> with pyswitch.
> 
> Shan 
> 
> ----- Original Message -----
> From: "Murphy McCauley" <jam...@nau.edu>
> To: "Shan Hu" <shan...@utdallas.edu>
> Cc: "nox-dev" <nox-dev@noxrepo.org>
> Sent: Thursday, November 10, 2011 3:41:04 PM
> Subject: Re: [nox-dev] what is the difference between pyswitch and routing 
> module?
> 
> How did you implement rate limiting with pyswitch, and how are you trying to 
> do it with routing?
> 
> I'm not sure exactly what you mean about the modules of NOX.  They're all in 
> the various coreapps/netapps/webapps directories in the NOX source 
> repository.  Not all of them are documented on the wiki (or anywhere, 
> necessarily, except maybe the doxygen).
> 
> -- Murphy
> 
> On Nov 10, 2011, at 1:35 PM, Shan Hu wrote:
> 
>> Thank you very much for the explanation, Murphy.
>> 
>> Right now,I try to reserve bandwidth and limit rate with the queue table, it 
>> works great with pyswitch component,but it doesnt work with routing 
>> component.What reason could it be?
>> 
>> And another question,where can i find all the modules of NOX?There are not 
>> much in the noxwiki.Or, those in noxwiki already include all existing 
>> modules?
>> 
>> regards,
>> Shan  
>> 
>> ----- Original Message -----
>> From: "Murphy McCauley" <jam...@nau.edu>
>> To: "Shan Hu" <shan...@utdallas.edu>
>> Cc: "nox-dev" <nox-dev@noxrepo.org>
>> Sent: Thursday, November 3, 2011 11:44:33 AM
>> Subject: Re: [nox-dev] what is the difference between pyswitch and routing 
>> module?
>> 
>> pyswitch is intended to be a very simple demo and does something along the 
>> lines of making each switch in the network a standalone L2 learning switch.  
>> Each switch gets no insight about the topology from its neighbors.  routing 
>> actually uses a global view of the topology, and can just generate optimal 
>> paths between any two endpoints.
>> 
>> A major result of this is that when running pyswitch, each switch needs to 
>> learn which port to use for each destination.  Before it learns, each switch 
>> will need to flood packets for destinations it doesn't know yet -- a lot of 
>> packets will get sent the "wrong way".  With routing, once ANY switch can 
>> determine where a destination is, the entire system knows.  Additionally, 
>> pyswitch's reliance on flooding is problematic for topologies with loops -- 
>> it's easy for packets to unknown destinations to loop indefinitely.
>> 
>> Hope that helps clear things up.
>> 
>> -- Murphy
>> 
>> On Nov 2, 2011, at 11:34 AM, Shan Hu wrote:
>> 
>>> I'm wondering what's the different between routing module and pyswitch 
>>> module?
>>> 
>>> I can find from wiki that routing is basically a forwarding module. but 
>>> what about pyswitch?
>>> 
>>> Because after i connected 3 openvswitchs(like this:host1 -- ovs1 -- ovs2 -- 
>>> ovs3 --host2),i firstly ran pyswitch module,then host1 can ping host2, 
>>> however,i tried to run UDP traffic test,and found that the larger bandwidth 
>>> i use, the more packet loss there are.
>>> Then i stopped pyswitch module and ran routing module, then host1 still can 
>>> ping host2, and the UDP traffic test works well, almost all the packets are 
>>> transfered from host1 to host2.
>>> 
>>> why this happened?
>>> 
>>> Shan 
>>> _______________________________________________
>>> 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

Reply via email to