diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 1be6004bca28dd49c8087da4d0fbe542c134a95b..395f2d9a9beb851622e66c2368a9ed5d18eceffe 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -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