<p>Yeah, that sounds about right. The new resend stuff just lets you ignore whether the packet was actually buffered at the switch or not.</p>
<p>-- Murphy</p>
<div class="gmail_quote">On Oct 2, 2012 1:14 PM, "Tmusic" <<a href="mailto:Tmusic987@gmail.com">Tmusic987@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks for the quick response!<br>l2_pairs is indeed a great example!<br>I had to change the code for flooding the packet in order to get it working in the stable branch (with buffers as in l2_learning_tutorial). Is this the right way to do it?<br>
<br><br><div class="gmail_quote">2012/10/1 Murphy McCauley <span dir="ltr"><<a href="mailto:murphy.mccauley@gmail.com" target="_blank">murphy.mccauley@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, that's always going to happen with l2_learning_tutorial. This is, in fact, an example of how NOT to try to write a learning switch, but without proper context. I deleted it in development fork/branch a while back, but looks like I never did on the master branch. I have done so now.<br>
<br>
The problem you're seeing here was actually just discussed on this list a few days ago. The issue is that the "learned" rules result in hiding other packets from the controller, so it never learns all the destinations.<br>
<br>
If you want a good example of a switch for a tutorial, look at forwarding.l2_pairs or samples.of_tutorial. l2_pairs gets around the issue of hiding other sources by only installing rules for each PAIR of learned addresses. These may only be available in the betta (development) branch.<br>
<span><font color="#888888"><br>
-- Murphy<br>
</font></span><div><div><br>
On Oct 1, 2012, at 11:38 AM, Tmusic wrote:<br>
<br>
> Hi,<br>
><br>
> I'm trying to learn how to establish flow rules by studying l2_learning_tutorial, but I'm experiencing rather strange behavior.<br>
><br>
> On a VM with mininet (one switch, three hosts) and POX installed I first start up mininet and then the l2_learning_tutorial (the behavior is easier to see this way).<br>
> I added one line after the flow installing to see what happens: print 'added route to', packet.src,'(packet destined to',packet.dst,')'<br>
><br>
> When I perform pingall in mininet (one or more), the same routes are added over and over again (see print statement above).<br>
> Dpctl shows that only two entries are being added (I expected three):<br>
><br>
> cookie=0, duration_sec=268s, duration_nsec=529000000s, table_id=0, priority=32768, n_packets=16, n_bytes=1344, idle_timeout=0,hard_timeout=0,<br>
> dl_dst=00:00:00:00:00:02,actions=output:1<br>
> cookie=0, duration_sec=268s, duration_nsec=463000000s, table_id=0, priority=32768, n_packets=11, n_bytes=910, idle_timeout=0,hard_timeout=0,dl_dst=00:00:00:00:00:03,actions=output:2<br>
><br>
> The packets seem to keep going to the controller.<br>
><br>
> Any ideas?<br>
><br>
> Thank you in advance!<br>
><br>
> Tim<br>
><br>
><br>
><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br>
</blockquote></div>