]> err.no Git - linux-2.6/blobdiff - net/ipv4/netfilter/ipt_ECN.c
Merge branch 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6] / net / ipv4 / netfilter / ipt_ECN.c
index 12a818a2462f2a8caf9f8fea514d401fd1d7311b..1aa4517fbcdb454f02e70933484cae5a9b4b2382 100644 (file)
@@ -28,7 +28,7 @@ static inline int
 set_ect_ip(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
 {
        struct iphdr *iph = (*pskb)->nh.iph;
-       __be16 oldtos;
+       u_int16_t oldtos;
 
        if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) {
                if (!skb_make_writable(pskb, sizeof(struct iphdr)))
@@ -37,8 +37,8 @@ set_ect_ip(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
                oldtos = iph->tos;
                iph->tos &= ~IPT_ECN_IP_MASK;
                iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK);
-               iph->check = nf_csum_update(oldtos ^ htons(0xFFFF), iph->tos,
-                                           iph->check);
+               iph->check = nf_csum_update(htons(oldtos) ^ htons(0xFFFF),
+                                           htons(iph->tos), iph->check);
        } 
        return 1;
 }