udp: update rx sw_if_index to ip-local selected one 44/40244/2
authorFlorin Coras <fcoras@cisco.com>
Tue, 23 Jan 2024 17:40:45 +0000 (09:40 -0800)
committerMohammed HAWARI <momohawari@gmail.com>
Thu, 25 Jan 2024 10:10:06 +0000 (10:10 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0afd1b9ddbc17825aab3bfa3e5f9c6c0fbc561ca

src/vnet/udp/udp_input.c

index 9cabfdf..f1dcab8 100644 (file)
@@ -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