dpif-netdev: Fix (packet) memory leaks in the slow path.
authorDaniele Di Proietto <ddiproietto@vmware.com>
Fri, 19 Sep 2014 23:20:01 +0000 (16:20 -0700)
committerPravin B Shelar <pshelar@nicira.com>
Fri, 19 Sep 2014 23:50:17 +0000 (16:50 -0700)
commitac8c20812b88c4aae7a002420f54d1333e27f784
treeb85ba3161c58ba005b1ee7551897aeb26d423cdf
parent9ff33ca75e9fccdcfd392a7431a6ccc0732c21f1
dpif-netdev: Fix (packet) memory leaks in the slow path.

If a packet didn't match a rule in the fast path classifier its memory was
never freed. The issue was particularly clear with DPDK devices because it was
not possible to process more than ~250000 DPDK mbufs in the slow path.

This commit fixes the problem by:
* calling dpif_packet_delete() if the upcalls are disabled
* passing may_steal==true to dp_netdev_execute_actions() during normal upcall
  processing

Signed-off-by: Daniele Di Proietto <ddiproietto@vmware.com>
Acked-by: Alex Wang <alexw@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
lib/dpif-netdev.c