CcspMisc is a collection of utility components and helper applications within the RDK-B middleware stack that provide essential system-level services and management capabilities. This component encompasses multiple independent utilities designed to support various broadband gateway operations including persistent storage management, event subscription, service control, firmware download validation, network bridge configuration, DHCP client utilities, and system diagnostics. Each utility within this collection serves specific operational requirements across the RDK-B ecosystem, enabling functionality ranging from data persistence and inter-process communication to network interface management and telemetry reporting.

The miscellaneous-broadband component acts as a repository for standalone utilities that do not fit within larger architectural components but remain essential for gateway operation. These utilities provide low-level infrastructure services, command-line tools for system configuration and testing, and specialized daemons for specific operational tasks. The modular nature of this component allows platform vendors to selectively enable utilities based on specific platform capabilities and deployment requirements through build-time configuration flags.

```mermaid
graph LR
    subgraph "External Systems"
        RemoteMgmt["Remote Management"]
        LocalUI["Local Web UI"]
        CLIAccess["CLI Access"]
    end

    subgraph "RDK-B Platform"
        subgraph "Remote Management Agents"
            ProtocolAgents["Protocol Agents<br/>(TR-069/WebPA/TR-369)"]
        end

        PandM["CCSP P&M"]
        PSM["CCSP PSM"]
        CcspMisc["CcspMisc<br/>Utility Suite"]
        WiFi["WiFi Component"]
        WAN["WAN Manager"]

        subgraph "Platform Layer"
            HAL["Platform HAL"]
            Linux["Linux Kernel"]
            Sysevent["Sysevent"]
            Syscfg["Syscfg"]
        end
    end

    RemoteMgmt -->|TR-069/WebPA/TR-369| ProtocolAgents
    LocalUI -->|HTTP/HTTPS| ProtocolAgents
    CLIAccess -->|Direct Invocation| CcspMisc

    ProtocolAgents -->|IPC| CcspMisc
    CcspMisc -->|IPC| PandM
    CcspMisc -->|IPC| PSM
    CcspMisc -->|IPC| WiFi
    CcspMisc -->|IPC| WAN

    CcspMisc <-->|HAL APIs| HAL
    CcspMisc <-->|System Events| Sysevent
    CcspMisc <-->|Secure Config| Syscfg

    HAL <-->|Driver Interfaces| Linux
    CcspMisc <-->|System Calls| Linux

    classDef external fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    classDef misc fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
    classDef rdkbComponent fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
    classDef system fill:#fce4ec,stroke:#c2185b,stroke-width:2px

    class RemoteMgmt,LocalUI,CLIAccess external
    class CcspMisc misc
    class ProtocolAgents,PandM,PSM,WiFi,WAN rdkbComponent
    class HAL,Linux,Sysevent,Syscfg system
```

Key Features & Responsibilities:

Design

The miscellaneous-broadband component follows a modular, loosely-coupled architecture where each utility operates as an independent executable or library with well-defined responsibilities. The design philosophy emphasizes minimal dependencies between utilities, allowing selective compilation and deployment based on platform requirements specified through configure-time flags. Each utility interface design promotes reusability and integration, providing command-line interfaces for administrative operations, library APIs for programmatic access, or daemon processes for runtime services. The architecture enables platform vendors to customize the utility suite by enabling only required modules through autoconf-based build configuration.

The component integrates with the RDK-B middleware stack through standardized interfaces including RBus for event-driven communication, PSM for persistent data storage, sysevent for system-wide event notification, and syscfg for secure configuration access. Utilities requiring inter-process communication leverage RBus event subscription and method invocation mechanisms following RDK-B design patterns. Network-related utilities interact with the Linux kernel network stack through socket APIs, ioctl system calls, or specialized libraries like libnet when core networking library support is enabled. The design ensures that utilities can operate independently while maintaining consistent integration patterns across the broader RDK-B ecosystem.

Data persistence strategies vary by utility purpose with configuration-focused utilities using PSM as the primary storage backend, runtime state managed through sysevent, and diagnostic information logged to standardized log locations under /rdklogs/logs/. Utilities requiring secure configuration access integrate with syscfg providing tamper-resistant storage for sensitive parameters. The threading model varies per utility with simple command-line tools executing as single-threaded processes, while daemon utilities like ServiceCtrl implement multi-threaded architectures with dedicated worker threads for queue processing and event handling. Error handling follows defensive programming practices with comprehensive input validation, graceful error recovery, and detailed logging to support field diagnostics and troubleshooting operations.

