Re: [PATCH bpf-next/net v3 2/5] bpf: Add mptcp_subflow bpf_iter

From: Matthieu Baerts
Date: Mon May 19 2025 - 06:06:09 EST


Hi Martin,

Thank you for your reply!

On 17/05/2025 00:34, Martin KaFai Lau wrote:
> On 3/20/25 10:48 AM, Matthieu Baerts (NGI0) wrote:

(...)

>> @BPF maintainers: we would like to allow this new mptcp_subflow bpf_iter
>> to be used with struct_ops, but only with the two new ones we are going
>> to introduce that are specific to MPTCP, and with not others struct_ops
>> (TCP CC, sched_ext, etc.). We are not sure how to do that. By chance, do
>> you have examples or doc you could point to us to have this restriction
>> in place, please?
>
> The bpf_qdisc.c has done that. Take a look at the
> "bpf_qdisc_kfunc_filter()".
>
> It is in net-next and bpf-next/net.
Many thanks for the pointer! I see, some operations have specific kfunc,
similar to our needs!

>> Also, for one of the two future MPTCP struct_ops, not all callbacks
>> should be allowed to use this new bpf_iter, because they are called from
>> different contexts. How can we ensure such callbacks from a struct_ops
>> cannot call mptcp_subflow bpf_iter without adding new dedicated checks
>> looking if some locks are held for all callbacks? We understood that
>> they wanted to have something similar with sched_ext, but we are not
>> sure if this code is ready nor if it is going to be accepted.
>
> Same. Take a look at "bpf_qdisc_kfunc_filter()".
Excellent, thank you, we will look at that!

Cheers,
Matt
--
Sponsored by the NGI0 Core fund.