diff --git a/[refs] b/[refs] index 239939901bb0..84c50ecc1589 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2d47b45951af087c1a4439c559309b0bf90a0718 +refs/heads/master: dbe5775bbc00116ed5699babfe17c54f32eb34c3 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index cf87fde3a29b..7e97e891636e 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2284,7 +2284,10 @@ __u32 __skb_get_rxhash(struct sk_buff *skb) goto done; ip = (struct iphdr *) skb->data + nhoff; - ip_proto = ip->protocol; + if (ip->frag_off & htons(IP_MF | IP_OFFSET)) + ip_proto = 0; + else + ip_proto = ip->protocol; addr1 = (__force u32) ip->saddr; addr2 = (__force u32) ip->daddr; ihl = ip->ihl;