netem: cleanup dump code
authorstephen hemminger <shemminger@vyatta.com>
Wed, 23 Feb 2011 13:04:17 +0000 (13:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 Feb 2011 06:11:53 +0000 (22:11 -0800)
Use nla_put_nested to update netlink attribute value.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_netem.c

index 64f0d32..d367783 100644 (file)
@@ -562,8 +562,7 @@ static void netem_destroy(struct Qdisc *sch)
 static int netem_dump(struct Qdisc *sch, struct sk_buff *skb)
 {
        const struct netem_sched_data *q = qdisc_priv(sch);
-       unsigned char *b = skb_tail_pointer(skb);
-       struct nlattr *nla = (struct nlattr *) b;
+       struct nlattr *nla = (struct nlattr *) skb_tail_pointer(skb);
        struct tc_netem_qopt qopt;
        struct tc_netem_corr cor;
        struct tc_netem_reorder reorder;
@@ -590,12 +589,10 @@ static int netem_dump(struct Qdisc *sch, struct sk_buff *skb)
        corrupt.correlation = q->corrupt_cor.rho;
        NLA_PUT(skb, TCA_NETEM_CORRUPT, sizeof(corrupt), &corrupt);
 
-       nla->nla_len = skb_tail_pointer(skb) - b;
-
-       return skb->len;
+       return nla_nest_end(skb, nla);
 
 nla_put_failure:
-       nlmsg_trim(skb, b);
+       nlmsg_trim(skb, nla);
        return -1;
 }