VPLS via MPLS hop does not connect

I am having a problem establishing a VPLS tunnel using a router as a hop. My architecture is relatively simple:

R1-e1 -------- e1-R2-e2 --------- e2-R3

I can however establish VPLS tunnels from Router1 to Router2 and Router2 to Router3 but not Router1 to Router3.

Router1:

/interface bridge
  add name=lo
/interface ethernet
  set [ find default-name=ether1 ] l2mtu=2018
/ip address
  add address=192.168.255.1 interface=lo
  add address=192.168.255.129/30 interface=ether1
/mpls interface
  set [ find default=yes ] mpls-mtu=1992
/mpls ldp
  set enabled=yes lsr-id=192.168.255.1 transport-address=192.168.255.1
/mpls ldp interface
  add interface=ether1
/interface vpls
  add advertised-l2mtu=1992 disabled=no mac-address=02:30:57:E2:B1:62 \
    name=vpls-test remote-peer=192.168.255.3 vpls-id=3:0

Router2:

/interface bridge
  add name=lo
/interface ethernet
  set [ find default-name=ether1 ] l2mtu=2018
  set [ find default-name=ether2 ] l2mtu=2018
/ip address
  add address=192.168.255.2 interface=lo
  add address=192.168.255.130/30 interface=ether1
  add address=192.168.255.141/30 interface=ether2
/mpls interface
  set [ find default=yes ] mpls-mtu=1992
/mpls ldp
  set enabled=yes lsr-id=192.168.255.2 transport-address=192.168.255.2
/mpls ldp interface
  add interface=ether1
  add interface=ether2

Router3:

/interface bridge
  add name=lo
/interface ethernet
  set [ find default-name=ether2 ] l2mtu=2018
/ip address
  add address=192.168.255.3 interface=lo
  add address=192.168.255.142/30 interface=ether2
/mpls interface
  set [ find default=yes ] mpls-mtu=1992
/mpls ldp
  set enabled=yes lsr-id=192.168.255.3 transport-address=192.168.255.3
/mpls ldp interface
  add interface=ether2
/interface vpls
  add advertised-l2mtu=1992 disabled=no mac-address=02:D8:EB:D7:45:15 \
    name=vpls-test remote-peer=192.168.255.1 vpls-id=3:0

When establishing largest packet size using ping between the routers:
Router1 (192.168.255.1) can ping Router2 (192.168.255.2) with 2018 byte packets:

[admin@Router1] > ping 192.168.255.2 do-not-fragment size=2018
  SEQ HOST                                     SIZE TTL TIME  STATUS              
    0 192.168.255.2                            2018  64 5ms  
    sent=1 received=1 packet-loss=0% min-rtt=5ms avg-rtt=5ms max-rtt=5ms

Router2 (192.168.255.2) can ping both Router1 (192.168.255.1) and Router3 (192.168.255.3) with 2018 byte packets:

[admin@Router2] > ping 192.168.255.1 do-not-fragment size=2018
  SEQ HOST                                     SIZE TTL TIME  STATUS             
    0 192.168.255.1                            2018  64 3ms  
    sent=1 received=1 packet-loss=0% min-rtt=3ms avg-rtt=3ms max-rtt=3ms 

[admin@Router2] > ping 192.168.255.3 do-not-fragment size=2018 
  SEQ HOST                                     SIZE TTL TIME  STATUS             
    0 192.168.255.3                            2018  64 2ms  
    sent=1 received=1 packet-loss=0% min-rtt=2ms avg-rtt=2ms max-rtt=2ms

Router3 (192.168.255.3) can ping Router2 (192.168.255.2) with 2018 byte packets:

[admin@Router3] > ping 192.168.255.2 do-not-fragment size=2018 
  SEQ HOST                                     SIZE TTL TIME  STATUS              
    0 192.168.255.2                            2018  64 2ms  
    sent=1 received=1 packet-loss=0% min-rtt=2ms avg-rtt=2ms max-rtt=2ms

Router1 (192.168.255.1) can only ping Router3 with 1988 byte packets:

