[VOL-5567] update protos

Change-Id: I2237e104062831286129ece7cae6621fd971ecb9
Signed-off-by: Abhay Kumar <abhay.kumar@radisys.com>
diff --git a/go/extension/extensions.pb.go b/go/extension/extensions.pb.go
index a43c4bd..883a391 100644
--- a/go/extension/extensions.pb.go
+++ b/go/extension/extensions.pb.go
@@ -1,31 +1,42 @@
+// Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at:
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
 // Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.36.11
+// 	protoc        v4.25.8
 // source: voltha_protos/extensions.proto
 
 package extension
 
 import (
-	context "context"
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	empty "github.com/golang/protobuf/ptypes/empty"
 	common "github.com/opencord/voltha-protos/v5/go/common"
 	config "github.com/opencord/voltha-protos/v5/go/ext/config"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-	math "math"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	emptypb "google.golang.org/protobuf/types/known/emptypb"
+	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 ValueType_Type int32
 
@@ -34,22 +45,43 @@
 	ValueType_DISTANCE ValueType_Type = 1
 )
 
-var ValueType_Type_name = map[int32]string{
-	0: "EMPTY",
-	1: "DISTANCE",
-}
+// Enum value maps for ValueType_Type.
+var (
+	ValueType_Type_name = map[int32]string{
+		0: "EMPTY",
+		1: "DISTANCE",
+	}
+	ValueType_Type_value = map[string]int32{
+		"EMPTY":    0,
+		"DISTANCE": 1,
+	}
+)
 
-var ValueType_Type_value = map[string]int32{
-	"EMPTY":    0,
-	"DISTANCE": 1,
+func (x ValueType_Type) Enum() *ValueType_Type {
+	p := new(ValueType_Type)
+	*p = x
+	return p
 }
 
 func (x ValueType_Type) String() string {
-	return proto.EnumName(ValueType_Type_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (ValueType_Type) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[0].Descriptor()
+}
+
+func (ValueType_Type) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[0]
+}
+
+func (x ValueType_Type) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ValueType_Type.Descriptor instead.
 func (ValueType_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{1, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{1, 0}
 }
 
 type GetOnuUniInfoResponse_ConfigurationInd int32
@@ -65,34 +97,55 @@
 	GetOnuUniInfoResponse_GIGABIT_ETHERNET_HDX GetOnuUniInfoResponse_ConfigurationInd = 7
 )
 
-var GetOnuUniInfoResponse_ConfigurationInd_name = map[int32]string{
-	0: "UNKOWN",
-	1: "TEN_BASE_T_FDX",
-	2: "HUNDRED_BASE_T_FDX",
-	3: "GIGABIT_ETHERNET_FDX",
-	4: "TEN_G_ETHERNET_FDX",
-	5: "TEN_BASE_T_HDX",
-	6: "HUNDRED_BASE_T_HDX",
-	7: "GIGABIT_ETHERNET_HDX",
-}
+// Enum value maps for GetOnuUniInfoResponse_ConfigurationInd.
+var (
+	GetOnuUniInfoResponse_ConfigurationInd_name = map[int32]string{
+		0: "UNKOWN",
+		1: "TEN_BASE_T_FDX",
+		2: "HUNDRED_BASE_T_FDX",
+		3: "GIGABIT_ETHERNET_FDX",
+		4: "TEN_G_ETHERNET_FDX",
+		5: "TEN_BASE_T_HDX",
+		6: "HUNDRED_BASE_T_HDX",
+		7: "GIGABIT_ETHERNET_HDX",
+	}
+	GetOnuUniInfoResponse_ConfigurationInd_value = map[string]int32{
+		"UNKOWN":               0,
+		"TEN_BASE_T_FDX":       1,
+		"HUNDRED_BASE_T_FDX":   2,
+		"GIGABIT_ETHERNET_FDX": 3,
+		"TEN_G_ETHERNET_FDX":   4,
+		"TEN_BASE_T_HDX":       5,
+		"HUNDRED_BASE_T_HDX":   6,
+		"GIGABIT_ETHERNET_HDX": 7,
+	}
+)
 
-var GetOnuUniInfoResponse_ConfigurationInd_value = map[string]int32{
-	"UNKOWN":               0,
-	"TEN_BASE_T_FDX":       1,
-	"HUNDRED_BASE_T_FDX":   2,
-	"GIGABIT_ETHERNET_FDX": 3,
-	"TEN_G_ETHERNET_FDX":   4,
-	"TEN_BASE_T_HDX":       5,
-	"HUNDRED_BASE_T_HDX":   6,
-	"GIGABIT_ETHERNET_HDX": 7,
+func (x GetOnuUniInfoResponse_ConfigurationInd) Enum() *GetOnuUniInfoResponse_ConfigurationInd {
+	p := new(GetOnuUniInfoResponse_ConfigurationInd)
+	*p = x
+	return p
 }
 
 func (x GetOnuUniInfoResponse_ConfigurationInd) String() string {
-	return proto.EnumName(GetOnuUniInfoResponse_ConfigurationInd_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOnuUniInfoResponse_ConfigurationInd) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[1].Descriptor()
+}
+
+func (GetOnuUniInfoResponse_ConfigurationInd) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[1]
+}
+
+func (x GetOnuUniInfoResponse_ConfigurationInd) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOnuUniInfoResponse_ConfigurationInd.Descriptor instead.
 func (GetOnuUniInfoResponse_ConfigurationInd) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{7, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{7, 0}
 }
 
 type GetOnuUniInfoResponse_AdministrativeState int32
@@ -103,24 +156,45 @@
 	GetOnuUniInfoResponse_UNLOCKED           GetOnuUniInfoResponse_AdministrativeState = 2
 )
 
-var GetOnuUniInfoResponse_AdministrativeState_name = map[int32]string{
-	0: "ADMSTATE_UNDEFINED",
-	1: "LOCKED",
-	2: "UNLOCKED",
-}
+// Enum value maps for GetOnuUniInfoResponse_AdministrativeState.
+var (
+	GetOnuUniInfoResponse_AdministrativeState_name = map[int32]string{
+		0: "ADMSTATE_UNDEFINED",
+		1: "LOCKED",
+		2: "UNLOCKED",
+	}
+	GetOnuUniInfoResponse_AdministrativeState_value = map[string]int32{
+		"ADMSTATE_UNDEFINED": 0,
+		"LOCKED":             1,
+		"UNLOCKED":           2,
+	}
+)
 
-var GetOnuUniInfoResponse_AdministrativeState_value = map[string]int32{
-	"ADMSTATE_UNDEFINED": 0,
-	"LOCKED":             1,
-	"UNLOCKED":           2,
+func (x GetOnuUniInfoResponse_AdministrativeState) Enum() *GetOnuUniInfoResponse_AdministrativeState {
+	p := new(GetOnuUniInfoResponse_AdministrativeState)
+	*p = x
+	return p
 }
 
 func (x GetOnuUniInfoResponse_AdministrativeState) String() string {
-	return proto.EnumName(GetOnuUniInfoResponse_AdministrativeState_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOnuUniInfoResponse_AdministrativeState) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[2].Descriptor()
+}
+
+func (GetOnuUniInfoResponse_AdministrativeState) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[2]
+}
+
+func (x GetOnuUniInfoResponse_AdministrativeState) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOnuUniInfoResponse_AdministrativeState.Descriptor instead.
 func (GetOnuUniInfoResponse_AdministrativeState) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{7, 1}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{7, 1}
 }
 
 type GetOnuUniInfoResponse_OperationalState int32
@@ -131,24 +205,45 @@
 	GetOnuUniInfoResponse_DISABLED            GetOnuUniInfoResponse_OperationalState = 2
 )
 
-var GetOnuUniInfoResponse_OperationalState_name = map[int32]string{
-	0: "OPERSTATE_UNDEFINED",
-	1: "ENABLED",
-	2: "DISABLED",
-}
+// Enum value maps for GetOnuUniInfoResponse_OperationalState.
+var (
+	GetOnuUniInfoResponse_OperationalState_name = map[int32]string{
+		0: "OPERSTATE_UNDEFINED",
+		1: "ENABLED",
+		2: "DISABLED",
+	}
+	GetOnuUniInfoResponse_OperationalState_value = map[string]int32{
+		"OPERSTATE_UNDEFINED": 0,
+		"ENABLED":             1,
+		"DISABLED":            2,
+	}
+)
 
-var GetOnuUniInfoResponse_OperationalState_value = map[string]int32{
-	"OPERSTATE_UNDEFINED": 0,
-	"ENABLED":             1,
-	"DISABLED":            2,
+func (x GetOnuUniInfoResponse_OperationalState) Enum() *GetOnuUniInfoResponse_OperationalState {
+	p := new(GetOnuUniInfoResponse_OperationalState)
+	*p = x
+	return p
 }
 
 func (x GetOnuUniInfoResponse_OperationalState) String() string {
-	return proto.EnumName(GetOnuUniInfoResponse_OperationalState_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOnuUniInfoResponse_OperationalState) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[3].Descriptor()
+}
+
+func (GetOnuUniInfoResponse_OperationalState) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[3]
+}
+
+func (x GetOnuUniInfoResponse_OperationalState) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOnuUniInfoResponse_OperationalState.Descriptor instead.
 func (GetOnuUniInfoResponse_OperationalState) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{7, 2}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{7, 2}
 }
 
 type GetOltPortCounters_PortType int32
@@ -159,24 +254,45 @@
 	GetOltPortCounters_Port_PON_OLT      GetOltPortCounters_PortType = 2
 )
 
-var GetOltPortCounters_PortType_name = map[int32]string{
-	0: "Port_UNKNOWN",
-	1: "Port_ETHERNET_NNI",
-	2: "Port_PON_OLT",
-}
+// Enum value maps for GetOltPortCounters_PortType.
+var (
+	GetOltPortCounters_PortType_name = map[int32]string{
+		0: "Port_UNKNOWN",
+		1: "Port_ETHERNET_NNI",
+		2: "Port_PON_OLT",
+	}
+	GetOltPortCounters_PortType_value = map[string]int32{
+		"Port_UNKNOWN":      0,
+		"Port_ETHERNET_NNI": 1,
+		"Port_PON_OLT":      2,
+	}
+)
 
-var GetOltPortCounters_PortType_value = map[string]int32{
-	"Port_UNKNOWN":      0,
-	"Port_ETHERNET_NNI": 1,
-	"Port_PON_OLT":      2,
+func (x GetOltPortCounters_PortType) Enum() *GetOltPortCounters_PortType {
+	p := new(GetOltPortCounters_PortType)
+	*p = x
+	return p
 }
 
 func (x GetOltPortCounters_PortType) String() string {
-	return proto.EnumName(GetOltPortCounters_PortType_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOltPortCounters_PortType) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[4].Descriptor()
+}
+
+func (GetOltPortCounters_PortType) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[4]
+}
+
+func (x GetOltPortCounters_PortType) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOltPortCounters_PortType.Descriptor instead.
 func (GetOltPortCounters_PortType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{8, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{8, 0}
 }
 
 type GetOnuEthernetBridgePortHistory_Direction int32
@@ -187,24 +303,45 @@
 	GetOnuEthernetBridgePortHistory_DOWNSTREAM GetOnuEthernetBridgePortHistory_Direction = 2
 )
 
-var GetOnuEthernetBridgePortHistory_Direction_name = map[int32]string{
-	0: "UNDEFINED",
-	1: "UPSTREAM",
-	2: "DOWNSTREAM",
-}
+// Enum value maps for GetOnuEthernetBridgePortHistory_Direction.
+var (
+	GetOnuEthernetBridgePortHistory_Direction_name = map[int32]string{
+		0: "UNDEFINED",
+		1: "UPSTREAM",
+		2: "DOWNSTREAM",
+	}
+	GetOnuEthernetBridgePortHistory_Direction_value = map[string]int32{
+		"UNDEFINED":  0,
+		"UPSTREAM":   1,
+		"DOWNSTREAM": 2,
+	}
+)
 
-var GetOnuEthernetBridgePortHistory_Direction_value = map[string]int32{
-	"UNDEFINED":  0,
-	"UPSTREAM":   1,
-	"DOWNSTREAM": 2,
+func (x GetOnuEthernetBridgePortHistory_Direction) Enum() *GetOnuEthernetBridgePortHistory_Direction {
+	p := new(GetOnuEthernetBridgePortHistory_Direction)
+	*p = x
+	return p
 }
 
 func (x GetOnuEthernetBridgePortHistory_Direction) String() string {
-	return proto.EnumName(GetOnuEthernetBridgePortHistory_Direction_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOnuEthernetBridgePortHistory_Direction) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[5].Descriptor()
+}
+
+func (GetOnuEthernetBridgePortHistory_Direction) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[5]
+}
+
+func (x GetOnuEthernetBridgePortHistory_Direction) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOnuEthernetBridgePortHistory_Direction.Descriptor instead.
 func (GetOnuEthernetBridgePortHistory_Direction) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{12, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{12, 0}
 }
 
 type GetOmciEthernetFrameExtendedPmResponse_Format int32
@@ -214,22 +351,43 @@
 	GetOmciEthernetFrameExtendedPmResponse_SIXTY_FOUR_BIT GetOmciEthernetFrameExtendedPmResponse_Format = 1
 )
 
-var GetOmciEthernetFrameExtendedPmResponse_Format_name = map[int32]string{
-	0: "THIRTY_TWO_BIT",
-	1: "SIXTY_FOUR_BIT",
-}
+// Enum value maps for GetOmciEthernetFrameExtendedPmResponse_Format.
+var (
+	GetOmciEthernetFrameExtendedPmResponse_Format_name = map[int32]string{
+		0: "THIRTY_TWO_BIT",
+		1: "SIXTY_FOUR_BIT",
+	}
+	GetOmciEthernetFrameExtendedPmResponse_Format_value = map[string]int32{
+		"THIRTY_TWO_BIT": 0,
+		"SIXTY_FOUR_BIT": 1,
+	}
+)
 
-var GetOmciEthernetFrameExtendedPmResponse_Format_value = map[string]int32{
-	"THIRTY_TWO_BIT": 0,
-	"SIXTY_FOUR_BIT": 1,
+func (x GetOmciEthernetFrameExtendedPmResponse_Format) Enum() *GetOmciEthernetFrameExtendedPmResponse_Format {
+	p := new(GetOmciEthernetFrameExtendedPmResponse_Format)
+	*p = x
+	return p
 }
 
 func (x GetOmciEthernetFrameExtendedPmResponse_Format) String() string {
-	return proto.EnumName(GetOmciEthernetFrameExtendedPmResponse_Format_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOmciEthernetFrameExtendedPmResponse_Format) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[6].Descriptor()
+}
+
+func (GetOmciEthernetFrameExtendedPmResponse_Format) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[6]
+}
+
+func (x GetOmciEthernetFrameExtendedPmResponse_Format) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOmciEthernetFrameExtendedPmResponse_Format.Descriptor instead.
 func (GetOmciEthernetFrameExtendedPmResponse_Format) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{36, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{36, 0}
 }
 
 type GetOffloadedAppsStatisticsRequest_OffloadedApp int32
@@ -241,26 +399,47 @@
 	GetOffloadedAppsStatisticsRequest_DHCPv6RA  GetOffloadedAppsStatisticsRequest_OffloadedApp = 3
 )
 
-var GetOffloadedAppsStatisticsRequest_OffloadedApp_name = map[int32]string{
-	0: "UNDEFINED",
-	1: "PPPoeIA",
-	2: "DHCPv4RA",
-	3: "DHCPv6RA",
-}
+// Enum value maps for GetOffloadedAppsStatisticsRequest_OffloadedApp.
+var (
+	GetOffloadedAppsStatisticsRequest_OffloadedApp_name = map[int32]string{
+		0: "UNDEFINED",
+		1: "PPPoeIA",
+		2: "DHCPv4RA",
+		3: "DHCPv6RA",
+	}
+	GetOffloadedAppsStatisticsRequest_OffloadedApp_value = map[string]int32{
+		"UNDEFINED": 0,
+		"PPPoeIA":   1,
+		"DHCPv4RA":  2,
+		"DHCPv6RA":  3,
+	}
+)
 
-var GetOffloadedAppsStatisticsRequest_OffloadedApp_value = map[string]int32{
-	"UNDEFINED": 0,
-	"PPPoeIA":   1,
-	"DHCPv4RA":  2,
-	"DHCPv6RA":  3,
+func (x GetOffloadedAppsStatisticsRequest_OffloadedApp) Enum() *GetOffloadedAppsStatisticsRequest_OffloadedApp {
+	p := new(GetOffloadedAppsStatisticsRequest_OffloadedApp)
+	*p = x
+	return p
 }
 
 func (x GetOffloadedAppsStatisticsRequest_OffloadedApp) String() string {
-	return proto.EnumName(GetOffloadedAppsStatisticsRequest_OffloadedApp_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetOffloadedAppsStatisticsRequest_OffloadedApp) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[7].Descriptor()
+}
+
+func (GetOffloadedAppsStatisticsRequest_OffloadedApp) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[7]
+}
+
+func (x GetOffloadedAppsStatisticsRequest_OffloadedApp) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetOffloadedAppsStatisticsRequest_OffloadedApp.Descriptor instead.
 func (GetOffloadedAppsStatisticsRequest_OffloadedApp) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{45, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{45, 0}
 }
 
 type GetValueResponse_Status int32
@@ -271,24 +450,45 @@
 	GetValueResponse_ERROR            GetValueResponse_Status = 2
 )
 
-var GetValueResponse_Status_name = map[int32]string{
-	0: "STATUS_UNDEFINED",
-	1: "OK",
-	2: "ERROR",
-}
+// Enum value maps for GetValueResponse_Status.
+var (
+	GetValueResponse_Status_name = map[int32]string{
+		0: "STATUS_UNDEFINED",
+		1: "OK",
+		2: "ERROR",
+	}
+	GetValueResponse_Status_value = map[string]int32{
+		"STATUS_UNDEFINED": 0,
+		"OK":               1,
+		"ERROR":            2,
+	}
+)
 
-var GetValueResponse_Status_value = map[string]int32{
-	"STATUS_UNDEFINED": 0,
-	"OK":               1,
-	"ERROR":            2,
+func (x GetValueResponse_Status) Enum() *GetValueResponse_Status {
+	p := new(GetValueResponse_Status)
+	*p = x
+	return p
 }
 
 func (x GetValueResponse_Status) String() string {
-	return proto.EnumName(GetValueResponse_Status_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetValueResponse_Status) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[8].Descriptor()
+}
+
+func (GetValueResponse_Status) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[8]
+}
+
+func (x GetValueResponse_Status) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetValueResponse_Status.Descriptor instead.
 func (GetValueResponse_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{48, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{48, 0}
 }
 
 type GetValueResponse_ErrorReason int32
@@ -304,34 +504,55 @@
 	GetValueResponse_INVALID_DEVICE    GetValueResponse_ErrorReason = 7
 )
 
-var GetValueResponse_ErrorReason_name = map[int32]string{
-	0: "REASON_UNDEFINED",
-	1: "UNSUPPORTED",
-	2: "INVALID_DEVICE_ID",
-	3: "INVALID_PORT_TYPE",
-	4: "TIMEOUT",
-	5: "INVALID_REQ_TYPE",
-	6: "INTERNAL_ERROR",
-	7: "INVALID_DEVICE",
-}
+// Enum value maps for GetValueResponse_ErrorReason.
+var (
+	GetValueResponse_ErrorReason_name = map[int32]string{
+		0: "REASON_UNDEFINED",
+		1: "UNSUPPORTED",
+		2: "INVALID_DEVICE_ID",
+		3: "INVALID_PORT_TYPE",
+		4: "TIMEOUT",
+		5: "INVALID_REQ_TYPE",
+		6: "INTERNAL_ERROR",
+		7: "INVALID_DEVICE",
+	}
+	GetValueResponse_ErrorReason_value = map[string]int32{
+		"REASON_UNDEFINED":  0,
+		"UNSUPPORTED":       1,
+		"INVALID_DEVICE_ID": 2,
+		"INVALID_PORT_TYPE": 3,
+		"TIMEOUT":           4,
+		"INVALID_REQ_TYPE":  5,
+		"INTERNAL_ERROR":    6,
+		"INVALID_DEVICE":    7,
+	}
+)
 
-var GetValueResponse_ErrorReason_value = map[string]int32{
-	"REASON_UNDEFINED":  0,
-	"UNSUPPORTED":       1,
-	"INVALID_DEVICE_ID": 2,
-	"INVALID_PORT_TYPE": 3,
-	"TIMEOUT":           4,
-	"INVALID_REQ_TYPE":  5,
-	"INTERNAL_ERROR":    6,
-	"INVALID_DEVICE":    7,
+func (x GetValueResponse_ErrorReason) Enum() *GetValueResponse_ErrorReason {
+	p := new(GetValueResponse_ErrorReason)
+	*p = x
+	return p
 }
 
 func (x GetValueResponse_ErrorReason) String() string {
-	return proto.EnumName(GetValueResponse_ErrorReason_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (GetValueResponse_ErrorReason) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[9].Descriptor()
+}
+
+func (GetValueResponse_ErrorReason) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[9]
+}
+
+func (x GetValueResponse_ErrorReason) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetValueResponse_ErrorReason.Descriptor instead.
 func (GetValueResponse_ErrorReason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{48, 1}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{48, 1}
 }
 
 type SetValueResponse_Status int32
@@ -342,24 +563,45 @@
 	SetValueResponse_ERROR            SetValueResponse_Status = 2
 )
 
-var SetValueResponse_Status_name = map[int32]string{
-	0: "STATUS_UNDEFINED",
-	1: "OK",
-	2: "ERROR",
-}
+// Enum value maps for SetValueResponse_Status.
+var (
+	SetValueResponse_Status_name = map[int32]string{
+		0: "STATUS_UNDEFINED",
+		1: "OK",
+		2: "ERROR",
+	}
+	SetValueResponse_Status_value = map[string]int32{
+		"STATUS_UNDEFINED": 0,
+		"OK":               1,
+		"ERROR":            2,
+	}
+)
 
-var SetValueResponse_Status_value = map[string]int32{
-	"STATUS_UNDEFINED": 0,
-	"OK":               1,
-	"ERROR":            2,
+func (x SetValueResponse_Status) Enum() *SetValueResponse_Status {
+	p := new(SetValueResponse_Status)
+	*p = x
+	return p
 }
 
 func (x SetValueResponse_Status) String() string {
-	return proto.EnumName(SetValueResponse_Status_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (SetValueResponse_Status) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[10].Descriptor()
+}
+
+func (SetValueResponse_Status) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[10]
+}
+
+func (x SetValueResponse_Status) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SetValueResponse_Status.Descriptor instead.
 func (SetValueResponse_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{52, 0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{52, 0}
 }
 
 type SetValueResponse_ErrorReason int32
@@ -372,72 +614,115 @@
 	SetValueResponse_INVALID_UNI_ID        SetValueResponse_ErrorReason = 4
 )
 
-var SetValueResponse_ErrorReason_name = map[int32]string{
-	0: "REASON_UNDEFINED",
-	1: "UNSUPPORTED",
-	2: "INVALID_DEVICE_ID",
-	3: "INVALID_ONU_DEVICE_ID",
-	4: "INVALID_UNI_ID",
-}
+// Enum value maps for SetValueResponse_ErrorReason.
+var (
+	SetValueResponse_ErrorReason_name = map[int32]string{
+		0: "REASON_UNDEFINED",
+		1: "UNSUPPORTED",
+		2: "INVALID_DEVICE_ID",
+		3: "INVALID_ONU_DEVICE_ID",
+		4: "INVALID_UNI_ID",
+	}
+	SetValueResponse_ErrorReason_value = map[string]int32{
+		"REASON_UNDEFINED":      0,
+		"UNSUPPORTED":           1,
+		"INVALID_DEVICE_ID":     2,
+		"INVALID_ONU_DEVICE_ID": 3,
+		"INVALID_UNI_ID":        4,
+	}
+)
 
-var SetValueResponse_ErrorReason_value = map[string]int32{
-	"REASON_UNDEFINED":      0,
-	"UNSUPPORTED":           1,
-	"INVALID_DEVICE_ID":     2,
-	"INVALID_ONU_DEVICE_ID": 3,
-	"INVALID_UNI_ID":        4,
+func (x SetValueResponse_ErrorReason) Enum() *SetValueResponse_ErrorReason {
+	p := new(SetValueResponse_ErrorReason)
+	*p = x
+	return p
 }
 
 func (x SetValueResponse_ErrorReason) String() string {
-	return proto.EnumName(SetValueResponse_ErrorReason_name, int32(x))
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
+func (SetValueResponse_ErrorReason) Descriptor() protoreflect.EnumDescriptor {
+	return file_voltha_protos_extensions_proto_enumTypes[11].Descriptor()
+}
+
+func (SetValueResponse_ErrorReason) Type() protoreflect.EnumType {
+	return &file_voltha_protos_extensions_proto_enumTypes[11]
+}
+
+func (x SetValueResponse_ErrorReason) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SetValueResponse_ErrorReason.Descriptor instead.
 func (SetValueResponse_ErrorReason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{52, 1}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{52, 1}
 }
 
 type ValueSet struct {
-	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	state protoimpl.MessageState `protogen:"open.v1"`
+	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 	// Types that are valid to be assigned to Value:
+	//
 	//	*ValueSet_AlarmConfig
-	Value                isValueSet_Value `protobuf_oneof:"value"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
+	Value         isValueSet_Value `protobuf_oneof:"value"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *ValueSet) Reset()         { *m = ValueSet{} }
-func (m *ValueSet) String() string { return proto.CompactTextString(m) }
-func (*ValueSet) ProtoMessage()    {}
+func (x *ValueSet) Reset() {
+	*x = ValueSet{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ValueSet) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ValueSet) ProtoMessage() {}
+
+func (x *ValueSet) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 ValueSet.ProtoReflect.Descriptor instead.
 func (*ValueSet) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{0}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{0}
 }
 
-func (m *ValueSet) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ValueSet.Unmarshal(m, b)
-}
-func (m *ValueSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ValueSet.Marshal(b, m, deterministic)
-}
-func (m *ValueSet) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ValueSet.Merge(m, src)
-}
-func (m *ValueSet) XXX_Size() int {
-	return xxx_messageInfo_ValueSet.Size(m)
-}
-func (m *ValueSet) XXX_DiscardUnknown() {
-	xxx_messageInfo_ValueSet.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ValueSet proto.InternalMessageInfo
-
-func (m *ValueSet) GetId() string {
-	if m != nil {
-		return m.Id
+func (x *ValueSet) GetId() string {
+	if x != nil {
+		return x.Id
 	}
 	return ""
 }
 
+func (x *ValueSet) GetValue() isValueSet_Value {
+	if x != nil {
+		return x.Value
+	}
+	return nil
+}
+
+func (x *ValueSet) GetAlarmConfig() *config.AlarmConfig {
+	if x != nil {
+		if x, ok := x.Value.(*ValueSet_AlarmConfig); ok {
+			return x.AlarmConfig
+		}
+	}
+	return nil
+}
+
 type isValueSet_Value interface {
 	isValueSet_Value()
 }
@@ -448,549 +733,578 @@
 
 func (*ValueSet_AlarmConfig) isValueSet_Value() {}
 
-func (m *ValueSet) GetValue() isValueSet_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *ValueSet) GetAlarmConfig() *config.AlarmConfig {
-	if x, ok := m.GetValue().(*ValueSet_AlarmConfig); ok {
-		return x.AlarmConfig
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*ValueSet) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*ValueSet_AlarmConfig)(nil),
-	}
-}
-
 type ValueType 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 *ValueType) Reset()         { *m = ValueType{} }
-func (m *ValueType) String() string { return proto.CompactTextString(m) }
-func (*ValueType) ProtoMessage()    {}
+func (x *ValueType) Reset() {
+	*x = ValueType{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ValueType) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ValueType) ProtoMessage() {}
+
+func (x *ValueType) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 ValueType.ProtoReflect.Descriptor instead.
 func (*ValueType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{1}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{1}
 }
 
-func (m *ValueType) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ValueType.Unmarshal(m, b)
-}
-func (m *ValueType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ValueType.Marshal(b, m, deterministic)
-}
-func (m *ValueType) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ValueType.Merge(m, src)
-}
-func (m *ValueType) XXX_Size() int {
-	return xxx_messageInfo_ValueType.Size(m)
-}
-func (m *ValueType) XXX_DiscardUnknown() {
-	xxx_messageInfo_ValueType.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ValueType proto.InternalMessageInfo
-
 type ValueSpecifier struct {
-	Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Value                ValueType_Type `protobuf:"varint,2,opt,name=value,proto3,enum=extension.ValueType_Type" json:"value,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"`
+	Value         ValueType_Type         `protobuf:"varint,2,opt,name=value,proto3,enum=extension.ValueType_Type" json:"value,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *ValueSpecifier) Reset()         { *m = ValueSpecifier{} }
-func (m *ValueSpecifier) String() string { return proto.CompactTextString(m) }
-func (*ValueSpecifier) ProtoMessage()    {}
+func (x *ValueSpecifier) Reset() {
+	*x = ValueSpecifier{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ValueSpecifier) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ValueSpecifier) ProtoMessage() {}
+
+func (x *ValueSpecifier) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 ValueSpecifier.ProtoReflect.Descriptor instead.
 func (*ValueSpecifier) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{2}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{2}
 }
 
-func (m *ValueSpecifier) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ValueSpecifier.Unmarshal(m, b)
-}
-func (m *ValueSpecifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ValueSpecifier.Marshal(b, m, deterministic)
-}
-func (m *ValueSpecifier) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ValueSpecifier.Merge(m, src)
-}
-func (m *ValueSpecifier) XXX_Size() int {
-	return xxx_messageInfo_ValueSpecifier.Size(m)
-}
-func (m *ValueSpecifier) XXX_DiscardUnknown() {
-	xxx_messageInfo_ValueSpecifier.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ValueSpecifier proto.InternalMessageInfo
-
-func (m *ValueSpecifier) GetId() string {
-	if m != nil {
-		return m.Id
+func (x *ValueSpecifier) GetId() string {
+	if x != nil {
+		return x.Id
 	}
 	return ""
 }
 
-func (m *ValueSpecifier) GetValue() ValueType_Type {
-	if m != nil {
-		return m.Value
+func (x *ValueSpecifier) GetValue() ValueType_Type {
+	if x != nil {
+		return x.Value
 	}
 	return ValueType_EMPTY
 }
 
 type ReturnValues struct {
-	Set                  uint32   `protobuf:"varint,1,opt,name=Set,proto3" json:"Set,omitempty"`
-	Unsupported          uint32   `protobuf:"varint,2,opt,name=Unsupported,proto3" json:"Unsupported,omitempty"`
-	Error                uint32   `protobuf:"varint,3,opt,name=Error,proto3" json:"Error,omitempty"`
-	Distance             uint32   `protobuf:"varint,4,opt,name=Distance,proto3" json:"Distance,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Set           uint32                 `protobuf:"varint,1,opt,name=Set,proto3" json:"Set,omitempty"`                 // Specifies what values are
+	Unsupported   uint32                 `protobuf:"varint,2,opt,name=Unsupported,proto3" json:"Unsupported,omitempty"` // Specifies requested values not
+	Error         uint32                 `protobuf:"varint,3,opt,name=Error,proto3" json:"Error,omitempty"`             // Specifies requested values not
+	Distance      uint32                 `protobuf:"varint,4,opt,name=Distance,proto3" json:"Distance,omitempty"`       // Value of distance Set includes
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *ReturnValues) Reset()         { *m = ReturnValues{} }
-func (m *ReturnValues) String() string { return proto.CompactTextString(m) }
-func (*ReturnValues) ProtoMessage()    {}
+func (x *ReturnValues) Reset() {
+	*x = ReturnValues{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ReturnValues) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReturnValues) ProtoMessage() {}
+
+func (x *ReturnValues) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 ReturnValues.ProtoReflect.Descriptor instead.
 func (*ReturnValues) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{3}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{3}
 }
 
-func (m *ReturnValues) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ReturnValues.Unmarshal(m, b)
-}
-func (m *ReturnValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ReturnValues.Marshal(b, m, deterministic)
-}
-func (m *ReturnValues) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ReturnValues.Merge(m, src)
-}
-func (m *ReturnValues) XXX_Size() int {
-	return xxx_messageInfo_ReturnValues.Size(m)
-}
-func (m *ReturnValues) XXX_DiscardUnknown() {
-	xxx_messageInfo_ReturnValues.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReturnValues proto.InternalMessageInfo
-
-func (m *ReturnValues) GetSet() uint32 {
-	if m != nil {
-		return m.Set
+func (x *ReturnValues) GetSet() uint32 {
+	if x != nil {
+		return x.Set
 	}
 	return 0
 }
 
-func (m *ReturnValues) GetUnsupported() uint32 {
-	if m != nil {
-		return m.Unsupported
+func (x *ReturnValues) GetUnsupported() uint32 {
+	if x != nil {
+		return x.Unsupported
 	}
 	return 0
 }
 
-func (m *ReturnValues) GetError() uint32 {
-	if m != nil {
-		return m.Error
+func (x *ReturnValues) GetError() uint32 {
+	if x != nil {
+		return x.Error
 	}
 	return 0
 }
 
-func (m *ReturnValues) GetDistance() uint32 {
-	if m != nil {
-		return m.Distance
+func (x *ReturnValues) GetDistance() uint32 {
+	if x != nil {
+		return x.Distance
 	}
 	return 0
 }
 
 type GetDistanceRequest struct {
-	OnuDeviceId          string   `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	OnuDeviceId   string                 `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetDistanceRequest) Reset()         { *m = GetDistanceRequest{} }
-func (m *GetDistanceRequest) String() string { return proto.CompactTextString(m) }
-func (*GetDistanceRequest) ProtoMessage()    {}
+func (x *GetDistanceRequest) Reset() {
+	*x = GetDistanceRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetDistanceRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDistanceRequest) ProtoMessage() {}
+
+func (x *GetDistanceRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetDistanceRequest.ProtoReflect.Descriptor instead.
 func (*GetDistanceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{4}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{4}
 }
 
-func (m *GetDistanceRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetDistanceRequest.Unmarshal(m, b)
-}
-func (m *GetDistanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetDistanceRequest.Marshal(b, m, deterministic)
-}
-func (m *GetDistanceRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetDistanceRequest.Merge(m, src)
-}
-func (m *GetDistanceRequest) XXX_Size() int {
-	return xxx_messageInfo_GetDistanceRequest.Size(m)
-}
-func (m *GetDistanceRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetDistanceRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetDistanceRequest proto.InternalMessageInfo
-
-func (m *GetDistanceRequest) GetOnuDeviceId() string {
-	if m != nil {
-		return m.OnuDeviceId
+func (x *GetDistanceRequest) GetOnuDeviceId() string {
+	if x != nil {
+		return x.OnuDeviceId
 	}
 	return ""
 }
 
 type GetDistanceResponse struct {
-	Distance             uint32   `protobuf:"varint,1,opt,name=distance,proto3" json:"distance,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Distance      uint32                 `protobuf:"varint,1,opt,name=distance,proto3" json:"distance,omitempty"` // distance in meters
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetDistanceResponse) Reset()         { *m = GetDistanceResponse{} }
-func (m *GetDistanceResponse) String() string { return proto.CompactTextString(m) }
-func (*GetDistanceResponse) ProtoMessage()    {}
+func (x *GetDistanceResponse) Reset() {
+	*x = GetDistanceResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetDistanceResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDistanceResponse) ProtoMessage() {}
+
+func (x *GetDistanceResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetDistanceResponse.ProtoReflect.Descriptor instead.
 func (*GetDistanceResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{5}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{5}
 }
 
-func (m *GetDistanceResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetDistanceResponse.Unmarshal(m, b)
-}
-func (m *GetDistanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetDistanceResponse.Marshal(b, m, deterministic)
-}
-func (m *GetDistanceResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetDistanceResponse.Merge(m, src)
-}
-func (m *GetDistanceResponse) XXX_Size() int {
-	return xxx_messageInfo_GetDistanceResponse.Size(m)
-}
-func (m *GetDistanceResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetDistanceResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetDistanceResponse proto.InternalMessageInfo
-
-func (m *GetDistanceResponse) GetDistance() uint32 {
-	if m != nil {
-		return m.Distance
+func (x *GetDistanceResponse) GetDistance() uint32 {
+	if x != nil {
+		return x.Distance
 	}
 	return 0
 }
 
 type GetOnuUniInfoRequest struct {
-	UniIndex             uint32   `protobuf:"varint,1,opt,name=uniIndex,proto3" json:"uniIndex,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	UniIndex      uint32                 `protobuf:"varint,1,opt,name=uniIndex,proto3" json:"uniIndex,omitempty"` // Index of the uni starting from 0
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuUniInfoRequest) Reset()         { *m = GetOnuUniInfoRequest{} }
-func (m *GetOnuUniInfoRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuUniInfoRequest) ProtoMessage()    {}
+func (x *GetOnuUniInfoRequest) Reset() {
+	*x = GetOnuUniInfoRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuUniInfoRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuUniInfoRequest) ProtoMessage() {}
+
+func (x *GetOnuUniInfoRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuUniInfoRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuUniInfoRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{6}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{6}
 }
 
-func (m *GetOnuUniInfoRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuUniInfoRequest.Unmarshal(m, b)
-}
-func (m *GetOnuUniInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuUniInfoRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuUniInfoRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuUniInfoRequest.Merge(m, src)
-}
-func (m *GetOnuUniInfoRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuUniInfoRequest.Size(m)
-}
-func (m *GetOnuUniInfoRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuUniInfoRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuUniInfoRequest proto.InternalMessageInfo
-
-func (m *GetOnuUniInfoRequest) GetUniIndex() uint32 {
-	if m != nil {
-		return m.UniIndex
+func (x *GetOnuUniInfoRequest) GetUniIndex() uint32 {
+	if x != nil {
+		return x.UniIndex
 	}
 	return 0
 }
 
 type GetOnuUniInfoResponse struct {
-	AdmState             GetOnuUniInfoResponse_AdministrativeState `protobuf:"varint,1,opt,name=admState,proto3,enum=extension.GetOnuUniInfoResponse_AdministrativeState" json:"admState,omitempty"`
-	OperState            GetOnuUniInfoResponse_OperationalState    `protobuf:"varint,2,opt,name=operState,proto3,enum=extension.GetOnuUniInfoResponse_OperationalState" json:"operState,omitempty"`
-	ConfigInd            GetOnuUniInfoResponse_ConfigurationInd    `protobuf:"varint,3,opt,name=configInd,proto3,enum=extension.GetOnuUniInfoResponse_ConfigurationInd" json:"configInd,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
-	XXX_unrecognized     []byte                                    `json:"-"`
-	XXX_sizecache        int32                                     `json:"-"`
+	state         protoimpl.MessageState                    `protogen:"open.v1"`
+	AdmState      GetOnuUniInfoResponse_AdministrativeState `protobuf:"varint,1,opt,name=admState,proto3,enum=extension.GetOnuUniInfoResponse_AdministrativeState" json:"admState,omitempty"`
+	OperState     GetOnuUniInfoResponse_OperationalState    `protobuf:"varint,2,opt,name=operState,proto3,enum=extension.GetOnuUniInfoResponse_OperationalState" json:"operState,omitempty"`
+	ConfigInd     GetOnuUniInfoResponse_ConfigurationInd    `protobuf:"varint,3,opt,name=configInd,proto3,enum=extension.GetOnuUniInfoResponse_ConfigurationInd" json:"configInd,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuUniInfoResponse) Reset()         { *m = GetOnuUniInfoResponse{} }
-func (m *GetOnuUniInfoResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuUniInfoResponse) ProtoMessage()    {}
+func (x *GetOnuUniInfoResponse) Reset() {
+	*x = GetOnuUniInfoResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuUniInfoResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuUniInfoResponse) ProtoMessage() {}
+
+func (x *GetOnuUniInfoResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuUniInfoResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuUniInfoResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{7}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{7}
 }
 
-func (m *GetOnuUniInfoResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuUniInfoResponse.Unmarshal(m, b)
-}
-func (m *GetOnuUniInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuUniInfoResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuUniInfoResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuUniInfoResponse.Merge(m, src)
-}
-func (m *GetOnuUniInfoResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuUniInfoResponse.Size(m)
-}
-func (m *GetOnuUniInfoResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuUniInfoResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuUniInfoResponse proto.InternalMessageInfo
-
-func (m *GetOnuUniInfoResponse) GetAdmState() GetOnuUniInfoResponse_AdministrativeState {
-	if m != nil {
-		return m.AdmState
+func (x *GetOnuUniInfoResponse) GetAdmState() GetOnuUniInfoResponse_AdministrativeState {
+	if x != nil {
+		return x.AdmState
 	}
 	return GetOnuUniInfoResponse_ADMSTATE_UNDEFINED
 }
 
-func (m *GetOnuUniInfoResponse) GetOperState() GetOnuUniInfoResponse_OperationalState {
-	if m != nil {
-		return m.OperState
+func (x *GetOnuUniInfoResponse) GetOperState() GetOnuUniInfoResponse_OperationalState {
+	if x != nil {
+		return x.OperState
 	}
 	return GetOnuUniInfoResponse_OPERSTATE_UNDEFINED
 }
 
-func (m *GetOnuUniInfoResponse) GetConfigInd() GetOnuUniInfoResponse_ConfigurationInd {
-	if m != nil {
-		return m.ConfigInd
+func (x *GetOnuUniInfoResponse) GetConfigInd() GetOnuUniInfoResponse_ConfigurationInd {
+	if x != nil {
+		return x.ConfigInd
 	}
 	return GetOnuUniInfoResponse_UNKOWN
 }
 
 type GetOltPortCounters struct {
-	PortNo               uint32                      `protobuf:"varint,1,opt,name=portNo,proto3" json:"portNo,omitempty"`
-	PortType             GetOltPortCounters_PortType `protobuf:"varint,2,opt,name=portType,proto3,enum=extension.GetOltPortCounters_PortType" json:"portType,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
+	state         protoimpl.MessageState      `protogen:"open.v1"`
+	PortNo        uint32                      `protobuf:"varint,1,opt,name=portNo,proto3" json:"portNo,omitempty"` // Device-unique port number
+	PortType      GetOltPortCounters_PortType `protobuf:"varint,2,opt,name=portType,proto3,enum=extension.GetOltPortCounters_PortType" json:"portType,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOltPortCounters) Reset()         { *m = GetOltPortCounters{} }
-func (m *GetOltPortCounters) String() string { return proto.CompactTextString(m) }
-func (*GetOltPortCounters) ProtoMessage()    {}
+func (x *GetOltPortCounters) Reset() {
+	*x = GetOltPortCounters{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOltPortCounters) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOltPortCounters) ProtoMessage() {}
+
+func (x *GetOltPortCounters) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOltPortCounters.ProtoReflect.Descriptor instead.
 func (*GetOltPortCounters) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{8}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{8}
 }
 
-func (m *GetOltPortCounters) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOltPortCounters.Unmarshal(m, b)
-}
-func (m *GetOltPortCounters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOltPortCounters.Marshal(b, m, deterministic)
-}
-func (m *GetOltPortCounters) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOltPortCounters.Merge(m, src)
-}
-func (m *GetOltPortCounters) XXX_Size() int {
-	return xxx_messageInfo_GetOltPortCounters.Size(m)
-}
-func (m *GetOltPortCounters) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOltPortCounters.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOltPortCounters proto.InternalMessageInfo
-
-func (m *GetOltPortCounters) GetPortNo() uint32 {
-	if m != nil {
-		return m.PortNo
+func (x *GetOltPortCounters) GetPortNo() uint32 {
+	if x != nil {
+		return x.PortNo
 	}
 	return 0
 }
 
-func (m *GetOltPortCounters) GetPortType() GetOltPortCounters_PortType {
-	if m != nil {
-		return m.PortType
+func (x *GetOltPortCounters) GetPortType() GetOltPortCounters_PortType {
+	if x != nil {
+		return x.PortType
 	}
 	return GetOltPortCounters_Port_UNKNOWN
 }
 
 type GetOltPortCountersResponse struct {
-	TxBytes              uint64   `protobuf:"varint,1,opt,name=txBytes,proto3" json:"txBytes,omitempty"`
-	RxBytes              uint64   `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
-	TxPackets            uint64   `protobuf:"varint,3,opt,name=txPackets,proto3" json:"txPackets,omitempty"`
-	RxPackets            uint64   `protobuf:"varint,4,opt,name=rxPackets,proto3" json:"rxPackets,omitempty"`
-	TxErrorPackets       uint64   `protobuf:"varint,5,opt,name=txErrorPackets,proto3" json:"txErrorPackets,omitempty"`
-	RxErrorPackets       uint64   `protobuf:"varint,6,opt,name=rxErrorPackets,proto3" json:"rxErrorPackets,omitempty"`
-	TxBcastPackets       uint64   `protobuf:"varint,7,opt,name=txBcastPackets,proto3" json:"txBcastPackets,omitempty"`
-	RxBcastPackets       uint64   `protobuf:"varint,8,opt,name=rxBcastPackets,proto3" json:"rxBcastPackets,omitempty"`
-	TxUcastPackets       uint64   `protobuf:"varint,9,opt,name=txUcastPackets,proto3" json:"txUcastPackets,omitempty"`
-	RxUcastPackets       uint64   `protobuf:"varint,10,opt,name=rxUcastPackets,proto3" json:"rxUcastPackets,omitempty"`
-	TxMcastPackets       uint64   `protobuf:"varint,11,opt,name=txMcastPackets,proto3" json:"txMcastPackets,omitempty"`
-	RxMcastPackets       uint64   `protobuf:"varint,12,opt,name=rxMcastPackets,proto3" json:"rxMcastPackets,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state          protoimpl.MessageState `protogen:"open.v1"`
+	TxBytes        uint64                 `protobuf:"varint,1,opt,name=txBytes,proto3" json:"txBytes,omitempty"`
+	RxBytes        uint64                 `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
+	TxPackets      uint64                 `protobuf:"varint,3,opt,name=txPackets,proto3" json:"txPackets,omitempty"`
+	RxPackets      uint64                 `protobuf:"varint,4,opt,name=rxPackets,proto3" json:"rxPackets,omitempty"`
+	TxErrorPackets uint64                 `protobuf:"varint,5,opt,name=txErrorPackets,proto3" json:"txErrorPackets,omitempty"`
+	RxErrorPackets uint64                 `protobuf:"varint,6,opt,name=rxErrorPackets,proto3" json:"rxErrorPackets,omitempty"`
+	TxBcastPackets uint64                 `protobuf:"varint,7,opt,name=txBcastPackets,proto3" json:"txBcastPackets,omitempty"`
+	RxBcastPackets uint64                 `protobuf:"varint,8,opt,name=rxBcastPackets,proto3" json:"rxBcastPackets,omitempty"`
+	TxUcastPackets uint64                 `protobuf:"varint,9,opt,name=txUcastPackets,proto3" json:"txUcastPackets,omitempty"`
+	RxUcastPackets uint64                 `protobuf:"varint,10,opt,name=rxUcastPackets,proto3" json:"rxUcastPackets,omitempty"`
+	TxMcastPackets uint64                 `protobuf:"varint,11,opt,name=txMcastPackets,proto3" json:"txMcastPackets,omitempty"`
+	RxMcastPackets uint64                 `protobuf:"varint,12,opt,name=rxMcastPackets,proto3" json:"rxMcastPackets,omitempty"`
+	unknownFields  protoimpl.UnknownFields
+	sizeCache      protoimpl.SizeCache
 }
 
-func (m *GetOltPortCountersResponse) Reset()         { *m = GetOltPortCountersResponse{} }
-func (m *GetOltPortCountersResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOltPortCountersResponse) ProtoMessage()    {}
+func (x *GetOltPortCountersResponse) Reset() {
+	*x = GetOltPortCountersResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOltPortCountersResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOltPortCountersResponse) ProtoMessage() {}
+
+func (x *GetOltPortCountersResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOltPortCountersResponse.ProtoReflect.Descriptor instead.
 func (*GetOltPortCountersResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{9}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{9}
 }
 
-func (m *GetOltPortCountersResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOltPortCountersResponse.Unmarshal(m, b)
-}
-func (m *GetOltPortCountersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOltPortCountersResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOltPortCountersResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOltPortCountersResponse.Merge(m, src)
-}
-func (m *GetOltPortCountersResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOltPortCountersResponse.Size(m)
-}
-func (m *GetOltPortCountersResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOltPortCountersResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOltPortCountersResponse proto.InternalMessageInfo
-
-func (m *GetOltPortCountersResponse) GetTxBytes() uint64 {
-	if m != nil {
-		return m.TxBytes
+func (x *GetOltPortCountersResponse) GetTxBytes() uint64 {
+	if x != nil {
+		return x.TxBytes
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxBytes() uint64 {
-	if m != nil {
-		return m.RxBytes
+func (x *GetOltPortCountersResponse) GetRxBytes() uint64 {
+	if x != nil {
+		return x.RxBytes
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetTxPackets() uint64 {
-	if m != nil {
-		return m.TxPackets
+func (x *GetOltPortCountersResponse) GetTxPackets() uint64 {
+	if x != nil {
+		return x.TxPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxPackets() uint64 {
-	if m != nil {
-		return m.RxPackets
+func (x *GetOltPortCountersResponse) GetRxPackets() uint64 {
+	if x != nil {
+		return x.RxPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetTxErrorPackets() uint64 {
-	if m != nil {
-		return m.TxErrorPackets
+func (x *GetOltPortCountersResponse) GetTxErrorPackets() uint64 {
+	if x != nil {
+		return x.TxErrorPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxErrorPackets() uint64 {
-	if m != nil {
-		return m.RxErrorPackets
+func (x *GetOltPortCountersResponse) GetRxErrorPackets() uint64 {
+	if x != nil {
+		return x.RxErrorPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetTxBcastPackets() uint64 {
-	if m != nil {
-		return m.TxBcastPackets
+func (x *GetOltPortCountersResponse) GetTxBcastPackets() uint64 {
+	if x != nil {
+		return x.TxBcastPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxBcastPackets() uint64 {
-	if m != nil {
-		return m.RxBcastPackets
+func (x *GetOltPortCountersResponse) GetRxBcastPackets() uint64 {
+	if x != nil {
+		return x.RxBcastPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetTxUcastPackets() uint64 {
-	if m != nil {
-		return m.TxUcastPackets
+func (x *GetOltPortCountersResponse) GetTxUcastPackets() uint64 {
+	if x != nil {
+		return x.TxUcastPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxUcastPackets() uint64 {
-	if m != nil {
-		return m.RxUcastPackets
+func (x *GetOltPortCountersResponse) GetRxUcastPackets() uint64 {
+	if x != nil {
+		return x.RxUcastPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetTxMcastPackets() uint64 {
-	if m != nil {
-		return m.TxMcastPackets
+func (x *GetOltPortCountersResponse) GetTxMcastPackets() uint64 {
+	if x != nil {
+		return x.TxMcastPackets
 	}
 	return 0
 }
 
-func (m *GetOltPortCountersResponse) GetRxMcastPackets() uint64 {
-	if m != nil {
-		return m.RxMcastPackets
+func (x *GetOltPortCountersResponse) GetRxMcastPackets() uint64 {
+	if x != nil {
+		return x.RxMcastPackets
 	}
 	return 0
 }
 
 type GetOnuPonOpticalInfo struct {
-	Empty                *empty.Empty `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Empty         *emptypb.Empty         `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuPonOpticalInfo) Reset()         { *m = GetOnuPonOpticalInfo{} }
-func (m *GetOnuPonOpticalInfo) String() string { return proto.CompactTextString(m) }
-func (*GetOnuPonOpticalInfo) ProtoMessage()    {}
+func (x *GetOnuPonOpticalInfo) Reset() {
+	*x = GetOnuPonOpticalInfo{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuPonOpticalInfo) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuPonOpticalInfo) ProtoMessage() {}
+
+func (x *GetOnuPonOpticalInfo) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuPonOpticalInfo.ProtoReflect.Descriptor instead.
 func (*GetOnuPonOpticalInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{10}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{10}
 }
 
-func (m *GetOnuPonOpticalInfo) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuPonOpticalInfo.Unmarshal(m, b)
-}
-func (m *GetOnuPonOpticalInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuPonOpticalInfo.Marshal(b, m, deterministic)
-}
-func (m *GetOnuPonOpticalInfo) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuPonOpticalInfo.Merge(m, src)
-}
-func (m *GetOnuPonOpticalInfo) XXX_Size() int {
-	return xxx_messageInfo_GetOnuPonOpticalInfo.Size(m)
-}
-func (m *GetOnuPonOpticalInfo) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuPonOpticalInfo.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuPonOpticalInfo proto.InternalMessageInfo
-
-func (m *GetOnuPonOpticalInfo) GetEmpty() *empty.Empty {
-	if m != nil {
-		return m.Empty
+func (x *GetOnuPonOpticalInfo) GetEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.Empty
 	}
 	return nil
 }
@@ -998,950 +1312,1057 @@
 // These values correspond to the Optical Line Supervision Test results
 // described in section A3.39.5 of ITU-T G.988 (11/2017) specification.
 type GetOnuPonOpticalInfoResponse struct {
-	PowerFeedVoltage       float32  `protobuf:"fixed32,1,opt,name=powerFeedVoltage,proto3" json:"powerFeedVoltage,omitempty"`
-	ReceivedOpticalPower   float32  `protobuf:"fixed32,2,opt,name=receivedOpticalPower,proto3" json:"receivedOpticalPower,omitempty"`
-	MeanOpticalLaunchPower float32  `protobuf:"fixed32,3,opt,name=meanOpticalLaunchPower,proto3" json:"meanOpticalLaunchPower,omitempty"`
-	LaserBiasCurrent       float32  `protobuf:"fixed32,4,opt,name=laserBiasCurrent,proto3" json:"laserBiasCurrent,omitempty"`
-	Temperature            float32  `protobuf:"fixed32,5,opt,name=temperature,proto3" json:"temperature,omitempty"`
-	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
-	XXX_unrecognized       []byte   `json:"-"`
-	XXX_sizecache          int32    `json:"-"`
+	state                  protoimpl.MessageState `protogen:"open.v1"`
+	PowerFeedVoltage       float32                `protobuf:"fixed32,1,opt,name=powerFeedVoltage,proto3" json:"powerFeedVoltage,omitempty"`             // unit of value is voltage
+	ReceivedOpticalPower   float32                `protobuf:"fixed32,2,opt,name=receivedOpticalPower,proto3" json:"receivedOpticalPower,omitempty"`     // unit of value is dBm
+	MeanOpticalLaunchPower float32                `protobuf:"fixed32,3,opt,name=meanOpticalLaunchPower,proto3" json:"meanOpticalLaunchPower,omitempty"` // unit of value is dBm
+	LaserBiasCurrent       float32                `protobuf:"fixed32,4,opt,name=laserBiasCurrent,proto3" json:"laserBiasCurrent,omitempty"`             // unit of value is milli-amphere (mA)
+	Temperature            float32                `protobuf:"fixed32,5,opt,name=temperature,proto3" json:"temperature,omitempty"`                       // unit of value is degree celsius
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
 }
 
-func (m *GetOnuPonOpticalInfoResponse) Reset()         { *m = GetOnuPonOpticalInfoResponse{} }
-func (m *GetOnuPonOpticalInfoResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuPonOpticalInfoResponse) ProtoMessage()    {}
+func (x *GetOnuPonOpticalInfoResponse) Reset() {
+	*x = GetOnuPonOpticalInfoResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuPonOpticalInfoResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuPonOpticalInfoResponse) ProtoMessage() {}
+
+func (x *GetOnuPonOpticalInfoResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuPonOpticalInfoResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuPonOpticalInfoResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{11}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{11}
 }
 
-func (m *GetOnuPonOpticalInfoResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuPonOpticalInfoResponse.Unmarshal(m, b)
-}
-func (m *GetOnuPonOpticalInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuPonOpticalInfoResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuPonOpticalInfoResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuPonOpticalInfoResponse.Merge(m, src)
-}
-func (m *GetOnuPonOpticalInfoResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuPonOpticalInfoResponse.Size(m)
-}
-func (m *GetOnuPonOpticalInfoResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuPonOpticalInfoResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuPonOpticalInfoResponse proto.InternalMessageInfo
-
-func (m *GetOnuPonOpticalInfoResponse) GetPowerFeedVoltage() float32 {
-	if m != nil {
-		return m.PowerFeedVoltage
+func (x *GetOnuPonOpticalInfoResponse) GetPowerFeedVoltage() float32 {
+	if x != nil {
+		return x.PowerFeedVoltage
 	}
 	return 0
 }
 
-func (m *GetOnuPonOpticalInfoResponse) GetReceivedOpticalPower() float32 {
-	if m != nil {
-		return m.ReceivedOpticalPower
+func (x *GetOnuPonOpticalInfoResponse) GetReceivedOpticalPower() float32 {
+	if x != nil {
+		return x.ReceivedOpticalPower
 	}
 	return 0
 }
 
-func (m *GetOnuPonOpticalInfoResponse) GetMeanOpticalLaunchPower() float32 {
-	if m != nil {
-		return m.MeanOpticalLaunchPower
+func (x *GetOnuPonOpticalInfoResponse) GetMeanOpticalLaunchPower() float32 {
+	if x != nil {
+		return x.MeanOpticalLaunchPower
 	}
 	return 0
 }
 
-func (m *GetOnuPonOpticalInfoResponse) GetLaserBiasCurrent() float32 {
-	if m != nil {
-		return m.LaserBiasCurrent
+func (x *GetOnuPonOpticalInfoResponse) GetLaserBiasCurrent() float32 {
+	if x != nil {
+		return x.LaserBiasCurrent
 	}
 	return 0
 }
 
-func (m *GetOnuPonOpticalInfoResponse) GetTemperature() float32 {
-	if m != nil {
-		return m.Temperature
+func (x *GetOnuPonOpticalInfoResponse) GetTemperature() float32 {
+	if x != nil {
+		return x.Temperature
 	}
 	return 0
 }
 
 type GetOnuEthernetBridgePortHistory struct {
-	Direction            GetOnuEthernetBridgePortHistory_Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=extension.GetOnuEthernetBridgePortHistory_Direction" json:"direction,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
-	XXX_unrecognized     []byte                                    `json:"-"`
-	XXX_sizecache        int32                                     `json:"-"`
+	state         protoimpl.MessageState                    `protogen:"open.v1"`
+	Direction     GetOnuEthernetBridgePortHistory_Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=extension.GetOnuEthernetBridgePortHistory_Direction" json:"direction,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuEthernetBridgePortHistory) Reset()         { *m = GetOnuEthernetBridgePortHistory{} }
-func (m *GetOnuEthernetBridgePortHistory) String() string { return proto.CompactTextString(m) }
-func (*GetOnuEthernetBridgePortHistory) ProtoMessage()    {}
+func (x *GetOnuEthernetBridgePortHistory) Reset() {
+	*x = GetOnuEthernetBridgePortHistory{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuEthernetBridgePortHistory) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuEthernetBridgePortHistory) ProtoMessage() {}
+
+func (x *GetOnuEthernetBridgePortHistory) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuEthernetBridgePortHistory.ProtoReflect.Descriptor instead.
 func (*GetOnuEthernetBridgePortHistory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{12}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{12}
 }
 
-func (m *GetOnuEthernetBridgePortHistory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistory.Unmarshal(m, b)
-}
-func (m *GetOnuEthernetBridgePortHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistory.Marshal(b, m, deterministic)
-}
-func (m *GetOnuEthernetBridgePortHistory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuEthernetBridgePortHistory.Merge(m, src)
-}
-func (m *GetOnuEthernetBridgePortHistory) XXX_Size() int {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistory.Size(m)
-}
-func (m *GetOnuEthernetBridgePortHistory) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuEthernetBridgePortHistory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuEthernetBridgePortHistory proto.InternalMessageInfo
-
-func (m *GetOnuEthernetBridgePortHistory) GetDirection() GetOnuEthernetBridgePortHistory_Direction {
-	if m != nil {
-		return m.Direction
+func (x *GetOnuEthernetBridgePortHistory) GetDirection() GetOnuEthernetBridgePortHistory_Direction {
+	if x != nil {
+		return x.Direction
 	}
 	return GetOnuEthernetBridgePortHistory_UNDEFINED
 }
 
 type GetOnuEthernetBridgePortHistoryResponse struct {
-	DropEvents              uint32   `protobuf:"varint,1,opt,name=dropEvents,proto3" json:"dropEvents,omitempty"`
-	Octets                  uint32   `protobuf:"varint,2,opt,name=octets,proto3" json:"octets,omitempty"`
-	Packets                 uint32   `protobuf:"varint,3,opt,name=packets,proto3" json:"packets,omitempty"`
-	BroadcastPackets        uint32   `protobuf:"varint,4,opt,name=broadcastPackets,proto3" json:"broadcastPackets,omitempty"`
-	MulticastPackets        uint32   `protobuf:"varint,5,opt,name=multicastPackets,proto3" json:"multicastPackets,omitempty"`
-	CrcErroredPackets       uint32   `protobuf:"varint,6,opt,name=crcErroredPackets,proto3" json:"crcErroredPackets,omitempty"`
-	UndersizePackets        uint32   `protobuf:"varint,7,opt,name=undersizePackets,proto3" json:"undersizePackets,omitempty"`
-	OversizePackets         uint32   `protobuf:"varint,8,opt,name=oversizePackets,proto3" json:"oversizePackets,omitempty"`
-	Packets64Octets         uint32   `protobuf:"varint,9,opt,name=packets64octets,proto3" json:"packets64octets,omitempty"`
-	Packets65To127Octets    uint32   `protobuf:"varint,10,opt,name=packets65To127octets,proto3" json:"packets65To127octets,omitempty"`
-	Packets128To255Octets   uint32   `protobuf:"varint,11,opt,name=packets128To255Octets,proto3" json:"packets128To255Octets,omitempty"`
-	Packets256To511Octets   uint32   `protobuf:"varint,12,opt,name=packets256To511octets,proto3" json:"packets256To511octets,omitempty"`
-	Packets512To1023Octets  uint32   `protobuf:"varint,13,opt,name=packets512To1023octets,proto3" json:"packets512To1023octets,omitempty"`
-	Packets1024To1518Octets uint32   `protobuf:"varint,14,opt,name=packets1024To1518octets,proto3" json:"packets1024To1518octets,omitempty"`
-	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
-	XXX_unrecognized        []byte   `json:"-"`
-	XXX_sizecache           int32    `json:"-"`
+	state                   protoimpl.MessageState `protogen:"open.v1"`
+	DropEvents              uint32                 `protobuf:"varint,1,opt,name=dropEvents,proto3" json:"dropEvents,omitempty"`
+	Octets                  uint32                 `protobuf:"varint,2,opt,name=octets,proto3" json:"octets,omitempty"`
+	Packets                 uint32                 `protobuf:"varint,3,opt,name=packets,proto3" json:"packets,omitempty"`
+	BroadcastPackets        uint32                 `protobuf:"varint,4,opt,name=broadcastPackets,proto3" json:"broadcastPackets,omitempty"`
+	MulticastPackets        uint32                 `protobuf:"varint,5,opt,name=multicastPackets,proto3" json:"multicastPackets,omitempty"`
+	CrcErroredPackets       uint32                 `protobuf:"varint,6,opt,name=crcErroredPackets,proto3" json:"crcErroredPackets,omitempty"`
+	UndersizePackets        uint32                 `protobuf:"varint,7,opt,name=undersizePackets,proto3" json:"undersizePackets,omitempty"`
+	OversizePackets         uint32                 `protobuf:"varint,8,opt,name=oversizePackets,proto3" json:"oversizePackets,omitempty"`
+	Packets64Octets         uint32                 `protobuf:"varint,9,opt,name=packets64octets,proto3" json:"packets64octets,omitempty"`
+	Packets65To127Octets    uint32                 `protobuf:"varint,10,opt,name=packets65To127octets,proto3" json:"packets65To127octets,omitempty"`
+	Packets128To255Octets   uint32                 `protobuf:"varint,11,opt,name=packets128To255Octets,proto3" json:"packets128To255Octets,omitempty"`
+	Packets256To511Octets   uint32                 `protobuf:"varint,12,opt,name=packets256To511octets,proto3" json:"packets256To511octets,omitempty"`
+	Packets512To1023Octets  uint32                 `protobuf:"varint,13,opt,name=packets512To1023octets,proto3" json:"packets512To1023octets,omitempty"`
+	Packets1024To1518Octets uint32                 `protobuf:"varint,14,opt,name=packets1024To1518octets,proto3" json:"packets1024To1518octets,omitempty"`
+	unknownFields           protoimpl.UnknownFields
+	sizeCache               protoimpl.SizeCache
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) Reset() {
-	*m = GetOnuEthernetBridgePortHistoryResponse{}
+func (x *GetOnuEthernetBridgePortHistoryResponse) Reset() {
+	*x = GetOnuEthernetBridgePortHistoryResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
-func (m *GetOnuEthernetBridgePortHistoryResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuEthernetBridgePortHistoryResponse) ProtoMessage()    {}
+
+func (x *GetOnuEthernetBridgePortHistoryResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuEthernetBridgePortHistoryResponse) ProtoMessage() {}
+
+func (x *GetOnuEthernetBridgePortHistoryResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuEthernetBridgePortHistoryResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuEthernetBridgePortHistoryResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{13}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{13}
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse.Unmarshal(m, b)
-}
-func (m *GetOnuEthernetBridgePortHistoryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuEthernetBridgePortHistoryResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse.Merge(m, src)
-}
-func (m *GetOnuEthernetBridgePortHistoryResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse.Size(m)
-}
-func (m *GetOnuEthernetBridgePortHistoryResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuEthernetBridgePortHistoryResponse proto.InternalMessageInfo
-
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetDropEvents() uint32 {
-	if m != nil {
-		return m.DropEvents
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetDropEvents() uint32 {
+	if x != nil {
+		return x.DropEvents
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetOctets() uint32 {
-	if m != nil {
-		return m.Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetOctets() uint32 {
+	if x != nil {
+		return x.Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets() uint32 {
-	if m != nil {
-		return m.Packets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets() uint32 {
+	if x != nil {
+		return x.Packets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetBroadcastPackets() uint32 {
-	if m != nil {
-		return m.BroadcastPackets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetBroadcastPackets() uint32 {
+	if x != nil {
+		return x.BroadcastPackets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetMulticastPackets() uint32 {
-	if m != nil {
-		return m.MulticastPackets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetMulticastPackets() uint32 {
+	if x != nil {
+		return x.MulticastPackets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetCrcErroredPackets() uint32 {
-	if m != nil {
-		return m.CrcErroredPackets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetCrcErroredPackets() uint32 {
+	if x != nil {
+		return x.CrcErroredPackets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetUndersizePackets() uint32 {
-	if m != nil {
-		return m.UndersizePackets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetUndersizePackets() uint32 {
+	if x != nil {
+		return x.UndersizePackets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetOversizePackets() uint32 {
-	if m != nil {
-		return m.OversizePackets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetOversizePackets() uint32 {
+	if x != nil {
+		return x.OversizePackets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets64Octets() uint32 {
-	if m != nil {
-		return m.Packets64Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets64Octets() uint32 {
+	if x != nil {
+		return x.Packets64Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets65To127Octets() uint32 {
-	if m != nil {
-		return m.Packets65To127Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets65To127Octets() uint32 {
+	if x != nil {
+		return x.Packets65To127Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets128To255Octets() uint32 {
-	if m != nil {
-		return m.Packets128To255Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets128To255Octets() uint32 {
+	if x != nil {
+		return x.Packets128To255Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets256To511Octets() uint32 {
-	if m != nil {
-		return m.Packets256To511Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets256To511Octets() uint32 {
+	if x != nil {
+		return x.Packets256To511Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets512To1023Octets() uint32 {
-	if m != nil {
-		return m.Packets512To1023Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets512To1023Octets() uint32 {
+	if x != nil {
+		return x.Packets512To1023Octets
 	}
 	return 0
 }
 
-func (m *GetOnuEthernetBridgePortHistoryResponse) GetPackets1024To1518Octets() uint32 {
-	if m != nil {
-		return m.Packets1024To1518Octets
+func (x *GetOnuEthernetBridgePortHistoryResponse) GetPackets1024To1518Octets() uint32 {
+	if x != nil {
+		return x.Packets1024To1518Octets
 	}
 	return 0
 }
 
 // GetOnuAllocGemHistoryRequest collects GEM and AllocId stats from ONU
 type GetOnuAllocGemHistoryRequest struct {
-	Empty                *empty.Empty `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Empty         *emptypb.Empty         `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuAllocGemHistoryRequest) Reset()         { *m = GetOnuAllocGemHistoryRequest{} }
-func (m *GetOnuAllocGemHistoryRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuAllocGemHistoryRequest) ProtoMessage()    {}
+func (x *GetOnuAllocGemHistoryRequest) Reset() {
+	*x = GetOnuAllocGemHistoryRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuAllocGemHistoryRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuAllocGemHistoryRequest) ProtoMessage() {}
+
+func (x *GetOnuAllocGemHistoryRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuAllocGemHistoryRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuAllocGemHistoryRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{14}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{14}
 }
 
-func (m *GetOnuAllocGemHistoryRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuAllocGemHistoryRequest.Unmarshal(m, b)
-}
-func (m *GetOnuAllocGemHistoryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuAllocGemHistoryRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuAllocGemHistoryRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuAllocGemHistoryRequest.Merge(m, src)
-}
-func (m *GetOnuAllocGemHistoryRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuAllocGemHistoryRequest.Size(m)
-}
-func (m *GetOnuAllocGemHistoryRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuAllocGemHistoryRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuAllocGemHistoryRequest proto.InternalMessageInfo
-
-func (m *GetOnuAllocGemHistoryRequest) GetEmpty() *empty.Empty {
-	if m != nil {
-		return m.Empty
+func (x *GetOnuAllocGemHistoryRequest) GetEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.Empty
 	}
 	return nil
 }
 
 type OnuGemPortHistoryData struct {
-	GemId                uint32 `protobuf:"varint,1,opt,name=gemId,proto3" json:"gemId,omitempty"`
-	TransmittedGEMFrames uint32 `protobuf:"varint,2,opt,name=transmittedGEMFrames,proto3" json:"transmittedGEMFrames,omitempty"`
-	ReceivedGEMFrames    uint32 `protobuf:"varint,3,opt,name=receivedGEMFrames,proto3" json:"receivedGEMFrames,omitempty"`
+	state                protoimpl.MessageState `protogen:"open.v1"`
+	GemId                uint32                 `protobuf:"varint,1,opt,name=gemId,proto3" json:"gemId,omitempty"`
+	TransmittedGEMFrames uint32                 `protobuf:"varint,2,opt,name=transmittedGEMFrames,proto3" json:"transmittedGEMFrames,omitempty"`
+	ReceivedGEMFrames    uint32                 `protobuf:"varint,3,opt,name=receivedGEMFrames,proto3" json:"receivedGEMFrames,omitempty"`
 	// Deprecated: uint32 cannot handle large byte counters and will overflow after ~4GB.
 	// Use received_payload_bytes_64 instead for full 64-bit precision.
-	ReceivedPayloadBytes uint32 `protobuf:"varint,4,opt,name=receivedPayloadBytes,proto3" json:"receivedPayloadBytes,omitempty"` // Deprecated: Do not use.
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	ReceivedPayloadBytes uint32 `protobuf:"varint,4,opt,name=receivedPayloadBytes,proto3" json:"receivedPayloadBytes,omitempty"`
 	// Deprecated: uint32 cannot handle large byte counters and will overflow after ~4GB.
 	// Use transmitted_payload_bytes_64 instead for full 64-bit precision.
-	TransmittedPayloadBytes    uint32   `protobuf:"varint,5,opt,name=transmittedPayloadBytes,proto3" json:"transmittedPayloadBytes,omitempty"` // Deprecated: Do not use.
-	EncryptionKeyErrors        uint32   `protobuf:"varint,6,opt,name=encryptionKeyErrors,proto3" json:"encryptionKeyErrors,omitempty"`
-	ReceivedPayloadBytes_64    uint64   `protobuf:"fixed64,7,opt,name=received_payload_bytes_64,json=receivedPayloadBytes64,proto3" json:"received_payload_bytes_64,omitempty"`
-	TransmittedPayloadBytes_64 uint64   `protobuf:"fixed64,8,opt,name=transmitted_payload_bytes_64,json=transmittedPayloadBytes64,proto3" json:"transmitted_payload_bytes_64,omitempty"`
-	XXX_NoUnkeyedLiteral       struct{} `json:"-"`
-	XXX_unrecognized           []byte   `json:"-"`
-	XXX_sizecache              int32    `json:"-"`
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	TransmittedPayloadBytes    uint32 `protobuf:"varint,5,opt,name=transmittedPayloadBytes,proto3" json:"transmittedPayloadBytes,omitempty"`
+	EncryptionKeyErrors        uint32 `protobuf:"varint,6,opt,name=encryptionKeyErrors,proto3" json:"encryptionKeyErrors,omitempty"`
+	ReceivedPayloadBytes_64    uint64 `protobuf:"fixed64,7,opt,name=received_payload_bytes_64,json=receivedPayloadBytes64,proto3" json:"received_payload_bytes_64,omitempty"`
+	TransmittedPayloadBytes_64 uint64 `protobuf:"fixed64,8,opt,name=transmitted_payload_bytes_64,json=transmittedPayloadBytes64,proto3" json:"transmitted_payload_bytes_64,omitempty"`
+	unknownFields              protoimpl.UnknownFields
+	sizeCache                  protoimpl.SizeCache
 }
 
-func (m *OnuGemPortHistoryData) Reset()         { *m = OnuGemPortHistoryData{} }
-func (m *OnuGemPortHistoryData) String() string { return proto.CompactTextString(m) }
-func (*OnuGemPortHistoryData) ProtoMessage()    {}
+func (x *OnuGemPortHistoryData) Reset() {
+	*x = OnuGemPortHistoryData{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuGemPortHistoryData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuGemPortHistoryData) ProtoMessage() {}
+
+func (x *OnuGemPortHistoryData) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 OnuGemPortHistoryData.ProtoReflect.Descriptor instead.
 func (*OnuGemPortHistoryData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{15}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{15}
 }
 
-func (m *OnuGemPortHistoryData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuGemPortHistoryData.Unmarshal(m, b)
-}
-func (m *OnuGemPortHistoryData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuGemPortHistoryData.Marshal(b, m, deterministic)
-}
-func (m *OnuGemPortHistoryData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuGemPortHistoryData.Merge(m, src)
-}
-func (m *OnuGemPortHistoryData) XXX_Size() int {
-	return xxx_messageInfo_OnuGemPortHistoryData.Size(m)
-}
-func (m *OnuGemPortHistoryData) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuGemPortHistoryData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuGemPortHistoryData proto.InternalMessageInfo
-
-func (m *OnuGemPortHistoryData) GetGemId() uint32 {
-	if m != nil {
-		return m.GemId
+func (x *OnuGemPortHistoryData) GetGemId() uint32 {
+	if x != nil {
+		return x.GemId
 	}
 	return 0
 }
 
-func (m *OnuGemPortHistoryData) GetTransmittedGEMFrames() uint32 {
-	if m != nil {
-		return m.TransmittedGEMFrames
+func (x *OnuGemPortHistoryData) GetTransmittedGEMFrames() uint32 {
+	if x != nil {
+		return x.TransmittedGEMFrames
 	}
 	return 0
 }
 
-func (m *OnuGemPortHistoryData) GetReceivedGEMFrames() uint32 {
-	if m != nil {
-		return m.ReceivedGEMFrames
+func (x *OnuGemPortHistoryData) GetReceivedGEMFrames() uint32 {
+	if x != nil {
+		return x.ReceivedGEMFrames
 	}
 	return 0
 }
 
-// Deprecated: Do not use.
-func (m *OnuGemPortHistoryData) GetReceivedPayloadBytes() uint32 {
-	if m != nil {
-		return m.ReceivedPayloadBytes
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *OnuGemPortHistoryData) GetReceivedPayloadBytes() uint32 {
+	if x != nil {
+		return x.ReceivedPayloadBytes
 	}
 	return 0
 }
 
-// Deprecated: Do not use.
-func (m *OnuGemPortHistoryData) GetTransmittedPayloadBytes() uint32 {
-	if m != nil {
-		return m.TransmittedPayloadBytes
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *OnuGemPortHistoryData) GetTransmittedPayloadBytes() uint32 {
+	if x != nil {
+		return x.TransmittedPayloadBytes
 	}
 	return 0
 }
 
-func (m *OnuGemPortHistoryData) GetEncryptionKeyErrors() uint32 {
-	if m != nil {
-		return m.EncryptionKeyErrors
+func (x *OnuGemPortHistoryData) GetEncryptionKeyErrors() uint32 {
+	if x != nil {
+		return x.EncryptionKeyErrors
 	}
 	return 0
 }
 
-func (m *OnuGemPortHistoryData) GetReceivedPayloadBytes_64() uint64 {
-	if m != nil {
-		return m.ReceivedPayloadBytes_64
+func (x *OnuGemPortHistoryData) GetReceivedPayloadBytes_64() uint64 {
+	if x != nil {
+		return x.ReceivedPayloadBytes_64
 	}
 	return 0
 }
 
-func (m *OnuGemPortHistoryData) GetTransmittedPayloadBytes_64() uint64 {
-	if m != nil {
-		return m.TransmittedPayloadBytes_64
+func (x *OnuGemPortHistoryData) GetTransmittedPayloadBytes_64() uint64 {
+	if x != nil {
+		return x.TransmittedPayloadBytes_64
 	}
 	return 0
 }
 
 type OnuAllocHistoryData struct {
-	AllocId              uint32   `protobuf:"varint,1,opt,name=allocId,proto3" json:"allocId,omitempty"`
-	RxBytes              uint32   `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	AllocId       uint32                 `protobuf:"varint,1,opt,name=allocId,proto3" json:"allocId,omitempty"`
+	RxBytes       uint32                 `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *OnuAllocHistoryData) Reset()         { *m = OnuAllocHistoryData{} }
-func (m *OnuAllocHistoryData) String() string { return proto.CompactTextString(m) }
-func (*OnuAllocHistoryData) ProtoMessage()    {}
+func (x *OnuAllocHistoryData) Reset() {
+	*x = OnuAllocHistoryData{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuAllocHistoryData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuAllocHistoryData) ProtoMessage() {}
+
+func (x *OnuAllocHistoryData) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 OnuAllocHistoryData.ProtoReflect.Descriptor instead.
 func (*OnuAllocHistoryData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{16}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{16}
 }
 
-func (m *OnuAllocHistoryData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuAllocHistoryData.Unmarshal(m, b)
-}
-func (m *OnuAllocHistoryData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuAllocHistoryData.Marshal(b, m, deterministic)
-}
-func (m *OnuAllocHistoryData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuAllocHistoryData.Merge(m, src)
-}
-func (m *OnuAllocHistoryData) XXX_Size() int {
-	return xxx_messageInfo_OnuAllocHistoryData.Size(m)
-}
-func (m *OnuAllocHistoryData) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuAllocHistoryData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuAllocHistoryData proto.InternalMessageInfo
-
-func (m *OnuAllocHistoryData) GetAllocId() uint32 {
-	if m != nil {
-		return m.AllocId
+func (x *OnuAllocHistoryData) GetAllocId() uint32 {
+	if x != nil {
+		return x.AllocId
 	}
 	return 0
 }
 
-func (m *OnuAllocHistoryData) GetRxBytes() uint32 {
-	if m != nil {
-		return m.RxBytes
+func (x *OnuAllocHistoryData) GetRxBytes() uint32 {
+	if x != nil {
+		return x.RxBytes
 	}
 	return 0
 }
 
 type OnuAllocGemHistoryData struct {
-	OnuAllocIdInfo       *OnuAllocHistoryData     `protobuf:"bytes,1,opt,name=onuAllocIdInfo,proto3" json:"onuAllocIdInfo,omitempty"`
-	GemPortInfo          []*OnuGemPortHistoryData `protobuf:"bytes,2,rep,name=gemPortInfo,proto3" json:"gemPortInfo,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
-	XXX_unrecognized     []byte                   `json:"-"`
-	XXX_sizecache        int32                    `json:"-"`
+	state          protoimpl.MessageState   `protogen:"open.v1"`
+	OnuAllocIdInfo *OnuAllocHistoryData     `protobuf:"bytes,1,opt,name=onuAllocIdInfo,proto3" json:"onuAllocIdInfo,omitempty"`
+	GemPortInfo    []*OnuGemPortHistoryData `protobuf:"bytes,2,rep,name=gemPortInfo,proto3" json:"gemPortInfo,omitempty"`
+	unknownFields  protoimpl.UnknownFields
+	sizeCache      protoimpl.SizeCache
 }
 
-func (m *OnuAllocGemHistoryData) Reset()         { *m = OnuAllocGemHistoryData{} }
-func (m *OnuAllocGemHistoryData) String() string { return proto.CompactTextString(m) }
-func (*OnuAllocGemHistoryData) ProtoMessage()    {}
+func (x *OnuAllocGemHistoryData) Reset() {
+	*x = OnuAllocGemHistoryData{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuAllocGemHistoryData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuAllocGemHistoryData) ProtoMessage() {}
+
+func (x *OnuAllocGemHistoryData) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 OnuAllocGemHistoryData.ProtoReflect.Descriptor instead.
 func (*OnuAllocGemHistoryData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{17}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{17}
 }
 
-func (m *OnuAllocGemHistoryData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuAllocGemHistoryData.Unmarshal(m, b)
-}
-func (m *OnuAllocGemHistoryData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuAllocGemHistoryData.Marshal(b, m, deterministic)
-}
-func (m *OnuAllocGemHistoryData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuAllocGemHistoryData.Merge(m, src)
-}
-func (m *OnuAllocGemHistoryData) XXX_Size() int {
-	return xxx_messageInfo_OnuAllocGemHistoryData.Size(m)
-}
-func (m *OnuAllocGemHistoryData) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuAllocGemHistoryData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuAllocGemHistoryData proto.InternalMessageInfo
-
-func (m *OnuAllocGemHistoryData) GetOnuAllocIdInfo() *OnuAllocHistoryData {
-	if m != nil {
-		return m.OnuAllocIdInfo
+func (x *OnuAllocGemHistoryData) GetOnuAllocIdInfo() *OnuAllocHistoryData {
+	if x != nil {
+		return x.OnuAllocIdInfo
 	}
 	return nil
 }
 
-func (m *OnuAllocGemHistoryData) GetGemPortInfo() []*OnuGemPortHistoryData {
-	if m != nil {
-		return m.GemPortInfo
+func (x *OnuAllocGemHistoryData) GetGemPortInfo() []*OnuGemPortHistoryData {
+	if x != nil {
+		return x.GemPortInfo
 	}
 	return nil
 }
 
 type GetOnuAllocGemHistoryResponse struct {
+	state                  protoimpl.MessageState    `protogen:"open.v1"`
 	OnuAllocGemHistoryData []*OnuAllocGemHistoryData `protobuf:"bytes,1,rep,name=onuAllocGemHistoryData,proto3" json:"onuAllocGemHistoryData,omitempty"`
-	XXX_NoUnkeyedLiteral   struct{}                  `json:"-"`
-	XXX_unrecognized       []byte                    `json:"-"`
-	XXX_sizecache          int32                     `json:"-"`
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
 }
 
-func (m *GetOnuAllocGemHistoryResponse) Reset()         { *m = GetOnuAllocGemHistoryResponse{} }
-func (m *GetOnuAllocGemHistoryResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuAllocGemHistoryResponse) ProtoMessage()    {}
+func (x *GetOnuAllocGemHistoryResponse) Reset() {
+	*x = GetOnuAllocGemHistoryResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuAllocGemHistoryResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuAllocGemHistoryResponse) ProtoMessage() {}
+
+func (x *GetOnuAllocGemHistoryResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuAllocGemHistoryResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuAllocGemHistoryResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{18}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{18}
 }
 
-func (m *GetOnuAllocGemHistoryResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuAllocGemHistoryResponse.Unmarshal(m, b)
-}
-func (m *GetOnuAllocGemHistoryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuAllocGemHistoryResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuAllocGemHistoryResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuAllocGemHistoryResponse.Merge(m, src)
-}
-func (m *GetOnuAllocGemHistoryResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuAllocGemHistoryResponse.Size(m)
-}
-func (m *GetOnuAllocGemHistoryResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuAllocGemHistoryResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuAllocGemHistoryResponse proto.InternalMessageInfo
-
-func (m *GetOnuAllocGemHistoryResponse) GetOnuAllocGemHistoryData() []*OnuAllocGemHistoryData {
-	if m != nil {
-		return m.OnuAllocGemHistoryData
+func (x *GetOnuAllocGemHistoryResponse) GetOnuAllocGemHistoryData() []*OnuAllocGemHistoryData {
+	if x != nil {
+		return x.OnuAllocGemHistoryData
 	}
 	return nil
 }
 
 type GetOnuFecHistory struct {
-	Empty                *empty.Empty `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Empty         *emptypb.Empty         `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuFecHistory) Reset()         { *m = GetOnuFecHistory{} }
-func (m *GetOnuFecHistory) String() string { return proto.CompactTextString(m) }
-func (*GetOnuFecHistory) ProtoMessage()    {}
+func (x *GetOnuFecHistory) Reset() {
+	*x = GetOnuFecHistory{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuFecHistory) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuFecHistory) ProtoMessage() {}
+
+func (x *GetOnuFecHistory) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuFecHistory.ProtoReflect.Descriptor instead.
 func (*GetOnuFecHistory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{19}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{19}
 }
 
-func (m *GetOnuFecHistory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuFecHistory.Unmarshal(m, b)
-}
-func (m *GetOnuFecHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuFecHistory.Marshal(b, m, deterministic)
-}
-func (m *GetOnuFecHistory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuFecHistory.Merge(m, src)
-}
-func (m *GetOnuFecHistory) XXX_Size() int {
-	return xxx_messageInfo_GetOnuFecHistory.Size(m)
-}
-func (m *GetOnuFecHistory) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuFecHistory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuFecHistory proto.InternalMessageInfo
-
-func (m *GetOnuFecHistory) GetEmpty() *empty.Empty {
-	if m != nil {
-		return m.Empty
+func (x *GetOnuFecHistory) GetEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.Empty
 	}
 	return nil
 }
 
 type GetOnuFecHistoryResponse struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Deprecated: uint32 cannot handle large counter values and will overflow.
 	// Use fec_corrected_bytes_64 instead for full 64-bit precision.
-	CorrectedBytes uint32 `protobuf:"varint,1,opt,name=correctedBytes,proto3" json:"correctedBytes,omitempty"` // Deprecated: Do not use.
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	CorrectedBytes uint32 `protobuf:"varint,1,opt,name=correctedBytes,proto3" json:"correctedBytes,omitempty"`
 	// Deprecated: uint32 cannot handle large counter values and will overflow.
 	// Use fec_corrected_code_words_64 instead for full 64-bit precision.
-	CorrectedCodeWords uint32 `protobuf:"varint,2,opt,name=correctedCodeWords,proto3" json:"correctedCodeWords,omitempty"` // Deprecated: Do not use.
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	CorrectedCodeWords uint32 `protobuf:"varint,2,opt,name=correctedCodeWords,proto3" json:"correctedCodeWords,omitempty"`
 	FecSeconds         uint32 `protobuf:"varint,3,opt,name=fecSeconds,proto3" json:"fecSeconds,omitempty"`
 	// Deprecated: uint32 cannot handle large counter values and will overflow.
 	// Use total_code_words_64 instead for full 64-bit precision.
-	TotalCodeWords uint32 `protobuf:"varint,4,opt,name=totalCodeWords,proto3" json:"totalCodeWords,omitempty"` // Deprecated: Do not use.
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	TotalCodeWords uint32 `protobuf:"varint,4,opt,name=totalCodeWords,proto3" json:"totalCodeWords,omitempty"`
 	// Deprecated: uint32 cannot handle large counter values and will overflow.
 	// Use uncorrectable_code_words_64 instead for full 64-bit precision.
-	UncorrectableCodeWords    uint32   `protobuf:"varint,5,opt,name=uncorrectableCodeWords,proto3" json:"uncorrectableCodeWords,omitempty"` // Deprecated: Do not use.
-	FecCorrectedBytes_64      uint64   `protobuf:"fixed64,6,opt,name=fec_corrected_bytes_64,json=fecCorrectedBytes64,proto3" json:"fec_corrected_bytes_64,omitempty"`
-	FecCorrectedCodeWords_64  uint64   `protobuf:"fixed64,7,opt,name=fec_corrected_code_words_64,json=fecCorrectedCodeWords64,proto3" json:"fec_corrected_code_words_64,omitempty"`
-	TotalCodeWords_64         uint64   `protobuf:"fixed64,8,opt,name=total_code_words_64,json=totalCodeWords64,proto3" json:"total_code_words_64,omitempty"`
-	UncorrectableCodeWords_64 uint64   `protobuf:"fixed64,9,opt,name=uncorrectable_code_words_64,json=uncorrectableCodeWords64,proto3" json:"uncorrectable_code_words_64,omitempty"`
-	XXX_NoUnkeyedLiteral      struct{} `json:"-"`
-	XXX_unrecognized          []byte   `json:"-"`
-	XXX_sizecache             int32    `json:"-"`
+	//
+	// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+	UncorrectableCodeWords    uint32 `protobuf:"varint,5,opt,name=uncorrectableCodeWords,proto3" json:"uncorrectableCodeWords,omitempty"`
+	FecCorrectedBytes_64      uint64 `protobuf:"fixed64,6,opt,name=fec_corrected_bytes_64,json=fecCorrectedBytes64,proto3" json:"fec_corrected_bytes_64,omitempty"`
+	FecCorrectedCodeWords_64  uint64 `protobuf:"fixed64,7,opt,name=fec_corrected_code_words_64,json=fecCorrectedCodeWords64,proto3" json:"fec_corrected_code_words_64,omitempty"`
+	TotalCodeWords_64         uint64 `protobuf:"fixed64,8,opt,name=total_code_words_64,json=totalCodeWords64,proto3" json:"total_code_words_64,omitempty"`
+	UncorrectableCodeWords_64 uint64 `protobuf:"fixed64,9,opt,name=uncorrectable_code_words_64,json=uncorrectableCodeWords64,proto3" json:"uncorrectable_code_words_64,omitempty"`
+	unknownFields             protoimpl.UnknownFields
+	sizeCache                 protoimpl.SizeCache
 }
 
-func (m *GetOnuFecHistoryResponse) Reset()         { *m = GetOnuFecHistoryResponse{} }
-func (m *GetOnuFecHistoryResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuFecHistoryResponse) ProtoMessage()    {}
+func (x *GetOnuFecHistoryResponse) Reset() {
+	*x = GetOnuFecHistoryResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuFecHistoryResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuFecHistoryResponse) ProtoMessage() {}
+
+func (x *GetOnuFecHistoryResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_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 GetOnuFecHistoryResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuFecHistoryResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{20}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{20}
 }
 
-func (m *GetOnuFecHistoryResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuFecHistoryResponse.Unmarshal(m, b)
-}
-func (m *GetOnuFecHistoryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuFecHistoryResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuFecHistoryResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuFecHistoryResponse.Merge(m, src)
-}
-func (m *GetOnuFecHistoryResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuFecHistoryResponse.Size(m)
-}
-func (m *GetOnuFecHistoryResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuFecHistoryResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuFecHistoryResponse proto.InternalMessageInfo
-
-// Deprecated: Do not use.
-func (m *GetOnuFecHistoryResponse) GetCorrectedBytes() uint32 {
-	if m != nil {
-		return m.CorrectedBytes
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *GetOnuFecHistoryResponse) GetCorrectedBytes() uint32 {
+	if x != nil {
+		return x.CorrectedBytes
 	}
 	return 0
 }
 
-// Deprecated: Do not use.
-func (m *GetOnuFecHistoryResponse) GetCorrectedCodeWords() uint32 {
-	if m != nil {
-		return m.CorrectedCodeWords
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *GetOnuFecHistoryResponse) GetCorrectedCodeWords() uint32 {
+	if x != nil {
+		return x.CorrectedCodeWords
 	}
 	return 0
 }
 
-func (m *GetOnuFecHistoryResponse) GetFecSeconds() uint32 {
-	if m != nil {
-		return m.FecSeconds
+func (x *GetOnuFecHistoryResponse) GetFecSeconds() uint32 {
+	if x != nil {
+		return x.FecSeconds
 	}
 	return 0
 }
 
-// Deprecated: Do not use.
-func (m *GetOnuFecHistoryResponse) GetTotalCodeWords() uint32 {
-	if m != nil {
-		return m.TotalCodeWords
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *GetOnuFecHistoryResponse) GetTotalCodeWords() uint32 {
+	if x != nil {
+		return x.TotalCodeWords
 	}
 	return 0
 }
 
-// Deprecated: Do not use.
-func (m *GetOnuFecHistoryResponse) GetUncorrectableCodeWords() uint32 {
-	if m != nil {
-		return m.UncorrectableCodeWords
+// Deprecated: Marked as deprecated in voltha_protos/extensions.proto.
+func (x *GetOnuFecHistoryResponse) GetUncorrectableCodeWords() uint32 {
+	if x != nil {
+		return x.UncorrectableCodeWords
 	}
 	return 0
 }
 
-func (m *GetOnuFecHistoryResponse) GetFecCorrectedBytes_64() uint64 {
-	if m != nil {
-		return m.FecCorrectedBytes_64
+func (x *GetOnuFecHistoryResponse) GetFecCorrectedBytes_64() uint64 {
+	if x != nil {
+		return x.FecCorrectedBytes_64
 	}
 	return 0
 }
 
-func (m *GetOnuFecHistoryResponse) GetFecCorrectedCodeWords_64() uint64 {
-	if m != nil {
-		return m.FecCorrectedCodeWords_64
+func (x *GetOnuFecHistoryResponse) GetFecCorrectedCodeWords_64() uint64 {
+	if x != nil {
+		return x.FecCorrectedCodeWords_64
 	}
 	return 0
 }
 
-func (m *GetOnuFecHistoryResponse) GetTotalCodeWords_64() uint64 {
-	if m != nil {
-		return m.TotalCodeWords_64
+func (x *GetOnuFecHistoryResponse) GetTotalCodeWords_64() uint64 {
+	if x != nil {
+		return x.TotalCodeWords_64
 	}
 	return 0
 }
 
-func (m *GetOnuFecHistoryResponse) GetUncorrectableCodeWords_64() uint64 {
-	if m != nil {
-		return m.UncorrectableCodeWords_64
+func (x *GetOnuFecHistoryResponse) GetUncorrectableCodeWords_64() uint64 {
+	if x != nil {
+		return x.UncorrectableCodeWords_64
 	}
 	return 0
 }
 
 type GetOnuCountersRequest struct {
-	IntfId               uint32   `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
-	OnuId                uint32   `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	IntfId        uint32                 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+	OnuId         uint32                 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuCountersRequest) Reset()         { *m = GetOnuCountersRequest{} }
-func (m *GetOnuCountersRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuCountersRequest) ProtoMessage()    {}
+func (x *GetOnuCountersRequest) Reset() {
+	*x = GetOnuCountersRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[21]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuCountersRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuCountersRequest) ProtoMessage() {}
+
+func (x *GetOnuCountersRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[21]
+	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 GetOnuCountersRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuCountersRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{21}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{21}
 }
 
-func (m *GetOnuCountersRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuCountersRequest.Unmarshal(m, b)
-}
-func (m *GetOnuCountersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuCountersRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuCountersRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuCountersRequest.Merge(m, src)
-}
-func (m *GetOnuCountersRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuCountersRequest.Size(m)
-}
-func (m *GetOnuCountersRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuCountersRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuCountersRequest proto.InternalMessageInfo
-
-func (m *GetOnuCountersRequest) GetIntfId() uint32 {
-	if m != nil {
-		return m.IntfId
+func (x *GetOnuCountersRequest) GetIntfId() uint32 {
+	if x != nil {
+		return x.IntfId
 	}
 	return 0
 }
 
-func (m *GetOnuCountersRequest) GetOnuId() uint32 {
-	if m != nil {
-		return m.OnuId
+func (x *GetOnuCountersRequest) GetOnuId() uint32 {
+	if x != nil {
+		return x.OnuId
 	}
 	return 0
 }
 
 type GetOmciEthernetFrameExtendedPmRequest struct {
-	OnuDeviceId string `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
+	state       protoimpl.MessageState `protogen:"open.v1"`
+	OnuDeviceId string                 `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
 	// Types that are valid to be assigned to IsUniIndex:
+	//
 	//	*GetOmciEthernetFrameExtendedPmRequest_UniIndex
-	IsUniIndex           isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex `protobuf_oneof:"is_uni_index"`
-	Reset_               bool                                               `protobuf:"varint,3,opt,name=reset,proto3" json:"reset,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                           `json:"-"`
-	XXX_unrecognized     []byte                                             `json:"-"`
-	XXX_sizecache        int32                                              `json:"-"`
+	IsUniIndex    isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex `protobuf_oneof:"is_uni_index"`
+	Reset_        bool                                               `protobuf:"varint,3,opt,name=reset,proto3" json:"reset,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOmciEthernetFrameExtendedPmRequest) Reset()         { *m = GetOmciEthernetFrameExtendedPmRequest{} }
-func (m *GetOmciEthernetFrameExtendedPmRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOmciEthernetFrameExtendedPmRequest) ProtoMessage()    {}
+func (x *GetOmciEthernetFrameExtendedPmRequest) Reset() {
+	*x = GetOmciEthernetFrameExtendedPmRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[22]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOmciEthernetFrameExtendedPmRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOmciEthernetFrameExtendedPmRequest) ProtoMessage() {}
+
+func (x *GetOmciEthernetFrameExtendedPmRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[22]
+	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 GetOmciEthernetFrameExtendedPmRequest.ProtoReflect.Descriptor instead.
 func (*GetOmciEthernetFrameExtendedPmRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{22}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{22}
 }
 
-func (m *GetOmciEthernetFrameExtendedPmRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest.Unmarshal(m, b)
-}
-func (m *GetOmciEthernetFrameExtendedPmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOmciEthernetFrameExtendedPmRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest.Merge(m, src)
-}
-func (m *GetOmciEthernetFrameExtendedPmRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest.Size(m)
-}
-func (m *GetOmciEthernetFrameExtendedPmRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOmciEthernetFrameExtendedPmRequest proto.InternalMessageInfo
-
-func (m *GetOmciEthernetFrameExtendedPmRequest) GetOnuDeviceId() string {
-	if m != nil {
-		return m.OnuDeviceId
+func (x *GetOmciEthernetFrameExtendedPmRequest) GetOnuDeviceId() string {
+	if x != nil {
+		return x.OnuDeviceId
 	}
 	return ""
 }
 
+func (x *GetOmciEthernetFrameExtendedPmRequest) GetIsUniIndex() isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex {
+	if x != nil {
+		return x.IsUniIndex
+	}
+	return nil
+}
+
+func (x *GetOmciEthernetFrameExtendedPmRequest) GetUniIndex() uint32 {
+	if x != nil {
+		if x, ok := x.IsUniIndex.(*GetOmciEthernetFrameExtendedPmRequest_UniIndex); ok {
+			return x.UniIndex
+		}
+	}
+	return 0
+}
+
+func (x *GetOmciEthernetFrameExtendedPmRequest) GetReset_() bool {
+	if x != nil {
+		return x.Reset_
+	}
+	return false
+}
+
 type isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex interface {
 	isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex()
 }
 
 type GetOmciEthernetFrameExtendedPmRequest_UniIndex struct {
-	UniIndex uint32 `protobuf:"varint,2,opt,name=uniIndex,proto3,oneof"`
+	UniIndex uint32 `protobuf:"varint,2,opt,name=uniIndex,proto3,oneof"` // Index of the uni starting from 0
 }
 
 func (*GetOmciEthernetFrameExtendedPmRequest_UniIndex) isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex() {
 }
 
-func (m *GetOmciEthernetFrameExtendedPmRequest) GetIsUniIndex() isGetOmciEthernetFrameExtendedPmRequest_IsUniIndex {
-	if m != nil {
-		return m.IsUniIndex
-	}
-	return nil
-}
-
-func (m *GetOmciEthernetFrameExtendedPmRequest) GetUniIndex() uint32 {
-	if x, ok := m.GetIsUniIndex().(*GetOmciEthernetFrameExtendedPmRequest_UniIndex); ok {
-		return x.UniIndex
-	}
-	return 0
-}
-
-func (m *GetOmciEthernetFrameExtendedPmRequest) GetReset_() bool {
-	if m != nil {
-		return m.Reset_
-	}
-	return false
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetOmciEthernetFrameExtendedPmRequest) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetOmciEthernetFrameExtendedPmRequest_UniIndex)(nil),
-	}
-}
-
 // DEPRECATED
 type GetRxPowerRequest struct {
-	IntfId               uint32   `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
-	OnuId                uint32   `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	IntfId        uint32                 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+	OnuId         uint32                 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetRxPowerRequest) Reset()         { *m = GetRxPowerRequest{} }
-func (m *GetRxPowerRequest) String() string { return proto.CompactTextString(m) }
-func (*GetRxPowerRequest) ProtoMessage()    {}
+func (x *GetRxPowerRequest) Reset() {
+	*x = GetRxPowerRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[23]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetRxPowerRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRxPowerRequest) ProtoMessage() {}
+
+func (x *GetRxPowerRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[23]
+	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 GetRxPowerRequest.ProtoReflect.Descriptor instead.
 func (*GetRxPowerRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{23}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{23}
 }
 
-func (m *GetRxPowerRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetRxPowerRequest.Unmarshal(m, b)
-}
-func (m *GetRxPowerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetRxPowerRequest.Marshal(b, m, deterministic)
-}
-func (m *GetRxPowerRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetRxPowerRequest.Merge(m, src)
-}
-func (m *GetRxPowerRequest) XXX_Size() int {
-	return xxx_messageInfo_GetRxPowerRequest.Size(m)
-}
-func (m *GetRxPowerRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetRxPowerRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetRxPowerRequest proto.InternalMessageInfo
-
-func (m *GetRxPowerRequest) GetIntfId() uint32 {
-	if m != nil {
-		return m.IntfId
+func (x *GetRxPowerRequest) GetIntfId() uint32 {
+	if x != nil {
+		return x.IntfId
 	}
 	return 0
 }
 
-func (m *GetRxPowerRequest) GetOnuId() uint32 {
-	if m != nil {
-		return m.OnuId
+func (x *GetRxPowerRequest) GetOnuId() uint32 {
+	if x != nil {
+		return x.OnuId
 	}
 	return 0
 }
 
 type GetOltRxPowerRequest struct {
-	PortLabel string `protobuf:"bytes,1,opt,name=port_label,json=portLabel,proto3" json:"port_label,omitempty"`
+	state     protoimpl.MessageState `protogen:"open.v1"`
+	PortLabel string                 `protobuf:"bytes,1,opt,name=port_label,json=portLabel,proto3" json:"port_label,omitempty"`
 	// onu_sn is optional and if onu_sn is an empty string and the label is
 	// of a PON port then it means that the Rx Power corresponding to all
 	// the ONUs on that PON port is requested. In case the port_label is not
 	// of a PON port, the onu_sn does not have any significance
-	OnuSn                string   `protobuf:"bytes,2,opt,name=onu_sn,json=onuSn,proto3" json:"onu_sn,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	OnuSn         string `protobuf:"bytes,2,opt,name=onu_sn,json=onuSn,proto3" json:"onu_sn,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOltRxPowerRequest) Reset()         { *m = GetOltRxPowerRequest{} }
-func (m *GetOltRxPowerRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOltRxPowerRequest) ProtoMessage()    {}
+func (x *GetOltRxPowerRequest) Reset() {
+	*x = GetOltRxPowerRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[24]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOltRxPowerRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOltRxPowerRequest) ProtoMessage() {}
+
+func (x *GetOltRxPowerRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[24]
+	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 GetOltRxPowerRequest.ProtoReflect.Descriptor instead.
 func (*GetOltRxPowerRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{24}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{24}
 }
 
-func (m *GetOltRxPowerRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOltRxPowerRequest.Unmarshal(m, b)
-}
-func (m *GetOltRxPowerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOltRxPowerRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOltRxPowerRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOltRxPowerRequest.Merge(m, src)
-}
-func (m *GetOltRxPowerRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOltRxPowerRequest.Size(m)
-}
-func (m *GetOltRxPowerRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOltRxPowerRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOltRxPowerRequest proto.InternalMessageInfo
-
-func (m *GetOltRxPowerRequest) GetPortLabel() string {
-	if m != nil {
-		return m.PortLabel
+func (x *GetOltRxPowerRequest) GetPortLabel() string {
+	if x != nil {
+		return x.PortLabel
 	}
 	return ""
 }
 
-func (m *GetOltRxPowerRequest) GetOnuSn() string {
-	if m != nil {
-		return m.OnuSn
+func (x *GetOltRxPowerRequest) GetOnuSn() string {
+	if x != nil {
+		return x.OnuSn
 	}
 	return ""
 }
 
 type GetPonStatsRequest struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to PortInfo:
+	//
 	//	*GetPonStatsRequest_PortLabel
 	//	*GetPonStatsRequest_PortId
-	PortInfo             isGetPonStatsRequest_PortInfo `protobuf_oneof:"portInfo"`
-	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
-	XXX_unrecognized     []byte                        `json:"-"`
-	XXX_sizecache        int32                         `json:"-"`
+	PortInfo      isGetPonStatsRequest_PortInfo `protobuf_oneof:"portInfo"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetPonStatsRequest) Reset()         { *m = GetPonStatsRequest{} }
-func (m *GetPonStatsRequest) String() string { return proto.CompactTextString(m) }
-func (*GetPonStatsRequest) ProtoMessage()    {}
+func (x *GetPonStatsRequest) Reset() {
+	*x = GetPonStatsRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[25]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetPonStatsRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPonStatsRequest) ProtoMessage() {}
+
+func (x *GetPonStatsRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[25]
+	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 GetPonStatsRequest.ProtoReflect.Descriptor instead.
 func (*GetPonStatsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{25}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{25}
 }
 
-func (m *GetPonStatsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetPonStatsRequest.Unmarshal(m, b)
-}
-func (m *GetPonStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetPonStatsRequest.Marshal(b, m, deterministic)
-}
-func (m *GetPonStatsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetPonStatsRequest.Merge(m, src)
-}
-func (m *GetPonStatsRequest) XXX_Size() int {
-	return xxx_messageInfo_GetPonStatsRequest.Size(m)
-}
-func (m *GetPonStatsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetPonStatsRequest.DiscardUnknown(m)
+func (x *GetPonStatsRequest) GetPortInfo() isGetPonStatsRequest_PortInfo {
+	if x != nil {
+		return x.PortInfo
+	}
+	return nil
 }
 
-var xxx_messageInfo_GetPonStatsRequest proto.InternalMessageInfo
+func (x *GetPonStatsRequest) GetPortLabel() string {
+	if x != nil {
+		if x, ok := x.PortInfo.(*GetPonStatsRequest_PortLabel); ok {
+			return x.PortLabel
+		}
+	}
+	return ""
+}
+
+func (x *GetPonStatsRequest) GetPortId() uint32 {
+	if x != nil {
+		if x, ok := x.PortInfo.(*GetPonStatsRequest_PortId); ok {
+			return x.PortId
+		}
+	}
+	return 0
+}
 
 type isGetPonStatsRequest_PortInfo interface {
 	isGetPonStatsRequest_PortInfo()
@@ -1959,116 +2380,123 @@
 
 func (*GetPonStatsRequest_PortId) isGetPonStatsRequest_PortInfo() {}
 
-func (m *GetPonStatsRequest) GetPortInfo() isGetPonStatsRequest_PortInfo {
-	if m != nil {
-		return m.PortInfo
-	}
-	return nil
-}
-
-func (m *GetPonStatsRequest) GetPortLabel() string {
-	if x, ok := m.GetPortInfo().(*GetPonStatsRequest_PortLabel); ok {
-		return x.PortLabel
-	}
-	return ""
-}
-
-func (m *GetPonStatsRequest) GetPortId() uint32 {
-	if x, ok := m.GetPortInfo().(*GetPonStatsRequest_PortId); ok {
-		return x.PortId
-	}
-	return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetPonStatsRequest) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetPonStatsRequest_PortLabel)(nil),
-		(*GetPonStatsRequest_PortId)(nil),
-	}
-}
-
 type GetPonStatsResponse struct {
-	PonPort              uint32                 `protobuf:"varint,1,opt,name=ponPort,proto3" json:"ponPort,omitempty"`
-	PortStatistics       *common.PortStatistics `protobuf:"bytes,2,opt,name=portStatistics,proto3" json:"portStatistics,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
+	state          protoimpl.MessageState `protogen:"open.v1"`
+	PonPort        uint32                 `protobuf:"varint,1,opt,name=ponPort,proto3" json:"ponPort,omitempty"`
+	PortStatistics *common.PortStatistics `protobuf:"bytes,2,opt,name=portStatistics,proto3" json:"portStatistics,omitempty"`
+	unknownFields  protoimpl.UnknownFields
+	sizeCache      protoimpl.SizeCache
 }
 
-func (m *GetPonStatsResponse) Reset()         { *m = GetPonStatsResponse{} }
-func (m *GetPonStatsResponse) String() string { return proto.CompactTextString(m) }
-func (*GetPonStatsResponse) ProtoMessage()    {}
+func (x *GetPonStatsResponse) Reset() {
+	*x = GetPonStatsResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[26]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetPonStatsResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPonStatsResponse) ProtoMessage() {}
+
+func (x *GetPonStatsResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[26]
+	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 GetPonStatsResponse.ProtoReflect.Descriptor instead.
 func (*GetPonStatsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{26}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{26}
 }
 
-func (m *GetPonStatsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetPonStatsResponse.Unmarshal(m, b)
-}
-func (m *GetPonStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetPonStatsResponse.Marshal(b, m, deterministic)
-}
-func (m *GetPonStatsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetPonStatsResponse.Merge(m, src)
-}
-func (m *GetPonStatsResponse) XXX_Size() int {
-	return xxx_messageInfo_GetPonStatsResponse.Size(m)
-}
-func (m *GetPonStatsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetPonStatsResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetPonStatsResponse proto.InternalMessageInfo
-
-func (m *GetPonStatsResponse) GetPonPort() uint32 {
-	if m != nil {
-		return m.PonPort
+func (x *GetPonStatsResponse) GetPonPort() uint32 {
+	if x != nil {
+		return x.PonPort
 	}
 	return 0
 }
 
-func (m *GetPonStatsResponse) GetPortStatistics() *common.PortStatistics {
-	if m != nil {
-		return m.PortStatistics
+func (x *GetPonStatsResponse) GetPortStatistics() *common.PortStatistics {
+	if x != nil {
+		return x.PortStatistics
 	}
 	return nil
 }
 
 type GetNNIStatsRequest struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to PortInfo:
+	//
 	//	*GetNNIStatsRequest_PortLabel
 	//	*GetNNIStatsRequest_PortId
-	PortInfo             isGetNNIStatsRequest_PortInfo `protobuf_oneof:"portInfo"`
-	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
-	XXX_unrecognized     []byte                        `json:"-"`
-	XXX_sizecache        int32                         `json:"-"`
+	PortInfo      isGetNNIStatsRequest_PortInfo `protobuf_oneof:"portInfo"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetNNIStatsRequest) Reset()         { *m = GetNNIStatsRequest{} }
-func (m *GetNNIStatsRequest) String() string { return proto.CompactTextString(m) }
-func (*GetNNIStatsRequest) ProtoMessage()    {}
+func (x *GetNNIStatsRequest) Reset() {
+	*x = GetNNIStatsRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[27]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetNNIStatsRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetNNIStatsRequest) ProtoMessage() {}
+
+func (x *GetNNIStatsRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[27]
+	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 GetNNIStatsRequest.ProtoReflect.Descriptor instead.
 func (*GetNNIStatsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{27}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{27}
 }
 
-func (m *GetNNIStatsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetNNIStatsRequest.Unmarshal(m, b)
-}
-func (m *GetNNIStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetNNIStatsRequest.Marshal(b, m, deterministic)
-}
-func (m *GetNNIStatsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetNNIStatsRequest.Merge(m, src)
-}
-func (m *GetNNIStatsRequest) XXX_Size() int {
-	return xxx_messageInfo_GetNNIStatsRequest.Size(m)
-}
-func (m *GetNNIStatsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetNNIStatsRequest.DiscardUnknown(m)
+func (x *GetNNIStatsRequest) GetPortInfo() isGetNNIStatsRequest_PortInfo {
+	if x != nil {
+		return x.PortInfo
+	}
+	return nil
 }
 
-var xxx_messageInfo_GetNNIStatsRequest proto.InternalMessageInfo
+func (x *GetNNIStatsRequest) GetPortLabel() string {
+	if x != nil {
+		if x, ok := x.PortInfo.(*GetNNIStatsRequest_PortLabel); ok {
+			return x.PortLabel
+		}
+	}
+	return ""
+}
+
+func (x *GetNNIStatsRequest) GetPortId() uint32 {
+	if x != nil {
+		if x, ok := x.PortInfo.(*GetNNIStatsRequest_PortId); ok {
+			return x.PortId
+		}
+	}
+	return 0
+}
 
 type isGetNNIStatsRequest_PortInfo interface {
 	isGetNNIStatsRequest_PortInfo()
@@ -2086,448 +2514,930 @@
 
 func (*GetNNIStatsRequest_PortId) isGetNNIStatsRequest_PortInfo() {}
 
-func (m *GetNNIStatsRequest) GetPortInfo() isGetNNIStatsRequest_PortInfo {
-	if m != nil {
-		return m.PortInfo
-	}
-	return nil
-}
-
-func (m *GetNNIStatsRequest) GetPortLabel() string {
-	if x, ok := m.GetPortInfo().(*GetNNIStatsRequest_PortLabel); ok {
-		return x.PortLabel
-	}
-	return ""
-}
-
-func (m *GetNNIStatsRequest) GetPortId() uint32 {
-	if x, ok := m.GetPortInfo().(*GetNNIStatsRequest_PortId); ok {
-		return x.PortId
-	}
-	return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetNNIStatsRequest) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetNNIStatsRequest_PortLabel)(nil),
-		(*GetNNIStatsRequest_PortId)(nil),
-	}
-}
-
 type GetNNIStatsResponse struct {
-	NniPort              uint32                 `protobuf:"varint,1,opt,name=nniPort,proto3" json:"nniPort,omitempty"`
-	PortStatistics       *common.PortStatistics `protobuf:"bytes,2,opt,name=portStatistics,proto3" json:"portStatistics,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
+	state          protoimpl.MessageState `protogen:"open.v1"`
+	NniPort        uint32                 `protobuf:"varint,1,opt,name=nniPort,proto3" json:"nniPort,omitempty"`
+	PortStatistics *common.PortStatistics `protobuf:"bytes,2,opt,name=portStatistics,proto3" json:"portStatistics,omitempty"`
+	unknownFields  protoimpl.UnknownFields
+	sizeCache      protoimpl.SizeCache
 }
 
-func (m *GetNNIStatsResponse) Reset()         { *m = GetNNIStatsResponse{} }
-func (m *GetNNIStatsResponse) String() string { return proto.CompactTextString(m) }
-func (*GetNNIStatsResponse) ProtoMessage()    {}
+func (x *GetNNIStatsResponse) Reset() {
+	*x = GetNNIStatsResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[28]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetNNIStatsResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetNNIStatsResponse) ProtoMessage() {}
+
+func (x *GetNNIStatsResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[28]
+	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 GetNNIStatsResponse.ProtoReflect.Descriptor instead.
 func (*GetNNIStatsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{28}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{28}
 }
 
-func (m *GetNNIStatsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetNNIStatsResponse.Unmarshal(m, b)
-}
-func (m *GetNNIStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetNNIStatsResponse.Marshal(b, m, deterministic)
-}
-func (m *GetNNIStatsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetNNIStatsResponse.Merge(m, src)
-}
-func (m *GetNNIStatsResponse) XXX_Size() int {
-	return xxx_messageInfo_GetNNIStatsResponse.Size(m)
-}
-func (m *GetNNIStatsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetNNIStatsResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetNNIStatsResponse proto.InternalMessageInfo
-
-func (m *GetNNIStatsResponse) GetNniPort() uint32 {
-	if m != nil {
-		return m.NniPort
+func (x *GetNNIStatsResponse) GetNniPort() uint32 {
+	if x != nil {
+		return x.NniPort
 	}
 	return 0
 }
 
-func (m *GetNNIStatsResponse) GetPortStatistics() *common.PortStatistics {
-	if m != nil {
-		return m.PortStatistics
+func (x *GetNNIStatsResponse) GetPortStatistics() *common.PortStatistics {
+	if x != nil {
+		return x.PortStatistics
 	}
 	return nil
 }
 
 // GetOnuStatsFromOltRequest collects GEM and AllocId stats from the OLT for a particular ONU.
 type GetOnuStatsFromOltRequest struct {
-	IntfId               uint32   `protobuf:"fixed32,1,opt,name=intfId,proto3" json:"intfId,omitempty"`
-	OnuId                uint32   `protobuf:"fixed32,2,opt,name=onuId,proto3" json:"onuId,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	IntfId        uint32                 `protobuf:"fixed32,1,opt,name=intfId,proto3" json:"intfId,omitempty"`
+	OnuId         uint32                 `protobuf:"fixed32,2,opt,name=onuId,proto3" json:"onuId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuStatsFromOltRequest) Reset()         { *m = GetOnuStatsFromOltRequest{} }
-func (m *GetOnuStatsFromOltRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuStatsFromOltRequest) ProtoMessage()    {}
+func (x *GetOnuStatsFromOltRequest) Reset() {
+	*x = GetOnuStatsFromOltRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[29]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuStatsFromOltRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuStatsFromOltRequest) ProtoMessage() {}
+
+func (x *GetOnuStatsFromOltRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[29]
+	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 GetOnuStatsFromOltRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuStatsFromOltRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{29}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{29}
 }
 
-func (m *GetOnuStatsFromOltRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuStatsFromOltRequest.Unmarshal(m, b)
-}
-func (m *GetOnuStatsFromOltRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuStatsFromOltRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuStatsFromOltRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuStatsFromOltRequest.Merge(m, src)
-}
-func (m *GetOnuStatsFromOltRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuStatsFromOltRequest.Size(m)
-}
-func (m *GetOnuStatsFromOltRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuStatsFromOltRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuStatsFromOltRequest proto.InternalMessageInfo
-
-func (m *GetOnuStatsFromOltRequest) GetIntfId() uint32 {
-	if m != nil {
-		return m.IntfId
+func (x *GetOnuStatsFromOltRequest) GetIntfId() uint32 {
+	if x != nil {
+		return x.IntfId
 	}
 	return 0
 }
 
-func (m *GetOnuStatsFromOltRequest) GetOnuId() uint32 {
-	if m != nil {
-		return m.OnuId
+func (x *GetOnuStatsFromOltRequest) GetOnuId() uint32 {
+	if x != nil {
+		return x.OnuId
 	}
 	return 0
 }
 
 type OnuGemPortInfoFromOlt struct {
-	GemId                uint32   `protobuf:"varint,1,opt,name=gemId,proto3" json:"gemId,omitempty"`
-	RxPackets            uint64   `protobuf:"varint,2,opt,name=rxPackets,proto3" json:"rxPackets,omitempty"`
-	RxBytes              uint64   `protobuf:"varint,3,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
-	TxPackets            uint64   `protobuf:"varint,4,opt,name=txPackets,proto3" json:"txPackets,omitempty"`
-	TxBytes              uint64   `protobuf:"varint,5,opt,name=txBytes,proto3" json:"txBytes,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	GemId         uint32                 `protobuf:"varint,1,opt,name=gemId,proto3" json:"gemId,omitempty"`
+	RxPackets     uint64                 `protobuf:"varint,2,opt,name=rxPackets,proto3" json:"rxPackets,omitempty"`
+	RxBytes       uint64                 `protobuf:"varint,3,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
+	TxPackets     uint64                 `protobuf:"varint,4,opt,name=txPackets,proto3" json:"txPackets,omitempty"`
+	TxBytes       uint64                 `protobuf:"varint,5,opt,name=txBytes,proto3" json:"txBytes,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *OnuGemPortInfoFromOlt) Reset()         { *m = OnuGemPortInfoFromOlt{} }
-func (m *OnuGemPortInfoFromOlt) String() string { return proto.CompactTextString(m) }
-func (*OnuGemPortInfoFromOlt) ProtoMessage()    {}
+func (x *OnuGemPortInfoFromOlt) Reset() {
+	*x = OnuGemPortInfoFromOlt{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[30]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuGemPortInfoFromOlt) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuGemPortInfoFromOlt) ProtoMessage() {}
+
+func (x *OnuGemPortInfoFromOlt) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[30]
+	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 OnuGemPortInfoFromOlt.ProtoReflect.Descriptor instead.
 func (*OnuGemPortInfoFromOlt) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{30}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{30}
 }
 
-func (m *OnuGemPortInfoFromOlt) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuGemPortInfoFromOlt.Unmarshal(m, b)
-}
-func (m *OnuGemPortInfoFromOlt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuGemPortInfoFromOlt.Marshal(b, m, deterministic)
-}
-func (m *OnuGemPortInfoFromOlt) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuGemPortInfoFromOlt.Merge(m, src)
-}
-func (m *OnuGemPortInfoFromOlt) XXX_Size() int {
-	return xxx_messageInfo_OnuGemPortInfoFromOlt.Size(m)
-}
-func (m *OnuGemPortInfoFromOlt) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuGemPortInfoFromOlt.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuGemPortInfoFromOlt proto.InternalMessageInfo
-
-func (m *OnuGemPortInfoFromOlt) GetGemId() uint32 {
-	if m != nil {
-		return m.GemId
+func (x *OnuGemPortInfoFromOlt) GetGemId() uint32 {
+	if x != nil {
+		return x.GemId
 	}
 	return 0
 }
 
-func (m *OnuGemPortInfoFromOlt) GetRxPackets() uint64 {
-	if m != nil {
-		return m.RxPackets
+func (x *OnuGemPortInfoFromOlt) GetRxPackets() uint64 {
+	if x != nil {
+		return x.RxPackets
 	}
 	return 0
 }
 
-func (m *OnuGemPortInfoFromOlt) GetRxBytes() uint64 {
-	if m != nil {
-		return m.RxBytes
+func (x *OnuGemPortInfoFromOlt) GetRxBytes() uint64 {
+	if x != nil {
+		return x.RxBytes
 	}
 	return 0
 }
 
-func (m *OnuGemPortInfoFromOlt) GetTxPackets() uint64 {
-	if m != nil {
-		return m.TxPackets
+func (x *OnuGemPortInfoFromOlt) GetTxPackets() uint64 {
+	if x != nil {
+		return x.TxPackets
 	}
 	return 0
 }
 
-func (m *OnuGemPortInfoFromOlt) GetTxBytes() uint64 {
-	if m != nil {
-		return m.TxBytes
+func (x *OnuGemPortInfoFromOlt) GetTxBytes() uint64 {
+	if x != nil {
+		return x.TxBytes
 	}
 	return 0
 }
 
 type OnuAllocIdInfoFromOlt struct {
-	AllocId              uint32   `protobuf:"varint,1,opt,name=allocId,proto3" json:"allocId,omitempty"`
-	RxBytes              uint64   `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	AllocId       uint32                 `protobuf:"varint,1,opt,name=allocId,proto3" json:"allocId,omitempty"`
+	RxBytes       uint64                 `protobuf:"varint,2,opt,name=rxBytes,proto3" json:"rxBytes,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *OnuAllocIdInfoFromOlt) Reset()         { *m = OnuAllocIdInfoFromOlt{} }
-func (m *OnuAllocIdInfoFromOlt) String() string { return proto.CompactTextString(m) }
-func (*OnuAllocIdInfoFromOlt) ProtoMessage()    {}
+func (x *OnuAllocIdInfoFromOlt) Reset() {
+	*x = OnuAllocIdInfoFromOlt{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[31]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuAllocIdInfoFromOlt) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuAllocIdInfoFromOlt) ProtoMessage() {}
+
+func (x *OnuAllocIdInfoFromOlt) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[31]
+	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 OnuAllocIdInfoFromOlt.ProtoReflect.Descriptor instead.
 func (*OnuAllocIdInfoFromOlt) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{31}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{31}
 }
 
-func (m *OnuAllocIdInfoFromOlt) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuAllocIdInfoFromOlt.Unmarshal(m, b)
-}
-func (m *OnuAllocIdInfoFromOlt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuAllocIdInfoFromOlt.Marshal(b, m, deterministic)
-}
-func (m *OnuAllocIdInfoFromOlt) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuAllocIdInfoFromOlt.Merge(m, src)
-}
-func (m *OnuAllocIdInfoFromOlt) XXX_Size() int {
-	return xxx_messageInfo_OnuAllocIdInfoFromOlt.Size(m)
-}
-func (m *OnuAllocIdInfoFromOlt) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuAllocIdInfoFromOlt.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuAllocIdInfoFromOlt proto.InternalMessageInfo
-
-func (m *OnuAllocIdInfoFromOlt) GetAllocId() uint32 {
-	if m != nil {
-		return m.AllocId
+func (x *OnuAllocIdInfoFromOlt) GetAllocId() uint32 {
+	if x != nil {
+		return x.AllocId
 	}
 	return 0
 }
 
-func (m *OnuAllocIdInfoFromOlt) GetRxBytes() uint64 {
-	if m != nil {
-		return m.RxBytes
+func (x *OnuAllocIdInfoFromOlt) GetRxBytes() uint64 {
+	if x != nil {
+		return x.RxBytes
 	}
 	return 0
 }
 
 type OnuAllocGemStatsFromOltResponse struct {
-	AllocIdInfo          *OnuAllocIdInfoFromOlt   `protobuf:"bytes,1,opt,name=allocIdInfo,proto3" json:"allocIdInfo,omitempty"`
-	GemPortInfo          []*OnuGemPortInfoFromOlt `protobuf:"bytes,2,rep,name=gemPortInfo,proto3" json:"gemPortInfo,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
-	XXX_unrecognized     []byte                   `json:"-"`
-	XXX_sizecache        int32                    `json:"-"`
+	state         protoimpl.MessageState   `protogen:"open.v1"`
+	AllocIdInfo   *OnuAllocIdInfoFromOlt   `protobuf:"bytes,1,opt,name=allocIdInfo,proto3" json:"allocIdInfo,omitempty"`
+	GemPortInfo   []*OnuGemPortInfoFromOlt `protobuf:"bytes,2,rep,name=gemPortInfo,proto3" json:"gemPortInfo,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *OnuAllocGemStatsFromOltResponse) Reset()         { *m = OnuAllocGemStatsFromOltResponse{} }
-func (m *OnuAllocGemStatsFromOltResponse) String() string { return proto.CompactTextString(m) }
-func (*OnuAllocGemStatsFromOltResponse) ProtoMessage()    {}
+func (x *OnuAllocGemStatsFromOltResponse) Reset() {
+	*x = OnuAllocGemStatsFromOltResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[32]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OnuAllocGemStatsFromOltResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnuAllocGemStatsFromOltResponse) ProtoMessage() {}
+
+func (x *OnuAllocGemStatsFromOltResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[32]
+	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 OnuAllocGemStatsFromOltResponse.ProtoReflect.Descriptor instead.
 func (*OnuAllocGemStatsFromOltResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{32}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{32}
 }
 
-func (m *OnuAllocGemStatsFromOltResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OnuAllocGemStatsFromOltResponse.Unmarshal(m, b)
-}
-func (m *OnuAllocGemStatsFromOltResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OnuAllocGemStatsFromOltResponse.Marshal(b, m, deterministic)
-}
-func (m *OnuAllocGemStatsFromOltResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OnuAllocGemStatsFromOltResponse.Merge(m, src)
-}
-func (m *OnuAllocGemStatsFromOltResponse) XXX_Size() int {
-	return xxx_messageInfo_OnuAllocGemStatsFromOltResponse.Size(m)
-}
-func (m *OnuAllocGemStatsFromOltResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_OnuAllocGemStatsFromOltResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OnuAllocGemStatsFromOltResponse proto.InternalMessageInfo
-
-func (m *OnuAllocGemStatsFromOltResponse) GetAllocIdInfo() *OnuAllocIdInfoFromOlt {
-	if m != nil {
-		return m.AllocIdInfo
+func (x *OnuAllocGemStatsFromOltResponse) GetAllocIdInfo() *OnuAllocIdInfoFromOlt {
+	if x != nil {
+		return x.AllocIdInfo
 	}
 	return nil
 }
 
-func (m *OnuAllocGemStatsFromOltResponse) GetGemPortInfo() []*OnuGemPortInfoFromOlt {
-	if m != nil {
-		return m.GemPortInfo
+func (x *OnuAllocGemStatsFromOltResponse) GetGemPortInfo() []*OnuGemPortInfoFromOlt {
+	if x != nil {
+		return x.GemPortInfo
 	}
 	return nil
 }
 
 type GetOnuStatsFromOltResponse struct {
-	AllocGemStatsInfo    []*OnuAllocGemStatsFromOltResponse `protobuf:"bytes,1,rep,name=allocGemStatsInfo,proto3" json:"allocGemStatsInfo,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
-	XXX_unrecognized     []byte                             `json:"-"`
-	XXX_sizecache        int32                              `json:"-"`
+	state             protoimpl.MessageState             `protogen:"open.v1"`
+	AllocGemStatsInfo []*OnuAllocGemStatsFromOltResponse `protobuf:"bytes,1,rep,name=allocGemStatsInfo,proto3" json:"allocGemStatsInfo,omitempty"`
+	unknownFields     protoimpl.UnknownFields
+	sizeCache         protoimpl.SizeCache
 }
 
-func (m *GetOnuStatsFromOltResponse) Reset()         { *m = GetOnuStatsFromOltResponse{} }
-func (m *GetOnuStatsFromOltResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuStatsFromOltResponse) ProtoMessage()    {}
+func (x *GetOnuStatsFromOltResponse) Reset() {
+	*x = GetOnuStatsFromOltResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[33]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuStatsFromOltResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuStatsFromOltResponse) ProtoMessage() {}
+
+func (x *GetOnuStatsFromOltResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[33]
+	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 GetOnuStatsFromOltResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuStatsFromOltResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{33}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{33}
 }
 
-func (m *GetOnuStatsFromOltResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuStatsFromOltResponse.Unmarshal(m, b)
-}
-func (m *GetOnuStatsFromOltResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuStatsFromOltResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuStatsFromOltResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuStatsFromOltResponse.Merge(m, src)
-}
-func (m *GetOnuStatsFromOltResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuStatsFromOltResponse.Size(m)
-}
-func (m *GetOnuStatsFromOltResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuStatsFromOltResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuStatsFromOltResponse proto.InternalMessageInfo
-
-func (m *GetOnuStatsFromOltResponse) GetAllocGemStatsInfo() []*OnuAllocGemStatsFromOltResponse {
-	if m != nil {
-		return m.AllocGemStatsInfo
+func (x *GetOnuStatsFromOltResponse) GetAllocGemStatsInfo() []*OnuAllocGemStatsFromOltResponse {
+	if x != nil {
+		return x.AllocGemStatsInfo
 	}
 	return nil
 }
 
 type GetOnuCountersResponse struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to IsIntfId:
+	//
 	//	*GetOnuCountersResponse_IntfId
 	IsIntfId isGetOnuCountersResponse_IsIntfId `protobuf_oneof:"is_intf_id"`
 	// Types that are valid to be assigned to IsOnuId:
+	//
 	//	*GetOnuCountersResponse_OnuId
 	IsOnuId isGetOnuCountersResponse_IsOnuId `protobuf_oneof:"is_onu_id"`
 	// Types that are valid to be assigned to IsPositiveDrift:
+	//
 	//	*GetOnuCountersResponse_PositiveDrift
 	IsPositiveDrift isGetOnuCountersResponse_IsPositiveDrift `protobuf_oneof:"is_positive_drift"`
 	// Types that are valid to be assigned to IsNegativeDrift:
+	//
 	//	*GetOnuCountersResponse_NegativeDrift
 	IsNegativeDrift isGetOnuCountersResponse_IsNegativeDrift `protobuf_oneof:"is_negative_drift"`
 	// Types that are valid to be assigned to IsDelimiterMissDetection:
+	//
 	//	*GetOnuCountersResponse_DelimiterMissDetection
 	IsDelimiterMissDetection isGetOnuCountersResponse_IsDelimiterMissDetection `protobuf_oneof:"is_delimiter_miss_detection"`
 	// Types that are valid to be assigned to IsBipErrors:
+	//
 	//	*GetOnuCountersResponse_BipErrors
 	IsBipErrors isGetOnuCountersResponse_IsBipErrors `protobuf_oneof:"is_bip_errors"`
 	// Types that are valid to be assigned to IsBipUnits:
+	//
 	//	*GetOnuCountersResponse_BipUnits
 	IsBipUnits isGetOnuCountersResponse_IsBipUnits `protobuf_oneof:"is_bip_units"`
 	// Types that are valid to be assigned to IsFecCorrectedSymbols:
+	//
 	//	*GetOnuCountersResponse_FecCorrectedSymbols
 	IsFecCorrectedSymbols isGetOnuCountersResponse_IsFecCorrectedSymbols `protobuf_oneof:"is_fec_corrected_symbols"`
 	// Types that are valid to be assigned to IsFecCodewordsCorrected:
+	//
 	//	*GetOnuCountersResponse_FecCodewordsCorrected
 	IsFecCodewordsCorrected isGetOnuCountersResponse_IsFecCodewordsCorrected `protobuf_oneof:"is_fec_codewords_corrected"`
 	// Types that are valid to be assigned to IsFecCodewordsUncorrectable:
+	//
 	//	*GetOnuCountersResponse_FecCodewordsUncorrectable
 	IsFecCodewordsUncorrectable isGetOnuCountersResponse_IsFecCodewordsUncorrectable `protobuf_oneof:"is_fec_codewords_uncorrectable"`
 	// Types that are valid to be assigned to IsFecCodewords:
+	//
 	//	*GetOnuCountersResponse_FecCodewords
 	IsFecCodewords isGetOnuCountersResponse_IsFecCodewords `protobuf_oneof:"is_fec_codewords"`
 	// Types that are valid to be assigned to IsFecCorrectedUnits:
+	//
 	//	*GetOnuCountersResponse_FecCorrectedUnits
 	IsFecCorrectedUnits isGetOnuCountersResponse_IsFecCorrectedUnits `protobuf_oneof:"is_fec_corrected_units"`
 	// Types that are valid to be assigned to IsXgemKeyErrors:
+	//
 	//	*GetOnuCountersResponse_XgemKeyErrors
 	IsXgemKeyErrors isGetOnuCountersResponse_IsXgemKeyErrors `protobuf_oneof:"is_xgem_key_errors"`
 	// Types that are valid to be assigned to IsXgemLoss:
+	//
 	//	*GetOnuCountersResponse_XgemLoss
 	IsXgemLoss isGetOnuCountersResponse_IsXgemLoss `protobuf_oneof:"is_xgem_loss"`
 	// Types that are valid to be assigned to IsRxPloamsError:
+	//
 	//	*GetOnuCountersResponse_RxPloamsError
 	IsRxPloamsError isGetOnuCountersResponse_IsRxPloamsError `protobuf_oneof:"is_rx_ploams_error"`
 	// Types that are valid to be assigned to IsRxPloamsNonIdle:
+	//
 	//	*GetOnuCountersResponse_RxPloamsNonIdle
 	IsRxPloamsNonIdle isGetOnuCountersResponse_IsRxPloamsNonIdle `protobuf_oneof:"is_rx_ploams_non_idle"`
 	// Types that are valid to be assigned to IsRxOmci:
+	//
 	//	*GetOnuCountersResponse_RxOmci
 	IsRxOmci isGetOnuCountersResponse_IsRxOmci `protobuf_oneof:"is_rx_omci"`
 	// Types that are valid to be assigned to IsTxOmci:
+	//
 	//	*GetOnuCountersResponse_TxOmci
 	IsTxOmci isGetOnuCountersResponse_IsTxOmci `protobuf_oneof:"is_tx_omci"`
 	// Types that are valid to be assigned to IsRxOmciPacketsCrcError:
+	//
 	//	*GetOnuCountersResponse_RxOmciPacketsCrcError
 	IsRxOmciPacketsCrcError isGetOnuCountersResponse_IsRxOmciPacketsCrcError `protobuf_oneof:"is_rx_omci_packets_crc_error"`
 	// Types that are valid to be assigned to IsRxBytes:
+	//
 	//	*GetOnuCountersResponse_RxBytes
 	IsRxBytes isGetOnuCountersResponse_IsRxBytes `protobuf_oneof:"is_rx_bytes"`
 	// Types that are valid to be assigned to IsRxPackets:
+	//
 	//	*GetOnuCountersResponse_RxPackets
 	IsRxPackets isGetOnuCountersResponse_IsRxPackets `protobuf_oneof:"is_rx_packets"`
 	// Types that are valid to be assigned to IsTxBytes:
+	//
 	//	*GetOnuCountersResponse_TxBytes
 	IsTxBytes isGetOnuCountersResponse_IsTxBytes `protobuf_oneof:"is_tx_bytes"`
 	// Types that are valid to be assigned to IsTxPackets:
+	//
 	//	*GetOnuCountersResponse_TxPackets
 	IsTxPackets isGetOnuCountersResponse_IsTxPackets `protobuf_oneof:"is_tx_packets"`
 	// Types that are valid to be assigned to IsBerReported:
+	//
 	//	*GetOnuCountersResponse_BerReported
 	IsBerReported isGetOnuCountersResponse_IsBerReported `protobuf_oneof:"is_ber_reported"`
 	// Types that are valid to be assigned to IsLcdgErrors:
+	//
 	//	*GetOnuCountersResponse_LcdgErrors
 	IsLcdgErrors isGetOnuCountersResponse_IsLcdgErrors `protobuf_oneof:"is_lcdg_errors"`
 	// Types that are valid to be assigned to IsRdiErrors:
+	//
 	//	*GetOnuCountersResponse_RdiErrors
 	IsRdiErrors isGetOnuCountersResponse_IsRdiErrors `protobuf_oneof:"is_rdi_errors"`
 	// Types that are valid to be assigned to IsTimestamp:
+	//
 	//	*GetOnuCountersResponse_Timestamp
 	IsTimestamp isGetOnuCountersResponse_IsTimestamp `protobuf_oneof:"is_timestamp"`
 	// Types that are valid to be assigned to IsHecErrors:
+	//
 	//	*GetOnuCountersResponse_HecErrors
-	IsHecErrors          isGetOnuCountersResponse_IsHecErrors `protobuf_oneof:"is_hec_errors"`
-	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
-	XXX_unrecognized     []byte                               `json:"-"`
-	XXX_sizecache        int32                                `json:"-"`
+	IsHecErrors   isGetOnuCountersResponse_IsHecErrors `protobuf_oneof:"is_hec_errors"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuCountersResponse) Reset()         { *m = GetOnuCountersResponse{} }
-func (m *GetOnuCountersResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuCountersResponse) ProtoMessage()    {}
+func (x *GetOnuCountersResponse) Reset() {
+	*x = GetOnuCountersResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[34]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuCountersResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuCountersResponse) ProtoMessage() {}
+
+func (x *GetOnuCountersResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[34]
+	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 GetOnuCountersResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuCountersResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{34}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{34}
 }
 
-func (m *GetOnuCountersResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuCountersResponse.Unmarshal(m, b)
-}
-func (m *GetOnuCountersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuCountersResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuCountersResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuCountersResponse.Merge(m, src)
-}
-func (m *GetOnuCountersResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuCountersResponse.Size(m)
-}
-func (m *GetOnuCountersResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuCountersResponse.DiscardUnknown(m)
+func (x *GetOnuCountersResponse) GetIsIntfId() isGetOnuCountersResponse_IsIntfId {
+	if x != nil {
+		return x.IsIntfId
+	}
+	return nil
 }
 
-var xxx_messageInfo_GetOnuCountersResponse proto.InternalMessageInfo
+func (x *GetOnuCountersResponse) GetIntfId() uint32 {
+	if x != nil {
+		if x, ok := x.IsIntfId.(*GetOnuCountersResponse_IntfId); ok {
+			return x.IntfId
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsOnuId() isGetOnuCountersResponse_IsOnuId {
+	if x != nil {
+		return x.IsOnuId
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetOnuId() uint32 {
+	if x != nil {
+		if x, ok := x.IsOnuId.(*GetOnuCountersResponse_OnuId); ok {
+			return x.OnuId
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsPositiveDrift() isGetOnuCountersResponse_IsPositiveDrift {
+	if x != nil {
+		return x.IsPositiveDrift
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetPositiveDrift() uint64 {
+	if x != nil {
+		if x, ok := x.IsPositiveDrift.(*GetOnuCountersResponse_PositiveDrift); ok {
+			return x.PositiveDrift
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsNegativeDrift() isGetOnuCountersResponse_IsNegativeDrift {
+	if x != nil {
+		return x.IsNegativeDrift
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetNegativeDrift() uint64 {
+	if x != nil {
+		if x, ok := x.IsNegativeDrift.(*GetOnuCountersResponse_NegativeDrift); ok {
+			return x.NegativeDrift
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsDelimiterMissDetection() isGetOnuCountersResponse_IsDelimiterMissDetection {
+	if x != nil {
+		return x.IsDelimiterMissDetection
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetDelimiterMissDetection() uint64 {
+	if x != nil {
+		if x, ok := x.IsDelimiterMissDetection.(*GetOnuCountersResponse_DelimiterMissDetection); ok {
+			return x.DelimiterMissDetection
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsBipErrors() isGetOnuCountersResponse_IsBipErrors {
+	if x != nil {
+		return x.IsBipErrors
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetBipErrors() uint64 {
+	if x != nil {
+		if x, ok := x.IsBipErrors.(*GetOnuCountersResponse_BipErrors); ok {
+			return x.BipErrors
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsBipUnits() isGetOnuCountersResponse_IsBipUnits {
+	if x != nil {
+		return x.IsBipUnits
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetBipUnits() uint64 {
+	if x != nil {
+		if x, ok := x.IsBipUnits.(*GetOnuCountersResponse_BipUnits); ok {
+			return x.BipUnits
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsFecCorrectedSymbols() isGetOnuCountersResponse_IsFecCorrectedSymbols {
+	if x != nil {
+		return x.IsFecCorrectedSymbols
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetFecCorrectedSymbols() uint64 {
+	if x != nil {
+		if x, ok := x.IsFecCorrectedSymbols.(*GetOnuCountersResponse_FecCorrectedSymbols); ok {
+			return x.FecCorrectedSymbols
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsFecCodewordsCorrected() isGetOnuCountersResponse_IsFecCodewordsCorrected {
+	if x != nil {
+		return x.IsFecCodewordsCorrected
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetFecCodewordsCorrected() uint64 {
+	if x != nil {
+		if x, ok := x.IsFecCodewordsCorrected.(*GetOnuCountersResponse_FecCodewordsCorrected); ok {
+			return x.FecCodewordsCorrected
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsFecCodewordsUncorrectable() isGetOnuCountersResponse_IsFecCodewordsUncorrectable {
+	if x != nil {
+		return x.IsFecCodewordsUncorrectable
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetFecCodewordsUncorrectable() uint64 {
+	if x != nil {
+		if x, ok := x.IsFecCodewordsUncorrectable.(*GetOnuCountersResponse_FecCodewordsUncorrectable); ok {
+			return x.FecCodewordsUncorrectable
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsFecCodewords() isGetOnuCountersResponse_IsFecCodewords {
+	if x != nil {
+		return x.IsFecCodewords
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetFecCodewords() uint64 {
+	if x != nil {
+		if x, ok := x.IsFecCodewords.(*GetOnuCountersResponse_FecCodewords); ok {
+			return x.FecCodewords
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsFecCorrectedUnits() isGetOnuCountersResponse_IsFecCorrectedUnits {
+	if x != nil {
+		return x.IsFecCorrectedUnits
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetFecCorrectedUnits() uint64 {
+	if x != nil {
+		if x, ok := x.IsFecCorrectedUnits.(*GetOnuCountersResponse_FecCorrectedUnits); ok {
+			return x.FecCorrectedUnits
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsXgemKeyErrors() isGetOnuCountersResponse_IsXgemKeyErrors {
+	if x != nil {
+		return x.IsXgemKeyErrors
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetXgemKeyErrors() uint64 {
+	if x != nil {
+		if x, ok := x.IsXgemKeyErrors.(*GetOnuCountersResponse_XgemKeyErrors); ok {
+			return x.XgemKeyErrors
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsXgemLoss() isGetOnuCountersResponse_IsXgemLoss {
+	if x != nil {
+		return x.IsXgemLoss
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetXgemLoss() uint64 {
+	if x != nil {
+		if x, ok := x.IsXgemLoss.(*GetOnuCountersResponse_XgemLoss); ok {
+			return x.XgemLoss
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxPloamsError() isGetOnuCountersResponse_IsRxPloamsError {
+	if x != nil {
+		return x.IsRxPloamsError
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxPloamsError() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxPloamsError.(*GetOnuCountersResponse_RxPloamsError); ok {
+			return x.RxPloamsError
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxPloamsNonIdle() isGetOnuCountersResponse_IsRxPloamsNonIdle {
+	if x != nil {
+		return x.IsRxPloamsNonIdle
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxPloamsNonIdle() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxPloamsNonIdle.(*GetOnuCountersResponse_RxPloamsNonIdle); ok {
+			return x.RxPloamsNonIdle
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxOmci() isGetOnuCountersResponse_IsRxOmci {
+	if x != nil {
+		return x.IsRxOmci
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxOmci() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxOmci.(*GetOnuCountersResponse_RxOmci); ok {
+			return x.RxOmci
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsTxOmci() isGetOnuCountersResponse_IsTxOmci {
+	if x != nil {
+		return x.IsTxOmci
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetTxOmci() uint64 {
+	if x != nil {
+		if x, ok := x.IsTxOmci.(*GetOnuCountersResponse_TxOmci); ok {
+			return x.TxOmci
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxOmciPacketsCrcError() isGetOnuCountersResponse_IsRxOmciPacketsCrcError {
+	if x != nil {
+		return x.IsRxOmciPacketsCrcError
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxOmciPacketsCrcError() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxOmciPacketsCrcError.(*GetOnuCountersResponse_RxOmciPacketsCrcError); ok {
+			return x.RxOmciPacketsCrcError
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxBytes() isGetOnuCountersResponse_IsRxBytes {
+	if x != nil {
+		return x.IsRxBytes
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxBytes() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxBytes.(*GetOnuCountersResponse_RxBytes); ok {
+			return x.RxBytes
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRxPackets() isGetOnuCountersResponse_IsRxPackets {
+	if x != nil {
+		return x.IsRxPackets
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRxPackets() uint64 {
+	if x != nil {
+		if x, ok := x.IsRxPackets.(*GetOnuCountersResponse_RxPackets); ok {
+			return x.RxPackets
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsTxBytes() isGetOnuCountersResponse_IsTxBytes {
+	if x != nil {
+		return x.IsTxBytes
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetTxBytes() uint64 {
+	if x != nil {
+		if x, ok := x.IsTxBytes.(*GetOnuCountersResponse_TxBytes); ok {
+			return x.TxBytes
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsTxPackets() isGetOnuCountersResponse_IsTxPackets {
+	if x != nil {
+		return x.IsTxPackets
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetTxPackets() uint64 {
+	if x != nil {
+		if x, ok := x.IsTxPackets.(*GetOnuCountersResponse_TxPackets); ok {
+			return x.TxPackets
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsBerReported() isGetOnuCountersResponse_IsBerReported {
+	if x != nil {
+		return x.IsBerReported
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetBerReported() uint64 {
+	if x != nil {
+		if x, ok := x.IsBerReported.(*GetOnuCountersResponse_BerReported); ok {
+			return x.BerReported
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsLcdgErrors() isGetOnuCountersResponse_IsLcdgErrors {
+	if x != nil {
+		return x.IsLcdgErrors
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetLcdgErrors() uint64 {
+	if x != nil {
+		if x, ok := x.IsLcdgErrors.(*GetOnuCountersResponse_LcdgErrors); ok {
+			return x.LcdgErrors
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsRdiErrors() isGetOnuCountersResponse_IsRdiErrors {
+	if x != nil {
+		return x.IsRdiErrors
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetRdiErrors() uint64 {
+	if x != nil {
+		if x, ok := x.IsRdiErrors.(*GetOnuCountersResponse_RdiErrors); ok {
+			return x.RdiErrors
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsTimestamp() isGetOnuCountersResponse_IsTimestamp {
+	if x != nil {
+		return x.IsTimestamp
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetTimestamp() uint32 {
+	if x != nil {
+		if x, ok := x.IsTimestamp.(*GetOnuCountersResponse_Timestamp); ok {
+			return x.Timestamp
+		}
+	}
+	return 0
+}
+
+func (x *GetOnuCountersResponse) GetIsHecErrors() isGetOnuCountersResponse_IsHecErrors {
+	if x != nil {
+		return x.IsHecErrors
+	}
+	return nil
+}
+
+func (x *GetOnuCountersResponse) GetHecErrors() uint64 {
+	if x != nil {
+		if x, ok := x.IsHecErrors.(*GetOnuCountersResponse_HecErrors); ok {
+			return x.HecErrors
+		}
+	}
+	return 0
+}
 
 type isGetOnuCountersResponse_IsIntfId interface {
 	isGetOnuCountersResponse_IsIntfId()
@@ -2539,20 +3449,6 @@
 
 func (*GetOnuCountersResponse_IntfId) isGetOnuCountersResponse_IsIntfId() {}
 
-func (m *GetOnuCountersResponse) GetIsIntfId() isGetOnuCountersResponse_IsIntfId {
-	if m != nil {
-		return m.IsIntfId
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetIntfId() uint32 {
-	if x, ok := m.GetIsIntfId().(*GetOnuCountersResponse_IntfId); ok {
-		return x.IntfId
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsOnuId interface {
 	isGetOnuCountersResponse_IsOnuId()
 }
@@ -2563,20 +3459,6 @@
 
 func (*GetOnuCountersResponse_OnuId) isGetOnuCountersResponse_IsOnuId() {}
 
-func (m *GetOnuCountersResponse) GetIsOnuId() isGetOnuCountersResponse_IsOnuId {
-	if m != nil {
-		return m.IsOnuId
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetOnuId() uint32 {
-	if x, ok := m.GetIsOnuId().(*GetOnuCountersResponse_OnuId); ok {
-		return x.OnuId
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsPositiveDrift interface {
 	isGetOnuCountersResponse_IsPositiveDrift()
 }
@@ -2587,20 +3469,6 @@
 
 func (*GetOnuCountersResponse_PositiveDrift) isGetOnuCountersResponse_IsPositiveDrift() {}
 
-func (m *GetOnuCountersResponse) GetIsPositiveDrift() isGetOnuCountersResponse_IsPositiveDrift {
-	if m != nil {
-		return m.IsPositiveDrift
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetPositiveDrift() uint64 {
-	if x, ok := m.GetIsPositiveDrift().(*GetOnuCountersResponse_PositiveDrift); ok {
-		return x.PositiveDrift
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsNegativeDrift interface {
 	isGetOnuCountersResponse_IsNegativeDrift()
 }
@@ -2611,20 +3479,6 @@
 
 func (*GetOnuCountersResponse_NegativeDrift) isGetOnuCountersResponse_IsNegativeDrift() {}
 
-func (m *GetOnuCountersResponse) GetIsNegativeDrift() isGetOnuCountersResponse_IsNegativeDrift {
-	if m != nil {
-		return m.IsNegativeDrift
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetNegativeDrift() uint64 {
-	if x, ok := m.GetIsNegativeDrift().(*GetOnuCountersResponse_NegativeDrift); ok {
-		return x.NegativeDrift
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsDelimiterMissDetection interface {
 	isGetOnuCountersResponse_IsDelimiterMissDetection()
 }
@@ -2636,20 +3490,6 @@
 func (*GetOnuCountersResponse_DelimiterMissDetection) isGetOnuCountersResponse_IsDelimiterMissDetection() {
 }
 
-func (m *GetOnuCountersResponse) GetIsDelimiterMissDetection() isGetOnuCountersResponse_IsDelimiterMissDetection {
-	if m != nil {
-		return m.IsDelimiterMissDetection
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetDelimiterMissDetection() uint64 {
-	if x, ok := m.GetIsDelimiterMissDetection().(*GetOnuCountersResponse_DelimiterMissDetection); ok {
-		return x.DelimiterMissDetection
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsBipErrors interface {
 	isGetOnuCountersResponse_IsBipErrors()
 }
@@ -2660,20 +3500,6 @@
 
 func (*GetOnuCountersResponse_BipErrors) isGetOnuCountersResponse_IsBipErrors() {}
 
-func (m *GetOnuCountersResponse) GetIsBipErrors() isGetOnuCountersResponse_IsBipErrors {
-	if m != nil {
-		return m.IsBipErrors
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetBipErrors() uint64 {
-	if x, ok := m.GetIsBipErrors().(*GetOnuCountersResponse_BipErrors); ok {
-		return x.BipErrors
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsBipUnits interface {
 	isGetOnuCountersResponse_IsBipUnits()
 }
@@ -2684,20 +3510,6 @@
 
 func (*GetOnuCountersResponse_BipUnits) isGetOnuCountersResponse_IsBipUnits() {}
 
-func (m *GetOnuCountersResponse) GetIsBipUnits() isGetOnuCountersResponse_IsBipUnits {
-	if m != nil {
-		return m.IsBipUnits
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetBipUnits() uint64 {
-	if x, ok := m.GetIsBipUnits().(*GetOnuCountersResponse_BipUnits); ok {
-		return x.BipUnits
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsFecCorrectedSymbols interface {
 	isGetOnuCountersResponse_IsFecCorrectedSymbols()
 }
@@ -2708,20 +3520,6 @@
 
 func (*GetOnuCountersResponse_FecCorrectedSymbols) isGetOnuCountersResponse_IsFecCorrectedSymbols() {}
 
-func (m *GetOnuCountersResponse) GetIsFecCorrectedSymbols() isGetOnuCountersResponse_IsFecCorrectedSymbols {
-	if m != nil {
-		return m.IsFecCorrectedSymbols
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetFecCorrectedSymbols() uint64 {
-	if x, ok := m.GetIsFecCorrectedSymbols().(*GetOnuCountersResponse_FecCorrectedSymbols); ok {
-		return x.FecCorrectedSymbols
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsFecCodewordsCorrected interface {
 	isGetOnuCountersResponse_IsFecCodewordsCorrected()
 }
@@ -2733,20 +3531,6 @@
 func (*GetOnuCountersResponse_FecCodewordsCorrected) isGetOnuCountersResponse_IsFecCodewordsCorrected() {
 }
 
-func (m *GetOnuCountersResponse) GetIsFecCodewordsCorrected() isGetOnuCountersResponse_IsFecCodewordsCorrected {
-	if m != nil {
-		return m.IsFecCodewordsCorrected
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetFecCodewordsCorrected() uint64 {
-	if x, ok := m.GetIsFecCodewordsCorrected().(*GetOnuCountersResponse_FecCodewordsCorrected); ok {
-		return x.FecCodewordsCorrected
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsFecCodewordsUncorrectable interface {
 	isGetOnuCountersResponse_IsFecCodewordsUncorrectable()
 }
@@ -2758,20 +3542,6 @@
 func (*GetOnuCountersResponse_FecCodewordsUncorrectable) isGetOnuCountersResponse_IsFecCodewordsUncorrectable() {
 }
 
-func (m *GetOnuCountersResponse) GetIsFecCodewordsUncorrectable() isGetOnuCountersResponse_IsFecCodewordsUncorrectable {
-	if m != nil {
-		return m.IsFecCodewordsUncorrectable
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetFecCodewordsUncorrectable() uint64 {
-	if x, ok := m.GetIsFecCodewordsUncorrectable().(*GetOnuCountersResponse_FecCodewordsUncorrectable); ok {
-		return x.FecCodewordsUncorrectable
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsFecCodewords interface {
 	isGetOnuCountersResponse_IsFecCodewords()
 }
@@ -2782,20 +3552,6 @@
 
 func (*GetOnuCountersResponse_FecCodewords) isGetOnuCountersResponse_IsFecCodewords() {}
 
-func (m *GetOnuCountersResponse) GetIsFecCodewords() isGetOnuCountersResponse_IsFecCodewords {
-	if m != nil {
-		return m.IsFecCodewords
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetFecCodewords() uint64 {
-	if x, ok := m.GetIsFecCodewords().(*GetOnuCountersResponse_FecCodewords); ok {
-		return x.FecCodewords
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsFecCorrectedUnits interface {
 	isGetOnuCountersResponse_IsFecCorrectedUnits()
 }
@@ -2806,20 +3562,6 @@
 
 func (*GetOnuCountersResponse_FecCorrectedUnits) isGetOnuCountersResponse_IsFecCorrectedUnits() {}
 
-func (m *GetOnuCountersResponse) GetIsFecCorrectedUnits() isGetOnuCountersResponse_IsFecCorrectedUnits {
-	if m != nil {
-		return m.IsFecCorrectedUnits
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetFecCorrectedUnits() uint64 {
-	if x, ok := m.GetIsFecCorrectedUnits().(*GetOnuCountersResponse_FecCorrectedUnits); ok {
-		return x.FecCorrectedUnits
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsXgemKeyErrors interface {
 	isGetOnuCountersResponse_IsXgemKeyErrors()
 }
@@ -2830,20 +3572,6 @@
 
 func (*GetOnuCountersResponse_XgemKeyErrors) isGetOnuCountersResponse_IsXgemKeyErrors() {}
 
-func (m *GetOnuCountersResponse) GetIsXgemKeyErrors() isGetOnuCountersResponse_IsXgemKeyErrors {
-	if m != nil {
-		return m.IsXgemKeyErrors
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetXgemKeyErrors() uint64 {
-	if x, ok := m.GetIsXgemKeyErrors().(*GetOnuCountersResponse_XgemKeyErrors); ok {
-		return x.XgemKeyErrors
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsXgemLoss interface {
 	isGetOnuCountersResponse_IsXgemLoss()
 }
@@ -2854,20 +3582,6 @@
 
 func (*GetOnuCountersResponse_XgemLoss) isGetOnuCountersResponse_IsXgemLoss() {}
 
-func (m *GetOnuCountersResponse) GetIsXgemLoss() isGetOnuCountersResponse_IsXgemLoss {
-	if m != nil {
-		return m.IsXgemLoss
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetXgemLoss() uint64 {
-	if x, ok := m.GetIsXgemLoss().(*GetOnuCountersResponse_XgemLoss); ok {
-		return x.XgemLoss
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxPloamsError interface {
 	isGetOnuCountersResponse_IsRxPloamsError()
 }
@@ -2878,20 +3592,6 @@
 
 func (*GetOnuCountersResponse_RxPloamsError) isGetOnuCountersResponse_IsRxPloamsError() {}
 
-func (m *GetOnuCountersResponse) GetIsRxPloamsError() isGetOnuCountersResponse_IsRxPloamsError {
-	if m != nil {
-		return m.IsRxPloamsError
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxPloamsError() uint64 {
-	if x, ok := m.GetIsRxPloamsError().(*GetOnuCountersResponse_RxPloamsError); ok {
-		return x.RxPloamsError
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxPloamsNonIdle interface {
 	isGetOnuCountersResponse_IsRxPloamsNonIdle()
 }
@@ -2902,20 +3602,6 @@
 
 func (*GetOnuCountersResponse_RxPloamsNonIdle) isGetOnuCountersResponse_IsRxPloamsNonIdle() {}
 
-func (m *GetOnuCountersResponse) GetIsRxPloamsNonIdle() isGetOnuCountersResponse_IsRxPloamsNonIdle {
-	if m != nil {
-		return m.IsRxPloamsNonIdle
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxPloamsNonIdle() uint64 {
-	if x, ok := m.GetIsRxPloamsNonIdle().(*GetOnuCountersResponse_RxPloamsNonIdle); ok {
-		return x.RxPloamsNonIdle
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxOmci interface {
 	isGetOnuCountersResponse_IsRxOmci()
 }
@@ -2926,20 +3612,6 @@
 
 func (*GetOnuCountersResponse_RxOmci) isGetOnuCountersResponse_IsRxOmci() {}
 
-func (m *GetOnuCountersResponse) GetIsRxOmci() isGetOnuCountersResponse_IsRxOmci {
-	if m != nil {
-		return m.IsRxOmci
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxOmci() uint64 {
-	if x, ok := m.GetIsRxOmci().(*GetOnuCountersResponse_RxOmci); ok {
-		return x.RxOmci
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsTxOmci interface {
 	isGetOnuCountersResponse_IsTxOmci()
 }
@@ -2950,20 +3622,6 @@
 
 func (*GetOnuCountersResponse_TxOmci) isGetOnuCountersResponse_IsTxOmci() {}
 
-func (m *GetOnuCountersResponse) GetIsTxOmci() isGetOnuCountersResponse_IsTxOmci {
-	if m != nil {
-		return m.IsTxOmci
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetTxOmci() uint64 {
-	if x, ok := m.GetIsTxOmci().(*GetOnuCountersResponse_TxOmci); ok {
-		return x.TxOmci
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxOmciPacketsCrcError interface {
 	isGetOnuCountersResponse_IsRxOmciPacketsCrcError()
 }
@@ -2975,20 +3633,6 @@
 func (*GetOnuCountersResponse_RxOmciPacketsCrcError) isGetOnuCountersResponse_IsRxOmciPacketsCrcError() {
 }
 
-func (m *GetOnuCountersResponse) GetIsRxOmciPacketsCrcError() isGetOnuCountersResponse_IsRxOmciPacketsCrcError {
-	if m != nil {
-		return m.IsRxOmciPacketsCrcError
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxOmciPacketsCrcError() uint64 {
-	if x, ok := m.GetIsRxOmciPacketsCrcError().(*GetOnuCountersResponse_RxOmciPacketsCrcError); ok {
-		return x.RxOmciPacketsCrcError
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxBytes interface {
 	isGetOnuCountersResponse_IsRxBytes()
 }
@@ -2999,20 +3643,6 @@
 
 func (*GetOnuCountersResponse_RxBytes) isGetOnuCountersResponse_IsRxBytes() {}
 
-func (m *GetOnuCountersResponse) GetIsRxBytes() isGetOnuCountersResponse_IsRxBytes {
-	if m != nil {
-		return m.IsRxBytes
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxBytes() uint64 {
-	if x, ok := m.GetIsRxBytes().(*GetOnuCountersResponse_RxBytes); ok {
-		return x.RxBytes
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRxPackets interface {
 	isGetOnuCountersResponse_IsRxPackets()
 }
@@ -3023,20 +3653,6 @@
 
 func (*GetOnuCountersResponse_RxPackets) isGetOnuCountersResponse_IsRxPackets() {}
 
-func (m *GetOnuCountersResponse) GetIsRxPackets() isGetOnuCountersResponse_IsRxPackets {
-	if m != nil {
-		return m.IsRxPackets
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRxPackets() uint64 {
-	if x, ok := m.GetIsRxPackets().(*GetOnuCountersResponse_RxPackets); ok {
-		return x.RxPackets
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsTxBytes interface {
 	isGetOnuCountersResponse_IsTxBytes()
 }
@@ -3047,20 +3663,6 @@
 
 func (*GetOnuCountersResponse_TxBytes) isGetOnuCountersResponse_IsTxBytes() {}
 
-func (m *GetOnuCountersResponse) GetIsTxBytes() isGetOnuCountersResponse_IsTxBytes {
-	if m != nil {
-		return m.IsTxBytes
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetTxBytes() uint64 {
-	if x, ok := m.GetIsTxBytes().(*GetOnuCountersResponse_TxBytes); ok {
-		return x.TxBytes
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsTxPackets interface {
 	isGetOnuCountersResponse_IsTxPackets()
 }
@@ -3071,20 +3673,6 @@
 
 func (*GetOnuCountersResponse_TxPackets) isGetOnuCountersResponse_IsTxPackets() {}
 
-func (m *GetOnuCountersResponse) GetIsTxPackets() isGetOnuCountersResponse_IsTxPackets {
-	if m != nil {
-		return m.IsTxPackets
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetTxPackets() uint64 {
-	if x, ok := m.GetIsTxPackets().(*GetOnuCountersResponse_TxPackets); ok {
-		return x.TxPackets
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsBerReported interface {
 	isGetOnuCountersResponse_IsBerReported()
 }
@@ -3095,20 +3683,6 @@
 
 func (*GetOnuCountersResponse_BerReported) isGetOnuCountersResponse_IsBerReported() {}
 
-func (m *GetOnuCountersResponse) GetIsBerReported() isGetOnuCountersResponse_IsBerReported {
-	if m != nil {
-		return m.IsBerReported
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetBerReported() uint64 {
-	if x, ok := m.GetIsBerReported().(*GetOnuCountersResponse_BerReported); ok {
-		return x.BerReported
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsLcdgErrors interface {
 	isGetOnuCountersResponse_IsLcdgErrors()
 }
@@ -3119,20 +3693,6 @@
 
 func (*GetOnuCountersResponse_LcdgErrors) isGetOnuCountersResponse_IsLcdgErrors() {}
 
-func (m *GetOnuCountersResponse) GetIsLcdgErrors() isGetOnuCountersResponse_IsLcdgErrors {
-	if m != nil {
-		return m.IsLcdgErrors
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetLcdgErrors() uint64 {
-	if x, ok := m.GetIsLcdgErrors().(*GetOnuCountersResponse_LcdgErrors); ok {
-		return x.LcdgErrors
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsRdiErrors interface {
 	isGetOnuCountersResponse_IsRdiErrors()
 }
@@ -3143,44 +3703,17 @@
 
 func (*GetOnuCountersResponse_RdiErrors) isGetOnuCountersResponse_IsRdiErrors() {}
 
-func (m *GetOnuCountersResponse) GetIsRdiErrors() isGetOnuCountersResponse_IsRdiErrors {
-	if m != nil {
-		return m.IsRdiErrors
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetRdiErrors() uint64 {
-	if x, ok := m.GetIsRdiErrors().(*GetOnuCountersResponse_RdiErrors); ok {
-		return x.RdiErrors
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsTimestamp interface {
 	isGetOnuCountersResponse_IsTimestamp()
 }
 
 type GetOnuCountersResponse_Timestamp struct {
+	// reported timestamp in seconds since epoch
 	Timestamp uint32 `protobuf:"fixed32,27,opt,name=timestamp,proto3,oneof"`
 }
 
 func (*GetOnuCountersResponse_Timestamp) isGetOnuCountersResponse_IsTimestamp() {}
 
-func (m *GetOnuCountersResponse) GetIsTimestamp() isGetOnuCountersResponse_IsTimestamp {
-	if m != nil {
-		return m.IsTimestamp
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetTimestamp() uint32 {
-	if x, ok := m.GetIsTimestamp().(*GetOnuCountersResponse_Timestamp); ok {
-		return x.Timestamp
-	}
-	return 0
-}
-
 type isGetOnuCountersResponse_IsHecErrors interface {
 	isGetOnuCountersResponse_IsHecErrors()
 }
@@ -3191,477 +3724,458 @@
 
 func (*GetOnuCountersResponse_HecErrors) isGetOnuCountersResponse_IsHecErrors() {}
 
-func (m *GetOnuCountersResponse) GetIsHecErrors() isGetOnuCountersResponse_IsHecErrors {
-	if m != nil {
-		return m.IsHecErrors
-	}
-	return nil
-}
-
-func (m *GetOnuCountersResponse) GetHecErrors() uint64 {
-	if x, ok := m.GetIsHecErrors().(*GetOnuCountersResponse_HecErrors); ok {
-		return x.HecErrors
-	}
-	return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetOnuCountersResponse) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetOnuCountersResponse_IntfId)(nil),
-		(*GetOnuCountersResponse_OnuId)(nil),
-		(*GetOnuCountersResponse_PositiveDrift)(nil),
-		(*GetOnuCountersResponse_NegativeDrift)(nil),
-		(*GetOnuCountersResponse_DelimiterMissDetection)(nil),
-		(*GetOnuCountersResponse_BipErrors)(nil),
-		(*GetOnuCountersResponse_BipUnits)(nil),
-		(*GetOnuCountersResponse_FecCorrectedSymbols)(nil),
-		(*GetOnuCountersResponse_FecCodewordsCorrected)(nil),
-		(*GetOnuCountersResponse_FecCodewordsUncorrectable)(nil),
-		(*GetOnuCountersResponse_FecCodewords)(nil),
-		(*GetOnuCountersResponse_FecCorrectedUnits)(nil),
-		(*GetOnuCountersResponse_XgemKeyErrors)(nil),
-		(*GetOnuCountersResponse_XgemLoss)(nil),
-		(*GetOnuCountersResponse_RxPloamsError)(nil),
-		(*GetOnuCountersResponse_RxPloamsNonIdle)(nil),
-		(*GetOnuCountersResponse_RxOmci)(nil),
-		(*GetOnuCountersResponse_TxOmci)(nil),
-		(*GetOnuCountersResponse_RxOmciPacketsCrcError)(nil),
-		(*GetOnuCountersResponse_RxBytes)(nil),
-		(*GetOnuCountersResponse_RxPackets)(nil),
-		(*GetOnuCountersResponse_TxBytes)(nil),
-		(*GetOnuCountersResponse_TxPackets)(nil),
-		(*GetOnuCountersResponse_BerReported)(nil),
-		(*GetOnuCountersResponse_LcdgErrors)(nil),
-		(*GetOnuCountersResponse_RdiErrors)(nil),
-		(*GetOnuCountersResponse_Timestamp)(nil),
-		(*GetOnuCountersResponse_HecErrors)(nil),
-	}
-}
-
 type OmciEthernetFrameExtendedPm struct {
-	DropEvents               uint64   `protobuf:"fixed64,1,opt,name=drop_events,json=dropEvents,proto3" json:"drop_events,omitempty"`
-	Octets                   uint64   `protobuf:"fixed64,2,opt,name=octets,proto3" json:"octets,omitempty"`
-	Frames                   uint64   `protobuf:"fixed64,3,opt,name=frames,proto3" json:"frames,omitempty"`
-	BroadcastFrames          uint64   `protobuf:"fixed64,4,opt,name=broadcast_frames,json=broadcastFrames,proto3" json:"broadcast_frames,omitempty"`
-	MulticastFrames          uint64   `protobuf:"fixed64,5,opt,name=multicast_frames,json=multicastFrames,proto3" json:"multicast_frames,omitempty"`
-	CrcErroredFrames         uint64   `protobuf:"fixed64,6,opt,name=crc_errored_frames,json=crcErroredFrames,proto3" json:"crc_errored_frames,omitempty"`
-	UndersizeFrames          uint64   `protobuf:"fixed64,7,opt,name=undersize_frames,json=undersizeFrames,proto3" json:"undersize_frames,omitempty"`
-	OversizeFrames           uint64   `protobuf:"fixed64,8,opt,name=oversize_frames,json=oversizeFrames,proto3" json:"oversize_frames,omitempty"`
-	Frames_64Octets          uint64   `protobuf:"fixed64,9,opt,name=frames_64_octets,json=frames64Octets,proto3" json:"frames_64_octets,omitempty"`
-	Frames_65To_127Octets    uint64   `protobuf:"fixed64,10,opt,name=frames_65_to_127_octets,json=frames65To127Octets,proto3" json:"frames_65_to_127_octets,omitempty"`
-	Frames_128To_255Octets   uint64   `protobuf:"fixed64,11,opt,name=frames_128_to_255_octets,json=frames128To255Octets,proto3" json:"frames_128_to_255_octets,omitempty"`
-	Frames_256To_511Octets   uint64   `protobuf:"fixed64,12,opt,name=frames_256_to_511_octets,json=frames256To511Octets,proto3" json:"frames_256_to_511_octets,omitempty"`
-	Frames_512To_1023Octets  uint64   `protobuf:"fixed64,13,opt,name=frames_512_to_1023_octets,json=frames512To1023Octets,proto3" json:"frames_512_to_1023_octets,omitempty"`
-	Frames_1024To_1518Octets uint64   `protobuf:"fixed64,14,opt,name=frames_1024_to_1518_octets,json=frames1024To1518Octets,proto3" json:"frames_1024_to_1518_octets,omitempty"`
-	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
-	XXX_unrecognized         []byte   `json:"-"`
-	XXX_sizecache            int32    `json:"-"`
+	state                    protoimpl.MessageState `protogen:"open.v1"`
+	DropEvents               uint64                 `protobuf:"fixed64,1,opt,name=drop_events,json=dropEvents,proto3" json:"drop_events,omitempty"`
+	Octets                   uint64                 `protobuf:"fixed64,2,opt,name=octets,proto3" json:"octets,omitempty"`
+	Frames                   uint64                 `protobuf:"fixed64,3,opt,name=frames,proto3" json:"frames,omitempty"`
+	BroadcastFrames          uint64                 `protobuf:"fixed64,4,opt,name=broadcast_frames,json=broadcastFrames,proto3" json:"broadcast_frames,omitempty"`
+	MulticastFrames          uint64                 `protobuf:"fixed64,5,opt,name=multicast_frames,json=multicastFrames,proto3" json:"multicast_frames,omitempty"`
+	CrcErroredFrames         uint64                 `protobuf:"fixed64,6,opt,name=crc_errored_frames,json=crcErroredFrames,proto3" json:"crc_errored_frames,omitempty"`
+	UndersizeFrames          uint64                 `protobuf:"fixed64,7,opt,name=undersize_frames,json=undersizeFrames,proto3" json:"undersize_frames,omitempty"`
+	OversizeFrames           uint64                 `protobuf:"fixed64,8,opt,name=oversize_frames,json=oversizeFrames,proto3" json:"oversize_frames,omitempty"`
+	Frames_64Octets          uint64                 `protobuf:"fixed64,9,opt,name=frames_64_octets,json=frames64Octets,proto3" json:"frames_64_octets,omitempty"`
+	Frames_65To_127Octets    uint64                 `protobuf:"fixed64,10,opt,name=frames_65_to_127_octets,json=frames65To127Octets,proto3" json:"frames_65_to_127_octets,omitempty"`
+	Frames_128To_255Octets   uint64                 `protobuf:"fixed64,11,opt,name=frames_128_to_255_octets,json=frames128To255Octets,proto3" json:"frames_128_to_255_octets,omitempty"`
+	Frames_256To_511Octets   uint64                 `protobuf:"fixed64,12,opt,name=frames_256_to_511_octets,json=frames256To511Octets,proto3" json:"frames_256_to_511_octets,omitempty"`
+	Frames_512To_1023Octets  uint64                 `protobuf:"fixed64,13,opt,name=frames_512_to_1023_octets,json=frames512To1023Octets,proto3" json:"frames_512_to_1023_octets,omitempty"`
+	Frames_1024To_1518Octets uint64                 `protobuf:"fixed64,14,opt,name=frames_1024_to_1518_octets,json=frames1024To1518Octets,proto3" json:"frames_1024_to_1518_octets,omitempty"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
 }
 
-func (m *OmciEthernetFrameExtendedPm) Reset()         { *m = OmciEthernetFrameExtendedPm{} }
-func (m *OmciEthernetFrameExtendedPm) String() string { return proto.CompactTextString(m) }
-func (*OmciEthernetFrameExtendedPm) ProtoMessage()    {}
+func (x *OmciEthernetFrameExtendedPm) Reset() {
+	*x = OmciEthernetFrameExtendedPm{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[35]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OmciEthernetFrameExtendedPm) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OmciEthernetFrameExtendedPm) ProtoMessage() {}
+
+func (x *OmciEthernetFrameExtendedPm) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[35]
+	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 OmciEthernetFrameExtendedPm.ProtoReflect.Descriptor instead.
 func (*OmciEthernetFrameExtendedPm) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{35}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{35}
 }
 
-func (m *OmciEthernetFrameExtendedPm) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OmciEthernetFrameExtendedPm.Unmarshal(m, b)
-}
-func (m *OmciEthernetFrameExtendedPm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OmciEthernetFrameExtendedPm.Marshal(b, m, deterministic)
-}
-func (m *OmciEthernetFrameExtendedPm) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OmciEthernetFrameExtendedPm.Merge(m, src)
-}
-func (m *OmciEthernetFrameExtendedPm) XXX_Size() int {
-	return xxx_messageInfo_OmciEthernetFrameExtendedPm.Size(m)
-}
-func (m *OmciEthernetFrameExtendedPm) XXX_DiscardUnknown() {
-	xxx_messageInfo_OmciEthernetFrameExtendedPm.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OmciEthernetFrameExtendedPm proto.InternalMessageInfo
-
-func (m *OmciEthernetFrameExtendedPm) GetDropEvents() uint64 {
-	if m != nil {
-		return m.DropEvents
+func (x *OmciEthernetFrameExtendedPm) GetDropEvents() uint64 {
+	if x != nil {
+		return x.DropEvents
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetOctets() uint64 {
-	if m != nil {
-		return m.Octets
+func (x *OmciEthernetFrameExtendedPm) GetOctets() uint64 {
+	if x != nil {
+		return x.Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames() uint64 {
-	if m != nil {
-		return m.Frames
+func (x *OmciEthernetFrameExtendedPm) GetFrames() uint64 {
+	if x != nil {
+		return x.Frames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetBroadcastFrames() uint64 {
-	if m != nil {
-		return m.BroadcastFrames
+func (x *OmciEthernetFrameExtendedPm) GetBroadcastFrames() uint64 {
+	if x != nil {
+		return x.BroadcastFrames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetMulticastFrames() uint64 {
-	if m != nil {
-		return m.MulticastFrames
+func (x *OmciEthernetFrameExtendedPm) GetMulticastFrames() uint64 {
+	if x != nil {
+		return x.MulticastFrames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetCrcErroredFrames() uint64 {
-	if m != nil {
-		return m.CrcErroredFrames
+func (x *OmciEthernetFrameExtendedPm) GetCrcErroredFrames() uint64 {
+	if x != nil {
+		return x.CrcErroredFrames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetUndersizeFrames() uint64 {
-	if m != nil {
-		return m.UndersizeFrames
+func (x *OmciEthernetFrameExtendedPm) GetUndersizeFrames() uint64 {
+	if x != nil {
+		return x.UndersizeFrames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetOversizeFrames() uint64 {
-	if m != nil {
-		return m.OversizeFrames
+func (x *OmciEthernetFrameExtendedPm) GetOversizeFrames() uint64 {
+	if x != nil {
+		return x.OversizeFrames
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_64Octets() uint64 {
-	if m != nil {
-		return m.Frames_64Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_64Octets() uint64 {
+	if x != nil {
+		return x.Frames_64Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_65To_127Octets() uint64 {
-	if m != nil {
-		return m.Frames_65To_127Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_65To_127Octets() uint64 {
+	if x != nil {
+		return x.Frames_65To_127Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_128To_255Octets() uint64 {
-	if m != nil {
-		return m.Frames_128To_255Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_128To_255Octets() uint64 {
+	if x != nil {
+		return x.Frames_128To_255Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_256To_511Octets() uint64 {
-	if m != nil {
-		return m.Frames_256To_511Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_256To_511Octets() uint64 {
+	if x != nil {
+		return x.Frames_256To_511Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_512To_1023Octets() uint64 {
-	if m != nil {
-		return m.Frames_512To_1023Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_512To_1023Octets() uint64 {
+	if x != nil {
+		return x.Frames_512To_1023Octets
 	}
 	return 0
 }
 
-func (m *OmciEthernetFrameExtendedPm) GetFrames_1024To_1518Octets() uint64 {
-	if m != nil {
-		return m.Frames_1024To_1518Octets
+func (x *OmciEthernetFrameExtendedPm) GetFrames_1024To_1518Octets() uint64 {
+	if x != nil {
+		return x.Frames_1024To_1518Octets
 	}
 	return 0
 }
 
 type GetOmciEthernetFrameExtendedPmResponse struct {
+	state                             protoimpl.MessageState                        `protogen:"open.v1"`
 	Upstream                          *OmciEthernetFrameExtendedPm                  `protobuf:"bytes,1,opt,name=upstream,proto3" json:"upstream,omitempty"`
 	Downstream                        *OmciEthernetFrameExtendedPm                  `protobuf:"bytes,2,opt,name=downstream,proto3" json:"downstream,omitempty"`
 	OmciEthernetFrameExtendedPmFormat GetOmciEthernetFrameExtendedPmResponse_Format `protobuf:"varint,3,opt,name=omci_ethernet_frame_extended_pm_format,json=omciEthernetFrameExtendedPmFormat,proto3,enum=extension.GetOmciEthernetFrameExtendedPmResponse_Format" json:"omci_ethernet_frame_extended_pm_format,omitempty"`
-	XXX_NoUnkeyedLiteral              struct{}                                      `json:"-"`
-	XXX_unrecognized                  []byte                                        `json:"-"`
-	XXX_sizecache                     int32                                         `json:"-"`
+	unknownFields                     protoimpl.UnknownFields
+	sizeCache                         protoimpl.SizeCache
 }
 
-func (m *GetOmciEthernetFrameExtendedPmResponse) Reset() {
-	*m = GetOmciEthernetFrameExtendedPmResponse{}
+func (x *GetOmciEthernetFrameExtendedPmResponse) Reset() {
+	*x = GetOmciEthernetFrameExtendedPmResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[36]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
-func (m *GetOmciEthernetFrameExtendedPmResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOmciEthernetFrameExtendedPmResponse) ProtoMessage()    {}
+
+func (x *GetOmciEthernetFrameExtendedPmResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOmciEthernetFrameExtendedPmResponse) ProtoMessage() {}
+
+func (x *GetOmciEthernetFrameExtendedPmResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[36]
+	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 GetOmciEthernetFrameExtendedPmResponse.ProtoReflect.Descriptor instead.
 func (*GetOmciEthernetFrameExtendedPmResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{36}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{36}
 }
 
-func (m *GetOmciEthernetFrameExtendedPmResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse.Unmarshal(m, b)
-}
-func (m *GetOmciEthernetFrameExtendedPmResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOmciEthernetFrameExtendedPmResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse.Merge(m, src)
-}
-func (m *GetOmciEthernetFrameExtendedPmResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse.Size(m)
-}
-func (m *GetOmciEthernetFrameExtendedPmResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOmciEthernetFrameExtendedPmResponse proto.InternalMessageInfo
-
-func (m *GetOmciEthernetFrameExtendedPmResponse) GetUpstream() *OmciEthernetFrameExtendedPm {
-	if m != nil {
-		return m.Upstream
+func (x *GetOmciEthernetFrameExtendedPmResponse) GetUpstream() *OmciEthernetFrameExtendedPm {
+	if x != nil {
+		return x.Upstream
 	}
 	return nil
 }
 
-func (m *GetOmciEthernetFrameExtendedPmResponse) GetDownstream() *OmciEthernetFrameExtendedPm {
-	if m != nil {
-		return m.Downstream
+func (x *GetOmciEthernetFrameExtendedPmResponse) GetDownstream() *OmciEthernetFrameExtendedPm {
+	if x != nil {
+		return x.Downstream
 	}
 	return nil
 }
 
-func (m *GetOmciEthernetFrameExtendedPmResponse) GetOmciEthernetFrameExtendedPmFormat() GetOmciEthernetFrameExtendedPmResponse_Format {
-	if m != nil {
-		return m.OmciEthernetFrameExtendedPmFormat
+func (x *GetOmciEthernetFrameExtendedPmResponse) GetOmciEthernetFrameExtendedPmFormat() GetOmciEthernetFrameExtendedPmResponse_Format {
+	if x != nil {
+		return x.OmciEthernetFrameExtendedPmFormat
 	}
 	return GetOmciEthernetFrameExtendedPmResponse_THIRTY_TWO_BIT
 }
 
 type RxPower struct {
-	OnuSn                string   `protobuf:"bytes,1,opt,name=onu_sn,json=onuSn,proto3" json:"onu_sn,omitempty"`
-	Status               string   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
-	FailReason           string   `protobuf:"bytes,3,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"`
-	RxPower              float64  `protobuf:"fixed64,4,opt,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	OnuSn         string                 `protobuf:"bytes,1,opt,name=onu_sn,json=onuSn,proto3" json:"onu_sn,omitempty"` // if the port on which RxPower is measured is not a PON port this will be empty ("") string
+	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
+	FailReason    string                 `protobuf:"bytes,3,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"`
+	RxPower       float64                `protobuf:"fixed64,4,opt,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *RxPower) Reset()         { *m = RxPower{} }
-func (m *RxPower) String() string { return proto.CompactTextString(m) }
-func (*RxPower) ProtoMessage()    {}
+func (x *RxPower) Reset() {
+	*x = RxPower{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[37]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *RxPower) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RxPower) ProtoMessage() {}
+
+func (x *RxPower) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[37]
+	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 RxPower.ProtoReflect.Descriptor instead.
 func (*RxPower) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{37}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{37}
 }
 
-func (m *RxPower) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_RxPower.Unmarshal(m, b)
-}
-func (m *RxPower) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_RxPower.Marshal(b, m, deterministic)
-}
-func (m *RxPower) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_RxPower.Merge(m, src)
-}
-func (m *RxPower) XXX_Size() int {
-	return xxx_messageInfo_RxPower.Size(m)
-}
-func (m *RxPower) XXX_DiscardUnknown() {
-	xxx_messageInfo_RxPower.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RxPower proto.InternalMessageInfo
-
-func (m *RxPower) GetOnuSn() string {
-	if m != nil {
-		return m.OnuSn
+func (x *RxPower) GetOnuSn() string {
+	if x != nil {
+		return x.OnuSn
 	}
 	return ""
 }
 
-func (m *RxPower) GetStatus() string {
-	if m != nil {
-		return m.Status
+func (x *RxPower) GetStatus() string {
+	if x != nil {
+		return x.Status
 	}
 	return ""
 }
 
-func (m *RxPower) GetFailReason() string {
-	if m != nil {
-		return m.FailReason
+func (x *RxPower) GetFailReason() string {
+	if x != nil {
+		return x.FailReason
 	}
 	return ""
 }
 
-func (m *RxPower) GetRxPower() float64 {
-	if m != nil {
-		return m.RxPower
+func (x *RxPower) GetRxPower() float64 {
+	if x != nil {
+		return x.RxPower
 	}
 	return 0
 }
 
 type GetOltRxPowerResponse struct {
-	PortLabel            string     `protobuf:"bytes,1,opt,name=port_label,json=portLabel,proto3" json:"port_label,omitempty"`
-	RxPower              []*RxPower `protobuf:"bytes,2,rep,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	PortLabel     string                 `protobuf:"bytes,1,opt,name=port_label,json=portLabel,proto3" json:"port_label,omitempty"`
+	RxPower       []*RxPower             `protobuf:"bytes,2,rep,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOltRxPowerResponse) Reset()         { *m = GetOltRxPowerResponse{} }
-func (m *GetOltRxPowerResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOltRxPowerResponse) ProtoMessage()    {}
+func (x *GetOltRxPowerResponse) Reset() {
+	*x = GetOltRxPowerResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[38]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOltRxPowerResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOltRxPowerResponse) ProtoMessage() {}
+
+func (x *GetOltRxPowerResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[38]
+	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 GetOltRxPowerResponse.ProtoReflect.Descriptor instead.
 func (*GetOltRxPowerResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{38}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{38}
 }
 
-func (m *GetOltRxPowerResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOltRxPowerResponse.Unmarshal(m, b)
-}
-func (m *GetOltRxPowerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOltRxPowerResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOltRxPowerResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOltRxPowerResponse.Merge(m, src)
-}
-func (m *GetOltRxPowerResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOltRxPowerResponse.Size(m)
-}
-func (m *GetOltRxPowerResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOltRxPowerResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOltRxPowerResponse proto.InternalMessageInfo
-
-func (m *GetOltRxPowerResponse) GetPortLabel() string {
-	if m != nil {
-		return m.PortLabel
+func (x *GetOltRxPowerResponse) GetPortLabel() string {
+	if x != nil {
+		return x.PortLabel
 	}
 	return ""
 }
 
-func (m *GetOltRxPowerResponse) GetRxPower() []*RxPower {
-	if m != nil {
-		return m.RxPower
+func (x *GetOltRxPowerResponse) GetRxPower() []*RxPower {
+	if x != nil {
+		return x.RxPower
 	}
 	return nil
 }
 
 // DEPRECATED
 type GetRxPowerResponse struct {
-	IntfId               uint32   `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
-	OnuId                uint32   `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
-	Status               string   `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
-	FailReason           string   `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"`
-	RxPower              float64  `protobuf:"fixed64,5,opt,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	IntfId        uint32                 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+	OnuId         uint32                 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+	FailReason    string                 `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"`
+	RxPower       float64                `protobuf:"fixed64,5,opt,name=rx_power,json=rxPower,proto3" json:"rx_power,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetRxPowerResponse) Reset()         { *m = GetRxPowerResponse{} }
-func (m *GetRxPowerResponse) String() string { return proto.CompactTextString(m) }
-func (*GetRxPowerResponse) ProtoMessage()    {}
+func (x *GetRxPowerResponse) Reset() {
+	*x = GetRxPowerResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[39]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetRxPowerResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRxPowerResponse) ProtoMessage() {}
+
+func (x *GetRxPowerResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[39]
+	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 GetRxPowerResponse.ProtoReflect.Descriptor instead.
 func (*GetRxPowerResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{39}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{39}
 }
 
-func (m *GetRxPowerResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetRxPowerResponse.Unmarshal(m, b)
-}
-func (m *GetRxPowerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetRxPowerResponse.Marshal(b, m, deterministic)
-}
-func (m *GetRxPowerResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetRxPowerResponse.Merge(m, src)
-}
-func (m *GetRxPowerResponse) XXX_Size() int {
-	return xxx_messageInfo_GetRxPowerResponse.Size(m)
-}
-func (m *GetRxPowerResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetRxPowerResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetRxPowerResponse proto.InternalMessageInfo
-
-func (m *GetRxPowerResponse) GetIntfId() uint32 {
-	if m != nil {
-		return m.IntfId
+func (x *GetRxPowerResponse) GetIntfId() uint32 {
+	if x != nil {
+		return x.IntfId
 	}
 	return 0
 }
 
-func (m *GetRxPowerResponse) GetOnuId() uint32 {
-	if m != nil {
-		return m.OnuId
+func (x *GetRxPowerResponse) GetOnuId() uint32 {
+	if x != nil {
+		return x.OnuId
 	}
 	return 0
 }
 
-func (m *GetRxPowerResponse) GetStatus() string {
-	if m != nil {
-		return m.Status
+func (x *GetRxPowerResponse) GetStatus() string {
+	if x != nil {
+		return x.Status
 	}
 	return ""
 }
 
-func (m *GetRxPowerResponse) GetFailReason() string {
-	if m != nil {
-		return m.FailReason
+func (x *GetRxPowerResponse) GetFailReason() string {
+	if x != nil {
+		return x.FailReason
 	}
 	return ""
 }
 
-func (m *GetRxPowerResponse) GetRxPower() float64 {
-	if m != nil {
-		return m.RxPower
+func (x *GetRxPowerResponse) GetRxPower() float64 {
+	if x != nil {
+		return x.RxPower
 	}
 	return 0
 }
 
 type GetOnuOmciTxRxStatsRequest struct {
-	Empty                *empty.Empty `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Empty         *emptypb.Empty         `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuOmciTxRxStatsRequest) Reset()         { *m = GetOnuOmciTxRxStatsRequest{} }
-func (m *GetOnuOmciTxRxStatsRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuOmciTxRxStatsRequest) ProtoMessage()    {}
+func (x *GetOnuOmciTxRxStatsRequest) Reset() {
+	*x = GetOnuOmciTxRxStatsRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[40]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuOmciTxRxStatsRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuOmciTxRxStatsRequest) ProtoMessage() {}
+
+func (x *GetOnuOmciTxRxStatsRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[40]
+	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 GetOnuOmciTxRxStatsRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuOmciTxRxStatsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{40}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{40}
 }
 
-func (m *GetOnuOmciTxRxStatsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsRequest.Unmarshal(m, b)
-}
-func (m *GetOnuOmciTxRxStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuOmciTxRxStatsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuOmciTxRxStatsRequest.Merge(m, src)
-}
-func (m *GetOnuOmciTxRxStatsRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsRequest.Size(m)
-}
-func (m *GetOnuOmciTxRxStatsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuOmciTxRxStatsRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuOmciTxRxStatsRequest proto.InternalMessageInfo
-
-func (m *GetOnuOmciTxRxStatsRequest) GetEmpty() *empty.Empty {
-	if m != nil {
-		return m.Empty
+func (x *GetOnuOmciTxRxStatsRequest) GetEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.Empty
 	}
 	return nil
 }
 
 // see ITU-T G.988 clause 11.2.2
 type GetOnuOmciTxRxStatsResponse struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// OMCI baseline Tx frames with AR bit set
 	BaseTxArFrames uint32 `protobuf:"varint,1,opt,name=base_tx_ar_frames,json=baseTxArFrames,proto3" json:"base_tx_ar_frames,omitempty"`
 	// OMCI baseline Rx frames with AK bit set
@@ -3681,323 +4195,387 @@
 	// Number of retries of requests (tx) due to not received responses (Rx)
 	TxOmciCounterRetries uint32 `protobuf:"varint,9,opt,name=tx_omci_counter_retries,json=txOmciCounterRetries,proto3" json:"tx_omci_counter_retries,omitempty"`
 	// Number of timeouts of requests (tx) due to not received responses (Rx) after configured number of retries
-	TxOmciCounterTimeouts uint32   `protobuf:"varint,10,opt,name=tx_omci_counter_timeouts,json=txOmciCounterTimeouts,proto3" json:"tx_omci_counter_timeouts,omitempty"`
-	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
-	XXX_unrecognized      []byte   `json:"-"`
-	XXX_sizecache         int32    `json:"-"`
+	TxOmciCounterTimeouts uint32 `protobuf:"varint,10,opt,name=tx_omci_counter_timeouts,json=txOmciCounterTimeouts,proto3" json:"tx_omci_counter_timeouts,omitempty"`
+	unknownFields         protoimpl.UnknownFields
+	sizeCache             protoimpl.SizeCache
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) Reset()         { *m = GetOnuOmciTxRxStatsResponse{} }
-func (m *GetOnuOmciTxRxStatsResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuOmciTxRxStatsResponse) ProtoMessage()    {}
+func (x *GetOnuOmciTxRxStatsResponse) Reset() {
+	*x = GetOnuOmciTxRxStatsResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[41]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuOmciTxRxStatsResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuOmciTxRxStatsResponse) ProtoMessage() {}
+
+func (x *GetOnuOmciTxRxStatsResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[41]
+	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 GetOnuOmciTxRxStatsResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuOmciTxRxStatsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{41}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{41}
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsResponse.Unmarshal(m, b)
-}
-func (m *GetOnuOmciTxRxStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuOmciTxRxStatsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuOmciTxRxStatsResponse.Merge(m, src)
-}
-func (m *GetOnuOmciTxRxStatsResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuOmciTxRxStatsResponse.Size(m)
-}
-func (m *GetOnuOmciTxRxStatsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuOmciTxRxStatsResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuOmciTxRxStatsResponse proto.InternalMessageInfo
-
-func (m *GetOnuOmciTxRxStatsResponse) GetBaseTxArFrames() uint32 {
-	if m != nil {
-		return m.BaseTxArFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetBaseTxArFrames() uint32 {
+	if x != nil {
+		return x.BaseTxArFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetBaseRxAkFrames() uint32 {
-	if m != nil {
-		return m.BaseRxAkFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetBaseRxAkFrames() uint32 {
+	if x != nil {
+		return x.BaseRxAkFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetBaseTxNoArFrames() uint32 {
-	if m != nil {
-		return m.BaseTxNoArFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetBaseTxNoArFrames() uint32 {
+	if x != nil {
+		return x.BaseTxNoArFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetBaseRxNoAkFrames() uint32 {
-	if m != nil {
-		return m.BaseRxNoAkFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetBaseRxNoAkFrames() uint32 {
+	if x != nil {
+		return x.BaseRxNoAkFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetExtTxArFrames() uint32 {
-	if m != nil {
-		return m.ExtTxArFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetExtTxArFrames() uint32 {
+	if x != nil {
+		return x.ExtTxArFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetExtRxAkFrames() uint32 {
-	if m != nil {
-		return m.ExtRxAkFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetExtRxAkFrames() uint32 {
+	if x != nil {
+		return x.ExtRxAkFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetExtTxNoArFrames() uint32 {
-	if m != nil {
-		return m.ExtTxNoArFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetExtTxNoArFrames() uint32 {
+	if x != nil {
+		return x.ExtTxNoArFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetExtRxNoAkFrames() uint32 {
-	if m != nil {
-		return m.ExtRxNoAkFrames
+func (x *GetOnuOmciTxRxStatsResponse) GetExtRxNoAkFrames() uint32 {
+	if x != nil {
+		return x.ExtRxNoAkFrames
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetTxOmciCounterRetries() uint32 {
-	if m != nil {
-		return m.TxOmciCounterRetries
+func (x *GetOnuOmciTxRxStatsResponse) GetTxOmciCounterRetries() uint32 {
+	if x != nil {
+		return x.TxOmciCounterRetries
 	}
 	return 0
 }
 
-func (m *GetOnuOmciTxRxStatsResponse) GetTxOmciCounterTimeouts() uint32 {
-	if m != nil {
-		return m.TxOmciCounterTimeouts
+func (x *GetOnuOmciTxRxStatsResponse) GetTxOmciCounterTimeouts() uint32 {
+	if x != nil {
+		return x.TxOmciCounterTimeouts
 	}
 	return 0
 }
 
 type GetOnuOmciActiveAlarmsRequest struct {
-	Empty                *empty.Empty `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Empty         *emptypb.Empty         `protobuf:"bytes,1,opt,name=empty,proto3" json:"empty,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuOmciActiveAlarmsRequest) Reset()         { *m = GetOnuOmciActiveAlarmsRequest{} }
-func (m *GetOnuOmciActiveAlarmsRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOnuOmciActiveAlarmsRequest) ProtoMessage()    {}
+func (x *GetOnuOmciActiveAlarmsRequest) Reset() {
+	*x = GetOnuOmciActiveAlarmsRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[42]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuOmciActiveAlarmsRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuOmciActiveAlarmsRequest) ProtoMessage() {}
+
+func (x *GetOnuOmciActiveAlarmsRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[42]
+	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 GetOnuOmciActiveAlarmsRequest.ProtoReflect.Descriptor instead.
 func (*GetOnuOmciActiveAlarmsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{42}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{42}
 }
 
-func (m *GetOnuOmciActiveAlarmsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsRequest.Unmarshal(m, b)
-}
-func (m *GetOnuOmciActiveAlarmsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOnuOmciActiveAlarmsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuOmciActiveAlarmsRequest.Merge(m, src)
-}
-func (m *GetOnuOmciActiveAlarmsRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsRequest.Size(m)
-}
-func (m *GetOnuOmciActiveAlarmsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuOmciActiveAlarmsRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuOmciActiveAlarmsRequest proto.InternalMessageInfo
-
-func (m *GetOnuOmciActiveAlarmsRequest) GetEmpty() *empty.Empty {
-	if m != nil {
-		return m.Empty
+func (x *GetOnuOmciActiveAlarmsRequest) GetEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.Empty
 	}
 	return nil
 }
 
 type AlarmData struct {
-	ClassId              uint32   `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
-	InstanceId           uint32   `protobuf:"varint,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
-	Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
-	Description          string   `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ClassId       uint32                 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"`
+	InstanceId    uint32                 `protobuf:"varint,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
+	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+	Description   string                 `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *AlarmData) Reset()         { *m = AlarmData{} }
-func (m *AlarmData) String() string { return proto.CompactTextString(m) }
-func (*AlarmData) ProtoMessage()    {}
+func (x *AlarmData) Reset() {
+	*x = AlarmData{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[43]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AlarmData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AlarmData) ProtoMessage() {}
+
+func (x *AlarmData) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[43]
+	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 AlarmData.ProtoReflect.Descriptor instead.
 func (*AlarmData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{43}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{43}
 }
 
-func (m *AlarmData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AlarmData.Unmarshal(m, b)
-}
-func (m *AlarmData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AlarmData.Marshal(b, m, deterministic)
-}
-func (m *AlarmData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmData.Merge(m, src)
-}
-func (m *AlarmData) XXX_Size() int {
-	return xxx_messageInfo_AlarmData.Size(m)
-}
-func (m *AlarmData) XXX_DiscardUnknown() {
-	xxx_messageInfo_AlarmData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AlarmData proto.InternalMessageInfo
-
-func (m *AlarmData) GetClassId() uint32 {
-	if m != nil {
-		return m.ClassId
+func (x *AlarmData) GetClassId() uint32 {
+	if x != nil {
+		return x.ClassId
 	}
 	return 0
 }
 
-func (m *AlarmData) GetInstanceId() uint32 {
-	if m != nil {
-		return m.InstanceId
+func (x *AlarmData) GetInstanceId() uint32 {
+	if x != nil {
+		return x.InstanceId
 	}
 	return 0
 }
 
-func (m *AlarmData) GetName() string {
-	if m != nil {
-		return m.Name
+func (x *AlarmData) GetName() string {
+	if x != nil {
+		return x.Name
 	}
 	return ""
 }
 
-func (m *AlarmData) GetDescription() string {
-	if m != nil {
-		return m.Description
+func (x *AlarmData) GetDescription() string {
+	if x != nil {
+		return x.Description
 	}
 	return ""
 }
 
 type GetOnuOmciActiveAlarmsResponse struct {
-	ActiveAlarms         []*AlarmData `protobuf:"bytes,1,rep,name=active_alarms,json=activeAlarms,proto3" json:"active_alarms,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ActiveAlarms  []*AlarmData           `protobuf:"bytes,1,rep,name=active_alarms,json=activeAlarms,proto3" json:"active_alarms,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOnuOmciActiveAlarmsResponse) Reset()         { *m = GetOnuOmciActiveAlarmsResponse{} }
-func (m *GetOnuOmciActiveAlarmsResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOnuOmciActiveAlarmsResponse) ProtoMessage()    {}
+func (x *GetOnuOmciActiveAlarmsResponse) Reset() {
+	*x = GetOnuOmciActiveAlarmsResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[44]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOnuOmciActiveAlarmsResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnuOmciActiveAlarmsResponse) ProtoMessage() {}
+
+func (x *GetOnuOmciActiveAlarmsResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[44]
+	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 GetOnuOmciActiveAlarmsResponse.ProtoReflect.Descriptor instead.
 func (*GetOnuOmciActiveAlarmsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{44}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{44}
 }
 
-func (m *GetOnuOmciActiveAlarmsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsResponse.Unmarshal(m, b)
-}
-func (m *GetOnuOmciActiveAlarmsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOnuOmciActiveAlarmsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOnuOmciActiveAlarmsResponse.Merge(m, src)
-}
-func (m *GetOnuOmciActiveAlarmsResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOnuOmciActiveAlarmsResponse.Size(m)
-}
-func (m *GetOnuOmciActiveAlarmsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOnuOmciActiveAlarmsResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOnuOmciActiveAlarmsResponse proto.InternalMessageInfo
-
-func (m *GetOnuOmciActiveAlarmsResponse) GetActiveAlarms() []*AlarmData {
-	if m != nil {
-		return m.ActiveAlarms
+func (x *GetOnuOmciActiveAlarmsResponse) GetActiveAlarms() []*AlarmData {
+	if x != nil {
+		return x.ActiveAlarms
 	}
 	return nil
 }
 
 type GetOffloadedAppsStatisticsRequest struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// The offloaded application whose statistics are requested
-	StatsFor             GetOffloadedAppsStatisticsRequest_OffloadedApp `protobuf:"varint,1,opt,name=statsFor,proto3,enum=extension.GetOffloadedAppsStatisticsRequest_OffloadedApp" json:"statsFor,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
-	XXX_unrecognized     []byte                                         `json:"-"`
-	XXX_sizecache        int32                                          `json:"-"`
+	StatsFor      GetOffloadedAppsStatisticsRequest_OffloadedApp `protobuf:"varint,1,opt,name=statsFor,proto3,enum=extension.GetOffloadedAppsStatisticsRequest_OffloadedApp" json:"statsFor,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOffloadedAppsStatisticsRequest) Reset()         { *m = GetOffloadedAppsStatisticsRequest{} }
-func (m *GetOffloadedAppsStatisticsRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOffloadedAppsStatisticsRequest) ProtoMessage()    {}
+func (x *GetOffloadedAppsStatisticsRequest) Reset() {
+	*x = GetOffloadedAppsStatisticsRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[45]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOffloadedAppsStatisticsRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOffloadedAppsStatisticsRequest) ProtoMessage() {}
+
+func (x *GetOffloadedAppsStatisticsRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[45]
+	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 GetOffloadedAppsStatisticsRequest.ProtoReflect.Descriptor instead.
 func (*GetOffloadedAppsStatisticsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{45}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{45}
 }
 
-func (m *GetOffloadedAppsStatisticsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Unmarshal(m, b)
-}
-func (m *GetOffloadedAppsStatisticsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Marshal(b, m, deterministic)
-}
-func (m *GetOffloadedAppsStatisticsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Merge(m, src)
-}
-func (m *GetOffloadedAppsStatisticsRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Size(m)
-}
-func (m *GetOffloadedAppsStatisticsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOffloadedAppsStatisticsRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOffloadedAppsStatisticsRequest proto.InternalMessageInfo
-
-func (m *GetOffloadedAppsStatisticsRequest) GetStatsFor() GetOffloadedAppsStatisticsRequest_OffloadedApp {
-	if m != nil {
-		return m.StatsFor
+func (x *GetOffloadedAppsStatisticsRequest) GetStatsFor() GetOffloadedAppsStatisticsRequest_OffloadedApp {
+	if x != nil {
+		return x.StatsFor
 	}
 	return GetOffloadedAppsStatisticsRequest_UNDEFINED
 }
 
 type GetOffloadedAppsStatisticsResponse struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to Stats:
+	//
 	//	*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats
 	//	*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats
 	//	*GetOffloadedAppsStatisticsResponse_PppoeIaStats
-	Stats                isGetOffloadedAppsStatisticsResponse_Stats `protobuf_oneof:"stats"`
-	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
-	XXX_unrecognized     []byte                                     `json:"-"`
-	XXX_sizecache        int32                                      `json:"-"`
+	Stats         isGetOffloadedAppsStatisticsResponse_Stats `protobuf_oneof:"stats"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetOffloadedAppsStatisticsResponse) Reset()         { *m = GetOffloadedAppsStatisticsResponse{} }
-func (m *GetOffloadedAppsStatisticsResponse) String() string { return proto.CompactTextString(m) }
-func (*GetOffloadedAppsStatisticsResponse) ProtoMessage()    {}
+func (x *GetOffloadedAppsStatisticsResponse) Reset() {
+	*x = GetOffloadedAppsStatisticsResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[46]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOffloadedAppsStatisticsResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOffloadedAppsStatisticsResponse) ProtoMessage() {}
+
+func (x *GetOffloadedAppsStatisticsResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[46]
+	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 GetOffloadedAppsStatisticsResponse.ProtoReflect.Descriptor instead.
 func (*GetOffloadedAppsStatisticsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{46}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{46}
 }
 
-func (m *GetOffloadedAppsStatisticsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Unmarshal(m, b)
-}
-func (m *GetOffloadedAppsStatisticsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Marshal(b, m, deterministic)
-}
-func (m *GetOffloadedAppsStatisticsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Merge(m, src)
-}
-func (m *GetOffloadedAppsStatisticsResponse) XXX_Size() int {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Size(m)
-}
-func (m *GetOffloadedAppsStatisticsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse.DiscardUnknown(m)
+func (x *GetOffloadedAppsStatisticsResponse) GetStats() isGetOffloadedAppsStatisticsResponse_Stats {
+	if x != nil {
+		return x.Stats
+	}
+	return nil
 }
 
-var xxx_messageInfo_GetOffloadedAppsStatisticsResponse proto.InternalMessageInfo
+func (x *GetOffloadedAppsStatisticsResponse) GetDhcpv4RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats {
+	if x != nil {
+		if x, ok := x.Stats.(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats); ok {
+			return x.Dhcpv4RaStats
+		}
+	}
+	return nil
+}
+
+func (x *GetOffloadedAppsStatisticsResponse) GetDhcpv6RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats {
+	if x != nil {
+		if x, ok := x.Stats.(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats); ok {
+			return x.Dhcpv6RaStats
+		}
+	}
+	return nil
+}
+
+func (x *GetOffloadedAppsStatisticsResponse) GetPppoeIaStats() *GetOffloadedAppsStatisticsResponse_PPPoeIAStats {
+	if x != nil {
+		if x, ok := x.Stats.(*GetOffloadedAppsStatisticsResponse_PppoeIaStats); ok {
+			return x.PppoeIaStats
+		}
+	}
+	return nil
+}
 
 type isGetOffloadedAppsStatisticsResponse_Stats interface {
 	isGetOffloadedAppsStatisticsResponse_Stats()
@@ -4024,396 +4602,10 @@
 func (*GetOffloadedAppsStatisticsResponse_PppoeIaStats) isGetOffloadedAppsStatisticsResponse_Stats() {
 }
 
-func (m *GetOffloadedAppsStatisticsResponse) GetStats() isGetOffloadedAppsStatisticsResponse_Stats {
-	if m != nil {
-		return m.Stats
-	}
-	return nil
-}
-
-func (m *GetOffloadedAppsStatisticsResponse) GetDhcpv4RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats {
-	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats); ok {
-		return x.Dhcpv4RaStats
-	}
-	return nil
-}
-
-func (m *GetOffloadedAppsStatisticsResponse) GetDhcpv6RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats {
-	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats); ok {
-		return x.Dhcpv6RaStats
-	}
-	return nil
-}
-
-func (m *GetOffloadedAppsStatisticsResponse) GetPppoeIaStats() *GetOffloadedAppsStatisticsResponse_PPPoeIAStats {
-	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_PppoeIaStats); ok {
-		return x.PppoeIaStats
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetOffloadedAppsStatisticsResponse) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats)(nil),
-		(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats)(nil),
-		(*GetOffloadedAppsStatisticsResponse_PppoeIaStats)(nil),
-	}
-}
-
-type GetOffloadedAppsStatisticsResponse_DHCPv4RAStats struct {
-	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-l2-dhcpv4-relay.yang
-	InBadPacketsFromClient           uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
-	InBadPacketsFromServer           uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
-	InPacketsFromClient              uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
-	InPacketsFromServer              uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
-	OutPacketsToServer               uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
-	OutPacketsToClient               uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
-	Option_82InsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=option_82_inserted_packets_to_server,json=option82InsertedPacketsToServer,proto3" json:"option_82_inserted_packets_to_server,omitempty"`
-	Option_82RemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=option_82_removed_packets_to_client,json=option82RemovedPacketsToClient,proto3" json:"option_82_removed_packets_to_client,omitempty"`
-	Option_82NotInsertedToServer     uint32 `protobuf:"varint,9,opt,name=option_82_not_inserted_to_server,json=option82NotInsertedToServer,proto3" json:"option_82_not_inserted_to_server,omitempty"`
-	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
-	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,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:"-"`
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Reset() {
-	*m = GetOffloadedAppsStatisticsResponse_DHCPv4RAStats{}
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) String() string {
-	return proto.CompactTextString(m)
-}
-func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) ProtoMessage() {}
-func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{46, 0}
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Unmarshal(m, b)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Marshal(b, m, deterministic)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Merge(m, src)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Size() int {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Size(m)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats proto.InternalMessageInfo
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromClient() uint32 {
-	if m != nil {
-		return m.InBadPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromServer() uint32 {
-	if m != nil {
-		return m.InBadPacketsFromServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromClient() uint32 {
-	if m != nil {
-		return m.InPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromServer() uint32 {
-	if m != nil {
-		return m.InPacketsFromServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToServer() uint32 {
-	if m != nil {
-		return m.OutPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToClient() uint32 {
-	if m != nil {
-		return m.OutPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82InsertedPacketsToServer() uint32 {
-	if m != nil {
-		return m.Option_82InsertedPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82RemovedPacketsToClient() uint32 {
-	if m != nil {
-		return m.Option_82RemovedPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82NotInsertedToServer() uint32 {
-	if m != nil {
-		return m.Option_82NotInsertedToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetAdditionalStats() map[string]string {
-	if m != nil {
-		return m.AdditionalStats
-	}
-	return nil
-}
-
-type GetOffloadedAppsStatisticsResponse_DHCPv6RAStats struct {
-	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-ldra.yang
-	InBadPacketsFromClient               uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
-	InBadPacketsFromServer               uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
-	Option_17InsertedPacketsToServer     uint32 `protobuf:"varint,3,opt,name=option_17_inserted_packets_to_server,json=option17InsertedPacketsToServer,proto3" json:"option_17_inserted_packets_to_server,omitempty"`
-	Option_17RemovedPacketsToClient      uint32 `protobuf:"varint,4,opt,name=option_17_removed_packets_to_client,json=option17RemovedPacketsToClient,proto3" json:"option_17_removed_packets_to_client,omitempty"`
-	Option_18InsertedPacketsToServer     uint32 `protobuf:"varint,5,opt,name=option_18_inserted_packets_to_server,json=option18InsertedPacketsToServer,proto3" json:"option_18_inserted_packets_to_server,omitempty"`
-	Option_18RemovedPacketsToClient      uint32 `protobuf:"varint,6,opt,name=option_18_removed_packets_to_client,json=option18RemovedPacketsToClient,proto3" json:"option_18_removed_packets_to_client,omitempty"`
-	Option_37InsertedPacketsToServer     uint32 `protobuf:"varint,7,opt,name=option_37_inserted_packets_to_server,json=option37InsertedPacketsToServer,proto3" json:"option_37_inserted_packets_to_server,omitempty"`
-	Option_37RemovedPacketsToClient      uint32 `protobuf:"varint,8,opt,name=option_37_removed_packets_to_client,json=option37RemovedPacketsToClient,proto3" json:"option_37_removed_packets_to_client,omitempty"`
-	OutgoingMtuExceededPacketsFromClient uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
-	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
-	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,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:"-"`
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Reset() {
-	*m = GetOffloadedAppsStatisticsResponse_DHCPv6RAStats{}
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) String() string {
-	return proto.CompactTextString(m)
-}
-func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) ProtoMessage() {}
-func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{46, 1}
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Unmarshal(m, b)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Marshal(b, m, deterministic)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Merge(m, src)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Size() int {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Size(m)
-}
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats proto.InternalMessageInfo
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromClient() uint32 {
-	if m != nil {
-		return m.InBadPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromServer() uint32 {
-	if m != nil {
-		return m.InBadPacketsFromServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17InsertedPacketsToServer() uint32 {
-	if m != nil {
-		return m.Option_17InsertedPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17RemovedPacketsToClient() uint32 {
-	if m != nil {
-		return m.Option_17RemovedPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18InsertedPacketsToServer() uint32 {
-	if m != nil {
-		return m.Option_18InsertedPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18RemovedPacketsToClient() uint32 {
-	if m != nil {
-		return m.Option_18RemovedPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37InsertedPacketsToServer() uint32 {
-	if m != nil {
-		return m.Option_37InsertedPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37RemovedPacketsToClient() uint32 {
-	if m != nil {
-		return m.Option_37RemovedPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
-	if m != nil {
-		return m.OutgoingMtuExceededPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetAdditionalStats() map[string]string {
-	if m != nil {
-		return m.AdditionalStats
-	}
-	return nil
-}
-
-type GetOffloadedAppsStatisticsResponse_PPPoeIAStats struct {
-	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent.yang
-	InErrorPacketsFromClient                 uint32 `protobuf:"varint,1,opt,name=in_error_packets_from_client,json=inErrorPacketsFromClient,proto3" json:"in_error_packets_from_client,omitempty"`
-	InErrorPacketsFromServer                 uint32 `protobuf:"varint,2,opt,name=in_error_packets_from_server,json=inErrorPacketsFromServer,proto3" json:"in_error_packets_from_server,omitempty"`
-	InPacketsFromClient                      uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
-	InPacketsFromServer                      uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
-	OutPacketsToServer                       uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
-	OutPacketsToClient                       uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
-	VendorSpecificTagInsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=vendor_specific_tag_inserted_packets_to_server,json=vendorSpecificTagInsertedPacketsToServer,proto3" json:"vendor_specific_tag_inserted_packets_to_server,omitempty"`
-	VendorSpecificTagRemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=vendor_specific_tag_removed_packets_to_client,json=vendorSpecificTagRemovedPacketsToClient,proto3" json:"vendor_specific_tag_removed_packets_to_client,omitempty"`
-	OutgoingMtuExceededPacketsFromClient     uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
-	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
-	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,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:"-"`
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Reset() {
-	*m = GetOffloadedAppsStatisticsResponse_PPPoeIAStats{}
-}
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) String() string {
-	return proto.CompactTextString(m)
-}
-func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) ProtoMessage() {}
-func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{46, 2}
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Unmarshal(m, b)
-}
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Marshal(b, m, deterministic)
-}
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Merge(m, src)
-}
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Size() int {
-	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Size(m)
-}
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats proto.InternalMessageInfo
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromClient() uint32 {
-	if m != nil {
-		return m.InErrorPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromServer() uint32 {
-	if m != nil {
-		return m.InErrorPacketsFromServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromClient() uint32 {
-	if m != nil {
-		return m.InPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromServer() uint32 {
-	if m != nil {
-		return m.InPacketsFromServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToServer() uint32 {
-	if m != nil {
-		return m.OutPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToClient() uint32 {
-	if m != nil {
-		return m.OutPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagInsertedPacketsToServer() uint32 {
-	if m != nil {
-		return m.VendorSpecificTagInsertedPacketsToServer
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagRemovedPacketsToClient() uint32 {
-	if m != nil {
-		return m.VendorSpecificTagRemovedPacketsToClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
-	if m != nil {
-		return m.OutgoingMtuExceededPacketsFromClient
-	}
-	return 0
-}
-
-func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetAdditionalStats() map[string]string {
-	if m != nil {
-		return m.AdditionalStats
-	}
-	return nil
-}
-
 type GetValueRequest struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to Request:
+	//
 	//	*GetValueRequest_Distance
 	//	*GetValueRequest_UniInfo
 	//	*GetValueRequest_OltPortInfo
@@ -4431,36 +4623,200 @@
 	//	*GetValueRequest_OnuStatsFromOlt
 	//	*GetValueRequest_OltPonStats
 	//	*GetValueRequest_OltNniStats
-	Request              isGetValueRequest_Request `protobuf_oneof:"request"`
-	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
-	XXX_unrecognized     []byte                    `json:"-"`
-	XXX_sizecache        int32                     `json:"-"`
+	Request       isGetValueRequest_Request `protobuf_oneof:"request"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetValueRequest) Reset()         { *m = GetValueRequest{} }
-func (m *GetValueRequest) String() string { return proto.CompactTextString(m) }
-func (*GetValueRequest) ProtoMessage()    {}
+func (x *GetValueRequest) Reset() {
+	*x = GetValueRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[47]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetValueRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetValueRequest) ProtoMessage() {}
+
+func (x *GetValueRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[47]
+	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 GetValueRequest.ProtoReflect.Descriptor instead.
 func (*GetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{47}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{47}
 }
 
-func (m *GetValueRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetValueRequest.Unmarshal(m, b)
-}
-func (m *GetValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetValueRequest.Marshal(b, m, deterministic)
-}
-func (m *GetValueRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetValueRequest.Merge(m, src)
-}
-func (m *GetValueRequest) XXX_Size() int {
-	return xxx_messageInfo_GetValueRequest.Size(m)
-}
-func (m *GetValueRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetValueRequest.DiscardUnknown(m)
+func (x *GetValueRequest) GetRequest() isGetValueRequest_Request {
+	if x != nil {
+		return x.Request
+	}
+	return nil
 }
 
-var xxx_messageInfo_GetValueRequest proto.InternalMessageInfo
+func (x *GetValueRequest) GetDistance() *GetDistanceRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_Distance); ok {
+			return x.Distance
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetUniInfo() *GetOnuUniInfoRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_UniInfo); ok {
+			return x.UniInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOltPortInfo() *GetOltPortCounters {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OltPortInfo); ok {
+			return x.OltPortInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuOpticalInfo() *GetOnuPonOpticalInfo {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuOpticalInfo); ok {
+			return x.OnuOpticalInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetEthBridgePort() *GetOnuEthernetBridgePortHistory {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_EthBridgePort); ok {
+			return x.EthBridgePort
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetFecHistory() *GetOnuFecHistory {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_FecHistory); ok {
+			return x.FecHistory
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuPonInfo() *GetOnuCountersRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuPonInfo); ok {
+			return x.OnuPonInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuInfo() *GetOmciEthernetFrameExtendedPmRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuInfo); ok {
+			return x.OnuInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetRxPower() *GetRxPowerRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_RxPower); ok {
+			return x.RxPower
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuOmciStats() *GetOnuOmciTxRxStatsRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuOmciStats); ok {
+			return x.OnuOmciStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOltRxPower() *GetOltRxPowerRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OltRxPower); ok {
+			return x.OltRxPower
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuActiveAlarms() *GetOnuOmciActiveAlarmsRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuActiveAlarms); ok {
+			return x.OnuActiveAlarms
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OffloadedAppsStats); ok {
+			return x.OffloadedAppsStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuAllocGemStats() *GetOnuAllocGemHistoryRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuAllocGemStats); ok {
+			return x.OnuAllocGemStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOnuStatsFromOlt() *GetOnuStatsFromOltRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OnuStatsFromOlt); ok {
+			return x.OnuStatsFromOlt
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOltPonStats() *GetPonStatsRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OltPonStats); ok {
+			return x.OltPonStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueRequest) GetOltNniStats() *GetNNIStatsRequest {
+	if x != nil {
+		if x, ok := x.Request.(*GetValueRequest_OltNniStats); ok {
+			return x.OltNniStats
+		}
+	}
+	return nil
+}
 
 type isGetValueRequest_Request interface {
 	isGetValueRequest_Request()
@@ -4475,18 +4831,22 @@
 }
 
 type GetValueRequest_OltPortInfo struct {
+	// Corresponds to PmMetricId.PON_PORT_COUNTERS, PmMetricId.NNI_PORT_COUNTERS
 	OltPortInfo *GetOltPortCounters `protobuf:"bytes,3,opt,name=oltPortInfo,proto3,oneof"`
 }
 
 type GetValueRequest_OnuOpticalInfo struct {
+	// Corresponds to PmMetricId.PON_OPTICAL
 	OnuOpticalInfo *GetOnuPonOpticalInfo `protobuf:"bytes,4,opt,name=onuOpticalInfo,proto3,oneof"`
 }
 
 type GetValueRequest_EthBridgePort struct {
+	// Corresponds to PmMetricId.ETHERNET_BRIDGE_PORT_HISTORY
 	EthBridgePort *GetOnuEthernetBridgePortHistory `protobuf:"bytes,5,opt,name=ethBridgePort,proto3,oneof"`
 }
 
 type GetValueRequest_FecHistory struct {
+	// Corresponds to PmMetricId.FEC_HISTORY
 	FecHistory *GetOnuFecHistory `protobuf:"bytes,6,opt,name=fecHistory,proto3,oneof"`
 }
 
@@ -4499,7 +4859,7 @@
 }
 
 type GetValueRequest_RxPower struct {
-	RxPower *GetRxPowerRequest `protobuf:"bytes,9,opt,name=rxPower,proto3,oneof"`
+	RxPower *GetRxPowerRequest `protobuf:"bytes,9,opt,name=rxPower,proto3,oneof"` // This is deprecated
 }
 
 type GetValueRequest_OnuOmciStats struct {
@@ -4568,159 +4928,12 @@
 
 func (*GetValueRequest_OltNniStats) isGetValueRequest_Request() {}
 
-func (m *GetValueRequest) GetRequest() isGetValueRequest_Request {
-	if m != nil {
-		return m.Request
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetDistance() *GetDistanceRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_Distance); ok {
-		return x.Distance
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetUniInfo() *GetOnuUniInfoRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_UniInfo); ok {
-		return x.UniInfo
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOltPortInfo() *GetOltPortCounters {
-	if x, ok := m.GetRequest().(*GetValueRequest_OltPortInfo); ok {
-		return x.OltPortInfo
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuOpticalInfo() *GetOnuPonOpticalInfo {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuOpticalInfo); ok {
-		return x.OnuOpticalInfo
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetEthBridgePort() *GetOnuEthernetBridgePortHistory {
-	if x, ok := m.GetRequest().(*GetValueRequest_EthBridgePort); ok {
-		return x.EthBridgePort
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetFecHistory() *GetOnuFecHistory {
-	if x, ok := m.GetRequest().(*GetValueRequest_FecHistory); ok {
-		return x.FecHistory
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuPonInfo() *GetOnuCountersRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuPonInfo); ok {
-		return x.OnuPonInfo
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuInfo() *GetOmciEthernetFrameExtendedPmRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuInfo); ok {
-		return x.OnuInfo
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetRxPower() *GetRxPowerRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_RxPower); ok {
-		return x.RxPower
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuOmciStats() *GetOnuOmciTxRxStatsRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuOmciStats); ok {
-		return x.OnuOmciStats
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOltRxPower() *GetOltRxPowerRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OltRxPower); ok {
-		return x.OltRxPower
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuActiveAlarms() *GetOnuOmciActiveAlarmsRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuActiveAlarms); ok {
-		return x.OnuActiveAlarms
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OffloadedAppsStats); ok {
-		return x.OffloadedAppsStats
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuAllocGemStats() *GetOnuAllocGemHistoryRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuAllocGemStats); ok {
-		return x.OnuAllocGemStats
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOnuStatsFromOlt() *GetOnuStatsFromOltRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OnuStatsFromOlt); ok {
-		return x.OnuStatsFromOlt
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOltPonStats() *GetPonStatsRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OltPonStats); ok {
-		return x.OltPonStats
-	}
-	return nil
-}
-
-func (m *GetValueRequest) GetOltNniStats() *GetNNIStatsRequest {
-	if x, ok := m.GetRequest().(*GetValueRequest_OltNniStats); ok {
-		return x.OltNniStats
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetValueRequest) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetValueRequest_Distance)(nil),
-		(*GetValueRequest_UniInfo)(nil),
-		(*GetValueRequest_OltPortInfo)(nil),
-		(*GetValueRequest_OnuOpticalInfo)(nil),
-		(*GetValueRequest_EthBridgePort)(nil),
-		(*GetValueRequest_FecHistory)(nil),
-		(*GetValueRequest_OnuPonInfo)(nil),
-		(*GetValueRequest_OnuInfo)(nil),
-		(*GetValueRequest_RxPower)(nil),
-		(*GetValueRequest_OnuOmciStats)(nil),
-		(*GetValueRequest_OltRxPower)(nil),
-		(*GetValueRequest_OnuActiveAlarms)(nil),
-		(*GetValueRequest_OffloadedAppsStats)(nil),
-		(*GetValueRequest_OnuAllocGemStats)(nil),
-		(*GetValueRequest_OnuStatsFromOlt)(nil),
-		(*GetValueRequest_OltPonStats)(nil),
-		(*GetValueRequest_OltNniStats)(nil),
-	}
-}
-
 type GetValueResponse struct {
+	state     protoimpl.MessageState       `protogen:"open.v1"`
 	Status    GetValueResponse_Status      `protobuf:"varint,1,opt,name=status,proto3,enum=extension.GetValueResponse_Status" json:"status,omitempty"`
 	ErrReason GetValueResponse_ErrorReason `protobuf:"varint,2,opt,name=errReason,proto3,enum=extension.GetValueResponse_ErrorReason" json:"errReason,omitempty"`
 	// Types that are valid to be assigned to Response:
+	//
 	//	*GetValueResponse_Distance
 	//	*GetValueResponse_UniInfo
 	//	*GetValueResponse_PortCoutners
@@ -4738,51 +4951,215 @@
 	//	*GetValueResponse_OnuStatsFromOltResponse
 	//	*GetValueResponse_OltPonStatsResponse
 	//	*GetValueResponse_OltNniStatsResponse
-	Response             isGetValueResponse_Response `protobuf_oneof:"response"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
+	Response      isGetValueResponse_Response `protobuf_oneof:"response"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *GetValueResponse) Reset()         { *m = GetValueResponse{} }
-func (m *GetValueResponse) String() string { return proto.CompactTextString(m) }
-func (*GetValueResponse) ProtoMessage()    {}
+func (x *GetValueResponse) Reset() {
+	*x = GetValueResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[48]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetValueResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetValueResponse) ProtoMessage() {}
+
+func (x *GetValueResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[48]
+	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 GetValueResponse.ProtoReflect.Descriptor instead.
 func (*GetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{48}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{48}
 }
 
-func (m *GetValueResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetValueResponse.Unmarshal(m, b)
-}
-func (m *GetValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetValueResponse.Marshal(b, m, deterministic)
-}
-func (m *GetValueResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetValueResponse.Merge(m, src)
-}
-func (m *GetValueResponse) XXX_Size() int {
-	return xxx_messageInfo_GetValueResponse.Size(m)
-}
-func (m *GetValueResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetValueResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetValueResponse proto.InternalMessageInfo
-
-func (m *GetValueResponse) GetStatus() GetValueResponse_Status {
-	if m != nil {
-		return m.Status
+func (x *GetValueResponse) GetStatus() GetValueResponse_Status {
+	if x != nil {
+		return x.Status
 	}
 	return GetValueResponse_STATUS_UNDEFINED
 }
 
-func (m *GetValueResponse) GetErrReason() GetValueResponse_ErrorReason {
-	if m != nil {
-		return m.ErrReason
+func (x *GetValueResponse) GetErrReason() GetValueResponse_ErrorReason {
+	if x != nil {
+		return x.ErrReason
 	}
 	return GetValueResponse_REASON_UNDEFINED
 }
 
+func (x *GetValueResponse) GetResponse() isGetValueResponse_Response {
+	if x != nil {
+		return x.Response
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetDistance() *GetDistanceResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_Distance); ok {
+			return x.Distance
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetUniInfo() *GetOnuUniInfoResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_UniInfo); ok {
+			return x.UniInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetPortCoutners() *GetOltPortCountersResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_PortCoutners); ok {
+			return x.PortCoutners
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuOpticalInfo() *GetOnuPonOpticalInfoResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuOpticalInfo); ok {
+			return x.OnuOpticalInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetEthBridgePortInfo() *GetOnuEthernetBridgePortHistoryResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_EthBridgePortInfo); ok {
+			return x.EthBridgePortInfo
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetFecHistory() *GetOnuFecHistoryResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_FecHistory); ok {
+			return x.FecHistory
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuPonCounters() *GetOnuCountersResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuPonCounters); ok {
+			return x.OnuPonCounters
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuCounters() *GetOmciEthernetFrameExtendedPmResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuCounters); ok {
+			return x.OnuCounters
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetRxPower() *GetRxPowerResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_RxPower); ok {
+			return x.RxPower
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuOmciStats() *GetOnuOmciTxRxStatsResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuOmciStats); ok {
+			return x.OnuOmciStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOltRxPower() *GetOltRxPowerResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OltRxPower); ok {
+			return x.OltRxPower
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuActiveAlarms() *GetOnuOmciActiveAlarmsResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuActiveAlarms); ok {
+			return x.OnuActiveAlarms
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OffloadedAppsStats); ok {
+			return x.OffloadedAppsStats
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuAllocGemStatsResponse() *GetOnuAllocGemHistoryResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuAllocGemStatsResponse); ok {
+			return x.OnuAllocGemStatsResponse
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOnuStatsFromOltResponse() *GetOnuStatsFromOltResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OnuStatsFromOltResponse); ok {
+			return x.OnuStatsFromOltResponse
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOltPonStatsResponse() *GetPonStatsResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OltPonStatsResponse); ok {
+			return x.OltPonStatsResponse
+		}
+	}
+	return nil
+}
+
+func (x *GetValueResponse) GetOltNniStatsResponse() *GetNNIStatsResponse {
+	if x != nil {
+		if x, ok := x.Response.(*GetValueResponse_OltNniStatsResponse); ok {
+			return x.OltNniStatsResponse
+		}
+	}
+	return nil
+}
+
 type isGetValueResponse_Response interface {
 	isGetValueResponse_Response()
 }
@@ -4820,7 +5197,7 @@
 }
 
 type GetValueResponse_RxPower struct {
-	RxPower *GetRxPowerResponse `protobuf:"bytes,11,opt,name=rxPower,proto3,oneof"`
+	RxPower *GetRxPowerResponse `protobuf:"bytes,11,opt,name=rxPower,proto3,oneof"` // This is DEPRECATED
 }
 
 type GetValueResponse_OnuOmciStats struct {
@@ -4889,361 +5266,204 @@
 
 func (*GetValueResponse_OltNniStatsResponse) isGetValueResponse_Response() {}
 
-func (m *GetValueResponse) GetResponse() isGetValueResponse_Response {
-	if m != nil {
-		return m.Response
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetDistance() *GetDistanceResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_Distance); ok {
-		return x.Distance
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetUniInfo() *GetOnuUniInfoResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_UniInfo); ok {
-		return x.UniInfo
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetPortCoutners() *GetOltPortCountersResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_PortCoutners); ok {
-		return x.PortCoutners
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuOpticalInfo() *GetOnuPonOpticalInfoResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuOpticalInfo); ok {
-		return x.OnuOpticalInfo
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetEthBridgePortInfo() *GetOnuEthernetBridgePortHistoryResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_EthBridgePortInfo); ok {
-		return x.EthBridgePortInfo
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetFecHistory() *GetOnuFecHistoryResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_FecHistory); ok {
-		return x.FecHistory
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuPonCounters() *GetOnuCountersResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuPonCounters); ok {
-		return x.OnuPonCounters
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuCounters() *GetOmciEthernetFrameExtendedPmResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuCounters); ok {
-		return x.OnuCounters
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetRxPower() *GetRxPowerResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_RxPower); ok {
-		return x.RxPower
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuOmciStats() *GetOnuOmciTxRxStatsResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuOmciStats); ok {
-		return x.OnuOmciStats
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOltRxPower() *GetOltRxPowerResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OltRxPower); ok {
-		return x.OltRxPower
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuActiveAlarms() *GetOnuOmciActiveAlarmsResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuActiveAlarms); ok {
-		return x.OnuActiveAlarms
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OffloadedAppsStats); ok {
-		return x.OffloadedAppsStats
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuAllocGemStatsResponse() *GetOnuAllocGemHistoryResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuAllocGemStatsResponse); ok {
-		return x.OnuAllocGemStatsResponse
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOnuStatsFromOltResponse() *GetOnuStatsFromOltResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OnuStatsFromOltResponse); ok {
-		return x.OnuStatsFromOltResponse
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOltPonStatsResponse() *GetPonStatsResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OltPonStatsResponse); ok {
-		return x.OltPonStatsResponse
-	}
-	return nil
-}
-
-func (m *GetValueResponse) GetOltNniStatsResponse() *GetNNIStatsResponse {
-	if x, ok := m.GetResponse().(*GetValueResponse_OltNniStatsResponse); ok {
-		return x.OltNniStatsResponse
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*GetValueResponse) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*GetValueResponse_Distance)(nil),
-		(*GetValueResponse_UniInfo)(nil),
-		(*GetValueResponse_PortCoutners)(nil),
-		(*GetValueResponse_OnuOpticalInfo)(nil),
-		(*GetValueResponse_EthBridgePortInfo)(nil),
-		(*GetValueResponse_FecHistory)(nil),
-		(*GetValueResponse_OnuPonCounters)(nil),
-		(*GetValueResponse_OnuCounters)(nil),
-		(*GetValueResponse_RxPower)(nil),
-		(*GetValueResponse_OnuOmciStats)(nil),
-		(*GetValueResponse_OltRxPower)(nil),
-		(*GetValueResponse_OnuActiveAlarms)(nil),
-		(*GetValueResponse_OffloadedAppsStats)(nil),
-		(*GetValueResponse_OnuAllocGemStatsResponse)(nil),
-		(*GetValueResponse_OnuStatsFromOltResponse)(nil),
-		(*GetValueResponse_OltPonStatsResponse)(nil),
-		(*GetValueResponse_OltNniStatsResponse)(nil),
-	}
-}
-
 // AppOffloadConfig is the configuration for offloading applications to the OLT and has OLT wide configuration.
 type AppOffloadConfig struct {
-	EnableDHCPv4RA bool `protobuf:"varint,1,opt,name=enableDHCPv4RA,proto3" json:"enableDHCPv4RA,omitempty"`
-	EnableDHCPv6RA bool `protobuf:"varint,2,opt,name=enableDHCPv6RA,proto3" json:"enableDHCPv6RA,omitempty"`
-	EnablePPPoEIA  bool `protobuf:"varint,3,opt,name=enablePPPoEIA,proto3" json:"enablePPPoEIA,omitempty"`
+	state          protoimpl.MessageState `protogen:"open.v1"`
+	EnableDHCPv4RA bool                   `protobuf:"varint,1,opt,name=enableDHCPv4RA,proto3" json:"enableDHCPv4RA,omitempty"`
+	EnableDHCPv6RA bool                   `protobuf:"varint,2,opt,name=enableDHCPv6RA,proto3" json:"enableDHCPv6RA,omitempty"`
+	EnablePPPoEIA  bool                   `protobuf:"varint,3,opt,name=enablePPPoEIA,proto3" json:"enablePPPoEIA,omitempty"`
 	// Follows the same as the BBF Access Node Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-subscriber-profiles.yang
-	AccessNodeID         string   `protobuf:"bytes,4,opt,name=accessNodeID,proto3" json:"accessNodeID,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	AccessNodeID  string `protobuf:"bytes,4,opt,name=accessNodeID,proto3" json:"accessNodeID,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *AppOffloadConfig) Reset()         { *m = AppOffloadConfig{} }
-func (m *AppOffloadConfig) String() string { return proto.CompactTextString(m) }
-func (*AppOffloadConfig) ProtoMessage()    {}
+func (x *AppOffloadConfig) Reset() {
+	*x = AppOffloadConfig{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[49]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AppOffloadConfig) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppOffloadConfig) ProtoMessage() {}
+
+func (x *AppOffloadConfig) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[49]
+	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 AppOffloadConfig.ProtoReflect.Descriptor instead.
 func (*AppOffloadConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{49}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{49}
 }
 
-func (m *AppOffloadConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AppOffloadConfig.Unmarshal(m, b)
-}
-func (m *AppOffloadConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AppOffloadConfig.Marshal(b, m, deterministic)
-}
-func (m *AppOffloadConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AppOffloadConfig.Merge(m, src)
-}
-func (m *AppOffloadConfig) XXX_Size() int {
-	return xxx_messageInfo_AppOffloadConfig.Size(m)
-}
-func (m *AppOffloadConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_AppOffloadConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AppOffloadConfig proto.InternalMessageInfo
-
-func (m *AppOffloadConfig) GetEnableDHCPv4RA() bool {
-	if m != nil {
-		return m.EnableDHCPv4RA
+func (x *AppOffloadConfig) GetEnableDHCPv4RA() bool {
+	if x != nil {
+		return x.EnableDHCPv4RA
 	}
 	return false
 }
 
-func (m *AppOffloadConfig) GetEnableDHCPv6RA() bool {
-	if m != nil {
-		return m.EnableDHCPv6RA
+func (x *AppOffloadConfig) GetEnableDHCPv6RA() bool {
+	if x != nil {
+		return x.EnableDHCPv6RA
 	}
 	return false
 }
 
-func (m *AppOffloadConfig) GetEnablePPPoEIA() bool {
-	if m != nil {
-		return m.EnablePPPoEIA
+func (x *AppOffloadConfig) GetEnablePPPoEIA() bool {
+	if x != nil {
+		return x.EnablePPPoEIA
 	}
 	return false
 }
 
-func (m *AppOffloadConfig) GetAccessNodeID() string {
-	if m != nil {
-		return m.AccessNodeID
+func (x *AppOffloadConfig) GetAccessNodeID() string {
+	if x != nil {
+		return x.AccessNodeID
 	}
 	return ""
 }
 
 // AppOffloadOnuConfig has Onu specfic configuration which the OLT runs applications which have been offloaded.
 type AppOffloadOnuConfig struct {
-	OnuDeviceId          string                              `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
-	PerUniInfo           []*AppOffloadOnuConfig_PerUniConfig `protobuf:"bytes,5,rep,name=perUniInfo,proto3" json:"perUniInfo,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
-	XXX_unrecognized     []byte                              `json:"-"`
-	XXX_sizecache        int32                               `json:"-"`
+	state         protoimpl.MessageState              `protogen:"open.v1"`
+	OnuDeviceId   string                              `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
+	PerUniInfo    []*AppOffloadOnuConfig_PerUniConfig `protobuf:"bytes,5,rep,name=perUniInfo,proto3" json:"perUniInfo,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *AppOffloadOnuConfig) Reset()         { *m = AppOffloadOnuConfig{} }
-func (m *AppOffloadOnuConfig) String() string { return proto.CompactTextString(m) }
-func (*AppOffloadOnuConfig) ProtoMessage()    {}
+func (x *AppOffloadOnuConfig) Reset() {
+	*x = AppOffloadOnuConfig{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[50]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AppOffloadOnuConfig) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppOffloadOnuConfig) ProtoMessage() {}
+
+func (x *AppOffloadOnuConfig) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[50]
+	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 AppOffloadOnuConfig.ProtoReflect.Descriptor instead.
 func (*AppOffloadOnuConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{50}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{50}
 }
 
-func (m *AppOffloadOnuConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AppOffloadOnuConfig.Unmarshal(m, b)
-}
-func (m *AppOffloadOnuConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AppOffloadOnuConfig.Marshal(b, m, deterministic)
-}
-func (m *AppOffloadOnuConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AppOffloadOnuConfig.Merge(m, src)
-}
-func (m *AppOffloadOnuConfig) XXX_Size() int {
-	return xxx_messageInfo_AppOffloadOnuConfig.Size(m)
-}
-func (m *AppOffloadOnuConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_AppOffloadOnuConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AppOffloadOnuConfig proto.InternalMessageInfo
-
-func (m *AppOffloadOnuConfig) GetOnuDeviceId() string {
-	if m != nil {
-		return m.OnuDeviceId
+func (x *AppOffloadOnuConfig) GetOnuDeviceId() string {
+	if x != nil {
+		return x.OnuDeviceId
 	}
 	return ""
 }
 
-func (m *AppOffloadOnuConfig) GetPerUniInfo() []*AppOffloadOnuConfig_PerUniConfig {
-	if m != nil {
-		return m.PerUniInfo
+func (x *AppOffloadOnuConfig) GetPerUniInfo() []*AppOffloadOnuConfig_PerUniConfig {
+	if x != nil {
+		return x.PerUniInfo
 	}
 	return nil
 }
 
-type AppOffloadOnuConfig_PerUniConfig struct {
-	// As per the BBF Agent Remote Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
-	AgentRemoteID string `protobuf:"bytes,2,opt,name=agentRemoteID,proto3" json:"agentRemoteID,omitempty"`
-	// As per the BBF Agent Circuit Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
-	AgentCircuitID string `protobuf:"bytes,3,opt,name=agentCircuitID,proto3" json:"agentCircuitID,omitempty"`
-	// The id of the UNI on the Onu for which this configuration is relevant. The UNI ids are numbered from 0 to n depending on the number of UNI ports on the ONU.
-	OnuUniId             uint32   `protobuf:"varint,4,opt,name=onuUniId,proto3" json:"onuUniId,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *AppOffloadOnuConfig_PerUniConfig) Reset()         { *m = AppOffloadOnuConfig_PerUniConfig{} }
-func (m *AppOffloadOnuConfig_PerUniConfig) String() string { return proto.CompactTextString(m) }
-func (*AppOffloadOnuConfig_PerUniConfig) ProtoMessage()    {}
-func (*AppOffloadOnuConfig_PerUniConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{50, 0}
-}
-
-func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Unmarshal(m, b)
-}
-func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Marshal(b, m, deterministic)
-}
-func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Merge(m, src)
-}
-func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Size() int {
-	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Size(m)
-}
-func (m *AppOffloadOnuConfig_PerUniConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig proto.InternalMessageInfo
-
-func (m *AppOffloadOnuConfig_PerUniConfig) GetAgentRemoteID() string {
-	if m != nil {
-		return m.AgentRemoteID
-	}
-	return ""
-}
-
-func (m *AppOffloadOnuConfig_PerUniConfig) GetAgentCircuitID() string {
-	if m != nil {
-		return m.AgentCircuitID
-	}
-	return ""
-}
-
-func (m *AppOffloadOnuConfig_PerUniConfig) GetOnuUniId() uint32 {
-	if m != nil {
-		return m.OnuUniId
-	}
-	return 0
-}
-
 type SetValueRequest struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
 	// Types that are valid to be assigned to Request:
+	//
 	//	*SetValueRequest_AlarmConfig
 	//	*SetValueRequest_AppOffloadConfig
 	//	*SetValueRequest_AppOffloadOnuConfig
-	Request              isSetValueRequest_Request `protobuf_oneof:"request"`
-	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
-	XXX_unrecognized     []byte                    `json:"-"`
-	XXX_sizecache        int32                     `json:"-"`
+	Request       isSetValueRequest_Request `protobuf_oneof:"request"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SetValueRequest) Reset()         { *m = SetValueRequest{} }
-func (m *SetValueRequest) String() string { return proto.CompactTextString(m) }
-func (*SetValueRequest) ProtoMessage()    {}
+func (x *SetValueRequest) Reset() {
+	*x = SetValueRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[51]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SetValueRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetValueRequest) ProtoMessage() {}
+
+func (x *SetValueRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[51]
+	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 SetValueRequest.ProtoReflect.Descriptor instead.
 func (*SetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{51}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{51}
 }
 
-func (m *SetValueRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetValueRequest.Unmarshal(m, b)
-}
-func (m *SetValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetValueRequest.Marshal(b, m, deterministic)
-}
-func (m *SetValueRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetValueRequest.Merge(m, src)
-}
-func (m *SetValueRequest) XXX_Size() int {
-	return xxx_messageInfo_SetValueRequest.Size(m)
-}
-func (m *SetValueRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetValueRequest.DiscardUnknown(m)
+func (x *SetValueRequest) GetRequest() isSetValueRequest_Request {
+	if x != nil {
+		return x.Request
+	}
+	return nil
 }
 
-var xxx_messageInfo_SetValueRequest proto.InternalMessageInfo
+func (x *SetValueRequest) GetAlarmConfig() *config.AlarmConfig {
+	if x != nil {
+		if x, ok := x.Request.(*SetValueRequest_AlarmConfig); ok {
+			return x.AlarmConfig
+		}
+	}
+	return nil
+}
+
+func (x *SetValueRequest) GetAppOffloadConfig() *AppOffloadConfig {
+	if x != nil {
+		if x, ok := x.Request.(*SetValueRequest_AppOffloadConfig); ok {
+			return x.AppOffloadConfig
+		}
+	}
+	return nil
+}
+
+func (x *SetValueRequest) GetAppOffloadOnuConfig() *AppOffloadOnuConfig {
+	if x != nil {
+		if x, ok := x.Request.(*SetValueRequest_AppOffloadOnuConfig); ok {
+			return x.AppOffloadOnuConfig
+		}
+	}
+	return nil
+}
 
 type isSetValueRequest_Request interface {
 	isSetValueRequest_Request()
@@ -5267,796 +5487,1455 @@
 
 func (*SetValueRequest_AppOffloadOnuConfig) isSetValueRequest_Request() {}
 
-func (m *SetValueRequest) GetRequest() isSetValueRequest_Request {
-	if m != nil {
-		return m.Request
-	}
-	return nil
-}
-
-func (m *SetValueRequest) GetAlarmConfig() *config.AlarmConfig {
-	if x, ok := m.GetRequest().(*SetValueRequest_AlarmConfig); ok {
-		return x.AlarmConfig
-	}
-	return nil
-}
-
-func (m *SetValueRequest) GetAppOffloadConfig() *AppOffloadConfig {
-	if x, ok := m.GetRequest().(*SetValueRequest_AppOffloadConfig); ok {
-		return x.AppOffloadConfig
-	}
-	return nil
-}
-
-func (m *SetValueRequest) GetAppOffloadOnuConfig() *AppOffloadOnuConfig {
-	if x, ok := m.GetRequest().(*SetValueRequest_AppOffloadOnuConfig); ok {
-		return x.AppOffloadOnuConfig
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*SetValueRequest) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*SetValueRequest_AlarmConfig)(nil),
-		(*SetValueRequest_AppOffloadConfig)(nil),
-		(*SetValueRequest_AppOffloadOnuConfig)(nil),
-	}
-}
-
 type SetValueResponse struct {
-	Status               SetValueResponse_Status      `protobuf:"varint,1,opt,name=status,proto3,enum=extension.SetValueResponse_Status" json:"status,omitempty"`
-	ErrReason            SetValueResponse_ErrorReason `protobuf:"varint,2,opt,name=errReason,proto3,enum=extension.SetValueResponse_ErrorReason" json:"errReason,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
-	XXX_unrecognized     []byte                       `json:"-"`
-	XXX_sizecache        int32                        `json:"-"`
+	state         protoimpl.MessageState       `protogen:"open.v1"`
+	Status        SetValueResponse_Status      `protobuf:"varint,1,opt,name=status,proto3,enum=extension.SetValueResponse_Status" json:"status,omitempty"`
+	ErrReason     SetValueResponse_ErrorReason `protobuf:"varint,2,opt,name=errReason,proto3,enum=extension.SetValueResponse_ErrorReason" json:"errReason,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SetValueResponse) Reset()         { *m = SetValueResponse{} }
-func (m *SetValueResponse) String() string { return proto.CompactTextString(m) }
-func (*SetValueResponse) ProtoMessage()    {}
+func (x *SetValueResponse) Reset() {
+	*x = SetValueResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[52]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SetValueResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetValueResponse) ProtoMessage() {}
+
+func (x *SetValueResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[52]
+	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 SetValueResponse.ProtoReflect.Descriptor instead.
 func (*SetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{52}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{52}
 }
 
-func (m *SetValueResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetValueResponse.Unmarshal(m, b)
-}
-func (m *SetValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetValueResponse.Marshal(b, m, deterministic)
-}
-func (m *SetValueResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetValueResponse.Merge(m, src)
-}
-func (m *SetValueResponse) XXX_Size() int {
-	return xxx_messageInfo_SetValueResponse.Size(m)
-}
-func (m *SetValueResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetValueResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SetValueResponse proto.InternalMessageInfo
-
-func (m *SetValueResponse) GetStatus() SetValueResponse_Status {
-	if m != nil {
-		return m.Status
+func (x *SetValueResponse) GetStatus() SetValueResponse_Status {
+	if x != nil {
+		return x.Status
 	}
 	return SetValueResponse_STATUS_UNDEFINED
 }
 
-func (m *SetValueResponse) GetErrReason() SetValueResponse_ErrorReason {
-	if m != nil {
-		return m.ErrReason
+func (x *SetValueResponse) GetErrReason() SetValueResponse_ErrorReason {
+	if x != nil {
+		return x.ErrReason
 	}
 	return SetValueResponse_REASON_UNDEFINED
 }
 
 type SingleGetValueRequest struct {
-	TargetId             string           `protobuf:"bytes,1,opt,name=targetId,proto3" json:"targetId,omitempty"`
-	Request              *GetValueRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	TargetId      string                 `protobuf:"bytes,1,opt,name=targetId,proto3" json:"targetId,omitempty"`
+	Request       *GetValueRequest       `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SingleGetValueRequest) Reset()         { *m = SingleGetValueRequest{} }
-func (m *SingleGetValueRequest) String() string { return proto.CompactTextString(m) }
-func (*SingleGetValueRequest) ProtoMessage()    {}
+func (x *SingleGetValueRequest) Reset() {
+	*x = SingleGetValueRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[53]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SingleGetValueRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SingleGetValueRequest) ProtoMessage() {}
+
+func (x *SingleGetValueRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[53]
+	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 SingleGetValueRequest.ProtoReflect.Descriptor instead.
 func (*SingleGetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{53}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{53}
 }
 
-func (m *SingleGetValueRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SingleGetValueRequest.Unmarshal(m, b)
-}
-func (m *SingleGetValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SingleGetValueRequest.Marshal(b, m, deterministic)
-}
-func (m *SingleGetValueRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SingleGetValueRequest.Merge(m, src)
-}
-func (m *SingleGetValueRequest) XXX_Size() int {
-	return xxx_messageInfo_SingleGetValueRequest.Size(m)
-}
-func (m *SingleGetValueRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SingleGetValueRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SingleGetValueRequest proto.InternalMessageInfo
-
-func (m *SingleGetValueRequest) GetTargetId() string {
-	if m != nil {
-		return m.TargetId
+func (x *SingleGetValueRequest) GetTargetId() string {
+	if x != nil {
+		return x.TargetId
 	}
 	return ""
 }
 
-func (m *SingleGetValueRequest) GetRequest() *GetValueRequest {
-	if m != nil {
-		return m.Request
+func (x *SingleGetValueRequest) GetRequest() *GetValueRequest {
+	if x != nil {
+		return x.Request
 	}
 	return nil
 }
 
 type SingleGetValueResponse struct {
-	Response             *GetValueResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Response      *GetValueResponse      `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SingleGetValueResponse) Reset()         { *m = SingleGetValueResponse{} }
-func (m *SingleGetValueResponse) String() string { return proto.CompactTextString(m) }
-func (*SingleGetValueResponse) ProtoMessage()    {}
+func (x *SingleGetValueResponse) Reset() {
+	*x = SingleGetValueResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[54]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SingleGetValueResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SingleGetValueResponse) ProtoMessage() {}
+
+func (x *SingleGetValueResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[54]
+	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 SingleGetValueResponse.ProtoReflect.Descriptor instead.
 func (*SingleGetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{54}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{54}
 }
 
-func (m *SingleGetValueResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SingleGetValueResponse.Unmarshal(m, b)
-}
-func (m *SingleGetValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SingleGetValueResponse.Marshal(b, m, deterministic)
-}
-func (m *SingleGetValueResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SingleGetValueResponse.Merge(m, src)
-}
-func (m *SingleGetValueResponse) XXX_Size() int {
-	return xxx_messageInfo_SingleGetValueResponse.Size(m)
-}
-func (m *SingleGetValueResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_SingleGetValueResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SingleGetValueResponse proto.InternalMessageInfo
-
-func (m *SingleGetValueResponse) GetResponse() *GetValueResponse {
-	if m != nil {
-		return m.Response
+func (x *SingleGetValueResponse) GetResponse() *GetValueResponse {
+	if x != nil {
+		return x.Response
 	}
 	return nil
 }
 
 type SingleSetValueRequest struct {
-	TargetId             string           `protobuf:"bytes,1,opt,name=targetId,proto3" json:"targetId,omitempty"`
-	Request              *SetValueRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	TargetId      string                 `protobuf:"bytes,1,opt,name=targetId,proto3" json:"targetId,omitempty"`
+	Request       *SetValueRequest       `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SingleSetValueRequest) Reset()         { *m = SingleSetValueRequest{} }
-func (m *SingleSetValueRequest) String() string { return proto.CompactTextString(m) }
-func (*SingleSetValueRequest) ProtoMessage()    {}
+func (x *SingleSetValueRequest) Reset() {
+	*x = SingleSetValueRequest{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[55]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SingleSetValueRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SingleSetValueRequest) ProtoMessage() {}
+
+func (x *SingleSetValueRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[55]
+	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 SingleSetValueRequest.ProtoReflect.Descriptor instead.
 func (*SingleSetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{55}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{55}
 }
 
-func (m *SingleSetValueRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SingleSetValueRequest.Unmarshal(m, b)
-}
-func (m *SingleSetValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SingleSetValueRequest.Marshal(b, m, deterministic)
-}
-func (m *SingleSetValueRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SingleSetValueRequest.Merge(m, src)
-}
-func (m *SingleSetValueRequest) XXX_Size() int {
-	return xxx_messageInfo_SingleSetValueRequest.Size(m)
-}
-func (m *SingleSetValueRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SingleSetValueRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SingleSetValueRequest proto.InternalMessageInfo
-
-func (m *SingleSetValueRequest) GetTargetId() string {
-	if m != nil {
-		return m.TargetId
+func (x *SingleSetValueRequest) GetTargetId() string {
+	if x != nil {
+		return x.TargetId
 	}
 	return ""
 }
 
-func (m *SingleSetValueRequest) GetRequest() *SetValueRequest {
-	if m != nil {
-		return m.Request
+func (x *SingleSetValueRequest) GetRequest() *SetValueRequest {
+	if x != nil {
+		return x.Request
 	}
 	return nil
 }
 
 type SingleSetValueResponse struct {
-	Response             *SetValueResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Response      *SetValueResponse      `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
 }
 
-func (m *SingleSetValueResponse) Reset()         { *m = SingleSetValueResponse{} }
-func (m *SingleSetValueResponse) String() string { return proto.CompactTextString(m) }
-func (*SingleSetValueResponse) ProtoMessage()    {}
+func (x *SingleSetValueResponse) Reset() {
+	*x = SingleSetValueResponse{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[56]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SingleSetValueResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SingleSetValueResponse) ProtoMessage() {}
+
+func (x *SingleSetValueResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[56]
+	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 SingleSetValueResponse.ProtoReflect.Descriptor instead.
 func (*SingleSetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{56}
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{56}
 }
 
-func (m *SingleSetValueResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SingleSetValueResponse.Unmarshal(m, b)
-}
-func (m *SingleSetValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SingleSetValueResponse.Marshal(b, m, deterministic)
-}
-func (m *SingleSetValueResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SingleSetValueResponse.Merge(m, src)
-}
-func (m *SingleSetValueResponse) XXX_Size() int {
-	return xxx_messageInfo_SingleSetValueResponse.Size(m)
-}
-func (m *SingleSetValueResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_SingleSetValueResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SingleSetValueResponse proto.InternalMessageInfo
-
-func (m *SingleSetValueResponse) GetResponse() *SetValueResponse {
-	if m != nil {
-		return m.Response
+func (x *SingleSetValueResponse) GetResponse() *SetValueResponse {
+	if x != nil {
+		return x.Response
 	}
 	return nil
 }
 
-func init() {
-	proto.RegisterEnum("extension.ValueType_Type", ValueType_Type_name, ValueType_Type_value)
-	proto.RegisterEnum("extension.GetOnuUniInfoResponse_ConfigurationInd", GetOnuUniInfoResponse_ConfigurationInd_name, GetOnuUniInfoResponse_ConfigurationInd_value)
-	proto.RegisterEnum("extension.GetOnuUniInfoResponse_AdministrativeState", GetOnuUniInfoResponse_AdministrativeState_name, GetOnuUniInfoResponse_AdministrativeState_value)
-	proto.RegisterEnum("extension.GetOnuUniInfoResponse_OperationalState", GetOnuUniInfoResponse_OperationalState_name, GetOnuUniInfoResponse_OperationalState_value)
-	proto.RegisterEnum("extension.GetOltPortCounters_PortType", GetOltPortCounters_PortType_name, GetOltPortCounters_PortType_value)
-	proto.RegisterEnum("extension.GetOnuEthernetBridgePortHistory_Direction", GetOnuEthernetBridgePortHistory_Direction_name, GetOnuEthernetBridgePortHistory_Direction_value)
-	proto.RegisterEnum("extension.GetOmciEthernetFrameExtendedPmResponse_Format", GetOmciEthernetFrameExtendedPmResponse_Format_name, GetOmciEthernetFrameExtendedPmResponse_Format_value)
-	proto.RegisterEnum("extension.GetOffloadedAppsStatisticsRequest_OffloadedApp", GetOffloadedAppsStatisticsRequest_OffloadedApp_name, GetOffloadedAppsStatisticsRequest_OffloadedApp_value)
-	proto.RegisterEnum("extension.GetValueResponse_Status", GetValueResponse_Status_name, GetValueResponse_Status_value)
-	proto.RegisterEnum("extension.GetValueResponse_ErrorReason", GetValueResponse_ErrorReason_name, GetValueResponse_ErrorReason_value)
-	proto.RegisterEnum("extension.SetValueResponse_Status", SetValueResponse_Status_name, SetValueResponse_Status_value)
-	proto.RegisterEnum("extension.SetValueResponse_ErrorReason", SetValueResponse_ErrorReason_name, SetValueResponse_ErrorReason_value)
-	proto.RegisterType((*ValueSet)(nil), "extension.ValueSet")
-	proto.RegisterType((*ValueType)(nil), "extension.ValueType")
-	proto.RegisterType((*ValueSpecifier)(nil), "extension.ValueSpecifier")
-	proto.RegisterType((*ReturnValues)(nil), "extension.ReturnValues")
-	proto.RegisterType((*GetDistanceRequest)(nil), "extension.GetDistanceRequest")
-	proto.RegisterType((*GetDistanceResponse)(nil), "extension.GetDistanceResponse")
-	proto.RegisterType((*GetOnuUniInfoRequest)(nil), "extension.GetOnuUniInfoRequest")
-	proto.RegisterType((*GetOnuUniInfoResponse)(nil), "extension.GetOnuUniInfoResponse")
-	proto.RegisterType((*GetOltPortCounters)(nil), "extension.GetOltPortCounters")
-	proto.RegisterType((*GetOltPortCountersResponse)(nil), "extension.GetOltPortCountersResponse")
-	proto.RegisterType((*GetOnuPonOpticalInfo)(nil), "extension.GetOnuPonOpticalInfo")
-	proto.RegisterType((*GetOnuPonOpticalInfoResponse)(nil), "extension.GetOnuPonOpticalInfoResponse")
-	proto.RegisterType((*GetOnuEthernetBridgePortHistory)(nil), "extension.GetOnuEthernetBridgePortHistory")
-	proto.RegisterType((*GetOnuEthernetBridgePortHistoryResponse)(nil), "extension.GetOnuEthernetBridgePortHistoryResponse")
-	proto.RegisterType((*GetOnuAllocGemHistoryRequest)(nil), "extension.GetOnuAllocGemHistoryRequest")
-	proto.RegisterType((*OnuGemPortHistoryData)(nil), "extension.OnuGemPortHistoryData")
-	proto.RegisterType((*OnuAllocHistoryData)(nil), "extension.OnuAllocHistoryData")
-	proto.RegisterType((*OnuAllocGemHistoryData)(nil), "extension.OnuAllocGemHistoryData")
-	proto.RegisterType((*GetOnuAllocGemHistoryResponse)(nil), "extension.GetOnuAllocGemHistoryResponse")
-	proto.RegisterType((*GetOnuFecHistory)(nil), "extension.GetOnuFecHistory")
-	proto.RegisterType((*GetOnuFecHistoryResponse)(nil), "extension.GetOnuFecHistoryResponse")
-	proto.RegisterType((*GetOnuCountersRequest)(nil), "extension.GetOnuCountersRequest")
-	proto.RegisterType((*GetOmciEthernetFrameExtendedPmRequest)(nil), "extension.GetOmciEthernetFrameExtendedPmRequest")
-	proto.RegisterType((*GetRxPowerRequest)(nil), "extension.GetRxPowerRequest")
-	proto.RegisterType((*GetOltRxPowerRequest)(nil), "extension.GetOltRxPowerRequest")
-	proto.RegisterType((*GetPonStatsRequest)(nil), "extension.GetPonStatsRequest")
-	proto.RegisterType((*GetPonStatsResponse)(nil), "extension.GetPonStatsResponse")
-	proto.RegisterType((*GetNNIStatsRequest)(nil), "extension.GetNNIStatsRequest")
-	proto.RegisterType((*GetNNIStatsResponse)(nil), "extension.GetNNIStatsResponse")
-	proto.RegisterType((*GetOnuStatsFromOltRequest)(nil), "extension.GetOnuStatsFromOltRequest")
-	proto.RegisterType((*OnuGemPortInfoFromOlt)(nil), "extension.OnuGemPortInfoFromOlt")
-	proto.RegisterType((*OnuAllocIdInfoFromOlt)(nil), "extension.OnuAllocIdInfoFromOlt")
-	proto.RegisterType((*OnuAllocGemStatsFromOltResponse)(nil), "extension.OnuAllocGemStatsFromOltResponse")
-	proto.RegisterType((*GetOnuStatsFromOltResponse)(nil), "extension.GetOnuStatsFromOltResponse")
-	proto.RegisterType((*GetOnuCountersResponse)(nil), "extension.GetOnuCountersResponse")
-	proto.RegisterType((*OmciEthernetFrameExtendedPm)(nil), "extension.OmciEthernetFrameExtendedPm")
-	proto.RegisterType((*GetOmciEthernetFrameExtendedPmResponse)(nil), "extension.GetOmciEthernetFrameExtendedPmResponse")
-	proto.RegisterType((*RxPower)(nil), "extension.RxPower")
-	proto.RegisterType((*GetOltRxPowerResponse)(nil), "extension.GetOltRxPowerResponse")
-	proto.RegisterType((*GetRxPowerResponse)(nil), "extension.GetRxPowerResponse")
-	proto.RegisterType((*GetOnuOmciTxRxStatsRequest)(nil), "extension.GetOnuOmciTxRxStatsRequest")
-	proto.RegisterType((*GetOnuOmciTxRxStatsResponse)(nil), "extension.GetOnuOmciTxRxStatsResponse")
-	proto.RegisterType((*GetOnuOmciActiveAlarmsRequest)(nil), "extension.GetOnuOmciActiveAlarmsRequest")
-	proto.RegisterType((*AlarmData)(nil), "extension.AlarmData")
-	proto.RegisterType((*GetOnuOmciActiveAlarmsResponse)(nil), "extension.GetOnuOmciActiveAlarmsResponse")
-	proto.RegisterType((*GetOffloadedAppsStatisticsRequest)(nil), "extension.GetOffloadedAppsStatisticsRequest")
-	proto.RegisterType((*GetOffloadedAppsStatisticsResponse)(nil), "extension.GetOffloadedAppsStatisticsResponse")
-	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats")
-	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.AdditionalStatsEntry")
-	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats")
-	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.AdditionalStatsEntry")
-	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_PPPoeIAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats")
-	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.AdditionalStatsEntry")
-	proto.RegisterType((*GetValueRequest)(nil), "extension.GetValueRequest")
-	proto.RegisterType((*GetValueResponse)(nil), "extension.GetValueResponse")
-	proto.RegisterType((*AppOffloadConfig)(nil), "extension.AppOffloadConfig")
-	proto.RegisterType((*AppOffloadOnuConfig)(nil), "extension.AppOffloadOnuConfig")
-	proto.RegisterType((*AppOffloadOnuConfig_PerUniConfig)(nil), "extension.AppOffloadOnuConfig.PerUniConfig")
-	proto.RegisterType((*SetValueRequest)(nil), "extension.SetValueRequest")
-	proto.RegisterType((*SetValueResponse)(nil), "extension.SetValueResponse")
-	proto.RegisterType((*SingleGetValueRequest)(nil), "extension.SingleGetValueRequest")
-	proto.RegisterType((*SingleGetValueResponse)(nil), "extension.SingleGetValueResponse")
-	proto.RegisterType((*SingleSetValueRequest)(nil), "extension.SingleSetValueRequest")
-	proto.RegisterType((*SingleSetValueResponse)(nil), "extension.SingleSetValueResponse")
+type GetOffloadedAppsStatisticsResponse_DHCPv4RAStats struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-l2-dhcpv4-relay.yang
+	InBadPacketsFromClient           uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
+	InBadPacketsFromServer           uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
+	InPacketsFromClient              uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
+	InPacketsFromServer              uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
+	OutPacketsToServer               uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
+	OutPacketsToClient               uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
+	Option_82InsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=option_82_inserted_packets_to_server,json=option82InsertedPacketsToServer,proto3" json:"option_82_inserted_packets_to_server,omitempty"`
+	Option_82RemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=option_82_removed_packets_to_client,json=option82RemovedPacketsToClient,proto3" json:"option_82_removed_packets_to_client,omitempty"`
+	Option_82NotInsertedToServer     uint32 `protobuf:"varint,9,opt,name=option_82_not_inserted_to_server,json=option82NotInsertedToServer,proto3" json:"option_82_not_inserted_to_server,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
 }
 
-func init() { proto.RegisterFile("voltha_protos/extensions.proto", fileDescriptor_7ecf6e9799a9202d) }
-
-var fileDescriptor_7ecf6e9799a9202d = []byte{
-	// 5317 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7c, 0xcb, 0x6f, 0x23, 0x49,
-	0x72, 0xb7, 0x48, 0x49, 0x14, 0x19, 0x14, 0x25, 0x2a, 0xf5, 0x68, 0x4a, 0xea, 0xd7, 0x70, 0xe7,
-	0xd1, 0xb3, 0xdf, 0x8c, 0xba, 0xc5, 0x96, 0xd4, 0x9a, 0xde, 0xd9, 0xfd, 0x96, 0x94, 0x28, 0x91,
-	0x5f, 0x77, 0x53, 0x9c, 0x24, 0x35, 0x8f, 0xfd, 0xe0, 0xad, 0x2d, 0xb1, 0x52, 0xea, 0x42, 0x93,
-	0x95, 0x74, 0x55, 0x51, 0xab, 0x1e, 0xc3, 0x37, 0xdf, 0xd6, 0x3e, 0x19, 0x30, 0x7c, 0xf1, 0xcd,
-	0x17, 0x03, 0x36, 0x7c, 0xd8, 0x83, 0xe1, 0xeb, 0xc2, 0x47, 0xff, 0x13, 0x86, 0x0f, 0x3e, 0x1b,
-	0xb0, 0x01, 0xc3, 0x06, 0x0c, 0x23, 0x5f, 0x55, 0x59, 0xc5, 0xa2, 0xd4, 0x9a, 0x5d, 0xaf, 0x01,
-	0x5f, 0x66, 0x94, 0xf1, 0xf8, 0x65, 0x64, 0x56, 0x44, 0x64, 0x46, 0x66, 0xb2, 0xe1, 0xfe, 0x25,
-	0xed, 0xfb, 0xaf, 0x4d, 0x63, 0xe8, 0x52, 0x9f, 0x7a, 0x8f, 0xc9, 0x95, 0x4f, 0x1c, 0xcf, 0xa6,
-	0x8e, 0xb7, 0xc5, 0x29, 0x28, 0x17, 0x50, 0x36, 0xc6, 0x45, 0x8d, 0x1e, 0x75, 0xce, 0xed, 0x0b,
-	0x21, 0xba, 0xb1, 0x79, 0x41, 0xe9, 0x45, 0x9f, 0x3c, 0xe6, 0xad, 0xb3, 0xd1, 0xf9, 0x63, 0x32,
-	0x18, 0xfa, 0x6f, 0x25, 0x73, 0x23, 0xaa, 0xdc, 0xa3, 0x83, 0x01, 0x75, 0x04, 0xaf, 0xfc, 0x3b,
-	0x90, 0xfd, 0xd2, 0xec, 0x8f, 0x48, 0x87, 0xf8, 0x68, 0x01, 0xd2, 0xb6, 0x55, 0x4a, 0x3d, 0x4c,
-	0x3d, 0xca, 0xe1, 0xb4, 0x6d, 0xa1, 0x7d, 0x98, 0x37, 0xfb, 0xa6, 0x3b, 0x90, 0x5d, 0x95, 0xd2,
-	0x0f, 0x53, 0x8f, 0xf2, 0x95, 0xe5, 0x2d, 0xd9, 0x73, 0x95, 0xf1, 0x0e, 0xf8, 0xdf, 0x8d, 0x29,
-	0x9c, 0x37, 0xc3, 0x66, 0x6d, 0x0e, 0x66, 0x2f, 0x19, 0x6a, 0xf9, 0x13, 0xc8, 0x71, 0xf8, 0xee,
-	0xdb, 0x21, 0x29, 0x3f, 0x80, 0x19, 0xf6, 0x7f, 0x94, 0x83, 0xd9, 0xfa, 0xab, 0x76, 0xf7, 0x9b,
-	0xe2, 0x14, 0x9a, 0x87, 0xec, 0x61, 0xb3, 0xd3, 0xad, 0xb6, 0x0e, 0xea, 0xc5, 0x54, 0xf9, 0x0b,
-	0x58, 0x10, 0xc6, 0x0c, 0x49, 0xcf, 0x3e, 0xb7, 0x89, 0x3b, 0x66, 0xd2, 0x63, 0x09, 0xcc, 0x6d,
-	0x59, 0xa8, 0xac, 0x6f, 0x05, 0x53, 0xb4, 0x15, 0xf4, 0xb3, 0xc5, 0xfe, 0x83, 0xa5, 0x01, 0x3e,
-	0xcc, 0x63, 0xe2, 0x8f, 0x5c, 0x87, 0xb3, 0x3d, 0x54, 0x84, 0xe9, 0x0e, 0xf1, 0x39, 0x62, 0x01,
-	0xb3, 0x3f, 0xd1, 0x43, 0xc8, 0x9f, 0x3a, 0xde, 0x68, 0x38, 0xa4, 0xae, 0x4f, 0x2c, 0x0e, 0x5c,
-	0xc0, 0x3a, 0x09, 0xad, 0xc0, 0x6c, 0xdd, 0x75, 0xa9, 0x5b, 0x9a, 0xe6, 0x3c, 0xd1, 0x40, 0x1b,
-	0x90, 0x3d, 0xb4, 0x3d, 0xdf, 0x74, 0x7a, 0xa4, 0x34, 0xc3, 0x19, 0x41, 0xbb, 0xbc, 0x07, 0xe8,
-	0x98, 0xf8, 0xaa, 0x89, 0xc9, 0xef, 0x8e, 0x88, 0xc7, 0x7b, 0xa2, 0xce, 0xe8, 0x90, 0x5c, 0xda,
-	0x3d, 0xd2, 0x54, 0xa3, 0xd2, 0x49, 0xe5, 0x6d, 0x58, 0x8e, 0xe8, 0x79, 0x43, 0xea, 0x78, 0x84,
-	0x75, 0x65, 0xa9, 0xae, 0x84, 0xe5, 0x41, 0xbb, 0x5c, 0x81, 0x95, 0x63, 0xe2, 0x9f, 0x38, 0xa3,
-	0x53, 0xc7, 0x6e, 0x3a, 0xe7, 0x54, 0x75, 0xb6, 0x01, 0xd9, 0x11, 0xa3, 0x58, 0xe4, 0x4a, 0xe9,
-	0xa8, 0x76, 0xf9, 0x1f, 0x66, 0x60, 0x35, 0xa6, 0x24, 0x7b, 0x6a, 0x43, 0xd6, 0xb4, 0x06, 0x1d,
-	0xdf, 0xf4, 0x45, 0x4f, 0x0b, 0x95, 0x1d, 0x6d, 0x8a, 0x13, 0x75, 0xb6, 0xaa, 0xd6, 0xc0, 0x76,
-	0x6c, 0xcf, 0x77, 0x4d, 0xdf, 0xbe, 0x24, 0x5c, 0x17, 0x07, 0x28, 0xe8, 0x04, 0x72, 0x74, 0x48,
-	0x5c, 0x01, 0x29, 0xbe, 0xda, 0xf6, 0x8d, 0x90, 0x27, 0x43, 0xc2, 0xd0, 0xa8, 0x63, 0xf6, 0x05,
-	0x5e, 0x88, 0xc1, 0x00, 0x85, 0x03, 0x36, 0x1d, 0x8b, 0x7f, 0x91, 0x77, 0x01, 0x14, 0x7e, 0x39,
-	0x12, 0xa0, 0x4d, 0xc7, 0xc2, 0x21, 0x46, 0xf9, 0x57, 0x29, 0x28, 0xc6, 0xf9, 0x08, 0x20, 0x73,
-	0xda, 0x7a, 0x71, 0xf2, 0x55, 0xab, 0x38, 0x85, 0x10, 0x2c, 0x74, 0xeb, 0x2d, 0xa3, 0x56, 0xed,
-	0xd4, 0x8d, 0xae, 0x71, 0x74, 0xf8, 0x75, 0x31, 0x85, 0xd6, 0x00, 0x35, 0x4e, 0x5b, 0x87, 0xb8,
-	0x7e, 0xa8, 0xd3, 0xd3, 0xa8, 0x04, 0x2b, 0xc7, 0xcd, 0xe3, 0x6a, 0xad, 0xd9, 0x35, 0xea, 0xdd,
-	0x46, 0x1d, 0xb7, 0xea, 0x82, 0x33, 0xcd, 0x34, 0x18, 0xca, 0x71, 0x94, 0x3e, 0x13, 0x43, 0x6f,
-	0x1c, 0x7e, 0x5d, 0x9c, 0x4d, 0x40, 0x67, 0xf4, 0x4c, 0x22, 0x3a, 0xe3, 0xcc, 0x95, 0x8f, 0x61,
-	0x39, 0xe1, 0x3b, 0x30, 0xa0, 0xea, 0xe1, 0xab, 0x4e, 0xb7, 0xda, 0xad, 0x1b, 0xa7, 0xad, 0xc3,
-	0xfa, 0x51, 0xb3, 0x55, 0x3f, 0x2c, 0x4e, 0xb1, 0xe1, 0xbd, 0x3c, 0x39, 0x78, 0x51, 0x3f, 0x2c,
-	0xa6, 0x58, 0x0c, 0x9e, 0xb6, 0x64, 0x2b, 0x5d, 0x3e, 0x82, 0x62, 0x7c, 0xf6, 0xd1, 0x1d, 0x58,
-	0x3e, 0x69, 0xd7, 0xf1, 0x38, 0x4c, 0x1e, 0xe6, 0xea, 0xad, 0x6a, 0xed, 0xa5, 0xc2, 0x39, 0x6c,
-	0x76, 0x44, 0x2b, 0x5d, 0xfe, 0x9b, 0x14, 0x8f, 0x81, 0x93, 0xbe, 0xdf, 0xa6, 0xae, 0x7f, 0x40,
-	0x47, 0x8e, 0x4f, 0x5c, 0x0f, 0xad, 0x41, 0x86, 0x45, 0x55, 0x8b, 0x4a, 0xa7, 0x94, 0x2d, 0x54,
-	0x83, 0x2c, 0xfb, 0x8b, 0x85, 0xae, 0xf4, 0x92, 0x0f, 0x63, 0x1f, 0x35, 0x0a, 0xb4, 0xd5, 0x96,
-	0xd2, 0x38, 0xd0, 0x2b, 0xd7, 0x21, 0xab, 0xa8, 0xa8, 0x08, 0xf3, 0xec, 0x6f, 0xe3, 0xb4, 0xf5,
-	0xa2, 0x25, 0xbe, 0xe2, 0x2a, 0x2c, 0x71, 0x4a, 0x30, 0x71, 0xad, 0x56, 0xb3, 0x98, 0x0a, 0x04,
-	0xdb, 0x27, 0x2d, 0xe3, 0xe4, 0x65, 0xb7, 0x98, 0x2e, 0xff, 0xfd, 0x34, 0x6c, 0x8c, 0x77, 0x18,
-	0x84, 0x48, 0x09, 0xe6, 0xfc, 0xab, 0xda, 0x5b, 0x9f, 0x78, 0x7c, 0x08, 0x33, 0x58, 0x35, 0x19,
-	0xc7, 0x95, 0x9c, 0xb4, 0xe0, 0xc8, 0x26, 0xba, 0x0b, 0x39, 0xff, 0xaa, 0x6d, 0xf6, 0xde, 0x10,
-	0xdf, 0xe3, 0x3e, 0x3b, 0x83, 0x43, 0x02, 0xe3, 0xba, 0x01, 0x77, 0x46, 0x70, 0x03, 0x02, 0xfa,
-	0x10, 0x16, 0xfc, 0x2b, 0x9e, 0x72, 0x94, 0xc8, 0x2c, 0x17, 0x89, 0x51, 0x99, 0x9c, 0x1b, 0x95,
-	0xcb, 0x08, 0x39, 0x77, 0x4c, 0xce, 0xbf, 0xaa, 0xf5, 0x4c, 0xcf, 0x57, 0x72, 0x73, 0x0a, 0x4f,
-	0xa7, 0x0a, 0xbc, 0x88, 0x5c, 0x56, 0xe1, 0xc5, 0xe5, 0xfc, 0xab, 0x53, 0x5d, 0x2e, 0xa7, 0xf0,
-	0x4e, 0xc7, 0xf0, 0x22, 0x72, 0xa0, 0xf0, 0x4e, 0xc7, 0xf0, 0x5e, 0xe9, 0x72, 0x79, 0x85, 0xf7,
-	0x6a, 0x0c, 0x2f, 0x22, 0x37, 0xaf, 0xf0, 0x74, 0x6a, 0xf9, 0x50, 0x25, 0xc8, 0x36, 0x75, 0x4e,
-	0x86, 0xbe, 0xdd, 0x33, 0xfb, 0x2c, 0x35, 0xa0, 0x4f, 0x60, 0x96, 0x2f, 0x92, 0xfc, 0x2b, 0xe6,
-	0x2b, 0x6b, 0x5b, 0x62, 0x09, 0xdd, 0x52, 0x4b, 0xe8, 0x56, 0x9d, 0x71, 0xb1, 0x10, 0x2a, 0xff,
-	0x41, 0x1a, 0xee, 0x26, 0xc1, 0x04, 0x6e, 0xf1, 0x7d, 0x28, 0x0e, 0xe9, 0xcf, 0x89, 0x7b, 0x44,
-	0x88, 0xf5, 0x25, 0xed, 0xfb, 0xe6, 0x85, 0xc8, 0xa0, 0x69, 0x3c, 0x46, 0x47, 0x15, 0x58, 0x71,
-	0x49, 0x8f, 0xd8, 0x97, 0xc4, 0x92, 0x50, 0x6d, 0x26, 0xc2, 0xbd, 0x26, 0x8d, 0x13, 0x79, 0x68,
-	0x0f, 0xd6, 0x06, 0xc4, 0x54, 0x5d, 0xbf, 0x34, 0x47, 0x4e, 0xef, 0xb5, 0xd0, 0x9a, 0xe6, 0x5a,
-	0x13, 0xb8, 0xcc, 0xae, 0xbe, 0xe9, 0x11, 0xb7, 0x66, 0x9b, 0xde, 0xc1, 0xc8, 0x75, 0x89, 0xe3,
-	0x73, 0x1f, 0x4b, 0xe3, 0x31, 0x3a, 0x5b, 0xa0, 0x7c, 0x32, 0xe0, 0xd1, 0x3f, 0x72, 0x09, 0xf7,
-	0xb3, 0x34, 0xd6, 0x49, 0xe5, 0xbf, 0x4e, 0xc1, 0x03, 0x31, 0x0d, 0x75, 0xff, 0x35, 0x71, 0x1d,
-	0xe2, 0xd7, 0x5c, 0xdb, 0xba, 0x20, 0x2c, 0x52, 0x1a, 0xb6, 0xe7, 0x53, 0xf7, 0x2d, 0xc2, 0x90,
-	0xb3, 0x6c, 0x97, 0xf4, 0x58, 0x06, 0x99, 0xb8, 0x88, 0x4c, 0x54, 0xdf, 0x3a, 0x54, 0xba, 0x38,
-	0x84, 0x29, 0xef, 0x43, 0x2e, 0xa0, 0xa3, 0x02, 0xe4, 0xf4, 0x24, 0xc4, 0xf2, 0x57, 0xbb, 0xd3,
-	0xc5, 0xf5, 0xea, 0xab, 0x62, 0x0a, 0x2d, 0x00, 0x1c, 0x9e, 0x7c, 0xd5, 0x92, 0xed, 0x74, 0xf9,
-	0x8f, 0x67, 0xe1, 0xa3, 0x1b, 0xba, 0x0c, 0xbe, 0xe1, 0x7d, 0x00, 0xcb, 0xa5, 0xc3, 0xfa, 0x25,
-	0x71, 0x7c, 0x4f, 0x26, 0x28, 0x8d, 0xc2, 0x92, 0x17, 0xed, 0xf9, 0xcc, 0xd5, 0xc4, 0x2e, 0x41,
-	0xb6, 0x58, 0xe0, 0x0f, 0xb5, 0xe0, 0x2e, 0x60, 0xd5, 0x64, 0xb3, 0x7f, 0xe6, 0x52, 0xd3, 0xd2,
-	0xdd, 0x54, 0x6c, 0x16, 0xc6, 0xe8, 0x4c, 0x76, 0x30, 0xea, 0xb3, 0x0f, 0x18, 0xca, 0xce, 0x0a,
-	0xd9, 0x38, 0x1d, 0x7d, 0x02, 0x4b, 0x3d, 0xb7, 0xc7, 0xe3, 0x9a, 0x58, 0x7a, 0xbc, 0x17, 0xf0,
-	0x38, 0x83, 0x21, 0x8f, 0x1c, 0x8b, 0xb8, 0x9e, 0xfd, 0x2d, 0xd1, 0x83, 0xbe, 0x80, 0xc7, 0xe8,
-	0xe8, 0x11, 0x2c, 0xd2, 0xcb, 0xa8, 0x68, 0x96, 0x8b, 0xc6, 0xc9, 0x4c, 0x52, 0x0e, 0x73, 0x6f,
-	0x47, 0x4e, 0x4b, 0x4e, 0x48, 0xc6, 0xc8, 0xcc, 0xdf, 0x15, 0x69, 0xb7, 0x4b, 0xb7, 0x2b, 0xcf,
-	0xa4, 0x38, 0x70, 0xf1, 0x44, 0x1e, 0xda, 0x81, 0x55, 0x49, 0xdf, 0xae, 0xec, 0x77, 0x69, 0x65,
-	0x77, 0xf7, 0x44, 0x28, 0xe5, 0xb9, 0x52, 0x32, 0x53, 0xd3, 0xaa, 0xec, 0xee, 0x75, 0xe9, 0xee,
-	0xf6, 0xb6, 0xec, 0x6a, 0x3e, 0xa2, 0x15, 0x65, 0xb2, 0xd8, 0x92, 0x8c, 0xdd, 0xed, 0x4a, 0x97,
-	0x6e, 0x3f, 0xa9, 0x3c, 0x95, 0x6a, 0x05, 0xae, 0x36, 0x81, 0x8b, 0xf6, 0xe1, 0x8e, 0x32, 0xe3,
-	0x49, 0x65, 0xa7, 0x4b, 0xb7, 0x77, 0xb7, 0xf7, 0xa5, 0xe2, 0x02, 0x57, 0x9c, 0xc4, 0x2e, 0xbf,
-	0x54, 0xd9, 0xa4, 0xda, 0xef, 0xd3, 0xde, 0x31, 0x19, 0x04, 0xae, 0x28, 0x76, 0x6f, 0xb7, 0x4b,
-	0x4e, 0xbf, 0x9c, 0x86, 0xd5, 0x13, 0x67, 0x74, 0x4c, 0x06, 0x9a, 0x57, 0x1f, 0x9a, 0xbe, 0xc9,
-	0xb6, 0xae, 0x17, 0x64, 0x20, 0x37, 0x9b, 0x05, 0x2c, 0x1a, 0xec, 0x7b, 0xf8, 0xae, 0xe9, 0x78,
-	0x03, 0xdb, 0xf7, 0x89, 0x75, 0x5c, 0x7f, 0x75, 0xe4, 0x9a, 0x03, 0xa2, 0xbc, 0x3a, 0x91, 0xc7,
-	0x3c, 0x4e, 0xe5, 0xa5, 0x50, 0x41, 0x78, 0xfb, 0x38, 0x03, 0xed, 0x85, 0x19, 0xae, 0x6d, 0xbe,
-	0xed, 0x53, 0xd3, 0x12, 0xeb, 0x22, 0xf7, 0xfd, 0x5a, 0xba, 0x94, 0xc2, 0x89, 0x7c, 0xf4, 0x39,
-	0xdc, 0xd1, 0x7a, 0x8f, 0xa8, 0xce, 0x06, 0xaa, 0x93, 0x44, 0xd0, 0x13, 0x58, 0x26, 0x4e, 0xcf,
-	0x7d, 0x3b, 0x64, 0x69, 0xe2, 0x05, 0x79, 0xcb, 0xc3, 0x40, 0xc5, 0x45, 0x12, 0x0b, 0x7d, 0x06,
-	0xeb, 0xca, 0x0e, 0x63, 0x28, 0xa0, 0x8c, 0x33, 0x86, 0x65, 0xec, 0xed, 0xf0, 0x10, 0xc9, 0xe0,
-	0xb5, 0x24, 0x43, 0xf7, 0x76, 0xd0, 0xff, 0x85, 0xbb, 0x9a, 0x1d, 0xe3, 0xda, 0x59, 0xae, 0xbd,
-	0x3e, 0xc1, 0xd6, 0xbd, 0x9d, 0x72, 0x13, 0x96, 0x95, 0x03, 0xe8, 0x9f, 0xac, 0x04, 0x73, 0x26,
-	0xa3, 0x05, 0x1f, 0x4d, 0x35, 0xe3, 0xfb, 0x8b, 0x42, 0xb0, 0xbf, 0x28, 0xff, 0x79, 0x0a, 0xd6,
-	0xc6, 0x9d, 0x89, 0xc3, 0x1d, 0xc1, 0x02, 0x95, 0x9c, 0xa6, 0xc5, 0x56, 0x2c, 0xe9, 0x52, 0xf7,
-	0xb5, 0x94, 0x9c, 0x60, 0x06, 0x8e, 0x69, 0xa1, 0x1a, 0xe4, 0x2f, 0x84, 0x7f, 0x71, 0x90, 0xf4,
-	0xc3, 0xe9, 0x47, 0xf9, 0xca, 0xc3, 0x28, 0xc8, 0xb8, 0x03, 0x62, 0x5d, 0xa9, 0xfc, 0x2d, 0xdc,
-	0x9b, 0xe0, 0xf5, 0x32, 0x01, 0x7f, 0x03, 0x6b, 0x34, 0x71, 0x18, 0xa5, 0x14, 0xef, 0xef, 0xbd,
-	0x04, 0xa3, 0xa3, 0x82, 0x78, 0x02, 0x40, 0xf9, 0xc7, 0x50, 0x14, 0x7d, 0x1f, 0x11, 0x35, 0xce,
-	0x5b, 0x46, 0xd9, 0x3f, 0x4e, 0x43, 0x29, 0x0e, 0xa1, 0x2d, 0xff, 0x0b, 0x3d, 0xea, 0xb2, 0x15,
-	0x8a, 0x58, 0xe1, 0xe6, 0x50, 0xf8, 0x6b, 0x8c, 0x83, 0x2a, 0x80, 0x02, 0xca, 0x01, 0xb5, 0xc8,
-	0x57, 0xd4, 0xb5, 0xe4, 0x27, 0xe5, 0xf2, 0x09, 0x5c, 0xb6, 0x34, 0x9d, 0x93, 0x5e, 0x87, 0xf4,
-	0xa8, 0x63, 0xa9, 0xb8, 0xd3, 0x28, 0xac, 0x7f, 0x9f, 0xfa, 0x66, 0x3f, 0xc4, 0x0b, 0x43, 0x2d,
-	0xc6, 0x41, 0xcf, 0x61, 0x6d, 0xe4, 0xc8, 0x3e, 0xcc, 0xb3, 0x3e, 0x09, 0x75, 0xc2, 0x18, 0x9b,
-	0x20, 0x81, 0x9e, 0xc2, 0xda, 0x39, 0xe9, 0x19, 0x81, 0x85, 0xa1, 0xbf, 0x67, 0xb8, 0xbf, 0x2f,
-	0x9f, 0x93, 0xde, 0x41, 0x64, 0xb8, 0x7b, 0x3b, 0xe8, 0x73, 0xd8, 0x8c, 0x2a, 0xf5, 0xa8, 0x45,
-	0x8c, 0x9f, 0x33, 0xc0, 0x30, 0xce, 0xee, 0xe8, 0x9a, 0x41, 0x87, 0x7b, 0x3b, 0xe8, 0x53, 0x58,
-	0xe6, 0x03, 0x88, 0x69, 0x89, 0xf8, 0x2a, 0x46, 0xc7, 0xb6, 0xb7, 0x83, 0x7e, 0x08, 0x9b, 0x11,
-	0xdb, 0x63, 0x6a, 0x39, 0xae, 0x56, 0x4a, 0x1e, 0xde, 0xde, 0x4e, 0xf9, 0x58, 0x95, 0xc6, 0xe1,
-	0xc6, 0x5f, 0xa4, 0xe4, 0x3b, 0x30, 0x67, 0x3b, 0xfe, 0xb9, 0x21, 0xcf, 0x23, 0xe6, 0x70, 0x86,
-	0x35, 0x9b, 0x16, 0x5a, 0x85, 0x0c, 0x75, 0x46, 0x8c, 0x9e, 0xe6, 0xf4, 0x59, 0xea, 0x8c, 0x9a,
-	0x56, 0xf9, 0x8f, 0x52, 0xf0, 0x01, 0x43, 0x1a, 0xf4, 0x6c, 0xb5, 0xf3, 0xe0, 0xc9, 0xb1, 0xce,
-	0x3c, 0xd8, 0x22, 0x56, 0x7b, 0xf0, 0xce, 0xe7, 0x02, 0xe8, 0xae, 0x56, 0xcc, 0x73, 0x3f, 0x69,
-	0x4c, 0x85, 0xe5, 0x3c, 0x4b, 0xf2, 0x2e, 0xf1, 0x88, 0xcf, 0xdd, 0x22, 0x8b, 0x45, 0xa3, 0xb6,
-	0x00, 0xf3, 0xb6, 0x67, 0x8c, 0x1c, 0xdb, 0xb0, 0x79, 0xd1, 0x7f, 0x00, 0x4b, 0xc7, 0xc4, 0xc7,
-	0x57, 0x7c, 0x5b, 0xf8, 0x5d, 0x07, 0xf5, 0x52, 0x6c, 0xa6, 0xfb, 0x71, 0x9c, 0x7b, 0x00, 0xac,
-	0x0c, 0x33, 0xfa, 0xe6, 0x19, 0xe9, 0xcb, 0x11, 0xe4, 0x18, 0xe5, 0x25, 0x23, 0x28, 0x34, 0xcf,
-	0xe1, 0x68, 0x39, 0x8e, 0xd6, 0x71, 0xca, 0x3f, 0xe1, 0x25, 0x62, 0x9b, 0x3a, 0xac, 0xcc, 0x0c,
-	0x26, 0xfa, 0x3e, 0x84, 0x9a, 0x02, 0xaa, 0x31, 0xa5, 0x83, 0x95, 0x44, 0x09, 0xd9, 0x94, 0xa6,
-	0x35, 0xa6, 0xb0, 0x6c, 0xd7, 0x40, 0x14, 0x91, 0x3c, 0xd7, 0x50, 0x7e, 0x94, 0x12, 0x62, 0x87,
-	0xd5, 0xdb, 0x90, 0x3a, 0x2c, 0x23, 0xa9, 0xec, 0x2a, 0x9b, 0xe8, 0x47, 0xb0, 0xc0, 0x94, 0x99,
-	0xb8, 0xed, 0xf9, 0x76, 0xcf, 0x93, 0xe7, 0x5d, 0x6b, 0x5b, 0xf2, 0xc0, 0xac, 0x1d, 0xe1, 0xe2,
-	0x98, 0xb4, 0x1c, 0x4c, 0xab, 0xd5, 0xfc, 0x6f, 0x1b, 0x4c, 0x88, 0x1d, 0x0e, 0xc6, 0x71, 0x6c,
-	0x7d, 0x30, 0xb2, 0xf9, 0x6b, 0x0f, 0xa6, 0x09, 0xeb, 0x22, 0x0a, 0x78, 0x87, 0x47, 0x2e, 0x1d,
-	0xb0, 0x6f, 0x2e, 0xc7, 0xb4, 0x06, 0xd2, 0x4b, 0x62, 0x3e, 0xb3, 0x02, 0xc2, 0x4b, 0xa2, 0x2e,
-	0xf3, 0x67, 0x29, 0x7d, 0x73, 0xc2, 0x86, 0x23, 0xe1, 0x26, 0x6c, 0x4e, 0x22, 0xd5, 0x70, 0x3a,
-	0x5e, 0x0d, 0x6b, 0x6b, 0xe0, 0xf4, 0x35, 0x35, 0xf6, 0x4c, 0xbc, 0xc6, 0xd6, 0xaa, 0xf6, 0xd9,
-	0x48, 0xd5, 0x5e, 0x7e, 0xc1, 0xcd, 0xd3, 0x96, 0x3a, 0x65, 0xde, 0x3b, 0x2f, 0xc4, 0xa1, 0x11,
-	0xe5, 0xbf, 0x48, 0xc1, 0x03, 0x6d, 0x61, 0x8a, 0xce, 0x9e, 0xfc, 0x6a, 0x35, 0xc8, 0x9b, 0x63,
-	0xcb, 0xf1, 0xc3, 0x84, 0x95, 0x2d, 0x62, 0x0e, 0xd6, 0x95, 0x6e, 0xb3, 0x1a, 0x47, 0x30, 0xf4,
-	0xd5, 0xf8, 0x52, 0x1c, 0x73, 0xc4, 0xbf, 0xb1, 0xb4, 0xf2, 0x6b, 0x58, 0x32, 0xf5, 0x51, 0x48,
-	0x5b, 0x59, 0x3f, 0xdf, 0x4f, 0x5e, 0x85, 0x93, 0x60, 0xf0, 0x38, 0x48, 0xf9, 0x4f, 0x0a, 0xb0,
-	0x16, 0x4f, 0xb1, 0xb2, 0xd3, 0xf5, 0x58, 0x3a, 0x62, 0xe1, 0x20, 0x9d, 0xeb, 0x4e, 0x34, 0x21,
-	0x35, 0x52, 0xd2, 0xbf, 0xd0, 0x47, 0xcc, 0xd5, 0x3d, 0xdb, 0xb7, 0x2f, 0x89, 0x61, 0xb9, 0xf6,
-	0xb9, 0x48, 0x83, 0x99, 0x46, 0x1a, 0x17, 0x14, 0xfd, 0x90, 0x91, 0x99, 0xa0, 0x43, 0x2e, 0x4c,
-	0x4d, 0x70, 0x86, 0x0b, 0x4e, 0xe3, 0x82, 0xa2, 0x0b, 0xc1, 0xe7, 0x50, 0xb2, 0x48, 0xdf, 0x1e,
-	0xd8, 0x3e, 0x71, 0x8d, 0x81, 0xed, 0x79, 0x86, 0x45, 0x7c, 0x59, 0xcf, 0xce, 0x72, 0x95, 0x19,
-	0xbc, 0x16, 0x48, 0xbc, 0xb2, 0x3d, 0xef, 0x50, 0xf1, 0xd1, 0x03, 0x80, 0x33, 0x7b, 0x68, 0x90,
-	0x70, 0xe7, 0x99, 0x69, 0xcc, 0xe2, 0xdc, 0x99, 0x3d, 0x94, 0x3b, 0xce, 0x7b, 0xc0, 0x1a, 0x2c,
-	0x2f, 0xcb, 0x22, 0x2c, 0xd3, 0xc8, 0xe0, 0xec, 0x99, 0x3d, 0x3c, 0x65, 0x14, 0x56, 0xc0, 0x44,
-	0x97, 0x4a, 0xef, 0xed, 0xe0, 0x8c, 0xf6, 0x45, 0x11, 0x96, 0x69, 0xcc, 0x45, 0x17, 0xd8, 0x8e,
-	0x60, 0xb2, 0x42, 0x44, 0x68, 0x59, 0x44, 0x2c, 0x74, 0x81, 0xbe, 0x58, 0xef, 0x1a, 0x59, 0xbc,
-	0xca, 0xf5, 0x24, 0x3f, 0x00, 0x40, 0x3f, 0x56, 0x4b, 0xb3, 0xd2, 0x8c, 0x2c, 0x8c, 0xbc, 0x42,
-	0xcb, 0x34, 0x72, 0x78, 0x5d, 0xd7, 0x3e, 0xd5, 0x45, 0xd0, 0x07, 0x50, 0x88, 0x20, 0xf0, 0x02,
-	0x2d, 0xd3, 0x00, 0x3c, 0xaf, 0xeb, 0xb0, 0xbd, 0x79, 0x74, 0x60, 0x62, 0x06, 0xe6, 0xb9, 0x70,
-	0x1e, 0x2f, 0xe9, 0xc3, 0x12, 0x53, 0xf1, 0x08, 0x16, 0xaf, 0x2e, 0xc8, 0xc0, 0x78, 0x43, 0xde,
-	0xaa, 0xf9, 0x2c, 0x70, 0xe9, 0x79, 0x5c, 0x60, 0x8c, 0x70, 0x17, 0x7f, 0x0f, 0x72, 0x5c, 0xb2,
-	0x4f, 0x3d, 0x51, 0x79, 0x65, 0x1a, 0x05, 0x9c, 0x65, 0xa4, 0x97, 0xd4, 0xe3, 0x40, 0xee, 0x95,
-	0x31, 0xec, 0x53, 0x73, 0xe0, 0x09, 0xa4, 0xd2, 0x22, 0x17, 0x5a, 0xc0, 0x05, 0xf7, 0xaa, 0xcd,
-	0xe9, 0xe2, 0x4c, 0xff, 0x53, 0x40, 0xa1, 0xa4, 0x43, 0x1d, 0xc3, 0xb6, 0xfa, 0xa4, 0x54, 0xe4,
-	0xc2, 0x8b, 0x78, 0x51, 0x09, 0xb7, 0xa8, 0xd3, 0xb4, 0xfa, 0xdc, 0x5d, 0xdd, 0x2b, 0x83, 0x0e,
-	0x7a, 0x76, 0x69, 0x89, 0xcb, 0x14, 0x71, 0xc6, 0xbd, 0x62, 0x2b, 0x3e, 0x63, 0xf9, 0x92, 0x85,
-	0x38, 0x6b, 0x09, 0x67, 0x7c, 0xc1, 0x7a, 0x0e, 0xeb, 0x52, 0xcb, 0x90, 0xe5, 0xa1, 0xd1, 0x73,
-	0x7b, 0xd2, 0xb0, 0x65, 0x2e, 0x8c, 0xf0, 0xaa, 0xc0, 0x91, 0xe9, 0xeb, 0x40, 0x96, 0xf4, 0x68,
-	0x13, 0xb2, 0xee, 0x95, 0xd8, 0x73, 0x95, 0x56, 0xb8, 0xe8, 0x72, 0x98, 0x01, 0x1f, 0x00, 0x30,
-	0xeb, 0x65, 0x0a, 0x5c, 0xe5, 0xec, 0x15, 0x3d, 0x79, 0x6e, 0x42, 0xd6, 0x57, 0xda, 0x6b, 0x9c,
-	0xbd, 0x1a, 0x9e, 0x5e, 0x3e, 0x00, 0xf0, 0x43, 0xed, 0x3b, 0x9c, 0xbd, 0xa6, 0xa7, 0xd0, 0xef,
-	0xc1, 0xfc, 0x19, 0x71, 0x0d, 0x97, 0xc8, 0x9b, 0x92, 0x12, 0x17, 0xb9, 0x83, 0xf3, 0x67, 0x6c,
-	0x1f, 0x20, 0xef, 0x4a, 0xde, 0x83, 0x7c, 0xbf, 0x67, 0x5d, 0xa8, 0x0f, 0xb6, 0xce, 0x65, 0x4a,
-	0x18, 0x18, 0x51, 0x7e, 0x2d, 0x66, 0xa6, 0x65, 0x2b, 0x89, 0x0d, 0x2e, 0xb1, 0x8e, 0x73, 0xae,
-	0x65, 0x4b, 0x81, 0xfb, 0x90, 0xf3, 0xed, 0x01, 0xf1, 0x7c, 0x73, 0x30, 0x2c, 0x6d, 0xf2, 0x68,
-	0xdf, 0xc0, 0x21, 0x89, 0x01, 0xbc, 0x26, 0x3d, 0x05, 0x70, 0x97, 0x03, 0x6c, 0xe2, 0xdc, 0x6b,
-	0x22, 0x26, 0xc9, 0xab, 0xcd, 0x03, 0xd8, 0x9e, 0x21, 0x33, 0x49, 0x2d, 0x0f, 0x39, 0xdb, 0x33,
-	0x44, 0xf2, 0xa8, 0x2d, 0xc3, 0x92, 0xed, 0x19, 0xd1, 0x84, 0x21, 0x89, 0xd1, 0xe4, 0x50, 0xbb,
-	0x07, 0x9b, 0x36, 0x8b, 0xfc, 0xe4, 0x44, 0x50, 0x5b, 0x84, 0x82, 0xed, 0x19, 0x61, 0xac, 0xcb,
-	0xfd, 0x56, 0x10, 0xdb, 0xb5, 0x0d, 0x28, 0xd9, 0x9e, 0x91, 0x18, 0xcc, 0xb5, 0xbb, 0xb0, 0x11,
-	0xf0, 0xc6, 0x42, 0xb6, 0xf6, 0x10, 0xee, 0x8f, 0x71, 0x23, 0x61, 0x59, 0x43, 0x50, 0x8c, 0x4b,
-	0xd4, 0x4a, 0xb0, 0x36, 0xd6, 0x9f, 0xb0, 0x64, 0x05, 0x90, 0xed, 0x19, 0xb1, 0x58, 0x92, 0xf6,
-	0x06, 0x71, 0x23, 0xa5, 0x62, 0x81, 0x52, 0xbb, 0x03, 0xab, 0x11, 0xaa, 0x0a, 0x0a, 0x39, 0xc7,
-	0xd2, 0x91, 0x65, 0x4b, 0x7a, 0x7c, 0xed, 0x3e, 0xdc, 0x0d, 0x79, 0xe3, 0x4e, 0x5e, 0x2b, 0x40,
-	0x5e, 0xf0, 0xb9, 0x2b, 0xca, 0xa9, 0x0c, 0x5d, 0x57, 0xf2, 0xfd, 0x28, 0x3f, 0x74, 0xce, 0xda,
-	0x12, 0x2c, 0xb2, 0xa9, 0xd6, 0x9c, 0xb1, 0x56, 0x84, 0x05, 0xdb, 0x33, 0x34, 0xd7, 0x53, 0xa8,
-	0x81, 0xa7, 0xc9, 0x01, 0x07, 0x6e, 0x24, 0x05, 0x42, 0x4f, 0x2a, 0xff, 0xe1, 0x2c, 0x6c, 0x5e,
-	0xb3, 0x5d, 0x47, 0x0f, 0x20, 0x6f, 0xb9, 0x74, 0x68, 0x90, 0xf0, 0x7c, 0x30, 0x73, 0xcd, 0xf9,
-	0x60, 0x26, 0x38, 0x1f, 0x5c, 0x83, 0xcc, 0x79, 0x78, 0x60, 0x92, 0xc1, 0xb2, 0x85, 0x3e, 0xd6,
-	0x4e, 0x07, 0x0d, 0x29, 0xc1, 0xd7, 0x24, 0xbc, 0x18, 0xd0, 0x8f, 0x02, 0xd1, 0xe0, 0x10, 0x50,
-	0x89, 0xce, 0x0a, 0xd1, 0x80, 0x1e, 0x9c, 0xd4, 0xa0, 0x60, 0xaa, 0x89, 0xa5, 0x84, 0x45, 0x79,
-	0x56, 0x0c, 0x0f, 0x07, 0x43, 0xe0, 0xe0, 0x0c, 0x50, 0xc9, 0x8a, 0x82, 0x6c, 0x31, 0xa0, 0x4b,
-	0xd1, 0x8f, 0xc2, 0xa3, 0x41, 0x25, 0x29, 0x8a, 0xb0, 0x05, 0x45, 0x96, 0x82, 0x8f, 0xa0, 0x28,
-	0xf8, 0xc6, 0xde, 0x8e, 0xa1, 0x1d, 0x0d, 0x66, 0xf0, 0x82, 0xa0, 0xef, 0xed, 0x04, 0xe7, 0x75,
-	0x77, 0x94, 0xe4, 0xae, 0xe1, 0x53, 0x63, 0xbb, 0xf2, 0xcc, 0xd0, 0x0e, 0x07, 0x59, 0x3d, 0x29,
-	0x14, 0xc4, 0xd9, 0xe0, 0x89, 0x3a, 0xaf, 0x2b, 0x49, 0xad, 0xed, 0xca, 0x3e, 0x53, 0xab, 0xec,
-	0xee, 0x2a, 0x35, 0xbe, 0xfa, 0xe0, 0x15, 0xc1, 0x8f, 0x9d, 0x0e, 0x86, 0x7a, 0x95, 0xdd, 0x3d,
-	0xa6, 0xb7, 0xbb, 0xbd, 0x6d, 0x68, 0x07, 0x84, 0x81, 0x9e, 0x3a, 0x1f, 0x3c, 0x51, 0xe7, 0x7c,
-	0xeb, 0x52, 0x6f, 0x77, 0xbb, 0xc2, 0xcd, 0x7c, 0x52, 0x79, 0x6a, 0x68, 0x47, 0x84, 0x19, 0xbc,
-	0x2a, 0x04, 0x82, 0x13, 0x42, 0xa9, 0xf9, 0x1c, 0x36, 0x94, 0xa5, 0x4f, 0x2a, 0x3b, 0x5c, 0x75,
-	0x77, 0x7b, 0xdf, 0xd0, 0x0e, 0x09, 0x33, 0x78, 0x4d, 0xda, 0x1a, 0x9c, 0x11, 0x0a, 0xdd, 0xf2,
-	0xbf, 0xa4, 0xe1, 0xc3, 0x9b, 0x0a, 0xc8, 0x60, 0x4b, 0x99, 0x1d, 0x0d, 0x3d, 0xdf, 0x25, 0xe6,
-	0x40, 0xee, 0x27, 0xf5, 0xdb, 0xb3, 0xeb, 0x10, 0x02, 0x3d, 0x74, 0x04, 0x60, 0xd1, 0x9f, 0x3b,
-	0x12, 0x25, 0x7d, 0x2b, 0x14, 0x4d, 0x13, 0xfd, 0x22, 0x05, 0x1f, 0xf2, 0xb8, 0x27, 0x52, 0x58,
-	0xf8, 0x8a, 0x41, 0xa4, 0xb8, 0x31, 0x1c, 0x18, 0xe7, 0xd4, 0x1d, 0x98, 0xbe, 0xbc, 0xbd, 0xdd,
-	0x8f, 0x5d, 0x0e, 0xdc, 0x3c, 0xde, 0xad, 0x23, 0xae, 0x8f, 0xdf, 0xa3, 0x93, 0x65, 0x85, 0x48,
-	0xf9, 0x09, 0x64, 0xc4, 0x5f, 0xfc, 0x9e, 0xb5, 0xd1, 0xc4, 0xdd, 0x6f, 0x8c, 0xee, 0x57, 0x27,
-	0x46, 0xad, 0xd9, 0x15, 0x37, 0xbb, 0x9d, 0xe6, 0xd7, 0xdd, 0x6f, 0x8c, 0xa3, 0x93, 0x53, 0xcc,
-	0x69, 0xa9, 0xb2, 0x0f, 0x73, 0xb2, 0xb8, 0xd5, 0xca, 0xd6, 0x94, 0x56, 0xb6, 0xb2, 0x70, 0xf6,
-	0x7c, 0xd3, 0x1f, 0x79, 0xb2, 0x9a, 0x95, 0x2d, 0x96, 0x1f, 0xce, 0x4d, 0xbb, 0x6f, 0xb8, 0xc4,
-	0xf4, 0xa8, 0xc3, 0x47, 0x97, 0xc3, 0xc0, 0x48, 0x98, 0x53, 0xd0, 0x3a, 0x5f, 0xbd, 0xf9, 0x75,
-	0x10, 0x8f, 0xf3, 0x14, 0x5b, 0xbb, 0x79, 0x57, 0x65, 0x22, 0x8e, 0x1d, 0xb4, 0xc2, 0x5a, 0x7e,
-	0xda, 0x1b, 0x2a, 0xeb, 0x4f, 0x35, 0x48, 0x51, 0x05, 0x20, 0x6d, 0x3a, 0x15, 0x58, 0xd0, 0xcd,
-	0x9f, 0x8a, 0x5b, 0xd9, 0x78, 0x27, 0xb7, 0x3c, 0x06, 0xd0, 0x66, 0x60, 0xfa, 0xba, 0x19, 0x98,
-	0xb9, 0x76, 0x06, 0x66, 0xa3, 0x33, 0xf0, 0xff, 0x54, 0x39, 0xc2, 0x1c, 0xa0, 0x7b, 0x85, 0xaf,
-	0x22, 0x75, 0xf4, 0xed, 0x8e, 0xea, 0xfe, 0x79, 0x1a, 0x36, 0x13, 0xc1, 0xe4, 0x78, 0x3f, 0x86,
-	0xa5, 0x33, 0xd3, 0x23, 0x6c, 0x4d, 0x31, 0x5d, 0x95, 0xcb, 0x44, 0x91, 0xb7, 0xc0, 0x18, 0xdd,
-	0xab, 0xaa, 0x1b, 0xe4, 0x47, 0x21, 0xea, 0x5e, 0x19, 0xe6, 0x1b, 0x25, 0x9a, 0x0e, 0x45, 0xf1,
-	0x55, 0xf5, 0x8d, 0x14, 0xdd, 0x82, 0x15, 0x85, 0xea, 0x50, 0x0d, 0x78, 0x5a, 0x5e, 0xf8, 0x70,
-	0xe0, 0x16, 0x0d, 0xa0, 0x95, 0xbc, 0x2b, 0xe4, 0xdf, 0xe8, 0x4b, 0x80, 0x94, 0xc7, 0x4c, 0xfe,
-	0x4d, 0x90, 0x7f, 0x8b, 0xe4, 0xca, 0x8f, 0x1a, 0x2d, 0x2e, 0x88, 0x0a, 0xe4, 0xca, 0xd7, 0x6c,
-	0x96, 0x82, 0x11, 0x93, 0x33, 0x81, 0xa0, 0x66, 0xf1, 0x27, 0xb0, 0x2c, 0x11, 0x23, 0x06, 0x8b,
-	0xbb, 0xa1, 0x45, 0x0e, 0xaa, 0xd9, 0x2b, 0xa5, 0xe3, 0xe6, 0x66, 0x03, 0xe9, 0x88, 0xb5, 0xbb,
-	0x70, 0x47, 0xee, 0x07, 0x8c, 0x9e, 0xa8, 0xf3, 0x0c, 0x97, 0xf8, 0xae, 0x4d, 0xd4, 0x35, 0xd1,
-	0x8a, 0xd8, 0x0f, 0xcb, 0x22, 0x10, 0x0b, 0x1e, 0x7a, 0x06, 0xa5, 0xb8, 0x1a, 0x5b, 0xb2, 0xe9,
-	0x28, 0xb8, 0x2f, 0x5a, 0x8d, 0xe8, 0x75, 0x25, 0xb3, 0xfc, 0x4a, 0x1d, 0x2e, 0x33, 0x66, 0xb5,
-	0xc7, 0x76, 0x72, 0xfc, 0x85, 0xd2, 0x77, 0x74, 0xa1, 0xdf, 0x87, 0x1c, 0x57, 0xe7, 0x87, 0xe8,
-	0xeb, 0x90, 0xed, 0xf5, 0x4d, 0xcf, 0x53, 0x01, 0x52, 0xc0, 0x73, 0xbc, 0xdd, 0xb4, 0x98, 0xcb,
-	0xdb, 0x8e, 0x78, 0x8b, 0xa3, 0xc2, 0xa4, 0x80, 0x41, 0x91, 0x9a, 0x16, 0x42, 0x30, 0xe3, 0x98,
-	0x03, 0x22, 0x23, 0x85, 0xff, 0x8d, 0x1e, 0x42, 0xde, 0x22, 0x5e, 0xcf, 0xb5, 0xf9, 0x75, 0x84,
-	0x8c, 0x13, 0x9d, 0x54, 0xfe, 0xff, 0x70, 0x7f, 0xd2, 0x68, 0xa4, 0x0f, 0x7f, 0x06, 0x05, 0x93,
-	0xd3, 0x0d, 0xfe, 0xf2, 0xca, 0x93, 0xc5, 0xf9, 0x8a, 0x16, 0xfe, 0xc1, 0x00, 0xf0, 0xbc, 0xa9,
-	0x41, 0x94, 0x7f, 0x95, 0x82, 0xf7, 0x18, 0xfa, 0xf9, 0x79, 0x9f, 0x9a, 0x16, 0xb1, 0xaa, 0xc3,
-	0xa1, 0xa7, 0x1d, 0x06, 0xc9, 0xf9, 0x3a, 0x85, 0xac, 0xc7, 0x4b, 0x7a, 0xea, 0xca, 0x6b, 0xdc,
-	0xcf, 0x62, 0x99, 0xfa, 0x5a, 0xfd, 0x2d, 0x9d, 0x8d, 0x03, 0xa8, 0xf2, 0x11, 0xcc, 0xeb, 0x9c,
-	0xf8, 0x6d, 0x6e, 0x1e, 0xe6, 0xda, 0xed, 0x36, 0x25, 0xcd, 0xaa, 0x7c, 0x52, 0xd2, 0x38, 0x68,
-	0x5f, 0xee, 0xe0, 0x6a, 0x31, 0x1d, 0xb4, 0xf6, 0x70, 0xb5, 0x38, 0x5d, 0xfe, 0xc5, 0x1a, 0x94,
-	0xaf, 0x33, 0x42, 0x4e, 0x53, 0x0f, 0x0a, 0xd6, 0xeb, 0xde, 0xf0, 0x72, 0x07, 0x9b, 0x3c, 0x07,
-	0xc8, 0xaf, 0xff, 0x83, 0x77, 0x1c, 0x8a, 0x5c, 0x70, 0x94, 0x15, 0x1c, 0xa2, 0x31, 0x85, 0xa3,
-	0x98, 0x41, 0x27, 0x7b, 0xaa, 0x93, 0xf4, 0x77, 0xee, 0x64, 0x2f, 0xde, 0x89, 0xc2, 0x44, 0x3f,
-	0x83, 0xf9, 0xe1, 0x70, 0x48, 0x49, 0x53, 0xf6, 0x31, 0xcd, 0xfb, 0x78, 0x7e, 0xbb, 0x3e, 0xe4,
-	0xdc, 0xaa, 0x2e, 0x22, 0x88, 0x1b, 0xff, 0x31, 0x0b, 0x85, 0xc8, 0x48, 0xd9, 0xfe, 0xc5, 0x76,
-	0x8c, 0x33, 0xd3, 0x0a, 0x76, 0xf1, 0xe7, 0x2e, 0x1d, 0x18, 0xbd, 0xbe, 0x4d, 0x1c, 0x75, 0xe8,
-	0xb8, 0x66, 0x3b, 0x35, 0x53, 0xdd, 0x35, 0x1f, 0xb9, 0x74, 0x70, 0xc0, 0xb9, 0x93, 0x74, 0x3d,
-	0xe2, 0x5e, 0xca, 0xb7, 0x0e, 0x09, 0xba, 0x1d, 0xce, 0x45, 0x4f, 0x61, 0xcd, 0x76, 0x12, 0xfb,
-	0x14, 0xc9, 0x74, 0xd9, 0x76, 0xc6, 0x3b, 0x4c, 0x50, 0x92, 0x9d, 0xcd, 0x24, 0x28, 0xc9, 0x9e,
-	0xb6, 0x61, 0x95, 0x8e, 0xfc, 0x40, 0xcb, 0xa7, 0x4a, 0x47, 0x64, 0x56, 0x44, 0x47, 0xea, 0xd2,
-	0xbd, 0x4b, 0x27, 0xaa, 0x48, 0xdb, 0x32, 0xe3, 0x2a, 0xd2, 0xb4, 0x57, 0xf0, 0x3e, 0xe5, 0x81,
-	0x6d, 0xec, 0x57, 0x0c, 0xdb, 0xf1, 0x88, 0x2b, 0xee, 0x0c, 0xe3, 0x9d, 0x8a, 0xcc, 0xfb, 0x40,
-	0xc8, 0xee, 0x57, 0x9a, 0x52, 0x32, 0x6e, 0xc1, 0x0b, 0xf8, 0x5e, 0x08, 0xe7, 0x92, 0x01, 0xbd,
-	0x8c, 0xa2, 0x49, 0x7b, 0x44, 0x66, 0xbe, 0xaf, 0xd0, 0xb0, 0x10, 0x8c, 0xdb, 0x56, 0x87, 0x87,
-	0x21, 0x98, 0x43, 0xfd, 0xd0, 0xbe, 0xd0, 0x2e, 0x91, 0xb1, 0x37, 0x15, 0x52, 0x8b, 0xfa, 0xca,
-	0xb4, 0xc0, 0xa6, 0xdf, 0x83, 0xa2, 0x69, 0x59, 0xb6, 0x78, 0x37, 0x66, 0xf0, 0x70, 0x2f, 0x01,
-	0x4f, 0x49, 0xed, 0x5f, 0x23, 0xd6, 0xb6, 0xaa, 0x01, 0x26, 0x6f, 0xd7, 0x1d, 0xdf, 0x7d, 0x8b,
-	0x17, 0xcd, 0x28, 0x75, 0xa3, 0x06, 0x2b, 0x49, 0x82, 0xa8, 0x08, 0xd3, 0x6f, 0xc8, 0x5b, 0xb9,
-	0x6d, 0x62, 0x7f, 0xa2, 0x15, 0xfd, 0x05, 0x69, 0x4e, 0x3e, 0x13, 0x7d, 0x9e, 0xde, 0x4f, 0x6d,
-	0xfc, 0x6b, 0x46, 0x7a, 0xff, 0xde, 0xff, 0xb4, 0xf7, 0x87, 0xde, 0xb2, 0xfd, 0xec, 0x3a, 0x6f,
-	0x99, 0xd6, 0xbd, 0x65, 0xfb, 0xd9, 0xcd, 0xde, 0xb2, 0xfd, 0xec, 0x1a, 0x6f, 0x99, 0xd1, 0xbd,
-	0x65, 0xfb, 0xd9, 0x04, 0x6f, 0xd1, 0x6c, 0xdb, 0xbf, 0xce, 0xb6, 0xd9, 0x88, 0x6d, 0xfb, 0xef,
-	0x60, 0xdb, 0xfe, 0x35, 0xb6, 0x65, 0x22, 0xb6, 0xed, 0xdf, 0x68, 0xdb, 0xd3, 0x67, 0xef, 0x1c,
-	0x65, 0x4f, 0xdf, 0x61, 0xde, 0x9e, 0x3e, 0x7b, 0xd7, 0x28, 0x7b, 0x3a, 0x69, 0xde, 0xbe, 0x82,
-	0x8f, 0xe9, 0xc8, 0xbf, 0xa0, 0xb6, 0x73, 0x61, 0x0c, 0xfc, 0x91, 0x41, 0xae, 0x7a, 0x84, 0x58,
-	0x24, 0xd9, 0xb5, 0x44, 0xb8, 0xbd, 0xaf, 0x14, 0x5e, 0xf9, 0xa3, 0xba, 0x14, 0x1f, 0x77, 0xb4,
-	0xdf, 0x6c, 0xdc, 0xed, 0xfd, 0xf6, 0xe3, 0xee, 0x6f, 0x33, 0x30, 0xaf, 0x2f, 0x4b, 0xe8, 0x47,
-	0x70, 0xd7, 0x76, 0xc4, 0xf9, 0xc5, 0x35, 0x81, 0x57, 0xb2, 0x1d, 0xfd, 0x5d, 0xa3, 0x36, 0x23,
-	0x13, 0xf5, 0x23, 0xc1, 0x97, 0xa0, 0xff, 0xbf, 0x74, 0xf1, 0xf9, 0x19, 0x6c, 0x5d, 0x12, 0xc7,
-	0xa2, 0xae, 0xe1, 0x89, 0x87, 0xf5, 0x3d, 0xc3, 0x37, 0x2f, 0x6e, 0x0e, 0x90, 0x47, 0x42, 0x4b,
-	0xbe, 0xc6, 0xef, 0x75, 0xcd, 0x8b, 0x49, 0x91, 0xf2, 0x53, 0xf8, 0x34, 0xa9, 0x87, 0x9b, 0x62,
-	0xe6, 0xa3, 0xb1, 0x0e, 0x7e, 0xdb, 0xc1, 0xf3, 0xed, 0xc4, 0xe0, 0x39, 0xf9, 0xee, 0xfb, 0xaa,
-	0xdf, 0x5e, 0xec, 0xd4, 0xe6, 0x60, 0x96, 0x1b, 0x5d, 0xfe, 0xb7, 0x1c, 0x2c, 0x1e, 0x13, 0x9f,
-	0xff, 0xca, 0x41, 0x6d, 0xe0, 0x7f, 0x10, 0xfb, 0xd9, 0x40, 0xbe, 0x72, 0x2f, 0x3a, 0xa8, 0xd8,
-	0x0f, 0x14, 0x1a, 0x53, 0xe1, 0xef, 0x0a, 0xd0, 0x0f, 0x60, 0x6e, 0x24, 0x1e, 0xd1, 0xcb, 0xcd,
-	0xec, 0x83, 0xc9, 0x8f, 0xec, 0x95, 0xb6, 0xd2, 0x40, 0x55, 0xc8, 0x53, 0xf1, 0x7c, 0x9a, 0x03,
-	0x4c, 0x27, 0x75, 0x1e, 0x7b, 0x5f, 0xdd, 0x98, 0xc2, 0xba, 0x0e, 0x6a, 0xf2, 0x77, 0x4b, 0xda,
-	0x4b, 0x5b, 0x1e, 0x47, 0x49, 0x66, 0x44, 0x1f, 0xe4, 0x36, 0xa6, 0x70, 0x4c, 0x11, 0x61, 0x28,
-	0x10, 0xff, 0x75, 0xf8, 0xec, 0x93, 0x47, 0x57, 0xf4, 0x1a, 0xf3, 0x86, 0x17, 0xa2, 0x6c, 0x33,
-	0x1e, 0x81, 0x40, 0x3f, 0xe4, 0xef, 0x71, 0x24, 0x9b, 0xc7, 0x5e, 0xbe, 0xb2, 0x39, 0x06, 0x18,
-	0x3e, 0x14, 0x6a, 0x4c, 0x61, 0x4d, 0x01, 0xd5, 0x00, 0x28, 0xb7, 0x9c, 0x8f, 0x6c, 0x6e, 0xec,
-	0x0a, 0x38, 0xf1, 0x09, 0x0a, 0xc3, 0x08, 0xb5, 0xd0, 0x4b, 0x98, 0xa3, 0xce, 0x88, 0x03, 0x64,
-	0x39, 0xc0, 0x93, 0x5b, 0x1c, 0xa4, 0x05, 0x9f, 0x4c, 0x42, 0xa0, 0x7d, 0x50, 0x27, 0x31, 0x3c,
-	0x80, 0xf2, 0x95, 0xbb, 0x51, 0xb4, 0xe8, 0x83, 0x0f, 0xa6, 0x29, 0xc5, 0xd1, 0x0b, 0x98, 0xa7,
-	0xa2, 0x4e, 0xed, 0xc8, 0xf8, 0x61, 0xea, 0x1f, 0x8c, 0x8d, 0x26, 0xe9, 0x5c, 0x87, 0x95, 0x20,
-	0xba, 0x32, 0xaa, 0x02, 0xd0, 0xe0, 0x10, 0x8c, 0x1f, 0xe6, 0x8e, 0x7f, 0xf2, 0xfe, 0xb8, 0x31,
-	0x9a, 0x12, 0xea, 0xc2, 0x22, 0x75, 0x46, 0x7a, 0xcd, 0xcc, 0x0f, 0x77, 0xf3, 0x95, 0x47, 0x89,
-	0x26, 0x25, 0x1c, 0x15, 0x34, 0xa6, 0x70, 0x1c, 0x02, 0xfd, 0x14, 0x10, 0x8d, 0xe7, 0x00, 0x71,
-	0xf8, 0x9b, 0xaf, 0x7c, 0x72, 0x9b, 0xba, 0xb8, 0x31, 0x85, 0x13, 0x90, 0xd0, 0x29, 0x14, 0x69,
-	0xec, 0x2e, 0x9d, 0x9f, 0x0f, 0xe7, 0x2b, 0x1f, 0x8d, 0x99, 0x9d, 0xfc, 0x68, 0xb4, 0x31, 0x85,
-	0xc7, 0x20, 0x50, 0x9b, 0x4f, 0x86, 0x7e, 0x35, 0xcf, 0xef, 0x3e, 0xf3, 0x95, 0xf7, 0xc7, 0x50,
-	0x13, 0x9e, 0x7a, 0xc8, 0x89, 0xd0, 0x39, 0x41, 0x6c, 0x8b, 0x87, 0x35, 0xfc, 0x72, 0x74, 0x2c,
-	0xb6, 0x63, 0x4f, 0x7a, 0x82, 0xd8, 0x76, 0xd4, 0x47, 0x66, 0xcd, 0x96, 0x23, 0x1d, 0x66, 0x29,
-	0x09, 0x22, 0xf6, 0x90, 0x46, 0x42, 0x28, 0x9d, 0x5a, 0x0e, 0xe6, 0x5c, 0xc1, 0x29, 0xff, 0x53,
-	0x81, 0x3f, 0xed, 0x93, 0xa9, 0x4f, 0x96, 0xfd, 0xcf, 0x83, 0x13, 0x4a, 0x71, 0x74, 0x51, 0x8e,
-	0xa2, 0x47, 0x84, 0xb7, 0x3a, 0x5c, 0x32, 0x38, 0xc5, 0xac, 0x43, 0x8e, 0xb8, 0xae, 0x38, 0xb1,
-	0x94, 0x3f, 0x46, 0xf9, 0xe8, 0x3a, 0x75, 0xbe, 0x8d, 0x10, 0xe2, 0x38, 0xd4, 0x44, 0x9f, 0x6b,
-	0xe9, 0x77, 0x7a, 0xec, 0xcd, 0x65, 0xc2, 0xef, 0xbc, 0x22, 0xf9, 0xf7, 0xf3, 0x30, 0xff, 0xce,
-	0x4c, 0x48, 0x0f, 0xb1, 0x1f, 0x39, 0xe9, 0x09, 0xf8, 0x05, 0xcc, 0x0f, 0x45, 0x72, 0xf5, 0x1d,
-	0xe2, 0x7a, 0x32, 0xe3, 0x7d, 0x70, 0x6d, 0x06, 0xd6, 0x70, 0x22, 0xca, 0xe8, 0x8b, 0xb1, 0x54,
-	0x9c, 0x99, 0xe0, 0x98, 0xc9, 0xbf, 0x8d, 0x48, 0x48, 0xc9, 0x67, 0xb0, 0x14, 0xc9, 0xa7, 0x5a,
-	0x1a, 0xac, 0xbc, 0x7b, 0x5a, 0xd6, 0x3a, 0x18, 0x87, 0x43, 0xf5, 0x48, 0x8a, 0x16, 0x29, 0xf2,
-	0x7b, 0xd7, 0xa4, 0x68, 0x0d, 0x4d, 0x4f, 0xd5, 0x2f, 0xf8, 0xe8, 0xdb, 0xd4, 0x51, 0xf3, 0x24,
-	0xf3, 0xe3, 0x7b, 0xd7, 0xa4, 0xeb, 0xc8, 0xb8, 0x35, 0x55, 0x74, 0xca, 0x9f, 0xfa, 0x05, 0x48,
-	0x22, 0x55, 0x6e, 0xdf, 0xfa, 0x02, 0x84, 0x47, 0x43, 0x88, 0x83, 0x3e, 0x0b, 0x93, 0x77, 0x3e,
-	0x29, 0x98, 0x62, 0xe7, 0xfd, 0x7a, 0xf6, 0x7e, 0x19, 0xcb, 0xde, 0xf3, 0x63, 0x17, 0x3f, 0xd7,
-	0x1c, 0xa4, 0x8f, 0xa5, 0xef, 0x5a, 0x24, 0x7d, 0x17, 0x12, 0x1d, 0xb7, 0x9f, 0x60, 0x8e, 0x9e,
-	0xbf, 0x4f, 0xc7, 0xf3, 0xb7, 0x48, 0x84, 0x1f, 0xbf, 0x43, 0xfe, 0x0e, 0x10, 0xc7, 0x12, 0xb8,
-	0x91, 0x98, 0xc0, 0x45, 0x32, 0xfc, 0xf4, 0x56, 0x9b, 0xbd, 0x09, 0x19, 0xfc, 0x1c, 0x4a, 0xf1,
-	0xf4, 0xab, 0x34, 0x64, 0x96, 0x7c, 0x74, 0x73, 0x26, 0x0f, 0x7a, 0x98, 0x88, 0x85, 0x4c, 0xb8,
-	0x43, 0x93, 0x1f, 0x6d, 0xc9, 0x4c, 0xfa, 0xc1, 0x0d, 0xa9, 0x3d, 0xe8, 0x63, 0x12, 0x0e, 0xc2,
-	0xb0, 0xac, 0xe5, 0xeb, 0x00, 0x1e, 0x25, 0x65, 0xb1, 0xb8, 0x54, 0x63, 0x0a, 0x27, 0x29, 0x4b,
-	0x4c, 0x95, 0xc0, 0x03, 0xcc, 0xe5, 0x24, 0xcc, 0xf8, 0x4b, 0x47, 0x89, 0x19, 0x57, 0x2e, 0x6f,
-	0x43, 0x46, 0xe4, 0x6e, 0xb4, 0x02, 0xc5, 0x4e, 0xb7, 0xda, 0x3d, 0xed, 0x44, 0x7e, 0x9f, 0x98,
-	0x81, 0xf4, 0xc9, 0x8b, 0x62, 0x8a, 0xff, 0xe2, 0x18, 0xe3, 0x13, 0x5c, 0x4c, 0x97, 0xff, 0x2a,
-	0x05, 0x79, 0x2d, 0x61, 0x33, 0x45, 0x5c, 0xaf, 0x76, 0x4e, 0x5a, 0x11, 0xc5, 0x45, 0xc8, 0x9f,
-	0xb6, 0x3a, 0xa7, 0xed, 0xf6, 0x09, 0xee, 0xf2, 0x1f, 0x37, 0xae, 0xc2, 0x52, 0xb3, 0xf5, 0x65,
-	0xf5, 0x65, 0xf3, 0xd0, 0x38, 0xac, 0x7f, 0xd9, 0x3c, 0xa8, 0x1b, 0xcd, 0xc3, 0x62, 0x5a, 0x27,
-	0x33, 0x51, 0xa3, 0xfb, 0x4d, 0xbb, 0x5e, 0x9c, 0x46, 0x79, 0x98, 0xeb, 0x36, 0x5f, 0xd5, 0x4f,
-	0x4e, 0xbb, 0xc5, 0x19, 0xd6, 0x83, 0x92, 0xc1, 0xf5, 0x2f, 0x84, 0xc8, 0x2c, 0x42, 0xb0, 0xd0,
-	0x6c, 0x75, 0xeb, 0xb8, 0x55, 0x7d, 0x69, 0x08, 0xdb, 0x32, 0x82, 0xa6, 0x77, 0x52, 0x9c, 0xab,
-	0x01, 0x64, 0x5d, 0x35, 0xdc, 0xbf, 0x4c, 0x41, 0xb1, 0x3a, 0x1c, 0x4a, 0xf7, 0x14, 0xbf, 0x59,
-	0x45, 0x1f, 0xc2, 0x02, 0x71, 0xcc, 0xb3, 0x3e, 0x51, 0xe7, 0x66, 0x7c, 0xc5, 0xcb, 0xe2, 0x18,
-	0x35, 0x26, 0xb7, 0x87, 0xab, 0x7c, 0x69, 0x8b, 0xca, 0xed, 0xe1, 0x2a, 0x7a, 0x1f, 0x0a, 0x82,
-	0xc2, 0x4a, 0x9a, 0x7a, 0xb3, 0x2a, 0x5f, 0x15, 0x47, 0x89, 0xa8, 0x0c, 0xf3, 0x66, 0xaf, 0x47,
-	0x3c, 0xaf, 0x45, 0x2d, 0xd2, 0x3c, 0x94, 0x57, 0x18, 0x11, 0x5a, 0xf9, 0x3f, 0x53, 0xb0, 0x1c,
-	0x9a, 0xcb, 0x13, 0x24, 0xb7, 0xf8, 0xe6, 0xf7, 0xce, 0x2f, 0x00, 0x86, 0xc4, 0x95, 0xeb, 0x5b,
-	0x69, 0x96, 0x17, 0x64, 0xff, 0x47, 0xbf, 0xd8, 0x18, 0x47, 0xdd, 0x6a, 0x73, 0x05, 0xd1, 0xc0,
-	0x9a, 0xfa, 0xc6, 0x15, 0xcc, 0xeb, 0x3c, 0x36, 0x40, 0xf3, 0x82, 0x38, 0x3e, 0xab, 0x35, 0x7d,
-	0x66, 0xbb, 0xa8, 0xaa, 0xa2, 0x44, 0x36, 0x5d, 0x9c, 0x70, 0x60, 0xbb, 0xbd, 0x91, 0xed, 0x37,
-	0x0f, 0xe5, 0x05, 0x4e, 0x8c, 0x8a, 0x36, 0x20, 0x4b, 0xc5, 0x52, 0x6c, 0xa9, 0x9f, 0x81, 0xab,
-	0x76, 0xf9, 0xdf, 0x53, 0xb0, 0xd8, 0x89, 0x15, 0x65, 0xf1, 0x1f, 0xd5, 0xa7, 0xde, 0xf5, 0x47,
-	0xf5, 0xe8, 0x05, 0x20, 0x73, 0x38, 0x34, 0x64, 0xe6, 0x89, 0xfe, 0x28, 0x7f, 0x33, 0x71, 0x72,
-	0x02, 0x9c, 0xa2, 0x19, 0xf7, 0x9a, 0x53, 0x58, 0xd3, 0xc1, 0xa8, 0x33, 0x52, 0x80, 0xe3, 0x5b,
-	0x95, 0x84, 0xd9, 0x66, 0x01, 0x69, 0x8e, 0x93, 0xf5, 0x6d, 0xd9, 0xdf, 0xa5, 0xa1, 0xd8, 0xb9,
-	0xcd, 0xb6, 0xac, 0xf3, 0xeb, 0x6d, 0xcb, 0x3a, 0xef, 0xb6, 0x2d, 0xfb, 0x2e, 0x39, 0xe3, 0xdb,
-	0xdf, 0x64, 0xca, 0x58, 0x87, 0x55, 0x45, 0x3e, 0x69, 0x9d, 0x6a, 0xac, 0x69, 0x3d, 0xfe, 0x4f,
-	0x5b, 0x4d, 0x46, 0x9b, 0x29, 0xdb, 0xb0, 0xda, 0xb1, 0x9d, 0x8b, 0x3e, 0x89, 0x57, 0xf7, 0x1b,
-	0x90, 0xf5, 0x4d, 0xf7, 0x82, 0xf8, 0x41, 0x08, 0x05, 0x6d, 0xb4, 0x13, 0x7c, 0x06, 0xe9, 0x1f,
-	0x1b, 0x89, 0xfb, 0x57, 0x2e, 0x81, 0x83, 0x2f, 0xf6, 0x05, 0xac, 0xc5, 0xbb, 0x92, 0x9f, 0xed,
-	0x59, 0x98, 0x84, 0xa4, 0xc3, 0x6e, 0x5e, 0xb3, 0x21, 0xc6, 0x61, 0xc6, 0x0a, 0xac, 0xef, 0xfc,
-	0xa6, 0xac, 0xef, 0xdc, 0x68, 0x7d, 0xe7, 0x76, 0xd6, 0x77, 0x26, 0x5a, 0x5f, 0xf9, 0x65, 0x0a,
-	0x72, 0x75, 0x25, 0x88, 0x30, 0xe4, 0x8f, 0x89, 0x5f, 0xbf, 0x12, 0xe2, 0x48, 0xdf, 0xd6, 0x24,
-	0x7e, 0xa1, 0x8d, 0xf7, 0xae, 0x91, 0x08, 0x16, 0xc5, 0x7c, 0xe7, 0x5a, 0xcc, 0xce, 0x8d, 0x98,
-	0x71, 0xfb, 0x6b, 0x18, 0xee, 0x51, 0xf7, 0x62, 0x8b, 0x0e, 0x89, 0xd3, 0xa3, 0xae, 0xb5, 0x25,
-	0xfe, 0xf5, 0x8f, 0x50, 0xef, 0x27, 0xdb, 0x17, 0xb6, 0xff, 0x7a, 0x74, 0xb6, 0xd5, 0xa3, 0x83,
-	0xc7, 0x4a, 0xea, 0xb1, 0x90, 0xfa, 0x54, 0xfe, 0x1b, 0x21, 0x97, 0xbb, 0x8f, 0x2f, 0x68, 0xf8,
-	0x2f, 0x92, 0x9c, 0x65, 0x38, 0xfd, 0xe9, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x08, 0x90, 0xb8,
-	0x96, 0xb3, 0x44, 0x00, 0x00,
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Reset() {
+	*x = GetOffloadedAppsStatisticsResponse_DHCPv4RAStats{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[57]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// ExtensionClient is the client API for Extension service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type ExtensionClient interface {
-	// Get a single attribute
-	GetExtValue(ctx context.Context, in *SingleGetValueRequest, opts ...grpc.CallOption) (*SingleGetValueResponse, error)
-	// Set a single attribute
-	SetExtValue(ctx context.Context, in *SingleSetValueRequest, opts ...grpc.CallOption) (*SingleSetValueResponse, error)
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) String() string {
+	return protoimpl.X.MessageStringOf(x)
 }
 
-type extensionClient struct {
-	cc *grpc.ClientConn
-}
+func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) ProtoMessage() {}
 
-func NewExtensionClient(cc *grpc.ClientConn) ExtensionClient {
-	return &extensionClient{cc}
-}
-
-func (c *extensionClient) GetExtValue(ctx context.Context, in *SingleGetValueRequest, opts ...grpc.CallOption) (*SingleGetValueResponse, error) {
-	out := new(SingleGetValueResponse)
-	err := c.cc.Invoke(ctx, "/extension.Extension/GetExtValue", in, out, opts...)
-	if err != nil {
-		return nil, err
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[57]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
 	}
-	return out, nil
+	return mi.MessageOf(x)
 }
 
-func (c *extensionClient) SetExtValue(ctx context.Context, in *SingleSetValueRequest, opts ...grpc.CallOption) (*SingleSetValueResponse, error) {
-	out := new(SingleSetValueResponse)
-	err := c.cc.Invoke(ctx, "/extension.Extension/SetExtValue", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
+// Deprecated: Use GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.ProtoReflect.Descriptor instead.
+func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Descriptor() ([]byte, []int) {
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{46, 0}
 }
 
-// ExtensionServer is the server API for Extension service.
-type ExtensionServer interface {
-	// Get a single attribute
-	GetExtValue(context.Context, *SingleGetValueRequest) (*SingleGetValueResponse, error)
-	// Set a single attribute
-	SetExtValue(context.Context, *SingleSetValueRequest) (*SingleSetValueResponse, error)
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromClient() uint32 {
+	if x != nil {
+		return x.InBadPacketsFromClient
+	}
+	return 0
 }
 
-// UnimplementedExtensionServer can be embedded to have forward compatible implementations.
-type UnimplementedExtensionServer struct {
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromServer() uint32 {
+	if x != nil {
+		return x.InBadPacketsFromServer
+	}
+	return 0
 }
 
-func (*UnimplementedExtensionServer) GetExtValue(ctx context.Context, req *SingleGetValueRequest) (*SingleGetValueResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method GetExtValue not implemented")
-}
-func (*UnimplementedExtensionServer) SetExtValue(ctx context.Context, req *SingleSetValueRequest) (*SingleSetValueResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method SetExtValue not implemented")
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromClient() uint32 {
+	if x != nil {
+		return x.InPacketsFromClient
+	}
+	return 0
 }
 
-func RegisterExtensionServer(s *grpc.Server, srv ExtensionServer) {
-	s.RegisterService(&_Extension_serviceDesc, srv)
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromServer() uint32 {
+	if x != nil {
+		return x.InPacketsFromServer
+	}
+	return 0
 }
 
-func _Extension_GetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(SingleGetValueRequest)
-	if err := dec(in); err != nil {
-		return nil, err
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToServer() uint32 {
+	if x != nil {
+		return x.OutPacketsToServer
 	}
-	if interceptor == nil {
-		return srv.(ExtensionServer).GetExtValue(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/extension.Extension/GetExtValue",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ExtensionServer).GetExtValue(ctx, req.(*SingleGetValueRequest))
-	}
-	return interceptor(ctx, in, info, handler)
+	return 0
 }
 
-func _Extension_SetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(SingleSetValueRequest)
-	if err := dec(in); err != nil {
-		return nil, err
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToClient() uint32 {
+	if x != nil {
+		return x.OutPacketsToClient
 	}
-	if interceptor == nil {
-		return srv.(ExtensionServer).SetExtValue(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/extension.Extension/SetExtValue",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ExtensionServer).SetExtValue(ctx, req.(*SingleSetValueRequest))
-	}
-	return interceptor(ctx, in, info, handler)
+	return 0
 }
 
-var _Extension_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "extension.Extension",
-	HandlerType: (*ExtensionServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "GetExtValue",
-			Handler:    _Extension_GetExtValue_Handler,
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82InsertedPacketsToServer() uint32 {
+	if x != nil {
+		return x.Option_82InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82RemovedPacketsToClient() uint32 {
+	if x != nil {
+		return x.Option_82RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82NotInsertedToServer() uint32 {
+	if x != nil {
+		return x.Option_82NotInsertedToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetAdditionalStats() map[string]string {
+	if x != nil {
+		return x.AdditionalStats
+	}
+	return nil
+}
+
+type GetOffloadedAppsStatisticsResponse_DHCPv6RAStats struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-ldra.yang
+	InBadPacketsFromClient               uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
+	InBadPacketsFromServer               uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
+	Option_17InsertedPacketsToServer     uint32 `protobuf:"varint,3,opt,name=option_17_inserted_packets_to_server,json=option17InsertedPacketsToServer,proto3" json:"option_17_inserted_packets_to_server,omitempty"`
+	Option_17RemovedPacketsToClient      uint32 `protobuf:"varint,4,opt,name=option_17_removed_packets_to_client,json=option17RemovedPacketsToClient,proto3" json:"option_17_removed_packets_to_client,omitempty"`
+	Option_18InsertedPacketsToServer     uint32 `protobuf:"varint,5,opt,name=option_18_inserted_packets_to_server,json=option18InsertedPacketsToServer,proto3" json:"option_18_inserted_packets_to_server,omitempty"`
+	Option_18RemovedPacketsToClient      uint32 `protobuf:"varint,6,opt,name=option_18_removed_packets_to_client,json=option18RemovedPacketsToClient,proto3" json:"option_18_removed_packets_to_client,omitempty"`
+	Option_37InsertedPacketsToServer     uint32 `protobuf:"varint,7,opt,name=option_37_inserted_packets_to_server,json=option37InsertedPacketsToServer,proto3" json:"option_37_inserted_packets_to_server,omitempty"`
+	Option_37RemovedPacketsToClient      uint32 `protobuf:"varint,8,opt,name=option_37_removed_packets_to_client,json=option37RemovedPacketsToClient,proto3" json:"option_37_removed_packets_to_client,omitempty"`
+	OutgoingMtuExceededPacketsFromClient uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Reset() {
+	*x = GetOffloadedAppsStatisticsResponse_DHCPv6RAStats{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[58]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) ProtoMessage() {}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[58]
+	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 GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.ProtoReflect.Descriptor instead.
+func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Descriptor() ([]byte, []int) {
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{46, 1}
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromClient() uint32 {
+	if x != nil {
+		return x.InBadPacketsFromClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromServer() uint32 {
+	if x != nil {
+		return x.InBadPacketsFromServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17InsertedPacketsToServer() uint32 {
+	if x != nil {
+		return x.Option_17InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17RemovedPacketsToClient() uint32 {
+	if x != nil {
+		return x.Option_17RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18InsertedPacketsToServer() uint32 {
+	if x != nil {
+		return x.Option_18InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18RemovedPacketsToClient() uint32 {
+	if x != nil {
+		return x.Option_18RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37InsertedPacketsToServer() uint32 {
+	if x != nil {
+		return x.Option_37InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37RemovedPacketsToClient() uint32 {
+	if x != nil {
+		return x.Option_37RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
+	if x != nil {
+		return x.OutgoingMtuExceededPacketsFromClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetAdditionalStats() map[string]string {
+	if x != nil {
+		return x.AdditionalStats
+	}
+	return nil
+}
+
+type GetOffloadedAppsStatisticsResponse_PPPoeIAStats struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent.yang
+	InErrorPacketsFromClient                 uint32 `protobuf:"varint,1,opt,name=in_error_packets_from_client,json=inErrorPacketsFromClient,proto3" json:"in_error_packets_from_client,omitempty"`
+	InErrorPacketsFromServer                 uint32 `protobuf:"varint,2,opt,name=in_error_packets_from_server,json=inErrorPacketsFromServer,proto3" json:"in_error_packets_from_server,omitempty"`
+	InPacketsFromClient                      uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
+	InPacketsFromServer                      uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
+	OutPacketsToServer                       uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
+	OutPacketsToClient                       uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
+	VendorSpecificTagInsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=vendor_specific_tag_inserted_packets_to_server,json=vendorSpecificTagInsertedPacketsToServer,proto3" json:"vendor_specific_tag_inserted_packets_to_server,omitempty"`
+	VendorSpecificTagRemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=vendor_specific_tag_removed_packets_to_client,json=vendorSpecificTagRemovedPacketsToClient,proto3" json:"vendor_specific_tag_removed_packets_to_client,omitempty"`
+	OutgoingMtuExceededPacketsFromClient     uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Reset() {
+	*x = GetOffloadedAppsStatisticsResponse_PPPoeIAStats{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[59]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) ProtoMessage() {}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[59]
+	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 GetOffloadedAppsStatisticsResponse_PPPoeIAStats.ProtoReflect.Descriptor instead.
+func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Descriptor() ([]byte, []int) {
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{46, 2}
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromClient() uint32 {
+	if x != nil {
+		return x.InErrorPacketsFromClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromServer() uint32 {
+	if x != nil {
+		return x.InErrorPacketsFromServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromClient() uint32 {
+	if x != nil {
+		return x.InPacketsFromClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromServer() uint32 {
+	if x != nil {
+		return x.InPacketsFromServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToServer() uint32 {
+	if x != nil {
+		return x.OutPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToClient() uint32 {
+	if x != nil {
+		return x.OutPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagInsertedPacketsToServer() uint32 {
+	if x != nil {
+		return x.VendorSpecificTagInsertedPacketsToServer
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagRemovedPacketsToClient() uint32 {
+	if x != nil {
+		return x.VendorSpecificTagRemovedPacketsToClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
+	if x != nil {
+		return x.OutgoingMtuExceededPacketsFromClient
+	}
+	return 0
+}
+
+func (x *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetAdditionalStats() map[string]string {
+	if x != nil {
+		return x.AdditionalStats
+	}
+	return nil
+}
+
+type AppOffloadOnuConfig_PerUniConfig struct {
+	state protoimpl.MessageState `protogen:"open.v1"`
+	// As per the BBF Agent Remote Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
+	AgentRemoteID string `protobuf:"bytes,2,opt,name=agentRemoteID,proto3" json:"agentRemoteID,omitempty"`
+	// As per the BBF Agent Circuit Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
+	AgentCircuitID string `protobuf:"bytes,3,opt,name=agentCircuitID,proto3" json:"agentCircuitID,omitempty"`
+	// The id of the UNI on the Onu for which this configuration is relevant. The UNI ids are numbered from 0 to n depending on the number of UNI ports on the ONU.
+	OnuUniId      uint32 `protobuf:"varint,4,opt,name=onuUniId,proto3" json:"onuUniId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) Reset() {
+	*x = AppOffloadOnuConfig_PerUniConfig{}
+	mi := &file_voltha_protos_extensions_proto_msgTypes[63]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppOffloadOnuConfig_PerUniConfig) ProtoMessage() {}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) ProtoReflect() protoreflect.Message {
+	mi := &file_voltha_protos_extensions_proto_msgTypes[63]
+	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 AppOffloadOnuConfig_PerUniConfig.ProtoReflect.Descriptor instead.
+func (*AppOffloadOnuConfig_PerUniConfig) Descriptor() ([]byte, []int) {
+	return file_voltha_protos_extensions_proto_rawDescGZIP(), []int{50, 0}
+}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) GetAgentRemoteID() string {
+	if x != nil {
+		return x.AgentRemoteID
+	}
+	return ""
+}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) GetAgentCircuitID() string {
+	if x != nil {
+		return x.AgentCircuitID
+	}
+	return ""
+}
+
+func (x *AppOffloadOnuConfig_PerUniConfig) GetOnuUniId() uint32 {
+	if x != nil {
+		return x.OnuUniId
+	}
+	return 0
+}
+
+var File_voltha_protos_extensions_proto protoreflect.FileDescriptor
+
+const file_voltha_protos_extensions_proto_rawDesc = "" +
+	"\n" +
+	"\x1evoltha_protos/extensions.proto\x12\textension\x1a\x1evoltha_protos/ext_config.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1avoltha_protos/common.proto\"]\n" +
+	"\bValueSet\x12\x0e\n" +
+	"\x02id\x18\x01 \x01(\tR\x02id\x128\n" +
+	"\falarm_config\x18\x02 \x01(\v2\x13.config.AlarmConfigH\x00R\valarmConfigB\a\n" +
+	"\x05value\",\n" +
+	"\tValueType\"\x1f\n" +
+	"\x04Type\x12\t\n" +
+	"\x05EMPTY\x10\x00\x12\f\n" +
+	"\bDISTANCE\x10\x01\"Q\n" +
+	"\x0eValueSpecifier\x12\x0e\n" +
+	"\x02id\x18\x01 \x01(\tR\x02id\x12/\n" +
+	"\x05value\x18\x02 \x01(\x0e2\x19.extension.ValueType.TypeR\x05value\"t\n" +
+	"\fReturnValues\x12\x10\n" +
+	"\x03Set\x18\x01 \x01(\rR\x03Set\x12 \n" +
+	"\vUnsupported\x18\x02 \x01(\rR\vUnsupported\x12\x14\n" +
+	"\x05Error\x18\x03 \x01(\rR\x05Error\x12\x1a\n" +
+	"\bDistance\x18\x04 \x01(\rR\bDistance\"6\n" +
+	"\x12GetDistanceRequest\x12 \n" +
+	"\vonuDeviceId\x18\x01 \x01(\tR\vonuDeviceId\"1\n" +
+	"\x13GetDistanceResponse\x12\x1a\n" +
+	"\bdistance\x18\x01 \x01(\rR\bdistance\"2\n" +
+	"\x14GetOnuUniInfoRequest\x12\x1a\n" +
+	"\buniIndex\x18\x01 \x01(\rR\buniIndex\"\xe1\x04\n" +
+	"\x15GetOnuUniInfoResponse\x12P\n" +
+	"\badmState\x18\x01 \x01(\x0e24.extension.GetOnuUniInfoResponse.AdministrativeStateR\badmState\x12O\n" +
+	"\toperState\x18\x02 \x01(\x0e21.extension.GetOnuUniInfoResponse.OperationalStateR\toperState\x12O\n" +
+	"\tconfigInd\x18\x03 \x01(\x0e21.extension.GetOnuUniInfoResponse.ConfigurationIndR\tconfigInd\"\xc2\x01\n" +
+	"\x10ConfigurationInd\x12\n" +
+	"\n" +
+	"\x06UNKOWN\x10\x00\x12\x12\n" +
+	"\x0eTEN_BASE_T_FDX\x10\x01\x12\x16\n" +
+	"\x12HUNDRED_BASE_T_FDX\x10\x02\x12\x18\n" +
+	"\x14GIGABIT_ETHERNET_FDX\x10\x03\x12\x16\n" +
+	"\x12TEN_G_ETHERNET_FDX\x10\x04\x12\x12\n" +
+	"\x0eTEN_BASE_T_HDX\x10\x05\x12\x16\n" +
+	"\x12HUNDRED_BASE_T_HDX\x10\x06\x12\x18\n" +
+	"\x14GIGABIT_ETHERNET_HDX\x10\a\"G\n" +
+	"\x13AdministrativeState\x12\x16\n" +
+	"\x12ADMSTATE_UNDEFINED\x10\x00\x12\n" +
+	"\n" +
+	"\x06LOCKED\x10\x01\x12\f\n" +
+	"\bUNLOCKED\x10\x02\"F\n" +
+	"\x10OperationalState\x12\x17\n" +
+	"\x13OPERSTATE_UNDEFINED\x10\x00\x12\v\n" +
+	"\aENABLED\x10\x01\x12\f\n" +
+	"\bDISABLED\x10\x02\"\xb7\x01\n" +
+	"\x12GetOltPortCounters\x12\x16\n" +
+	"\x06portNo\x18\x01 \x01(\rR\x06portNo\x12B\n" +
+	"\bportType\x18\x02 \x01(\x0e2&.extension.GetOltPortCounters.PortTypeR\bportType\"E\n" +
+	"\bPortType\x12\x10\n" +
+	"\fPort_UNKNOWN\x10\x00\x12\x15\n" +
+	"\x11Port_ETHERNET_NNI\x10\x01\x12\x10\n" +
+	"\fPort_PON_OLT\x10\x02\"\xcc\x03\n" +
+	"\x1aGetOltPortCountersResponse\x12\x18\n" +
+	"\atxBytes\x18\x01 \x01(\x04R\atxBytes\x12\x18\n" +
+	"\arxBytes\x18\x02 \x01(\x04R\arxBytes\x12\x1c\n" +
+	"\ttxPackets\x18\x03 \x01(\x04R\ttxPackets\x12\x1c\n" +
+	"\trxPackets\x18\x04 \x01(\x04R\trxPackets\x12&\n" +
+	"\x0etxErrorPackets\x18\x05 \x01(\x04R\x0etxErrorPackets\x12&\n" +
+	"\x0erxErrorPackets\x18\x06 \x01(\x04R\x0erxErrorPackets\x12&\n" +
+	"\x0etxBcastPackets\x18\a \x01(\x04R\x0etxBcastPackets\x12&\n" +
+	"\x0erxBcastPackets\x18\b \x01(\x04R\x0erxBcastPackets\x12&\n" +
+	"\x0etxUcastPackets\x18\t \x01(\x04R\x0etxUcastPackets\x12&\n" +
+	"\x0erxUcastPackets\x18\n" +
+	" \x01(\x04R\x0erxUcastPackets\x12&\n" +
+	"\x0etxMcastPackets\x18\v \x01(\x04R\x0etxMcastPackets\x12&\n" +
+	"\x0erxMcastPackets\x18\f \x01(\x04R\x0erxMcastPackets\"D\n" +
+	"\x14GetOnuPonOpticalInfo\x12,\n" +
+	"\x05empty\x18\x01 \x01(\v2\x16.google.protobuf.EmptyR\x05empty\"\x84\x02\n" +
+	"\x1cGetOnuPonOpticalInfoResponse\x12*\n" +
+	"\x10powerFeedVoltage\x18\x01 \x01(\x02R\x10powerFeedVoltage\x122\n" +
+	"\x14receivedOpticalPower\x18\x02 \x01(\x02R\x14receivedOpticalPower\x126\n" +
+	"\x16meanOpticalLaunchPower\x18\x03 \x01(\x02R\x16meanOpticalLaunchPower\x12*\n" +
+	"\x10laserBiasCurrent\x18\x04 \x01(\x02R\x10laserBiasCurrent\x12 \n" +
+	"\vtemperature\x18\x05 \x01(\x02R\vtemperature\"\xaf\x01\n" +
+	"\x1fGetOnuEthernetBridgePortHistory\x12R\n" +
+	"\tdirection\x18\x01 \x01(\x0e24.extension.GetOnuEthernetBridgePortHistory.DirectionR\tdirection\"8\n" +
+	"\tDirection\x12\r\n" +
+	"\tUNDEFINED\x10\x00\x12\f\n" +
+	"\bUPSTREAM\x10\x01\x12\x0e\n" +
+	"\n" +
+	"DOWNSTREAM\x10\x02\"\x93\x05\n" +
+	"'GetOnuEthernetBridgePortHistoryResponse\x12\x1e\n" +
+	"\n" +
+	"dropEvents\x18\x01 \x01(\rR\n" +
+	"dropEvents\x12\x16\n" +
+	"\x06octets\x18\x02 \x01(\rR\x06octets\x12\x18\n" +
+	"\apackets\x18\x03 \x01(\rR\apackets\x12*\n" +
+	"\x10broadcastPackets\x18\x04 \x01(\rR\x10broadcastPackets\x12*\n" +
+	"\x10multicastPackets\x18\x05 \x01(\rR\x10multicastPackets\x12,\n" +
+	"\x11crcErroredPackets\x18\x06 \x01(\rR\x11crcErroredPackets\x12*\n" +
+	"\x10undersizePackets\x18\a \x01(\rR\x10undersizePackets\x12(\n" +
+	"\x0foversizePackets\x18\b \x01(\rR\x0foversizePackets\x12(\n" +
+	"\x0fpackets64octets\x18\t \x01(\rR\x0fpackets64octets\x122\n" +
+	"\x14packets65To127octets\x18\n" +
+	" \x01(\rR\x14packets65To127octets\x124\n" +
+	"\x15packets128To255Octets\x18\v \x01(\rR\x15packets128To255Octets\x124\n" +
+	"\x15packets256To511octets\x18\f \x01(\rR\x15packets256To511octets\x126\n" +
+	"\x16packets512To1023octets\x18\r \x01(\rR\x16packets512To1023octets\x128\n" +
+	"\x17packets1024To1518octets\x18\x0e \x01(\rR\x17packets1024To1518octets\"L\n" +
+	"\x1cGetOnuAllocGemHistoryRequest\x12,\n" +
+	"\x05empty\x18\x01 \x01(\v2\x16.google.protobuf.EmptyR\x05empty\"\xb3\x03\n" +
+	"\x15OnuGemPortHistoryData\x12\x14\n" +
+	"\x05gemId\x18\x01 \x01(\rR\x05gemId\x122\n" +
+	"\x14transmittedGEMFrames\x18\x02 \x01(\rR\x14transmittedGEMFrames\x12,\n" +
+	"\x11receivedGEMFrames\x18\x03 \x01(\rR\x11receivedGEMFrames\x126\n" +
+	"\x14receivedPayloadBytes\x18\x04 \x01(\rB\x02\x18\x01R\x14receivedPayloadBytes\x12<\n" +
+	"\x17transmittedPayloadBytes\x18\x05 \x01(\rB\x02\x18\x01R\x17transmittedPayloadBytes\x120\n" +
+	"\x13encryptionKeyErrors\x18\x06 \x01(\rR\x13encryptionKeyErrors\x129\n" +
+	"\x19received_payload_bytes_64\x18\a \x01(\x06R\x16receivedPayloadBytes64\x12?\n" +
+	"\x1ctransmitted_payload_bytes_64\x18\b \x01(\x06R\x19transmittedPayloadBytes64\"I\n" +
+	"\x13OnuAllocHistoryData\x12\x18\n" +
+	"\aallocId\x18\x01 \x01(\rR\aallocId\x12\x18\n" +
+	"\arxBytes\x18\x02 \x01(\rR\arxBytes\"\xa4\x01\n" +
+	"\x16OnuAllocGemHistoryData\x12F\n" +
+	"\x0eonuAllocIdInfo\x18\x01 \x01(\v2\x1e.extension.OnuAllocHistoryDataR\x0eonuAllocIdInfo\x12B\n" +
+	"\vgemPortInfo\x18\x02 \x03(\v2 .extension.OnuGemPortHistoryDataR\vgemPortInfo\"z\n" +
+	"\x1dGetOnuAllocGemHistoryResponse\x12Y\n" +
+	"\x16onuAllocGemHistoryData\x18\x01 \x03(\v2!.extension.OnuAllocGemHistoryDataR\x16onuAllocGemHistoryData\"@\n" +
+	"\x10GetOnuFecHistory\x12,\n" +
+	"\x05empty\x18\x01 \x01(\v2\x16.google.protobuf.EmptyR\x05empty\"\xe3\x03\n" +
+	"\x18GetOnuFecHistoryResponse\x12*\n" +
+	"\x0ecorrectedBytes\x18\x01 \x01(\rB\x02\x18\x01R\x0ecorrectedBytes\x122\n" +
+	"\x12correctedCodeWords\x18\x02 \x01(\rB\x02\x18\x01R\x12correctedCodeWords\x12\x1e\n" +
+	"\n" +
+	"fecSeconds\x18\x03 \x01(\rR\n" +
+	"fecSeconds\x12*\n" +
+	"\x0etotalCodeWords\x18\x04 \x01(\rB\x02\x18\x01R\x0etotalCodeWords\x12:\n" +
+	"\x16uncorrectableCodeWords\x18\x05 \x01(\rB\x02\x18\x01R\x16uncorrectableCodeWords\x123\n" +
+	"\x16fec_corrected_bytes_64\x18\x06 \x01(\x06R\x13fecCorrectedBytes64\x12<\n" +
+	"\x1bfec_corrected_code_words_64\x18\a \x01(\x06R\x17fecCorrectedCodeWords64\x12-\n" +
+	"\x13total_code_words_64\x18\b \x01(\x06R\x10totalCodeWords64\x12=\n" +
+	"\x1buncorrectable_code_words_64\x18\t \x01(\x06R\x18uncorrectableCodeWords64\"G\n" +
+	"\x15GetOnuCountersRequest\x12\x17\n" +
+	"\aintf_id\x18\x01 \x01(\aR\x06intfId\x12\x15\n" +
+	"\x06onu_id\x18\x02 \x01(\aR\x05onuId\"\x8d\x01\n" +
+	"%GetOmciEthernetFrameExtendedPmRequest\x12 \n" +
+	"\vonuDeviceId\x18\x01 \x01(\tR\vonuDeviceId\x12\x1c\n" +
+	"\buniIndex\x18\x02 \x01(\rH\x00R\buniIndex\x12\x14\n" +
+	"\x05reset\x18\x03 \x01(\bR\x05resetB\x0e\n" +
+	"\fis_uni_index\"C\n" +
+	"\x11GetRxPowerRequest\x12\x17\n" +
+	"\aintf_id\x18\x01 \x01(\aR\x06intfId\x12\x15\n" +
+	"\x06onu_id\x18\x02 \x01(\aR\x05onuId\"L\n" +
+	"\x14GetOltRxPowerRequest\x12\x1d\n" +
+	"\n" +
+	"port_label\x18\x01 \x01(\tR\tportLabel\x12\x15\n" +
+	"\x06onu_sn\x18\x02 \x01(\tR\x05onuSn\"Z\n" +
+	"\x12GetPonStatsRequest\x12\x1e\n" +
+	"\tportLabel\x18\x01 \x01(\tH\x00R\tportLabel\x12\x18\n" +
+	"\x06portId\x18\x02 \x01(\aH\x00R\x06portIdB\n" +
+	"\n" +
+	"\bportInfo\"o\n" +
+	"\x13GetPonStatsResponse\x12\x18\n" +
+	"\aponPort\x18\x01 \x01(\rR\aponPort\x12>\n" +
+	"\x0eportStatistics\x18\x02 \x01(\v2\x16.common.PortStatisticsR\x0eportStatistics\"Z\n" +
+	"\x12GetNNIStatsRequest\x12\x1e\n" +
+	"\tportLabel\x18\x01 \x01(\tH\x00R\tportLabel\x12\x18\n" +
+	"\x06portId\x18\x02 \x01(\aH\x00R\x06portIdB\n" +
+	"\n" +
+	"\bportInfo\"o\n" +
+	"\x13GetNNIStatsResponse\x12\x18\n" +
+	"\anniPort\x18\x01 \x01(\rR\anniPort\x12>\n" +
+	"\x0eportStatistics\x18\x02 \x01(\v2\x16.common.PortStatisticsR\x0eportStatistics\"I\n" +
+	"\x19GetOnuStatsFromOltRequest\x12\x16\n" +
+	"\x06intfId\x18\x01 \x01(\aR\x06intfId\x12\x14\n" +
+	"\x05onuId\x18\x02 \x01(\aR\x05onuId\"\x9d\x01\n" +
+	"\x15OnuGemPortInfoFromOlt\x12\x14\n" +
+	"\x05gemId\x18\x01 \x01(\rR\x05gemId\x12\x1c\n" +
+	"\trxPackets\x18\x02 \x01(\x04R\trxPackets\x12\x18\n" +
+	"\arxBytes\x18\x03 \x01(\x04R\arxBytes\x12\x1c\n" +
+	"\ttxPackets\x18\x04 \x01(\x04R\ttxPackets\x12\x18\n" +
+	"\atxBytes\x18\x05 \x01(\x04R\atxBytes\"K\n" +
+	"\x15OnuAllocIdInfoFromOlt\x12\x18\n" +
+	"\aallocId\x18\x01 \x01(\rR\aallocId\x12\x18\n" +
+	"\arxBytes\x18\x02 \x01(\x04R\arxBytes\"\xa9\x01\n" +
+	"\x1fOnuAllocGemStatsFromOltResponse\x12B\n" +
+	"\vallocIdInfo\x18\x01 \x01(\v2 .extension.OnuAllocIdInfoFromOltR\vallocIdInfo\x12B\n" +
+	"\vgemPortInfo\x18\x02 \x03(\v2 .extension.OnuGemPortInfoFromOltR\vgemPortInfo\"v\n" +
+	"\x1aGetOnuStatsFromOltResponse\x12X\n" +
+	"\x11allocGemStatsInfo\x18\x01 \x03(\v2*.extension.OnuAllocGemStatsFromOltResponseR\x11allocGemStatsInfo\"\x96\r\n" +
+	"\x16GetOnuCountersResponse\x12\x19\n" +
+	"\aintf_id\x18\x01 \x01(\aH\x00R\x06intfId\x12\x17\n" +
+	"\x06onu_id\x18\x02 \x01(\aH\x01R\x05onuId\x12'\n" +
+	"\x0epositive_drift\x18\x03 \x01(\x06H\x02R\rpositiveDrift\x12'\n" +
+	"\x0enegative_drift\x18\x04 \x01(\x06H\x03R\rnegativeDrift\x12:\n" +
+	"\x18delimiter_miss_detection\x18\x05 \x01(\x06H\x04R\x16delimiterMissDetection\x12\x1f\n" +
+	"\n" +
+	"bip_errors\x18\x06 \x01(\x06H\x05R\tbipErrors\x12\x1d\n" +
+	"\tbip_units\x18\a \x01(\x06H\x06R\bbipUnits\x124\n" +
+	"\x15fec_corrected_symbols\x18\b \x01(\x06H\aR\x13fecCorrectedSymbols\x128\n" +
+	"\x17fec_codewords_corrected\x18\t \x01(\x06H\bR\x15fecCodewordsCorrected\x12@\n" +
+	"\x1bfec_codewords_uncorrectable\x18\n" +
+	" \x01(\x06H\tR\x19fecCodewordsUncorrectable\x12%\n" +
+	"\rfec_codewords\x18\v \x01(\x06H\n" +
+	"R\ffecCodewords\x120\n" +
+	"\x13fec_corrected_units\x18\f \x01(\x06H\vR\x11fecCorrectedUnits\x12(\n" +
+	"\x0fxgem_key_errors\x18\r \x01(\x06H\fR\rxgemKeyErrors\x12\x1d\n" +
+	"\txgem_loss\x18\x0e \x01(\x06H\rR\bxgemLoss\x12(\n" +
+	"\x0frx_ploams_error\x18\x0f \x01(\x06H\x0eR\rrxPloamsError\x12-\n" +
+	"\x12rx_ploams_non_idle\x18\x10 \x01(\x06H\x0fR\x0frxPloamsNonIdle\x12\x19\n" +
+	"\arx_omci\x18\x11 \x01(\x06H\x10R\x06rxOmci\x12\x19\n" +
+	"\atx_omci\x18\x12 \x01(\x06H\x11R\x06txOmci\x12:\n" +
+	"\x19rx_omci_packets_crc_error\x18\x13 \x01(\x06H\x12R\x15rxOmciPacketsCrcError\x12\x1b\n" +
+	"\brx_bytes\x18\x14 \x01(\x06H\x13R\arxBytes\x12\x1f\n" +
+	"\n" +
+	"rx_packets\x18\x15 \x01(\x06H\x14R\trxPackets\x12\x1b\n" +
+	"\btx_bytes\x18\x16 \x01(\x06H\x15R\atxBytes\x12\x1f\n" +
+	"\n" +
+	"tx_packets\x18\x17 \x01(\x06H\x16R\ttxPackets\x12#\n" +
+	"\fber_reported\x18\x18 \x01(\x06H\x17R\vberReported\x12!\n" +
+	"\vlcdg_errors\x18\x19 \x01(\x06H\x18R\n" +
+	"lcdgErrors\x12\x1f\n" +
+	"\n" +
+	"rdi_errors\x18\x1a \x01(\x06H\x19R\trdiErrors\x12\x1e\n" +
+	"\ttimestamp\x18\x1b \x01(\aH\x1aR\ttimestamp\x12\x1f\n" +
+	"\n" +
+	"hec_errors\x18\x1c \x01(\x06H\x1bR\thecErrorsB\f\n" +
+	"\n" +
+	"is_intf_idB\v\n" +
+	"\tis_onu_idB\x13\n" +
+	"\x11is_positive_driftB\x13\n" +
+	"\x11is_negative_driftB\x1d\n" +
+	"\x1bis_delimiter_miss_detectionB\x0f\n" +
+	"\ris_bip_errorsB\x0e\n" +
+	"\fis_bip_unitsB\x1a\n" +
+	"\x18is_fec_corrected_symbolsB\x1c\n" +
+	"\x1ais_fec_codewords_correctedB \n" +
+	"\x1eis_fec_codewords_uncorrectableB\x12\n" +
+	"\x10is_fec_codewordsB\x18\n" +
+	"\x16is_fec_corrected_unitsB\x14\n" +
+	"\x12is_xgem_key_errorsB\x0e\n" +
+	"\fis_xgem_lossB\x14\n" +
+	"\x12is_rx_ploams_errorB\x17\n" +
+	"\x15is_rx_ploams_non_idleB\f\n" +
+	"\n" +
+	"is_rx_omciB\f\n" +
+	"\n" +
+	"is_tx_omciB\x1e\n" +
+	"\x1cis_rx_omci_packets_crc_errorB\r\n" +
+	"\vis_rx_bytesB\x0f\n" +
+	"\ris_rx_packetsB\r\n" +
+	"\vis_tx_bytesB\x0f\n" +
+	"\ris_tx_packetsB\x11\n" +
+	"\x0fis_ber_reportedB\x10\n" +
+	"\x0eis_lcdg_errorsB\x0f\n" +
+	"\ris_rdi_errorsB\x0e\n" +
+	"\fis_timestampB\x0f\n" +
+	"\ris_hec_errors\"\x8c\x05\n" +
+	"\x1bOmciEthernetFrameExtendedPm\x12\x1f\n" +
+	"\vdrop_events\x18\x01 \x01(\x06R\n" +
+	"dropEvents\x12\x16\n" +
+	"\x06octets\x18\x02 \x01(\x06R\x06octets\x12\x16\n" +
+	"\x06frames\x18\x03 \x01(\x06R\x06frames\x12)\n" +
+	"\x10broadcast_frames\x18\x04 \x01(\x06R\x0fbroadcastFrames\x12)\n" +
+	"\x10multicast_frames\x18\x05 \x01(\x06R\x0fmulticastFrames\x12,\n" +
+	"\x12crc_errored_frames\x18\x06 \x01(\x06R\x10crcErroredFrames\x12)\n" +
+	"\x10undersize_frames\x18\a \x01(\x06R\x0fundersizeFrames\x12'\n" +
+	"\x0foversize_frames\x18\b \x01(\x06R\x0eoversizeFrames\x12(\n" +
+	"\x10frames_64_octets\x18\t \x01(\x06R\x0eframes64Octets\x124\n" +
+	"\x17frames_65_to_127_octets\x18\n" +
+	" \x01(\x06R\x13frames65To127Octets\x126\n" +
+	"\x18frames_128_to_255_octets\x18\v \x01(\x06R\x14frames128To255Octets\x126\n" +
+	"\x18frames_256_to_511_octets\x18\f \x01(\x06R\x14frames256To511Octets\x128\n" +
+	"\x19frames_512_to_1023_octets\x18\r \x01(\x06R\x15frames512To1023Octets\x12:\n" +
+	"\x1aframes_1024_to_1518_octets\x18\x0e \x01(\x06R\x16frames1024To1518Octets\"\xf4\x02\n" +
+	"&GetOmciEthernetFrameExtendedPmResponse\x12B\n" +
+	"\bupstream\x18\x01 \x01(\v2&.extension.OmciEthernetFrameExtendedPmR\bupstream\x12F\n" +
+	"\n" +
+	"downstream\x18\x02 \x01(\v2&.extension.OmciEthernetFrameExtendedPmR\n" +
+	"downstream\x12\x8b\x01\n" +
+	"&omci_ethernet_frame_extended_pm_format\x18\x03 \x01(\x0e28.extension.GetOmciEthernetFrameExtendedPmResponse.FormatR!omciEthernetFrameExtendedPmFormat\"0\n" +
+	"\x06Format\x12\x12\n" +
+	"\x0eTHIRTY_TWO_BIT\x10\x00\x12\x12\n" +
+	"\x0eSIXTY_FOUR_BIT\x10\x01\"t\n" +
+	"\aRxPower\x12\x15\n" +
+	"\x06onu_sn\x18\x01 \x01(\tR\x05onuSn\x12\x16\n" +
+	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1f\n" +
+	"\vfail_reason\x18\x03 \x01(\tR\n" +
+	"failReason\x12\x19\n" +
+	"\brx_power\x18\x04 \x01(\x01R\arxPower\"e\n" +
+	"\x15GetOltRxPowerResponse\x12\x1d\n" +
+	"\n" +
+	"port_label\x18\x01 \x01(\tR\tportLabel\x12-\n" +
+	"\brx_power\x18\x02 \x03(\v2\x12.extension.RxPowerR\arxPower\"\x98\x01\n" +
+	"\x12GetRxPowerResponse\x12\x17\n" +
+	"\aintf_id\x18\x01 \x01(\aR\x06intfId\x12\x15\n" +
+	"\x06onu_id\x18\x02 \x01(\aR\x05onuId\x12\x16\n" +
+	"\x06status\x18\x03 \x01(\tR\x06status\x12\x1f\n" +
+	"\vfail_reason\x18\x04 \x01(\tR\n" +
+	"failReason\x12\x19\n" +
+	"\brx_power\x18\x05 \x01(\x01R\arxPower\"J\n" +
+	"\x1aGetOnuOmciTxRxStatsRequest\x12,\n" +
+	"\x05empty\x18\x01 \x01(\v2\x16.google.protobuf.EmptyR\x05empty\"\xf1\x03\n" +
+	"\x1bGetOnuOmciTxRxStatsResponse\x12)\n" +
+	"\x11base_tx_ar_frames\x18\x01 \x01(\rR\x0ebaseTxArFrames\x12)\n" +
+	"\x11base_rx_ak_frames\x18\x02 \x01(\rR\x0ebaseRxAkFrames\x12.\n" +
+	"\x14base_tx_no_ar_frames\x18\x03 \x01(\rR\x10baseTxNoArFrames\x12.\n" +
+	"\x14base_rx_no_ak_frames\x18\x04 \x01(\rR\x10baseRxNoAkFrames\x12'\n" +
+	"\x10ext_tx_ar_frames\x18\x05 \x01(\rR\rextTxArFrames\x12'\n" +
+	"\x10ext_rx_ak_frames\x18\x06 \x01(\rR\rextRxAkFrames\x12,\n" +
+	"\x13ext_tx_no_ar_frames\x18\a \x01(\rR\x0fextTxNoArFrames\x12,\n" +
+	"\x13ext_rx_no_ak_frames\x18\b \x01(\rR\x0fextRxNoAkFrames\x125\n" +
+	"\x17tx_omci_counter_retries\x18\t \x01(\rR\x14txOmciCounterRetries\x127\n" +
+	"\x18tx_omci_counter_timeouts\x18\n" +
+	" \x01(\rR\x15txOmciCounterTimeouts\"M\n" +
+	"\x1dGetOnuOmciActiveAlarmsRequest\x12,\n" +
+	"\x05empty\x18\x01 \x01(\v2\x16.google.protobuf.EmptyR\x05empty\"}\n" +
+	"\tAlarmData\x12\x19\n" +
+	"\bclass_id\x18\x01 \x01(\rR\aclassId\x12\x1f\n" +
+	"\vinstance_id\x18\x02 \x01(\rR\n" +
+	"instanceId\x12\x12\n" +
+	"\x04name\x18\x03 \x01(\tR\x04name\x12 \n" +
+	"\vdescription\x18\x04 \x01(\tR\vdescription\"[\n" +
+	"\x1eGetOnuOmciActiveAlarmsResponse\x129\n" +
+	"\ractive_alarms\x18\x01 \x03(\v2\x14.extension.AlarmDataR\factiveAlarms\"\xc2\x01\n" +
+	"!GetOffloadedAppsStatisticsRequest\x12U\n" +
+	"\bstatsFor\x18\x01 \x01(\x0e29.extension.GetOffloadedAppsStatisticsRequest.OffloadedAppR\bstatsFor\"F\n" +
+	"\fOffloadedApp\x12\r\n" +
+	"\tUNDEFINED\x10\x00\x12\v\n" +
+	"\aPPPoeIA\x10\x01\x12\f\n" +
+	"\bDHCPv4RA\x10\x02\x12\f\n" +
+	"\bDHCPv6RA\x10\x03\"\x8b\x16\n" +
+	"\"GetOffloadedAppsStatisticsResponse\x12c\n" +
+	"\rdhcpv4RaStats\x18\x01 \x01(\v2;.extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStatsH\x00R\rdhcpv4RaStats\x12c\n" +
+	"\rdhcpv6RaStats\x18\x02 \x01(\v2;.extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStatsH\x00R\rdhcpv6RaStats\x12`\n" +
+	"\fpppoeIaStats\x18\x03 \x01(\v2:.extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStatsH\x00R\fpppoeIaStats\x1a\xfb\x05\n" +
+	"\rDHCPv4RAStats\x12:\n" +
+	"\x1ain_bad_packets_from_client\x18\x01 \x01(\rR\x16inBadPacketsFromClient\x12:\n" +
+	"\x1ain_bad_packets_from_server\x18\x02 \x01(\rR\x16inBadPacketsFromServer\x123\n" +
+	"\x16in_packets_from_client\x18\x03 \x01(\rR\x13inPacketsFromClient\x123\n" +
+	"\x16in_packets_from_server\x18\x04 \x01(\rR\x13inPacketsFromServer\x121\n" +
+	"\x15out_packets_to_server\x18\x05 \x01(\rR\x12outPacketsToServer\x121\n" +
+	"\x15out_packets_to_client\x18\x06 \x01(\rR\x12outPacketsToClient\x12M\n" +
+	"$option_82_inserted_packets_to_server\x18\a \x01(\rR\x1foption82InsertedPacketsToServer\x12K\n" +
+	"#option_82_removed_packets_to_client\x18\b \x01(\rR\x1eoption82RemovedPacketsToClient\x12E\n" +
+	" option_82_not_inserted_to_server\x18\t \x01(\rR\x1boption82NotInsertedToServer\x12{\n" +
+	"\x10additional_stats\x18\n" +
+	" \x03(\v2P.extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.AdditionalStatsEntryR\x0fadditionalStats\x1aB\n" +
+	"\x14AdditionalStatsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xf5\x06\n" +
+	"\rDHCPv6RAStats\x12:\n" +
+	"\x1ain_bad_packets_from_client\x18\x01 \x01(\rR\x16inBadPacketsFromClient\x12:\n" +
+	"\x1ain_bad_packets_from_server\x18\x02 \x01(\rR\x16inBadPacketsFromServer\x12M\n" +
+	"$option_17_inserted_packets_to_server\x18\x03 \x01(\rR\x1foption17InsertedPacketsToServer\x12K\n" +
+	"#option_17_removed_packets_to_client\x18\x04 \x01(\rR\x1eoption17RemovedPacketsToClient\x12M\n" +
+	"$option_18_inserted_packets_to_server\x18\x05 \x01(\rR\x1foption18InsertedPacketsToServer\x12K\n" +
+	"#option_18_removed_packets_to_client\x18\x06 \x01(\rR\x1eoption18RemovedPacketsToClient\x12M\n" +
+	"$option_37_inserted_packets_to_server\x18\a \x01(\rR\x1foption37InsertedPacketsToServer\x12K\n" +
+	"#option_37_removed_packets_to_client\x18\b \x01(\rR\x1eoption37RemovedPacketsToClient\x12W\n" +
+	")outgoing_mtu_exceeded_packets_from_client\x18\t \x01(\rR$outgoingMtuExceededPacketsFromClient\x12{\n" +
+	"\x10additional_stats\x18\n" +
+	" \x03(\v2P.extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.AdditionalStatsEntryR\x0fadditionalStats\x1aB\n" +
+	"\x14AdditionalStatsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xb9\x06\n" +
+	"\fPPPoeIAStats\x12>\n" +
+	"\x1cin_error_packets_from_client\x18\x01 \x01(\rR\x18inErrorPacketsFromClient\x12>\n" +
+	"\x1cin_error_packets_from_server\x18\x02 \x01(\rR\x18inErrorPacketsFromServer\x123\n" +
+	"\x16in_packets_from_client\x18\x03 \x01(\rR\x13inPacketsFromClient\x123\n" +
+	"\x16in_packets_from_server\x18\x04 \x01(\rR\x13inPacketsFromServer\x121\n" +
+	"\x15out_packets_to_server\x18\x05 \x01(\rR\x12outPacketsToServer\x121\n" +
+	"\x15out_packets_to_client\x18\x06 \x01(\rR\x12outPacketsToClient\x12`\n" +
+	".vendor_specific_tag_inserted_packets_to_server\x18\a \x01(\rR(vendorSpecificTagInsertedPacketsToServer\x12^\n" +
+	"-vendor_specific_tag_removed_packets_to_client\x18\b \x01(\rR'vendorSpecificTagRemovedPacketsToClient\x12W\n" +
+	")outgoing_mtu_exceeded_packets_from_client\x18\t \x01(\rR$outgoingMtuExceededPacketsFromClient\x12z\n" +
+	"\x10additional_stats\x18\n" +
+	" \x03(\v2O.extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.AdditionalStatsEntryR\x0fadditionalStats\x1aB\n" +
+	"\x14AdditionalStatsEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\a\n" +
+	"\x05stats\"\xf8\t\n" +
+	"\x0fGetValueRequest\x12;\n" +
+	"\bdistance\x18\x01 \x01(\v2\x1d.extension.GetDistanceRequestH\x00R\bdistance\x12;\n" +
+	"\auniInfo\x18\x02 \x01(\v2\x1f.extension.GetOnuUniInfoRequestH\x00R\auniInfo\x12A\n" +
+	"\voltPortInfo\x18\x03 \x01(\v2\x1d.extension.GetOltPortCountersH\x00R\voltPortInfo\x12I\n" +
+	"\x0eonuOpticalInfo\x18\x04 \x01(\v2\x1f.extension.GetOnuPonOpticalInfoH\x00R\x0eonuOpticalInfo\x12R\n" +
+	"\rethBridgePort\x18\x05 \x01(\v2*.extension.GetOnuEthernetBridgePortHistoryH\x00R\rethBridgePort\x12=\n" +
+	"\n" +
+	"fecHistory\x18\x06 \x01(\v2\x1b.extension.GetOnuFecHistoryH\x00R\n" +
+	"fecHistory\x12B\n" +
+	"\n" +
+	"onuPonInfo\x18\a \x01(\v2 .extension.GetOnuCountersRequestH\x00R\n" +
+	"onuPonInfo\x12L\n" +
+	"\aonuInfo\x18\b \x01(\v20.extension.GetOmciEthernetFrameExtendedPmRequestH\x00R\aonuInfo\x128\n" +
+	"\arxPower\x18\t \x01(\v2\x1c.extension.GetRxPowerRequestH\x00R\arxPower\x12K\n" +
+	"\fonuOmciStats\x18\n" +
+	" \x01(\v2%.extension.GetOnuOmciTxRxStatsRequestH\x00R\fonuOmciStats\x12A\n" +
+	"\n" +
+	"oltRxPower\x18\v \x01(\v2\x1f.extension.GetOltRxPowerRequestH\x00R\n" +
+	"oltRxPower\x12T\n" +
+	"\x0fonuActiveAlarms\x18\f \x01(\v2(.extension.GetOnuOmciActiveAlarmsRequestH\x00R\x0fonuActiveAlarms\x12^\n" +
+	"\x12offloadedAppsStats\x18\r \x01(\v2,.extension.GetOffloadedAppsStatisticsRequestH\x00R\x12offloadedAppsStats\x12U\n" +
+	"\x10onuAllocGemStats\x18\x0e \x01(\v2'.extension.GetOnuAllocGemHistoryRequestH\x00R\x10onuAllocGemStats\x12P\n" +
+	"\x0fonuStatsFromOlt\x18\x0f \x01(\v2$.extension.GetOnuStatsFromOltRequestH\x00R\x0fonuStatsFromOlt\x12A\n" +
+	"\voltPonStats\x18\x10 \x01(\v2\x1d.extension.GetPonStatsRequestH\x00R\voltPonStats\x12A\n" +
+	"\voltNniStats\x18\x11 \x01(\v2\x1d.extension.GetNNIStatsRequestH\x00R\voltNniStatsB\t\n" +
+	"\arequest\"\xe7\r\n" +
+	"\x10GetValueResponse\x12:\n" +
+	"\x06status\x18\x01 \x01(\x0e2\".extension.GetValueResponse.StatusR\x06status\x12E\n" +
+	"\terrReason\x18\x02 \x01(\x0e2'.extension.GetValueResponse.ErrorReasonR\terrReason\x12<\n" +
+	"\bdistance\x18\x03 \x01(\v2\x1e.extension.GetDistanceResponseH\x00R\bdistance\x12<\n" +
+	"\auniInfo\x18\x04 \x01(\v2 .extension.GetOnuUniInfoResponseH\x00R\auniInfo\x12K\n" +
+	"\fportCoutners\x18\x05 \x01(\v2%.extension.GetOltPortCountersResponseH\x00R\fportCoutners\x12Q\n" +
+	"\x0eonuOpticalInfo\x18\x06 \x01(\v2'.extension.GetOnuPonOpticalInfoResponseH\x00R\x0eonuOpticalInfo\x12b\n" +
+	"\x11ethBridgePortInfo\x18\a \x01(\v22.extension.GetOnuEthernetBridgePortHistoryResponseH\x00R\x11ethBridgePortInfo\x12E\n" +
+	"\n" +
+	"fecHistory\x18\b \x01(\v2#.extension.GetOnuFecHistoryResponseH\x00R\n" +
+	"fecHistory\x12K\n" +
+	"\x0eonuPonCounters\x18\t \x01(\v2!.extension.GetOnuCountersResponseH\x00R\x0eonuPonCounters\x12U\n" +
+	"\vonuCounters\x18\n" +
+	" \x01(\v21.extension.GetOmciEthernetFrameExtendedPmResponseH\x00R\vonuCounters\x129\n" +
+	"\arxPower\x18\v \x01(\v2\x1d.extension.GetRxPowerResponseH\x00R\arxPower\x12L\n" +
+	"\fonuOmciStats\x18\f \x01(\v2&.extension.GetOnuOmciTxRxStatsResponseH\x00R\fonuOmciStats\x12B\n" +
+	"\n" +
+	"oltRxPower\x18\r \x01(\v2 .extension.GetOltRxPowerResponseH\x00R\n" +
+	"oltRxPower\x12U\n" +
+	"\x0fonuActiveAlarms\x18\x0e \x01(\v2).extension.GetOnuOmciActiveAlarmsResponseH\x00R\x0fonuActiveAlarms\x12_\n" +
+	"\x12offloadedAppsStats\x18\x0f \x01(\v2-.extension.GetOffloadedAppsStatisticsResponseH\x00R\x12offloadedAppsStats\x12f\n" +
+	"\x18onuAllocGemStatsResponse\x18\x10 \x01(\v2(.extension.GetOnuAllocGemHistoryResponseH\x00R\x18onuAllocGemStatsResponse\x12a\n" +
+	"\x17onuStatsFromOltResponse\x18\x11 \x01(\v2%.extension.GetOnuStatsFromOltResponseH\x00R\x17onuStatsFromOltResponse\x12R\n" +
+	"\x13oltPonStatsResponse\x18\x12 \x01(\v2\x1e.extension.GetPonStatsResponseH\x00R\x13oltPonStatsResponse\x12R\n" +
+	"\x13oltNniStatsResponse\x18\x13 \x01(\v2\x1e.extension.GetNNIStatsResponseH\x00R\x13oltNniStatsResponse\"1\n" +
+	"\x06Status\x12\x14\n" +
+	"\x10STATUS_UNDEFINED\x10\x00\x12\x06\n" +
+	"\x02OK\x10\x01\x12\t\n" +
+	"\x05ERROR\x10\x02\"\xad\x01\n" +
+	"\vErrorReason\x12\x14\n" +
+	"\x10REASON_UNDEFINED\x10\x00\x12\x0f\n" +
+	"\vUNSUPPORTED\x10\x01\x12\x15\n" +
+	"\x11INVALID_DEVICE_ID\x10\x02\x12\x15\n" +
+	"\x11INVALID_PORT_TYPE\x10\x03\x12\v\n" +
+	"\aTIMEOUT\x10\x04\x12\x14\n" +
+	"\x10INVALID_REQ_TYPE\x10\x05\x12\x12\n" +
+	"\x0eINTERNAL_ERROR\x10\x06\x12\x12\n" +
+	"\x0eINVALID_DEVICE\x10\aB\n" +
+	"\n" +
+	"\bresponse\"\xac\x01\n" +
+	"\x10AppOffloadConfig\x12&\n" +
+	"\x0eenableDHCPv4RA\x18\x01 \x01(\bR\x0eenableDHCPv4RA\x12&\n" +
+	"\x0eenableDHCPv6RA\x18\x02 \x01(\bR\x0eenableDHCPv6RA\x12$\n" +
+	"\renablePPPoEIA\x18\x03 \x01(\bR\renablePPPoEIA\x12\"\n" +
+	"\faccessNodeID\x18\x04 \x01(\tR\faccessNodeID\"\xfe\x01\n" +
+	"\x13AppOffloadOnuConfig\x12 \n" +
+	"\vonuDeviceId\x18\x01 \x01(\tR\vonuDeviceId\x12K\n" +
+	"\n" +
+	"perUniInfo\x18\x05 \x03(\v2+.extension.AppOffloadOnuConfig.PerUniConfigR\n" +
+	"perUniInfo\x1ax\n" +
+	"\fPerUniConfig\x12$\n" +
+	"\ragentRemoteID\x18\x02 \x01(\tR\ragentRemoteID\x12&\n" +
+	"\x0eagentCircuitID\x18\x03 \x01(\tR\x0eagentCircuitID\x12\x1a\n" +
+	"\bonuUniId\x18\x04 \x01(\rR\bonuUniId\"\xfa\x01\n" +
+	"\x0fSetValueRequest\x128\n" +
+	"\falarm_config\x18\x01 \x01(\v2\x13.config.AlarmConfigH\x00R\valarmConfig\x12K\n" +
+	"\x12app_offload_config\x18\x02 \x01(\v2\x1b.extension.AppOffloadConfigH\x00R\x10appOffloadConfig\x12U\n" +
+	"\x16app_offload_onu_config\x18\x03 \x01(\v2\x1e.extension.AppOffloadOnuConfigH\x00R\x13appOffloadOnuConfigB\t\n" +
+	"\arequest\"\xc4\x02\n" +
+	"\x10SetValueResponse\x12:\n" +
+	"\x06status\x18\x01 \x01(\x0e2\".extension.SetValueResponse.StatusR\x06status\x12E\n" +
+	"\terrReason\x18\x02 \x01(\x0e2'.extension.SetValueResponse.ErrorReasonR\terrReason\"1\n" +
+	"\x06Status\x12\x14\n" +
+	"\x10STATUS_UNDEFINED\x10\x00\x12\x06\n" +
+	"\x02OK\x10\x01\x12\t\n" +
+	"\x05ERROR\x10\x02\"z\n" +
+	"\vErrorReason\x12\x14\n" +
+	"\x10REASON_UNDEFINED\x10\x00\x12\x0f\n" +
+	"\vUNSUPPORTED\x10\x01\x12\x15\n" +
+	"\x11INVALID_DEVICE_ID\x10\x02\x12\x19\n" +
+	"\x15INVALID_ONU_DEVICE_ID\x10\x03\x12\x12\n" +
+	"\x0eINVALID_UNI_ID\x10\x04\"i\n" +
+	"\x15SingleGetValueRequest\x12\x1a\n" +
+	"\btargetId\x18\x01 \x01(\tR\btargetId\x124\n" +
+	"\arequest\x18\x02 \x01(\v2\x1a.extension.GetValueRequestR\arequest\"Q\n" +
+	"\x16SingleGetValueResponse\x127\n" +
+	"\bresponse\x18\x01 \x01(\v2\x1b.extension.GetValueResponseR\bresponse\"i\n" +
+	"\x15SingleSetValueRequest\x12\x1a\n" +
+	"\btargetId\x18\x01 \x01(\tR\btargetId\x124\n" +
+	"\arequest\x18\x02 \x01(\v2\x1a.extension.SetValueRequestR\arequest\"Q\n" +
+	"\x16SingleSetValueResponse\x127\n" +
+	"\bresponse\x18\x01 \x01(\v2\x1b.extension.SetValueResponseR\bresponse2\xb3\x01\n" +
+	"\tExtension\x12R\n" +
+	"\vGetExtValue\x12 .extension.SingleGetValueRequest\x1a!.extension.SingleGetValueResponse\x12R\n" +
+	"\vSetExtValue\x12 .extension.SingleSetValueRequest\x1a!.extension.SingleSetValueResponseBR\n" +
+	"\x1dorg.opencord.voltha.extensionZ1github.com/opencord/voltha-protos/v5/go/extensionb\x06proto3"
+
+var (
+	file_voltha_protos_extensions_proto_rawDescOnce sync.Once
+	file_voltha_protos_extensions_proto_rawDescData []byte
+)
+
+func file_voltha_protos_extensions_proto_rawDescGZIP() []byte {
+	file_voltha_protos_extensions_proto_rawDescOnce.Do(func() {
+		file_voltha_protos_extensions_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_voltha_protos_extensions_proto_rawDesc), len(file_voltha_protos_extensions_proto_rawDesc)))
+	})
+	return file_voltha_protos_extensions_proto_rawDescData
+}
+
+var file_voltha_protos_extensions_proto_enumTypes = make([]protoimpl.EnumInfo, 12)
+var file_voltha_protos_extensions_proto_msgTypes = make([]protoimpl.MessageInfo, 64)
+var file_voltha_protos_extensions_proto_goTypes = []any{
+	(ValueType_Type)(0),                                      // 0: extension.ValueType.Type
+	(GetOnuUniInfoResponse_ConfigurationInd)(0),              // 1: extension.GetOnuUniInfoResponse.ConfigurationInd
+	(GetOnuUniInfoResponse_AdministrativeState)(0),           // 2: extension.GetOnuUniInfoResponse.AdministrativeState
+	(GetOnuUniInfoResponse_OperationalState)(0),              // 3: extension.GetOnuUniInfoResponse.OperationalState
+	(GetOltPortCounters_PortType)(0),                         // 4: extension.GetOltPortCounters.PortType
+	(GetOnuEthernetBridgePortHistory_Direction)(0),           // 5: extension.GetOnuEthernetBridgePortHistory.Direction
+	(GetOmciEthernetFrameExtendedPmResponse_Format)(0),       // 6: extension.GetOmciEthernetFrameExtendedPmResponse.Format
+	(GetOffloadedAppsStatisticsRequest_OffloadedApp)(0),      // 7: extension.GetOffloadedAppsStatisticsRequest.OffloadedApp
+	(GetValueResponse_Status)(0),                             // 8: extension.GetValueResponse.Status
+	(GetValueResponse_ErrorReason)(0),                        // 9: extension.GetValueResponse.ErrorReason
+	(SetValueResponse_Status)(0),                             // 10: extension.SetValueResponse.Status
+	(SetValueResponse_ErrorReason)(0),                        // 11: extension.SetValueResponse.ErrorReason
+	(*ValueSet)(nil),                                         // 12: extension.ValueSet
+	(*ValueType)(nil),                                        // 13: extension.ValueType
+	(*ValueSpecifier)(nil),                                   // 14: extension.ValueSpecifier
+	(*ReturnValues)(nil),                                     // 15: extension.ReturnValues
+	(*GetDistanceRequest)(nil),                               // 16: extension.GetDistanceRequest
+	(*GetDistanceResponse)(nil),                              // 17: extension.GetDistanceResponse
+	(*GetOnuUniInfoRequest)(nil),                             // 18: extension.GetOnuUniInfoRequest
+	(*GetOnuUniInfoResponse)(nil),                            // 19: extension.GetOnuUniInfoResponse
+	(*GetOltPortCounters)(nil),                               // 20: extension.GetOltPortCounters
+	(*GetOltPortCountersResponse)(nil),                       // 21: extension.GetOltPortCountersResponse
+	(*GetOnuPonOpticalInfo)(nil),                             // 22: extension.GetOnuPonOpticalInfo
+	(*GetOnuPonOpticalInfoResponse)(nil),                     // 23: extension.GetOnuPonOpticalInfoResponse
+	(*GetOnuEthernetBridgePortHistory)(nil),                  // 24: extension.GetOnuEthernetBridgePortHistory
+	(*GetOnuEthernetBridgePortHistoryResponse)(nil),          // 25: extension.GetOnuEthernetBridgePortHistoryResponse
+	(*GetOnuAllocGemHistoryRequest)(nil),                     // 26: extension.GetOnuAllocGemHistoryRequest
+	(*OnuGemPortHistoryData)(nil),                            // 27: extension.OnuGemPortHistoryData
+	(*OnuAllocHistoryData)(nil),                              // 28: extension.OnuAllocHistoryData
+	(*OnuAllocGemHistoryData)(nil),                           // 29: extension.OnuAllocGemHistoryData
+	(*GetOnuAllocGemHistoryResponse)(nil),                    // 30: extension.GetOnuAllocGemHistoryResponse
+	(*GetOnuFecHistory)(nil),                                 // 31: extension.GetOnuFecHistory
+	(*GetOnuFecHistoryResponse)(nil),                         // 32: extension.GetOnuFecHistoryResponse
+	(*GetOnuCountersRequest)(nil),                            // 33: extension.GetOnuCountersRequest
+	(*GetOmciEthernetFrameExtendedPmRequest)(nil),            // 34: extension.GetOmciEthernetFrameExtendedPmRequest
+	(*GetRxPowerRequest)(nil),                                // 35: extension.GetRxPowerRequest
+	(*GetOltRxPowerRequest)(nil),                             // 36: extension.GetOltRxPowerRequest
+	(*GetPonStatsRequest)(nil),                               // 37: extension.GetPonStatsRequest
+	(*GetPonStatsResponse)(nil),                              // 38: extension.GetPonStatsResponse
+	(*GetNNIStatsRequest)(nil),                               // 39: extension.GetNNIStatsRequest
+	(*GetNNIStatsResponse)(nil),                              // 40: extension.GetNNIStatsResponse
+	(*GetOnuStatsFromOltRequest)(nil),                        // 41: extension.GetOnuStatsFromOltRequest
+	(*OnuGemPortInfoFromOlt)(nil),                            // 42: extension.OnuGemPortInfoFromOlt
+	(*OnuAllocIdInfoFromOlt)(nil),                            // 43: extension.OnuAllocIdInfoFromOlt
+	(*OnuAllocGemStatsFromOltResponse)(nil),                  // 44: extension.OnuAllocGemStatsFromOltResponse
+	(*GetOnuStatsFromOltResponse)(nil),                       // 45: extension.GetOnuStatsFromOltResponse
+	(*GetOnuCountersResponse)(nil),                           // 46: extension.GetOnuCountersResponse
+	(*OmciEthernetFrameExtendedPm)(nil),                      // 47: extension.OmciEthernetFrameExtendedPm
+	(*GetOmciEthernetFrameExtendedPmResponse)(nil),           // 48: extension.GetOmciEthernetFrameExtendedPmResponse
+	(*RxPower)(nil),                                          // 49: extension.RxPower
+	(*GetOltRxPowerResponse)(nil),                            // 50: extension.GetOltRxPowerResponse
+	(*GetRxPowerResponse)(nil),                               // 51: extension.GetRxPowerResponse
+	(*GetOnuOmciTxRxStatsRequest)(nil),                       // 52: extension.GetOnuOmciTxRxStatsRequest
+	(*GetOnuOmciTxRxStatsResponse)(nil),                      // 53: extension.GetOnuOmciTxRxStatsResponse
+	(*GetOnuOmciActiveAlarmsRequest)(nil),                    // 54: extension.GetOnuOmciActiveAlarmsRequest
+	(*AlarmData)(nil),                                        // 55: extension.AlarmData
+	(*GetOnuOmciActiveAlarmsResponse)(nil),                   // 56: extension.GetOnuOmciActiveAlarmsResponse
+	(*GetOffloadedAppsStatisticsRequest)(nil),                // 57: extension.GetOffloadedAppsStatisticsRequest
+	(*GetOffloadedAppsStatisticsResponse)(nil),               // 58: extension.GetOffloadedAppsStatisticsResponse
+	(*GetValueRequest)(nil),                                  // 59: extension.GetValueRequest
+	(*GetValueResponse)(nil),                                 // 60: extension.GetValueResponse
+	(*AppOffloadConfig)(nil),                                 // 61: extension.AppOffloadConfig
+	(*AppOffloadOnuConfig)(nil),                              // 62: extension.AppOffloadOnuConfig
+	(*SetValueRequest)(nil),                                  // 63: extension.SetValueRequest
+	(*SetValueResponse)(nil),                                 // 64: extension.SetValueResponse
+	(*SingleGetValueRequest)(nil),                            // 65: extension.SingleGetValueRequest
+	(*SingleGetValueResponse)(nil),                           // 66: extension.SingleGetValueResponse
+	(*SingleSetValueRequest)(nil),                            // 67: extension.SingleSetValueRequest
+	(*SingleSetValueResponse)(nil),                           // 68: extension.SingleSetValueResponse
+	(*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats)(nil), // 69: extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats
+	(*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats)(nil), // 70: extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats
+	(*GetOffloadedAppsStatisticsResponse_PPPoeIAStats)(nil),  // 71: extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats
+	nil,                                      // 72: extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.AdditionalStatsEntry
+	nil,                                      // 73: extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.AdditionalStatsEntry
+	nil,                                      // 74: extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.AdditionalStatsEntry
+	(*AppOffloadOnuConfig_PerUniConfig)(nil), // 75: extension.AppOffloadOnuConfig.PerUniConfig
+	(*config.AlarmConfig)(nil),               // 76: config.AlarmConfig
+	(*emptypb.Empty)(nil),                    // 77: google.protobuf.Empty
+	(*common.PortStatistics)(nil),            // 78: common.PortStatistics
+}
+var file_voltha_protos_extensions_proto_depIdxs = []int32{
+	76, // 0: extension.ValueSet.alarm_config:type_name -> config.AlarmConfig
+	0,  // 1: extension.ValueSpecifier.value:type_name -> extension.ValueType.Type
+	2,  // 2: extension.GetOnuUniInfoResponse.admState:type_name -> extension.GetOnuUniInfoResponse.AdministrativeState
+	3,  // 3: extension.GetOnuUniInfoResponse.operState:type_name -> extension.GetOnuUniInfoResponse.OperationalState
+	1,  // 4: extension.GetOnuUniInfoResponse.configInd:type_name -> extension.GetOnuUniInfoResponse.ConfigurationInd
+	4,  // 5: extension.GetOltPortCounters.portType:type_name -> extension.GetOltPortCounters.PortType
+	77, // 6: extension.GetOnuPonOpticalInfo.empty:type_name -> google.protobuf.Empty
+	5,  // 7: extension.GetOnuEthernetBridgePortHistory.direction:type_name -> extension.GetOnuEthernetBridgePortHistory.Direction
+	77, // 8: extension.GetOnuAllocGemHistoryRequest.empty:type_name -> google.protobuf.Empty
+	28, // 9: extension.OnuAllocGemHistoryData.onuAllocIdInfo:type_name -> extension.OnuAllocHistoryData
+	27, // 10: extension.OnuAllocGemHistoryData.gemPortInfo:type_name -> extension.OnuGemPortHistoryData
+	29, // 11: extension.GetOnuAllocGemHistoryResponse.onuAllocGemHistoryData:type_name -> extension.OnuAllocGemHistoryData
+	77, // 12: extension.GetOnuFecHistory.empty:type_name -> google.protobuf.Empty
+	78, // 13: extension.GetPonStatsResponse.portStatistics:type_name -> common.PortStatistics
+	78, // 14: extension.GetNNIStatsResponse.portStatistics:type_name -> common.PortStatistics
+	43, // 15: extension.OnuAllocGemStatsFromOltResponse.allocIdInfo:type_name -> extension.OnuAllocIdInfoFromOlt
+	42, // 16: extension.OnuAllocGemStatsFromOltResponse.gemPortInfo:type_name -> extension.OnuGemPortInfoFromOlt
+	44, // 17: extension.GetOnuStatsFromOltResponse.allocGemStatsInfo:type_name -> extension.OnuAllocGemStatsFromOltResponse
+	47, // 18: extension.GetOmciEthernetFrameExtendedPmResponse.upstream:type_name -> extension.OmciEthernetFrameExtendedPm
+	47, // 19: extension.GetOmciEthernetFrameExtendedPmResponse.downstream:type_name -> extension.OmciEthernetFrameExtendedPm
+	6,  // 20: extension.GetOmciEthernetFrameExtendedPmResponse.omci_ethernet_frame_extended_pm_format:type_name -> extension.GetOmciEthernetFrameExtendedPmResponse.Format
+	49, // 21: extension.GetOltRxPowerResponse.rx_power:type_name -> extension.RxPower
+	77, // 22: extension.GetOnuOmciTxRxStatsRequest.empty:type_name -> google.protobuf.Empty
+	77, // 23: extension.GetOnuOmciActiveAlarmsRequest.empty:type_name -> google.protobuf.Empty
+	55, // 24: extension.GetOnuOmciActiveAlarmsResponse.active_alarms:type_name -> extension.AlarmData
+	7,  // 25: extension.GetOffloadedAppsStatisticsRequest.statsFor:type_name -> extension.GetOffloadedAppsStatisticsRequest.OffloadedApp
+	69, // 26: extension.GetOffloadedAppsStatisticsResponse.dhcpv4RaStats:type_name -> extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats
+	70, // 27: extension.GetOffloadedAppsStatisticsResponse.dhcpv6RaStats:type_name -> extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats
+	71, // 28: extension.GetOffloadedAppsStatisticsResponse.pppoeIaStats:type_name -> extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats
+	16, // 29: extension.GetValueRequest.distance:type_name -> extension.GetDistanceRequest
+	18, // 30: extension.GetValueRequest.uniInfo:type_name -> extension.GetOnuUniInfoRequest
+	20, // 31: extension.GetValueRequest.oltPortInfo:type_name -> extension.GetOltPortCounters
+	22, // 32: extension.GetValueRequest.onuOpticalInfo:type_name -> extension.GetOnuPonOpticalInfo
+	24, // 33: extension.GetValueRequest.ethBridgePort:type_name -> extension.GetOnuEthernetBridgePortHistory
+	31, // 34: extension.GetValueRequest.fecHistory:type_name -> extension.GetOnuFecHistory
+	33, // 35: extension.GetValueRequest.onuPonInfo:type_name -> extension.GetOnuCountersRequest
+	34, // 36: extension.GetValueRequest.onuInfo:type_name -> extension.GetOmciEthernetFrameExtendedPmRequest
+	35, // 37: extension.GetValueRequest.rxPower:type_name -> extension.GetRxPowerRequest
+	52, // 38: extension.GetValueRequest.onuOmciStats:type_name -> extension.GetOnuOmciTxRxStatsRequest
+	36, // 39: extension.GetValueRequest.oltRxPower:type_name -> extension.GetOltRxPowerRequest
+	54, // 40: extension.GetValueRequest.onuActiveAlarms:type_name -> extension.GetOnuOmciActiveAlarmsRequest
+	57, // 41: extension.GetValueRequest.offloadedAppsStats:type_name -> extension.GetOffloadedAppsStatisticsRequest
+	26, // 42: extension.GetValueRequest.onuAllocGemStats:type_name -> extension.GetOnuAllocGemHistoryRequest
+	41, // 43: extension.GetValueRequest.onuStatsFromOlt:type_name -> extension.GetOnuStatsFromOltRequest
+	37, // 44: extension.GetValueRequest.oltPonStats:type_name -> extension.GetPonStatsRequest
+	39, // 45: extension.GetValueRequest.oltNniStats:type_name -> extension.GetNNIStatsRequest
+	8,  // 46: extension.GetValueResponse.status:type_name -> extension.GetValueResponse.Status
+	9,  // 47: extension.GetValueResponse.errReason:type_name -> extension.GetValueResponse.ErrorReason
+	17, // 48: extension.GetValueResponse.distance:type_name -> extension.GetDistanceResponse
+	19, // 49: extension.GetValueResponse.uniInfo:type_name -> extension.GetOnuUniInfoResponse
+	21, // 50: extension.GetValueResponse.portCoutners:type_name -> extension.GetOltPortCountersResponse
+	23, // 51: extension.GetValueResponse.onuOpticalInfo:type_name -> extension.GetOnuPonOpticalInfoResponse
+	25, // 52: extension.GetValueResponse.ethBridgePortInfo:type_name -> extension.GetOnuEthernetBridgePortHistoryResponse
+	32, // 53: extension.GetValueResponse.fecHistory:type_name -> extension.GetOnuFecHistoryResponse
+	46, // 54: extension.GetValueResponse.onuPonCounters:type_name -> extension.GetOnuCountersResponse
+	48, // 55: extension.GetValueResponse.onuCounters:type_name -> extension.GetOmciEthernetFrameExtendedPmResponse
+	51, // 56: extension.GetValueResponse.rxPower:type_name -> extension.GetRxPowerResponse
+	53, // 57: extension.GetValueResponse.onuOmciStats:type_name -> extension.GetOnuOmciTxRxStatsResponse
+	50, // 58: extension.GetValueResponse.oltRxPower:type_name -> extension.GetOltRxPowerResponse
+	56, // 59: extension.GetValueResponse.onuActiveAlarms:type_name -> extension.GetOnuOmciActiveAlarmsResponse
+	58, // 60: extension.GetValueResponse.offloadedAppsStats:type_name -> extension.GetOffloadedAppsStatisticsResponse
+	30, // 61: extension.GetValueResponse.onuAllocGemStatsResponse:type_name -> extension.GetOnuAllocGemHistoryResponse
+	45, // 62: extension.GetValueResponse.onuStatsFromOltResponse:type_name -> extension.GetOnuStatsFromOltResponse
+	38, // 63: extension.GetValueResponse.oltPonStatsResponse:type_name -> extension.GetPonStatsResponse
+	40, // 64: extension.GetValueResponse.oltNniStatsResponse:type_name -> extension.GetNNIStatsResponse
+	75, // 65: extension.AppOffloadOnuConfig.perUniInfo:type_name -> extension.AppOffloadOnuConfig.PerUniConfig
+	76, // 66: extension.SetValueRequest.alarm_config:type_name -> config.AlarmConfig
+	61, // 67: extension.SetValueRequest.app_offload_config:type_name -> extension.AppOffloadConfig
+	62, // 68: extension.SetValueRequest.app_offload_onu_config:type_name -> extension.AppOffloadOnuConfig
+	10, // 69: extension.SetValueResponse.status:type_name -> extension.SetValueResponse.Status
+	11, // 70: extension.SetValueResponse.errReason:type_name -> extension.SetValueResponse.ErrorReason
+	59, // 71: extension.SingleGetValueRequest.request:type_name -> extension.GetValueRequest
+	60, // 72: extension.SingleGetValueResponse.response:type_name -> extension.GetValueResponse
+	63, // 73: extension.SingleSetValueRequest.request:type_name -> extension.SetValueRequest
+	64, // 74: extension.SingleSetValueResponse.response:type_name -> extension.SetValueResponse
+	72, // 75: extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.additional_stats:type_name -> extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.AdditionalStatsEntry
+	73, // 76: extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.additional_stats:type_name -> extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.AdditionalStatsEntry
+	74, // 77: extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.additional_stats:type_name -> extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.AdditionalStatsEntry
+	65, // 78: extension.Extension.GetExtValue:input_type -> extension.SingleGetValueRequest
+	67, // 79: extension.Extension.SetExtValue:input_type -> extension.SingleSetValueRequest
+	66, // 80: extension.Extension.GetExtValue:output_type -> extension.SingleGetValueResponse
+	68, // 81: extension.Extension.SetExtValue:output_type -> extension.SingleSetValueResponse
+	80, // [80:82] is the sub-list for method output_type
+	78, // [78:80] is the sub-list for method input_type
+	78, // [78:78] is the sub-list for extension type_name
+	78, // [78:78] is the sub-list for extension extendee
+	0,  // [0:78] is the sub-list for field type_name
+}
+
+func init() { file_voltha_protos_extensions_proto_init() }
+func file_voltha_protos_extensions_proto_init() {
+	if File_voltha_protos_extensions_proto != nil {
+		return
+	}
+	file_voltha_protos_extensions_proto_msgTypes[0].OneofWrappers = []any{
+		(*ValueSet_AlarmConfig)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[22].OneofWrappers = []any{
+		(*GetOmciEthernetFrameExtendedPmRequest_UniIndex)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[25].OneofWrappers = []any{
+		(*GetPonStatsRequest_PortLabel)(nil),
+		(*GetPonStatsRequest_PortId)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[27].OneofWrappers = []any{
+		(*GetNNIStatsRequest_PortLabel)(nil),
+		(*GetNNIStatsRequest_PortId)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[34].OneofWrappers = []any{
+		(*GetOnuCountersResponse_IntfId)(nil),
+		(*GetOnuCountersResponse_OnuId)(nil),
+		(*GetOnuCountersResponse_PositiveDrift)(nil),
+		(*GetOnuCountersResponse_NegativeDrift)(nil),
+		(*GetOnuCountersResponse_DelimiterMissDetection)(nil),
+		(*GetOnuCountersResponse_BipErrors)(nil),
+		(*GetOnuCountersResponse_BipUnits)(nil),
+		(*GetOnuCountersResponse_FecCorrectedSymbols)(nil),
+		(*GetOnuCountersResponse_FecCodewordsCorrected)(nil),
+		(*GetOnuCountersResponse_FecCodewordsUncorrectable)(nil),
+		(*GetOnuCountersResponse_FecCodewords)(nil),
+		(*GetOnuCountersResponse_FecCorrectedUnits)(nil),
+		(*GetOnuCountersResponse_XgemKeyErrors)(nil),
+		(*GetOnuCountersResponse_XgemLoss)(nil),
+		(*GetOnuCountersResponse_RxPloamsError)(nil),
+		(*GetOnuCountersResponse_RxPloamsNonIdle)(nil),
+		(*GetOnuCountersResponse_RxOmci)(nil),
+		(*GetOnuCountersResponse_TxOmci)(nil),
+		(*GetOnuCountersResponse_RxOmciPacketsCrcError)(nil),
+		(*GetOnuCountersResponse_RxBytes)(nil),
+		(*GetOnuCountersResponse_RxPackets)(nil),
+		(*GetOnuCountersResponse_TxBytes)(nil),
+		(*GetOnuCountersResponse_TxPackets)(nil),
+		(*GetOnuCountersResponse_BerReported)(nil),
+		(*GetOnuCountersResponse_LcdgErrors)(nil),
+		(*GetOnuCountersResponse_RdiErrors)(nil),
+		(*GetOnuCountersResponse_Timestamp)(nil),
+		(*GetOnuCountersResponse_HecErrors)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[46].OneofWrappers = []any{
+		(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats)(nil),
+		(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats)(nil),
+		(*GetOffloadedAppsStatisticsResponse_PppoeIaStats)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[47].OneofWrappers = []any{
+		(*GetValueRequest_Distance)(nil),
+		(*GetValueRequest_UniInfo)(nil),
+		(*GetValueRequest_OltPortInfo)(nil),
+		(*GetValueRequest_OnuOpticalInfo)(nil),
+		(*GetValueRequest_EthBridgePort)(nil),
+		(*GetValueRequest_FecHistory)(nil),
+		(*GetValueRequest_OnuPonInfo)(nil),
+		(*GetValueRequest_OnuInfo)(nil),
+		(*GetValueRequest_RxPower)(nil),
+		(*GetValueRequest_OnuOmciStats)(nil),
+		(*GetValueRequest_OltRxPower)(nil),
+		(*GetValueRequest_OnuActiveAlarms)(nil),
+		(*GetValueRequest_OffloadedAppsStats)(nil),
+		(*GetValueRequest_OnuAllocGemStats)(nil),
+		(*GetValueRequest_OnuStatsFromOlt)(nil),
+		(*GetValueRequest_OltPonStats)(nil),
+		(*GetValueRequest_OltNniStats)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[48].OneofWrappers = []any{
+		(*GetValueResponse_Distance)(nil),
+		(*GetValueResponse_UniInfo)(nil),
+		(*GetValueResponse_PortCoutners)(nil),
+		(*GetValueResponse_OnuOpticalInfo)(nil),
+		(*GetValueResponse_EthBridgePortInfo)(nil),
+		(*GetValueResponse_FecHistory)(nil),
+		(*GetValueResponse_OnuPonCounters)(nil),
+		(*GetValueResponse_OnuCounters)(nil),
+		(*GetValueResponse_RxPower)(nil),
+		(*GetValueResponse_OnuOmciStats)(nil),
+		(*GetValueResponse_OltRxPower)(nil),
+		(*GetValueResponse_OnuActiveAlarms)(nil),
+		(*GetValueResponse_OffloadedAppsStats)(nil),
+		(*GetValueResponse_OnuAllocGemStatsResponse)(nil),
+		(*GetValueResponse_OnuStatsFromOltResponse)(nil),
+		(*GetValueResponse_OltPonStatsResponse)(nil),
+		(*GetValueResponse_OltNniStatsResponse)(nil),
+	}
+	file_voltha_protos_extensions_proto_msgTypes[51].OneofWrappers = []any{
+		(*SetValueRequest_AlarmConfig)(nil),
+		(*SetValueRequest_AppOffloadConfig)(nil),
+		(*SetValueRequest_AppOffloadOnuConfig)(nil),
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_voltha_protos_extensions_proto_rawDesc), len(file_voltha_protos_extensions_proto_rawDesc)),
+			NumEnums:      12,
+			NumMessages:   64,
+			NumExtensions: 0,
+			NumServices:   1,
 		},
-		{
-			MethodName: "SetExtValue",
-			Handler:    _Extension_SetExtValue_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "voltha_protos/extensions.proto",
+		GoTypes:           file_voltha_protos_extensions_proto_goTypes,
+		DependencyIndexes: file_voltha_protos_extensions_proto_depIdxs,
+		EnumInfos:         file_voltha_protos_extensions_proto_enumTypes,
+		MessageInfos:      file_voltha_protos_extensions_proto_msgTypes,
+	}.Build()
+	File_voltha_protos_extensions_proto = out.File
+	file_voltha_protos_extensions_proto_goTypes = nil
+	file_voltha_protos_extensions_proto_depIdxs = nil
 }
diff --git a/go/extension/extensions_grpc.pb.go b/go/extension/extensions_grpc.pb.go
new file mode 100644
index 0000000..94626cc
--- /dev/null
+++ b/go/extension/extensions_grpc.pb.go
@@ -0,0 +1,181 @@
+// Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at:
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.6.0
+// - protoc             v4.25.8
+// source: voltha_protos/extensions.proto
+
+package extension
+
+import (
+	context "context"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.64.0 or later.
+const _ = grpc.SupportPackageIsVersion9
+
+const (
+	Extension_GetExtValue_FullMethodName = "/extension.Extension/GetExtValue"
+	Extension_SetExtValue_FullMethodName = "/extension.Extension/SetExtValue"
+)
+
+// ExtensionClient is the client API for Extension service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+//
+// Extension is a service to get and set specific attributes
+type ExtensionClient interface {
+	// Get a single attribute
+	GetExtValue(ctx context.Context, in *SingleGetValueRequest, opts ...grpc.CallOption) (*SingleGetValueResponse, error)
+	// Set a single attribute
+	SetExtValue(ctx context.Context, in *SingleSetValueRequest, opts ...grpc.CallOption) (*SingleSetValueResponse, error)
+}
+
+type extensionClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewExtensionClient(cc grpc.ClientConnInterface) ExtensionClient {
+	return &extensionClient{cc}
+}
+
+func (c *extensionClient) GetExtValue(ctx context.Context, in *SingleGetValueRequest, opts ...grpc.CallOption) (*SingleGetValueResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(SingleGetValueResponse)
+	err := c.cc.Invoke(ctx, Extension_GetExtValue_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *extensionClient) SetExtValue(ctx context.Context, in *SingleSetValueRequest, opts ...grpc.CallOption) (*SingleSetValueResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(SingleSetValueResponse)
+	err := c.cc.Invoke(ctx, Extension_SetExtValue_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// ExtensionServer is the server API for Extension service.
+// All implementations must embed UnimplementedExtensionServer
+// for forward compatibility.
+//
+// Extension is a service to get and set specific attributes
+type ExtensionServer interface {
+	// Get a single attribute
+	GetExtValue(context.Context, *SingleGetValueRequest) (*SingleGetValueResponse, error)
+	// Set a single attribute
+	SetExtValue(context.Context, *SingleSetValueRequest) (*SingleSetValueResponse, error)
+	mustEmbedUnimplementedExtensionServer()
+}
+
+// UnimplementedExtensionServer must be embedded to have
+// forward compatible implementations.
+//
+// NOTE: this should be embedded by value instead of pointer to avoid a nil
+// pointer dereference when methods are called.
+type UnimplementedExtensionServer struct{}
+
+func (UnimplementedExtensionServer) GetExtValue(context.Context, *SingleGetValueRequest) (*SingleGetValueResponse, error) {
+	return nil, status.Error(codes.Unimplemented, "method GetExtValue not implemented")
+}
+func (UnimplementedExtensionServer) SetExtValue(context.Context, *SingleSetValueRequest) (*SingleSetValueResponse, error) {
+	return nil, status.Error(codes.Unimplemented, "method SetExtValue not implemented")
+}
+func (UnimplementedExtensionServer) mustEmbedUnimplementedExtensionServer() {}
+func (UnimplementedExtensionServer) testEmbeddedByValue()                   {}
+
+// UnsafeExtensionServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to ExtensionServer will
+// result in compilation errors.
+type UnsafeExtensionServer interface {
+	mustEmbedUnimplementedExtensionServer()
+}
+
+func RegisterExtensionServer(s grpc.ServiceRegistrar, srv ExtensionServer) {
+	// If the following call panics, it indicates UnimplementedExtensionServer was
+	// embedded by pointer and is nil.  This will cause panics if an
+	// unimplemented method is ever invoked, so we test this at initialization
+	// time to prevent it from happening at runtime later due to I/O.
+	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
+		t.testEmbeddedByValue()
+	}
+	s.RegisterService(&Extension_ServiceDesc, srv)
+}
+
+func _Extension_GetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SingleGetValueRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ExtensionServer).GetExtValue(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: Extension_GetExtValue_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ExtensionServer).GetExtValue(ctx, req.(*SingleGetValueRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Extension_SetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SingleSetValueRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ExtensionServer).SetExtValue(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: Extension_SetExtValue_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ExtensionServer).SetExtValue(ctx, req.(*SingleSetValueRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+// Extension_ServiceDesc is the grpc.ServiceDesc for Extension service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var Extension_ServiceDesc = grpc.ServiceDesc{
+	ServiceName: "extension.Extension",
+	HandlerType: (*ExtensionServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "GetExtValue",
+			Handler:    _Extension_GetExtValue_Handler,
+		},
+		{
+			MethodName: "SetExtValue",
+			Handler:    _Extension_SetExtValue_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "voltha_protos/extensions.proto",
+}