RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents | ||
---|---|---|
|
Info |
---|
This page is under development |
PandM is a CCSP component that implements core provisioning and management functionality of the device. Its primary role is to respond to commands from other CCSP components and protocol agents that need to set or query variables pertaining to provisioning and management. Its interface to other components uses the CCSP Message Bus interface and is based around a data model derived from TR-181 (TR-157, TR-143) along with CCSP specific extensions. PandM is a Key module which holds parameters related to many key services like: dhcpv6, LAN, DeviceInfo etc. It maintains a TR181 data model XML file with dbus object path as /com/cisco/spvtg/ccsp/pam . Has a layered architecture which makes it less complex for GET/SET implementation.
P&M interfaces with Protocol Agent, Cr, PSM and other common components via the Message Bus Interface.Initialize On the lower side, P&M interfaces with the HAL layer modules, Ethernet, WiFi, MoCA, IP, DHCP client/server, etc.
draw.io Diagram diagramName PandM OverviewDiagram.drawio revision Gliffy Diagram macroId 422a09a5-ae4b-434d-a71f-d472538b2e8b name PandM OverviewDiagram pagePin 1
Figure 1 PandM Overview
...
This is the architecture of PandM component:
Gliffy Diagramdrawio diagramName PandMArchitectureOverview.drawio revision macroId 5538a73b-44d2-4933-8a5c-5aa12b95289a name PandMArchitectureOverview pagePin 1
Figure 2 PandM Architecture Overview
...
The implementation of APIs is responsible to convert the user space calls into Device IOCTL (kernel space) accordingly.
draw.io Diagram | ||||||
---|---|---|---|---|---|---|
| ||||||
Gliffy Diagram | ||||||
|
CosaNatCreate() |
CosaProcStatusCreate() |
CosaDeviceInfoCreate() |
CosaUserinterfaceCreate() |
CosaEthernetCreate() |
CosaUsersCreate() |
CosaDdnsCreate() |
CosaFirewallCreate() |
CosaSecurityCreate() |
CosaIPCreate() |
CosaDhcpv4Create() |
CosaHostsCreate() |
CosaDNSCreate() |
CosaRoutingCreate() |
CosaBridgingCreate() |
CosaIFStackCreate() |
CosaPPPCreate() |
CosaDhcpv6Create() |
CosaDeviceControlCreate() |
CosaIPv6rdCreate() |
CosaRACreate() |
CosaNeighdiscCreate() |
CosaMldCreate() |
CosaDiagnosticsCreate() |
CosaTimeCreate() |
CosaUpnpCreate() |
TR181_ParentalControlCreate() |
CosaRLogCreate() |
CosaGreCreate() |
CosaGreTunnelCreate() |
CosaCGreCreate() |
CosaHotspotCreate() |
CosaFileTransferCreate() |
CosaTSIPCreate() |
CosaDeviceFingerprintCreate() |
Device.DeviceInfo. |
Device.GatewayInfo. |
Device.InterfaceStack.{i}. |
Device.Ethernet. |
Device.MoCA.Interface. |
Device.Bridging.Bridge.{i}. |
Device.PPP.Interface.{i}. |
Device.IP.Interface.{i}. |
Device.Routing.Router.{i}. |
Device.NAT. |
Device.DHCPv4. |
Device.DHCPv6. |
Device.Users. |
...
PandM supports following CCSP Message Bus APIs:
initialize | Initializes NAT, DeviceInfo, Firewall, Ethernet, IP, Hosts, MoCAand Bridging. |
finalize | finalize |
getParameterNames | API returns parameter names associated with the supported objects. |
getParameterValues | Returns values of the parameters queried for. |
setParameterValues | API to the parameters with the values provided |
setCommit | Mainly used in bulk/atomic set operations when more than one parameter is involved. |
setParameterAttributes | API to set notifications status for the parameters. |
getParameterAttributes | API to get notifications status for the parameters. |
AddTblRow | API to add rows to the objects of table type. |
DeleteTblRow | API to delete rows to the objects of table type. |
busCheck | API is used in diagnostic mode. |
...
Gliffy Diagramdrawio diagramName macroId d0f3a4e8-4cb6-461b-aaf0-80fce873c54d name Parameter Get Flow Diagram.drawio pagePinrevision 21
Figure 3 Parameter Get Flow
draw.io Diagram diagramName Gliffy Diagram macroId 9e833a36-011c-46b8-8d93-f8e6e2bf175c name Parameter Set Flow Diagram.drawio pagePinrevision 1
Figure 4 Parameter Set Flow
Gliffy Diagramdrawio diagramName macroId 0573c80b-a43d-47e3-9685-ac1d698b13b0 name PandM boot-up flow diagram.drawio pagePinrevision 1
Figure 5 PandM boot-up flow
...