Skip to content

Specific paths cant be requested, because the underlying device goStruct can't be filled.

Attempting to use gnmic to make requests with paths such as /interfaces/interface or interfaces/interface[name=Ethernet1] currently results in the output of an error.

Expected Behavior

The device should be populated with the requested data and the data should be delivered as gNMI notification within the gosdn client.

Actual Behavior

Device is not populated and an error is thrown:

{"level":"error","msg":"cannot process entry of type map[string]*openconfig.OpenconfigInterfaces_Interfaces_Interface, request longer or shorter path","time":"2021-11-29T19:25:02+01:00"}

Possible Fix

The device within the controller must be initialized in more depth depending on which path is requested. In this case a map must be created during runtime and filled according to the keys which are specified in the gnmi path.

Steps to Reproduce

  1. Start the goSDN controller and register an OND like a cEOS
  2. Send a get request like: gosdnc dev get 568500cc-b96c-4f8f-a187-3700c16012bb /interfaces/interface via gosdnc
  3. An error is thrown

Context

Tried a get request for the path /interfaces/interface

Edited by Ghost User