]> err.no Git - linux-2.6/blobdiff - net/ipv4/netfilter/ipt_CLUSTERIP.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[linux-2.6] / net / ipv4 / netfilter / ipt_CLUSTERIP.c
index dc4362b57cfa497746a100b4cd8ed5079e499b29..6706d3a1bc4fbe548746412597497ddccf895dc4 100644 (file)
@@ -30,7 +30,7 @@
 #include <linux/netfilter_ipv4/ipt_CLUSTERIP.h>
 #include <linux/netfilter_ipv4/ip_conntrack.h>
 
-#define CLUSTERIP_VERSION "0.6"
+#define CLUSTERIP_VERSION "0.7"
 
 #define DEBUG_CLUSTERIP
 
@@ -339,7 +339,7 @@ target(struct sk_buff **pskb,
         * error messages (RELATED) and information requests (see below) */
        if ((*pskb)->nh.iph->protocol == IPPROTO_ICMP
            && (ctinfo == IP_CT_RELATED 
-               || ctinfo == IP_CT_IS_REPLY+IP_CT_IS_REPLY))
+               || ctinfo == IP_CT_RELATED+IP_CT_IS_REPLY))
                return IPT_CONTINUE;
 
        /* ip_conntrack_icmp guarantees us that we only have ICMP_ECHO, 
@@ -524,8 +524,9 @@ arp_mangle(unsigned int hook,
            || arp->ar_pln != 4 || arp->ar_hln != ETH_ALEN)
                return NF_ACCEPT;
 
-       /* we only want to mangle arp replies */
-       if (arp->ar_op != htons(ARPOP_REPLY))
+       /* we only want to mangle arp requests and replies */
+       if (arp->ar_op != htons(ARPOP_REPLY)
+           && arp->ar_op != htons(ARPOP_REQUEST))
                return NF_ACCEPT;
 
        payload = (void *)(arp+1);