diff --git a/lib/session.ts b/lib/session.ts index b268c25..e28f9c0 100644 --- a/lib/session.ts +++ b/lib/session.ts @@ -1624,6 +1624,20 @@ function generateGetRpcRequest( (a, b) => b.length - a.length ); let path = paths.pop(); + + // 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(); + } + while ( path && path.length &&