diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services.pb.go
index 41ab077..5816ad2 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/core_service/core_services.pb.go
@@ -32,46 +32,46 @@
 func init() { proto.RegisterFile("voltha_protos/core_services.proto", fileDescriptor_979c43850713f141) }
 
 var fileDescriptor_979c43850713f141 = []byte{
-	// 612 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x6f, 0xd3, 0x30,
-	0x14, 0xbf, 0x21, 0x78, 0xeb, 0xd6, 0xcd, 0xfb, 0x00, 0x65, 0x1a, 0x6c, 0x27, 0x2e, 0xe0, 0x48,
-	0x6c, 0x0c, 0x09, 0x24, 0x50, 0xd7, 0x40, 0x57, 0x69, 0x43, 0x55, 0x2b, 0x40, 0xe2, 0x32, 0xb9,
-	0xc9, 0x5b, 0x12, 0x2d, 0x8d, 0x2b, 0xdb, 0x2d, 0xf4, 0x8f, 0x47, 0x42, 0x89, 0xdd, 0xca, 0xce,
-	0x6a, 0xb1, 0x03, 0xd7, 0xf7, 0x7e, 0x1f, 0xef, 0xc3, 0x4f, 0x86, 0x93, 0x39, 0x2f, 0x54, 0xc6,
-	0x6e, 0xa6, 0x82, 0x2b, 0x2e, 0xc3, 0x98, 0x0b, 0xbc, 0x91, 0x28, 0xe6, 0x79, 0x8c, 0x92, 0xd6,
-	0x41, 0xd2, 0xb2, 0x83, 0xc1, 0x61, 0xca, 0x79, 0x5a, 0x60, 0x58, 0xe7, 0xc6, 0xb3, 0xdb, 0x10,
-	0x27, 0x53, 0xb5, 0xd0, 0xd0, 0xe0, 0x78, 0x8d, 0x1a, 0x4b, 0xd8, 0x54, 0xa1, 0x30, 0x88, 0xa0,
-	0x89, 0x98, 0x4c, 0x78, 0xb9, 0x3e, 0x97, 0x60, 0x65, 0xb8, 0x3e, 0x97, 0x21, 0x2b, 0x54, 0xa6,
-	0x73, 0x6f, 0xfe, 0x6c, 0xc0, 0x46, 0x97, 0x0b, 0x1c, 0xe9, 0x12, 0xc9, 0x27, 0x68, 0xf7, 0x50,
-	0x5d, 0xd6, 0x90, 0x91, 0x62, 0x6a, 0x26, 0xc9, 0x01, 0xd5, 0x65, 0xd3, 0x65, 0xd9, 0xf4, 0x73,
-	0x55, 0x76, 0xb0, 0x47, 0x8d, 0x92, 0x83, 0xbe, 0x82, 0xf6, 0x10, 0xd3, 0x5c, 0x2a, 0x14, 0x1d,
-	0x5d, 0x3d, 0x39, 0xa1, 0x4e, 0x33, 0x26, 0xac, 0x51, 0x82, 0xa9, 0x9c, 0x97, 0x81, 0xc7, 0x83,
-	0x9c, 0x43, 0x2b, 0xaa, 0x5b, 0xf9, 0x36, 0x4d, 0x98, 0x42, 0xb2, 0x45, 0x4d, 0x67, 0x3a, 0xea,
-	0xe5, 0x9d, 0xc2, 0xc6, 0x80, 0x0b, 0xd5, 0x15, 0xc8, 0x14, 0x26, 0xa4, 0xb5, 0xa4, 0x55, 0x41,
-	0x2f, 0xa9, 0x0f, 0xdb, 0x55, 0x5e, 0x56, 0x9d, 0x2c, 0x0d, 0x8f, 0xdc, 0xda, 0xab, 0x7c, 0x9d,
-	0xfe, 0x92, 0x17, 0x0a, 0x85, 0x57, 0xea, 0x0c, 0xb6, 0x22, 0x2c, 0x50, 0x61, 0xa7, 0x28, 0x6a,
-	0x4d, 0x02, 0xd4, 0xec, 0xab, 0x1f, 0x79, 0x59, 0xef, 0x60, 0xb3, 0x87, 0x4a, 0xb7, 0x56, 0xb1,
-	0xc8, 0xb3, 0xfb, 0xee, 0xc6, 0xd8, 0xe9, 0x88, 0xbc, 0x82, 0xf6, 0x55, 0x2e, 0x2d, 0xa6, 0xeb,
-	0xb7, 0x69, 0x83, 0xab, 0x15, 0xed, 0x68, 0xa4, 0xdd, 0xe8, 0x0b, 0xd7, 0xca, 0x02, 0xfc, 0xa3,
-	0xd5, 0x0e, 0xec, 0x19, 0xdf, 0xeb, 0x2e, 0x2f, 0x6f, 0xf3, 0xd4, 0x08, 0xee, 0xac, 0x4c, 0x27,
-	0x3a, 0x2e, 0xbd, 0x12, 0x11, 0xec, 0x76, 0xb3, 0xbc, 0x48, 0xb4, 0x4e, 0x84, 0x0a, 0xe3, 0x6a,
-	0x6b, 0x47, 0xeb, 0x4a, 0x8a, 0x72, 0x19, 0xf3, 0x39, 0x8a, 0x45, 0xd0, 0x78, 0x0b, 0xe4, 0x1c,
-	0xb6, 0x2d, 0x15, 0x79, 0xc5, 0xa5, 0x7a, 0xd0, 0xd4, 0xdf, 0xc3, 0x9e, 0xcd, 0x5b, 0xd9, 0x3f,
-	0x84, 0xfb, 0x12, 0x9e, 0xac, 0x36, 0xe6, 0x10, 0x9a, 0xc5, 0x75, 0x60, 0xab, 0x87, 0xca, 0xf2,
-	0x69, 0x0e, 0xdc, 0x4a, 0x99, 0x81, 0x37, 0x25, 0x68, 0x7d, 0x9a, 0x76, 0xa9, 0x8e, 0x63, 0xdb,
-	0x85, 0x4b, 0xf2, 0x11, 0x5a, 0x23, 0x2c, 0x93, 0x01, 0x8b, 0xef, 0x50, 0xf5, 0x4b, 0x72, 0xd0,
-	0x78, 0x4c, 0x26, 0xee, 0xed, 0xed, 0x12, 0x88, 0x96, 0x1a, 0x22, 0x93, 0xbc, 0x34, 0x6b, 0x0d,
-	0xd6, 0x2d, 0x45, 0x23, 0xbc, 0x4a, 0x17, 0xd0, 0x5e, 0x1d, 0x8e, 0x91, 0x79, 0xea, 0xb9, 0x2b,
-	0xaf, 0xc6, 0x07, 0xd8, 0x1f, 0x62, 0xcc, 0xcb, 0x38, 0x2f, 0xd0, 0x3b, 0x03, 0x1f, 0xf9, 0x1a,
-	0x9e, 0xbb, 0xa3, 0xfb, 0x91, 0xab, 0x6c, 0x20, 0xf8, 0xef, 0x45, 0x27, 0x49, 0x04, 0x4a, 0x49,
-	0x0e, 0xdd, 0xe9, 0x51, 0x3b, 0x79, 0x6f, 0x13, 0xa7, 0xf0, 0xb8, 0x87, 0x4a, 0x1f, 0x93, 0xff,
-	0x44, 0x1b, 0x57, 0xf7, 0xd5, 0x3c, 0x72, 0x81, 0xe5, 0x7f, 0xb9, 0xbb, 0x08, 0x76, 0xb5, 0x44,
-	0x7f, 0xc2, 0x52, 0x8c, 0xf8, 0xaf, 0xb2, 0xe0, 0x2c, 0x21, 0xfb, 0x4b, 0x57, 0x27, 0xec, 0x53,
-	0xb9, 0xb8, 0x83, 0x63, 0x2e, 0x52, 0xca, 0xa7, 0x58, 0xc6, 0x5c, 0x24, 0x54, 0x7f, 0x15, 0xd4,
-	0xfe, 0xb6, 0x2e, 0x76, 0xbe, 0xd7, 0x41, 0xeb, 0x9b, 0xf8, 0x79, 0x96, 0xe6, 0x2a, 0x9b, 0x8d,
-	0xab, 0xd1, 0x87, 0x4b, 0x6e, 0xa8, 0xb9, 0xaf, 0xcd, 0x37, 0x33, 0x7f, 0x1b, 0xa6, 0xdc, 0xf9,
-	0x14, 0xc7, 0x8f, 0xea, 0xd4, 0xe9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x1f, 0x15, 0x0e,
-	0x39, 0x07, 0x00, 0x00,
+	// 619 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdf, 0x4f, 0x14, 0x31,
+	0x10, 0x7e, 0x33, 0x3a, 0x1c, 0x1c, 0x94, 0x1f, 0x9a, 0x25, 0x28, 0x3c, 0xf9, 0xa2, 0xdd, 0x44,
+	0x10, 0x13, 0x49, 0x4c, 0x8e, 0x5b, 0x3d, 0x2e, 0x01, 0x43, 0x20, 0x6a, 0xe2, 0x0b, 0x29, 0xbb,
+	0xc3, 0xee, 0x86, 0xbd, 0xf6, 0xd2, 0x96, 0x53, 0xfe, 0x74, 0xdf, 0xcc, 0x6e, 0xbb, 0x97, 0x76,
+	0xb9, 0x46, 0x1e, 0x7c, 0x9d, 0x99, 0xef, 0xfb, 0x66, 0xbe, 0xe9, 0xa4, 0xb0, 0x37, 0x13, 0x95,
+	0x2e, 0xd8, 0xd5, 0x54, 0x0a, 0x2d, 0x54, 0x9c, 0x0a, 0x89, 0x57, 0x0a, 0xe5, 0xac, 0x4c, 0x51,
+	0xd1, 0x26, 0x48, 0x7a, 0x6e, 0x30, 0xda, 0xce, 0x85, 0xc8, 0x2b, 0x8c, 0x9b, 0xdc, 0xf5, 0xdd,
+	0x4d, 0x8c, 0x93, 0xa9, 0xbe, 0x37, 0xa5, 0xd1, 0xee, 0x02, 0x36, 0x96, 0xb1, 0xa9, 0x46, 0x69,
+	0x2b, 0xa2, 0x6e, 0xc5, 0x64, 0x22, 0xf8, 0xe2, 0x5c, 0x86, 0xb5, 0xe0, 0xe2, 0x5c, 0x81, 0xac,
+	0xd2, 0x85, 0xc9, 0xbd, 0xfb, 0xb3, 0x04, 0x4b, 0x43, 0x21, 0xf1, 0xd2, 0xb4, 0x48, 0x8e, 0xa0,
+	0x3f, 0x42, 0x7d, 0xd2, 0x94, 0x5c, 0x6a, 0xa6, 0xef, 0x14, 0x21, 0xd4, 0x2a, 0x0d, 0x05, 0xe7,
+	0x98, 0xea, 0x52, 0xf0, 0x68, 0x83, 0x5a, 0x16, 0xaf, 0xf2, 0x14, 0xfa, 0x17, 0x98, 0x97, 0x4a,
+	0xa3, 0x1c, 0x98, 0xce, 0xc9, 0x1e, 0xf5, 0x06, 0xb1, 0x61, 0x53, 0x25, 0x59, 0xc3, 0xb5, 0x45,
+	0x8d, 0x2d, 0xb4, 0xb5, 0x85, 0x7e, 0xae, 0x6d, 0x21, 0x87, 0xd0, 0x4b, 0x9a, 0x31, 0xbe, 0x4d,
+	0x33, 0xa6, 0x91, 0xac, 0x50, 0x3b, 0x95, 0x89, 0x06, 0x71, 0xfb, 0xb0, 0x74, 0x2e, 0xa4, 0x1e,
+	0x4a, 0x64, 0x1a, 0x33, 0xd2, 0x6b, 0x61, 0x75, 0x30, 0x08, 0x1a, 0xc3, 0x6a, 0x9d, 0x57, 0xf5,
+	0x24, 0xad, 0xe0, 0x8e, 0xdf, 0x7b, 0x9d, 0x6f, 0xd2, 0x5f, 0xca, 0x4a, 0xa3, 0x0c, 0x52, 0x1d,
+	0xc0, 0x4a, 0x82, 0x15, 0x6a, 0x1c, 0x54, 0x55, 0xc3, 0x49, 0xa0, 0x75, 0x70, 0x9c, 0x04, 0x51,
+	0x1f, 0x60, 0x79, 0x84, 0xda, 0x8c, 0x56, 0xa3, 0xc8, 0x8b, 0x87, 0xea, 0x56, 0xd8, 0x9b, 0x88,
+	0xbc, 0x81, 0xfe, 0x69, 0xa9, 0x1c, 0xa4, 0xaf, 0xb7, 0xec, 0x16, 0xd7, 0x2b, 0x5a, 0x33, 0x95,
+	0xee, 0xa0, 0xaf, 0x7c, 0x29, 0xa7, 0xe0, 0x1f, 0xa3, 0x0e, 0x60, 0xc3, 0xea, 0x9e, 0x0d, 0x05,
+	0xbf, 0x29, 0x73, 0x4b, 0xb8, 0x36, 0x17, 0x9d, 0x98, 0xb8, 0x0a, 0x52, 0x24, 0xb0, 0x3e, 0x2c,
+	0xca, 0x2a, 0x33, 0x3c, 0x09, 0x6a, 0x4c, 0xeb, 0xad, 0xed, 0x2c, 0x6a, 0x29, 0x29, 0x55, 0x2a,
+	0x66, 0x28, 0xef, 0xa3, 0xce, 0x5b, 0x20, 0x87, 0xb0, 0xea, 0xb0, 0xa8, 0x53, 0xa1, 0xf4, 0xa3,
+	0x5c, 0xff, 0x08, 0x1b, 0x2e, 0x6e, 0x2e, 0xff, 0x18, 0xec, 0x6b, 0x78, 0x36, 0xdf, 0x98, 0x07,
+	0xe8, 0x36, 0x37, 0x80, 0x95, 0x11, 0x6a, 0x47, 0xa7, 0x6b, 0xb8, 0x93, 0xb2, 0x86, 0x77, 0x29,
+	0x68, 0x73, 0x96, 0x6e, 0xab, 0x9e, 0x62, 0xdf, 0x2f, 0x57, 0xe4, 0x13, 0xf4, 0x2e, 0x91, 0x67,
+	0xe7, 0x2c, 0xbd, 0x45, 0x3d, 0xe6, 0x64, 0xab, 0xf3, 0x98, 0x6c, 0x3c, 0x38, 0xdb, 0x09, 0x10,
+	0x43, 0x75, 0x81, 0x4c, 0x09, 0x6e, 0xd7, 0x1a, 0x2d, 0x5a, 0x8a, 0xa9, 0x08, 0x32, 0x1d, 0x43,
+	0x7f, 0x7e, 0x38, 0x96, 0xe6, 0x79, 0xe0, 0xae, 0x82, 0x1c, 0x47, 0xb0, 0x79, 0x81, 0xa9, 0xe0,
+	0x69, 0x59, 0x61, 0xd0, 0x83, 0x10, 0xf8, 0x0c, 0x5e, 0xfa, 0xd6, 0xfd, 0x28, 0x75, 0x71, 0x2e,
+	0xc5, 0xef, 0xfb, 0x41, 0x96, 0x49, 0x54, 0x8a, 0x6c, 0xfb, 0xee, 0x51, 0x37, 0xf9, 0x60, 0x13,
+	0xfb, 0xf0, 0x74, 0x84, 0xda, 0x1c, 0x53, 0xf8, 0x44, 0x3b, 0x57, 0xf7, 0xd5, 0x3e, 0x72, 0x89,
+	0xfc, 0xbf, 0xdc, 0x5d, 0x02, 0xeb, 0x86, 0x62, 0x3c, 0x61, 0x39, 0x26, 0xe2, 0x17, 0xaf, 0x04,
+	0xcb, 0xc8, 0x66, 0xab, 0xea, 0x85, 0x43, 0x2c, 0xc7, 0xb7, 0xb0, 0x2b, 0x64, 0x4e, 0xc5, 0x14,
+	0x79, 0x2a, 0x64, 0x46, 0xcd, 0x37, 0x41, 0xdd, 0x2f, 0xeb, 0x78, 0xed, 0x7b, 0x13, 0x74, 0xbe,
+	0x88, 0x9f, 0x07, 0x79, 0xa9, 0x8b, 0xbb, 0xeb, 0xda, 0xfa, 0xb8, 0xc5, 0xc6, 0x06, 0xfb, 0xd6,
+	0x7e, 0x31, 0xb3, 0xf7, 0x71, 0x2e, 0xbc, 0x0f, 0xf1, 0xfa, 0x49, 0x93, 0xda, 0xff, 0x1b, 0x00,
+	0x00, 0xff, 0xff, 0xe7, 0xe2, 0x9c, 0x32, 0x35, 0x07, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -87,7 +87,7 @@
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 type CoreServiceClient interface {
 	//	 in coreProxy interface
-	GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*health.HealthStatus, error)
+	GetHealthStatus(ctx context.Context, in *common.Connection, opts ...grpc.CallOption) (*health.HealthStatus, error)
 	RegisterAdapter(ctx context.Context, in *core_adapter.AdapterRegistration, opts ...grpc.CallOption) (*empty.Empty, error)
 	DeviceUpdate(ctx context.Context, in *voltha.Device, opts ...grpc.CallOption) (*empty.Empty, error)
 	PortCreated(ctx context.Context, in *voltha.Port, opts ...grpc.CallOption) (*empty.Empty, error)
@@ -122,7 +122,7 @@
 	return &coreServiceClient{cc}
 }
 
-func (c *coreServiceClient) GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*health.HealthStatus, error) {
+func (c *coreServiceClient) GetHealthStatus(ctx context.Context, in *common.Connection, opts ...grpc.CallOption) (*health.HealthStatus, error) {
 	out := new(health.HealthStatus)
 	err := c.cc.Invoke(ctx, "/core_service.CoreService/GetHealthStatus", in, out, opts...)
 	if err != nil {
@@ -341,7 +341,7 @@
 // CoreServiceServer is the server API for CoreService service.
 type CoreServiceServer interface {
 	//	 in coreProxy interface
-	GetHealthStatus(context.Context, *empty.Empty) (*health.HealthStatus, error)
+	GetHealthStatus(context.Context, *common.Connection) (*health.HealthStatus, error)
 	RegisterAdapter(context.Context, *core_adapter.AdapterRegistration) (*empty.Empty, error)
 	DeviceUpdate(context.Context, *voltha.Device) (*empty.Empty, error)
 	PortCreated(context.Context, *voltha.Port) (*empty.Empty, error)
@@ -372,7 +372,7 @@
 type UnimplementedCoreServiceServer struct {
 }
 
-func (*UnimplementedCoreServiceServer) GetHealthStatus(ctx context.Context, req *empty.Empty) (*health.HealthStatus, error) {
+func (*UnimplementedCoreServiceServer) GetHealthStatus(ctx context.Context, req *common.Connection) (*health.HealthStatus, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetHealthStatus not implemented")
 }
 func (*UnimplementedCoreServiceServer) RegisterAdapter(ctx context.Context, req *core_adapter.AdapterRegistration) (*empty.Empty, error) {
@@ -450,7 +450,7 @@
 }
 
 func _CoreService_GetHealthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(empty.Empty)
+	in := new(common.Connection)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
@@ -462,7 +462,7 @@
 		FullMethod: "/core_service.CoreService/GetHealthStatus",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(CoreServiceServer).GetHealthStatus(ctx, req.(*empty.Empty))
+		return srv.(CoreServiceServer).GetHealthStatus(ctx, req.(*common.Connection))
 	}
 	return interceptor(ctx, in, info, handler)
 }
