nsim: cross-connect mode crash at interface output node

Type: fix

Change-Id: If99c1d8a7ec97a726430a927eab0d3b57222af1f
Signed-off-by: John Lo <loj@cisco.com>
This commit is contained in:
John Lo
2019-07-10 16:44:32 -04:00
committed by Dave Barach
parent edff805464
commit b966b96aa4
3 changed files with 7 additions and 6 deletions

View File

@ -366,6 +366,7 @@ M: Dave Barach <dave@barachs.net>
F: src/plugins/mactime/
Plugin - Network Delay Simulator
I: nsim
M: Dave Barach <dave@barachs.net>
F: src/plugins/nsim/

View File

@ -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 =

View File

@ -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 =