netfilter: xtables: reduce indent level by one
[deliverable/linux.git] / net / ipv4 / netfilter / arp_tables.c
index 940e54ba21b3ed0bb51155b03ddddd31e091c4bf..ecba246dc2a7f2a8fbf8ed98eec69e37fcc2617f 100644 (file)
@@ -273,66 +273,62 @@ unsigned int arpt_do_table(struct sk_buff *skb,
 
        arp = arp_hdr(skb);
        do {
-               if (arp_packet_match(arp, skb->dev, indev, outdev, &e->arp)) {
-                       struct arpt_entry_target *t;
-                       int hdr_len;
+               struct arpt_entry_target *t;
+               int hdr_len;
 
-                       hdr_len = sizeof(*arp) + (2 * sizeof(struct in_addr)) +
-                               (2 * skb->dev->addr_len);
+               if (!arp_packet_match(arp, skb->dev, indev, outdev, &e->arp)) {
+                       e = arpt_next_entry(e);
+                       continue;
+               }
 
-                       ADD_COUNTER(e->counters, hdr_len, 1);
+               hdr_len = sizeof(*arp) + (2 * sizeof(struct in_addr)) +
+                       (2 * skb->dev->addr_len);
+               ADD_COUNTER(e->counters, hdr_len, 1);
 
-                       t = arpt_get_target(e);
+               t = arpt_get_target(e);
 
-                       /* Standard target? */
-                       if (!t->u.kernel.target->target) {
-                               int v;
+               /* Standard target? */
+               if (!t->u.kernel.target->target) {
+                       int v;
 
-                               v = ((struct arpt_standard_target *)t)->verdict;
-                               if (v < 0) {
-                                       /* Pop from stack? */
-                                       if (v != ARPT_RETURN) {
-                                               verdict = (unsigned)(-v) - 1;
-                                               break;
-                                       }
-                                       e = back;
-                                       back = get_entry(table_base,
-                                                        back->comefrom);
-                                       continue;
-                               }
-                               if (table_base + v
-                                   != arpt_next_entry(e)) {
-                                       /* Save old back ptr in next entry */
-                                       struct arpt_entry *next
-                                               = arpt_next_entry(e);
-                                       next->comefrom =
-                                               (void *)back - table_base;
-
-                                       /* set back pointer to next entry */
-                                       back = next;
-                               }
-
-                               e = get_entry(table_base, v);
-                       } else {
-                               /* Targets which reenter must return
-                                * abs. verdicts
-                                */
-                               tgpar.target   = t->u.kernel.target;
-                               tgpar.targinfo = t->data;
-                               verdict = t->u.kernel.target->target(skb,
-                                                                    &tgpar);
-
-                               /* Target might have changed stuff. */
-                               arp = arp_hdr(skb);
-
-                               if (verdict == ARPT_CONTINUE)
-                                       e = arpt_next_entry(e);
-                               else
-                                       /* Verdict */
+                       v = ((struct arpt_standard_target *)t)->verdict;
+                       if (v < 0) {
+                               /* Pop from stack? */
+                               if (v != ARPT_RETURN) {
+                                       verdict = (unsigned)(-v) - 1;
                                        break;
+                               }
+                               e = back;
+                               back = get_entry(table_base, back->comefrom);
+                               continue;
                        }
+                       if (table_base + v
+                           != arpt_next_entry(e)) {
+                               /* Save old back ptr in next entry */
+                               struct arpt_entry *next = arpt_next_entry(e);
+                               next->comefrom = (void *)back - table_base;
+
+                               /* set back pointer to next entry */
+                               back = next;
+                       }
+
+                       e = get_entry(table_base, v);
                } else {
-                       e = arpt_next_entry(e);
+                       /* Targets which reenter must return
+                        * abs. verdicts
+                        */
+                       tgpar.target   = t->u.kernel.target;
+                       tgpar.targinfo = t->data;
+                       verdict = t->u.kernel.target->target(skb, &tgpar);
+
+                       /* Target might have changed stuff. */
+                       arp = arp_hdr(skb);
+
+                       if (verdict == ARPT_CONTINUE)
+                               e = arpt_next_entry(e);
+                       else
+                               /* Verdict */
+                               break;
                }
        } while (!hotdrop);
        xt_info_rdunlock_bh();
This page took 0.026336 seconds and 5 git commands to generate.