I asked regarding this, have worked with ligowaves in the past and even I noticed some oddities, overall they were truly L2 transparent.
Rest of the tests ViRENG is reporting here were done connecting routers straight, no switches nor anything in-between (that’s why I asked).
The “funny” thing, is all VPLS tunnels were reported running on both ends, but despite that, R1-R3 communication seemed to be botched; R1 → R3 worked, but R3 → R1 didn’t, in other words R1 Rx on R1-R3 wasn’t working, counters were 0.
The suggestions I provided regarding MTU were blind shooting in order to determine if the problem was MTU related (there have been some MTU fixes lately), which it wasn’t.
I agree that OSPF, specially when deployed following best practices is much more preferable than static routing. I completely second the stub area/summarizing suggestion on the PPPoE. In fact, is the first time I have deployed MPLS/VPLS without using OSPF as apart from a scenario like this one, or a lab, static routing can quickly get out of hand.
However, even though MPLS is twice as better in combination with OSPF, strictly speaking it doesn’t need OSPF if proper static routes are provided.
Yes, but MPLS fits between L2 and L3 (commonly referred as L2.5). Even having ping through default route, As R1-R3 don’t have directly connected routes, we need to resort to route recursivity in order to have loopback’s specific routing entries on each router routing table.
Labbed it, everything is the same, but for R1, where ether2 is used instead of ether1 (needed the PoE):

Devices:
R1: mAP2n, 6.39.2, FW 3.24 (ether2 was used instead of ether1 on R1).
R2: RB951-2n 6.39.2, FW 3.24
R3: RB941-2n, 6.39.2 FW 3.36
R1:
/interface bridge
add name=loopback
/interface ethernet
set [ find default-name=ether2 ] l2mtu=1600 master-port=ether1
/ip address
add address=172.16.1.1/24 interface=ether2 network=172.16.1.0
add address=172.16.0.1 interface=loopback network=172.16.0.1
/ip route
add distance=1 dst-address=172.16.0.2/32 gateway=172.16.1.2
add distance=1 dst-address=172.16.0.3/32 gateway=172.16.2.2 target-scope=30
add distance=1 dst-address=172.16.2.0/24 gateway=172.16.1.2
/mpls ldp
set enabled=yes lsr-id=172.16.0.1 transport-address=172.16.0.1
/mpls ldp interface
add interface=ether2
/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=02:E7:AA:E2:75:39 name=R1-R2 remote-peer=172.16.0.2 vpls-id=1:2
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=02:68:1A:BD:D1:AD name=R1-R3 remote-peer=172.16.0.3 vpls-id=1:3
/interface pppoe-server server
add disabled=no interface=R1-R3 service-name=PPPoE_R1-R3
add disabled=no interface=R1-R2 service-name=PPPoE-R1-R2
/system identity
set name=R1
R2:
/interface bridge
add name=loopback
/interface ethernet
set [ find default-name=ether2 ] l2mtu=1600
/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=02:9D:3D:58:0D:7D name=R2-R1 remote-peer=172.16.0.1 vpls-id=1:2
/ip address
add address=172.16.1.2/24 interface=ether1 network=172.16.1.0
add address=172.16.2.1/24 interface=ether2 network=172.16.2.0
add address=172.16.0.2 interface=loopback network=172.16.0.2
/ip route
add distance=1 gateway=172.16.1.1
add distance=1 dst-address=172.16.0.1/32 gateway=172.16.1.1
add distance=1 dst-address=172.16.0.3/32 gateway=172.16.2.2
/mpls ldp
set enabled=yes lsr-id=172.16.0.2 transport-address=172.16.0.2
/mpls ldp interface
add interface=ether1
add interface=ether2
/system identity
set name=R2
R3:
/interface bridge
add name=loopback
/interface ethernet
set [ find default-name=ether1 ] l2mtu=1600
/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=02:14:C3:2D:63:5B name=R3-R1 remote-peer=172.16.0.1 vpls-id=1:3
/ip address
add address=172.16.2.2/24 interface=ether1 network=172.16.2.0
add address=172.16.0.3 interface=loopback network=172.16.0.3
/ip route
add distance=1 gateway=172.16.2.1
add distance=1 dst-address=172.16.0.1/32 gateway=172.16.1.1 target-scope=30
add distance=1 dst-address=172.16.0.2/32 gateway=172.16.2.1
/mpls ldp
set enabled=yes lsr-id=172.16.0.3 transport-address=172.16.0.3
/mpls ldp interface
add interface=ether1
/system identity
set name=R3
Both tunnels work in both ways, and each pppoe server instance is seen from R3 and R2 when scanning.