Versions Compared

Key

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

What is RFC?

RFC stands for RDK Feature Control.
It provides a mechanism to remotely enable, disable, or configure software features on RDK-based devices (CPEs).

RFC is primarily used by Release Management for controlled, staged rollouts of new features across production devices — ensuring stability and gradual deployment.

Source code

rdkcentral/rfc at main


...

How does RDK receive the RFC configuration?

The RFC configuration process involves multiple RDK components working together to fetch, process, and apply configuration updates.

The flow is summarized below:

...

1. Maintenance Manager

  • Periodically evaluates when to start the RFC task.

  • When conditions are met, it launches the RFC Manager to begin the configuration process.

...

2. RFC Manager → XConf

  • RFC Manager sends an HTTP request to the configured XConf URL, including key device identifiers:

    • STB MAC Address

    • Account ID

    • Partner ID

    • Firmware Version

  • XConf uses these identifiers to locate the appropriate configuration and returns it as a JSON payload.

...

3. RFC Manager Processing

  • Parses the JSON response to extract all configuration parameters.

  • Updates TR-181 parameters by invoking tr181 set commands for each relevant RFC value.
  • tr181 set uses RFC API which in turn calls the tr69hotif API to store these environment variables and TR-181 parameters.