Subject: Re: [PATCH v16 bpf-next 09/20] bpf: introduce BPF_F_XDP_MB flag in prog_flags loading the ebpf program

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Fri, 15 Oct 2021 18:03:47 +0200

Lorenzo Bianconi <[email-masked]> writes:

>> Lorenzo Bianconi <[email-masked]> writes:
>> 
>> > Introduce BPF_F_XDP_MB and the related field in bpf_prog_aux in order to
>> > notify the driver the loaded program support xdp multi-buffer.
>> 
>> We should also add some restrictions in the BPF core. In particular,
>> tail call, cpumap and devmap maps should not be able to mix multi-buf
>> and non-multibuf programs.
>
> ack. How can we detect if a cpumap or a devmap is running in XDP multi-buff
> mode in order to reject loading the legacy XDP program?

I was hoping we could copy the same mechanism that tail call maps to
ensure that callers and callees are the same type. And amend that to
also consider the xdp_mb flag while we're at it :)

> Should we just discard the XDP multi-buff in this case?

If I'm right in the above, we won't have to because the verifier can
ensure that the program types match...

-Toke