2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

dpif-netdev: Account for and free lost packets.

Packets for which an upcall has failed (lost packets) must be deleted.
We also need to count them as MISS and LOST.

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
Daniele Di Proietto
2015-03-27 16:29:50 +00:00
committed by Ethan Jackson
parent 0d42597cd1
commit 7ad20cbd96

View File

@@ -2941,6 +2941,8 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
&ufid, DPIF_UC_MISS, NULL, &actions,
&put_actions);
if (OVS_UNLIKELY(error && error != ENOSPC)) {
dp_packet_delete(packets[i]);
dp_netdev_count_packet(pmd, DP_STAT_LOST, 1);
continue;
}
@@ -2984,6 +2986,7 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
}
}
dp_netdev_count_packet(pmd, DP_STAT_MISS, dropped_cnt);
dp_netdev_count_packet(pmd, DP_STAT_LOST, dropped_cnt);
}