[VOL-5583] upgrade go to 1.25.5 and golangci-lint version to 2.8.0

Signed-off-by: madhumatigouda <madhumati.gouda@radisys.com>
Change-Id: I6e08b8186ed666e1ada8f77e201266eef52294d3
diff --git a/VERSION b/VERSION
index 214b521..35c6ac5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.7.13
+3.7.14
diff --git a/docker/Dockerfile.rw_core b/docker/Dockerfile.rw_core
index 09538f7..b5af796 100644
--- a/docker/Dockerfile.rw_core
+++ b/docker/Dockerfile.rw_core
@@ -30,7 +30,7 @@
 # -------------
 # Build stage
 
-FROM golang:1.25.3-alpine3.22 AS dev
+FROM golang:1.25.5-alpine3.22 AS dev
 
 # Install required packages
 
diff --git a/go.mod b/go.mod
index b83ba2c..80e79a1 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/opencord/voltha-go
 
-go 1.25.3
+go 1.25.5
 
 require (
 	github.com/IBM/sarama v1.46.2
@@ -10,8 +10,8 @@
 	github.com/golang/mock v1.6.0
 	github.com/google/uuid v1.6.0
 	github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
-	github.com/opencord/voltha-lib-go/v7 v7.8.1
-	github.com/opencord/voltha-protos/v5 v5.7.2
+	github.com/opencord/voltha-lib-go/v7 v7.8.4
+	github.com/opencord/voltha-protos/v5 v5.7.3
 	github.com/opentracing/opentracing-go v1.2.0
 	github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5
 	github.com/prometheus/client_golang v1.23.2
diff --git a/go.sum b/go.sum
index 253dc25..62bdb24 100644
--- a/go.sum
+++ b/go.sum
@@ -142,10 +142,10 @@
 github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
 github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
 github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
-github.com/opencord/voltha-lib-go/v7 v7.8.1 h1:tScnUJAtKo2bu6dg2NFirawIrXf2YwKjlb8+YdCDp2s=
-github.com/opencord/voltha-lib-go/v7 v7.8.1/go.mod h1:ege+7IIFRKe89exRbV6B9+N0J9pCJY8tCw1Ex/ryBQM=
-github.com/opencord/voltha-protos/v5 v5.7.2 h1:7qWmJV8sz7UnJ5Y/kBbg9Zv502mdajqQOLNGVSume1o=
-github.com/opencord/voltha-protos/v5 v5.7.2/go.mod h1:KxcAB17mXTUSjA/rAziV3sDaOpntaFTCEXBJIfN5El4=
+github.com/opencord/voltha-lib-go/v7 v7.8.4 h1:RDxyjtoiCk67mx+fTJohB33VEqQLtnExuMb89RWuyAQ=
+github.com/opencord/voltha-lib-go/v7 v7.8.4/go.mod h1:UELc2f28A2tGsZRu5+XVIWSdEYffACLjWycLlf1o/iI=
+github.com/opencord/voltha-protos/v5 v5.7.3 h1:fE4IwjYQzZ/QdfwUKDCIxirua0++zqu2JgbkKwXm6No=
+github.com/opencord/voltha-protos/v5 v5.7.3/go.mod h1:SoKoF6xSY0+v9A//7y2sAX3YgX2Wy4IeBgyMX5n7eOs=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
diff --git a/makefiles/docker/include.mk b/makefiles/docker/include.mk
index ba584e1..1b27e0f 100644
--- a/makefiles/docker/include.mk
+++ b/makefiles/docker/include.mk
@@ -17,7 +17,7 @@
 
 $(if $(DEBUG),$(warning ENTER))
 
-VOLTHA_TOOLS_VERSION ?= 3.2.1
+VOLTHA_TOOLS_VERSION ?= 3.2.2
 
 # ---------------------------
 # Macros: command refactoring
diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index 3ef4905..a150097 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -213,8 +213,17 @@
 	if err := agent.dbProxy.Remove(ctx, agent.deviceID); err != nil {
 		return err
 	}
+	var parentDevice *voltha.Device
+	if !agent.device.Root {
+		// Get Parent Serial number for sending event
+		var err error
+		parentDevice, err = agent.deviceMgr.getParentDevice(ctx, agent.device)
+		if err != nil {
+			logger.Errorw(ctx, "getParentDevice deviceMgr map query error", log.Fields{"device-id": agent.deviceID, "parent-id": parentDevice, "error": err})
+		}
+	}
 	// Send the device event to the message bus
-	_ = agent.deviceMgr.Agent.SendDeviceDeletedEvent(ctx, agent.device, time.Now().Unix())
+	_ = agent.deviceMgr.Agent.SendDeviceDeletedEvent(ctx, agent.device, parentDevice, time.Now().Unix())
 
 	close(agent.exitChannel)
 
diff --git a/rw_core/core/device/event/event.go b/rw_core/core/device/event/event.go
index 09e3238..90c7708 100644
--- a/rw_core/core/device/event/event.go
+++ b/rw_core/core/device/event/event.go
@@ -316,7 +316,7 @@
 }
 
 // SendDeviceDeletedEvent sends Device deleted Event to message bus
-func (q *Agent) SendDeviceDeletedEvent(ctx context.Context, device *voltha.Device, raisedTs int64) error {
+func (q *Agent) SendDeviceDeletedEvent(ctx context.Context, device, parentDevice *voltha.Device, raisedTs int64) error {
 
 	var onuId uint32
 	var ponId uint32
@@ -327,8 +327,12 @@
 		ponId = device.ProxyAddress.ChannelId
 		subCategory = voltha.EventSubCategory_ONU
 	}
+	var parentSerialNumber string
+	if parentDevice != nil {
+		parentSerialNumber = parentDevice.SerialNumber
+	}
 	de := ev.CreateDeviceDeletedEvent(device.SerialNumber, device.Id, device.ParentId,
-		onuId, ponId, device.Root)
+		onuId, ponId, device.Root, parentSerialNumber)
 
 	if err := q.eventProxy.SendDeviceEvent(ctx, de, voltha.EventCategory_EQUIPMENT,
 		subCategory, raisedTs); err != nil {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/eventif/events_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/eventif/events_proxy_if.go
index e0538b5..836df11 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/eventif/events_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/eventif/events_proxy_if.go
@@ -30,6 +30,8 @@
 		subCategory EventSubCategory, raisedTs int64, key string) error
 	SendKpiEvent(ctx context.Context, id string, deviceEvent *voltha.KpiEvent2, category EventCategory,
 		subCategory EventSubCategory, raisedTs int64) error
+	SendKpiEvent3(ctx context.Context, id string, deviceEvent *voltha.KpiEvent3, category EventCategory,
+		subCategory EventSubCategory, raisedTs int64) error
 	SendRPCEvent(ctx context.Context, id string, deviceEvent *voltha.RPCEvent, category EventCategory,
 		subCategory *EventSubCategory, raisedTs int64) error
 	EnableLivenessChannel(ctx context.Context, enable bool) chan bool
diff --git a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/events_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/events_proxy.go
index 7d08e51..d93a67b 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/events_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/events_proxy.go
@@ -180,6 +180,33 @@
 
 }
 
