You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Introduction

RDK WAN Manager is a component that interfaces directly with the RDK Bus.

It is responsible for:

  • Storing the WAN configuration of the CPE (e.g. which physical interfaces can be used for WAN),
  • Determining which physical interfaces should be used for WAN during runtime
  • Triggering Layer 2 configuration for chosen WAN interfaces,
  • Triggering Layer 3 protocols (e.g. DHCP, PPP) to establish IP addresses for configured WAN interfaces.

Architecture

The RDK WAN Manager component 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).


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:


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:

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.
  • No labels