On Tue, Jun 8, 2021 at 8:39 AM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > I think it makes sense to create these objects as part of establishing bpf_link. > ingress qdisc is a fake qdisc anyway. > If we could go back in time I would argue that its existence doesn't > need to be shown in iproute2. It's an object that serves no purpose > other than attaching filters to it. It doesn't do any queuing unlike > real qdiscs. > It's an artifact of old choices. Old doesn't mean good. > The kernel is full of such quirks and oddities. New api-s shouldn't > blindly follow them. > tc qdisc add dev eth0 clsact > is a useless command with nop effect. Sounds like you just need a new bpf attach point outside of TC, probably inside __dev_queue_xmit(). You don't need to create any object, probably just need to attach it to a netdev. Thanks.