Setting priorities on NBMA links

Take the following image.

How would I set the priorities on the routers for OSPF NBMA type links between routers?

One of the links is just backup as seen in the image.

Thanks for any info!

OSPF is a link-state protocol, so you must manipulate the costs of the interfaces. Let me give an example:

Router A is connected to Router X and Router Y. The path to Router X must have precedence over the path to Router Y. They are on a shared /29 network, with Router X having 10.10.10.1/29, Router Y, 10.10.10.2/29 and router A 10.10.10.3/29. Your configuration could look like this:

Router A:
/routing ospf interface add interface=ether1 network-type=nbma
/routing ospf nbma-neighbor add address=10.10.10.1 poll-interval=20s
/routing ospf nbma-neighbor add address=10.10.10.2 poll-interval=20s

Router X:
/routing ospf interface add interface=ether1 network-type=nbma cost=10
/routing ospf nbma-neighbor add address=10.10.10.2 poll-interval=20s
/routing ospf nbma-neighbor add address=10.10.10.3 poll-interval=20s

Router Y:
/routing ospf interface add interface=ether1 network-type=nbma cost=11
/routing ospf nbma-neighbor add address=10.10.10.1 poll-interval=20s
/routing ospf nbma-neighbor add address=10.10.10.3 poll-interval=20s

This will make Router Y advertise it’s routes with a cost one point higher than Router X, thus giving you the desired effect.

I hope I understood your question correctly and that this will help.

So I should just leave the nbma priority at the default of 0 for all these routers, and use the cost setting?

Priority has to do with DR and BDR elections, and do not directly influence path choice.

Ok, path choice aside, is there any need to be adjusting priorities in this type of network? or the default priority of 1 my mikrotik is the proper way to set up for these routers?

Actually, I’m a bit unsure of what the priority field in NBMA-neighbors do. According to wiki:

priority (integer: 0..255; Default: 0): assumed priority value of neighbors which are in “down” state

So, priority has only effect while the neighbours are down, apparently. This could have several reasons:

  1. interface priority overrides neighbour priority. This means that priority is only a guideline here, and in that case I seriously don’t understand why it’s there. This explanation is unlikely though, as it would not make sense with other NBMA implementations.
  2. It’s bad English, and it does override interface priority.

The NBMA network type was designed for ATM and Frame Relay networks, where you have multi-access but no broadcast ability in your network, thus neighbour auto discovery through hello packets is impossible. Such networks are usually designed with a hub and spoke setup or with some sort of central router in place, that is the only router with access to all neighbours. In such scenarios it’s very important that this central router becomes the pseudonode/DR, and if it goes down, all adjacencies will break, just as a wrongly elected DR will cause a lack of connectivity within the OSPF AS.

I assume there is a good reason for you to run NBMA?

The NBMA links in the diagram are wireless backhaul links. Before the nstreme bug was really known in 4.x I was having trouble keeping OSPF running on these links, so switching to NBMA on these links stabilized OSPF. Ive since stopped using nstreme on all the links, so technically I dont need NBMA here anymore, but others recommended that NBMA is well suited for wireless PtP links., so I left it.

Was just reviewing this as part of the MTCRE course, confirmed that NBMA priority does not override the interface assigned priority of the remote router.

Not really sure what the reason for it is :slight_smile:

I would give karma for this… but there’s no option to that I can find. :frowning: