Eu não acho que você possa ter mais de uma camada de link em uma única interface.
No caso do PPPoE, estabelecer a conexão PPP cria outra interface, geralmente chamada ppp0
. Sua entrada na tabela de roteamento apontará para ppp0
, não para eth0
. Quando um pacote é roteado para ppp0
, ele é realmente entregue ao software PPPoE local, não transmitido em lugar nenhum. Mas então o software PPPoE produz um pacote novo que transmite via eth0
.
Isso é semelhante ao modo de funcionamento de algumas VPNs. O OpenVPN , por exemplo, cria uma nova interface chamada tun0
ou tap0
, cuja "camada de link" é a Daemon do OpenVPN. Envie um pacote para um desses, e o daemon o criptografa e coloca o texto cifrado em um novo pacote, geralmente UDP simples, endereçado ao servidor OpenVPN remoto. Esse pacote passa pelo processo de roteamento e encontra seu caminho para uma interface real como eth0
.
(Ao contrário do exemplo de VPN, quando o PPPoE envia um pacote acima de eth0
, ele não depende da tabela de roteamento para rotear o pacote, porque eth0
não está configurado com um endereço IP e os pacotes não podem Em vez disso, acho que ele usa um soquete bruto para enviar um quadro Ethernet personalizado, endereçado ao PPPoE peer. Endereço MAC, que contém uma carga útil PPP, não uma carga útil IP. RFC 2516 tem os detalhes do protocolo.)