Commit e5ce2e25 authored by Thomas Graf's avatar Thomas Graf Committed by David S. Miller

[PKT_SCHED]: Remove old action/police helpers

Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bd6781a9
......@@ -148,88 +148,6 @@ extern int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts,
extern int tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts,
struct tcf_ext_map *map);
#ifdef CONFIG_NET_CLS_ACT
static inline int
tcf_change_act_police(struct tcf_proto *tp, struct tc_action **action,
struct rtattr *act_police_tlv, struct rtattr *rate_tlv)
{
int ret;
struct tc_action *act;
act = tcf_action_init_1(act_police_tlv, rate_tlv, "police",
TCA_ACT_NOREPLACE, TCA_ACT_BIND, &ret);
if (act == NULL)
return ret;
act->type = TCA_OLD_COMPAT;
if (*action) {
tcf_tree_lock(tp);
act = xchg(action, act);
tcf_tree_unlock(tp);
tcf_action_destroy(act, TCA_ACT_UNBIND);
} else
*action = act;
return 0;
}
static inline int
tcf_change_act(struct tcf_proto *tp, struct tc_action **action,
struct rtattr *act_tlv, struct rtattr *rate_tlv)
{
int ret;
struct tc_action *act;
act = tcf_action_init(act_tlv, rate_tlv, NULL,
TCA_ACT_NOREPLACE, TCA_ACT_BIND, &ret);
if (act == NULL)
return ret;
if (*action) {
tcf_tree_lock(tp);
act = xchg(action, act);
tcf_tree_unlock(tp);
tcf_action_destroy(act, TCA_ACT_UNBIND);
} else
*action = act;
return 0;
}
static inline int
tcf_dump_act(struct sk_buff *skb, struct tc_action *action,
int act_type, int compat_type)
{
/*
* again for backward compatible mode - we want
* to work with both old and new modes of entering
* tc data even if iproute2 was newer - jhs
*/
if (action) {
struct rtattr * p_rta = (struct rtattr*) skb->tail;
if (action->type != TCA_OLD_COMPAT) {
RTA_PUT(skb, act_type, 0, NULL);
if (tcf_action_dump(skb, action, 0, 0) < 0)
goto rtattr_failure;
} else {
RTA_PUT(skb, compat_type, 0, NULL);
if (tcf_action_dump_old(skb, action, 0, 0) < 0)
goto rtattr_failure;
}
p_rta->rta_len = skb->tail - (u8*)p_rta;
}
return 0;
rtattr_failure:
return -1;
}
#endif /* CONFIG_NET_CLS_ACT */
#ifdef CONFIG_NET_CLS_IND
static inline int
tcf_change_indev(struct tcf_proto *tp, char *indev, struct rtattr *indev_tlv)
......@@ -259,44 +177,4 @@ tcf_match_indev(struct sk_buff *skb, char *indev)
}
#endif /* CONFIG_NET_CLS_IND */
#ifdef CONFIG_NET_CLS_POLICE
static inline int
tcf_change_police(struct tcf_proto *tp, struct tcf_police **police,
struct rtattr *police_tlv, struct rtattr *rate_tlv)
{
struct tcf_police *p = tcf_police_locate(police_tlv, rate_tlv);
if (*police) {
tcf_tree_lock(tp);
p = xchg(police, p);
tcf_tree_unlock(tp);
tcf_police_release(p, TCA_ACT_UNBIND);
} else
*police = p;
return 0;
}
static inline int
tcf_dump_police(struct sk_buff *skb, struct tcf_police *police,
int police_type)
{
if (police) {
struct rtattr * p_rta = (struct rtattr*) skb->tail;
RTA_PUT(skb, police_type, 0, NULL);
if (tcf_police_dump(skb, police) < 0)
goto rtattr_failure;
p_rta->rta_len = skb->tail - (u8*)p_rta;
}
return 0;
rtattr_failure:
return -1;
}
#endif /* CONFIG_NET_CLS_POLICE */
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment