diff --git a/VERSION b/VERSION
index cff2619..c47e8b5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.6.9
+3.6.10
diff --git a/go.mod b/go.mod
index 2e88ada..18cc57d 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@
 	github.com/google/uuid v1.3.0
 	github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
 	github.com/opencord/voltha-lib-go/v7 v7.6.6
-	github.com/opencord/voltha-protos/v5 v5.6.2
+	github.com/opencord/voltha-protos/v5 v5.6.3
 	github.com/opentracing/opentracing-go v1.2.0
 	github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
 	github.com/stretchr/testify v1.7.0
diff --git a/go.sum b/go.sum
index c4ecfda..ec161a8 100644
--- a/go.sum
+++ b/go.sum
@@ -208,8 +208,9 @@
 github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 github.com/opencord/voltha-lib-go/v7 v7.6.6 h1:TrLo0nykH2MXPngKzTtmL9/u2gjxs98m1/F0m3FWY2U=
 github.com/opencord/voltha-lib-go/v7 v7.6.6/go.mod h1:uGmArLg+nSZd49YXv7ZaD48FA5c+siEFxnyRuldwv6Y=
-github.com/opencord/voltha-protos/v5 v5.6.2 h1:evT3MYShV8uzLQAfF+qXS6nbdKRNewxifDK49XzqtVM=
 github.com/opencord/voltha-protos/v5 v5.6.2/go.mod h1:E/Jn3DNu8VGRBCgIWSSg4sWtTBiNuQGSFvHyNH1XlyM=
+github.com/opencord/voltha-protos/v5 v5.6.3 h1:q0WxcH5JGDBKX4xDLZhxif4Hlg+oEXWpvdChay8MMRo=
+github.com/opencord/voltha-protos/v5 v5.6.3/go.mod h1:E/Jn3DNu8VGRBCgIWSSg4sWtTBiNuQGSFvHyNH1XlyM=
 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/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index 649eb3f..e6292a2 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -1010,13 +1010,20 @@
 		_ = agent.deviceMgr.Agent.SendDeviceStateChangeEvent(ctx, prevDevice.OperStatus, prevDevice.ConnectStatus, prevDevice.AdminState, device, time.Now().Unix())
 	}
 	deviceTransientState := agent.getTransientState()