```mermaid
graph TB
    %% External Actors
    Admin[<b>Administrator/Scripts</b><br/>CLI Invocation]

    %% Utility Categories
    subgraph Utilities[" "]
        direction TB

        subgraph Core["<b>Core Utilities</b>"]
            Psmcli["psmcli<br/><i>PSM CLI</i>"]
            ServiceCtrl["ServiceCtrl<br/><i>Service Restart Daemon</i>"]
            EventSub["event_subscriber<br/><i>Event Monitor</i>"]
        end

        subgraph Network["<b>Network & Security</b>"]
            BridgeUtils["bridge_utils<br/><i>Bridge Manager</i>"]
            DHCPUtils["dhcp_client_utils<br/><i>DHCP Client Library</i>"]
            Parcon["parcon<br/><i>Device Blocker</i>"]
            NotifyLease["Notify_Lease<br/><i>Lease Monitor</i>"]
        end

        subgraph Config["<b>Configuration</b>"]
            WebCfgDecoder["webcfg_decoder<br/><i>WebConfig Parser</i>"]
            MsgQ["msgq_util<br/><i>State Machine IPC</i>"]
        end

        subgraph Firmware["<b>Firmware Management</b>"]
            FwDownloadChk["FwDownloadChk<br/><i>Memory Validator</i>"]
            FwBankInfo["FwBankInfo<br/><i>Bank Query</i>"]
            MultipartRoot["multipartRoot<br/><i>Multipart Creator</i>"]
        end

        subgraph Diagnostic["<b>Diagnostics</b>"]
            LTime["LTime<br/><i>Time utility</i>"]
            MemFragCalc["MemFrag_Calc<br/><i>Fragmentation</i>"]
            SetLED["SetLED<br/><i>LED Control</i>"]
        end
    end

    %% System Interfaces
    subgraph SystemAPIs[" "]
        direction LR
        RBus["<b>RBus</b><br/>Message Bus"]
        PSM["<b>PSM</b><br/>Persistent Storage"]
        Sysevent["<b>Sysevent</b><br/>Event System"]
        Syscfg["<b>Syscfg</b><br/>Config Store"]
        Kernel["<b>Linux Kernel</b><br/>Network/FS/Proc"]
        HAL["<b>Platform HAL</b><br/>Hardware Abstraction"]
    end

    %% Connections
    Admin -.->|invoke| Core
    Admin -.->|invoke| Network
    Admin -.->|invoke| Config
    Admin -.->|invoke| Firmware
    Admin -.->|invoke| Diagnostic

    ServiceCtrl --> RBus
    EventSub --> RBus
    WebCfgDecoder --> RBus

    Psmcli --> PSM
    BridgeUtils --> PSM

    BridgeUtils --> Sysevent
    DHCPUtils --> Sysevent
    Parcon --> Sysevent

    FwDownloadChk --> Syscfg

    SetLED --> HAL
    FwBankInfo --> HAL

    BridgeUtils --> Kernel
    DHCPUtils --> Kernel
    Parcon --> Kernel
    NotifyLease --> Kernel
    MemFragCalc --> Kernel
    WebCfgDecoder --> Kernel
    MsgQ --> Kernel

    %% Styling
    classDef coreStyle fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    classDef netStyle fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
    classDef configStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    classDef fwStyle fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    classDef diagStyle fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    classDef apiStyle fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    classDef adminStyle fill:#ffebee,stroke:#d32f2f,stroke-width:2px

    class Psmcli,ServiceCtrl,EventSub coreStyle
    class BridgeUtils,DHCPUtils,Parcon,NotifyLease netStyle
    class WebCfgDecoder,MsgQ configStyle
    class FwDownloadChk,FwBankInfo,MultipartRoot fwStyle
    class LTime,MemFragCalc,SetLED diagStyle
    class RBus,PSM,Sysevent,Syscfg,Kernel,HAL apiStyle
    class Admin adminStyle
```

Prerequisites and Dependencies

Build-Time Flags and Configuration:

