]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: Pass qdisc reference in struct flow_block_offload
authorPetr Machata <petrm@mellanox.com>
Fri, 10 Jul 2020 21:55:03 +0000 (00:55 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 00:22:21 +0000 (17:22 -0700)
commit513704d6070e8254a57d5bc1f9d01bd9095d0756
tree5f7dc038a15a9bc3ca2c768ff2af4af9de63bee0
parent988ef2417605c99f269b03d87c45076c531747a4
net: sched: Pass qdisc reference in struct flow_block_offload

Previously, shared blocks were only relevant for the pseudo-qdiscs ingress
and clsact. Recently, a qevent facility was introduced, which allows to
bind blocks to well-defined slots of a qdisc instance. RED in particular
got two qevents: early_drop and mark. Drivers that wish to offload these
blocks will be sent the usual notification, and need to know which qdisc it
is related to.

To that end, extend flow_block_offload with a "sch" pointer, and initialize
as appropriate. This prompts changes in the indirect block facility, which
now tracks the scheduler in addition to the netdevice. Update signatures of
several functions similarly.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
drivers/net/ethernet/netronome/nfp/flower/main.h
drivers/net/ethernet/netronome/nfp/flower/offload.c
include/net/flow_offload.h
net/core/flow_offload.c
net/netfilter/nf_flow_table_offload.c
net/netfilter/nf_tables_offload.c
net/sched/cls_api.c