Subject: Re: [PATCH bpf-next v2 05/14] bpf: net_sched: Support implementation of Qdisc_ops in bpf

From: Jakub Kicinski <[email-masked]>
Date: Thu, 9 Jan 2025 17:20:16 -0800

On Fri, 20 Dec 2024 11:55:31 -0800 Amery Hung wrote:
> From: Amery Hung <[email-masked]>
> 
> Enable users to implement a classless qdisc using bpf. The last few
> patches in this series has prepared struct_ops to support core operators
> in Qdisc_ops. The recent advancement in bpf such as allocated
> objects, bpf list and bpf rbtree has also provided powerful and flexible
> building blocks to realize sophisticated scheduling algorithms. Therefore,
> in this patch, we start allowing qdisc to be implemented using bpf
> struct_ops. Users can implement Qdisc_ops.{enqueue, dequeue, init, reset,
> and .destroy in Qdisc_ops in bpf and register the qdisc dynamically into
> the kernel.

Are you making sure the BPF Qdisc can only be attached as TC_H_ROOT, 
and has no cl_ops? Sorry IDK much about the bpf ops glue.

It'd certainly be good if Jamal or Eric had a look since they handle
all the qdisc security bugs. The qdisc abstraction is an order of
magnitude more leaky than TCP CC ops :(