Configure OptionDISTRO FeatureBuild FlagPurposeDefault
--enable-vts_bridge_utilN/AVTS_BRIDGE_UTIL_ENABLEDEnable VTS-specific bridge utility variantDisabled
--enable-core_net_lib_feature_supportN/ACORE_NET_LIBEnable libnet-based networking library instead of standard Linux headersDisabled
--enable-notifyleaseN/ANOTIFYLEASE_ENABLEBuild DHCP lease notification utilityDisabled
--enable-setLEDN/ASETLED_ENABLEBuild LED control utilityEnabled
--enable-multipartUtilEnableN/AMULTIPART_UTIL_ENABLEBuild multipart firmware handling utilityDisabled
--enable-bridgeUtilsBinN/ABRIDGE_UTILS_BIN_ENABLEBuild bridge utilities binary and libraryDisabled
--enable-dhcp_managerN/ADHCP_MANAGER_ENABLEDisable dhcp_client_utils when DHCP manager is enabledDisabled
--enable-unitTestDockerSupportN/AUNIT_TEST_DOCKER_SUPPORTBuild unit tests with Docker supportDisabled
N/AOneWifiRDK_ONEWIFIConditional compilation for OneWifi stack integrationPlatform-specific
N/AsafecSAFEC_DUMMY_API (when safec disabled)Enable safe C library for bounds-checked string operationsPlatform-specific
N/AN/AINCLUDE_BREAKPADEnable Google Breakpad crash reporting integrationPlatform-specific
N/AN/ANO_MOCA_FEATURE_SUPPORTDisable MoCA interface support in bridge utilitiesPlatform-specific
N/AN/ARDKB_EXTENDER_ENABLEDEnable extender mode support in bridge utilitiesPlatform-specific
N/AN/AUTC_ENABLEEnable UTC time support in time conversion utilitiesPlatform-specific
N/AN/ADBUS_INIT_SYNC_MODEEnable synchronous RBus initialization in psmcliPlatform-specific


RDK-B Platform and Integration Requirements:


Threading Model:

The miscellaneous-broadband component employs utility-specific threading models optimized for each module's operational requirements ranging from single-threaded command-line tools to multi-threaded daemon processes with specialized worker threads.

Component State Flow

Initialization to Active State

Command-line utilities follow a straightforward initialization-execute-terminate lifecycle while daemon processes maintain persistent operation with event-driven state management.

```mermaid
sequenceDiagram
    participant System as System Startup/Invocation
    participant Utility as Utility Process
    participant MsgBus as Message Bus
    participant PSM as Persistent Storage
    participant Kernel as Linux Kernel

    System->>Utility: Launch Utility
    Utility->>Utility: Parse Command Line Arguments

    alt Daemon Process (ServiceCtrl)
        Utility->>Utility: Daemonize Process
        Utility->>Utility: Initialize Logging
        Utility->>MsgBus: RBus Connect & Register
        MsgBus-->>Utility: RBus Handle
        Utility->>Utility: Initialize Service Queue
        Utility->>Utility: Start Worker Thread
        Utility->>System: Signal Ready (Active State)
        loop Event Processing
            MsgBus->>Utility: RBus Event/Method Call
            Utility->>Utility: Process Request
            Utility-->>MsgBus: Response
        end
    else PSM Utility (Psmcli)
        Utility->>MsgBus: RBus Connect
        MsgBus-->>Utility: Connection Established
        Utility->>PSM: Execute PSM Operation
        PSM-->>Utility: Result
        Utility->>System: Exit with Status Code
    else Security Utility (parcon)
        Utility->>Utility: Validate MAC Addresses
        Utility->>Kernel: Write Block List to /tmp/.pcmd
        Kernel-->>Utility: File Write Success
        Utility->>Kernel: Trigger sysevent firewall-restart
        Utility->>System: Exit with Status Code
    else Network Utility (bridge_utils)
        Utility->>PSM: Read Bridge Configuration
        PSM-->>Utility: Configuration Data
        Utility->>Kernel: Apply Network Configuration
        Kernel-->>Utility: Operation Status
        Utility->>System: Exit with Status Code
    else Event Subscriber (EventSubscription)
        Utility->>MsgBus: RBus Connect
        MsgBus-->>Utility: RBus Handle
        Utility->>MsgBus: Subscribe to Event
        MsgBus-->>Utility: Subscription Confirmed
        Utility->>System: Signal Ready (Active State)
        loop Event Reception
            MsgBus->>Utility: Event Notification
            Utility->>Utility: Display Event Data
        end
    end

    System->>Utility: Shutdown Signal (Daemon Only)
    Utility->>Utility: Cleanup Resources
    Utility->>MsgBus: Disconnect
    Utility->>System: Exit
```

Runtime State Changes and Context Switching

Runtime state transitions occur based on external triggers, configuration changes, and operational events specific to each utility.

State Change Triggers:

