]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: introduce shared filter blocks infrastructure
authorJiri Pirko <jiri@mellanox.com>
Wed, 17 Jan 2018 10:46:46 +0000 (11:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Jan 2018 19:53:56 +0000 (14:53 -0500)
commit5c6eb94246c6ab5f19fa6e3f4d93ea44ad82e753
tree496b129c4d9aee0385f924d1e20fc1b0ea854795
parentfe7eb39a2c34b991358a2898c92274581df988e3
net: sched: introduce shared filter blocks infrastructure

Allow qdiscs to share filter blocks among them. Each qdisc type has to
use block get/put extended modifications that enable sharing.
Shared blocks are tracked within each net namespace and identified
by u32 index. This index is passed from user during the qdisc creation.
If user passes index that is not used by any other qdisc, new block
is created. If user passes index that is already used, the existing
block will be re-used.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_cls.h
include/net/sch_generic.h
net/sched/cls_api.c