pppoe: add extra padding for the header (useful for drivers that need headroom)
SVN-Revision: 16628
This commit is contained in:
parent
3b1c6c0379
commit
6517a757ec
3 changed files with 60 additions and 0 deletions
|
@ -0,0 +1,20 @@
|
||||||
|
--- a/drivers/net/pppoe.c
|
||||||
|
+++ b/drivers/net/pppoe.c
|
||||||
|
@@ -812,7 +812,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
|
||||||
|
- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
|
||||||
|
+ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
|
||||||
|
0, GFP_KERNEL);
|
||||||
|
if (!skb) {
|
||||||
|
error = -ENOMEM;
|
||||||
|
@@ -820,7 +820,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reserve space for headers. */
|
||||||
|
- skb_reserve(skb, dev->hard_header_len);
|
||||||
|
+ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
|
||||||
|
skb_reset_network_header(skb);
|
||||||
|
|
||||||
|
skb->dev = dev;
|
|
@ -0,0 +1,20 @@
|
||||||
|
--- a/drivers/net/pppoe.c
|
||||||
|
+++ b/drivers/net/pppoe.c
|
||||||
|
@@ -863,7 +863,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
|
||||||
|
- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
|
||||||
|
+ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
|
||||||
|
0, GFP_KERNEL);
|
||||||
|
if (!skb) {
|
||||||
|
error = -ENOMEM;
|
||||||
|
@@ -871,7 +871,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reserve space for headers. */
|
||||||
|
- skb_reserve(skb, dev->hard_header_len);
|
||||||
|
+ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
|
||||||
|
skb_reset_network_header(skb);
|
||||||
|
|
||||||
|
skb->dev = dev;
|
|
@ -0,0 +1,20 @@
|
||||||
|
--- a/drivers/net/pppoe.c
|
||||||
|
+++ b/drivers/net/pppoe.c
|
||||||
|
@@ -863,7 +863,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
|
||||||
|
- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
|
||||||
|
+ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
|
||||||
|
0, GFP_KERNEL);
|
||||||
|
if (!skb) {
|
||||||
|
error = -ENOMEM;
|
||||||
|
@@ -871,7 +871,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reserve space for headers. */
|
||||||
|
- skb_reserve(skb, dev->hard_header_len);
|
||||||
|
+ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
|
||||||
|
skb_reset_network_header(skb);
|
||||||
|
|
||||||
|
skb->dev = dev;
|
Loading…
Reference in a new issue