Call Flow

Initialization Call Flow:

```mermaid
sequenceDiagram
    participant Init as Initialization Process
    participant Comp as CcspMisc Utility
    participant MsgBus as Message Bus
    participant PSM as PSM/Syscfg
    participant Sys as System Resources

    Init->>Comp: Launch Utility
    Comp->>Comp: Parse Arguments & Validate
    Comp->>Sys: Initialize Logging
    alt Requires Message Bus
        Comp->>MsgBus: Connect (RBus)
        MsgBus-->>Comp: Connection Handle
        Comp->>MsgBus: Register Components/Events
        MsgBus-->>Comp: Registration Confirmed
    end
    alt Requires Persistent Storage
        Comp->>PSM: Connect to PSM/Syscfg
        PSM-->>Comp: Connection Established
    end
    Comp->>Comp: Initialize Data Structures
    Comp->>Init: Initialization Complete (Active State)
```

Request Processing Call Flow:

```mermaid
sequenceDiagram
    participant Client as Client/Caller
    participant Comp as CcspMisc Utility
    participant MsgBus as Message Bus
    participant PSM as PSM/Syscfg
    participant HAL as HAL/Kernel

    Client->>Comp: Request (CLI/RBus/Event)
    Comp->>Comp: Validate Request Parameters

    alt PSM Operation (Psmcli)
        Comp->>MsgBus: PSM Get/Set Request
        MsgBus->>PSM: Forward Request
        PSM-->>MsgBus: PSM Response
        MsgBus-->>Comp: Response Data
    else Service Restart (ServiceCtrl)
        Comp->>Comp: Queue Restart Request
        Comp->>Comp: Worker Thread Processes Queue
        Comp->>HAL: Execute Service Restart
        HAL-->>Comp: Operation Status
        Comp->>MsgBus: Publish Status Event
    else Bridge Configuration (bridge_utils)
        Comp->>PSM: Read Bridge Config
        PSM-->>Comp: Configuration Data
        Comp->>HAL: Apply Network Configuration
        HAL-->>Comp: Configuration Status
    else Event Monitoring (EventSubscription)
        MsgBus->>Comp: Event Notification
        Comp->>Comp: Display Event Data
    end

    Comp-->>Client: Response/Event
```

Internal Modules

The miscellaneous-broadband component consists of multiple independent utilities, each serving specific operational needs within the RDK-B ecosystem.

Module/ClassDescriptionKey Files
PsmcliCommand-line interface for PSM operations supporting get, set, getdetail, and delete operations with type-specific parameter handling. Provides direct access to persistent storage for administration and debugging.psmcli.c, ccsp_psmcli.h
ServiceCtrlRBus-based daemon providing service restart management through standardized interface. Implements queue-based restart processing with mutex-protected concurrent access and RBus method handlers.servicecontrol_main.c, servicecontrol_apis.c, servicecontrol_rbus_handler_apis.c, servicecontrol_dml.c
bridge_utilsNetwork bridge management utility supporting creation, configuration, and deletion of Linux bridges with VLAN tagging, member interface management, and MoCA isolation support. Integrates with PSM for configuration storage and sysevent for runtime coordination.bridge_util.c, bridge_util_generic.c, bridge_creation.c, main.c
dhcp_client_utilsCommon library abstracting multiple DHCP client implementations (udhcpc, dibbler, ti_dhcp6c) providing unified API for client lifecycle management, process control, and event notification.dhcp_client_common.c, udhcpc_client_utils.c, dhcpv4_client_utils.c, dhcpv6_client_utils.c, dibbler_client_utils.c, ti_dhcp6c_client_utils.c, ti_udhcpc_client_utils.c
EventSubscriptionRBus event subscription utility for CLI-based event monitoring. Subscribes to specified RBus events and displays received event data with type-aware value extraction supporting string, boolean, and numeric types.event_subscriber.c
FwDownloadChkFirmware download memory validation utility checking available system memory against firmware size plus configurable thresholds. Prevents firmware download attempts when insufficient memory exists, reducing failed upgrade attempts.fw_download_check.c, fw_download_check.h
webcfg_decoderWebConfig blob fetch and decode utility supporting both HTTP download and RBus-based cache retrieval. Decodes msgpack-encoded multipart documents with base64 decoding and structured output for debugging WebConfig operations.main.c
msgq_utilPOSIX message queue wrapper providing gateway state machine messaging capabilities. Implements message send/receive operations for inter-process event communication with defined event enumeration.msgq_util.c
LTimeLocal time retrieval utility providing current timestamp output in seconds since epoch. Supports optional UTC time handling when UTC_ENABLE flag is set.LTime.c
TimeConvTime format conversion library providing conversion between different time representations. Supports UTC time conversion when UTC_ENABLE build flag is enabled.time_conversion.c, time_conversion.h
MemFrag_CalcMemory fragmentation analysis utility calculating fragmentation metrics from /proc meminfo. Used for system diagnostics and telemetry reporting.MemFragCalc.c
FwBankInfoFirmware bank information query utility extracting bootloader firmware bank details. Provides active/inactive bank identification for dual-bank firmware management.FwBank_Info.c
parconParental control device blocking utility managing MAC address block lists for firewall-based device access restriction. Validates MAC addresses, writes block list to /tmp/.pcmd, and triggers firewall restart via sysevent.parcon.c
multipartRootMultipart firmware image handling utility for processing split firmware images during upgrade operations.multipartRoot.c
SetLEDLED control utility providing command-line interface for hardware LED state management. Interfaces with platform HAL for LED hardware control.SetLED.c
Notify_LeaseDHCP lease notification monitoring utility tracking DHCP lease acquisition and renewal events. Conditionally compiled when notifylease feature is enabled.Notify_Lease.c

