From f1acfc00ee6643b7a55af3a1267365a97eec63ca Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 23 Jan 2024 09:40:45 -0800 Subject: udp: update rx sw_if_index to ip-local selected one Type: fix Signed-off-by: Florin Coras Change-Id: I0afd1b9ddbc17825aab3bfa3e5f9c6c0fbc561ca --- src/vnet/udp/udp_input.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/vnet/udp/udp_input.c b/src/vnet/udp/udp_input.c index 9cabfdf73cd..f1dcab8116f 100644 --- a/src/vnet/udp/udp_input.c +++ b/src/vnet/udp/udp_input.c @@ -224,6 +224,10 @@ udp_parse_and_lookup_buffer (vlib_buffer_t * b, session_dgram_hdr_t * hdr, udp->src_port, TRANSPORT_PROTO_UDP); } + /* Set the sw_if_index[VLIB_RX] to the interface we received + * the connection on (the local interface) */ + vnet_buffer (b)->sw_if_index[VLIB_RX] = vnet_buffer (b)->ip.rx_sw_if_index; + if (PREDICT_TRUE (!(b->flags & VLIB_BUFFER_NEXT_PRESENT))) b->current_length = hdr->data_length; else -- cgit 1.2.3-korg