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

[PKT_SCHED]: cls_fw: Use generic routines to dump action/policer

Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 73a842ed
......@@ -375,48 +375,18 @@ static int fw_dump(struct tcf_proto *tp, unsigned long fh,
if (f->res.classid)
RTA_PUT(skb, TCA_FW_CLASSID, 4, &f->res.classid);
#ifdef CONFIG_NET_CLS_ACT
/* 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 (f->action) {
struct rtattr * p_rta = (struct rtattr*)skb->tail;
if (f->action->type != TCA_OLD_COMPAT) {
RTA_PUT(skb, TCA_FW_ACT, 0, NULL);
if (tcf_action_dump(skb,f->action,0,0) < 0) {
goto rtattr_failure;
}
} else {
RTA_PUT(skb, TCA_FW_POLICE, 0, NULL);
if (tcf_action_dump_old(skb,f->action,0,0) < 0) {
goto rtattr_failure;
}
}
p_rta->rta_len = skb->tail - (u8*)p_rta;
}
if (tcf_dump_act(skb, f->action, TCA_FW_ACT, TCA_FW_POLICE) < 0)
goto rtattr_failure;
#ifdef CONFIG_NET_CLS_IND
if(strlen(f->indev)) {
struct rtattr * p_rta = (struct rtattr*)skb->tail;
if (strlen(f->indev))
RTA_PUT(skb, TCA_FW_INDEV, IFNAMSIZ, f->indev);
p_rta->rta_len = skb->tail - (u8*)p_rta;
}
#endif
#else
#endif /* CONFIG_NET_CLS_IND */
#else /* CONFIG_NET_CLS_ACT */
#ifdef CONFIG_NET_CLS_POLICE
if (f->police) {
struct rtattr * p_rta = (struct rtattr*)skb->tail;
RTA_PUT(skb, TCA_FW_POLICE, 0, NULL);
if (tcf_police_dump(skb, f->police) < 0)
goto rtattr_failure;
p_rta->rta_len = skb->tail - (u8*)p_rta;
}
#endif
#endif
if (tcf_dump_police(skb, f->police, TCA_FW_POLICE) < 0)
goto rtattr_failure;
#endif /* CONFIG_NET_CLS_POLICE */
#endif /* CONFIG_NET_CLS_ACT */
rta->rta_len = skb->tail - b;
#ifdef CONFIG_NET_CLS_ACT
......
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