Make sure that do_port_input() always puts a MAC header on packets.
authorBen Pfaff <blp@nicira.com>
Tue, 11 Nov 2008 04:56:13 +0000 (20:56 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 13 Nov 2008 20:44:04 +0000 (12:44 -0800)
Prompted by persistent oopses on packets received by e1000e, in which
skb_mac_header() for the packet always returned null.

datapath/datapath.c

index b7cd6233d853fa0024487aada9be3980e1247161..d27a9bc12e127c8264833f6f90e5a8605e70adfc 100644 (file)
@@ -465,6 +465,7 @@ do_port_input(struct net_bridge_port *p, struct sk_buff *skb)
 
        /* Push the Ethernet header back on. */
        skb_push(skb, ETH_HLEN);
+       skb_reset_mac_header(skb);
        fwd_port_input(p->dp->chain, skb, p);
 }