Force node to be router?

323 views
Skip to first unread message

Beat S

unread,
Nov 19, 2019, 2:27:22 AM11/19/19
to openthread-users
Hello
It's possible to disable the router function of an OpenThread node using otThreadSetRouterRoleEnabled. This forces the node to be a child. Is there a similar way to dedicate a node to be a router and ONLY a router?

--
Beat Straehl

Jonathan Hui

unread,
Nov 19, 2019, 1:23:16 PM11/19/19
to Beat S, openthread-users
Thread dynamically selects routers based on observed connectivity needs. At the same time, Thread currently has a hard limit of 32 routers within a given Thread partition. Thread does currently not provide a mechanism to prioritize a given device as a router.

--
Jonathan Hui


--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openthread-users/6c248bf5-a3a8-4076-8b08-2459bb8eb094%40googlegroups.com.

Beat S

unread,
Nov 28, 2019, 2:37:25 AM11/28/19
to openthread-users
Yes, that's what I expected. Thank you for your explanation.

--
Beat Straehl

ahc.m...@gmail.com

unread,
Feb 14, 2020, 4:22:14 AM2/14/20
to openthread-users
Hi
Follow up question this this thread here.

As the border router is required to always be a router there must be a way built in to force a node to be router.

Background:
We are working on an application that require low latency and rather high throughput at random intervals with one to many communication and have been relying on the router role of the gateway as our "master" and the source of the data distribution.
Since only routers and children of the source will accept data from ff02::2 aka the (logical link local address).

However we would like to drop the raspberry pi and use a embedded mcu for this role. But our application depends on the master having a router role.

a. What does the border router do to stay in router role?

b. Is it possible with a custom build maybe for one node to assume a border router role without the being on a linux system?

Thanks


tirsdag den 19. november 2019 kl. 19.23.16 UTC+1 skrev Jonathan Hui:
Thread dynamically selects routers based on observed connectivity needs. At the same time, Thread currently has a hard limit of 32 routers within a given Thread partition. Thread does currently not provide a mechanism to prioritize a given device as a router.

--
Jonathan Hui


On Mon, Nov 18, 2019 at 11:27 PM Beat S <bstr...@gmail.com> wrote:
Hello
It's possible to disable the router function of an OpenThread node using otThreadSetRouterRoleEnabled. This forces the node to be a child. Is there a similar way to dedicate a node to be a router and ONLY a router?

--
Beat Straehl

--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthre...@googlegroups.com.

Jonathan Hui

unread,
Feb 14, 2020, 12:41:54 PM2/14/20
to ahc.m...@gmail.com, openthread-users
It is important to note that a Thread Border Router may operate either as a Thread Router or End Device. Some clarification:
  1. Thread Border Router is responsible for forwarding IPv6 datagrams between a Thread network and other IPv6-based networks.
  2. Thread Router is responsible for forwarding messages between devices in a Thread network.
Thread dynamically selects which router-capable devices actively participate as routers. The decision is largely based on providing connectivity coverage rather than the capabilities of given devices. As such, the Thread Specification does not currently allow a given device to force itself to become a router.

In OpenThread, code/features related to border routing can be enabled using the BORDER_ROUTER makefile build switch or OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE build flag. Note that this simply enables code that supports managing on-mesh prefixes and external routes. This code is independent from how the device operates as a Thread Router, which is common for all router-capable Thread devices.

Hope that helps.

--
Jonathan Hui

To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openthread-users/70567357-276b-44b0-8ebb-1143575856cd%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages