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:

committed by
Gerrit Code Review

parent
cf121e3d51
commit
da8d445055
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user