cwmp.skipRootGpn

Hello,
anyone know how to use this config parameter? I’ve defined it with value true but it does not seem to work or maybe I’m having some totally different case, I’ll try to explain it:

  • provisioning is running on a CPE and a GetParameterValues is made for some parameters
  • CPE fails with cwmp.9002
  • the ACS then does a GetParameterNames for InternetGatewayDevice. with NextLevel set to false, so the CPE will send all the names from the tree . I can see a refreshObject task added on InternetGatewayDevice and a subsequent fault with:
    “provisions” : “[["refresh","InternetGatewayDevice"]]”
    I think this is added because of the fault at GPV
  • the refresh is doing GPN and GPV on all values until it will inevitably read also InternetGatewayDevice.ManagementServer.ConnectionRequestPassword parameter which breaks ConnectionRequest mechanism, as it will overwrite the password in DB with empty string, and any attempt to recover will go in this loop: provision runs → cwmp.9002 fault → GPN on root (connection request break).

This parameter is supposed to only skip the GPN for “”?

1 Like

sorry if I am asking an stupid question but since you did not mention it …

are you using the latest version ?

been looking a bit at the code, the relevant section is located at session.ts line 1628:

    // Skip root GPN workaround
    if (path && !path.length) {
      const SKIP_ROOT_GPN = !!localCache.getConfig(
        sessionContext.cacheSnapshot,
        "cwmp.skipRootGpn",
        {},
        sessionContext.timestamp,
        (e) => configContextCallback(sessionContext, e)
      );

      if (SKIP_ROOT_GPN) path = paths.pop();
    }

at least for testing purposes I think the solution is pretty easy.

Perhaps I did not read enough but I was unable to find the tag of the config file.

yes, 1.2.9