From: jackiechen1985 Date: Tue, 30 Apr 2019 09:01:29 +0000 (+0800) Subject: Optimize code X-Git-Tag: v20.01-rc0~572 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F48%2F19248%2F2;p=vpp.git Optimize code Replace enqueue code with marcro vlib_validate_buffer_enqueue_x1 Change-Id: I4b454b1d73fa5adbaf5f40cf45dc8975878ac93b Signed-off-by: jackiechen1985 --- diff --git a/src/vnet/ip/icmp4.c b/src/vnet/ip/icmp4.c index 500aa6d9c16..4ca108c63da 100644 --- a/src/vnet/ip/icmp4.c +++ b/src/vnet/ip/icmp4.c @@ -188,15 +188,10 @@ ip4_icmp_input (vlib_main_t * vm, next0 = im->ip4_input_next_index_by_type[type0]; p0->error = node->errors[ICMP4_ERROR_UNKNOWN_TYPE]; - if (PREDICT_FALSE (next0 != next)) - { - vlib_put_next_frame (vm, node, next, n_left_to_next + 1); - next = next0; - vlib_get_next_frame (vm, node, next, to_next, n_left_to_next); - to_next[0] = bi0; - to_next += 1; - n_left_to_next -= 1; - } + + /* Verify speculative enqueue, maybe switch current next frame */ + vlib_validate_buffer_enqueue_x1 (vm, node, next, to_next, + n_left_to_next, bi0, next0); } vlib_put_next_frame (vm, node, next, n_left_to_next);