dpdk_buffer.c: Honor clone_count even when there isn't a freelist handler

The DPDK glue did not support cloned packets which do not
have a freelist handler. Add support for this case.

Change-Id: I8f17cd4952df97989d90d3f3e39792bc3739705c
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
This commit is contained in:
Kevin Paul Herbert
2015-12-15 16:56:50 -08:00
committed by Gerrit Code Review
parent 078bc5676e
commit 9de836c715

View File

@ -724,10 +724,13 @@ 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);
}
if (PREDICT_TRUE (b->clone_count == 0))
{
mb = ((struct rte_mbuf *)b)-1;
ASSERT(rte_mbuf_refcnt_read(mb) == 1);
rte_pktmbuf_free (mb);
}
}
}
if (vec_len(bm->announce_list))
{