dpdk_buffer.c: Ensure that the mbuf reference count is as expected

Add some more ASSERTs to track down improper frees.

Change-Id: I2bd4b69fb14f522c82e6006131b6ad982f6f7e6b
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
This commit is contained in:
Kevin Paul Herbert
2015-12-15 16:33:13 -08:00
committed by Gerrit Code Review
parent cf121e3d51
commit da8d445055

View File

@ -401,11 +401,13 @@ del_free_list (vlib_main_t * vm, vlib_buffer_free_list_t * f)
for (i = 0; i < vec_len (f->unaligned_buffers); i++) {
b = vlib_get_buffer (vm, f->unaligned_buffers[i]);
mb = ((struct rte_mbuf *)b)-1;
ASSERT(rte_mbuf_refcnt_read(mb) == 1);
rte_pktmbuf_free (mb);
}
for (i = 0; i < vec_len (f->aligned_buffers); i++) {
b = vlib_get_buffer (vm, f->aligned_buffers[i]);
mb = ((struct rte_mbuf *)b)-1;
ASSERT(rte_mbuf_refcnt_read(mb) == 1);
rte_pktmbuf_free (mb);
}
vec_free (f->name);
@ -723,6 +725,7 @@ vlib_buffer_free_inline (vlib_main_t * vm,
else
{
mb = ((struct rte_mbuf *)b)-1;
ASSERT(rte_mbuf_refcnt_read(mb) == 1);
rte_pktmbuf_free (mb);
}
}