+// SendKpiEvent3 is to send kpi events with 64-bit counter support to voltha.event topic
+func (ep *EventProxy) SendKpiEvent3(ctx context.Context, id string, kpiEvent *voltha.KpiEvent3, category eventif.EventCategory, subCategory eventif.EventSubCategory, raisedTs int64) error {
+	if kpiEvent == nil {
+		logger.Error(ctx, "Received empty kpi event3")
+		return errors.New("KPI event3 nil")
+	}
+	var event voltha.Event
+	var de voltha.Event_KpiEvent3
+	var err error
+	de.KpiEvent3 = kpiEvent
+	if event.Header, err = ep.getEventHeader(id, category, &subCategory, voltha.EventType_KPI_EVENT3, raisedTs); err != nil {
+		return err
+	}
+	event.EventType = &de
+
+	if err := ep.sendEvent(ctx, &event, strconv.FormatInt(raisedTs, 10)); err != nil {
+		logger.Errorw(ctx, "Failed to send kpi event3 to KAFKA bus", log.Fields{"device-event": kpiEvent})
+		return err
+	}
+	logger.Debugw(ctx, "Successfully sent kpi event3 to KAFKA", log.Fields{"Id": event.Header.Id, "Category": event.Header.Category,
+		"SubCategory": event.Header.SubCategory, "Type": event.Header.Type, "TypeVersion": event.Header.TypeVersion,
+		"ReportedTs": event.Header.ReportedTs, "KpiEventName": "STATS_EVENT"})
+
+	return nil
+
+}
+
 func (ep *EventProxy) sendEvent(ctx context.Context, event *voltha.Event, key string) error {
 	logger.Debugw(ctx, "Send event to kafka", log.Fields{"event": event})
 	if err := ep.kafkaClient.Send(ctx, event, &ep.eventTopic, key); err != nil {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/utils.go b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/utils.go
index 83cc653..9c71b06 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/utils.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v7/pkg/events/utils.go
@@ -100,7 +100,7 @@
 
 // CreateDeviceDeletedEvent forms and returns a new DeviceState Event
 func CreateDeviceDeletedEvent(serialNumber string, deviceID string, parentID string,
-	onuId uint32, parentPonPort uint32, isRoot bool) *voltha.DeviceEvent {
+	onuId uint32, parentPonPort uint32, isRoot bool, parentSerialNumber string) *voltha.DeviceEvent {
 
 	context := make(map[string]string)
 	eventName := string(OltDeviceStateDeleted)
@@ -111,6 +111,7 @@
 		context[string(ContextPonID)] = strconv.FormatUint(uint64(parentPonPort), 10)
 		context[string(ContextOnuID)] = strconv.FormatUint(uint64(onuId), 10)
 		context[string(ContextParentID)] = parentID
+		context[string(ContextParentSerialNum)] = parentSerialNumber
 		eventName = string(OnuDeviceStateDeleted)
 
 	}
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/adapter_service/adapter_service_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/adapter_service/adapter_service_grpc.pb.go
index 7ee44d3..94ce63b 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/adapter_service/adapter_service_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/adapter_service/adapter_service_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/adapter_service.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services_grpc.pb.go
index 61f346d..1a9d098 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/core_services.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions_grpc.pb.go
index 94626cc..7a9245e 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions_grpc.pb.go
@@ -14,7 +14,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/extensions.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/health/health_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/health/health_grpc.pb.go
index d4b6f89..795139f 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/health/health_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/health/health_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/health.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/olt_inter_adapter_service/olt_inter_adapter_service_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/olt_inter_adapter_service/olt_inter_adapter_service_grpc.pb.go
index 472b828..43c3e63 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/olt_inter_adapter_service/olt_inter_adapter_service_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/olt_inter_adapter_service/olt_inter_adapter_service_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/olt_inter_adapter_service.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/onu_inter_adapter_service/onu_inter_adapter_service_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/onu_inter_adapter_service/onu_inter_adapter_service_grpc.pb.go
index 393563d..b93023b 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/onu_inter_adapter_service/onu_inter_adapter_service_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/onu_inter_adapter_service/onu_inter_adapter_service_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/onu_inter_adapter_service.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/openolt/openolt_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/openolt/openolt_grpc.pb.go
index c19691d..e036d88 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/openolt/openolt_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/openolt/openolt_grpc.pb.go
@@ -14,7 +14,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/openolt.proto
 
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/voltha/voltha_grpc.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/voltha/voltha_grpc.pb.go
index 3f944a6..22197ae 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/voltha/voltha_grpc.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/voltha/voltha_grpc.pb.go
@@ -5,7 +5,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.6.0
+// - protoc-gen-go-grpc v1.6.1
 // - protoc             v4.25.8
 // source: voltha_protos/voltha.proto
 
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 64497b8..3e76eb0 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -202,8 +202,8 @@
 # github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
 ## explicit
 github.com/munnerz/goautoneg
-# github.com/opencord/voltha-lib-go/v7 v7.8.1
-## explicit; go 1.25.3
+# github.com/opencord/voltha-lib-go/v7 v7.8.4
+## explicit; go 1.25.5
 github.com/opencord/voltha-lib-go/v7/pkg/adapters/common
 github.com/opencord/voltha-lib-go/v7/pkg/config
 github.com/opencord/voltha-lib-go/v7/pkg/db
@@ -218,8 +218,8 @@
 github.com/opencord/voltha-lib-go/v7/pkg/mocks/kafka
 github.com/opencord/voltha-lib-go/v7/pkg/probe
 github.com/opencord/voltha-lib-go/v7/pkg/version
-# github.com/opencord/voltha-protos/v5 v5.7.2
-## explicit; go 1.25.3
+# github.com/opencord/voltha-protos/v5 v5.7.3
+## explicit; go 1.25.5
 github.com/opencord/voltha-protos/v5/go/adapter_service
 github.com/opencord/voltha-protos/v5/go/common
 github.com/opencord/voltha-protos/v5/go/core