Никогда не бывает более одного протокола уровня данных, работающего через интерфейс (если вы не делаете что-то очень-очень странное).  Где бы это ни казалось, почти всегда происходит какая-то форма туннелирования или инкапсуляции - обычно есть какой-то другой виртуальный интерфейс, "движущийся поверх него".
"PPPoE" означает PPP через Ethernet.  Физический интерфейс eth0 использует Ethernet в качестве протокола уровня 2.   PPP - это слой поверх него, управляемый демоном PPPoE.  Таким образом, пакеты PPP "канального уровня" в конечном итоге инкапсулируются в кадры Ethernet.
В основном PPPoE работает как программное обеспечение для туннелирования /VPN, как говорит @Wyzard.  Туннели имеют виртуальный интерфейс с одной стороны, программное обеспечение для деинкапсуляции в середине, а затем реальный интерфейс с другой стороны.  
Таким образом, у вас будет интерфейс, такой как ppp0 или любой другой, который подключен к демону PPPoE, а затем демон PPPoE инкапсулирует то, что входит в ppp0, и выталкивает из eth0.  И наоборот.  
Следует иметь в виду, что поскольку значение MTU для Ethernet равно 1500, для заголовка PPPoE необходимо выделить 8 байт, поэтому значение MTU для интерфейса PPPoE становится равным 1492.
Вам не нужно напрямую касаться eth0, так как все, что вы хотите получить из eth0 - это пакеты PPPoE для вашего поставщика DSL.  Это та же общая концепция для VPN или туннелей IPv6-over-IPv4.