From: Christoph Schulz <develop@xxxxxxxxxx> Date: Sun, 13 Jul 2014 00:53:15 +0200 > The PPP channel MTU is used with Multilink PPP when ppp_mp_explode() (see > ppp_generic module) tries to determine how big a fragment might be. According > to RFC 1661, the MTU excludes the 2-byte PPP protocol field, see the > corresponding comment and code in ppp_mp_explode(): > > /* > * hdrlen includes the 2-byte PPP protocol field, but the > * MTU counts only the payload excluding the protocol field. > * (RFC1661 Section 2) > */ > mtu = pch->chan->mtu - (hdrlen - 2); > > However, the pppoe module *does* include the PPP protocol field in the channel > MTU, which is wrong as it causes the PPP payload to be 1-2 bytes too big under > certain circumstances (one byte if PPP protocol compression is used, two > otherwise), causing the generated Ethernet packets to be dropped. So the pppoe > module has to subtract two bytes from the channel MTU. This error only > manifests itself when using Multilink PPP, as otherwise the channel MTU is not > used anywhere. Applied and queued up for -stable, thank you. -- To unsubscribe from this list: send the line "unsubscribe linux-ppp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html