net: rps: reset network header before calling skb_get_rxhash()
authorChangli Gao <xiaosuo@gmail.com>
Tue, 17 Aug 2010 19:00:56 +0000 (19:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Aug 2010 00:08:37 +0000 (17:08 -0700)
skb_get_rxhash() assumes the network header pointer of the skb is set
properly after the commit:

commit bfb564e7391340638afe4ad67744a8f3858e7566
Author: Krishna Kumar <krkumar2@in.ibm.com>
Date:   Wed Aug 4 06:15:52 2010 +0000

    core: Factor out flow calculation from get_rps_cpu

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index c1dc8a95f6ffc2de41a3cda887e2a2434496a89a..cf87fde3a29bc62ae6cb6a5d6b7424b646f183fd 100644 (file)
@@ -2372,6 +2372,7 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
        if (!rxqueue->rps_map && !rxqueue->rps_flow_table)
                goto done;
 
+       skb_reset_network_header(skb);
        if (!skb_get_rxhash(skb))
                goto done;