-
+	prevDeviceTransientState := deviceTransientState
+	// Update the transient state to olt reboot in progress if the device is root and oper status is rebooted
+	if device.Root && device.OperStatus == common.OperStatus_REBOOTED && prevDevice.OperStatus != common.OperStatus_REBOOTED {
+		if err := agent.updateTransientState(ctx, core.DeviceTransientState_REBOOT_IN_PROGRESS); err != nil {
+			return err
+		}
+		deviceTransientState = core.DeviceTransientState_REBOOT_IN_PROGRESS
+	}
 	// release lock before processing transition
 	agent.requestQueue.RequestComplete()
 	subCtx := coreutils.WithSpanAndRPCMetadataFromContext(ctx)
 
 	if err := agent.deviceMgr.stateTransitions.ProcessTransition(subCtx,
-		device, prevDevice, deviceTransientState, deviceTransientState); err != nil {
+		device, prevDevice, deviceTransientState, prevDeviceTransientState); err != nil {
 		logger.Errorw(ctx, "failed-process-transition", log.Fields{"device-id": device.Id, "previous-admin-state": prevDevice.AdminState, "current-admin-state": device.AdminState})
 		// Sending RPC EVENT here
 		rpce := agent.deviceMgr.NewRPCEvent(ctx, agent.deviceID, err.Error(), nil)
@@ -1387,6 +1394,7 @@
 	case core.DeviceTransientState_DELETING_FROM_ADAPTER:
 		updatedState = core.DeviceTransientState_DELETE_FAILED
 	case core.DeviceTransientState_DELETE_FAILED:
+	case core.DeviceTransientState_REBOOT_IN_PROGRESS:
 		// do not change state
 		return nil
 	default:
@@ -1486,6 +1494,7 @@
 
 func (agent *Agent) StartReconcileWithRetry(ctx context.Context) {
 
+	var reconcileErr error
 	state := agent.getTransientState()
 	logger.Debugw(ctx, "starting-reconcile", log.Fields{"device-id": agent.deviceID, "state": state})
 
@@ -1569,17 +1578,32 @@
 		// Release lock before sending request to adapter
 		agent.requestQueue.RequestComplete()
 
-		// Send a reconcile request to the adapter.
-		err := agent.sendReconcileRequestToAdapter(ctx, device)
+		if state != core.DeviceTransientState_REBOOT_IN_PROGRESS {
+			if state != core.DeviceTransientState_RECONCILE_IN_PROGRESS {
+				// set transient state to RECONCILE IN PROGRESS
+				if err := agent.UpdateTransientStateToReconcile(ctx); err != nil {
+					logger.Errorw(ctx, "setting-transient-state-failed", log.Fields{"error": err})
+					agent.stopReconcilingMutex.Lock()
+					if agent.stopReconciling != nil {
+						agent.stopReconciling = nil
+					}
+					desc = "Failed-to-update-transient-state"
+					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+					agent.stopReconcilingMutex.Unlock()
+					break retry
+				}
+			}
+			reconcileErr = agent.sendReconcileRequestToAdapter(ctx, device)
+		}
 
-		if errors.Is(err, errContextExpired) || errors.Is(err, errReconcileAborted) {
-			logger.Errorw(ctx, "reconcile-aborted", log.Fields{"error": err})
+		if errors.Is(reconcileErr, errContextExpired) || errors.Is(reconcileErr, errReconcileAborted) {
+			logger.Errorw(ctx, "reconcile-aborted", log.Fields{"error": reconcileErr})
 			requestStatus = &common.OperationResp{Code: common.OperationResp_OperationReturnCode(common.OperStatus_FAILED)}
 			desc = "aborted"
-			agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+			agent.logDeviceUpdate(ctx, nil, nil, requestStatus, reconcileErr, desc)
 			break retry
 		}
-		st, ok := status.FromError(err)
+		st, ok := status.FromError(reconcileErr)
 		if ok {
 			// Decode the error code and error message
 			errorCode := st.Code()
@@ -1596,7 +1620,7 @@
 					 Either of the cases we retry for retryinterval and assume that the device is already reconciled in the new adapter.
 			*/
 			if errorCode == codes.AlreadyExists {
-				logger.Warnw(ctx, "device already reconciled", log.Fields{"error": err})
+				logger.Warnw(ctx, "device already reconciled", log.Fields{"error": reconcileErr})
 				// Reset the backoff current interval when we receive the device reconciled error for the first time
 				// so that we can retry for one full backoff cycle and then break
 				if !isDeviceReconciledErr {
@@ -1607,17 +1631,19 @@
 				isDeviceReconciledErr = false
 			}
 		}
-		if err != nil {
-			agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+		// If the reconcile request fails or the device transient state is in OLT reboot in progress state, retry the reconcile
+		if reconcileErr != nil || state == core.DeviceTransientState_REBOOT_IN_PROGRESS {
+			agent.logDeviceUpdate(ctx, nil, nil, requestStatus, reconcileErr, desc)
 			select {
 			case <-backoffTimer.C:
 				// backoffTimer expired continue
 				// Take lock back before retrying
-				if err = agent.requestQueue.WaitForGreenLight(ctx); err != nil {
+				if reconcileErr = agent.requestQueue.WaitForGreenLight(ctx); reconcileErr != nil {
 					desc = "failed-to-acquire-lock"
-					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, reconcileErr, desc)
 					break retry
 				}
+				state = agent.getTransientState()
 				continue
 
 			case _, ok := (<-agent.exitChannel):
@@ -1625,7 +1651,7 @@
 				if !ok {
 					logger.Warnw(ctx, "device agent stopped, aborting reconcile", log.Fields{"device-id": agent.deviceID})
 					desc = "device-agent-stopped"
-					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, reconcileErr, desc)
 					break retry
 				}
 			}
@@ -1633,7 +1659,7 @@
 		// Success
 		requestStatus = &common.OperationResp{Code: common.OperationResp_OPERATION_SUCCESS}
 		desc = "adapter-response"
-		agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
+		agent.logDeviceUpdate(ctx, nil, nil, requestStatus, reconcileErr, desc)
 		break retry
 	}
 
@@ -1659,13 +1685,6 @@
 
 func (agent *Agent) ReconcileDevice(ctx context.Context) {
 
-	// set transient state to RECONCILE IN PROGRESS
-	err := agent.UpdateTransientStateToReconcile(ctx)
-	if err != nil {
-		logger.Errorw(ctx, "check-and-update-transient-state-failed", log.Fields{"error": err})
-		return
-	}
-
 	agent.StartReconcileWithRetry(ctx)
 }
 
diff --git a/rw_core/core/device/manager.go b/rw_core/core/device/manager.go
index bf68509..1a2e5f6 100755
--- a/rw_core/core/device/manager.go
+++ b/rw_core/core/device/manager.go
@@ -401,11 +401,6 @@
 						"device-type":        deviceAgent.deviceType,
 						"adapter-type":       adapter.Type,
 					})
-				// set transient state to RECONCILE IN PROGRESS
-				err = deviceAgent.UpdateTransientStateToReconcile(ctx)
-				if err != nil {
-					logger.Errorw(ctx, "setting-transient-state-failed", log.Fields{"error": err})
-				}
 			} else {
 				logger.Errorw(ctx, "failed-aborting-exisiting-processing", log.Fields{"error": err})
 			}
diff --git a/rw_core/core/device/manager_state_callback.go b/rw_core/core/device/manager_state_callback.go
index f4f6754..62f79e6 100644
--- a/rw_core/core/device/manager_state_callback.go
+++ b/rw_core/core/device/manager_state_callback.go
@@ -211,3 +211,16 @@
 	return nil
 
 }
