[routing-manager] initial PD support with platform generated RA (#9050)

This commit adds the following new API:
- otBorderRoutingProcessIcmp6Ra

And related APIs:
- otBorderRoutingDhcp6PdSetEnabled
- otBorderRoutingGetPdOmrPrefix

They are used to support the DHCPv6 PD on Thread Border Routers. On a
typical OS, the DHCPv6 Client of the platform network stack will
request a IPv6 subnet via DHCPv6-PD, then invoke the daemon for
sending router advertisements on the given interface.

With this commit, the RA will be catched by the processTransmit in
netif.cpp, which will then pass the message to
otBorderRoutingAddPrefixByRouterAdvertisement, RoutingManager will
then add the prefix according to the PIO in the router advertisement,
and take care of the lifetime of the prefix added.
This commit is contained in:
Song GUO
2023-06-08 13:52:39 +08:00
committed by GitHub
parent edc1a3fe23
commit 9cb667c01f
14 changed files with 789 additions and 26 deletions

View File

@ -93,6 +93,7 @@ OT_CLANG_TIDY_BUILD_OPTS=(
'-DOT_BORDER_AGENT=ON'
'-DOT_BORDER_ROUTER=ON'
'-DOT_BORDER_ROUTING=ON'
'-DOT_BORDER_ROUTING_DHCP6_PD=ON'
'-DOT_CHANNEL_MANAGER=ON'
'-DOT_CHANNEL_MONITOR=ON'
'-DOT_COAP=ON'