netfilter: ebtables: use ADD_COUNTER macro
authorTaehee Yoo <ap420073@gmail.com>
Wed, 14 Mar 2018 14:36:53 +0000 (23:36 +0900)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 20 Mar 2018 12:41:40 +0000 (13:41 +0100)
xtables uses ADD_COUNTER macro to increase
packet and byte count. ebtables also can use this.

Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/bridge/netfilter/ebtables.c

index 217aa79..9a26d2b 100644 (file)
@@ -223,9 +223,7 @@ unsigned int ebt_do_table(struct sk_buff *skb,
                        return NF_DROP;
                }
 
-               /* increase counter */
-               (*(counter_base + i)).pcnt++;
-               (*(counter_base + i)).bcnt += skb->len;
+               ADD_COUNTER(*(counter_base + i), 1, skb->len);
 
                /* these should only watch: not modify, nor tell us
                 * what to do with the packet
@@ -968,10 +966,9 @@ static void get_counters(const struct ebt_counter *oldcounters,
                if (cpu == 0)
                        continue;
                counter_base = COUNTER_BASE(oldcounters, nentries, cpu);
-               for (i = 0; i < nentries; i++) {
-                       counters[i].pcnt += counter_base[i].pcnt;
-                       counters[i].bcnt += counter_base[i].bcnt;
-               }
+               for (i = 0; i < nentries; i++)
+                       ADD_COUNTER(counters[i], counter_base[i].pcnt,
+                                   counter_base[i].bcnt);
        }
 }
 
@@ -1324,10 +1321,8 @@ static int do_update_counters(struct net *net, const char *name,
        write_lock_bh(&t->lock);
 
        /* we add to the counters of the first cpu */
-       for (i = 0; i < num_counters; i++) {
-               t->private->counters[i].pcnt += tmp[i].pcnt;
-               t->private->counters[i].bcnt += tmp[i].bcnt;
-       }
+       for (i = 0; i < num_counters; i++)
+               ADD_COUNTER(t->private->counters[i], tmp[i].pcnt, tmp[i].bcnt);
 
        write_unlock_bh(&t->lock);
        ret = 0;