From cb4cda69125f78f556d93b67e3d345ab469d891b Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Thu, 29 Sep 2016 10:53:44 -0400 Subject: Reset frame length after dispatch when recycling frames Fixes a gross bug when enqueuing x->x->error-drop or similar Change-Id: Ie1dc10371de4a265f5131b67cab7a62ed460a1fc Signed-off-by: Dave Barach --- vlib/vlib/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/vlib/vlib/main.c b/vlib/vlib/main.c index 809abdf5538..eba2d4535e8 100644 --- a/vlib/vlib/main.c +++ b/vlib/vlib/main.c @@ -1146,6 +1146,7 @@ dispatch_pending_node (vlib_main_t * vm, nf = vec_elt_at_index (nm->next_frames, p->next_frame_index); nf->frame_index = restore_frame_index; nf->flags |= VLIB_FRAME_IS_ALLOCATED; + f->n_vectors = 0; } if (f->flags & VLIB_FRAME_FREE_AFTER_DISPATCH) -- cgit 1.2.3-korg