+
+// ClearTransientState updates the parent device transient state to none
+func (dMgr *Manager) ClearDeviceTransientState(ctx context.Context, parentDevice *voltha.Device) error {
+	logger.Debugw(ctx, "clear-device-transient-state", log.Fields{"parent-device-id": parentDevice.Id})
+	if agent := dMgr.getDeviceAgent(ctx, parentDevice.Id); agent != nil {
+		// Update the transient state to none if the device is root and oper status is active and transient state is olt reboot in progress
+		if err := agent.updateTransientState(ctx, core.DeviceTransientState_NONE); err != nil {
+			return err
+		}
+		return nil
+	}
+	return status.Errorf(codes.NotFound, "%s", parentDevice.Id)
+}
diff --git a/rw_core/core/device/state/transitions.go b/rw_core/core/device/state/transitions.go
index ebc720c..8b5da90 100644
--- a/rw_core/core/device/state/transitions.go
+++ b/rw_core/core/device/state/transitions.go
@@ -104,6 +104,7 @@
 	DeleteAllLogicalMeters(ctx context.Context, curr *voltha.Device) error
 	DeleteAllDeviceFlows(ctx context.Context, curr *voltha.Device) error
 	ReconcilingCleanup(ctx context.Context, curr *voltha.Device) error
+	ClearDeviceTransientState(ctx context.Context, curr *voltha.Device) error
 }
 
 // NewTransitionMap creates transition map