Component Interactions

The miscellaneous-broadband utilities interact with various RDK-B components, system services, and external systems to provide their respective functionalities.

Interaction Matrix

Target Component/LayerInteraction PurposeKey APIs/Endpoints
RDK-B Middleware Components

RBus Message BusEvent subscription, method invocation, parameter get/set operationsCCSP_Message_Bus_Init(), rbus_open(), rbusEvent_Subscribe(), rbusMethod_InvokeAsync()
CcspPsmPersistent parameter storage and retrieval for configuration dataPSM_Get_Record_Value2(), PSM_Set_Record_Value2(), PSM_Del_Record()
CcspPandMBridge configuration coordination, service state synchronizationRBus events: Device.X_CISCO_COM_DeviceControl.*, PSM parameters: dmsb.l2net.*
CcspWiFiWiFi interface bridge membership configurationPSM parameters: dmsb.l2net.*.Members.WiFi, Sysevent: WiFi interface notifications
System Services

SyseventSystem-wide event notification for network configuration changessysevent_open(), sysevent_get(), sysevent_set(), sysevent_set_options() events: bridge-status, multinet-*, wan-status
SyscfgSecure configuration storage for firmware and system parameterssyscfg_init(), syscfg_get(), syscfg_set(), syscfg_commit() keys: xconf_url, FwDwld_AvlMem_RsrvThreshold
Hardware Abstraction Layer

Platform HALLED hardware control operationsPlatform-specific LED HAL APIs for state control
Linux Kernel

