I am trying to use NBMA with OSPF-v3 in RouterOS 5.0rc7.
To make a long story as short as possible, you have to use link-local addresses to communicate with your OSPFv3 NBMA neighbor, so when setting up /routing ospf-v3 nbma-neighbor you must use the link-local fe80::XXXX:XXXX:XXXX:XXXX type of address of your neighbor that you intend to talk to. Unfortunately it takes slightly over 3 minutes for OSPF-v3 NBMA neighbors to find each other with this setup, so I don’t really want to use it in production.
This would probably work great if you could use fe80::XXXX:XXXX:XXXX:XXXX%ether3 as your NBMA neighbor, but the %interfacename part is not accepted in RouterOS anywhere that I’ve found except by the /ping command which does work fine:
[admin@MikroTik] /routing ospf-v3> /ping fe80::20c:ffff:ff75:ff8a
HOST SIZE TTL TIME STATUS
... (hangs forever here until you CTRL-C)
[admin@MikroTik] /routing ospf-v3> /ping fe80::20c:ffff:ff75:ff8a%ether3
HOST SIZE TTL TIME STATUS
fe80::20c:ffff:ff75:ff8a 56 64 3ms echo reply
I am only guessing here, but without specifying the %interfacename in your NBMA neighbor address it is probably taking 3 minutes to figure out which interface that fe80:: neighbor could be on. I am surprised that it succeeds in finding it at all.
I also just encountered another strange behavior that I’ll just roll into this post, I just reproduced it twice in a row on two different routers one after another. It seems I can’t remove ospf-v3 nbma neighbors from my configuration unless it is done immediately after a print command:
[admin@MikroTik] /routing ospf-v3> nbma-neighbor remove 0
no such item (4)
[admin@Mikrotik] /routing ospf-v3> nbma-neighbor remove 0
no such item (4)
[admin@MikroTik] /routing ospf-v3> nbma-neighbor print
Flags: X - disabled
# ADDRESS POLL-INTERVAL PRIORITY
0 fe80::20c:ffff:ff75:ff8a 10s 0
[admin@MikroTik] /routing ospf-v3> nbma-neighbor remove 0
[admin@MikroTik] /routing ospf-v3>