memif: fix fib lookup in dma datapath 38/42838/3
authorJeff Shaw <jeffrey.b.shaw@intel.com>
Thu, 17 Apr 2025 22:02:20 +0000 (15:02 -0700)
committerDamjan Marion <dmarion@0xa5.net>
Fri, 18 Apr 2025 19:51:39 +0000 (19:51 +0000)
commite22e6cbbb29d3ecb618b495a6fdeedbadfa0e81d
treeb02b65914724c9771c53de61106242ac92ba9209
parent2fa70d66482adb21178bad9ebf0d748358cd416e
memif: fix fib lookup in dma datapath

Packets received using the DMA datapath use the buffer template copied
from the dma_info per-thread data. The sw_if_index[VLIB_TX] was not set
in the vlib buffer template, so subsequent FIB lookups were done using
table 0. This is incorrect if the interface is assigned to a different
table.

Fix the behavior by setting the sw_if_index[VLIB_TX] to ~0, so the FIB
knows to use the table to which the interface is assigned, which is the
same behavior as the non-DMA memif datapath.

Type: fix

Change-Id: I17bf9d21ef8a82c56ef839fbf2b611a633db7255
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
src/plugins/memif/memif.c