[NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API
Convert packet schedulers to use the netlink API. Unfortunately a gradual conversion is not possible without breaking compilation in the middle or adding lots of casts, so this patch converts them all in one step. The patch has been mostly generated automatically with some minor edits to at least allow seperate conversion of classifiers and actions. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
01480e1cf5
commit
1e90474c37
@@ -20,16 +20,17 @@
|
||||
#include <linux/socket.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/gen_stats.h>
|
||||
#include <net/netlink.h>
|
||||
#include <net/gen_stats.h>
|
||||
|
||||
|
||||
static inline int
|
||||
gnet_stats_copy(struct gnet_dump *d, int type, void *buf, int size)
|
||||
{
|
||||
RTA_PUT(d->skb, type, size, buf);
|
||||
NLA_PUT(d->skb, type, size, buf);
|
||||
return 0;
|
||||
|
||||
rtattr_failure:
|
||||
nla_put_failure:
|
||||
spin_unlock_bh(d->lock);
|
||||
return -1;
|
||||
}
|
||||
@@ -62,7 +63,7 @@ gnet_stats_start_copy_compat(struct sk_buff *skb, int type, int tc_stats_type,
|
||||
spin_lock_bh(lock);
|
||||
d->lock = lock;
|
||||
if (type)
|
||||
d->tail = (struct rtattr *)skb_tail_pointer(skb);
|
||||
d->tail = (struct nlattr *)skb_tail_pointer(skb);
|
||||
d->skb = skb;
|
||||
d->compat_tc_stats = tc_stats_type;
|
||||
d->compat_xstats = xstats_type;
|
||||
@@ -213,7 +214,7 @@ int
|
||||
gnet_stats_finish_copy(struct gnet_dump *d)
|
||||
{
|
||||
if (d->tail)
|
||||
d->tail->rta_len = skb_tail_pointer(d->skb) - (u8 *)d->tail;
|
||||
d->tail->nla_len = skb_tail_pointer(d->skb) - (u8 *)d->tail;
|
||||
|
||||
if (d->compat_tc_stats)
|
||||
if (gnet_stats_copy(d, d->compat_tc_stats, &d->tc_stats,
|
||||
|
||||
Reference in New Issue
Block a user