[VOL-5527] update periodic nni stats
Change-Id: I2bbf60a3fc3bad73de4db78902d57eb0264cb26f
Signed-off-by: Akash Reddy Kankanala <akash.kankanala@radisys.com>
diff --git a/internal/pkg/core/statsmanager.go b/internal/pkg/core/statsmanager.go
index 2b91709..429ec11 100644
--- a/internal/pkg/core/statsmanager.go
+++ b/internal/pkg/core/statsmanager.go
@@ -674,12 +674,16 @@
:return:
*/
// var err error
- IntfID := PortStats.IntfId
+ logicalPortNo := PortStats.IntfId
- if (IntfID & plt.IntfIDToPortNo(0, voltha.Port_ETHERNET_NNI)) != 0 {
+ if plt.IntfIDToPortTypeName(logicalPortNo) == voltha.Port_ETHERNET_NNI {
+ IntfID, err := plt.IntfIDFromNniPortNum(ctx, logicalPortNo)
+ if err != nil {
+ return
+ }
var portNNIStat NniPort
portNNIStat.IntfID = IntfID
- portNNIStat.PortNum = uint32(0)
+ portNNIStat.PortNum = logicalPortNo
portNNIStat.RxBytes = PortStats.RxBytes
portNNIStat.RxFrames = selectCounter(PortStats.RxFrames, PortStats.RxPackets)
portNNIStat.RxUcastFrames = selectCounter(PortStats.RxUcastFrames, PortStats.RxUcastPackets)
@@ -696,35 +700,37 @@
portNNIStat.TxErrorFrames = selectCounter(PortStats.TxErrorFrames, PortStats.TxErrorPackets)
portNNIStat.TxDroppedTotal = PortStats.TxDroppedTotal
mutex.Lock()
- StatMgr.NorthBoundPort[0] = &portNNIStat
+ StatMgr.NorthBoundPort[IntfID] = &portNNIStat
mutex.Unlock()
logger.Debugw(ctx, "received-nni-stats", log.Fields{"nni-stats": StatMgr.NorthBoundPort})
}
- for i := uint32(0); i < NumPonPorts; i++ {
- if plt.IntfIDToPortNo(i, voltha.Port_PON_OLT) == IntfID {
- var portPonStat PonPort
- portPonStat.IntfID = IntfID
- portPonStat.PortNum = i
- portPonStat.PONID = i
- portPonStat.RxBytes = PortStats.RxBytes
- portPonStat.RxPackets = PortStats.RxPackets
- portPonStat.RxUcastPackets = PortStats.RxUcastPackets
- portPonStat.RxMcastPackets = PortStats.RxMcastPackets
- portPonStat.RxBcastPackets = PortStats.RxBcastPackets
- portPonStat.RxErrorPackets = PortStats.RxErrorPackets
- portPonStat.RxPacketsDropped = PortStats.RxPacketsDropped
- portPonStat.TxBytes = PortStats.TxBytes
- portPonStat.TxPackets = PortStats.TxPackets
- portPonStat.TxUcastPackets = PortStats.TxUcastPackets
- portPonStat.TxMcastPackets = PortStats.TxMcastPackets
- portPonStat.TxBcastPackets = PortStats.TxBcastPackets
- portPonStat.TxErrorPackets = PortStats.TxErrorPackets
- portPonStat.TxDroppedTotal = PortStats.TxDroppedTotal
- mutex.Lock()
- StatMgr.SouthBoundPort[i] = &portPonStat
- mutex.Unlock()
- logger.Debugw(ctx, "received-pon-stats-for-port", log.Fields{"port-pon-stats": portPonStat})
+ if plt.IntfIDToPortTypeName(logicalPortNo) == voltha.Port_PON_OLT {
+ var portPonStat PonPort
+ ponID, err := plt.IntfIDFromPonPortNum(ctx, logicalPortNo)
+ if err != nil {
+ return
}
+ portPonStat.IntfID = ponID
+ portPonStat.PortNum = logicalPortNo
+ portPonStat.PONID = logicalPortNo
+ portPonStat.RxBytes = PortStats.RxBytes
+ portPonStat.RxPackets = PortStats.RxPackets
+ portPonStat.RxUcastPackets = PortStats.RxUcastPackets
+ portPonStat.RxMcastPackets = PortStats.RxMcastPackets
+ portPonStat.RxBcastPackets = PortStats.RxBcastPackets
+ portPonStat.RxErrorPackets = PortStats.RxErrorPackets
+ portPonStat.RxPacketsDropped = PortStats.RxPacketsDropped
+ portPonStat.TxBytes = PortStats.TxBytes
+ portPonStat.TxPackets = PortStats.TxPackets
+ portPonStat.TxUcastPackets = PortStats.TxUcastPackets
+ portPonStat.TxMcastPackets = PortStats.TxMcastPackets
+ portPonStat.TxBcastPackets = PortStats.TxBcastPackets
+ portPonStat.TxErrorPackets = PortStats.TxErrorPackets
+ portPonStat.TxDroppedTotal = PortStats.TxDroppedTotal
+ mutex.Lock()
+ StatMgr.SouthBoundPort[ponID] = &portPonStat
+ mutex.Unlock()
+ logger.Debugw(ctx, "received-pon-stats-for-port", log.Fields{"port-pon-stats": portPonStat})
}
/*
Based upon the intf_id map to an nni port or a pon port