Can I influence the Thread network topology?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can I influence the Thread network topology?

916 Views
thomasblank
Contributor II

Thread automatically manages the network topology via MLE. Children choose optimal parents, routers establish optimal links.

Can I influence how Thread decides what is "optimal" in the MCUXpresso SDK for KW41Z? Specifically, I want to prefer connections over wired devices rather than connections over battery-powered devices. Are there callbacks I can implement, variables I can set, anything to influence how Thread chooses network topology and routing paths?

Thanks

Labels (2)
Tags (4)
2 Replies

742 Views
jc_pacheco
NXP Employee
NXP Employee

Hello Thomas,

Router selection is done in a distributed way, each Router and REED chooses whether to change state based on its information about the local network topology.   

A REED requests to become a Router if either:

 The number of Routers is below ROUTER_UPGRADE_THRESHOLD

 A Node that is attempting to attach the network attempts to use the REED as its parent.


A Router requests to become a REED if it determines that all of the following conditions are met:
The number of Routers in the Thread Network Partition is above ROUTER_DOWNGRADE_THRESHOLD.
It has at least one neighbor Router with at least comparable connectivity. 
It has a relatively small number of MTD Children 

You can't modify the network values to modify the link costs, this is handled within the Thread library.

The closest control you may get is to decide when to promote a REED to be a Router, if the above conditions are met. This is merely to speed up the process, see "THR_PromoteAsRouter()". 

Another possible approach could be using MAC filtering (See shell demo & documentation) or make use of End Devices (Not REEDs) to get control of how the topology is distributed. 

Also, keep in mind that if you use battery-operated devices for Routers, the fact that they are always listening to packets (RX ON when idle) will impact the battery usage.

See Chapter 11.5 - "Router Selection" from Thread Specificacion for more details about how the Routers are selected.

-JC

742 Views
thomasblank
Contributor II

Thank you very much.

0 Kudos