[ovs-discuss] open vSwitch port input buffer capacity

Ben Pfaff blp at ovn.org
Fri Apr 15 17:06:02 UTC 2016


On Fri, Apr 15, 2016 at 08:08:02AM +0000, Ali Volkan Atli wrote:
> I would like to take this opportunity to ask a question about
> buffering. I've been trying to figure the buffering issue out for a
> couple of days. I tested it using ryu-controller and OvS produced
> ~1700 packet-in messages (and also ~1700 packet-out and ~1700
> flow-mod) for one udp-flow on 1G (packet size is 1024). I think I
> should change pktbuf_save functions with a hash (like microflow but
> not in cache) for 5-tuple key (src_ip, dst_ip, src_port, dst_port and
> protocol) and also add a linked-list for each flow. It will be
> suitable for your proposal below which discussed before in a different
> thread. 

What proposal did I make?  Where?

> Also I should add a parameter into vswitch.xml to enable/disable
> buffering. Does my pre-design make sense?
> 
> ******STARTS *****
> 
> Here's a new copy of the change that I proposed to Open vSwitch:
> 
> - When a packet misses in the flow table, check for a buffered packet whose flow is identical.
> 
> * If there is one, just append the new packet to a linked list attached to that buffered packet. Don't send a packet-in.
> 
> * If there is none, make a new packet buffer and send a packet-in to the controller.
> 
> - If the controller sends a flow-add for a buffered packet, apply it to the buffered packet itself and to every packet on the linked list.
> 
> - If the controller sends a packet-out for a buffered packet, send it. Then if there's a list attached to the buffered packet, send the first packet in the list to the controller as a packet-in.
> 
> - If a buffered packet times out, send the first packet in the list to the controller as a packet-in.

It's a nice idea but it violates the OpenFlow spec.



More information about the discuss mailing list