diff options
author | Florin Coras <fcoras@cisco.com> | 2021-10-27 10:53:41 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2021-10-27 17:55:42 +0000 |
commit | e2f3aa16e27857929c1a8fbd921426a51ecb5538 (patch) | |
tree | 5ebf6dd1aff666fda87f0aa76078d514b0f7fed9 | |
parent | f62ed3f9c1ec3e8db36f63d6a54f46b7bea43723 (diff) |
tcp: fix use of invalid local sw_if_index
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id58ac44d45fb8b8a0d803f02e0242ec6f4b3db05
-rw-r--r-- | src/plugins/unittest/session_test.c | 8 | ||||
-rw-r--r-- | src/vnet/tcp/tcp.c | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/unittest/session_test.c b/src/plugins/unittest/session_test.c index 87fd708ecd8..6a292c783eb 100644 --- a/src/plugins/unittest/session_test.c +++ b/src/plugins/unittest/session_test.c @@ -290,11 +290,11 @@ session_test_endpoint_cfg (vlib_main_t * vm, unformat_input_t * input) /* * Create the loopbacks */ - intf_addr[0].as_u32 = clib_host_to_net_u32 (0x01010101), - session_create_lookpback (0, &sw_if_index[0], &intf_addr[0]); + intf_addr[0].as_u32 = clib_host_to_net_u32 (0x01010101); + session_create_lookpback (0, &sw_if_index[0], &intf_addr[0]); - intf_addr[1].as_u32 = clib_host_to_net_u32 (0x02020202), - session_create_lookpback (1, &sw_if_index[1], &intf_addr[1]); + intf_addr[1].as_u32 = clib_host_to_net_u32 (0x02020202); + session_create_lookpback (1, &sw_if_index[1], &intf_addr[1]); session_add_del_route_via_lookup_in_table (0, 1, &intf_addr[1], 32, 1 /* is_add */ ); diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c index 4825bf62856..d4b1d77f556 100644 --- a/src/vnet/tcp/tcp.c +++ b/src/vnet/tcp/tcp.c @@ -837,7 +837,8 @@ tcp_session_open (transport_endpoint_cfg_t * rmt) /* The other connection vars will be initialized after SYN ACK */ tcp_connection_timers_init (tc); tc->mss = rmt->mss; - tc->sw_if_index = rmt->peer.sw_if_index; + if (rmt->peer.sw_if_index != ENDPOINT_INVALID_INDEX) + tc->sw_if_index = rmt->peer.sw_if_index; tc->next_node_index = rmt->next_node_index; tc->next_node_opaque = rmt->next_node_opaque; |