X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fmfib%2Fmfib_forward.c;h=affedb0ef00e93aef7a04016c9cd2d33550dd76a;hb=e8f57d593ea8bdfdff2e32562a520501b735f012;hp=a7b7a6bed4bcebb8bb0142d068dcfe7a123ed8a2;hpb=74a25859bd94910718a48cdb11841bc159b63c9c;p=vpp.git diff --git a/src/vnet/mfib/mfib_forward.c b/src/vnet/mfib/mfib_forward.c index a7b7a6bed4b..affedb0ef00 100644 --- a/src/vnet/mfib/mfib_forward.c +++ b/src/vnet/mfib/mfib_forward.c @@ -443,33 +443,33 @@ mfib_forward_rpf (vlib_main_t * vm, else { next0 = MFIB_FORWARD_RPF_NEXT_DROP; - error0 = IP4_ERROR_RPF_FAILURE; - } - - b0->error = error0 ? error_node->errors[error0] : 0; + error0 = + (is_v4 ? IP4_ERROR_RPF_FAILURE : IP6_ERROR_RPF_FAILURE); + } - if (b0->flags & VLIB_BUFFER_IS_TRACED) - { - mfib_forward_rpf_trace_t *t0; + b0->error = error0 ? error_node->errors[error0] : 0; - t0 = vlib_add_trace (vm, node, b0, sizeof (*t0)); - t0->entry_index = mfei0; - t0->itf_flags = iflags0; - if (NULL == mfi0) - { - t0->sw_if_index = ~0; - } - else - { - t0->sw_if_index = mfi0->mfi_sw_if_index; - } - } - vlib_validate_buffer_enqueue_x1 (vm, node, next, - to_next, n_left_to_next, - pi0, next0); - } + if (b0->flags & VLIB_BUFFER_IS_TRACED) + { + mfib_forward_rpf_trace_t *t0; + + t0 = vlib_add_trace (vm, node, b0, sizeof (*t0)); + t0->entry_index = mfei0; + t0->itf_flags = iflags0; + if (NULL == mfi0) + { + t0->sw_if_index = ~0; + } + else + { + t0->sw_if_index = mfi0->mfi_sw_if_index; + } + } + vlib_validate_buffer_enqueue_x1 (vm, node, next, to_next, + n_left_to_next, pi0, next0); + } - vlib_put_next_frame(vm, node, next, n_left_to_next); + vlib_put_next_frame (vm, node, next, n_left_to_next); } return frame->n_vectors;