[admin@Router1] > ping 192.168.255.3 do-not-fragment size=1992 
  SEQ HOST                                     SIZE TTL TIME  STATUS                                                       
    0                                                         packet too large and cannot be fragmented                    
    0 192.168.255.129                           576  64 0ms   fragmentation needed and DF set                              
    sent=1 received=0 packet-loss=100% 

[admin@Router1] > ping 192.168.255.3 do-not-fragment size=1988 
  SEQ HOST                                     SIZE TTL TIME  STATUS                                                       
    0 192.168.255.3                            1988  63 23ms 
    sent=1 received=1 packet-loss=0% min-rtt=23ms avg-rtt=23ms max-rtt=23ms

MPLS Forwaring table entries for loopback addresses on each of the routers:
Router1:

[admin@Router1] > mpls forwarding-table print detail where destination=192.168.255.3/32
Flags: L - ldp, V - vpls, T - traffic-eng
 0 L in-label=520 out-labels=161 interface=ether1 nexthop=192.168.255.130 destination=192.168.255.3/32

Router2:

[admin@Router2] > mpls forwarding-table print detail where destination=192.168.255.1/32
Flags: L - ldp, V - vpls, T - traffic-eng
 0 L in-label=283 out-labels="" interface=ether1 nexthop=192.168.255.129 destination=192.168.255.1/32
[admin@Router2] > mpls forwarding-table print detail where destination=192.168.255.3/32
Flags: L - ldp, V - vpls, T - traffic-eng
 0 L in-label=161 out-labels="" interface=ether2 nexthop=192.168.255.142 destination=192.168.255.3/32

Router3:

[admin@Router3] > mpls forwarding-table print detail where destination=192.168.255.1/32
Flags: L - ldp, V - vpls, T - traffic-eng
 0 L in-label=89 out-labels=283 interface=ether2 nexthop=192.168.255.141 destination=192.168.255.1/32

I see nothing in the logs, VPLS simply doesn’t appear to want to connect:

[admin@Router1] > int vpls print detail
Flags: X - disabled, R - running, D - dynamic, B - bgp-signaled, C - cisco-bgp-signaled
 0     ;;; Internet - Staff - DR:
       name="vpls-test" mtu=1500 l2mtu=1992 mac-address=02:30:57:E2:B1:62 arp=enabled
       arp-timeout=auto disable-running-check=no remote-peer=192.168.255.3 vpls-id=3:0 cisco-style=no cisco-style-id=0
       advertised-l2mtu=1992 pw-type=raw-ethernet use-control-word=default



[admin@Router3] > int vpls print detail
Flags: X - disabled, R - running, D - dynamic, B - bgp-signaled, C - cisco-bgp-signaled 
 0     ;;; Internet - Staff:
       name="vpls-test" mtu=1500 l2mtu=1992 mac-address=02:D8:EB:D7:45:15 arp=enabled
       arp-timeout=auto disable-running-check=no remote-peer=192.168.255.1 vpls-id=3:0 cisco-style=no cisco-style-id=0
       advertised-l2mtu=1992 pw-type=raw-ethernet use-control-word=default

How do you distribute routes to reach remote loopbacks? I do not see any relevant config (static or ospf)

We use OSPF.

Working through our configuration and re-reading the MPLS Wiki article however subsequently lead me to understand that non direct LDP sessions become tLDP sessions where ‘hello’ messages are transmitted directly from R1 to R3 via targeted UDP. I previously assumed LDP would distribute hop by hop.

Information at https://en.wikipedia.org/wiki/Label_Distribution_Protocol provided me with the relevant firewall rules I subsequently needed:

/ip firewall filter
  add action=accept chain=input comment="MPLS - LDP:" connection-state=new \
    dst-port=646 in-interface=ether1 protocol=tcp
  add action=accept chain=input comment="MPLS - LDP - Discovery - Multicast:" connection-state=new \
    dst-address-type=multicast dst-port=646 in-interface=ether1 protocol=udp
  add action=accept chain=input comment="MPLS - LDP - Discovery - Unicast:" connection-state=new \
    dst-address-type=local dst-port=646 in-interface=ether1 protocol=udp