Versions Compared

Key

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

Table of Contents
maxLevel1

Introduction

RDK-B devices provide multiple interfaces like MoCA, WiFi, Ethernet and so on for the , etc. for clients to get connected. LMLite, a component within RDK-B, does the job of updating the Host tables table (Host table is a table containing the data of connected clients over various interfaces) based on the devices connected over MoCA, WiFi and Ethernet.

Lan Manager maintains the information about the clients and their status, such as:

  • Client Host name
  • Mac Address
  • IP addresses
  • Lease information
  • Active/Inactive device status

Architecture

draw.io Diagram
diagramNameLMLite High Level Architecture.drawio
Image Removed
revision1

Figure 1 - LMLite High Level Architecture

...

LMLite interacts with other components of RDK-B stack over DBUS. Each of these components registers a "callback" function with respective HAL. The HAL performs a “callback” whenever there is an update in connected clients. This triggers a DBus call to LMLite with the necessary data. LMLite receives this data and adds it to a the Host tables.the Host table.


Function & Threads used in LM Lite

Important threads used by LMLite module

  • ValidateHost_Thread
  • ValidateHostRetry_Thread
  • Event_HandlerThread
  • Hosts_StatSyncThreadFunc
  • Hosts_LoggingThread

Important functions.

Every 30 seconds the below functions are invoked to check whether the clients are connected or disconnected. if the clients are disconnected the DM for the particular client will be updated.

  • Wifi_ServerSyncHost
  • Send_Eth_Host_Sync_Req
  • Wifi_Server_Sync_Function

Notifications

LMLite notifies the Notification component which in turn tells the interested PAs about the connection and disconnection of the connected devices.

draw.io Diagram
diagramNameNotifyMsg.drawio
revision1
Image Removed




There are three types of notification messages for the connected clients to work.

NotifyMsg 1: Notification Message from the individual interface component to LMLite about any update of the existing connected devices or any new connections.
NotifyMsg 2: Notification Message from LMLite to the Notify component
NotifyMsg 3: Notification message from Notify component to the PA’s who have registered for notifications for connected device.

NotifyMsg 1

In this type of notification message the connected device components like WiFi, MoCA, Ethernet sets a dedicated parameter of LMLite. As and when this notify message comes from a component to LMLite, the dedicated parameter is parsed and the host table is updated accordingly.

Example: For WiFi the dedicated parameter is
“Device.Hosts.X_RDKCENTRAL-COM_LMHost_Sync_From_WiFi”.
This parameter is of string type and contains values for fields phyAddr, ssid, status and so on, etc.

NotifyMsg 2

In this type of notification message, LMLite monitors the values of all the connected clients. Whenever For any connection/disconnection updates happen in host table is updated, it updates the notify component. The data sent from LMLite to notify component is status, MAC, interface of the connected device.

NotifyMsg 3

Notify component maintains a table of parameters for which PAs are interested to be notified. Whenever the notify component receives a NotifyMsg 2 from LMLite, it search's this table and notifies the interested protocol agents.

Objects

LMLite has three objects in its DML layer:

Note: The RDK data model naming convention prefix was changed in March 2020 to “X_RDK_”. We request you use this new prefix going forward.

ObjectDescriptionSupported Parameters
Device.Hosts.
Contains parameters depicting statistics of the connected devices.
Devcie.Xhosts.Contains parameters for home security devices.Device.X_RDKCENTRAL-COM_REPORT.Contains parameters depicting network status and traffic

...

titleFew parameters supported by Object - Device.Hosts.
  • Device.Hosts.X_CISCO_COM_ConnectedDeviceNumber

...

  • Device.Hosts.X_CISCO_COM_ConnectedWiFiNumber

...

  • Device.Hosts.X_RDKCENTRAL-COM_HostVersionId

...

  • Device.Hosts.X_RDKCENTRAL-COM_HostCountPeriod

...

  • Device.Hosts.Host.{i}.PhysAddress

...

  • Device.Hosts.Host.{i}.IPAddress

...

  • Device.Hosts.Host.{i}.DHCPClient

...

  • Device.Hosts.Host.{i}.HostName

...

  • Device.Hosts.Host.{i}.LeaseTimeRemaining

...

  • Device.Hosts.Host.{i}.X_RDKCENTRAL-COM_DeviceType

...

...

Device.XHosts.
Contains parameters for home security devices.
  • Device.XHosts.X_CISCO_COM_ConnectedDeviceNumber

...

  • Device.XHosts.XHost.{i}.Alias

...

  • Device.XHosts.XHost.{i}.PhysAddress

...

  • Device.XHosts.XHost.{i}.IPAddress

...

  • Device.XHosts.XHost.{i}.DHCPClient

...

  • Device.XHosts.XHost.{i}.HostName

...

  • Device.XHosts.XHost.{i}.LeaseTimeRemaining

...

  • Device.XHosts.XHost.{i}.X_RDKCENTRAL-COM_DeviceType

...

Device.X_RDKCENTRAL-COM_

...

Report.
Contains parameters depicting network status and traffic.
  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesStatus.Enabled

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesStatus.ReportingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesStatus.PollingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesStatus.Default.ReportingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesStatus.Default.PollingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesTraffic.Enabled

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesTraffic.ReportingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesTraffic.PollingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesTraffic.Default.ReportingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.NetworkDevicesTraffic.Default.PollingPeriod

...

  • Device.X_RDKCENTRAL-COM_Report.InterfaceDevicesWifiExtender.Enabled

Retrieving  values using dmcli

Panel

$ dmcli eRT getv Device.Hosts.HostNumberOfEntries

CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.lmlite): Device.Hosts.HostNumberOfEntries
Execution succeed.
Parameter 1 name: Device.Hosts.HostNumberOfEntries
type: uint, value: 1