After discussion with bpf maintainers[1], queue_index could be propagated to the remote XDP program by the xdp_md struct[2] which makes this todo a misguide for future effort. [1]:https://lore.kernel.org/all/87y0q23j2w.fsf@cloudflare.com/ [2]:https://docs.ebpf.io/linux/helper-function/bpf_xdp_adjust_meta/ Signed-off-by: Mehdi Ben Hadj Khelifa --- Changelog: Changes from v1: -Added a comment to clarify that RX queue_index is lost after the frame redirection. Link:https://lore.kernel.org/bpf/d9819687-5b0d-4bfa-9aec-aef71b847383@gmail.com/T/#mcb6a0315f174d02db3c9bc4fa556cc939c87a706 kernel/bpf/cpumap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/bpf/cpumap.c b/kernel/bpf/cpumap.c index 703e5df1f4ef..6856a4a67840 100644 --- a/kernel/bpf/cpumap.c +++ b/kernel/bpf/cpumap.c @@ -195,7 +195,10 @@ static int cpu_map_bpf_prog_run_xdp(struct bpf_cpu_map_entry *rcpu, rxq.dev = xdpf->dev_rx; rxq.mem.type = xdpf->mem_type; - /* TODO: report queue_index to xdp_rxq_info */ + /* The NIC RX queue_index is lost after the frame redirection + * but in case of need, it can be passed as a custom XDP + * metadata via xdp_md struct to the remote XDP program + */ xdp_convert_frame_to_buff(xdpf, &xdp); -- 2.51.1.dirty