net: sched: make tcf_chain_{get,put}() static
These are no longer used outside of cls_api.c so make them static. Move tcf_chain_flush() to avoid fwd declaration of tcf_chain_put(). Signed-off-by: Jiri Pirko <jiri@mellanox.com> v1->v2: - new patch Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
5368140730
Коммит
290b1c8b1a
|
@ -40,11 +40,8 @@ struct tcf_block_cb;
|
|||
bool tcf_queue_work(struct rcu_work *rwork, work_func_t func);
|
||||
|
||||
#ifdef CONFIG_NET_CLS
|
||||
struct tcf_chain *tcf_chain_get(struct tcf_block *block, u32 chain_index,
|
||||
bool create);
|
||||
struct tcf_chain *tcf_chain_get_by_act(struct tcf_block *block,
|
||||
u32 chain_index);
|
||||
void tcf_chain_put(struct tcf_chain *chain);
|
||||
void tcf_chain_put_by_act(struct tcf_chain *chain);
|
||||
void tcf_block_netif_keep_dst(struct tcf_block *block);
|
||||
int tcf_block_get(struct tcf_block **p_block,
|
||||
|
|
|
@ -232,19 +232,6 @@ static void tcf_chain0_head_change(struct tcf_chain *chain,
|
|||
tcf_chain_head_change_item(item, tp_head);
|
||||
}
|
||||
|
||||
static void tcf_chain_flush(struct tcf_chain *chain)
|
||||
{
|
||||
struct tcf_proto *tp = rtnl_dereference(chain->filter_chain);
|
||||
|
||||
tcf_chain0_head_change(chain, NULL);
|
||||
while (tp) {
|
||||
RCU_INIT_POINTER(chain->filter_chain, tp->next);
|
||||
tcf_proto_destroy(tp, NULL);
|
||||
tp = rtnl_dereference(chain->filter_chain);
|
||||
tcf_chain_put(chain);
|
||||
}
|
||||
}
|
||||
|
||||
static void tcf_chain_destroy(struct tcf_chain *chain)
|
||||
{
|
||||
struct tcf_block *block = chain->block;
|
||||
|
@ -316,12 +303,11 @@ static struct tcf_chain *__tcf_chain_get(struct tcf_block *block,
|
|||
return chain;
|
||||
}
|
||||
|
||||
struct tcf_chain *tcf_chain_get(struct tcf_block *block, u32 chain_index,
|
||||
bool create)
|
||||
static struct tcf_chain *tcf_chain_get(struct tcf_block *block, u32 chain_index,
|
||||
bool create)
|
||||
{
|
||||
return __tcf_chain_get(block, chain_index, create, false);
|
||||
}
|
||||
EXPORT_SYMBOL(tcf_chain_get);
|
||||
|
||||
struct tcf_chain *tcf_chain_get_by_act(struct tcf_block *block, u32 chain_index)
|
||||
{
|
||||
|
@ -347,11 +333,10 @@ static void __tcf_chain_put(struct tcf_chain *chain, bool by_act)
|
|||
}
|
||||
}
|
||||
|
||||
void tcf_chain_put(struct tcf_chain *chain)
|
||||
static void tcf_chain_put(struct tcf_chain *chain)
|
||||
{
|
||||
__tcf_chain_put(chain, false);
|
||||
}
|
||||
EXPORT_SYMBOL(tcf_chain_put);
|
||||
|
||||
void tcf_chain_put_by_act(struct tcf_chain *chain)
|
||||
{
|
||||
|
@ -365,6 +350,19 @@ static void tcf_chain_put_explicitly_created(struct tcf_chain *chain)
|
|||
tcf_chain_put(chain);
|
||||
}
|
||||
|
||||
static void tcf_chain_flush(struct tcf_chain *chain)
|
||||
{
|
||||
struct tcf_proto *tp = rtnl_dereference(chain->filter_chain);
|
||||
|
||||
tcf_chain0_head_change(chain, NULL);
|
||||
while (tp) {
|
||||
RCU_INIT_POINTER(chain->filter_chain, tp->next);
|
||||
tcf_proto_destroy(tp, NULL);
|
||||
tp = rtnl_dereference(chain->filter_chain);
|
||||
tcf_chain_put(chain);
|
||||
}
|
||||
}
|
||||
|
||||
static bool tcf_block_offload_in_use(struct tcf_block *block)
|
||||
{
|
||||
return block->offloadcnt;
|
||||
|
|
Загрузка…
Ссылка в новой задаче