diff options
author | Patrick McHardy <kaber@trash.net> | 2008-01-22 22:11:50 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:11:11 -0800 |
commit | 7ba699c604ab811972eee2e041fd6b07659a2e6e (patch) | |
tree | 4f76f69a25ce27ee0dd0c417df75acf00b1a36a0 /net/sched/act_mirred.c | |
parent | add93b610a4e66d36d0cf0b2596c3d3bcfdaee39 (diff) | |
download | op-kernel-dev-7ba699c604ab811972eee2e041fd6b07659a2e6e.zip op-kernel-dev-7ba699c604ab811972eee2e041fd6b07659a2e6e.tar.gz |
[NET_SCHED]: Convert actions from rtnetlink to new netlink API
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_mirred.c')
-rw-r--r-- | net/sched/act_mirred.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index c3fde91..db943a8c 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -54,10 +54,10 @@ static inline int tcf_mirred_release(struct tcf_mirred *m, int bind) return 0; } -static int tcf_mirred_init(struct rtattr *rta, struct rtattr *est, +static int tcf_mirred_init(struct nlattr *nla, struct nlattr *est, struct tc_action *a, int ovr, int bind) { - struct rtattr *tb[TCA_MIRRED_MAX]; + struct nlattr *tb[TCA_MIRRED_MAX + 1]; struct tc_mirred *parm; struct tcf_mirred *m; struct tcf_common *pc; @@ -65,13 +65,13 @@ static int tcf_mirred_init(struct rtattr *rta, struct rtattr *est, int ret = 0; int ok_push = 0; - if (rta == NULL || rtattr_parse_nested(tb, TCA_MIRRED_MAX, rta) < 0) + if (nla == NULL || nla_parse_nested(tb, TCA_MIRRED_MAX, nla, NULL) < 0) return -EINVAL; - if (tb[TCA_MIRRED_PARMS-1] == NULL || - RTA_PAYLOAD(tb[TCA_MIRRED_PARMS-1]) < sizeof(*parm)) + if (tb[TCA_MIRRED_PARMS] == NULL || + nla_len(tb[TCA_MIRRED_PARMS]) < sizeof(*parm)) return -EINVAL; - parm = RTA_DATA(tb[TCA_MIRRED_PARMS-1]); + parm = nla_data(tb[TCA_MIRRED_PARMS]); if (parm->ifindex) { dev = __dev_get_by_index(&init_net, parm->ifindex); @@ -207,14 +207,14 @@ static int tcf_mirred_dump(struct sk_buff *skb, struct tc_action *a, int bind, i opt.bindcnt = m->tcf_bindcnt - bind; opt.eaction = m->tcfm_eaction; opt.ifindex = m->tcfm_ifindex; - RTA_PUT(skb, TCA_MIRRED_PARMS, sizeof(opt), &opt); + NLA_PUT(skb, TCA_MIRRED_PARMS, sizeof(opt), &opt); t.install = jiffies_to_clock_t(jiffies - m->tcf_tm.install); t.lastuse = jiffies_to_clock_t(jiffies - m->tcf_tm.lastuse); t.expires = jiffies_to_clock_t(m->tcf_tm.expires); - RTA_PUT(skb, TCA_MIRRED_TM, sizeof(t), &t); + NLA_PUT(skb, TCA_MIRRED_TM, sizeof(t), &t); return skb->len; -rtattr_failure: +nla_put_failure: nlmsg_trim(skb, b); return -1; } |