PPPoE over MPLS VPLS

I am trying to setup a mock network in GNS3 to play around with MPLS, etc. I have the following configs but can’t seem to get PPPoE to work over my VPLS tunnels. I can ping all routers interfaces, loopbacks, etc from the endpoint client when I assign it a static IP address but can’t get it to see a PPPoE server. As well, if I connect the client (Ubuntu VM) to the main switch in the middle I can use pppoeconf to find the PPPoE server. This is what leads me to believe that the VPLS tunnels aren’t working correctly, or even the MTU. From what I have read a VPLS tunnel should act as if there was an Ethernet cable plugged in end to end.

If anyone has any suggestions or if I am missing anything please let me know. I haven’t done anything with VPLS in the real world, this is all just from what I have read online and watched about the MUMs on the topic.

The logical layout is as follows (Tower2 isn’t even configured yet).
logical.PNG
https://imgur.com/a/OIc0u

Core Router

[admin@core] > export
# dec/27/2017 02:35:54 by RouterOS 6.40.3
# software id =
#
#
#
/interface bridge
add name=lobridge
add name=t1bridge
/interface ethernet
set [ find default-name=ether2 ] mtu=1526
/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=\
    02:5F:E9:1F:C7:46 mtu=1508 name=vpls1 remote-peer=10.255.255.2 vpls-id=\
    1:1
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=\
    02:40:C8:1B:56:28 name=vpls2 remote-peer=10.0.0.11 vpls-id=11:1
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp_pool0 ranges=10.0.0.230-10.0.0.254
add name=dhcp_pool1 ranges=10.0.0.2-10.0.0.254
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=t1bridge name=dhcp1
/routing ospf instance
set [ find default=yes ] redistribute-connected=as-type-1 router-id=\
    10.255.255.1
/interface bridge port
add bridge=t1bridge interface=ether2
add bridge=t1bridge interface=vpls1
/ip address
add address=10.0.0.1/24 interface=ether2 network=10.0.0.0
add address=10.255.255.1 interface=lobridge network=10.255.255.1
/ip dhcp-server network
add address=10.0.0.0/24 gateway=10.0.0.1
/mpls interface
set [ find default=yes ] mpls-mtu=1526
/mpls ldp
set enabled=yes lsr-id=10.255.255.1 transport-address=10.255.255.1
/mpls ldp interface
add interface=ether2
/routing ospf network
add area=backbone network=10.0.0.0/24
/system identity
set name=core

“Tower1” Router

[admin@tower1] > export
# dec/27/2017 02:36:40 by RouterOS 6.40.3
# software id =
#
#
#
/interface bridge
add name=lo
add name=t1bridge
/interface ethernet
set [ find default-name=ether1 ] mtu=1526
/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=\
    02:73:8B:85:95:A1 mtu=1508 name=vpls1 remote-peer=10.255.255.1 vpls-id=\
    1:1
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/routing ospf instance
set [ find default=yes ] redistribute-connected=as-type-1 router-id=\
    10.255.255.2
/interface bridge port
add bridge=t1bridge interface=ether1
add bridge=t1bridge interface=vpls1
/ip address
add address=10.0.0.10/24 interface=ether1 network=10.0.0.0
add address=10.0.1.1/24 interface=ether2 network=10.0.1.0
add address=10.255.255.2 interface=lo network=10.255.255.2
/ip dhcp-client
add dhcp-options=hostname,clientid disabled=no interface=ether1
/mpls interface
set [ find default=yes ] mpls-mtu=1526
/mpls ldp
set enabled=yes lsr-id=10.255.255.2 transport-address=10.255.255.2
/mpls ldp interface
add interface=ether1
add interface=ether2
/routing ospf network
add area=backbone network=10.0.0.0/24
add area=backbone network=10.0.1.0/24
/system identity
set name=tower1

PPPoE Server

[admin@MikroTik] > export
# dec/27/2017 02:37:13 by RouterOS 6.40.3
# software id =
#
#
#
/ip pool
add name=customers-pool ranges=200.200.200.0-200.200.200.200
/ppp profile
add change-tcp-mss=no local-address=10.0.0.2 name=PPPoE-Customers \
    remote-address=customers-pool
/interface pppoe-server server
add default-profile=PPPoE-Customers disabled=no interface=ether1 max-mru=1500 \
    max-mtu=1500 one-session-per-host=yes service-name=PPPoE-Server-Customers
/ip address
add address=10.0.0.2/24 interface=ether1 network=10.0.0.0
/ip route
add distance=1 gateway=10.0.0.1

Couple of questions that I’m still not sure of:

  • When setting the MPLS MTU to say 1550, that should be enough room for all the tags needed, PPPoE, etc. Do I have to change the Actual-MTU on all of the physical interfaces on the routers?
  • When setting the advertised-l2mtu in the VPLS settings to 1508, that would be 8 bytes for the PPPoE Tags and then 1500 bytes left for normal data?

If by Actual-MTU you mean L3 MTU, then no, it is used only for layer3 traffic, MPLS is not layer3. You only need to ensure that MPLS MTU and l2MTU are set to large enough values along the path.