OSDN Git Service

net: sched: split tc_ctl_tfilter into three handlers
authorVlad Buslov <vladbu@mellanox.com>
Thu, 31 May 2018 06:52:53 +0000 (09:52 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Jun 2018 15:13:50 +0000 (11:13 -0400)
commitc431f89b18a2bd62f74174829565e6433fc0c109
tree33ac819367a1e1cccfc5e8568de5159e4ffa46ed
parentaf066ed3d45551e703d95d7e6c67d36a63809bc2
net: sched: split tc_ctl_tfilter into three handlers

tc_ctl_tfilter handles three netlink message types: RTM_NEWTFILTER,
RTM_DELTFILTER, RTM_GETTFILTER. However, implementation of this function
involves a lot of branching on specific message type because most of the
code is message-specific. This significantly complicates adding new
functionality and doesn't provide much benefit of code reuse.

Split tc_ctl_tfilter to three standalone functions that handle filter new,
delete and get requests.

The only truly protocol independent part of tc_ctl_tfilter is code that
looks up queue, class, and block. Refactor this code to standalone
tcf_block_find function that is used by all three new handlers.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_api.c