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
