Subject: Re: PPPoE vs ETHERMTU
To: Martin Husemann <martin@duskware.de>
From: Brian Somers <brian@Awfulhak.org>
List: tech-net
Date: 07/03/2001 22:29:56
> > I believe the 1490 MTU is used when (MPPE) encryption has been
> > negotiated. MPPE encrypts each packet to the same size as the
> > unencrypted packet, but also encrypts the protocol id, increasing the
> > payload by two bytes.
>
> I do not pretend to have read the MPPE RFC yet, so probably just am
> misunderstanding what you said. In PPPoE the 6 byte PPPoE header is always
> followed by the PPP protocol ID (two bytes), followed by payload data,
> that's why the MTU is 1500-6-2 = 1492.
Normally (without encryption) the ppp ethernet payload will have the
2 byte protocol and the 6 byte PPPoE header. Setting the MTU to 1492
is ok in this case.
When MPPE is in use, the 2 byte protocol id and the payload are
encrypted and *together* treated as the new payload, prepending a
new 2 byte PROTO_ICOMPD or PROTO_COMPD protocol id. So if the MTU is
set to 1492, the ethernet payload ends up maxing out at 1502 and
things break.
I'm working on fixing user ppp as we speak - having it know about
such overheads on a per CCP protocol level and adjusting the MTU as
CCP for these protocols is brought up.
> Besides, MPPP over PPPoE sounds - strange.
Yes (I can't remember what MP context you're talking about though).
> Martin
--
Brian <brian@freebsd-services.com> <brian@Awfulhak.org>
http://www.freebsd-services.com/ <brian@[uk.]FreeBSD.org>
Don't _EVER_ lose your sense of humour ! <brian@[uk.]OpenBSD.org>