[VOL-5567] update protos

Change-Id: I2237e104062831286129ece7cae6621fd971ecb9
Signed-off-by: Abhay Kumar <abhay.kumar@radisys.com>
diff --git a/go/voltha/events.pb.go b/go/voltha/events.pb.go
index 3125fa9..38bd8c3 100644
--- a/go/voltha/events.pb.go
+++ b/go/voltha/events.pb.go
@@ -1,27 +1,28 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.36.11
+// 	protoc        v4.25.8
 // source: voltha_protos/events.proto
 
 package voltha
 
 import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	timestamp "github.com/golang/protobuf/ptypes/timestamp"
 	common "github.com/opencord/voltha-protos/v5/go/common"
 	_ "google.golang.org/genproto/googleapis/api/annotations"
-	math "math"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+	reflect "reflect"
+	sync "sync"
+	unsafe "unsafe"
 )
 
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
 
 type EventFilterRuleKey_EventFilterRuleType int32
 
@@ -34,83 +35,146 @@
 	EventFilterRuleKey_device_event_type EventFilterRuleKey_EventFilterRuleType = 5
 )
 
-var EventFilterRuleKey_EventFilterRuleType_name = map[int32]string{
-	0: "filter_all",
-	1: "category",
-	2: "sub_category",
-	3: "kpi_event_type",
-	4: "config_event_type",
-	5: "device_event_type",
-}
+// Enum value maps for EventFilterRuleKey_EventFilterRuleType.
+var (
+	EventFilterRuleKey_EventFilterRuleType_name = map[int32]string{
+		0: "filter_all",
+		1: "category",
+		2: "sub_category",
+		3: "kpi_event_type",
+		4: "config_event_type",
+		5: "device_event_type",
+	}
+	EventFilterRuleKey_EventFilterRuleType_value = map[string]int32{
+		"filter_all":        0,
+		"category":          1,
+		"sub_category":      2,
+		"kpi_event_type":    3,
+		"config_event_type": 4,
+		"device_event_type": 5,
+	}
+)
 
