]> git.proxmox.com Git - mirror_iproute2.git/commit
tc: Look for blocks in qevents
authorPetr Machata <petrm@mellanox.com>
Thu, 16 Jul 2020 16:47:07 +0000 (19:47 +0300)
committerDavid Ahern <dsahern@kernel.org>
Mon, 20 Jul 2020 16:34:02 +0000 (16:34 +0000)
commitaf0e036c09b2f6a4a30456c2cd7cd78fe9252175
treec20a863979e5a0d9064563f0b54585791d48f912
parent9c3be2c0eee01be7832b7900a8be798a19c659a5
tc: Look for blocks in qevents

When a list of filters at a given block is requested, tc first validates
that the block exists before doing the filter query. Currently the
validation routine checks ingress and egress blocks. But now that blocks
can be bound to qevents as well, qevent blocks should be looked for as
well.

In order to support that, extend struct qdisc_util with a new callback,
has_block. That should report whether, give the attributes in TCA_OPTIONS,
a blocks with a given number is bound to a qevent. In
tc_qdisc_block_exists_cb(), invoke that callback when set.

Add a helper to the tc_qevent module that walks the list of qevents and
looks for a given block. This is meant to be used by the individual qdiscs.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
tc/tc_qdisc.c
tc/tc_qevent.c
tc/tc_qevent.h
tc/tc_util.h