VOL-2892 Problem comparing two proto messages with reflect.DeepEqual(). Changing it to proto.Equal()
Change-Id: I08a7c704ae6733e27d9dedaa05efedc55537983a
diff --git a/rw_core/core/device/logical_agent.go b/rw_core/core/device/logical_agent.go
index 42cbc4e..6236d81 100644
--- a/rw_core/core/device/logical_agent.go
+++ b/rw_core/core/device/logical_agent.go
@@ -21,7 +21,6 @@
"encoding/hex"
"errors"
"fmt"
- "reflect"
"sync"
"time"
@@ -876,7 +875,7 @@
flow.ByteCount = oldFlow.ByteCount
flow.PacketCount = oldFlow.PacketCount
}
- if !reflect.DeepEqual(oldFlow, flow) {
+ if !proto.Equal(oldFlow, flow) {
flows[idx] = flow
updatedFlows = append(updatedFlows, flow)
changed = true
@@ -1729,7 +1728,7 @@
changed := false
for _, o := range oldList {
if o.Id == n.Id {
- changed = !reflect.DeepEqual(o, n)
+ changed = !proto.Equal(o, n)
found = true
break
}
@@ -1748,14 +1747,8 @@
// the POST_ADD notification is fixed, we will use the logical device to
// update that data.
func (agent *LogicalAgent) portUpdated(oldPorts, newPorts []*voltha.LogicalPort) interface{} {
- if reflect.DeepEqual(oldPorts, newPorts) {
- logger.Debug("ports-have-not-changed")
- return nil
- }
-
// Get the difference between the two list
newPorts, changedPorts, deletedPorts := diff(oldPorts, newPorts)
-
// Send the port change events to the OF controller
for _, newP := range newPorts {
go agent.ldeviceMgr.eventCallbacks.SendChangeEvent(agent.logicalDeviceID,