the default setting for mtu is fixed at 1500 in many distros.
this may cause a problem in pppoe.
read this excerpt from A PPPoE Implementation for Linux .

net search rp-pppoe.


PPPoE introduces a real and annoying problem. The maximum
Ethernet frame is 1518 bytes long. 14 bytes are consumed
by the header, and 4 by the frame-check sequence,
leaving 1500 bytes for the payload. For this reason, the
Maximum Transmission Unit (MTU) of an Ethernet interface
is usually 1500 bytes. This is the largest IP datagram
which can be transmitted over the interface without fragmentation.
PPPoE adds another six bytes of overhead, and the PPP
protocol field consumes two bytes, leaving 1492 bytes for
the IP datagram. The MTU of PPPoE interfaces is therefore
1492 bytes.