@@ -182,8 +183,8 @@
 		transition{
 			deviceType:    parent,
 			previousState: deviceState{Admin: voltha.AdminState_ENABLED, Connection: voltha.ConnectStatus_UNREACHABLE, Operational: voltha.OperStatus_UNKNOWN, Transient: core.DeviceTransientState_NONE},
-			currentState:  deviceState{Admin: voltha.AdminState_ENABLED, Connection: voltha.ConnectStatus_REACHABLE, Operational: voltha.OperStatus_REBOOTED, Transient: core.DeviceTransientState_NONE},
-			handlers:      []transitionHandler{dMgr.DeleteAllLogicalPorts, dMgr.DeleteAllChildDevices, dMgr.DeleteAllLogicalMeters, dMgr.DeleteLogicalDevice, dMgr.DeleteAllDeviceFlows}})
+			currentState:  deviceState{Admin: voltha.AdminState_ENABLED, Connection: voltha.ConnectStatus_REACHABLE, Operational: voltha.OperStatus_REBOOTED, Transient: core.DeviceTransientState_REBOOT_IN_PROGRESS},
+			handlers:      []transitionHandler{dMgr.DeleteAllLogicalPorts, dMgr.DeleteAllChildDevices, dMgr.DeleteAllLogicalMeters, dMgr.DeleteLogicalDevice, dMgr.DeleteAllDeviceFlows, dMgr.ClearDeviceTransientState}})
 	transitionMap.transitions = append(transitionMap.transitions,
 		transition{
 			deviceType:    parent,
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/core/core.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/core/core.pb.go
index e01c94e..dab601d 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/core/core.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/core/core.pb.go
@@ -39,6 +39,8 @@
 	DeviceTransientState_DELETE_FAILED DeviceTransientState_Types = 5
 	// State to represent that reconcile is in progress
 	DeviceTransientState_RECONCILE_IN_PROGRESS DeviceTransientState_Types = 6
+	// State to represent that reboot is in progress
+	DeviceTransientState_REBOOT_IN_PROGRESS DeviceTransientState_Types = 7
 )
 
 var DeviceTransientState_Types_name = map[int32]string{
@@ -49,6 +51,7 @@
 	4: "DELETING_POST_ADAPTER_RESPONSE",
 	5: "DELETE_FAILED",
 	6: "RECONCILE_IN_PROGRESS",
+	7: "REBOOT_IN_PROGRESS",
 }
 
 var DeviceTransientState_Types_value = map[string]int32{
@@ -59,6 +62,7 @@
 	"DELETING_POST_ADAPTER_RESPONSE": 4,
 	"DELETE_FAILED":                  5,
 	"RECONCILE_IN_PROGRESS":          6,
+	"REBOOT_IN_PROGRESS":             7,
 }
 
 func (x DeviceTransientState_Types) String() string {
@@ -116,23 +120,24 @@
 func init() { proto.RegisterFile("voltha_protos/core.proto", fileDescriptor_39634f15fb8a505e) }
 
 var fileDescriptor_39634f15fb8a505e = []byte{
-	// 286 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xdf, 0x4a, 0xc3, 0x30,
-	0x18, 0xc5, 0xad, 0xfb, 0xa3, 0x04, 0x9c, 0x31, 0x28, 0xcc, 0x1b, 0x19, 0xbb, 0xf2, 0x42, 0x53,
-	0x50, 0x7c, 0x80, 0xba, 0x7e, 0x9b, 0x85, 0x99, 0x94, 0xa4, 0x37, 0x7a, 0x13, 0xba, 0x1a, 0xba,
-	0x82, 0x36, 0xa5, 0x8d, 0x05, 0x9f, 0xc5, 0x87, 0x55, 0x9a, 0x59, 0x41, 0xf0, 0xee, 0xe4, 0x77,
-	0x4e, 0x0e, 0x7c, 0x07, 0x4d, 0x5b, 0xf3, 0x6a, 0xb7, 0xa9, 0xaa, 0x6a, 0x63, 0x4d, 0xe3, 0x67,
-	0xa6, 0xd6, 0xd4, 0x69, 0x32, 0xec, 0xf4, 0xfc, 0xcb, 0x43, 0xa7, 0xa1, 0x6e, 0x8b, 0x4c, 0x27,
-	0x75, 0x5a, 0x36, 0x85, 0x2e, 0xad, 0xb4, 0xa9, 0xd5, 0x24, 0x42, 0xc7, 0xb6, 0x27, 0xaa, 0xe9,
-	0xd0, 0xd4, 0x9b, 0x79, 0x97, 0x93, 0x9b, 0x19, 0x75, 0x25, 0xff, 0x7d, 0xa2, 0xc9, 0x47, 0xa5,
-	0x1b, 0x31, 0xb1, 0x7f, 0xe8, 0xfc, 0xd3, 0x43, 0x23, 0xe7, 0x90, 0x43, 0x34, 0x64, 0x9c, 0x01,
-	0xde, 0x23, 0x07, 0x68, 0x10, 0xb0, 0x27, 0xec, 0x11, 0x82, 0x26, 0x4b, 0x2e, 0x16, 0xa0, 0x42,
-	0x58, 0x43, 0x12, 0xb1, 0x15, 0xde, 0x27, 0xe7, 0xe8, 0xac, 0x7f, 0xa9, 0xa5, 0xe0, 0x8f, 0x2a,
-	0x08, 0x83, 0x38, 0x01, 0x81, 0x07, 0x64, 0x8e, 0x2e, 0x7e, 0xad, 0x98, 0xcb, 0xa4, 0xb7, 0x94,
-	0x00, 0x19, 0x73, 0x26, 0x01, 0x0f, 0xc9, 0x09, 0x3a, 0x72, 0x19, 0x50, 0xcb, 0x20, 0x5a, 0x43,
-	0x88, 0x47, 0x5d, 0xa3, 0x80, 0x05, 0x67, 0x8b, 0x68, 0x0d, 0x2a, 0x62, 0x2a, 0x16, 0x7c, 0x25,
-	0x40, 0x4a, 0x3c, 0xbe, 0x7f, 0x40, 0x53, 0x53, 0xe7, 0xd4, 0x54, 0xba, 0xcc, 0x4c, 0xfd, 0x42,
-	0x77, 0x83, 0xb9, 0x23, 0x9f, 0xaf, 0xf2, 0xc2, 0x6e, 0xdf, 0x37, 0x34, 0x33, 0x6f, 0x7e, 0x1f,
-	0xf0, 0x77, 0x81, 0xeb, 0x9f, 0x45, 0xdb, 0x3b, 0x3f, 0x37, 0x6e, 0xd7, 0xcd, 0xd8, 0xa1, 0xdb,
-	0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x32, 0x24, 0x57, 0x74, 0x01, 0x00, 0x00,
+	// 299 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xcf, 0x4a, 0x33, 0x31,
+	0x14, 0xc5, 0xbf, 0xe9, 0xdf, 0x8f, 0x0b, 0xd6, 0x18, 0x54, 0xea, 0x46, 0x4a, 0x57, 0x2e, 0x74,
+	0x06, 0x14, 0x1f, 0x60, 0xda, 0xb9, 0xad, 0x03, 0x35, 0x19, 0x92, 0x6c, 0x74, 0x13, 0xda, 0x31,
+	0xb4, 0x05, 0x6d, 0xca, 0x4c, 0x2c, 0xf8, 0x24, 0x3e, 0x88, 0x2f, 0x28, 0x93, 0x3a, 0x42, 0xc1,
+	0xdd, 0xc9, 0xef, 0x9c, 0x1c, 0xb8, 0x07, 0xfa, 0x3b, 0xfb, 0xea, 0x56, 0x73, 0xbd, 0x2d, 0xac,
+	0xb3, 0x65, 0x94, 0xdb, 0xc2, 0x84, 0x5e, 0xd3, 0x56, 0xa5, 0x87, 0x9f, 0x0d, 0x38, 0x4d, 0xcc,
+	0x6e, 0x9d, 0x1b, 0x55, 0xcc, 0x37, 0xe5, 0xda, 0x6c, 0x9c, 0x74, 0x73, 0x67, 0x68, 0x0a, 0xc7,
+	0xae, 0x26, 0xba, 0xac, 0x50, 0x3f, 0x18, 0x04, 0x57, 0xbd, 0xdb, 0x41, 0xe8, 0x4b, 0xfe, 0xfa,
+	0x14, 0xaa, 0x8f, 0xad, 0x29, 0x45, 0xcf, 0x1d, 0xd0, 0xe1, 0x57, 0x00, 0x6d, 0xef, 0xd0, 0xff,
+	0xd0, 0x62, 0x9c, 0x21, 0xf9, 0x47, 0xbb, 0xd0, 0x8c, 0xd9, 0x13, 0x09, 0x28, 0x85, 0xde, 0x84,
+	0x8b, 0x31, 0xea, 0x04, 0x67, 0xa8, 0x52, 0x36, 0x25, 0x0d, 0x7a, 0x01, 0x67, 0xf5, 0x4b, 0x4f,
+	0x04, 0x7f, 0xd4, 0x71, 0x12, 0x67, 0x0a, 0x05, 0x69, 0xd2, 0x21, 0x5c, 0xfe, 0x5a, 0x19, 0x97,
+	0xaa, 0xb6, 0xb4, 0x40, 0x99, 0x71, 0x26, 0x91, 0xb4, 0xe8, 0x09, 0x1c, 0xf9, 0x0c, 0xea, 0x49,
+	0x9c, 0xce, 0x30, 0x21, 0xed, 0xaa, 0x51, 0xe0, 0x98, 0xb3, 0x71, 0x3a, 0x43, 0x9d, 0x32, 0x9d,
+	0x09, 0x3e, 0x15, 0x28, 0x25, 0xe9, 0xd0, 0x73, 0xa0, 0x02, 0x47, 0x9c, 0xab, 0x03, 0xde, 0x1d,
+	0x3d, 0x40, 0xdf, 0x16, 0xcb, 0xd0, 0x6e, 0xcd, 0x26, 0xb7, 0xc5, 0x4b, 0xb8, 0x1f, 0xd2, 0x1f,
+	0xff, 0x7c, 0xbd, 0x5c, 0xbb, 0xd5, 0xfb, 0x22, 0xcc, 0xed, 0x5b, 0x54, 0x07, 0xa2, 0x7d, 0xe0,
+	0xe6, 0x67, 0xe9, 0xdd, 0x7d, 0xb4, 0xb4, 0x7e, 0xef, 0x45, 0xc7, 0xa3, 0xbb, 0xef, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xfc, 0xd7, 0xdf, 0xa2, 0x8c, 0x01, 0x00, 0x00,
 }
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 65132f5..a48dfe5 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -286,7 +286,7 @@
 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.6.2
+# github.com/opencord/voltha-protos/v5 v5.6.3
 ## explicit; go 1.16
 github.com/opencord/voltha-protos/v5/go/adapter_service
 github.com/opencord/voltha-protos/v5/go/common
