Yes, the extra delay you see for the first packet when using l2_learning is the 
first packet going to the controller.  I was just pointing out that that's not 
fundamental -- it's a property of l2_learning.  l2_nx_self_learning and 
topo_proactive don't do this, for example, and first packets look a lot like 
any other packet when using them.

-- Murphy

On Jul 31, 2013, at 6:00 AM, Kouvakas Alexandros wrote:

> Yes, indeed the forwarding strategy is the most important but I just want to 
> test the performance of open vswitch on Planetlab nodes.
> So, for starting I am using the l2 learning component.
> But isn't it true that the extra RTT delay that I see at the first ping 
> packet is because of going first to the controller ?
> 
> 
> 2013/7/31 Murphy McCauley <[email protected]>
> Answers inline.
> 
> On Jul 30, 2013, at 9:44 AM, Kouvakas Alexandros wrote:
> 
>> Pretty nice with this module.
>> I would like to ask some more questions. First, where can I find some 
>> explanation for each parameter for example for FlowStatsReceived or for 
>> PortStatsReceived ?
> 
> I think most of the relevant info should be in the OpenFlow spec.  These 
> events more or less correspond to stats replies of the respective types.  The 
> only thing POX really does beyond what's in the spec is potentially 
> collecting several individual stats replies and turning them into a single 
> event, which is just to simplify life for people writing controller code a 
> bit (according to the spec, a switch can split a reply across several 
> messages, but in practice this is annoying to deal with).
> 
>> Moreover what exactly do we consider as web traffic. As I noticed pings 
>> between nodes/VMs are not considered as web traffic.
> 
> This just follows from the simple example on the wiki.  I didn't want to dump 
> all the flows on the console -- I wanted to do something a tiny bit more 
> interesting.  So if you look at the example on the wiki, you can see that it 
> goes through each returned flow and just adds up the bytes used for every 
> flow that has a transport protocol source or destination of 80 (line 9 on the 
> wiki; there's a similar line in the expanded example).  It's worth noting 
> that there's no actual check that it's TCP, so this could also be UDP port 
> 80, or ICMP with a type or code of 80.  This is a bug. :)
> 
>> Finally, is there any method by using POX modules, to measure the time that 
>> a packet needs to travel from the source to the destination including the 
>> way pass from the controller.
>> For example, when the flow table is empty and I ping from one node to 
>> another the first packet needs at least the double time than all the other 
>> packets that follow. That means that the first packet "passes" from the 
>> controller. So in my case I want to measure these parameters comparing for 
>> example to the size of the network. Also I will differenciate the size of 
>> the packets to study how the controller reacts in such cases.
> 
> I don't have any particular input here, though this or similar problems have 
> been discussed before on the nox-dev mailing list and probably elsewhere 
> (openflow-discuss?), so you might check the list archives.
> 
> I will point out that your example where the first packet goes to the 
> controller isn't really fundamental and depends on how you're doing 
> forwarding.  Almost all of the POX example forwarding components have 
> different behaviors in this respect -- perhaps most dramatically, the 
> l2_nx_self_learning and topo_proactive components which really don't behave 
> like this at all (in both cases, almost no packets ever go to the 
> controller).  And components like those are probably the most realistic.
> 
> -- Murphy
> 
>> 2013/7/29 Murphy McCauley <[email protected]>
>> That example is meant to be run from the POX CLI/interpreter (that is, it 
>> expects you ran the "py" component), not as a standalone component.
>> 
>> You could turn it into a component with a little work (it has already been 
>> discussed on the mailing list).  However, there's a "Statistics Collector 
>> Example" in the "Third Party" section of the manual wiki which has already 
>> done this (and expanded on the original a bit).
>> 
>> Hope that helps.
>> 
>> -- Murphy
>> 
>> 
>> On Jul 29, 2013, at 9:26 AM, Kouvakas Alexandros wrote:
>> 
>>> Hello,
>>> I am trying to collect statistics from the ovs. I tried to run the Example 
>>> - Web flow statistics but I get the following error
>>> 
>>> [inria_nepi@planetlab2 pox]$ ./pox.py samples.pretty_log 
>>> forwarding.l2_learning flow-stats
>>> POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
>>> Traceback (most recent call last):
>>>   File "/home/inria_nepi/pox/pox/boot.py", line 89, in do_import2
>>>     __import__(name, globals(), locals())
>>>   File "/home/inria_nepi/pox/ext/flow-stats.py", line 2, in <module>
>>>     log = core.getLogger("WebStats")
>>> NameError: name 'core' is not defined
>>> Could not import module: flow-stats
>>> 
>>> I am using the betta branch, but I don't think it matters as I get the same 
>>> error with carp branch.
>>> 
>>> Does anybody knows what happens?
>>> Also every suggestion for modules that get statistics from the switch are 
>>> very welcome.
>>> 
>>> Thanks a lot!
>>> 
>>> 
>>> 
>>> -- 
>>> Kouvakas Alexandros
>> 
>> 
>> 
>> 
>> -- 
>> Kouvakas Alexandros
> 
> 
> 
> 
> -- 
> Kouvakas Alexandros

Reply via email to