net_sched: act: export tcf_hash_search() instead of tcf_hash_lookup()
So that we will not expose struct tcf_common to modules. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c779f7af99
commit
6e6a50c254
|
@ -97,7 +97,7 @@ struct tc_action_ops {
|
||||||
int (*walk)(struct sk_buff *, struct netlink_callback *, int, struct tc_action *);
|
int (*walk)(struct sk_buff *, struct netlink_callback *, int, struct tc_action *);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tcf_common *tcf_hash_lookup(u32 index, struct tcf_hashinfo *hinfo);
|
int tcf_hash_search(struct tc_action *a, u32 index);
|
||||||
void tcf_hash_destroy(struct tcf_common *p, struct tcf_hashinfo *hinfo);
|
void tcf_hash_destroy(struct tcf_common *p, struct tcf_hashinfo *hinfo);
|
||||||
int tcf_hash_release(struct tcf_common *p, int bind,
|
int tcf_hash_release(struct tcf_common *p, int bind,
|
||||||
struct tcf_hashinfo *hinfo);
|
struct tcf_hashinfo *hinfo);
|
||||||
|
|
|
@ -156,7 +156,7 @@ static int tcf_generic_walker(struct sk_buff *skb, struct netlink_callback *cb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct tcf_common *tcf_hash_lookup(u32 index, struct tcf_hashinfo *hinfo)
|
static struct tcf_common *tcf_hash_lookup(u32 index, struct tcf_hashinfo *hinfo)
|
||||||
{
|
{
|
||||||
struct tcf_common *p = NULL;
|
struct tcf_common *p = NULL;
|
||||||
struct hlist_head *head;
|
struct hlist_head *head;
|
||||||
|
@ -170,7 +170,6 @@ struct tcf_common *tcf_hash_lookup(u32 index, struct tcf_hashinfo *hinfo)
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(tcf_hash_lookup);
|
|
||||||
|
|
||||||
u32 tcf_hash_new_index(struct tcf_hashinfo *hinfo)
|
u32 tcf_hash_new_index(struct tcf_hashinfo *hinfo)
|
||||||
{
|
{
|
||||||
|
@ -186,7 +185,7 @@ u32 tcf_hash_new_index(struct tcf_hashinfo *hinfo)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(tcf_hash_new_index);
|
EXPORT_SYMBOL(tcf_hash_new_index);
|
||||||
|
|
||||||
static int tcf_hash_search(struct tc_action *a, u32 index)
|
int tcf_hash_search(struct tc_action *a, u32 index)
|
||||||
{
|
{
|
||||||
struct tcf_hashinfo *hinfo = a->ops->hinfo;
|
struct tcf_hashinfo *hinfo = a->ops->hinfo;
|
||||||
struct tcf_common *p = tcf_hash_lookup(index, hinfo);
|
struct tcf_common *p = tcf_hash_lookup(index, hinfo);
|
||||||
|
@ -197,6 +196,7 @@ static int tcf_hash_search(struct tc_action *a, u32 index)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(tcf_hash_search);
|
||||||
|
|
||||||
struct tcf_common *tcf_hash_check(u32 index, struct tc_action *a, int bind)
|
struct tcf_common *tcf_hash_check(u32 index, struct tc_action *a, int bind)
|
||||||
{
|
{
|
||||||
|
|
|
@ -140,12 +140,8 @@ static int tcf_act_police_locate(struct net *net, struct nlattr *nla,
|
||||||
parm = nla_data(tb[TCA_POLICE_TBF]);
|
parm = nla_data(tb[TCA_POLICE_TBF]);
|
||||||
|
|
||||||
if (parm->index) {
|
if (parm->index) {
|
||||||
struct tcf_common *pc;
|
if (tcf_hash_search(a, parm->index)) {
|
||||||
|
police = to_police(a->priv);
|
||||||
pc = tcf_hash_lookup(parm->index, hinfo);
|
|
||||||
if (pc != NULL) {
|
|
||||||
a->priv = pc;
|
|
||||||
police = to_police(pc);
|
|
||||||
if (bind) {
|
if (bind) {
|
||||||
police->tcf_bindcnt += 1;
|
police->tcf_bindcnt += 1;
|
||||||
police->tcf_refcnt += 1;
|
police->tcf_refcnt += 1;
|
||||||
|
|
Loading…
Reference in New Issue