[border-router] initial implementation of prefix/route management (#5856)

This is the initial implementation of Thread Border Router
prefix/route management with:

- Create & publish off-mesh routable (OMR) prefix for Thread network
  - configure the BR as default route.
  - converge to the smallest OMR prefix if multiple prefixes are
    present at the same time.
- Create & advertise on-link prefix for infrastructure network
  - monitor RA messages on infra link and stops myself if there is
    someone else advertising an on-link prefix.

It currently supports single infrastructure link with possibly
multiple BRs. Support for multiple infrastructure links is left for
future.
This commit is contained in:
kangping
2020-12-24 07:19:12 +08:00
committed by GitHub
parent 8f9894f7c0
commit 995ad66846
46 changed files with 3104 additions and 13 deletions
+4
View File
@@ -33,6 +33,7 @@
#include "notifier.hpp"
#include "border_router/routing_manager.hpp"
#include "common/code_utils.hpp"
#include "common/debug.hpp"
#include "common/locator-getters.hpp"
@@ -179,6 +180,9 @@ void Notifier::EmitEvents(void)
#if OPENTHREAD_ENABLE_VENDOR_EXTENSION
Get<Extension::ExtensionBase>().HandleNotifierEvents(events);
#endif
#if OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
Get<BorderRouter::RoutingManager>().HandleNotifierEvents(events);
#endif
for (ExternalCallback &callback : mExternalCallbacks)
{