On Fri, 20 Dec 2024 11:55:31 -0800 Amery Hung wrote: > From: Amery Hung <amery.hung@xxxxxxxxxxxxx> > > 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 :(