The total_length_not_including_first_buffer field must be reset before
being updated otherwise it will quicly grows as stale values are reused.
Type: fix
Change-Id: Ic48c0822660998b0dfc0b5fdeadae6071b2d03f7
Signed-off-by: Benoît Ganne <bganne@cisco.com>
if (PREDICT_FALSE ((d0->flags & MEMIF_DESC_FLAG_NEXT) && n_slots))
{
hb->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID;
if (PREDICT_FALSE ((d0->flags & MEMIF_DESC_FLAG_NEXT) && n_slots))
{
hb->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID;
+ hb->total_length_not_including_first_buffer = 0;
next_slot:
s0 = cur_slot & mask;
d0 = &ring->desc[s0];
next_slot:
s0 = cur_slot & mask;
d0 = &ring->desc[s0];