Re: [PATCH bpf-next V2 0/7] xdp: Allow BPF to set RX hints for XDP_REDIRECTed packets
From: Jakub Kicinski <kuba@kernel.org>
Date: 2025-07-28 16:29:57
Also in:
bpf
On Mon, 28 Jul 2025 12:53:01 +0200 Lorenzo Bianconi wrote:
quoted
quoted
I can see why you might think that, but from my perspective, the xdp_frame *is* the implementation of the mini-SKB concept. We've been building it incrementally for years. It started as the most minimal structure possible and has gradually gained more context (e.g. dev_rx, mem_info/rxq_info, flags, and also uses skb_shared_info with same layout as SKB).My understanding was that just adding all the fields to xdp_frame was considered too wasteful. Otherwise we would have done something along those lines ~10 years ago :SHi Jakub, sorry for the late reply. I am completely fine to redesign the solution to overcome the problem but I guess this feature will allow us to improve XDP performance in a common/real use-case. Let's consider we want to redirect a packet into a veth and then into a container. Preserving the hw metadata performing XDP_REDIRECT will allow us to avoid recalculating the checksum creating the skb. This will result in a very nice performance improvement. So I guess we should really come up with some idea to add this missing feature.
I don't think the counter-proposal prevents that. As long as veth supports "set" callbacks the program can transfer the metadata over to the veth and the second program at veth can communicate them to the driver. Martin mentioned to me that he had proposed in the past that we allow allocating the skb at the XDP level, if the program needs "skb-level metadata". That actually seems pretty clean to me.. Was it ever explored?