diff options
Diffstat (limited to 'drivers/net/ppp_generic.c')
-rw-r--r-- | drivers/net/ppp_generic.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index b708f68471a6..6456484c0299 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c | |||
@@ -1283,6 +1283,11 @@ ppp_push(struct ppp *ppp) | |||
1283 | } | 1283 | } |
1284 | 1284 | ||
1285 | #ifdef CONFIG_PPP_MULTILINK | 1285 | #ifdef CONFIG_PPP_MULTILINK |
1286 | static bool mp_protocol_compress __read_mostly = true; | ||
1287 | module_param(mp_protocol_compress, bool, S_IRUGO | S_IWUSR); | ||
1288 | MODULE_PARM_DESC(mp_protocol_compress, | ||
1289 | "compress protocol id in multilink fragments"); | ||
1290 | |||
1286 | /* | 1291 | /* |
1287 | * Divide a packet to be transmitted into fragments and | 1292 | * Divide a packet to be transmitted into fragments and |
1288 | * send them out the individual links. | 1293 | * send them out the individual links. |
@@ -1345,10 +1350,10 @@ static int ppp_mp_explode(struct ppp *ppp, struct sk_buff *skb) | |||
1345 | if (nfree == 0 || nfree < navail / 2) | 1350 | if (nfree == 0 || nfree < navail / 2) |
1346 | return 0; /* can't take now, leave it in xmit_pending */ | 1351 | return 0; /* can't take now, leave it in xmit_pending */ |
1347 | 1352 | ||
1348 | /* Do protocol field compression (XXX this should be optional) */ | 1353 | /* Do protocol field compression */ |
1349 | p = skb->data; | 1354 | p = skb->data; |
1350 | len = skb->len; | 1355 | len = skb->len; |
1351 | if (*p == 0) { | 1356 | if (*p == 0 && mp_protocol_compress) { |
1352 | ++p; | 1357 | ++p; |
1353 | --len; | 1358 | --len; |
1354 | } | 1359 | } |