[VOL-5488] fetch nni-port ID from voltdevice
Change-Id: I12a81dbb4e45cb4728f49d1d6324afc1ed6260b1
Signed-off-by: Akash Reddy Kankanala <akash.kankanala@radisys.com>
diff --git a/internal/pkg/application/application.go b/internal/pkg/application/application.go
index e8bc663..cc5e331 100644
--- a/internal/pkg/application/application.go
+++ b/internal/pkg/application/application.go
@@ -1168,7 +1168,7 @@
}
if len(d.(*VoltDevice).NniPort) > 0 {
for _, nniPort := range d.(*VoltDevice).NniPort {
- nniPortID, err := GetApplication().GetPortID(nniPort)
+ nniPortID, err := GetApplication().GetDevicePortID(device, nniPort)
if err != nil {
logger.Errorw(ctx, "Error getting port ID by port Name", log.Fields{"Error": err})
continue
@@ -2349,3 +2349,16 @@
va.DevicesDisc.Store(id, device)
}
}
+
+func (va *VoltApplication) GetDevicePortID(device, port string) (uint32, error) {
+ logger.Debugw(ctx, "Received Get Device Port ID", log.Fields{"Port": port})
+ d := va.GetDevice(device)
+ if d == nil {
+ return 0, fmt.Errorf("device not found: %s", device)
+ }
+ value, ok := d.Ports.Load(port)
+ if !ok {
+ return 0, fmt.Errorf("port not found: %s", port)
+ }
+ return value.(*VoltPort).ID, nil
+}