Versions Compared

Key

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

...

  • The tr181 set commands internally call the RFC API to perform parameter get/set operations.

  • The RFC API communicates with the local HTTP server running within tr69hostif using HTTP GET or POSTrequests.

    /opt/secure/RFC/rfcVariable.iniRFC environment variablesContains environment-level variables derived from RFC config
    /opt/secure/RFC/tr181store.iniRFC namespace TR-181 parametersContains TR-181 parameters managed within the RFC namespace
    /opt/secure/RFC/bootstrap.iniBootstrap TR-181 parametersContains TR-181 parameters with the bsUpdate attribute
    Profile-specific storageNon-RFC TR-181 parametersManaged by respective profile handlers with their own storage mechanism

...

6. tr69hostif Request Routing

  • The tr69hostif component routes incoming parameter requests based on their namespace or attributes:

    bsUpdate attribute presentBootstrap handlersHandles bootstrap get/set requests
    RFC namespaceRFC handlersManages parameters controlled by RFC
    Other (non-RFC) parametersProfile handlers

    Routed to profile-specific get/set implementations

...

7. Runtime Sources and Priority

  • Runtime Sources Overview
SourceBacking StoreOwnerPurpose
Persisted TR181 RFC override/opt/secure/RFC/tr181store.iniRFC/XConf apply pathXConf-applied parameter persistence
Persisted bootstrap value/opt/secure/RFC/bootstrap.iniXBSStoreRFC or WebPA overrides
Device-specific bootstrap overlay/etc/partners_defaults_device.jsontr69hostif firmware defaultsDevice-specific defaults
Partner bootstrap defaults/etc/partners_defaults.json (partner section) - communitytr69hostif firmware defaultsPartner-specific firmware defaults
Generic steady-state bootstrap defaults/etc/partners_defaults.json (default section)tr69hostif firmware defaultsGeneric firmware defaults
Early-boot bootstrap defaults/etc/partners_defaults.json (default_boot section)tr69hostif firmware defaultsEarly-boot temporary profile
XML default valueMerged TR181 data modelwaldb / tr69hostif validation pathData model XML defaults
RFC fallback defaults/etc/rfcdefaults/*.ini and /tmp/rfcdefaults.iniRFC repo fallback pathRFC library fallback layer
  •  RFC Library Runtime Priority
PrioritySourceFile LocationUsed ByCondition
1Persisted XConf-applied value/opt/secure/RFC/tr181store.inilibtr181api::getParam()If key missing in live hostif
2Persisted bootstrap value/opt/secure/RFC/bootstrap.iniRFC libraryIf key missing in tr181store.ini
3RFC fallback default/tmp/rfcdefaults.ini (merged from /etc/rfcdefaults/*.ini)RFC libraryFinal fallback for TR181-style keys
N/ALegacy RFC variables/opt/secure/RFC/rfcVariable.iniRFC libraryFor legacy RFC_xxxx keys (non-dotted)

...

  • Bootstrap Runtime Priority (XBSStore via tr69hostif)
PrioritySourceSelection LogicFile Location
1Persisted RFC/WebPA overrideDirect lookup/opt/secure/RFC/bootstrap.ini
2aPartner section bootstrap defaultIf PartnerId known AND match found/etc/partners_defaults.json (partner section)
2bGeneric defaultIf PartnerId known BUT no match/etc/partners_defaults.json (default section)
2cEarly-boot defaultIf PartnerId NOT yet available/etc/partners_defaults.json (default_boot section)
3Device-specific overlayApplied over 2a/2b/2c/etc/partners_defaults_device.json
  • Combined Conceptual Priority (All Paths Union)
PrioritySourceScopeNotes
1Live hostif valueActive hostif GET pathHighest precedence if returned
2Persisted runtime overrideRFC/WebPA apply pathsXConf-applied values
3Persisted bootstrap valueBootstrap-backed keysRFC or WebPA overrides
4Effective bootstrap firmware defaultAll bootstrap-backed lookupsFrom partners_defaults_device.json overlay + selected section
5XML default valueLive hostif fallback pathsOnly when handler fails; uses dmParam.defaultValue
6/etc/rfcdefaults merged fallbackRFC-library fallback pathsFinal fallback; lowest precedence

8. mTLS support

  • RDKE expects xconf connections to be secure. This expects RFC to use MTLS by default.
  • Support to add MTLS to RDKM xconf server is under investigation.
  • Until then, we are disabling MTLS support by not enabling rdkcertselector
    • mTLS is enabled in the RFC code when the macro LIBRDKCERTSELECTOR is defined.

...