patch-1.3.8 linux/net/core/dev.c

Next file: linux/net/core/skbuff.c
Previous file: linux/net/appletalk/ddp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.7/linux/net/core/dev.c linux/net/core/dev.c
@@ -356,7 +356,8 @@
 
 	save_flags(flags);
 	cli();	
-	if (dev_nit && !where) 
+	if (/*dev_nit && */!where) 	/* Always keep order. It helps other hosts
+					   far more than it costs us */
 	{
 		skb_queue_tail(dev->buffs + pri,skb);
 		skb_device_unlock(skb);		/* Buffer is on the device queue and can be freed safely */
@@ -381,6 +382,7 @@
 				if ((skb2 = skb_clone(skb, GFP_ATOMIC)) == NULL)
 					break;
 				skb2->h.raw = skb2->data + dev->hard_header_len;
+				skb2->mac.raw = skb2->data;
 				ptype->func(skb2, skb->dev, ptype);
 				nitcount--;
 			}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this