net: rps: skip fragment when computing rxhash

Fragmented IP packets may have no transfer header, so when computing
rxhash, we should skip them.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Changli Gao 2010-08-17 19:01:38 +00:00 committed by David S. Miller
parent 2d47b45951
commit dbe5775bbc

View file

@ -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;