On 9/4/25 9:02 AM, Daniel Borkmann wrote:
On 9/4/25 5:56 PM, Alexei Starovoitov wrote:
On Thu, Sep 4, 2025 at 5:11 AM Paul Chaignon
<paul.chaignon@xxxxxxxxx> wrote:
This patch adds support for crafting non-linear skbs in BPF test runs
for tc programs, via a new flag BPF_F_TEST_SKB_NON_LINEAR. When this
flag is set, only the L2 header is pulled in the linear area.
...
+ /* eth_type_trans expects the Ethernet header in the
linear area. */
+ __pskb_pull_tail(skb, ETH_HLEN);
Looks useful, but only L2 ? Is it realistic ?
I don't recall any driver that would do L2 only.
Is L2 only enough to cover all corner cases in your progs ?
Should the linear size be a configurable parameter for prog_run() ?
Yeah perhaps we could make this configurable. The ETH_HLEN is a common
case
we've seen and also what virtual drivers pull in at min, but with NICs
doing
header/data split its probably better to let the user define this as part
of the testing. Then we're more flexible.
How about letting users specify the linear size through ctx->data_end? I
am working on a set that introduces a kfunc, bpf_xdp_pull_data(). A part
of is to support non-linear xdp_buff in test_run_xdp, and I am doing it
through ctx->data_end. Is it something reasonable for test_run_skb?
Cheers,
Daniel