--- linux/net/sched/sch_sfq.c.orig 2004-08-06 09:59:25.000000000 -0700 +++ linux/net/sched/sch_sfq.c 2004-09-07 16:34:17.000000000 -0700 @@ -139,11 +139,11 @@ case __constant_htons(ETH_P_IP): { struct iphdr *iph = skb->nh.iph; h = iph->daddr; h2 = iph->saddr^iph->protocol; - if (!(iph->frag_off&htons(IP_MF|IP_OFFSET)) && + if (0 && !(iph->frag_off&htons(IP_MF|IP_OFFSET)) && (iph->protocol == IPPROTO_TCP || iph->protocol == IPPROTO_UDP || iph->protocol == IPPROTO_ESP)) h2 ^= *(((u32*)iph) + iph->ihl); break; @@ -151,13 +151,13 @@ case __constant_htons(ETH_P_IPV6): { struct ipv6hdr *iph = skb->nh.ipv6h; h = iph->daddr.s6_addr32[3]; h2 = iph->saddr.s6_addr32[3]^iph->nexthdr; - if (iph->nexthdr == IPPROTO_TCP || + if (0 && (iph->nexthdr == IPPROTO_TCP || iph->nexthdr == IPPROTO_UDP || - iph->nexthdr == IPPROTO_ESP) + iph->nexthdr == IPPROTO_ESP)) h2 ^= *(u32*)&iph[1]; break; } default: h = (u32)(unsigned long)skb->dst^skb->protocol;