<div dir="ltr">Hi, Murphy, <div><br></div><div>I think I have send packet_out for every packet_in....</div><div><br></div><div>I just added more statements to print out logs, it shows that a lot of IPV6 multicast packets going through my network ...will that overwhelm the buffer? </div>
<div><br></div><div>For the second possibility, do you mean I set the limitation to a smaller value so that every packet would be buffered? can you give some hint on doing this?</div><div><br></div><div>Best,</div><div><br>
</div><div>Nan</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 19, 2013 at 2:04 PM, Murphy McCauley <span dir="ltr"><<a href="mailto:murphy.mccauley@gmail.com" target="_blank">murphy.mccauley@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm aware of two possibilities.<br>
<br>
The first is that your switch is out of buffer space/IDs. This can happen particularly if you are ignoring packet-ins in your controller. You may be better off sending a packet-out that references the buffer_id but has no actions; this way the switch will deallocate the buffer (various examples in POX do this; e.g., l2_learning, I believe).<br>
<br>
The second is that there's always a size limit of how much of a packet the switch will send to the controller. There's a single limit for packets which miss the table entirely, and every send-to-controller action has its own limit. If a packet is larger than this limit, the controller buffers the packet locally and sends a truncated version to the controller. However, if the packet is smaller than the limit, I believe OVS will simply send the entire packet to the controller *and not buffer it*. In POX, the "maximum length" for output actions to send to the controller is the full size of the packet, but you can set it to be smaller.<br>
<br>
I'll also note that POX's packet_out and flow_mod have special cases to make it easier to deal with the fact that you may have either case (a buffer ID or a full packet). The flow_mod one in particular isn't always ideal, but they work a lot of the time.<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Murphy<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Nov 19, 2013, at 6:08 AM, Nan Zhu <<a href="mailto:zhunanmcgill@gmail.com">zhunanmcgill@gmail.com</a>> wrote:<br>
<br>
> Hi, all<br>
><br>
> I'm developing some controller with POX,<br>
><br>
> When I test it with mininet (--switch ovsk), I found that I will receive some packet_in which has a buffer_id with the value of None?<br>
><br>
> Anyone had this problem before? obviously it is caused by my controller, I used other code to test, this type of packet never appear<br>
><br>
> What can be the reason of that?<br>
><br>
> Best,<br>
><br>
> Nan<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>