On Mon, Apr 15, 2013 at 03:59:52PM +0100, Zoltan Kiss wrote: > When the packet is sent to the controller due to an userspace rule (and not > a kernel-space flow), execute_controller_action is invoked with clone=true, > so handle_flow_miss retains ownership of the packet buffer. But if it returns > true (which means the packet had only a PACKET_IN action), nothing frees up > the buffer. > The problem has seen only in 1.4 branch. > Tested with XenServer 6.1: > - set up the controller, DVSC is fine > - add a rule with high priority to force everything to the controller: > ovs-ofctl add-flow [mgmt int] priority=65535,actions=controller > - send a bunch of UDP packets to random ports to trigger misses in kernel: > mz -B [mgmt IP] -d 100m eth0 -t udp sp=3000,dp=1024-65535,iplen=1400 > - track memory consumption over time > > Signed-off-by: Zoltan Kiss <zoltan.k...@citrix.com>
I think you're right. But in that case, wouldn't it solve the problem in a better way (doing less memory allocation and copying) by passing clone=false, instead of passing clone=true and then freeing the packet in the caller? Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev