Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Architecture

The RDK WAN Manager module will consist of the following componentscomponent consists of 3 separate modules:

  • An Event Handler for the RDK Bus
  • A Data Model,
  • Policy State Machines (only 1 will be running at any time),
  • WAN Interface State Machines (with 0 or more instances running in parallel).

draw.io Diagram
bordertrue
diagramNameRDK WAN Manager - Module Diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth414
revision2


The WAN Controller process will handle non-Interface specific activities, such as initialising data models from persistent storage and handling data model changes during runtime.

The WAN Controller will also spawn one Policy State Machine based on the WAN Policy configured in the data models. The appropriate State Machine will be launched for the configured Policy in order to  manage WAN interfaces.

The Policy State Machine will determine which physical interfaces to use for WAN, and will run instances of the WAN Interface State Machine in order to configure WAN links and obtain IP addresses for each WAN interface. By default, there will initially be 0  instances of  the WAN Interface State Machine running on startup, and a new instance will be started for  every physical interface being used for WAN.

Data Model

RDK WAN Manager will own standard Layer 3 TR-181 data objects (with additional custom RDK parameters),as well as a custom data model to store data related to configuring WAN interfaces.

The following diagram shows the  data model objects that will be  owned by RDKWANManager:


draw.io Diagram
bordertrue
diagramNameWAN Manager data model
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth281
revision2

The following diagram shows the  TR-181 data objects that will need to be populated byRDKWANManager and how they should be stacked on top of other data objects owned by other RDK Managers using the LowerLayers parameter:

draw.io Diagram
bordertrue
diagramName TR-181 data objects
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth818
revision1

Startup Sequence


  1. When RDK WAN Manager is launched, it will load data from persistent storage to initialise the Data Model. (See the Data Model definitions for a list of parameters that will be persisted).
  2. After initialising the Data Model, it will check if a temporary storage file ("/tmp/wanmanager_db") exists. If this file is present, it means that the RDK WAN Managerstopped unexpectedly, and it can recover state data from this file.
    1. If this file is not present, it means that the CPE has just rebooted. In this case, the state data can be initialised to default values for every entry in the CPEInterface.{i}. table.
    2. See the State Data section below for details on how to initialise data parameters.
  3. After loading the data, the RDK Bus interface will be initialised, as will the event handler processes. This will allow RDK WAN Manager to send and receive events from other RDK components.
  4. Once all intialisation is complete, RDK WAN Managerwill read the X_RDK_WanManager.Policy setting and start the corresponding Policy State Machine.
  5. Only onePolicy State Machine can be started, and currently a reboot is required to change the running policy. The Policy State Machine should be run in the main thread as RDK WAN Manager will no longer be required to handle any other tasks other than event handling (which should be in a thread of its own anyway). More information on the Policies and Policy State Machines can be found in Policies.