From b966b96aa4ec125cea9dcd0b9f2d4268709f3896 Mon Sep 17 00:00:00 2001 From: John Lo Date: Wed, 10 Jul 2019 16:44:32 -0400 Subject: nsim: cross-connect mode crash at interface output node Type: fix Change-Id: If99c1d8a7ec97a726430a927eab0d3b57222af1f Signed-off-by: John Lo --- src/plugins/nsim/node.c | 10 +++++----- src/plugins/nsim/nsim_input.c | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/plugins/nsim') diff --git a/src/plugins/nsim/node.c b/src/plugins/nsim/node.c index 559147b1280..96a712cb35d 100644 --- a/src/plugins/nsim/node.c +++ b/src/plugins/nsim/node.c @@ -162,7 +162,7 @@ nsim_inline (vlib_main_t * vm, ep->rx_sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_RX]; if (is_cross_connect) { - ep->tx_sw_if_index = + ep->tx_sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_TX] = (vnet_buffer (b[0])->sw_if_index[VLIB_RX] == nsm->sw_if_index0) ? nsm->sw_if_index1 : nsm->sw_if_index0; ep->output_next_index = @@ -204,7 +204,7 @@ nsim_inline (vlib_main_t * vm, ep->rx_sw_if_index = vnet_buffer (b[1])->sw_if_index[VLIB_RX]; if (is_cross_connect) { - ep->tx_sw_if_index = + ep->tx_sw_if_index = vnet_buffer (b[1])->sw_if_index[VLIB_TX] = (vnet_buffer (b[1])->sw_if_index[VLIB_RX] == nsm->sw_if_index0) ? nsm->sw_if_index1 : nsm->sw_if_index0; ep->output_next_index = @@ -245,7 +245,7 @@ nsim_inline (vlib_main_t * vm, ep->rx_sw_if_index = vnet_buffer (b[2])->sw_if_index[VLIB_RX]; if (is_cross_connect) { - ep->tx_sw_if_index = + ep->tx_sw_if_index = vnet_buffer (b[2])->sw_if_index[VLIB_TX] = (vnet_buffer (b[2])->sw_if_index[VLIB_RX] == nsm->sw_if_index0) ? nsm->sw_if_index1 : nsm->sw_if_index0; ep->output_next_index = @@ -286,7 +286,7 @@ nsim_inline (vlib_main_t * vm, ep->rx_sw_if_index = vnet_buffer (b[3])->sw_if_index[VLIB_RX]; if (is_cross_connect) { - ep->tx_sw_if_index = + ep->tx_sw_if_index = vnet_buffer (b[3])->sw_if_index[VLIB_TX] = (vnet_buffer (b[3])->sw_if_index[VLIB_RX] == nsm->sw_if_index0) ? nsm->sw_if_index1 : nsm->sw_if_index0; ep->output_next_index = @@ -362,7 +362,7 @@ slow_path: ep->rx_sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_RX]; if (is_cross_connect) { - ep->tx_sw_if_index = + ep->tx_sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_TX] = (vnet_buffer (b[0])->sw_if_index[VLIB_RX] == nsm->sw_if_index0) ? nsm->sw_if_index1 : nsm->sw_if_index0; ep->output_next_index = diff --git a/src/plugins/nsim/nsim_input.c b/src/plugins/nsim/nsim_input.c index def6fcd9f26..3ce89bc9847 100644 --- a/src/plugins/nsim/nsim_input.c +++ b/src/plugins/nsim/nsim_input.c @@ -127,7 +127,7 @@ nsim_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node, if (is_trace) { - b0 = vlib_get_buffer (vm, ep->buffer_index); + b0 = vlib_get_buffer (vm, bi0); if (b0->flags & VLIB_BUFFER_IS_TRACED) { nsim_tx_trace_t *t = -- cgit 1.2.3-korg