From: Henry Wong <hidden> Date: 2011-09-18 23:52:02
When using MLPPP, the maximum size of a fragment is incorrectly calculated with an offset of -2.
This patch reverses the changes in the patch found here: http://marc.info/?l=linux-netdev&m=123541324010539&w=2
The value of hdrlen includes the size of both the 2-byte PPP protocol field and the 2- or 4-byte multilink header (2+4=6 for long sequence numbers, 2+2=4 for short sequence numbers). Section 2 of RFC1661 says that the MRU that is negotiated (i.e., the MTU of the sending system) includes only the PPP payload but not the protocol field, thus the correct MTU should be the link's MTU minus the multilink header (mtu - (hdrlen-2)).
The incorrect calculation causes Linux to fragment packets to a size two bytes smaller than the allowed MTU. While not technically illegal, this behaviour confounds MRU-tuning to avoid PPP-layer fragmentation.
Signed-off-by: Henry Wong <redacted>
From: David Miller <hidden> Date: 2011-09-20 19:21:33
From: Henry Wong <redacted>
Date: Sun, 18 Sep 2011 19:41:49 -0400
When using MLPPP, the maximum size of a fragment is incorrectly
calculated with an offset of -2.
This patch reverses the changes in the patch found here:
http://marc.info/?l=linux-netdev&m=123541324010539&w=2
The value of hdrlen includes the size of both the 2-byte PPP protocol
field and the 2- or 4-byte multilink header (2+4=6 for long sequence
numbers, 2+2=4 for short sequence numbers). Section 2 of RFC1661 says
that the MRU that is negotiated (i.e., the MTU of the sending system)
includes only the PPP payload but not the protocol field, thus the
correct MTU should be the link's MTU minus the multilink header (mtu -
(hdrlen-2)).
The incorrect calculation causes Linux to fragment packets to a size
two bytes smaller than the allowed MTU. While not technically illegal,
this behaviour confounds MRU-tuning to avoid PPP-layer fragmentation.
Signed-off-by: Henry Wong <redacted>
Applied, thanks.
There were several cases of trailing whitespace in your patch which I
needed to fix up. Please don't be so careless in the future.
Thanks.
From: Henry Wong <hidden> Date: 2011-09-20 19:53:57
On 9/20/2011 3:21 PM, David Miller wrote:
From: Henry Wong<redacted>
Date: Sun, 18 Sep 2011 19:41:49 -0400
quoted
When using MLPPP, the maximum size of a fragment is incorrectly
calculated with an offset of -2.
This patch reverses the changes in the patch found here:
http://marc.info/?l=linux-netdev&m=123541324010539&w=2
The value of hdrlen includes the size of both the 2-byte PPP protocol
field and the 2- or 4-byte multilink header (2+4=6 for long sequence
numbers, 2+2=4 for short sequence numbers). Section 2 of RFC1661 says
that the MRU that is negotiated (i.e., the MTU of the sending system)
includes only the PPP payload but not the protocol field, thus the
correct MTU should be the link's MTU minus the multilink header (mtu -
(hdrlen-2)).
The incorrect calculation causes Linux to fragment packets to a size
two bytes smaller than the allowed MTU. While not technically illegal,
this behaviour confounds MRU-tuning to avoid PPP-layer fragmentation.
Signed-off-by: Henry Wong<redacted>
Applied, thanks.
There were several cases of trailing whitespace in your patch which I
needed to fix up. Please don't be so careless in the future.
Thanks.
Thanks.
Out of curiosity, were the trailing whitespaces on Lines 10 and 11? Or was there a problem with file attachments that cause some whitespace I don't see? I'll be more careful next time :)
From: David Miller <davem@davemloft.net> Date: 2011-09-20 20:02:57
From: Henry Wong <redacted>
Date: Tue, 20 Sep 2011 15:54:32 -0400
Out of curiosity, were the trailing whitespaces on Lines 10 and 11? Or
was there a problem with file attachments that cause some whitespace I
don't see? I'll be more careful next time :)
Both the line before the comment (2 tabs) and the first line of the
comment (one space).