patch-2.1.43 linux/net/ipv4/packet.c
Next file: linux/net/ipv4/sysctl_net_ipv4.c
Previous file: linux/net/ipv4/ipmr.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Thu Jun 12 16:22:11 1997
- Orig file:
v2.1.42/linux/net/ipv4/packet.c
- Orig date:
Tue Mar 4 10:25:27 1997
diff -u --recursive --new-file v2.1.42/linux/net/ipv4/packet.c linux/net/ipv4/packet.c
@@ -160,7 +160,7 @@
if(len>dev->mtu+dev->hard_header_len)
return -EMSGSIZE;
- skb = sock_wmalloc(sk, len, 0, GFP_KERNEL);
+ skb = sock_wmalloc(sk, len+dev->hard_header_len, 0, GFP_KERNEL);
/*
* If the write buffer is full, then tough. At this level the user gets to
@@ -177,6 +177,11 @@
* Fill it in
*/
+ /* FIXME: Save some space for broken drivers that write a
+ * hard header at transmission time by themselves. PPP is the
+ * notable one here. This should really be fixed at the driver level.
+ */
+ skb_reserve(skb,dev->hard_header_len);
err = memcpy_fromiovec(skb_put(skb,len), msg->msg_iov, len);
skb->arp = 1; /* No ARP needs doing on this (complete) frame */
skb->protocol = proto;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov