On Tue, 4 Feb 2025 15:21:27 -0800 Amery Hung wrote: > On Tue, Feb 4, 2025 at 2:18 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Fri, 31 Jan 2025 11:28:47 -0800 Amery Hung wrote: > > > + if (new && > > > + !(parent->flags & TCQ_F_MQROOT) && > > > + new->ops->owner == BPF_MODULE_OWNER) { > > > + NL_SET_ERR_MSG(extack, "BPF qdisc not supported on a non root"); > > > + return -EINVAL; > > > + } > > > > This check should live in bpf_qdisc.c > > Might be a dumb question, but could you explain why this is preferred? > > I can certainly do the check in Qdisc_ops::init instead though. Basic SW abstractions, this is the generic layer, bpf_qdisc is just one implementation that plugs into it.