I'm not sure if Mikrotik supports /31 but I thought I'd mention it.
It doesn't. You need to use pair of /32 addresses with network specified as the "opposite" one.
And it works like a charm. The best thing about using /32 addressing: if a router has multiple such links, it doesn't have to have different local IP addresses, same IP address can be reused multiple times (with different network part). An example using IPIP links, but should work for straight ethernet as well:
/interface ipip
add allow-fast-path=no name=ipip1 #other IPIP parameters come here
add allow-fast-path=no name=ipip2 #other IPIP parameters for another endpoint
/ip address
add address=192.168.42.1/23 interface=LAN network=192.168.42.0
add address=192.168.42.1 interface=ipip1 network=192.168.37.1 # note that default network mask is /32
add address=192.168.42.1 interface=ipip2 network=192.168.13.1
/ip route
add distance=1 dst-address=192.168.36.0/23 gateway=ipip1
add distance=1 dst-address=192.168.13.0/24 gateway=ipip2
which ends up as
/ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK INTERFACE
...
3 192.168.42.1/23 192.168.42.0 LAN
5 192.168.42.1/32 192.168.37.1 ipip1
6 192.168.42.1/32 192.168.13.1 ipip2
/ip route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
...
2 A S 192.168.13.0/24 ipip2 1
3 ADC 192.168.13.1/32 192.168.42.1 ipip2 0
4 A S 192.168.36.0/23 ipip1 1
5 ADC 192.168.37.1/32 192.168.42.1 ipip1 0
...
8 ADC 192.168.42.0/23 192.168.42.1 LAN 0
When doing traceroute (any direction), it's always "native" IP address shown. If WAN IP addresses were static on both tunnel ends, then one could use those when setting up address of a tunnel, in that case when doing traceroute only public addresses would be shown in printout ...
user@192.168.42.10:~$ traceroute 192.168.37.7
traceroute to 192.168.37.7 (192.168.37.7), 64 hops max
1 192.168.42.1 0.386ms 0.201ms 0.168ms
2 192.168.37.1 7.100ms 6.866ms 6.479ms
3 192.168.37.7 6.938ms 6.458ms 6.921ms
user@192.168.42.10:~$
If using routing subnets, then routing IP address of next hop (depending on direction) will be shown in the list of hops, e.g. instead of 192.168.37.1 on the example above.
Or an example using both tunels (site2 is reacheable from site3 via shown ipip tunnels, joined on site1):
user@192.168.37.7:~$ traceroute 192.168.13.2
traceroute to 192.168.13.2 (192.168.13.2), 30 hops max, 60 byte packets
1 192.168.37.1 (192.168.37.1) 0.311 ms 0.317 ms 0.294 ms
2 192.168.42.1 (192.168.42.1) 7.748 ms 7.770 ms 7.861 ms
3 192.168.13.1 (192.168.13.1) 15.798 ms 15.870 ms 16.485 ms
4 192.168.13.2 (192.168.13.2) 48.111 ms 49.034 ms 49.373 ms
user@192.168.37.7:~$