-var EventFilterRuleKey_EventFilterRuleType_value = map[string]int32{
-	"filter_all":        0,
-	"category":          1,
-	"sub_category":      2,
-	"kpi_event_type":    3,
-	"config_event_type": 4,
-	"device_event_type": 5,
+func (x EventFilterRuleKey_EventFilterRuleType) Enum() *EventFilterRuleKey_EventFilterRuleType {
+	p := new(EventFilterRuleKey_EventFilterRuleType)
+	*p = x
+	return p
 }
 
 func (x EventFilterRuleKey_EventFilterRuleType) String() string {
-	return proto.EnumName(EventFilterRuleKey_EventFilterRuleType_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (EventFilterRuleKey_EventFilterRuleType) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[0].Descriptor()
+}
+
+func (EventFilterRuleKey_EventFilterRuleType) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[0]
+}
+
+func (x EventFilterRuleKey_EventFilterRuleType) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventFilterRuleKey_EventFilterRuleType.Descriptor instead.
 func (EventFilterRuleKey_EventFilterRuleType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{0, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{0, 0}
 }
 
 type ConfigEventType_Types int32
 
 const (
-	ConfigEventType_add    ConfigEventType_Types = 0
-	ConfigEventType_remove ConfigEventType_Types = 1
-	ConfigEventType_update ConfigEventType_Types = 2
+	ConfigEventType_add    ConfigEventType_Types = 0 // A new config has been added
+	ConfigEventType_remove ConfigEventType_Types = 1 // A config has been removed
+	ConfigEventType_update ConfigEventType_Types = 2 // A config has been updated
 )
 
-var ConfigEventType_Types_name = map[int32]string{
-	0: "add",
-	1: "remove",
-	2: "update",
-}
+// Enum value maps for ConfigEventType_Types.
+var (
+	ConfigEventType_Types_name = map[int32]string{
+		0: "add",
+		1: "remove",
+		2: "update",
+	}
+	ConfigEventType_Types_value = map[string]int32{
+		"add":    0,
+		"remove": 1,
+		"update": 2,
+	}
+)
 
-var ConfigEventType_Types_value = map[string]int32{
-	"add":    0,
-	"remove": 1,
-	"update": 2,
+func (x ConfigEventType_Types) Enum() *ConfigEventType_Types {
+	p := new(ConfigEventType_Types)
+	*p = x
+	return p
 }
 
 func (x ConfigEventType_Types) String() string {
-	return proto.EnumName(ConfigEventType_Types_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (ConfigEventType_Types) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[1].Descriptor()
+}
+
+func (ConfigEventType_Types) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[1]
+}
+
+func (x ConfigEventType_Types) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ConfigEventType_Types.Descriptor instead.
 func (ConfigEventType_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{4, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{4, 0}
 }
 
 type KpiEventType_Types int32
 
 const (
-	KpiEventType_slice KpiEventType_Types = 0
-	KpiEventType_ts    KpiEventType_Types = 1
+	KpiEventType_slice KpiEventType_Types = 0 // slice: a set of path/metric data for same time-stamp
+	KpiEventType_ts    KpiEventType_Types = 1 // time-series: array of data for same metric
 )
 
-var KpiEventType_Types_name = map[int32]string{
-	0: "slice",
-	1: "ts",
-}
+// Enum value maps for KpiEventType_Types.
+var (
+	KpiEventType_Types_name = map[int32]string{
+		0: "slice",
+		1: "ts",
+	}
+	KpiEventType_Types_value = map[string]int32{
+		"slice": 0,
+		"ts":    1,
+	}
+)
 
-var KpiEventType_Types_value = map[string]int32{
-	"slice": 0,
-	"ts":    1,
+func (x KpiEventType_Types) Enum() *KpiEventType_Types {
+	p := new(KpiEventType_Types)
+	*p = x
+	return p
 }
 
 func (x KpiEventType_Types) String() string {
-	return proto.EnumName(KpiEventType_Types_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (KpiEventType_Types) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[2].Descriptor()
+}
+
+func (KpiEventType_Types) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[2]
+}
+
+func (x KpiEventType_Types) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use KpiEventType_Types.Descriptor instead.
 func (KpiEventType_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{6, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{6, 0}
 }
 
 type EventCategory_Types int32
@@ -121,33 +185,54 @@
 	EventCategory_EQUIPMENT     EventCategory_Types = 2
 	EventCategory_SERVICE       EventCategory_Types = 3
 	EventCategory_PROCESSING    EventCategory_Types = 4
-	EventCategory_SECURITY      EventCategory_Types = 5
+	EventCategory_SECURITY      EventCategory_Types = 5 // Add new event areas here
 )
 
-var EventCategory_Types_name = map[int32]string{
-	0: "COMMUNICATION",
-	1: "ENVIRONMENT",
-	2: "EQUIPMENT",
-	3: "SERVICE",
-	4: "PROCESSING",
-	5: "SECURITY",
-}
+// Enum value maps for EventCategory_Types.
+var (
+	EventCategory_Types_name = map[int32]string{
+		0: "COMMUNICATION",
+		1: "ENVIRONMENT",
+		2: "EQUIPMENT",
+		3: "SERVICE",
+		4: "PROCESSING",
+		5: "SECURITY",
+	}
+	EventCategory_Types_value = map[string]int32{
+		"COMMUNICATION": 0,
+		"ENVIRONMENT":   1,
+		"EQUIPMENT":     2,
+		"SERVICE":       3,
+		"PROCESSING":    4,
+		"SECURITY":      5,
+	}
+)
 
-var EventCategory_Types_value = map[string]int32{
-	"COMMUNICATION": 0,
-	"ENVIRONMENT":   1,
-	"EQUIPMENT":     2,
-	"SERVICE":       3,
-	"PROCESSING":    4,
-	"SECURITY":      5,
+func (x EventCategory_Types) Enum() *EventCategory_Types {
+	p := new(EventCategory_Types)
+	*p = x
+	return p
 }
 
 func (x EventCategory_Types) String() string {
-	return proto.EnumName(EventCategory_Types_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (EventCategory_Types) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[3].Descriptor()
+}
+
+func (EventCategory_Types) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[3]
+}
+
+func (x EventCategory_Types) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventCategory_Types.Descriptor instead.
 func (EventCategory_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{16, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{16, 0}
 }
 
 type EventSubCategory_Types int32
@@ -158,33 +243,54 @@
 	EventSubCategory_ONT  EventSubCategory_Types = 2
 	EventSubCategory_ONU  EventSubCategory_Types = 3
 	EventSubCategory_NNI  EventSubCategory_Types = 4
-	EventSubCategory_NONE EventSubCategory_Types = 5
+	EventSubCategory_NONE EventSubCategory_Types = 5 //Adding None for RPC Events
 )
 
-var EventSubCategory_Types_name = map[int32]string{
-	0: "PON",
-	1: "OLT",
-	2: "ONT",
-	3: "ONU",
-	4: "NNI",
-	5: "NONE",
-}
+// Enum value maps for EventSubCategory_Types.
+var (
+	EventSubCategory_Types_name = map[int32]string{
+		0: "PON",
+		1: "OLT",
+		2: "ONT",
+		3: "ONU",
+		4: "NNI",
+		5: "NONE",
+	}
+	EventSubCategory_Types_value = map[string]int32{
+		"PON":  0,
+		"OLT":  1,
+		"ONT":  2,
+		"ONU":  3,
+		"NNI":  4,
+		"NONE": 5,
+	}
+)
 
-var EventSubCategory_Types_value = map[string]int32{
-	"PON":  0,
-	"OLT":  1,
-	"ONT":  2,
-	"ONU":  3,
-	"NNI":  4,
-	"NONE": 5,
+func (x EventSubCategory_Types) Enum() *EventSubCategory_Types {
+	p := new(EventSubCategory_Types)
+	*p = x
+	return p
 }
 
 func (x EventSubCategory_Types) String() string {
-	return proto.EnumName(EventSubCategory_Types_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (EventSubCategory_Types) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[4].Descriptor()
+}
+
+func (EventSubCategory_Types) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[4]
+}
+
+func (x EventSubCategory_Types) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventSubCategory_Types.Descriptor instead.
 func (EventSubCategory_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{17, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{17, 0}
 }
 
 type EventType_Types int32
@@ -198,753 +304,840 @@
 	EventType_KPI_EVENT3   EventType_Types = 5
 )
 
-var EventType_Types_name = map[int32]string{
-	0: "CONFIG_EVENT",
-	1: "KPI_EVENT",
-	2: "KPI_EVENT2",
-	3: "DEVICE_EVENT",
-	4: "RPC_EVENT",
-	5: "KPI_EVENT3",
-}
+// Enum value maps for EventType_Types.
+var (
+	EventType_Types_name = map[int32]string{
+		0: "CONFIG_EVENT",
+		1: "KPI_EVENT",
+		2: "KPI_EVENT2",
+		3: "DEVICE_EVENT",
+		4: "RPC_EVENT",
+		5: "KPI_EVENT3",
+	}
+	EventType_Types_value = map[string]int32{
+		"CONFIG_EVENT": 0,
+		"KPI_EVENT":    1,
+		"KPI_EVENT2":   2,
+		"DEVICE_EVENT": 3,
+		"RPC_EVENT":    4,
+		"KPI_EVENT3":   5,
+	}
+)
 
-var EventType_Types_value = map[string]int32{
-	"CONFIG_EVENT": 0,
-	"KPI_EVENT":    1,
-	"KPI_EVENT2":   2,
-	"DEVICE_EVENT": 3,
-	"RPC_EVENT":    4,
-	"KPI_EVENT3":   5,
+func (x EventType_Types) Enum() *EventType_Types {
+	p := new(EventType_Types)
+	*p = x
+	return p
 }
 
 func (x EventType_Types) String() string {
-	return proto.EnumName(EventType_Types_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (EventType_Types) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_events_proto_enumTypes[5].Descriptor()
+}
+
+func (EventType_Types) Type() protoreflect.EnumType {
+	return &file_voltha_protos_events_proto_enumTypes[5]
+}
+
+func (x EventType_Types) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventType_Types.Descriptor instead.
 func (EventType_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{18, 0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{18, 0}
 }
 
 type EventFilterRuleKey struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventFilterRuleKey) Reset()         { *m = EventFilterRuleKey{} }
-func (m *EventFilterRuleKey) String() string { return proto.CompactTextString(m) }
-func (*EventFilterRuleKey) ProtoMessage()    {}
+func (x *EventFilterRuleKey) Reset() {
+	*x = EventFilterRuleKey{}
+	mi := &file_voltha_protos_events_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventFilterRuleKey) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventFilterRuleKey) ProtoMessage() {}
+
+func (x *EventFilterRuleKey) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[0]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventFilterRuleKey.ProtoReflect.Descriptor instead.
 func (*EventFilterRuleKey) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{0}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{0}
 }
 
-func (m *EventFilterRuleKey) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventFilterRuleKey.Unmarshal(m, b)
-}
-func (m *EventFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventFilterRuleKey.Marshal(b, m, deterministic)
-}
-func (m *EventFilterRuleKey) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventFilterRuleKey.Merge(m, src)
-}
-func (m *EventFilterRuleKey) XXX_Size() int {
-	return xxx_messageInfo_EventFilterRuleKey.Size(m)
-}
-func (m *EventFilterRuleKey) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventFilterRuleKey.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventFilterRuleKey proto.InternalMessageInfo
-
 type EventFilterRule struct {
-	Key                  EventFilterRuleKey_EventFilterRuleType `protobuf:"varint,1,opt,name=key,proto3,enum=event.EventFilterRuleKey_EventFilterRuleType" json:"key,omitempty"`
-	Value                string                                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
-	XXX_unrecognized     []byte                                 `json:"-"`
-	XXX_sizecache        int32                                  `json:"-"`
+	state         protoimpl.MessageState                 `protogen:"open.v1"`
+	Key           EventFilterRuleKey_EventFilterRuleType `protobuf:"varint,1,opt,name=key,proto3,enum=event.EventFilterRuleKey_EventFilterRuleType" json:"key,omitempty"`
+	Value         string                                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventFilterRule) Reset()         { *m = EventFilterRule{} }
-func (m *EventFilterRule) String() string { return proto.CompactTextString(m) }
-func (*EventFilterRule) ProtoMessage()    {}
+func (x *EventFilterRule) Reset() {
+	*x = EventFilterRule{}
+	mi := &file_voltha_protos_events_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventFilterRule) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventFilterRule) ProtoMessage() {}
+
+func (x *EventFilterRule) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[1]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventFilterRule.ProtoReflect.Descriptor instead.
 func (*EventFilterRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{1}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{1}
 }
 
-func (m *EventFilterRule) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventFilterRule.Unmarshal(m, b)
-}
-func (m *EventFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventFilterRule.Marshal(b, m, deterministic)
-}
-func (m *EventFilterRule) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventFilterRule.Merge(m, src)
-}
-func (m *EventFilterRule) XXX_Size() int {
-	return xxx_messageInfo_EventFilterRule.Size(m)
-}
-func (m *EventFilterRule) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventFilterRule.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventFilterRule proto.InternalMessageInfo
-
-func (m *EventFilterRule) GetKey() EventFilterRuleKey_EventFilterRuleType {
-	if m != nil {
-		return m.Key
+func (x *EventFilterRule) GetKey() EventFilterRuleKey_EventFilterRuleType {
+	if x != nil {
+		return x.Key
 	}
 	return EventFilterRuleKey_filter_all
 }
 
-func (m *EventFilterRule) GetValue() string {
-	if m != nil {
-		return m.Value
+func (x *EventFilterRule) GetValue() string {
+	if x != nil {
+		return x.Value
 	}
 	return ""
 }
 
 type EventFilter struct {
-	Id                   string             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Enable               bool               `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
-	DeviceId             string             `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
-	EventType            string             `protobuf:"bytes,4,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
-	Rules                []*EventFilterRule `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Enable        bool                   `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
+	DeviceId      string                 `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+	EventType     string                 `protobuf:"bytes,4,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
+	Rules         []*EventFilterRule     `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventFilter) Reset()         { *m = EventFilter{} }
-func (m *EventFilter) String() string { return proto.CompactTextString(m) }
-func (*EventFilter) ProtoMessage()    {}
+func (x *EventFilter) Reset() {
+	*x = EventFilter{}
+	mi := &file_voltha_protos_events_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventFilter) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventFilter) ProtoMessage() {}
+
+func (x *EventFilter) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[2]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventFilter.ProtoReflect.Descriptor instead.
 func (*EventFilter) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{2}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{2}
 }
 
-func (m *EventFilter) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventFilter.Unmarshal(m, b)
-}
-func (m *EventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventFilter.Marshal(b, m, deterministic)
-}
-func (m *EventFilter) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventFilter.Merge(m, src)
-}
-func (m *EventFilter) XXX_Size() int {
-	return xxx_messageInfo_EventFilter.Size(m)
-}
-func (m *EventFilter) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventFilter.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventFilter proto.InternalMessageInfo
-
-func (m *EventFilter) GetId() string {
-	if m != nil {
-		return m.Id
+func (x *EventFilter) GetId() string {
+	if x != nil {
+		return x.Id
 	}
 	return ""
 }
 
-func (m *EventFilter) GetEnable() bool {
-	if m != nil {
-		return m.Enable
+func (x *EventFilter) GetEnable() bool {
+	if x != nil {
+		return x.Enable
 	}
 	return false
 }
 
-func (m *EventFilter) GetDeviceId() string {
-	if m != nil {
-		return m.DeviceId
+func (x *EventFilter) GetDeviceId() string {
+	if x != nil {
+		return x.DeviceId
 	}
 	return ""
 }
 
-func (m *EventFilter) GetEventType() string {
-	if m != nil {
-		return m.EventType
+func (x *EventFilter) GetEventType() string {
+	if x != nil {
+		return x.EventType
 	}
 	return ""
 }
 
-func (m *EventFilter) GetRules() []*EventFilterRule {
-	if m != nil {
-		return m.Rules
+func (x *EventFilter) GetRules() []*EventFilterRule {
+	if x != nil {
+		return x.Rules
 	}
 	return nil
 }
 
 type EventFilters struct {
-	Filters              []*EventFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Filters       []*EventFilter         `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventFilters) Reset()         { *m = EventFilters{} }
-func (m *EventFilters) String() string { return proto.CompactTextString(m) }
-func (*EventFilters) ProtoMessage()    {}
+func (x *EventFilters) Reset() {
+	*x = EventFilters{}
+	mi := &file_voltha_protos_events_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventFilters) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventFilters) ProtoMessage() {}
+
+func (x *EventFilters) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[3]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventFilters.ProtoReflect.Descriptor instead.
 func (*EventFilters) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{3}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{3}
 }
 
-func (m *EventFilters) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventFilters.Unmarshal(m, b)
-}
-func (m *EventFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventFilters.Marshal(b, m, deterministic)
-}
-func (m *EventFilters) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventFilters.Merge(m, src)
-}
-func (m *EventFilters) XXX_Size() int {
-	return xxx_messageInfo_EventFilters.Size(m)
-}
-func (m *EventFilters) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventFilters.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventFilters proto.InternalMessageInfo
-
-func (m *EventFilters) GetFilters() []*EventFilter {
-	if m != nil {
-		return m.Filters
+func (x *EventFilters) GetFilters() []*EventFilter {
+	if x != nil {
+		return x.Filters
 	}
 	return nil
 }
 
 type ConfigEventType struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *ConfigEventType) Reset()         { *m = ConfigEventType{} }
-func (m *ConfigEventType) String() string { return proto.CompactTextString(m) }
-func (*ConfigEventType) ProtoMessage()    {}
+func (x *ConfigEventType) Reset() {
+	*x = ConfigEventType{}
+	mi := &file_voltha_protos_events_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigEventType) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigEventType) ProtoMessage() {}
+
+func (x *ConfigEventType) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[4]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigEventType.ProtoReflect.Descriptor instead.
 func (*ConfigEventType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{4}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{4}
 }
 
-func (m *ConfigEventType) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ConfigEventType.Unmarshal(m, b)
-}
-func (m *ConfigEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ConfigEventType.Marshal(b, m, deterministic)
-}
-func (m *ConfigEventType) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ConfigEventType.Merge(m, src)
-}
-func (m *ConfigEventType) XXX_Size() int {
-	return xxx_messageInfo_ConfigEventType.Size(m)
-}
-func (m *ConfigEventType) XXX_DiscardUnknown() {
-	xxx_messageInfo_ConfigEventType.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConfigEventType proto.InternalMessageInfo
-
 type ConfigEvent struct {
-	Type                 ConfigEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=event.ConfigEventType_Types" json:"type,omitempty"`
-	Hash                 string                `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
-	Data                 string                `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
-	XXX_unrecognized     []byte                `json:"-"`
-	XXX_sizecache        int32                 `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Type          ConfigEventType_Types  `protobuf:"varint,1,opt,name=type,proto3,enum=event.ConfigEventType_Types" json:"type,omitempty"`
+	Hash          string                 `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` // hash for this change, can be used for quick lookup
+	Data          string                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // the actual new data, in json format
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *ConfigEvent) Reset()         { *m = ConfigEvent{} }
-func (m *ConfigEvent) String() string { return proto.CompactTextString(m) }
-func (*ConfigEvent) ProtoMessage()    {}
+func (x *ConfigEvent) Reset() {
+	*x = ConfigEvent{}
+	mi := &file_voltha_protos_events_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigEvent) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigEvent) ProtoMessage() {}
+
+func (x *ConfigEvent) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[5]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigEvent.ProtoReflect.Descriptor instead.
 func (*ConfigEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{5}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{5}
 }
 
-func (m *ConfigEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ConfigEvent.Unmarshal(m, b)
-}
-func (m *ConfigEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ConfigEvent.Marshal(b, m, deterministic)
-}
-func (m *ConfigEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ConfigEvent.Merge(m, src)
-}
-func (m *ConfigEvent) XXX_Size() int {
-	return xxx_messageInfo_ConfigEvent.Size(m)
-}
-func (m *ConfigEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_ConfigEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConfigEvent proto.InternalMessageInfo
-
-func (m *ConfigEvent) GetType() ConfigEventType_Types {
-	if m != nil {
-		return m.Type
+func (x *ConfigEvent) GetType() ConfigEventType_Types {
+	if x != nil {
+		return x.Type
 	}
 	return ConfigEventType_add
 }
 
-func (m *ConfigEvent) GetHash() string {
-	if m != nil {
-		return m.Hash
+func (x *ConfigEvent) GetHash() string {
+	if x != nil {
+		return x.Hash
 	}
 	return ""
 }
 
-func (m *ConfigEvent) GetData() string {
-	if m != nil {
-		return m.Data
+func (x *ConfigEvent) GetData() string {
+	if x != nil {
+		return x.Data
 	}
 	return ""
 }
 
 type KpiEventType struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *KpiEventType) Reset()         { *m = KpiEventType{} }
-func (m *KpiEventType) String() string { return proto.CompactTextString(m) }
-func (*KpiEventType) ProtoMessage()    {}
+func (x *KpiEventType) Reset() {
+	*x = KpiEventType{}
+	mi := &file_voltha_protos_events_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *KpiEventType) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KpiEventType) ProtoMessage() {}
+
+func (x *KpiEventType) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[6]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use KpiEventType.ProtoReflect.Descriptor instead.
 func (*KpiEventType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{6}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{6}
 }
 
-func (m *KpiEventType) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KpiEventType.Unmarshal(m, b)
-}
-func (m *KpiEventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KpiEventType.Marshal(b, m, deterministic)
-}
-func (m *KpiEventType) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KpiEventType.Merge(m, src)
-}
-func (m *KpiEventType) XXX_Size() int {
-	return xxx_messageInfo_KpiEventType.Size(m)
-}
-func (m *KpiEventType) XXX_DiscardUnknown() {
-	xxx_messageInfo_KpiEventType.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KpiEventType proto.InternalMessageInfo
-
-//
 // Struct to convey a dictionary of metric metadata.
 type MetricMetaData struct {
-	Title           string  `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
-	Ts              float64 `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
-	LogicalDeviceId string  `protobuf:"bytes,3,opt,name=logical_device_id,json=logicalDeviceId,proto3" json:"logical_device_id,omitempty"`
+	state           protoimpl.MessageState `protogen:"open.v1"`
+	Title           string                 `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`                                              // Metric group or individual metric name
+	Ts              float64                `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`                                                  // UTC time-stamp of data (seconds since epoch) of
+	LogicalDeviceId string                 `protobuf:"bytes,3,opt,name=logical_device_id,json=logicalDeviceId,proto3" json:"logical_device_id,omitempty"` // The logical device ID of the VOLTHA
 	// (equivalent to the DPID that ONOS has
 	// for the VOLTHA device without the
-	//  'of:' prefix
-	SerialNo             string            `protobuf:"bytes,4,opt,name=serial_no,json=serialNo,proto3" json:"serial_no,omitempty"`
-	DeviceId             string            `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
-	Context              map[string]string `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	Uuid                 string            `protobuf:"bytes,7,opt,name=uuid,proto3" json:"uuid,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	//
+	//	'of:' prefix
+	SerialNo      string            `protobuf:"bytes,4,opt,name=serial_no,json=serialNo,proto3" json:"serial_no,omitempty"`                                                         // The OLT, ONU, ... device serial number
+	DeviceId      string            `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`                                                         // The OLT, ONU, ... physical device ID
+	Context       map[string]string `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Name value pairs that provide additional
+	Uuid          string            `protobuf:"bytes,7,opt,name=uuid,proto3" json:"uuid,omitempty"`                                                                                 // Transaction identifier used to match On
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *MetricMetaData) Reset()         { *m = MetricMetaData{} }
-func (m *MetricMetaData) String() string { return proto.CompactTextString(m) }
-func (*MetricMetaData) ProtoMessage()    {}
+func (x *MetricMetaData) Reset() {
+	*x = MetricMetaData{}
+	mi := &file_voltha_protos_events_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MetricMetaData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MetricMetaData) ProtoMessage() {}
+
+func (x *MetricMetaData) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[7]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MetricMetaData.ProtoReflect.Descriptor instead.
 func (*MetricMetaData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{7}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{7}
 }
 
-func (m *MetricMetaData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MetricMetaData.Unmarshal(m, b)
-}
-func (m *MetricMetaData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MetricMetaData.Marshal(b, m, deterministic)
-}
-func (m *MetricMetaData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MetricMetaData.Merge(m, src)
-}
-func (m *MetricMetaData) XXX_Size() int {
-	return xxx_messageInfo_MetricMetaData.Size(m)
-}
-func (m *MetricMetaData) XXX_DiscardUnknown() {
-	xxx_messageInfo_MetricMetaData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MetricMetaData proto.InternalMessageInfo
-
-func (m *MetricMetaData) GetTitle() string {
-	if m != nil {
-		return m.Title
+func (x *MetricMetaData) GetTitle() string {
+	if x != nil {
+		return x.Title
 	}
 	return ""
 }
 
-func (m *MetricMetaData) GetTs() float64 {
-	if m != nil {
-		return m.Ts
+func (x *MetricMetaData) GetTs() float64 {
+	if x != nil {
+		return x.Ts
 	}
 	return 0
 }
 
-func (m *MetricMetaData) GetLogicalDeviceId() string {
-	if m != nil {
-		return m.LogicalDeviceId
+func (x *MetricMetaData) GetLogicalDeviceId() string {
+	if x != nil {
+		return x.LogicalDeviceId
 	}
 	return ""
 }
 
-func (m *MetricMetaData) GetSerialNo() string {
-	if m != nil {
-		return m.SerialNo
+func (x *MetricMetaData) GetSerialNo() string {
+	if x != nil {
+		return x.SerialNo
 	}
 	return ""
 }
 
-func (m *MetricMetaData) GetDeviceId() string {
-	if m != nil {
-		return m.DeviceId
+func (x *MetricMetaData) GetDeviceId() string {
+	if x != nil {
+		return x.DeviceId
 	}
 	return ""
 }
 
-func (m *MetricMetaData) GetContext() map[string]string {
-	if m != nil {
-		return m.Context
+func (x *MetricMetaData) GetContext() map[string]string {
+	if x != nil {
+		return x.Context
 	}
 	return nil
 }
 
-func (m *MetricMetaData) GetUuid() string {
-	if m != nil {
-		return m.Uuid
+func (x *MetricMetaData) GetUuid() string {
+	if x != nil {
+		return x.Uuid
 	}
 	return ""
 }
 
-//
 // Struct to convey a dictionary of metric->value pairs. Typically used in
 // pure shared-timestamp or shared-timestamp + shared object prefix situations.
 type MetricValuePairs struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Metric / value pairs.
-	Metrics              map[string]float32 `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+	Metrics       map[string]float32 `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *MetricValuePairs) Reset()         { *m = MetricValuePairs{} }
-func (m *MetricValuePairs) String() string { return proto.CompactTextString(m) }
-func (*MetricValuePairs) ProtoMessage()    {}
+func (x *MetricValuePairs) Reset() {
+	*x = MetricValuePairs{}
+	mi := &file_voltha_protos_events_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MetricValuePairs) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MetricValuePairs) ProtoMessage() {}
+
+func (x *MetricValuePairs) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[8]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MetricValuePairs.ProtoReflect.Descriptor instead.
 func (*MetricValuePairs) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{8}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{8}
 }
 
-func (m *MetricValuePairs) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MetricValuePairs.Unmarshal(m, b)
-}
-func (m *MetricValuePairs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MetricValuePairs.Marshal(b, m, deterministic)
-}
-func (m *MetricValuePairs) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MetricValuePairs.Merge(m, src)
-}
-func (m *MetricValuePairs) XXX_Size() int {
-	return xxx_messageInfo_MetricValuePairs.Size(m)
-}
-func (m *MetricValuePairs) XXX_DiscardUnknown() {
-	xxx_messageInfo_MetricValuePairs.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MetricValuePairs proto.InternalMessageInfo
-
-func (m *MetricValuePairs) GetMetrics() map[string]float32 {
-	if m != nil {
-		return m.Metrics
+func (x *MetricValuePairs) GetMetrics() map[string]float32 {
+	if x != nil {
+		return x.Metrics
 	}
 	return nil
 }
 
-//
 // Struct to group metadata for a metric (or group of metrics) with the key-value
 // pairs of collected metrics
 type MetricInformation struct {
-	Metadata             *MetricMetaData    `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
-	Metrics              map[string]float32 `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Metadata      *MetricMetaData        `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+	Metrics       map[string]float32     `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *MetricInformation) Reset()         { *m = MetricInformation{} }
-func (m *MetricInformation) String() string { return proto.CompactTextString(m) }
-func (*MetricInformation) ProtoMessage()    {}
+func (x *MetricInformation) Reset() {
+	*x = MetricInformation{}
+	mi := &file_voltha_protos_events_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MetricInformation) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MetricInformation) ProtoMessage() {}
+
+func (x *MetricInformation) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[9]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MetricInformation.ProtoReflect.Descriptor instead.
 func (*MetricInformation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{9}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{9}
 }
 
-func (m *MetricInformation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MetricInformation.Unmarshal(m, b)
-}
-func (m *MetricInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MetricInformation.Marshal(b, m, deterministic)
-}
-func (m *MetricInformation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MetricInformation.Merge(m, src)
-}
-func (m *MetricInformation) XXX_Size() int {
-	return xxx_messageInfo_MetricInformation.Size(m)
-}
-func (m *MetricInformation) XXX_DiscardUnknown() {
-	xxx_messageInfo_MetricInformation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MetricInformation proto.InternalMessageInfo
-
-func (m *MetricInformation) GetMetadata() *MetricMetaData {
-	if m != nil {
-		return m.Metadata
+func (x *MetricInformation) GetMetadata() *MetricMetaData {
+	if x != nil {
+		return x.Metadata
 	}
 	return nil
 }
 
-func (m *MetricInformation) GetMetrics() map[string]float32 {
-	if m != nil {
-		return m.Metrics
+func (x *MetricInformation) GetMetrics() map[string]float32 {
+	if x != nil {
+		return x.Metrics
 	}
 	return nil
 }
 
-//
 // Struct to group metadata for a metric (or group of metrics) with the key-value
 // pairs of collected metrics using 64-bit double precision floating point.
 // This supports both floating-point metrics and large integer counters up to 2^53
 // (e.g., FEC counters, GEM counters, optical power levels).
 type MetricInformation64 struct {
-	Metadata             *MetricMetaData    `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
-	Metrics              map[string]float64 `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Metadata      *MetricMetaData        `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+	Metrics       map[string]float64     `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *MetricInformation64) Reset()         { *m = MetricInformation64{} }
-func (m *MetricInformation64) String() string { return proto.CompactTextString(m) }
-func (*MetricInformation64) ProtoMessage()    {}
+func (x *MetricInformation64) Reset() {
+	*x = MetricInformation64{}
+	mi := &file_voltha_protos_events_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MetricInformation64) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MetricInformation64) ProtoMessage() {}
+
+func (x *MetricInformation64) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[10]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MetricInformation64.ProtoReflect.Descriptor instead.
 func (*MetricInformation64) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{10}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{10}
 }
 
-func (m *MetricInformation64) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MetricInformation64.Unmarshal(m, b)
-}
-func (m *MetricInformation64) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MetricInformation64.Marshal(b, m, deterministic)
-}
-func (m *MetricInformation64) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MetricInformation64.Merge(m, src)
-}
-func (m *MetricInformation64) XXX_Size() int {
-	return xxx_messageInfo_MetricInformation64.Size(m)
-}
-func (m *MetricInformation64) XXX_DiscardUnknown() {
-	xxx_messageInfo_MetricInformation64.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MetricInformation64 proto.InternalMessageInfo
-
-func (m *MetricInformation64) GetMetadata() *MetricMetaData {
-	if m != nil {
-		return m.Metadata
+func (x *MetricInformation64) GetMetadata() *MetricMetaData {
+	if x != nil {
+		return x.Metadata
 	}
 	return nil
 }
 
-func (m *MetricInformation64) GetMetrics() map[string]float64 {
-	if m != nil {
-		return m.Metrics
+func (x *MetricInformation64) GetMetrics() map[string]float64 {
+	if x != nil {
+		return x.Metrics
 	}
 	return nil
 }
 
-//
 // Legacy KPI Event structured.  In mid-August, the KPI event format was updated
-//                               to a more easily parsable format. See VOL-1140
-//                               for more information.
+//
+//	to a more easily parsable format. See VOL-1140
+//	for more information.
 type KpiEvent struct {
-	Type                 KpiEventType_Types           `protobuf:"varint,1,opt,name=type,proto3,enum=event.KpiEventType_Types" json:"type,omitempty"`
-	Ts                   float32                      `protobuf:"fixed32,2,opt,name=ts,proto3" json:"ts,omitempty"`
-	Prefixes             map[string]*MetricValuePairs `protobuf:"bytes,3,rep,name=prefixes,proto3" json:"prefixes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
-	XXX_unrecognized     []byte                       `json:"-"`
-	XXX_sizecache        int32                        `json:"-"`
+	state         protoimpl.MessageState       `protogen:"open.v1"`
+	Type          KpiEventType_Types           `protobuf:"varint,1,opt,name=type,proto3,enum=event.KpiEventType_Types" json:"type,omitempty"`
+	Ts            float32                      `protobuf:"fixed32,2,opt,name=ts,proto3" json:"ts,omitempty"` // UTC time-stamp of data in slice mode (seconds since epoc)
+	Prefixes      map[string]*MetricValuePairs `protobuf:"bytes,3,rep,name=prefixes,proto3" json:"prefixes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *KpiEvent) Reset()         { *m = KpiEvent{} }
-func (m *KpiEvent) String() string { return proto.CompactTextString(m) }
-func (*KpiEvent) ProtoMessage()    {}
+func (x *KpiEvent) Reset() {
+	*x = KpiEvent{}
+	mi := &file_voltha_protos_events_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *KpiEvent) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KpiEvent) ProtoMessage() {}
+
+func (x *KpiEvent) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[11]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use KpiEvent.ProtoReflect.Descriptor instead.
 func (*KpiEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{11}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{11}
 }
 
-func (m *KpiEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KpiEvent.Unmarshal(m, b)
-}
-func (m *KpiEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KpiEvent.Marshal(b, m, deterministic)
-}
-func (m *KpiEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KpiEvent.Merge(m, src)
-}
-func (m *KpiEvent) XXX_Size() int {
-	return xxx_messageInfo_KpiEvent.Size(m)
-}
-func (m *KpiEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_KpiEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KpiEvent proto.InternalMessageInfo
-
-func (m *KpiEvent) GetType() KpiEventType_Types {
-	if m != nil {
-		return m.Type
+func (x *KpiEvent) GetType() KpiEventType_Types {
+	if x != nil {
+		return x.Type
 	}
 	return KpiEventType_slice
 }
 
-func (m *KpiEvent) GetTs() float32 {
-	if m != nil {
-		return m.Ts
+func (x *KpiEvent) GetTs() float32 {
+	if x != nil {
+		return x.Ts
 	}
 	return 0
 }
 
-func (m *KpiEvent) GetPrefixes() map[string]*MetricValuePairs {
-	if m != nil {
-		return m.Prefixes
+func (x *KpiEvent) GetPrefixes() map[string]*MetricValuePairs {
+	if x != nil {
+		return x.Prefixes
 	}
 	return nil
 }
 
 type KpiEvent2 struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Type of KPI Event
 	Type KpiEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=event.KpiEventType_Types" json:"type,omitempty"`
 	// Fields used when for slice:
-	Ts                   float64              `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
-	SliceData            []*MetricInformation `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
+	Ts            float64              `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"` // UTC time-stamp of data in slice mode (seconds since epoch)
+	SliceData     []*MetricInformation `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *KpiEvent2) Reset()         { *m = KpiEvent2{} }
-func (m *KpiEvent2) String() string { return proto.CompactTextString(m) }
-func (*KpiEvent2) ProtoMessage()    {}
+func (x *KpiEvent2) Reset() {
+	*x = KpiEvent2{}
+	mi := &file_voltha_protos_events_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *KpiEvent2) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KpiEvent2) ProtoMessage() {}
+
+func (x *KpiEvent2) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[12]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use KpiEvent2.ProtoReflect.Descriptor instead.
 func (*KpiEvent2) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{12}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{12}
 }
 
-func (m *KpiEvent2) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KpiEvent2.Unmarshal(m, b)
-}
-func (m *KpiEvent2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KpiEvent2.Marshal(b, m, deterministic)
-}
-func (m *KpiEvent2) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KpiEvent2.Merge(m, src)
-}
-func (m *KpiEvent2) XXX_Size() int {
-	return xxx_messageInfo_KpiEvent2.Size(m)
-}
-func (m *KpiEvent2) XXX_DiscardUnknown() {
-	xxx_messageInfo_KpiEvent2.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KpiEvent2 proto.InternalMessageInfo
-
-func (m *KpiEvent2) GetType() KpiEventType_Types {
-	if m != nil {
-		return m.Type
+func (x *KpiEvent2) GetType() KpiEventType_Types {
+	if x != nil {
+		return x.Type
 	}
 	return KpiEventType_slice
 }
 
-func (m *KpiEvent2) GetTs() float64 {
-	if m != nil {
-		return m.Ts
+func (x *KpiEvent2) GetTs() float64 {
+	if x != nil {
+		return x.Ts
 	}
 	return 0
 }
 
-func (m *KpiEvent2) GetSliceData() []*MetricInformation {
-	if m != nil {
-		return m.SliceData
+func (x *KpiEvent2) GetSliceData() []*MetricInformation {
+	if x != nil {
+		return x.SliceData
 	}
 	return nil
 }
 
-//
 // KpiEvent3 with support for 64-bit unsigned integer counters.
 // Use this for metrics that require full 64-bit precision (e.g., FEC counters, GEM counters).
 type KpiEvent3 struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Type of KPI Event
 	Type KpiEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=event.KpiEventType_Types" json:"type,omitempty"`
 	// Fields used when for slice:
-	Ts                   float64                `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
-	SliceData            []*MetricInformation64 `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
+	Ts            float64                `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"` // UTC time-stamp of data in slice mode (seconds since epoch)
+	SliceData     []*MetricInformation64 `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *KpiEvent3) Reset()         { *m = KpiEvent3{} }
-func (m *KpiEvent3) String() string { return proto.CompactTextString(m) }
-func (*KpiEvent3) ProtoMessage()    {}
+func (x *KpiEvent3) Reset() {
+	*x = KpiEvent3{}
+	mi := &file_voltha_protos_events_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *KpiEvent3) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KpiEvent3) ProtoMessage() {}
+
+func (x *KpiEvent3) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[13]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use KpiEvent3.ProtoReflect.Descriptor instead.
 func (*KpiEvent3) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{13}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{13}
 }
 
-func (m *KpiEvent3) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KpiEvent3.Unmarshal(m, b)
-}
-func (m *KpiEvent3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KpiEvent3.Marshal(b, m, deterministic)
-}
-func (m *KpiEvent3) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KpiEvent3.Merge(m, src)
-}
-func (m *KpiEvent3) XXX_Size() int {
-	return xxx_messageInfo_KpiEvent3.Size(m)
-}
-func (m *KpiEvent3) XXX_DiscardUnknown() {
-	xxx_messageInfo_KpiEvent3.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KpiEvent3 proto.InternalMessageInfo
-
-func (m *KpiEvent3) GetType() KpiEventType_Types {
-	if m != nil {
-		return m.Type
+func (x *KpiEvent3) GetType() KpiEventType_Types {
+	if x != nil {
+		return x.Type
 	}
 	return KpiEventType_slice
 }
 
-func (m *KpiEvent3) GetTs() float64 {
-	if m != nil {
-		return m.Ts
+func (x *KpiEvent3) GetTs() float64 {
+	if x != nil {
+		return x.Ts
 	}
 	return 0
 }
 
-func (m *KpiEvent3) GetSliceData() []*MetricInformation64 {
-	if m != nil {
-		return m.SliceData
+func (x *KpiEvent3) GetSliceData() []*MetricInformation64 {
+	if x != nil {
+		return x.SliceData
 	}
 	return nil
 }
 
-//
 // Describes the events specific to device
 type DeviceEvent struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Identifier of the originating resource of the event, for ex: device_id
 	ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
 	// device_event_name indicates clearly the name of the device event
@@ -952,68 +1145,72 @@
 	// Textual explanation of the device event
 	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
 	// Key/Value storage for extra information that may give context to the event
-	Context              map[string]string `protobuf:"bytes,4,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	Context       map[string]string `protobuf:"bytes,4,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *DeviceEvent) Reset()         { *m = DeviceEvent{} }
-func (m *DeviceEvent) String() string { return proto.CompactTextString(m) }
-func (*DeviceEvent) ProtoMessage()    {}
+func (x *DeviceEvent) Reset() {
+	*x = DeviceEvent{}
+	mi := &file_voltha_protos_events_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DeviceEvent) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeviceEvent) ProtoMessage() {}
+
+func (x *DeviceEvent) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[14]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeviceEvent.ProtoReflect.Descriptor instead.
 func (*DeviceEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{14}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{14}
 }
 
-func (m *DeviceEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceEvent.Unmarshal(m, b)
-}
-func (m *DeviceEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceEvent.Marshal(b, m, deterministic)
-}
-func (m *DeviceEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceEvent.Merge(m, src)
-}
-func (m *DeviceEvent) XXX_Size() int {
-	return xxx_messageInfo_DeviceEvent.Size(m)
-}
-func (m *DeviceEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceEvent proto.InternalMessageInfo
-
-func (m *DeviceEvent) GetResourceId() string {
-	if m != nil {
-		return m.ResourceId
+func (x *DeviceEvent) GetResourceId() string {
+	if x != nil {
+		return x.ResourceId
 	}
 	return ""
 }
 
-func (m *DeviceEvent) GetDeviceEventName() string {
-	if m != nil {
-		return m.DeviceEventName
+func (x *DeviceEvent) GetDeviceEventName() string {
+	if x != nil {
+		return x.DeviceEventName
 	}
 	return ""
 }
 
-func (m *DeviceEvent) GetDescription() string {
-	if m != nil {
-		return m.Description
+func (x *DeviceEvent) GetDescription() string {
+	if x != nil {
+		return x.Description
 	}
 	return ""
 }
 
-func (m *DeviceEvent) GetContext() map[string]string {
-	if m != nil {
-		return m.Context
+func (x *DeviceEvent) GetContext() map[string]string {
+	if x != nil {
+		return x.Context
 	}
 	return nil
 }
 
-//
 // Describes the events specific to an RPC request
 type RPCEvent struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// RPC name
 	Rpc string `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"`
 	// The operation id of that request.  Can be a log correlation ID
@@ -1027,197 +1224,213 @@
 	// Textual explanation of the event
 	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
 	// Key/Value storage for extra information that may give context to the event
-	Context map[string]string `protobuf:"bytes,7,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Context map[string]string `protobuf:"bytes,7,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
 	// Status of the RPC Event
-	Status               *common.OperationResp `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
-	XXX_unrecognized     []byte                `json:"-"`
-	XXX_sizecache        int32                 `json:"-"`
+	Status        *common.OperationResp `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *RPCEvent) Reset()         { *m = RPCEvent{} }
-func (m *RPCEvent) String() string { return proto.CompactTextString(m) }
-func (*RPCEvent) ProtoMessage()    {}
+func (x *RPCEvent) Reset() {
+	*x = RPCEvent{}
+	mi := &file_voltha_protos_events_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *RPCEvent) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPCEvent) ProtoMessage() {}
+
+func (x *RPCEvent) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[15]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use RPCEvent.ProtoReflect.Descriptor instead.
 func (*RPCEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{15}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{15}
 }
 
-func (m *RPCEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_RPCEvent.Unmarshal(m, b)
-}
-func (m *RPCEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_RPCEvent.Marshal(b, m, deterministic)
-}
-func (m *RPCEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_RPCEvent.Merge(m, src)
-}
-func (m *RPCEvent) XXX_Size() int {
-	return xxx_messageInfo_RPCEvent.Size(m)
-}
-func (m *RPCEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_RPCEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RPCEvent proto.InternalMessageInfo
-
-func (m *RPCEvent) GetRpc() string {
-	if m != nil {
-		return m.Rpc
+func (x *RPCEvent) GetRpc() string {
+	if x != nil {
+		return x.Rpc
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetOperationId() string {
-	if m != nil {
-		return m.OperationId
+func (x *RPCEvent) GetOperationId() string {
+	if x != nil {
+		return x.OperationId
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetService() string {
-	if m != nil {
-		return m.Service
+func (x *RPCEvent) GetService() string {
+	if x != nil {
+		return x.Service
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetStackId() string {
-	if m != nil {
-		return m.StackId
+func (x *RPCEvent) GetStackId() string {
+	if x != nil {
+		return x.StackId
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetResourceId() string {
-	if m != nil {
-		return m.ResourceId
+func (x *RPCEvent) GetResourceId() string {
+	if x != nil {
+		return x.ResourceId
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetDescription() string {
-	if m != nil {
-		return m.Description
+func (x *RPCEvent) GetDescription() string {
+	if x != nil {
+		return x.Description
 	}
 	return ""
 }
 
-func (m *RPCEvent) GetContext() map[string]string {
-	if m != nil {
-		return m.Context
+func (x *RPCEvent) GetContext() map[string]string {
+	if x != nil {
+		return x.Context
 	}
 	return nil
 }
 
-func (m *RPCEvent) GetStatus() *common.OperationResp {
-	if m != nil {
-		return m.Status
+func (x *RPCEvent) GetStatus() *common.OperationResp {
+	if x != nil {
+		return x.Status
 	}
 	return nil
 }
 
-//
 // Identify the area of the system impacted by the event.
 type EventCategory struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventCategory) Reset()         { *m = EventCategory{} }
-func (m *EventCategory) String() string { return proto.CompactTextString(m) }
-func (*EventCategory) ProtoMessage()    {}
+func (x *EventCategory) Reset() {
+	*x = EventCategory{}
+	mi := &file_voltha_protos_events_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventCategory) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventCategory) ProtoMessage() {}
+
+func (x *EventCategory) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[16]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventCategory.ProtoReflect.Descriptor instead.
 func (*EventCategory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{16}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{16}
 }
 
-func (m *EventCategory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventCategory.Unmarshal(m, b)
-}
-func (m *EventCategory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventCategory.Marshal(b, m, deterministic)
-}
-func (m *EventCategory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventCategory.Merge(m, src)
-}
-func (m *EventCategory) XXX_Size() int {
-	return xxx_messageInfo_EventCategory.Size(m)
-}
-func (m *EventCategory) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventCategory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventCategory proto.InternalMessageInfo
-
-//
 // Identify the functional category originating the event
 type EventSubCategory struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventSubCategory) Reset()         { *m = EventSubCategory{} }
-func (m *EventSubCategory) String() string { return proto.CompactTextString(m) }
-func (*EventSubCategory) ProtoMessage()    {}
+func (x *EventSubCategory) Reset() {
+	*x = EventSubCategory{}
+	mi := &file_voltha_protos_events_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventSubCategory) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventSubCategory) ProtoMessage() {}
+
+func (x *EventSubCategory) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[17]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventSubCategory.ProtoReflect.Descriptor instead.
 func (*EventSubCategory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{17}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{17}
 }
 
-func (m *EventSubCategory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventSubCategory.Unmarshal(m, b)
-}
-func (m *EventSubCategory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventSubCategory.Marshal(b, m, deterministic)
-}
-func (m *EventSubCategory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventSubCategory.Merge(m, src)
-}
-func (m *EventSubCategory) XXX_Size() int {
-	return xxx_messageInfo_EventSubCategory.Size(m)
-}
-func (m *EventSubCategory) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventSubCategory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventSubCategory proto.InternalMessageInfo
-
-//
 // Identify the type of event
 type EventType struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventType) Reset()         { *m = EventType{} }
-func (m *EventType) String() string { return proto.CompactTextString(m) }
-func (*EventType) ProtoMessage()    {}
+func (x *EventType) Reset() {
+	*x = EventType{}
+	mi := &file_voltha_protos_events_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventType) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventType) ProtoMessage() {}
+
+func (x *EventType) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[18]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventType.ProtoReflect.Descriptor instead.
 func (*EventType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{18}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{18}
 }
 
-func (m *EventType) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventType.Unmarshal(m, b)
-}
-func (m *EventType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventType.Marshal(b, m, deterministic)
-}
-func (m *EventType) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventType.Merge(m, src)
-}
-func (m *EventType) XXX_Size() int {
-	return xxx_messageInfo_EventType.Size(m)
-}
-func (m *EventType) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventType.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventType proto.InternalMessageInfo
-
-//
 // Identify the functional category originating the event
 type EventHeader struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Unique ID for this event.  e.g. voltha.some_olt.1234
 	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 	// Refers to the functional area affect by the event
@@ -1236,140 +1449,210 @@
 	// the event was first raised from the source entity.
 	// If the source entity doesn't send the raised_ts, this shall be set
 	// to timestamp when the event was received.
-	RaisedTs *timestamp.Timestamp `protobuf:"bytes,6,opt,name=raised_ts,json=raisedTs,proto3" json:"raised_ts,omitempty"`
+	RaisedTs *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=raised_ts,json=raisedTs,proto3" json:"raised_ts,omitempty"`
 	// Timestamp at which the event was reported.
 	// This represents the UTC time stamp since epoch (in seconds) when the
 	// the event was reported (this time stamp is >= raised_ts).
 	// If the source entity that reported this event doesn't send the
 	// reported_ts, this shall be set to the same value as raised_ts.
-	ReportedTs           *timestamp.Timestamp `protobuf:"bytes,7,opt,name=reported_ts,json=reportedTs,proto3" json:"reported_ts,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
+	ReportedTs    *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=reported_ts,json=reportedTs,proto3" json:"reported_ts,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *EventHeader) Reset()         { *m = EventHeader{} }
-func (m *EventHeader) String() string { return proto.CompactTextString(m) }
-func (*EventHeader) ProtoMessage()    {}
+func (x *EventHeader) Reset() {
+	*x = EventHeader{}
+	mi := &file_voltha_protos_events_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *EventHeader) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventHeader) ProtoMessage() {}
+
+func (x *EventHeader) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[19]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventHeader.ProtoReflect.Descriptor instead.
 func (*EventHeader) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{19}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{19}
 }
 
-func (m *EventHeader) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EventHeader.Unmarshal(m, b)
-}
-func (m *EventHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EventHeader.Marshal(b, m, deterministic)
-}
-func (m *EventHeader) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EventHeader.Merge(m, src)
-}
-func (m *EventHeader) XXX_Size() int {
-	return xxx_messageInfo_EventHeader.Size(m)
-}
-func (m *EventHeader) XXX_DiscardUnknown() {
-	xxx_messageInfo_EventHeader.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EventHeader proto.InternalMessageInfo
-
-func (m *EventHeader) GetId() string {
-	if m != nil {
-		return m.Id
+func (x *EventHeader) GetId() string {
+	if x != nil {
+		return x.Id
 	}
 	return ""
 }
 
-func (m *EventHeader) GetCategory() EventCategory_Types {
-	if m != nil {
-		return m.Category
+func (x *EventHeader) GetCategory() EventCategory_Types {
+	if x != nil {
+		return x.Category
 	}
 	return EventCategory_COMMUNICATION
 }
 
-func (m *EventHeader) GetSubCategory() EventSubCategory_Types {
-	if m != nil {
-		return m.SubCategory
+func (x *EventHeader) GetSubCategory() EventSubCategory_Types {
+	if x != nil {
+		return x.SubCategory
 	}
 	return EventSubCategory_PON
 }
 
-func (m *EventHeader) GetType() EventType_Types {
-	if m != nil {
-		return m.Type
+func (x *EventHeader) GetType() EventType_Types {
+	if x != nil {
+		return x.Type
 	}
 	return EventType_CONFIG_EVENT
 }
 
-func (m *EventHeader) GetTypeVersion() string {
-	if m != nil {
-		return m.TypeVersion
+func (x *EventHeader) GetTypeVersion() string {
+	if x != nil {
+		return x.TypeVersion
 	}
 	return ""
 }
 
-func (m *EventHeader) GetRaisedTs() *timestamp.Timestamp {
-	if m != nil {
-		return m.RaisedTs
+func (x *EventHeader) GetRaisedTs() *timestamppb.Timestamp {
+	if x != nil {
+		return x.RaisedTs
 	}
 	return nil
 }
 
-func (m *EventHeader) GetReportedTs() *timestamp.Timestamp {
-	if m != nil {
-		return m.ReportedTs
+func (x *EventHeader) GetReportedTs() *timestamppb.Timestamp {
+	if x != nil {
+		return x.ReportedTs
 	}
 	return nil
 }
 
-//
 // Event Structure
 type Event struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// event header
 	Header *EventHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
 	// oneof event types referred by EventType.
 	//
 	// Types that are valid to be assigned to EventType:
+	//
 	//	*Event_ConfigEvent
 	//	*Event_KpiEvent
 	//	*Event_KpiEvent2
 	//	*Event_DeviceEvent
 	//	*Event_RpcEvent
 	//	*Event_KpiEvent3
-	EventType            isEvent_EventType `protobuf_oneof:"event_type"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	EventType     isEvent_EventType `protobuf_oneof:"event_type"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *Event) Reset()         { *m = Event{} }
-func (m *Event) String() string { return proto.CompactTextString(m) }
-func (*Event) ProtoMessage()    {}
+func (x *Event) Reset() {
+	*x = Event{}
+	mi := &file_voltha_protos_events_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Event) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Event) ProtoMessage() {}
+
+func (x *Event) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_events_proto_msgTypes[20]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use Event.ProtoReflect.Descriptor instead.
 func (*Event) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{20}
+	return file_voltha_protos_events_proto_rawDescGZIP(), []int{20}
 }
 
-func (m *Event) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Event.Unmarshal(m, b)
-}
-func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Event.Marshal(b, m, deterministic)
-}
-func (m *Event) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Event.Merge(m, src)
-}
-func (m *Event) XXX_Size() int {
-	return xxx_messageInfo_Event.Size(m)
-}
-func (m *Event) XXX_DiscardUnknown() {
-	xxx_messageInfo_Event.DiscardUnknown(m)
+func (x *Event) GetHeader() *EventHeader {
+	if x != nil {
+		return x.Header
+	}
+	return nil
 }
 
-var xxx_messageInfo_Event proto.InternalMessageInfo
+func (x *Event) GetEventType() isEvent_EventType {
+	if x != nil {
+		return x.EventType
+	}
+	return nil
+}
 
-func (m *Event) GetHeader() *EventHeader {
-	if m != nil {
-		return m.Header
+func (x *Event) GetConfigEvent() *ConfigEvent {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_ConfigEvent); ok {
+			return x.ConfigEvent
+		}
+	}
+	return nil
+}
+
+func (x *Event) GetKpiEvent() *KpiEvent {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_KpiEvent); ok {
+			return x.KpiEvent
+		}
+	}
+	return nil
+}
+
+func (x *Event) GetKpiEvent2() *KpiEvent2 {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_KpiEvent2); ok {
+			return x.KpiEvent2
+		}
+	}
+	return nil
+}
+
+func (x *Event) GetDeviceEvent() *DeviceEvent {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_DeviceEvent); ok {
+			return x.DeviceEvent
+		}
+	}
+	return nil
+}
+
+func (x *Event) GetRpcEvent() *RPCEvent {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_RpcEvent); ok {
+			return x.RpcEvent
+		}
+	}
+	return nil
+}
+
+func (x *Event) GetKpiEvent3() *KpiEvent3 {
+	if x != nil {
+		if x, ok := x.EventType.(*Event_KpiEvent3); ok {
+			return x.KpiEvent3
+		}
 	}
 	return nil
 }
@@ -1379,26 +1662,32 @@
 }
 
 type Event_ConfigEvent struct {
+	// Refers to ConfigEvent
 	ConfigEvent *ConfigEvent `protobuf:"bytes,2,opt,name=config_event,json=configEvent,proto3,oneof"`
 }
 
 type Event_KpiEvent struct {
+	// Refers to KpiEvent
 	KpiEvent *KpiEvent `protobuf:"bytes,3,opt,name=kpi_event,json=kpiEvent,proto3,oneof"`
 }
 
 type Event_KpiEvent2 struct {
+	// Refers to KpiEvent2
 	KpiEvent2 *KpiEvent2 `protobuf:"bytes,4,opt,name=kpi_event2,json=kpiEvent2,proto3,oneof"`
 }
 
 type Event_DeviceEvent struct {
+	// Refers to DeviceEvent
 	DeviceEvent *DeviceEvent `protobuf:"bytes,5,opt,name=device_event,json=deviceEvent,proto3,oneof"`
 }
 
 type Event_RpcEvent struct {
+	// Refers to an RPC Event
 	RpcEvent *RPCEvent `protobuf:"bytes,6,opt,name=rpc_event,json=rpcEvent,proto3,oneof"`
 }
 
 type Event_KpiEvent3 struct {
+	// Refers to KpiEvent3 (64-bit counter support)
 	KpiEvent3 *KpiEvent3 `protobuf:"bytes,7,opt,name=kpi_event3,json=kpiEvent3,proto3,oneof"`
 }
 
@@ -1414,58 +1703,262 @@
 
 func (*Event_KpiEvent3) isEvent_EventType() {}
 
-func (m *Event) GetEventType() isEvent_EventType {
-	if m != nil {
-		return m.EventType
-	}
-	return nil
+var File_voltha_protos_events_proto protoreflect.FileDescriptor
+
+const file_voltha_protos_events_proto_rawDesc = "" +
+	"\n" +
+	"\x1avoltha_protos/events.proto\x12\x05event\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1avoltha_protos/common.proto\"\x9e\x01\n" +
+	"\x12EventFilterRuleKey\"\x87\x01\n" +
+	"\x13EventFilterRuleType\x12\x0e\n" +
+	"\n" +
+	"filter_all\x10\x00\x12\f\n" +
+	"\bcategory\x10\x01\x12\x10\n" +
+	"\fsub_category\x10\x02\x12\x12\n" +
+	"\x0ekpi_event_type\x10\x03\x12\x15\n" +
+	"\x11config_event_type\x10\x04\x12\x15\n" +
+	"\x11device_event_type\x10\x05\"h\n" +
+	"\x0fEventFilterRule\x12?\n" +
+	"\x03key\x18\x01 \x01(\x0e2-.event.EventFilterRuleKey.EventFilterRuleTypeR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value\"\x9f\x01\n" +
+	"\vEventFilter\x12\x0e\n" +
+	"\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +
+	"\x06enable\x18\x02 \x01(\bR\x06enable\x12\x1b\n" +
+	"\tdevice_id\x18\x03 \x01(\tR\bdeviceId\x12\x1d\n" +
+	"\n" +
+	"event_type\x18\x04 \x01(\tR\teventType\x12,\n" +
+	"\x05rules\x18\x05 \x03(\v2\x16.event.EventFilterRuleR\x05rules\"<\n" +
+	"\fEventFilters\x12,\n" +
+	"\afilters\x18\x01 \x03(\v2\x12.event.EventFilterR\afilters\";\n" +
+	"\x0fConfigEventType\"(\n" +
+	"\x05Types\x12\a\n" +
+	"\x03add\x10\x00\x12\n" +
+	"\n" +
+	"\x06remove\x10\x01\x12\n" +
+	"\n" +
+	"\x06update\x10\x02\"g\n" +
+	"\vConfigEvent\x120\n" +
+	"\x04type\x18\x01 \x01(\x0e2\x1c.event.ConfigEventType.TypesR\x04type\x12\x12\n" +
+	"\x04hash\x18\x02 \x01(\tR\x04hash\x12\x12\n" +
+	"\x04data\x18\x03 \x01(\tR\x04data\"*\n" +
+	"\fKpiEventType\"\x1a\n" +
+	"\x05Types\x12\t\n" +
+	"\x05slice\x10\x00\x12\x06\n" +
+	"\x02ts\x10\x01\"\xaa\x02\n" +
+	"\x0eMetricMetaData\x12\x14\n" +
+	"\x05title\x18\x01 \x01(\tR\x05title\x12\x0e\n" +
+	"\x02ts\x18\x02 \x01(\x01R\x02ts\x12*\n" +
+	"\x11logical_device_id\x18\x03 \x01(\tR\x0flogicalDeviceId\x12\x1b\n" +
+	"\tserial_no\x18\x04 \x01(\tR\bserialNo\x12\x1b\n" +
+	"\tdevice_id\x18\x05 \x01(\tR\bdeviceId\x12<\n" +
+	"\acontext\x18\x06 \x03(\v2\".event.MetricMetaData.ContextEntryR\acontext\x12\x12\n" +
+	"\x04uuid\x18\a \x01(\tR\x04uuid\x1a:\n" +
+	"\fContextEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x8e\x01\n" +
+	"\x10MetricValuePairs\x12>\n" +
+	"\ametrics\x18\x01 \x03(\v2$.event.MetricValuePairs.MetricsEntryR\ametrics\x1a:\n" +
+	"\fMetricsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01\"\xc3\x01\n" +
+	"\x11MetricInformation\x121\n" +
+	"\bmetadata\x18\x01 \x01(\v2\x15.event.MetricMetaDataR\bmetadata\x12?\n" +
+	"\ametrics\x18\x02 \x03(\v2%.event.MetricInformation.MetricsEntryR\ametrics\x1a:\n" +
+	"\fMetricsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01\"\xc7\x01\n" +
+	"\x13MetricInformation64\x121\n" +
+	"\bmetadata\x18\x01 \x01(\v2\x15.event.MetricMetaDataR\bmetadata\x12A\n" +
+	"\ametrics\x18\x02 \x03(\v2'.event.MetricInformation64.MetricsEntryR\ametrics\x1a:\n" +
+	"\fMetricsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\x01R\x05value:\x028\x01\"\xda\x01\n" +
+	"\bKpiEvent\x12-\n" +
+	"\x04type\x18\x01 \x01(\x0e2\x19.event.KpiEventType.TypesR\x04type\x12\x0e\n" +
+	"\x02ts\x18\x02 \x01(\x02R\x02ts\x129\n" +
+	"\bprefixes\x18\x03 \x03(\v2\x1d.event.KpiEvent.PrefixesEntryR\bprefixes\x1aT\n" +
+	"\rPrefixesEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12-\n" +
+	"\x05value\x18\x02 \x01(\v2\x17.event.MetricValuePairsR\x05value:\x028\x01\"\x83\x01\n" +
+	"\tKpiEvent2\x12-\n" +
+	"\x04type\x18\x01 \x01(\x0e2\x19.event.KpiEventType.TypesR\x04type\x12\x0e\n" +
+	"\x02ts\x18\x02 \x01(\x01R\x02ts\x127\n" +
+	"\n" +
+	"slice_data\x18\x03 \x03(\v2\x18.event.MetricInformationR\tsliceData\"\x85\x01\n" +
+	"\tKpiEvent3\x12-\n" +
+	"\x04type\x18\x01 \x01(\x0e2\x19.event.KpiEventType.TypesR\x04type\x12\x0e\n" +
+	"\x02ts\x18\x02 \x01(\x01R\x02ts\x129\n" +
+	"\n" +
+	"slice_data\x18\x03 \x03(\v2\x1a.event.MetricInformation64R\tsliceData\"\xf3\x01\n" +
+	"\vDeviceEvent\x12\x1f\n" +
+	"\vresource_id\x18\x01 \x01(\tR\n" +
+	"resourceId\x12*\n" +
+	"\x11device_event_name\x18\x02 \x01(\tR\x0fdeviceEventName\x12 \n" +
+	"\vdescription\x18\x03 \x01(\tR\vdescription\x129\n" +
+	"\acontext\x18\x04 \x03(\v2\x1f.event.DeviceEvent.ContextEntryR\acontext\x1a:\n" +
+	"\fContextEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xda\x02\n" +
+	"\bRPCEvent\x12\x10\n" +
+	"\x03rpc\x18\x01 \x01(\tR\x03rpc\x12!\n" +
+	"\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x18\n" +
+	"\aservice\x18\x03 \x01(\tR\aservice\x12\x19\n" +
+	"\bstack_id\x18\x04 \x01(\tR\astackId\x12\x1f\n" +
+	"\vresource_id\x18\x05 \x01(\tR\n" +
+	"resourceId\x12 \n" +
+	"\vdescription\x18\x06 \x01(\tR\vdescription\x126\n" +
+	"\acontext\x18\a \x03(\v2\x1c.event.RPCEvent.ContextEntryR\acontext\x12-\n" +
+	"\x06status\x18\b \x01(\v2\x15.common.OperationRespR\x06status\x1a:\n" +
+	"\fContextEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"v\n" +
+	"\rEventCategory\"e\n" +
+	"\x05Types\x12\x11\n" +
+	"\rCOMMUNICATION\x10\x00\x12\x0f\n" +
+	"\vENVIRONMENT\x10\x01\x12\r\n" +
+	"\tEQUIPMENT\x10\x02\x12\v\n" +
+	"\aSERVICE\x10\x03\x12\x0e\n" +
+	"\n" +
+	"PROCESSING\x10\x04\x12\f\n" +
+	"\bSECURITY\x10\x05\"R\n" +
+	"\x10EventSubCategory\">\n" +
+	"\x05Types\x12\a\n" +
+	"\x03PON\x10\x00\x12\a\n" +
+	"\x03OLT\x10\x01\x12\a\n" +
+	"\x03ONT\x10\x02\x12\a\n" +
+	"\x03ONU\x10\x03\x12\a\n" +
+	"\x03NNI\x10\x04\x12\b\n" +
+	"\x04NONE\x10\x05\"v\n" +
+	"\tEventType\"i\n" +
+	"\x05Types\x12\x10\n" +
+	"\fCONFIG_EVENT\x10\x00\x12\r\n" +
+	"\tKPI_EVENT\x10\x01\x12\x0e\n" +
+	"\n" +
+	"KPI_EVENT2\x10\x02\x12\x10\n" +
+	"\fDEVICE_EVENT\x10\x03\x12\r\n" +
+	"\tRPC_EVENT\x10\x04\x12\x0e\n" +
+	"\n" +
+	"KPI_EVENT3\x10\x05\"\xdc\x02\n" +
+	"\vEventHeader\x12\x0e\n" +
+	"\x02id\x18\x01 \x01(\tR\x02id\x126\n" +
+	"\bcategory\x18\x02 \x01(\x0e2\x1a.event.EventCategory.TypesR\bcategory\x12@\n" +
+	"\fsub_category\x18\x03 \x01(\x0e2\x1d.event.EventSubCategory.TypesR\vsubCategory\x12*\n" +
+	"\x04type\x18\x04 \x01(\x0e2\x16.event.EventType.TypesR\x04type\x12!\n" +
+	"\ftype_version\x18\x05 \x01(\tR\vtypeVersion\x127\n" +
+	"\traised_ts\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\braisedTs\x12;\n" +
+	"\vreported_ts\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\n" +
+	"reportedTs\"\xf9\x02\n" +
+	"\x05Event\x12*\n" +
+	"\x06header\x18\x01 \x01(\v2\x12.event.EventHeaderR\x06header\x127\n" +
+	"\fconfig_event\x18\x02 \x01(\v2\x12.event.ConfigEventH\x00R\vconfigEvent\x12.\n" +
+	"\tkpi_event\x18\x03 \x01(\v2\x0f.event.KpiEventH\x00R\bkpiEvent\x121\n" +
+	"\n" +
+	"kpi_event2\x18\x04 \x01(\v2\x10.event.KpiEvent2H\x00R\tkpiEvent2\x127\n" +
+	"\fdevice_event\x18\x05 \x01(\v2\x12.event.DeviceEventH\x00R\vdeviceEvent\x12.\n" +
+	"\trpc_event\x18\x06 \x01(\v2\x0f.event.RPCEventH\x00R\brpcEvent\x121\n" +
+	"\n" +
+	"kpi_event3\x18\a \x01(\v2\x10.event.KpiEvent3H\x00R\tkpiEvent3B\f\n" +
+	"\n" +
+	"event_typeBL\n" +
+	"\x1aorg.opencord.voltha.eventsZ.github.com/opencord/voltha-protos/v5/go/volthab\x06proto3"
+
+var (
+	file_voltha_protos_events_proto_rawDescOnce sync.Once
+	file_voltha_protos_events_proto_rawDescData []byte
+)
+
+func file_voltha_protos_events_proto_rawDescGZIP() []byte {
+	file_voltha_protos_events_proto_rawDescOnce.Do(func() {
+		file_voltha_protos_events_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_voltha_protos_events_proto_rawDesc), len(file_voltha_protos_events_proto_rawDesc)))
+	})
+	return file_voltha_protos_events_proto_rawDescData
 }
 
-func (m *Event) GetConfigEvent() *ConfigEvent {
-	if x, ok := m.GetEventType().(*Event_ConfigEvent); ok {
-		return x.ConfigEvent
-	}
-	return nil
+var file_voltha_protos_events_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
+var file_voltha_protos_events_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
+var file_voltha_protos_events_proto_goTypes = []any{
+	(EventFilterRuleKey_EventFilterRuleType)(0), // 0: event.EventFilterRuleKey.EventFilterRuleType
+	(ConfigEventType_Types)(0),                  // 1: event.ConfigEventType.Types
+	(KpiEventType_Types)(0),                     // 2: event.KpiEventType.Types
+	(EventCategory_Types)(0),                    // 3: event.EventCategory.Types
+	(EventSubCategory_Types)(0),                 // 4: event.EventSubCategory.Types
+	(EventType_Types)(0),                        // 5: event.EventType.Types
+	(*EventFilterRuleKey)(nil),                  // 6: event.EventFilterRuleKey
+	(*EventFilterRule)(nil),                     // 7: event.EventFilterRule
+	(*EventFilter)(nil),                         // 8: event.EventFilter
+	(*EventFilters)(nil),                        // 9: event.EventFilters
+	(*ConfigEventType)(nil),                     // 10: event.ConfigEventType
+	(*ConfigEvent)(nil),                         // 11: event.ConfigEvent
+	(*KpiEventType)(nil),                        // 12: event.KpiEventType
+	(*MetricMetaData)(nil),                      // 13: event.MetricMetaData
+	(*MetricValuePairs)(nil),                    // 14: event.MetricValuePairs
+	(*MetricInformation)(nil),                   // 15: event.MetricInformation
+	(*MetricInformation64)(nil),                 // 16: event.MetricInformation64
+	(*KpiEvent)(nil),                            // 17: event.KpiEvent
+	(*KpiEvent2)(nil),                           // 18: event.KpiEvent2
+	(*KpiEvent3)(nil),                           // 19: event.KpiEvent3
+	(*DeviceEvent)(nil),                         // 20: event.DeviceEvent
+	(*RPCEvent)(nil),                            // 21: event.RPCEvent
+	(*EventCategory)(nil),                       // 22: event.EventCategory
+	(*EventSubCategory)(nil),                    // 23: event.EventSubCategory
+	(*EventType)(nil),                           // 24: event.EventType
+	(*EventHeader)(nil),                         // 25: event.EventHeader
+	(*Event)(nil),                               // 26: event.Event
+	nil,                                         // 27: event.MetricMetaData.ContextEntry
+	nil,                                         // 28: event.MetricValuePairs.MetricsEntry
+	nil,                                         // 29: event.MetricInformation.MetricsEntry
+	nil,                                         // 30: event.MetricInformation64.MetricsEntry
+	nil,                                         // 31: event.KpiEvent.PrefixesEntry
+	nil,                                         // 32: event.DeviceEvent.ContextEntry
+	nil,                                         // 33: event.RPCEvent.ContextEntry
+	(*common.OperationResp)(nil),                // 34: common.OperationResp
+	(*timestamppb.Timestamp)(nil),               // 35: google.protobuf.Timestamp
+}
+var file_voltha_protos_events_proto_depIdxs = []int32{
+	0,  // 0: event.EventFilterRule.key:type_name -> event.EventFilterRuleKey.EventFilterRuleType
+	7,  // 1: event.EventFilter.rules:type_name -> event.EventFilterRule
+	8,  // 2: event.EventFilters.filters:type_name -> event.EventFilter
+	1,  // 3: event.ConfigEvent.type:type_name -> event.ConfigEventType.Types
+	27, // 4: event.MetricMetaData.context:type_name -> event.MetricMetaData.ContextEntry
+	28, // 5: event.MetricValuePairs.metrics:type_name -> event.MetricValuePairs.MetricsEntry
+	13, // 6: event.MetricInformation.metadata:type_name -> event.MetricMetaData
+	29, // 7: event.MetricInformation.metrics:type_name -> event.MetricInformation.MetricsEntry
+	13, // 8: event.MetricInformation64.metadata:type_name -> event.MetricMetaData
+	30, // 9: event.MetricInformation64.metrics:type_name -> event.MetricInformation64.MetricsEntry
+	2,  // 10: event.KpiEvent.type:type_name -> event.KpiEventType.Types
+	31, // 11: event.KpiEvent.prefixes:type_name -> event.KpiEvent.PrefixesEntry
+	2,  // 12: event.KpiEvent2.type:type_name -> event.KpiEventType.Types
+	15, // 13: event.KpiEvent2.slice_data:type_name -> event.MetricInformation
+	2,  // 14: event.KpiEvent3.type:type_name -> event.KpiEventType.Types
+	16, // 15: event.KpiEvent3.slice_data:type_name -> event.MetricInformation64
+	32, // 16: event.DeviceEvent.context:type_name -> event.DeviceEvent.ContextEntry
+	33, // 17: event.RPCEvent.context:type_name -> event.RPCEvent.ContextEntry
+	34, // 18: event.RPCEvent.status:type_name -> common.OperationResp
+	3,  // 19: event.EventHeader.category:type_name -> event.EventCategory.Types
+	4,  // 20: event.EventHeader.sub_category:type_name -> event.EventSubCategory.Types
+	5,  // 21: event.EventHeader.type:type_name -> event.EventType.Types
+	35, // 22: event.EventHeader.raised_ts:type_name -> google.protobuf.Timestamp
+	35, // 23: event.EventHeader.reported_ts:type_name -> google.protobuf.Timestamp
+	25, // 24: event.Event.header:type_name -> event.EventHeader
+	11, // 25: event.Event.config_event:type_name -> event.ConfigEvent
+	17, // 26: event.Event.kpi_event:type_name -> event.KpiEvent
+	18, // 27: event.Event.kpi_event2:type_name -> event.KpiEvent2
+	20, // 28: event.Event.device_event:type_name -> event.DeviceEvent
+	21, // 29: event.Event.rpc_event:type_name -> event.RPCEvent
+	19, // 30: event.Event.kpi_event3:type_name -> event.KpiEvent3
+	14, // 31: event.KpiEvent.PrefixesEntry.value:type_name -> event.MetricValuePairs
+	32, // [32:32] is the sub-list for method output_type
+	32, // [32:32] is the sub-list for method input_type
+	32, // [32:32] is the sub-list for extension type_name
+	32, // [32:32] is the sub-list for extension extendee
+	0,  // [0:32] is the sub-list for field type_name
 }
 
-func (m *Event) GetKpiEvent() *KpiEvent {
-	if x, ok := m.GetEventType().(*Event_KpiEvent); ok {
-		return x.KpiEvent
+func init() { file_voltha_protos_events_proto_init() }
+func file_voltha_protos_events_proto_init() {
+	if File_voltha_protos_events_proto != nil {
+		return
 	}
-	return nil
-}
-
-func (m *Event) GetKpiEvent2() *KpiEvent2 {
-	if x, ok := m.GetEventType().(*Event_KpiEvent2); ok {
-		return x.KpiEvent2
-	}
-	return nil
-}
-
-func (m *Event) GetDeviceEvent() *DeviceEvent {
-	if x, ok := m.GetEventType().(*Event_DeviceEvent); ok {
-		return x.DeviceEvent
-	}
-	return nil
-}
-
-func (m *Event) GetRpcEvent() *RPCEvent {
-	if x, ok := m.GetEventType().(*Event_RpcEvent); ok {
-		return x.RpcEvent
-	}
-	return nil
-}
-
-func (m *Event) GetKpiEvent3() *KpiEvent3 {
-	if x, ok := m.GetEventType().(*Event_KpiEvent3); ok {
-		return x.KpiEvent3
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Event) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
+	file_voltha_protos_events_proto_msgTypes[20].OneofWrappers = []any{
 		(*Event_ConfigEvent)(nil),
 		(*Event_KpiEvent)(nil),
 		(*Event_KpiEvent2)(nil),
@@ -1473,141 +1966,22 @@
 		(*Event_RpcEvent)(nil),
 		(*Event_KpiEvent3)(nil),
 	}
-}
-
-func init() {
-	proto.RegisterEnum("event.EventFilterRuleKey_EventFilterRuleType", EventFilterRuleKey_EventFilterRuleType_name, EventFilterRuleKey_EventFilterRuleType_value)
-	proto.RegisterEnum("event.ConfigEventType_Types", ConfigEventType_Types_name, ConfigEventType_Types_value)
-	proto.RegisterEnum("event.KpiEventType_Types", KpiEventType_Types_name, KpiEventType_Types_value)
-	proto.RegisterEnum("event.EventCategory_Types", EventCategory_Types_name, EventCategory_Types_value)
-	proto.RegisterEnum("event.EventSubCategory_Types", EventSubCategory_Types_name, EventSubCategory_Types_value)
-	proto.RegisterEnum("event.EventType_Types", EventType_Types_name, EventType_Types_value)
-	proto.RegisterType((*EventFilterRuleKey)(nil), "event.EventFilterRuleKey")
-	proto.RegisterType((*EventFilterRule)(nil), "event.EventFilterRule")
-	proto.RegisterType((*EventFilter)(nil), "event.EventFilter")
-	proto.RegisterType((*EventFilters)(nil), "event.EventFilters")
-	proto.RegisterType((*ConfigEventType)(nil), "event.ConfigEventType")
-	proto.RegisterType((*ConfigEvent)(nil), "event.ConfigEvent")
-	proto.RegisterType((*KpiEventType)(nil), "event.KpiEventType")
-	proto.RegisterType((*MetricMetaData)(nil), "event.MetricMetaData")
-	proto.RegisterMapType((map[string]string)(nil), "event.MetricMetaData.ContextEntry")
-	proto.RegisterType((*MetricValuePairs)(nil), "event.MetricValuePairs")
-	proto.RegisterMapType((map[string]float32)(nil), "event.MetricValuePairs.MetricsEntry")
-	proto.RegisterType((*MetricInformation)(nil), "event.MetricInformation")
-	proto.RegisterMapType((map[string]float32)(nil), "event.MetricInformation.MetricsEntry")
-	proto.RegisterType((*MetricInformation64)(nil), "event.MetricInformation64")
-	proto.RegisterMapType((map[string]float64)(nil), "event.MetricInformation64.MetricsEntry")
-	proto.RegisterType((*KpiEvent)(nil), "event.KpiEvent")
-	proto.RegisterMapType((map[string]*MetricValuePairs)(nil), "event.KpiEvent.PrefixesEntry")
-	proto.RegisterType((*KpiEvent2)(nil), "event.KpiEvent2")
-	proto.RegisterType((*KpiEvent3)(nil), "event.KpiEvent3")
-	proto.RegisterType((*DeviceEvent)(nil), "event.DeviceEvent")
-	proto.RegisterMapType((map[string]string)(nil), "event.DeviceEvent.ContextEntry")
-	proto.RegisterType((*RPCEvent)(nil), "event.RPCEvent")
-	proto.RegisterMapType((map[string]string)(nil), "event.RPCEvent.ContextEntry")
-	proto.RegisterType((*EventCategory)(nil), "event.EventCategory")
-	proto.RegisterType((*EventSubCategory)(nil), "event.EventSubCategory")
-	proto.RegisterType((*EventType)(nil), "event.EventType")
-	proto.RegisterType((*EventHeader)(nil), "event.EventHeader")
-	proto.RegisterType((*Event)(nil), "event.Event")
-}
-
-func init() { proto.RegisterFile("voltha_protos/events.proto", fileDescriptor_e63e6c07044fd2c4) }
-
-var fileDescriptor_e63e6c07044fd2c4 = []byte{
-	// 1493 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0xdb, 0x46,
-	0x10, 0x16, 0xa9, 0xff, 0xa1, 0x6c, 0xd3, 0x9b, 0x26, 0x55, 0x94, 0x04, 0x71, 0x88, 0x16, 0x35,
-	0x8c, 0x58, 0x6e, 0xe4, 0xd4, 0x6e, 0x7e, 0x90, 0x34, 0x51, 0x94, 0x98, 0x48, 0x2c, 0xa9, 0xb4,
-	0x6c, 0xa0, 0xbd, 0x08, 0x34, 0xb9, 0x96, 0x09, 0x4b, 0x22, 0xc1, 0x5d, 0x09, 0xf1, 0xb9, 0x28,
-	0x7a, 0xeb, 0x23, 0xb4, 0xf7, 0xbe, 0x46, 0x0f, 0x7d, 0x87, 0xa0, 0x6f, 0xd1, 0x53, 0x6f, 0xc5,
-	0xfe, 0x50, 0x22, 0x69, 0xb9, 0x01, 0x92, 0xf6, 0x44, 0xee, 0xec, 0xcc, 0xce, 0x37, 0xdf, 0xec,
-	0xce, 0xce, 0x42, 0x6d, 0xea, 0x0f, 0xe9, 0xa9, 0xdd, 0x0f, 0x42, 0x9f, 0xfa, 0x64, 0x0b, 0x4f,
-	0xf1, 0x98, 0x92, 0x3a, 0x1f, 0xa1, 0x3c, 0x1f, 0xd5, 0x6e, 0x0e, 0x7c, 0x7f, 0x30, 0xc4, 0x5b,
-	0x76, 0xe0, 0x6d, 0xd9, 0xe3, 0xb1, 0x4f, 0x6d, 0xea, 0xf9, 0x63, 0xa9, 0x54, 0xbb, 0x2d, 0x67,
-	0xf9, 0xe8, 0x78, 0x72, 0xb2, 0x45, 0xbd, 0x11, 0x26, 0xd4, 0x1e, 0x05, 0x52, 0x21, 0xe5, 0xc1,
-	0xf1, 0x47, 0x23, 0x7f, 0x2c, 0xe6, 0x8c, 0x5f, 0x14, 0x40, 0x2d, 0xe6, 0xe4, 0xa5, 0x37, 0xa4,
-	0x38, 0xb4, 0x26, 0x43, 0xfc, 0x1a, 0x9f, 0x1b, 0x3f, 0x29, 0x70, 0x25, 0x25, 0xee, 0x9d, 0x07,
-	0x18, 0x2d, 0x03, 0x9c, 0x70, 0x49, 0xdf, 0x1e, 0x0e, 0xf5, 0x0c, 0xaa, 0x40, 0xc9, 0xb1, 0x29,
-	0x1e, 0xf8, 0xe1, 0xb9, 0xae, 0x20, 0x1d, 0x2a, 0x64, 0x72, 0xdc, 0x9f, 0x49, 0x54, 0x84, 0x60,
-	0xf9, 0x2c, 0xf0, 0xfa, 0x3c, 0x8c, 0x3e, 0x3d, 0x0f, 0xb0, 0x9e, 0x45, 0x57, 0x61, 0xd5, 0xf1,
-	0xc7, 0x27, 0xde, 0x20, 0x2e, 0xce, 0x31, 0xb1, 0x8b, 0xa7, 0x9e, 0x83, 0xe3, 0xe2, 0xbc, 0x71,
-	0x0a, 0x2b, 0x29, 0x20, 0xe8, 0x29, 0x64, 0xcf, 0xf0, 0x79, 0x55, 0x59, 0x53, 0xd6, 0x97, 0x1b,
-	0x9b, 0x75, 0xae, 0x5e, 0xbf, 0x18, 0x44, 0x7d, 0x41, 0x00, 0x16, 0xb3, 0x44, 0x9f, 0x40, 0x7e,
-	0x6a, 0x0f, 0x27, 0xb8, 0xaa, 0xae, 0x29, 0xeb, 0x65, 0x4b, 0x0c, 0x8c, 0x5f, 0x15, 0xd0, 0x62,
-	0x26, 0x68, 0x19, 0x54, 0xcf, 0xe5, 0x5e, 0xca, 0x96, 0xea, 0xb9, 0xe8, 0x1a, 0x14, 0xf0, 0xd8,
-	0x3e, 0x1e, 0x0a, 0xb3, 0x92, 0x25, 0x47, 0xe8, 0x06, 0x94, 0x25, 0x70, 0xcf, 0xad, 0x66, 0xb9,
-	0x7a, 0x49, 0x08, 0x4c, 0x17, 0xdd, 0x02, 0x98, 0x87, 0x53, 0xcd, 0xf1, 0xd9, 0x32, 0x97, 0x70,
-	0x3e, 0xef, 0x42, 0x3e, 0x9c, 0x0c, 0x31, 0xa9, 0xe6, 0xd7, 0xb2, 0xeb, 0x5a, 0xe3, 0xda, 0xe2,
-	0x60, 0x2c, 0xa1, 0x64, 0x3c, 0x86, 0x4a, 0x6c, 0x86, 0xa0, 0xbb, 0x50, 0x14, 0xd9, 0x20, 0x55,
-	0x85, 0xdb, 0xa3, 0x05, 0xf6, 0x91, 0x8a, 0xf1, 0x08, 0x56, 0x9a, 0x9c, 0xf7, 0x56, 0xe4, 0xde,
-	0x58, 0x87, 0x3c, 0xfb, 0x12, 0x54, 0x84, 0xac, 0xed, 0xba, 0x7a, 0x06, 0x01, 0x14, 0x42, 0x3c,
-	0xf2, 0xa7, 0x58, 0x57, 0xd8, 0xff, 0x24, 0x70, 0x6d, 0x8a, 0x75, 0xd5, 0x18, 0x80, 0x16, 0x33,
-	0x46, 0x5f, 0x42, 0x8e, 0x07, 0x24, 0x72, 0x70, 0x53, 0xba, 0x4d, 0x2d, 0x5f, 0xe7, 0x6b, 0x5b,
-	0x5c, 0x13, 0x21, 0xc8, 0x9d, 0xda, 0xe4, 0x54, 0x52, 0xce, 0xff, 0x99, 0xcc, 0xb5, 0xa9, 0x2d,
-	0x49, 0xe3, 0xff, 0xc6, 0x06, 0x54, 0x5e, 0x07, 0xde, 0x1c, 0x62, 0x2d, 0x82, 0x58, 0x86, 0x3c,
-	0x19, 0x7a, 0x0e, 0xd6, 0x33, 0xa8, 0x00, 0x2a, 0x25, 0xba, 0x62, 0xfc, 0xa6, 0xc2, 0xf2, 0x3e,
-	0xa6, 0xa1, 0xe7, 0xec, 0x63, 0x6a, 0xbf, 0xb0, 0xa9, 0xcd, 0x52, 0x4b, 0x3d, 0x3a, 0xc4, 0x32,
-	0x6f, 0x62, 0xc0, 0x52, 0x49, 0x09, 0x77, 0xad, 0x58, 0x2a, 0x25, 0x68, 0x03, 0x56, 0x87, 0xfe,
-	0xc0, 0x73, 0xec, 0x61, 0x3f, 0x9d, 0xba, 0x15, 0x39, 0xf1, 0x22, 0xca, 0xe0, 0x0d, 0x28, 0x13,
-	0x1c, 0x7a, 0xf6, 0xb0, 0x3f, 0xf6, 0x65, 0x02, 0x4b, 0x42, 0xd0, 0xf6, 0x93, 0xb9, 0xcf, 0xa7,
-	0x72, 0xff, 0x18, 0x8a, 0x8e, 0x3f, 0xa6, 0xf8, 0x2d, 0xad, 0x16, 0x78, 0x7a, 0x0c, 0xc9, 0x53,
-	0x12, 0x33, 0xa3, 0x8d, 0x29, 0xb5, 0xc6, 0x34, 0x3c, 0xb7, 0x22, 0x13, 0x46, 0xce, 0x64, 0xe2,
-	0xb9, 0xd5, 0xa2, 0x20, 0x87, 0xfd, 0xd7, 0x1e, 0x42, 0x25, 0xae, 0x8c, 0xf4, 0xf9, 0x49, 0x28,
-	0xff, 0xcb, 0xd6, 0x7e, 0xa8, 0x7e, 0xad, 0x18, 0x3f, 0x2b, 0xa0, 0x0b, 0xc7, 0x47, 0x4c, 0xd6,
-	0xb5, 0xbd, 0x90, 0xa0, 0x27, 0x50, 0x1c, 0x71, 0x59, 0xb4, 0x83, 0x3e, 0x4b, 0x40, 0x9c, 0x6b,
-	0x4a, 0x01, 0x91, 0x20, 0xa5, 0x11, 0x03, 0x14, 0x9f, 0x78, 0x1f, 0x20, 0x35, 0x0e, 0xe8, 0x77,
-	0x05, 0x56, 0x85, 0xb1, 0x39, 0x3e, 0xf1, 0xc3, 0x11, 0x2f, 0x6a, 0xe8, 0x1e, 0x94, 0x46, 0x98,
-	0xda, 0x7c, 0x5f, 0xb0, 0x65, 0xb4, 0xc6, 0xd5, 0x85, 0xac, 0x59, 0x33, 0x35, 0xf4, 0x74, 0x1e,
-	0x84, 0xca, 0x83, 0xf8, 0x3c, 0x61, 0x11, 0x5b, 0xfd, 0x7f, 0x88, 0xe2, 0x0f, 0x05, 0xae, 0x5c,
-	0xf0, 0xb3, 0x73, 0xff, 0x43, 0xe2, 0x78, 0x96, 0x8e, 0xe3, 0x8b, 0xcb, 0xe2, 0xd8, 0xb9, 0xff,
-	0xdf, 0x44, 0xa2, 0xc4, 0x23, 0x79, 0xa7, 0x40, 0x29, 0x3a, 0x7a, 0x68, 0x33, 0x71, 0xc0, 0xaf,
-	0x4b, 0x20, 0xf1, 0x93, 0x99, 0x38, 0xdd, 0xf3, 0x03, 0xa6, 0xf2, 0x03, 0xf6, 0x00, 0x4a, 0x41,
-	0x88, 0x4f, 0xbc, 0xb7, 0x98, 0x54, 0xb3, 0x3c, 0x96, 0x5b, 0xa9, 0x25, 0xea, 0x5d, 0x39, 0x2f,
-	0x22, 0x98, 0xa9, 0xd7, 0x7a, 0xb0, 0x94, 0x98, 0x5a, 0x10, 0xc3, 0x66, 0x3c, 0x06, 0xad, 0xf1,
-	0xe9, 0x25, 0x7b, 0x36, 0x1e, 0xdc, 0x0f, 0x0a, 0x94, 0x23, 0xd7, 0x8d, 0x0f, 0x8f, 0x4e, 0x94,
-	0x8f, 0x5d, 0x00, 0x5e, 0x8a, 0xfa, 0xb2, 0x7a, 0xb1, 0xf8, 0xaa, 0x97, 0xe5, 0xca, 0x2a, 0x73,
-	0x5d, 0x96, 0x6b, 0xe3, 0xc7, 0x18, 0x8a, 0xed, 0x8f, 0x45, 0xf1, 0x60, 0x01, 0x8a, 0xda, 0xe5,
-	0x3b, 0x26, 0x8e, 0xe3, 0x2f, 0x05, 0x34, 0x51, 0xe0, 0x44, 0xb6, 0x6f, 0x83, 0x16, 0x62, 0xe2,
-	0x4f, 0x42, 0x51, 0xc8, 0x04, 0xd5, 0x10, 0x89, 0x4c, 0x97, 0x15, 0xcc, 0xc4, 0xe5, 0x3c, 0xb6,
-	0x47, 0x51, 0x89, 0x59, 0x71, 0xe7, 0x0b, 0xb5, 0xed, 0x11, 0x46, 0x6b, 0xa0, 0xb9, 0x98, 0x38,
-	0xa1, 0x17, 0x30, 0xc7, 0xb2, 0xac, 0xc6, 0x45, 0xe8, 0xc1, 0xbc, 0x30, 0xe6, 0x38, 0xec, 0xdb,
-	0x12, 0x76, 0x0c, 0xd3, 0xe2, 0xaa, 0xf8, 0x51, 0x15, 0xf0, 0x9d, 0x0a, 0x25, 0xab, 0xdb, 0x14,
-	0x21, 0xeb, 0x90, 0x0d, 0x03, 0x27, 0x32, 0x0c, 0x03, 0x07, 0xdd, 0x81, 0x8a, 0x1f, 0xe0, 0x90,
-	0xd3, 0xc5, 0x58, 0x10, 0xf6, 0xda, 0x4c, 0x66, 0xba, 0xa8, 0x0a, 0x45, 0x82, 0x43, 0x86, 0x51,
-	0x86, 0x15, 0x0d, 0xd1, 0x75, 0x28, 0x11, 0x6a, 0x3b, 0x67, 0xcc, 0x30, 0x27, 0xa7, 0xd8, 0xd8,
-	0x74, 0xd3, 0xe4, 0xe6, 0x2f, 0x90, 0x9b, 0x22, 0xac, 0x70, 0x91, 0xb0, 0x9d, 0x39, 0x61, 0x45,
-	0x4e, 0x58, 0x74, 0xe3, 0x46, 0xe1, 0x5c, 0x72, 0x87, 0x6c, 0x42, 0x81, 0x50, 0x9b, 0x4e, 0x48,
-	0xb5, 0x24, 0x4b, 0x90, 0x6c, 0xfe, 0x3a, 0x51, 0x50, 0x16, 0x26, 0x81, 0x25, 0x95, 0x3e, 0x8a,
-	0xdc, 0x29, 0x2c, 0x71, 0x24, 0x4d, 0xd9, 0xfc, 0x19, 0x38, 0xba, 0xb8, 0x57, 0x61, 0xa9, 0xd9,
-	0xd9, 0xdf, 0x3f, 0x6c, 0x9b, 0xcd, 0x67, 0x3d, 0xb3, 0xd3, 0xd6, 0x33, 0x68, 0x05, 0xb4, 0x56,
-	0xfb, 0xc8, 0xb4, 0x3a, 0xed, 0xfd, 0x56, 0xbb, 0xa7, 0x2b, 0x68, 0x09, 0xca, 0xad, 0x6f, 0x0f,
-	0xcd, 0x2e, 0x1f, 0xaa, 0x48, 0x83, 0xe2, 0x41, 0xcb, 0x3a, 0x32, 0x9b, 0x2d, 0x3d, 0xcb, 0x7a,
-	0xce, 0xae, 0xd5, 0x69, 0xb6, 0x0e, 0x0e, 0xcc, 0xf6, 0x2b, 0x3d, 0xc7, 0x7a, 0xce, 0x83, 0x56,
-	0xf3, 0xd0, 0x32, 0x7b, 0xdf, 0xe9, 0x79, 0xc3, 0x02, 0x9d, 0xfb, 0x3d, 0x98, 0x1c, 0xcf, 0x5c,
-	0x3f, 0x89, 0xb5, 0x35, 0x5d, 0xee, 0xb0, 0x08, 0xd9, 0xce, 0x1b, 0xe6, 0x88, 0xfd, 0x70, 0x17,
-	0xfc, 0xe7, 0x50, 0xcf, 0xb2, 0x9f, 0x76, 0xdb, 0xd4, 0x73, 0xa8, 0x04, 0xb9, 0x76, 0xa7, 0xdd,
-	0xd2, 0xf3, 0xc6, 0x14, 0xca, 0xf3, 0x06, 0xc4, 0x8b, 0x16, 0xd3, 0xa1, 0xd2, 0xec, 0xb4, 0x5f,
-	0x9a, 0xaf, 0xfa, 0xad, 0x23, 0x06, 0x33, 0xc3, 0x50, 0xbf, 0xee, 0x9a, 0x72, 0xa8, 0x30, 0xa0,
-	0xb3, 0x61, 0x43, 0x57, 0x99, 0xc1, 0x8b, 0x16, 0x0b, 0x42, 0x6a, 0x64, 0x99, 0x81, 0xd5, 0x6d,
-	0xca, 0x61, 0x2e, 0x61, 0xb0, 0xad, 0xe7, 0x8d, 0x3f, 0x55, 0xd9, 0x81, 0xee, 0x61, 0xdb, 0x5d,
-	0xd0, 0x81, 0xee, 0xcc, 0xbb, 0x6d, 0x9e, 0x80, 0xe5, 0xd9, 0x79, 0x4f, 0x50, 0x2f, 0xab, 0xc6,
-	0x4c, 0x17, 0x7d, 0x93, 0xec, 0xcb, 0xf9, 0xde, 0x5d, 0x9e, 0x55, 0xe4, 0x34, 0x7d, 0xd2, 0x5c,
-	0x23, 0x73, 0x11, 0xda, 0x90, 0xa5, 0x2a, 0xc7, 0x2d, 0x13, 0x6d, 0xea, 0x85, 0x3a, 0x75, 0x07,
-	0x2a, 0xec, 0xdb, 0x9f, 0xe2, 0x90, 0xb0, 0xfd, 0x2c, 0x36, 0xbc, 0xc6, 0x64, 0x47, 0x42, 0x84,
-	0x76, 0xa1, 0x1c, 0xda, 0x1e, 0xc1, 0x6e, 0x9f, 0x12, 0xbe, 0xdf, 0x59, 0xe5, 0x12, 0xcf, 0x98,
-	0x7a, 0xf4, 0x8c, 0xa9, 0xf7, 0xa2, 0x67, 0x8c, 0x55, 0x12, 0xca, 0x3d, 0x82, 0x1e, 0xb1, 0xb3,
-	0x14, 0xf8, 0x21, 0x15, 0xa6, 0xc5, 0xf7, 0x9a, 0x42, 0xa4, 0xde, 0x23, 0xc6, 0xdf, 0x2a, 0xe4,
-	0xc5, 0xe1, 0xdf, 0x80, 0xc2, 0x29, 0xa7, 0x58, 0x5e, 0xcd, 0x89, 0xbe, 0x59, 0x90, 0x6f, 0x49,
-	0x0d, 0xb4, 0x0b, 0x95, 0xf8, 0x73, 0x45, 0xde, 0x39, 0xe8, 0x62, 0xcb, 0xbb, 0x97, 0xb1, 0x34,
-	0x27, 0xd6, 0x23, 0xd7, 0xa1, 0x3c, 0x7b, 0xfb, 0x70, 0xca, 0xb5, 0xc6, 0x4a, 0xaa, 0xc6, 0xef,
-	0x65, 0xac, 0xd2, 0x59, 0x74, 0xe5, 0xde, 0x03, 0x98, 0xe9, 0x37, 0x38, 0xd3, 0x5a, 0x43, 0x4f,
-	0x19, 0x34, 0xf6, 0x32, 0x56, 0xf9, 0x6c, 0x76, 0x8f, 0xed, 0x42, 0x25, 0x5e, 0x96, 0x39, 0xd5,
-	0x73, 0x6c, 0xb1, 0x6a, 0xca, 0xb0, 0xc5, 0xea, 0x34, 0xc3, 0x16, 0x06, 0x8e, 0xb4, 0x2a, 0x24,
-	0xb0, 0x45, 0x25, 0x85, 0x61, 0x0b, 0x03, 0xe7, 0x22, 0xb6, 0x6d, 0x49, 0x7b, 0x1a, 0xdb, 0x76,
-	0x1c, 0xdb, 0xf6, 0xf3, 0x4a, 0xfc, 0xe5, 0xf3, 0xfc, 0x0d, 0xd4, 0xfc, 0x70, 0x50, 0xf7, 0x03,
-	0x3c, 0x76, 0xfc, 0xd0, 0xad, 0x8b, 0x27, 0xa9, 0x58, 0x81, 0x7c, 0x5f, 0x1f, 0x78, 0xf4, 0x74,
-	0x72, 0xcc, 0xaa, 0xd3, 0x56, 0xa4, 0xb2, 0x25, 0x54, 0x36, 0xe5, 0xab, 0x75, 0xfa, 0xd5, 0xd6,
-	0xc0, 0x97, 0xb2, 0xe3, 0x02, 0x17, 0x6e, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x61, 0x0b,
-	0xb2, 0x3c, 0x0f, 0x00, 0x00,
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_voltha_protos_events_proto_rawDesc), len(file_voltha_protos_events_proto_rawDesc)),
+			NumEnums:      6,
+			NumMessages:   28,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_voltha_protos_events_proto_goTypes,
+		DependencyIndexes: file_voltha_protos_events_proto_depIdxs,
+		EnumInfos:         file_voltha_protos_events_proto_enumTypes,
+		MessageInfos:      file_voltha_protos_events_proto_msgTypes,
+	}.Build()
+	File_voltha_protos_events_proto = out.File
+	file_voltha_protos_events_proto_goTypes = nil
+	file_voltha_protos_events_proto_depIdxs = nil
 }