Network StackBridge creation, VLAN configuration, interface managementsocket(), ioctl(SIOCBRADDBR), ioctl(BRCADDIF), netlink sockets for interface operations
Process ManagementDHCP client process lifecycle controlfork(), execv(), waitpid(), kill(), signal handling
File SystemMemory information, system status, log file access/proc/meminfo, /proc/net/*, /sys/class/net/*, /rdklogs/logs/*
POSIX Message QueuesInter-process messaging for gateway state machinemq_open(), mq_send(), mq_receive(), mq_close(), queue: /gwsm_queue
External Systems

XCONF ServerFirmware image download URL and metadata retrievalHTTP GET with curl library, Content-Length header parsing
WebConfig ServerConfiguration document fetch and processingHTTP GET/POST with curl, msgpack deserialization, base64 decoding
Telemetry SystemDiagnostic event reportingt2_event_s() for telemetry marker publication
Configuration Sources

PSM DatabaseBridge configurations, network parameters, persistent stateNamespace: dmsb.l2net.*, dmsb.MultiLAN.* for bridge and network settings
Command LineDirect utility invocation by administrators and scriptsStandard argc/argv parsing, getopt for option processing

Events Published by CcspMisc:

Event NameEvent Topic/PathTrigger ConditionSubscriber Components
Service_Restart_CompleteServiceCtrl RBus method responseService restart operation completes successfully or with errorRequesting component (CcspPandM, WebPA)
Bridge_Status_Changebridge-status syseventBridge creation or deletion completesNetwork management components, WiFi, routing services
DHCP_Lease_EventSysevent notificationsDHCP lease acquisition or renewal detectedNetwork monitoring, device tracking components
Network_Device_StatusRBus event publicationDevice presence or network status change detectedTelemetry services, monitoring components

IPC Flow Patterns

Primary IPC Flow - Service Restart Request:

```mermaid
sequenceDiagram
    participant Client as Management Client
    participant ServiceCtrl as ServiceCtrl Daemon
    participant Queue as Request Queue
    participant System as System Service
    participant PSM as PSM Storage

    Client->>ServiceCtrl: RBus Method Call (Service Restart)
    ServiceCtrl->>ServiceCtrl: Validate Request
    ServiceCtrl->>Queue: Enqueue Restart Request
    ServiceCtrl-->>Client: Request Accepted

    Queue->>ServiceCtrl: Worker Thread Dequeues
    ServiceCtrl->>System: Execute Service Restart
    System-->>ServiceCtrl: Restart Status
    ServiceCtrl->>PSM: Log Operation (optional)
    PSM-->>ServiceCtrl: Storage Confirmation
    ServiceCtrl->>Client: Publish Status Event (RBus)
```

Bridge Configuration Flow:

```mermaid
sequenceDiagram
    participant Admin as Administrator
    participant BridgeUtil as bridge_utils
    participant PSM as PSM Storage
    participant Sysevent as Sysevent
    participant Kernel as Linux Kernel

    Admin->>BridgeUtil: CLI Invocation (Create Bridge)
    BridgeUtil->>PSM: Read Bridge Configuration
    PSM-->>BridgeUtil: Configuration Parameters
    BridgeUtil->>BridgeUtil: Validate Configuration
    BridgeUtil->>Kernel: Create Bridge (ioctl)
    Kernel-->>BridgeUtil: Bridge Created
    BridgeUtil->>Kernel: Add Member Interfaces
    Kernel-->>BridgeUtil: Members Added
    BridgeUtil->>Sysevent: Publish bridge-status Event
    Sysevent-->>BridgeUtil: Event Published
    BridgeUtil-->>Admin: Operation Complete (Exit Code)
```

PSM Access Flow:

```mermaid
sequenceDiagram
    participant User as User/Script
    participant Psmcli as psmcli
    participant MsgBus as Message Bus
    participant PSM as PSM Service

    User->>Psmcli: CLI Command (get/set)
    Psmcli->>Psmcli: Parse Arguments
    Psmcli->>MsgBus: Connect to RBus
    MsgBus-->>Psmcli: Connection Established
    Psmcli->>MsgBus: PSM Request (Get/Set)
    MsgBus->>PSM: Forward Request
    PSM->>PSM: Access Database
    PSM-->>MsgBus: Response Data
    MsgBus-->>Psmcli: Response Data
    Psmcli->>Psmcli: Format Output
    Psmcli-->>User: Display Result (stdout)
    Psmcli->>MsgBus: Disconnect
```

Implementation Details

Key Implementation Logic

Key Configuration Files

The miscellaneous-broadband component relies on multiple configuration sources including PSM parameters, syscfg keys, and file-based configurations.

Configuration SourceLocation/NamespacePurposeAccess Method
PSM Parametersdmsb.l2net.*L2 network bridge configuration including bridge names, VLAN IDs, and member interfacesPSM API via message bus
PSM Parametersdmsb.MultiLAN.*Multi-LAN configuration including MoCA isolation settingsPSM API via message bus
Syscfgxconf_url, fw_to_upgradeFirmware download URL construction for memory check validationSyscfg API
SyscfgFwDwld_AvlMem_RsrvThresholdReserved memory threshold in MB for firmware download operationsSyscfg API
SyscfgFwDwld_ImageProcMemPercentAdditional memory overhead percentage for firmware image processingSyscfg API
File/etc/onewifi_enabledOneWifi feature detection flag for bridge utility behaviorFile existence check
File/sys/module/openvswitchOpenVSwitch kernel module detection for bridge implementation selectionDirectory existence check
File/etc/WFO_enabledWFO (WiFi Offload) feature detection flagFile existence check
File/var/tmp/brctl_interact_enable.txtBridge utility debug interaction enable flagFile existence check
File/rdklogs/logs/xconf.txt.0XCONF firmware download check log outputAppend-only log file
RBus MethodDevice.X_RDK_WebConfig.FetchCachedBlobWebConfig cached blob retrieval method for offline decode operationsRBus method invocation
Message Bus ConfigCCSP_MSG_BUS_CFGMessage bus connection configuration for RBus initializationFile read during bus initialization