What is a BACnet router loop?

You're getting "network misconfiguration" or "router loop" errors in your application director. What is it? How do you solve it?

The router loop

Niagara alerts you about a router loop if it receives more than one message from different routers announcing 'I-Am-Router-To-Network' for the same network number (yes, BACnet message names are wonderfully descriptive).

As an example, if Niagara gets I-Am-Router-To-Network 1 from Device 5, and then I-Am-Router-To-Network 1 from Device 10, then it has identified a router loop and will say so in the Application Director.

A diagram of the wider BACnet internetwork, with device numbers and network numbers is a good way to help locate where the issue is.

The cause

Like BACnet device IDs, a Network ID or Network Number must be unique.  There must also be only one route to each network.

This leads to two most common 'router loop' misconfigurations:

Misconfiguration 1, the loop:

This is what gives the problem the name 'router loop'.  The route to network 3 has two 'routes' through device 3 and device 8.  This is not allowed by BACnet.

Note: It is fine for both to be connected to both networks, but only one of them can have routing enabled.

Solution 1, disable routing:

Disable routing in one of the devices.  For Niagara, this is found in BacnetNetwork/Bacnet Comm/Network:

Misconfiguration 2, duplicate network number:

Niagara can still call this configuration a 'router loop', but it is in fact just a misconfiguration.  In this instance we have two separate networks which share a network number:

The symptoms to Niagara look the same, because it still receives I-Am-Router-To-Network-2 from two different routing devices.  However, in this instance it is because two separate networks have the network ID 2.

Solution 2, change the network number:

Making sure the network numbers are unique across the network is the solution to this.  Be aware you might need to change the network numbers in more than one routing device.  For example (refer to the diagram above) if Network 1 needed to be changed to Network 5, then both JACE 1 and JACE 3 would need to update the network numbers for the port connected to that network.

In Niagara, go to BacnetNetwork/Bacnet Comm/<the name of the port connected to that network> to change the network number.