Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / net / sched / act_csum.c
index 87dddbaa203135842269235bd713ee10b09c6b2a..cb8608f0a77a2a88671da430c79399c1fab0d77d 100644 (file)
@@ -43,7 +43,7 @@ static struct tc_action_ops act_csum_ops;
 static int tcf_csum_init(struct net *net, struct nlattr *nla,
                         struct nlattr *est, struct tc_action **a, int ovr,
                         int bind, bool rtnl_held, struct tcf_proto *tp,
-                        struct netlink_ext_ack *extack)
+                        u32 flags, struct netlink_ext_ack *extack)
 {
        struct tc_action_net *tn = net_generic(net, csum_net_id);
        struct tcf_csum_params *params_new;
@@ -68,8 +68,8 @@ static int tcf_csum_init(struct net *net, struct nlattr *nla,
        index = parm->index;
        err = tcf_idr_check_alloc(tn, &index, a, bind);
        if (!err) {
-               ret = tcf_idr_create(tn, index, est, a,
-                                    &act_csum_ops, bind, true);
+               ret = tcf_idr_create_from_flags(tn, index, est, a,
+                                               &act_csum_ops, bind, flags);
                if (ret) {
                        tcf_idr_cleanup(tn, index);
                        return ret;
@@ -580,7 +580,7 @@ static int tcf_csum_act(struct sk_buff *skb, const struct tc_action *a,
        params = rcu_dereference_bh(p->params);
 
        tcf_lastuse_update(&p->tcf_tm);
-       bstats_cpu_update(this_cpu_ptr(p->common.cpu_bstats), skb);
+       tcf_action_update_bstats(&p->common, skb);
 
        action = READ_ONCE(p->tcf_action);
        if (unlikely(action == TC_ACT_SHOT))
@@ -624,7 +624,7 @@ out:
        return action;
 
 drop:
-       qstats_drop_inc(this_cpu_ptr(p->common.cpu_qstats));
+       tcf_action_inc_drop_qstats(&p->common);
        action = TC_ACT_SHOT;
        goto out;
 }