diff options
author | Florin Coras <fcoras@cisco.com> | 2019-02-07 10:31:08 -0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-02-07 22:28:53 +0000 |
commit | 6164e97e0f2fddadea90fd24cd0ea4e629ba9b26 (patch) | |
tree | eb11f82dc25df7d2da6c7c9802d3b7b01f6e6df9 | |
parent | 3c282c7af9ffd972a61099e39c509ac152fe7e37 (diff) |
tcp: fix fib_index for v6 ll packets
Change-Id: Ie69bdb9860d61f2c599c0c80b0ea80dfdfe178bd
Signed-off-by: Florin Coras <fcoras@cisco.com>
-rw-r--r-- | src/vnet/tcp/tcp_input.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c index 7fd69258239..2aeec2f3846 100644 --- a/src/vnet/tcp/tcp_input.c +++ b/src/vnet/tcp/tcp_input.c @@ -3368,6 +3368,13 @@ tcp_input_lookup_buffer (vlib_buffer_t * b, u8 thread_index, u32 * error, *error = TCP_ERROR_LENGTH; return 0; } + if (PREDICT_FALSE + (ip6_address_is_link_local_unicast (&ip6->dst_address))) + { + ip4_main_t *im = &ip4_main; + fib_index = vec_elt (im->fib_index_by_sw_if_index, + vnet_buffer (b)->sw_if_index[VLIB_RX]); + } tc = session_lookup_connection_wt6 (fib_index, &ip6->dst_address, &ip6->src_address, tcp->dst_port, |