Border Routing Manager
This module includes configuration variables for Border Routing Manager.
Summary
Macros |
|
---|---|
OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE 0
|
Specifies whether to support handling platform generated ND messages.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 0
|
Define to 1 to enable Border Routing Manager feature.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_PREFIXES 64
|
Specifies maximum number of discovered prefixes (on-link prefixes on the infra link) maintained by routing manager.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_ROUTERS 16
|
Specifies maximum number of routers (on infra link) to track by routing manager.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_OLD_ON_LINK_PREFIXES 3
|
Specifies maximum number of old local on-link prefixes (being deprecated) maintained by routing manager.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_ON_MESH_PREFIXES 16
|
Specifies maximum number of on-mesh prefixes (discovered from Thread Network Data) that are included as Route Info Option in emitted Router Advertisement messages.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_MOCK_PLAT_APIS_ENABLE 0
|
Define to 1 to add mock (empty) implementation of infra-if platform APIs.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_REACHABILITY_CHECK_ICMP6_ERROR_ENABLE 1
|
Define to 1 to allow Routing Manager to check for reachability of messages being forwarded by the BR and determine whether to send an ICMPv6 Destination Unreachable error back to the sender.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_ROUTER_ACTIVE_CHECK_TIMEOUT (60 * 1000)
|
Specifies the timeout in msec for a discovered router on infra link side.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_TESTING_API_ENABLE 0
|
Define to 1 to enable testing related APIs to be provided by the
RoutingManager . |
OPENTHREAD_CONFIG_BORDER_ROUTING_TRACK_PEER_BR_INFO_ENABLE OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
|
Define to 1 to allow the Routing Manager to track information (e.g., advertised prefixes) about peer Thread Border Routers that are connected to the same Thread network.
|
OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE 1
|
Define to 1 to allow using heap by Routing Manager.
|
Macros
OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE 0
Specifies whether to support handling platform generated ND messages.
The desired use case is the prefix will be allocated by other software on the interface, and they will advertise the assigned prefix to the thread interface via router advertisement messages.
OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 0
Define to 1 to enable Border Routing Manager feature.
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_PREFIXES
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_PREFIXES 64
Specifies maximum number of discovered prefixes (on-link prefixes on the infra link) maintained by routing manager.
Applicable only when heap allocation is not used, i.e., OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
is disabled.
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_ROUTERS
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_ROUTERS 16
Specifies maximum number of routers (on infra link) to track by routing manager.
Applicable only when heap allocation is not used, i.e., OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
is disabled.
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_OLD_ON_LINK_PREFIXES
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_OLD_ON_LINK_PREFIXES 3
Specifies maximum number of old local on-link prefixes (being deprecated) maintained by routing manager.
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_ON_MESH_PREFIXES
OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_ON_MESH_PREFIXES 16
Specifies maximum number of on-mesh prefixes (discovered from Thread Network Data) that are included as Route Info Option in emitted Router Advertisement messages.
OPENTHREAD_CONFIG_BORDER_ROUTING_MOCK_PLAT_APIS_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_MOCK_PLAT_APIS_ENABLE 0
Define to 1 to add mock (empty) implementation of infra-if platform APIs.
This is intended for generating code size report only and should not be used otherwise.
OPENTHREAD_CONFIG_BORDER_ROUTING_REACHABILITY_CHECK_ICMP6_ERROR_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_REACHABILITY_CHECK_ICMP6_ERROR_ENABLE 1
Define to 1 to allow Routing Manager to check for reachability of messages being forwarded by the BR and determine whether to send an ICMPv6 Destination Unreachable error back to the sender.
Specifically, if the Border Router (BR) decides to forward a unicast IPv6 message outside the AIL and the message's source address matches a BR-generated ULA OMR prefix (with low preference), and the destination is unreachable using this source address, then an ICMPv6 Destination Unreachable message is sent back to the sender.
For example, this situation can occur when a local, non-infrastructure-derived ULA OMR prefix is published alongside a ::/0
route (due to discovered PIO/RIO prefixes by the BR). A Thread mesh device may try to reach addresses beyond the local AIL (e.g., the global internet) using its ULA OMR address as source, which would be unreachable.
Alternatively, this functionality may be implemented within the platform layer, in which case this configuration should be disabled. Note that the platform layer is always responsible for implementing generation of "ICMPv6 Destination Unreachable - No Route" messages. This reachability function will only generate "ICMPv6 Destination Unreachable - Communication Administratively Prohibited" messages for specific cases where there may be a default route to the destination but the source address type prohibits usable communication with this destination.
OPENTHREAD_CONFIG_BORDER_ROUTING_ROUTER_ACTIVE_CHECK_TIMEOUT
OPENTHREAD_CONFIG_BORDER_ROUTING_ROUTER_ACTIVE_CHECK_TIMEOUT (60 * 1000)
Specifies the timeout in msec for a discovered router on infra link side.
This parameter is related to mechanism to check that a discovered router is still active.
After this timeout elapses since the last received message (a Router or Neighbor Advertisement) from the router, routing manager will start sending Neighbor Solidification (NS) probes to the router to check that it is still active.
This parameter can be considered to large value to practically disable this behavior.
OPENTHREAD_CONFIG_BORDER_ROUTING_TESTING_API_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_TESTING_API_ENABLE 0
Define to 1 to enable testing related APIs to be provided by the RoutingManager
.
This is intended for testing only. Production devices SHOULD set this to zero.
OPENTHREAD_CONFIG_BORDER_ROUTING_TRACK_PEER_BR_INFO_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_TRACK_PEER_BR_INFO_ENABLE OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
Define to 1 to allow the Routing Manager to track information (e.g., advertised prefixes) about peer Thread Border Routers that are connected to the same Thread network.
When enabled, the Routing Manager will maintain a record of advertised RIO/PIO prefixes discovered from received Router Advertisements of peer BRs. These entries are disregarded in decision-making (e.g., selecting favored on-link prefix or determining which route to publish in the Thread Network Data).
It is recommended to enable this feature alongside OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
.
OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE 1
Define to 1 to allow using heap by Routing Manager.
When enabled heap allocated entries will be used to track discovered prefix table contain information about discovered routers and the advertised on-link prefixes on infra link.
When disabled pre-allocated pools are used instead where max number of entries are specified by OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_ROUTERS
and MAX_DISCOVERED_PREFIXES
configurations.
Resources
OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.