[NETFILTER]: ebt_mark: add or/and/xor action support to mark target
[linux-2.6.git] / net / bridge / br_netfilter.c
index b498efc..ac181be 100644 (file)
 
 #ifdef CONFIG_SYSCTL
 static struct ctl_table_header *brnf_sysctl_header;
-static int brnf_call_iptables = 1;
-static int brnf_call_ip6tables = 1;
-static int brnf_call_arptables = 1;
-static int brnf_filter_vlan_tagged = 1;
+static int brnf_call_iptables __read_mostly = 1;
+static int brnf_call_ip6tables __read_mostly = 1;
+static int brnf_call_arptables __read_mostly = 1;
+static int brnf_filter_vlan_tagged __read_mostly = 1;
 #else
 #define brnf_filter_vlan_tagged 1
 #endif
@@ -718,16 +718,6 @@ static unsigned int br_nf_local_out(unsigned int hook, struct sk_buff **pskb,
        else
                pf = PF_INET6;
 
-#ifdef CONFIG_NETFILTER_DEBUG
-       /* Sometimes we get packets with NULL ->dst here (for example,
-        * running a dhcp client daemon triggers this). This should now
-        * be fixed, but let's keep the check around. */
-       if (skb->dst == NULL) {
-               printk(KERN_CRIT "br_netfilter: skb->dst == NULL.");
-               return NF_ACCEPT;
-       }
-#endif
-
        nf_bridge = skb->nf_bridge;
        nf_bridge->physoutdev = skb->dev;
        realindev = nf_bridge->physindev;
@@ -809,7 +799,7 @@ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb,
         * keep the check just to be sure... */
        if (skb->mac.raw < skb->head || skb->mac.raw + ETH_HLEN > skb->data) {
                printk(KERN_CRIT "br_netfilter: Argh!! br_nf_post_routing: "
-                      "bad mac.raw pointer.");
+                      "bad mac.raw pointer.\n");
                goto print_error;
        }
 #endif
@@ -827,7 +817,7 @@ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb,
 
 #ifdef CONFIG_NETFILTER_DEBUG
        if (skb->dst == NULL) {
-               printk(KERN_CRIT "br_netfilter: skb->dst == NULL.");
+               printk(KERN_INFO "br_netfilter post_routing: skb->dst == NULL\n");
                goto print_error;
        }
 #endif
@@ -864,6 +854,7 @@ print_error:
        }
        printk(" head:%p, raw:%p, data:%p\n", skb->head, skb->mac.raw,
               skb->data);
+       dump_stack();
        return NF_ACCEPT;
 #endif
 }