]> 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)
commit286755012252abbd3a18e9e40186b843825a35a1
tree496b129c4d9aee0385f924d1e20fc1b0ea854795
parent20c1cb0d68b6f264c5b0c8bfb8c266ab585c5d74
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