// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v4.25.8
// source: voltha_protos/device.proto

package voltha

import (
	common "github.com/opencord/voltha-protos/v5/go/common"
	openflow_13 "github.com/opencord/voltha-protos/v5/go/openflow_13"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 PmConfig_PmType int32

const (
	PmConfig_COUNTER PmConfig_PmType = 0
	PmConfig_GAUGE   PmConfig_PmType = 1
	PmConfig_STATE   PmConfig_PmType = 2
	PmConfig_CONTEXT PmConfig_PmType = 3
)

// Enum value maps for PmConfig_PmType.
var (
	PmConfig_PmType_name = map[int32]string{
		0: "COUNTER",
		1: "GAUGE",
		2: "STATE",
		3: "CONTEXT",
	}
	PmConfig_PmType_value = map[string]int32{
		"COUNTER": 0,
		"GAUGE":   1,
		"STATE":   2,
		"CONTEXT": 3,
	}
)

func (x PmConfig_PmType) Enum() *PmConfig_PmType {
	p := new(PmConfig_PmType)
	*p = x
	return p
}

func (x PmConfig_PmType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PmConfig_PmType) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[0].Descriptor()
}

func (PmConfig_PmType) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[0]
}

func (x PmConfig_PmType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PmConfig_PmType.Descriptor instead.
func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{2, 0}
}

type ImageDownload_ImageDownloadState int32

const (
	ImageDownload_DOWNLOAD_UNKNOWN     ImageDownload_ImageDownloadState = 0
	ImageDownload_DOWNLOAD_SUCCEEDED   ImageDownload_ImageDownloadState = 1
	ImageDownload_DOWNLOAD_REQUESTED   ImageDownload_ImageDownloadState = 2
	ImageDownload_DOWNLOAD_STARTED     ImageDownload_ImageDownloadState = 3
	ImageDownload_DOWNLOAD_FAILED      ImageDownload_ImageDownloadState = 4
	ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
	ImageDownload_DOWNLOAD_CANCELLED   ImageDownload_ImageDownloadState = 6
)

// Enum value maps for ImageDownload_ImageDownloadState.
var (
	ImageDownload_ImageDownloadState_name = map[int32]string{
		0: "DOWNLOAD_UNKNOWN",
		1: "DOWNLOAD_SUCCEEDED",
		2: "DOWNLOAD_REQUESTED",
		3: "DOWNLOAD_STARTED",
		4: "DOWNLOAD_FAILED",
		5: "DOWNLOAD_UNSUPPORTED",
		6: "DOWNLOAD_CANCELLED",
	}
	ImageDownload_ImageDownloadState_value = map[string]int32{
		"DOWNLOAD_UNKNOWN":     0,
		"DOWNLOAD_SUCCEEDED":   1,
		"DOWNLOAD_REQUESTED":   2,
		"DOWNLOAD_STARTED":     3,
		"DOWNLOAD_FAILED":      4,
		"DOWNLOAD_UNSUPPORTED": 5,
		"DOWNLOAD_CANCELLED":   6,
	}
)

func (x ImageDownload_ImageDownloadState) Enum() *ImageDownload_ImageDownloadState {
	p := new(ImageDownload_ImageDownloadState)
	*p = x
	return p
}

func (x ImageDownload_ImageDownloadState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageDownload_ImageDownloadState) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[1].Descriptor()
}

func (ImageDownload_ImageDownloadState) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[1]
}

func (x ImageDownload_ImageDownloadState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageDownload_ImageDownloadState.Descriptor instead.
func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{6, 0}
}

type ImageDownload_ImageDownloadFailureReason int32

const (
	ImageDownload_NO_ERROR           ImageDownload_ImageDownloadFailureReason = 0
	ImageDownload_INVALID_URL        ImageDownload_ImageDownloadFailureReason = 1
	ImageDownload_DEVICE_BUSY        ImageDownload_ImageDownloadFailureReason = 2
	ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
	ImageDownload_UNKNOWN_ERROR      ImageDownload_ImageDownloadFailureReason = 4
	ImageDownload_CANCELLED          ImageDownload_ImageDownloadFailureReason = 5
)

// Enum value maps for ImageDownload_ImageDownloadFailureReason.
var (
	ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
		0: "NO_ERROR",
		1: "INVALID_URL",
		2: "DEVICE_BUSY",
		3: "INSUFFICIENT_SPACE",
		4: "UNKNOWN_ERROR",
		5: "CANCELLED",
	}
	ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
		"NO_ERROR":           0,
		"INVALID_URL":        1,
		"DEVICE_BUSY":        2,
		"INSUFFICIENT_SPACE": 3,
		"UNKNOWN_ERROR":      4,
		"CANCELLED":          5,
	}
)

func (x ImageDownload_ImageDownloadFailureReason) Enum() *ImageDownload_ImageDownloadFailureReason {
	p := new(ImageDownload_ImageDownloadFailureReason)
	*p = x
	return p
}

func (x ImageDownload_ImageDownloadFailureReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageDownload_ImageDownloadFailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[2].Descriptor()
}

func (ImageDownload_ImageDownloadFailureReason) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[2]
}

func (x ImageDownload_ImageDownloadFailureReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageDownload_ImageDownloadFailureReason.Descriptor instead.
func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{6, 1}
}

type ImageDownload_ImageActivateState int32

const (
	ImageDownload_IMAGE_UNKNOWN    ImageDownload_ImageActivateState = 0
	ImageDownload_IMAGE_INACTIVE   ImageDownload_ImageActivateState = 1
	ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
	ImageDownload_IMAGE_ACTIVE     ImageDownload_ImageActivateState = 3
	ImageDownload_IMAGE_REVERTING  ImageDownload_ImageActivateState = 4
	ImageDownload_IMAGE_REVERTED   ImageDownload_ImageActivateState = 5
)

// Enum value maps for ImageDownload_ImageActivateState.
var (
	ImageDownload_ImageActivateState_name = map[int32]string{
		0: "IMAGE_UNKNOWN",
		1: "IMAGE_INACTIVE",
		2: "IMAGE_ACTIVATING",
		3: "IMAGE_ACTIVE",
		4: "IMAGE_REVERTING",
		5: "IMAGE_REVERTED",
	}
	ImageDownload_ImageActivateState_value = map[string]int32{
		"IMAGE_UNKNOWN":    0,
		"IMAGE_INACTIVE":   1,
		"IMAGE_ACTIVATING": 2,
		"IMAGE_ACTIVE":     3,
		"IMAGE_REVERTING":  4,
		"IMAGE_REVERTED":   5,
	}
)

func (x ImageDownload_ImageActivateState) Enum() *ImageDownload_ImageActivateState {
	p := new(ImageDownload_ImageActivateState)
	*p = x
	return p
}

func (x ImageDownload_ImageActivateState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageDownload_ImageActivateState) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[3].Descriptor()
}

func (ImageDownload_ImageActivateState) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[3]
}

func (x ImageDownload_ImageActivateState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageDownload_ImageActivateState.Descriptor instead.
func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{6, 2}
}

type ImageState_ImageDownloadState int32

const (
	ImageState_DOWNLOAD_UNKNOWN     ImageState_ImageDownloadState = 0
	ImageState_DOWNLOAD_SUCCEEDED   ImageState_ImageDownloadState = 1
	ImageState_DOWNLOAD_REQUESTED   ImageState_ImageDownloadState = 2
	ImageState_DOWNLOAD_STARTED     ImageState_ImageDownloadState = 3
	ImageState_DOWNLOAD_FAILED      ImageState_ImageDownloadState = 4
	ImageState_DOWNLOAD_UNSUPPORTED ImageState_ImageDownloadState = 5
	ImageState_DOWNLOAD_CANCELLING  ImageState_ImageDownloadState = 6
	ImageState_DOWNLOAD_CANCELLED   ImageState_ImageDownloadState = 7
)

// Enum value maps for ImageState_ImageDownloadState.
var (
	ImageState_ImageDownloadState_name = map[int32]string{
		0: "DOWNLOAD_UNKNOWN",
		1: "DOWNLOAD_SUCCEEDED",
		2: "DOWNLOAD_REQUESTED",
		3: "DOWNLOAD_STARTED",
		4: "DOWNLOAD_FAILED",
		5: "DOWNLOAD_UNSUPPORTED",
		6: "DOWNLOAD_CANCELLING",
		7: "DOWNLOAD_CANCELLED",
	}
	ImageState_ImageDownloadState_value = map[string]int32{
		"DOWNLOAD_UNKNOWN":     0,
		"DOWNLOAD_SUCCEEDED":   1,
		"DOWNLOAD_REQUESTED":   2,
		"DOWNLOAD_STARTED":     3,
		"DOWNLOAD_FAILED":      4,
		"DOWNLOAD_UNSUPPORTED": 5,
		"DOWNLOAD_CANCELLING":  6,
		"DOWNLOAD_CANCELLED":   7,
	}
)

func (x ImageState_ImageDownloadState) Enum() *ImageState_ImageDownloadState {
	p := new(ImageState_ImageDownloadState)
	*p = x
	return p
}

func (x ImageState_ImageDownloadState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageState_ImageDownloadState) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[4].Descriptor()
}

func (ImageState_ImageDownloadState) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[4]
}

func (x ImageState_ImageDownloadState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageState_ImageDownloadState.Descriptor instead.
func (ImageState_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{12, 0}
}

type ImageState_ImageFailureReason int32

const (
	ImageState_NO_ERROR               ImageState_ImageFailureReason = 0
	ImageState_INVALID_URL            ImageState_ImageFailureReason = 1
	ImageState_DEVICE_BUSY            ImageState_ImageFailureReason = 2
	ImageState_INSUFFICIENT_SPACE     ImageState_ImageFailureReason = 3 // VOLTHA ONU ADAPTER has no more space to store images
	ImageState_UNKNOWN_ERROR          ImageState_ImageFailureReason = 4 // Used also for Checksum failure on ONU
	ImageState_CANCELLED_ON_REQUEST   ImageState_ImageFailureReason = 5
	ImageState_CANCELLED_ON_ONU_STATE ImageState_ImageFailureReason = 6
	ImageState_VENDOR_DEVICE_MISMATCH ImageState_ImageFailureReason = 7
	ImageState_OMCI_TRANSFER_ERROR    ImageState_ImageFailureReason = 8
	ImageState_IMAGE_REFUSED_BY_ONU   ImageState_ImageFailureReason = 9
)

// Enum value maps for ImageState_ImageFailureReason.
var (
	ImageState_ImageFailureReason_name = map[int32]string{
		0: "NO_ERROR",
		1: "INVALID_URL",
		2: "DEVICE_BUSY",
		3: "INSUFFICIENT_SPACE",
		4: "UNKNOWN_ERROR",
		5: "CANCELLED_ON_REQUEST",
		6: "CANCELLED_ON_ONU_STATE",
		7: "VENDOR_DEVICE_MISMATCH",
		8: "OMCI_TRANSFER_ERROR",
		9: "IMAGE_REFUSED_BY_ONU",
	}
	ImageState_ImageFailureReason_value = map[string]int32{
		"NO_ERROR":               0,
		"INVALID_URL":            1,
		"DEVICE_BUSY":            2,
		"INSUFFICIENT_SPACE":     3,
		"UNKNOWN_ERROR":          4,
		"CANCELLED_ON_REQUEST":   5,
		"CANCELLED_ON_ONU_STATE": 6,
		"VENDOR_DEVICE_MISMATCH": 7,
		"OMCI_TRANSFER_ERROR":    8,
		"IMAGE_REFUSED_BY_ONU":   9,
	}
)

func (x ImageState_ImageFailureReason) Enum() *ImageState_ImageFailureReason {
	p := new(ImageState_ImageFailureReason)
	*p = x
	return p
}

func (x ImageState_ImageFailureReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageState_ImageFailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[5].Descriptor()
}

func (ImageState_ImageFailureReason) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[5]
}

func (x ImageState_ImageFailureReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageState_ImageFailureReason.Descriptor instead.
func (ImageState_ImageFailureReason) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{12, 1}
}

type ImageState_ImageActivationState int32

const (
	ImageState_IMAGE_UNKNOWN             ImageState_ImageActivationState = 0
	ImageState_IMAGE_INACTIVE            ImageState_ImageActivationState = 1
	ImageState_IMAGE_ACTIVATING          ImageState_ImageActivationState = 2 // Happens during Reboot of the ONU after activate call.
	ImageState_IMAGE_ACTIVE              ImageState_ImageActivationState = 3
	ImageState_IMAGE_COMMITTING          ImageState_ImageActivationState = 4
	ImageState_IMAGE_COMMITTED           ImageState_ImageActivationState = 5
	ImageState_IMAGE_ACTIVATION_ABORTING ImageState_ImageActivationState = 6
	ImageState_IMAGE_ACTIVATION_ABORTED  ImageState_ImageActivationState = 7
	ImageState_IMAGE_COMMIT_ABORTING     ImageState_ImageActivationState = 8
	ImageState_IMAGE_COMMIT_ABORTED      ImageState_ImageActivationState = 9
	ImageState_IMAGE_DOWNLOADING         ImageState_ImageActivationState = 10
	ImageState_IMAGE_DOWNLOADING_ABORTED ImageState_ImageActivationState = 11
)

// Enum value maps for ImageState_ImageActivationState.
var (
	ImageState_ImageActivationState_name = map[int32]string{
		0:  "IMAGE_UNKNOWN",
		1:  "IMAGE_INACTIVE",
		2:  "IMAGE_ACTIVATING",
		3:  "IMAGE_ACTIVE",
		4:  "IMAGE_COMMITTING",
		5:  "IMAGE_COMMITTED",
		6:  "IMAGE_ACTIVATION_ABORTING",
		7:  "IMAGE_ACTIVATION_ABORTED",
		8:  "IMAGE_COMMIT_ABORTING",
		9:  "IMAGE_COMMIT_ABORTED",
		10: "IMAGE_DOWNLOADING",
		11: "IMAGE_DOWNLOADING_ABORTED",
	}
	ImageState_ImageActivationState_value = map[string]int32{
		"IMAGE_UNKNOWN":             0,
		"IMAGE_INACTIVE":            1,
		"IMAGE_ACTIVATING":          2,
		"IMAGE_ACTIVE":              3,
		"IMAGE_COMMITTING":          4,
		"IMAGE_COMMITTED":           5,
		"IMAGE_ACTIVATION_ABORTING": 6,
		"IMAGE_ACTIVATION_ABORTED":  7,
		"IMAGE_COMMIT_ABORTING":     8,
		"IMAGE_COMMIT_ABORTED":      9,
		"IMAGE_DOWNLOADING":         10,
		"IMAGE_DOWNLOADING_ABORTED": 11,
	}
)

func (x ImageState_ImageActivationState) Enum() *ImageState_ImageActivationState {
	p := new(ImageState_ImageActivationState)
	*p = x
	return p
}

func (x ImageState_ImageActivationState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ImageState_ImageActivationState) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[6].Descriptor()
}

func (ImageState_ImageActivationState) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[6]
}

func (x ImageState_ImageActivationState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ImageState_ImageActivationState.Descriptor instead.
func (ImageState_ImageActivationState) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{12, 2}
}

type Port_PortType int32

const (
	Port_UNKNOWN      Port_PortType = 0
	Port_ETHERNET_NNI Port_PortType = 1
	Port_ETHERNET_UNI Port_PortType = 2
	Port_PON_OLT      Port_PortType = 3
	Port_PON_ONU      Port_PortType = 4
	Port_VENET_OLT    Port_PortType = 5
	Port_VENET_ONU    Port_PortType = 6
)

// Enum value maps for Port_PortType.
var (
	Port_PortType_name = map[int32]string{
		0: "UNKNOWN",
		1: "ETHERNET_NNI",
		2: "ETHERNET_UNI",
		3: "PON_OLT",
		4: "PON_ONU",
		5: "VENET_OLT",
		6: "VENET_ONU",
	}
	Port_PortType_value = map[string]int32{
		"UNKNOWN":      0,
		"ETHERNET_NNI": 1,
		"ETHERNET_UNI": 2,
		"PON_OLT":      3,
		"PON_ONU":      4,
		"VENET_OLT":    5,
		"VENET_ONU":    6,
	}
)

func (x Port_PortType) Enum() *Port_PortType {
	p := new(Port_PortType)
	*p = x
	return p
}

func (x Port_PortType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Port_PortType) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[7].Descriptor()
}

func (Port_PortType) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[7]
}

func (x Port_PortType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Port_PortType.Descriptor instead.
func (Port_PortType) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{13, 0}
}

type SelfTestResponse_SelfTestResult int32

const (
	SelfTestResponse_SUCCESS       SelfTestResponse_SelfTestResult = 0
	SelfTestResponse_FAILURE       SelfTestResponse_SelfTestResult = 1
	SelfTestResponse_NOT_SUPPORTED SelfTestResponse_SelfTestResult = 2
	SelfTestResponse_UNKNOWN_ERROR SelfTestResponse_SelfTestResult = 3
)

// Enum value maps for SelfTestResponse_SelfTestResult.
var (
	SelfTestResponse_SelfTestResult_name = map[int32]string{
		0: "SUCCESS",
		1: "FAILURE",
		2: "NOT_SUPPORTED",
		3: "UNKNOWN_ERROR",
	}
	SelfTestResponse_SelfTestResult_value = map[string]int32{
		"SUCCESS":       0,
		"FAILURE":       1,
		"NOT_SUPPORTED": 2,
		"UNKNOWN_ERROR": 3,
	}
)

func (x SelfTestResponse_SelfTestResult) Enum() *SelfTestResponse_SelfTestResult {
	p := new(SelfTestResponse_SelfTestResult)
	*p = x
	return p
}

func (x SelfTestResponse_SelfTestResult) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SelfTestResponse_SelfTestResult) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[8].Descriptor()
}

func (SelfTestResponse_SelfTestResult) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[8]
}

func (x SelfTestResponse_SelfTestResult) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SelfTestResponse_SelfTestResult.Descriptor instead.
func (SelfTestResponse_SelfTestResult) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{19, 0}
}

type SimulateAlarmRequest_OperationType int32

const (
	SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
	SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
)

// Enum value maps for SimulateAlarmRequest_OperationType.
var (
	SimulateAlarmRequest_OperationType_name = map[int32]string{
		0: "RAISE",
		1: "CLEAR",
	}
	SimulateAlarmRequest_OperationType_value = map[string]int32{
		"RAISE": 0,
		"CLEAR": 1,
	}
)

func (x SimulateAlarmRequest_OperationType) Enum() *SimulateAlarmRequest_OperationType {
	p := new(SimulateAlarmRequest_OperationType)
	*p = x
	return p
}

func (x SimulateAlarmRequest_OperationType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SimulateAlarmRequest_OperationType) Descriptor() protoreflect.EnumDescriptor {
	return file_voltha_protos_device_proto_enumTypes[9].Descriptor()
}

func (SimulateAlarmRequest_OperationType) Type() protoreflect.EnumType {
	return &file_voltha_protos_device_proto_enumTypes[9]
}

func (x SimulateAlarmRequest_OperationType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SimulateAlarmRequest_OperationType.Descriptor instead.
func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{21, 0}
}

// A Device Type
type DeviceType struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique name for the device type
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Unique vendor id for the device type applicable to ONU
	// 4 bytes of vendor id from ONU serial number
	VendorId  string   `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
	VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
	// Name of the adapter that handles device type
	// Deprecated and replaced by adapterType
	Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
	// Capabilities
	AcceptsBulkFlowUpdate           bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
	AcceptsAddRemoveFlowUpdates     bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
	AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
	// Type of adapter that can handle this device type
	AdapterType   string `protobuf:"bytes,8,opt,name=adapter_type,json=adapterType,proto3" json:"adapter_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceType) Reset() {
	*x = DeviceType{}
	mi := &file_voltha_protos_device_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceType) ProtoMessage() {}

func (x *DeviceType) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceType.ProtoReflect.Descriptor instead.
func (*DeviceType) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{0}
}

func (x *DeviceType) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DeviceType) GetVendorId() string {
	if x != nil {
		return x.VendorId
	}
	return ""
}

func (x *DeviceType) GetVendorIds() []string {
	if x != nil {
		return x.VendorIds
	}
	return nil
}

func (x *DeviceType) GetAdapter() string {
	if x != nil {
		return x.Adapter
	}
	return ""
}

func (x *DeviceType) GetAcceptsBulkFlowUpdate() bool {
	if x != nil {
		return x.AcceptsBulkFlowUpdate
	}
	return false
}

func (x *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
	if x != nil {
		return x.AcceptsAddRemoveFlowUpdates
	}
	return false
}

func (x *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
	if x != nil {
		return x.AcceptsDirectLogicalFlowsUpdate
	}
	return false
}

func (x *DeviceType) GetAdapterType() string {
	if x != nil {
		return x.AdapterType
	}
	return ""
}

// A plurality of device types
type DeviceTypes struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*DeviceType          `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceTypes) Reset() {
	*x = DeviceTypes{}
	mi := &file_voltha_protos_device_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceTypes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceTypes) ProtoMessage() {}

func (x *DeviceTypes) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceTypes.ProtoReflect.Descriptor instead.
func (*DeviceTypes) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{1}
}

func (x *DeviceTypes) GetItems() []*DeviceType {
	if x != nil {
		return x.Items
	}
	return nil
}

type PmConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Type          PmConfig_PmType        `protobuf:"varint,2,opt,name=type,proto3,enum=device.PmConfig_PmType" json:"type,omitempty"`
	Enabled       bool                   `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`                         // Whether or not this metric makes it to Kafka
	SampleFreq    uint32                 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"` // Sample rate in 10ths of a second
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PmConfig) Reset() {
	*x = PmConfig{}
	mi := &file_voltha_protos_device_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PmConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PmConfig) ProtoMessage() {}

func (x *PmConfig) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 PmConfig.ProtoReflect.Descriptor instead.
func (*PmConfig) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{2}
}

func (x *PmConfig) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PmConfig) GetType() PmConfig_PmType {
	if x != nil {
		return x.Type
	}
	return PmConfig_COUNTER
}

func (x *PmConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *PmConfig) GetSampleFreq() uint32 {
	if x != nil {
		return x.SampleFreq
	}
	return 0
}

type PmGroupConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GroupName     string                 `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
	GroupFreq     uint32                 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"` // Frequency applicable to the grop
	Enabled       bool                   `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`                      // Enable/disable group level only
	Metrics       []*PmConfig            `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PmGroupConfig) Reset() {
	*x = PmGroupConfig{}
	mi := &file_voltha_protos_device_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PmGroupConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PmGroupConfig) ProtoMessage() {}

func (x *PmGroupConfig) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 PmGroupConfig.ProtoReflect.Descriptor instead.
func (*PmGroupConfig) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{3}
}

func (x *PmGroupConfig) GetGroupName() string {
	if x != nil {
		return x.GroupName
	}
	return ""
}

func (x *PmGroupConfig) GetGroupFreq() uint32 {
	if x != nil {
		return x.GroupFreq
	}
	return 0
}

func (x *PmGroupConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *PmGroupConfig) GetMetrics() []*PmConfig {
	if x != nil {
		return x.Metrics
	}
	return nil
}

type PmConfigs struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Id          string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`                                       // To work around a chameleon POST bug
	DefaultFreq uint32                 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"` // Default sample rate
	// Forces group names and group semantics
	Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
	// Allows Pm to set an individual sample frequency
	FreqOverride  bool             `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
	Groups        []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`                   // The groups if grouped is true
	Metrics       []*PmConfig      `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`                 // The metrics themselves if grouped is false.
	MaxSkew       uint32           `protobuf:"varint,7,opt,name=max_skew,json=maxSkew,proto3" json:"max_skew,omitempty"` //Default value is set to 5 seconds
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PmConfigs) Reset() {
	*x = PmConfigs{}
	mi := &file_voltha_protos_device_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PmConfigs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PmConfigs) ProtoMessage() {}

func (x *PmConfigs) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 PmConfigs.ProtoReflect.Descriptor instead.
func (*PmConfigs) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{4}
}

func (x *PmConfigs) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *PmConfigs) GetDefaultFreq() uint32 {
	if x != nil {
		return x.DefaultFreq
	}
	return 0
}

func (x *PmConfigs) GetGrouped() bool {
	if x != nil {
		return x.Grouped
	}
	return false
}

func (x *PmConfigs) GetFreqOverride() bool {
	if x != nil {
		return x.FreqOverride
	}
	return false
}

func (x *PmConfigs) GetGroups() []*PmGroupConfig {
	if x != nil {
		return x.Groups
	}
	return nil
}

func (x *PmConfigs) GetMetrics() []*PmConfig {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *PmConfigs) GetMaxSkew() uint32 {
	if x != nil {
		return x.MaxSkew
	}
	return 0
}

// Object representing an image
type Image struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // software patch name
	// Version, this is the sole identifier of the image. it's the vendor specified OMCI version
	// must be known at the time of initiating a download, activate, commit image on an onu.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// hash of the image to be verified against
	// Deprecated in voltha 2.8, will be removed
	Hash uint32 `protobuf:"varint,3,opt,name=hash,proto3" json:"hash,omitempty"`
	// Deprecated in voltha 2.8, will be removed
	InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"` // combined date and time expressed in UTC.
	// The active software image is one that is currently loaded and executing
	// in the ONU or circuit pack. Under normal operation, one software image
	// is always active while the other is inactive. Under no circumstances are
	// both software images allowed to be active at the same time
	// Deprecated in voltha 2.8, will be removed
	IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` // True if the image is active
	// The committed software image is loaded and executed upon reboot of the
	// ONU and/or circuit pack. During normal operation, one software image is
	// always committed, while the other is uncommitted.
	// Deprecated in voltha 2.8, will be removed
	IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"` // True if the image is committed
	// A software image is valid if it has been verified to be an executable
	// code image. The verification mechanism is not subject to standardization;
	// however, it should include at least a data integrity (e.g., CRC) check of
	// the entire code image.
	// Deprecated in voltha 2.8, will be removed
	IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` // True if the image is valid
	// URL where the image is available
	// URL MUST be fully qualified,
	// including filename, username and password
	Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"`
	// Represents the vendor/device mfr
	// Needs to match the vendor of the device the image will be installed on
	// optional, if not matched no check will be performed
	Vendor string `protobuf:"bytes,9,opt,name=vendor,proto3" json:"vendor,omitempty"`
	// Represents the ONU Image CRC value.
	// Default to value 0 if not specified.
	// If different then 0 it's used to verify the image retrieved from outside before sending it to the ONU.
	// Calculation of this needs to be done according to ITU-T I.363.5 as per OMCI spec (section A.2.27)
	Crc32         uint32 `protobuf:"varint,10,opt,name=crc32,proto3" json:"crc32,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Image) Reset() {
	*x = Image{}
	mi := &file_voltha_protos_device_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Image) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Image) ProtoMessage() {}

func (x *Image) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Image.ProtoReflect.Descriptor instead.
func (*Image) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{5}
}

func (x *Image) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Image) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Image) GetHash() uint32 {
	if x != nil {
		return x.Hash
	}
	return 0
}

func (x *Image) GetInstallDatetime() string {
	if x != nil {
		return x.InstallDatetime
	}
	return ""
}

func (x *Image) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *Image) GetIsCommitted() bool {
	if x != nil {
		return x.IsCommitted
	}
	return false
}

func (x *Image) GetIsValid() bool {
	if x != nil {
		return x.IsValid
	}
	return false
}

func (x *Image) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Image) GetVendor() string {
	if x != nil {
		return x.Vendor
	}
	return ""
}

func (x *Image) GetCrc32() uint32 {
	if x != nil {
		return x.Crc32
	}
	return 0
}

// Older version of the API please see DeviceImageDownloadRequest
// Deprecated in voltha 2.8, will be removed
//
// Deprecated: Marked as deprecated in voltha_protos/device.proto.
type ImageDownload struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device Identifier
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Image unique identifier
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// URL where the image is available
	// should include username password
	Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
	// CRC of the image to be verified aginst
	Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
	// Download state
	DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=device.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
	// Downloaded version
	ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
	// Bytes downloaded
	DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
	// Download failure reason
	Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=device.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
	// Additional info
	AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
	// Save current configuration
	SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
	// Image local location
	LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
	// Image activation state
	ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=device.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
	// Image file size
	FileSize      uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ImageDownload) Reset() {
	*x = ImageDownload{}
	mi := &file_voltha_protos_device_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ImageDownload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ImageDownload) ProtoMessage() {}

func (x *ImageDownload) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 ImageDownload.ProtoReflect.Descriptor instead.
func (*ImageDownload) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{6}
}

func (x *ImageDownload) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ImageDownload) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ImageDownload) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *ImageDownload) GetCrc() uint32 {
	if x != nil {
		return x.Crc
	}
	return 0
}

func (x *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
	if x != nil {
		return x.DownloadState
	}
	return ImageDownload_DOWNLOAD_UNKNOWN
}

func (x *ImageDownload) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

func (x *ImageDownload) GetDownloadedBytes() uint32 {
	if x != nil {
		return x.DownloadedBytes
	}
	return 0
}

func (x *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
	if x != nil {
		return x.Reason
	}
	return ImageDownload_NO_ERROR
}

func (x *ImageDownload) GetAdditionalInfo() string {
	if x != nil {
		return x.AdditionalInfo
	}
	return ""
}

func (x *ImageDownload) GetSaveConfig() bool {
	if x != nil {
		return x.SaveConfig
	}
	return false
}

func (x *ImageDownload) GetLocalDir() string {
	if x != nil {
		return x.LocalDir
	}
	return ""
}

func (x *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
	if x != nil {
		return x.ImageState
	}
	return ImageDownload_IMAGE_UNKNOWN
}

func (x *ImageDownload) GetFileSize() uint32 {
	if x != nil {
		return x.FileSize
	}
	return 0
}

// Deprecated in voltha 2.8, will be removed
//
// Deprecated: Marked as deprecated in voltha_protos/device.proto.
type ImageDownloads struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*ImageDownload       `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ImageDownloads) Reset() {
	*x = ImageDownloads{}
	mi := &file_voltha_protos_device_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ImageDownloads) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ImageDownloads) ProtoMessage() {}

func (x *ImageDownloads) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 ImageDownloads.ProtoReflect.Descriptor instead.
func (*ImageDownloads) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{7}
}

func (x *ImageDownloads) GetItems() []*ImageDownload {
	if x != nil {
		return x.Items
	}
	return nil
}

type Images struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Image         []*Image               `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Images) Reset() {
	*x = Images{}
	mi := &file_voltha_protos_device_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Images) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Images) ProtoMessage() {}

func (x *Images) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Images.ProtoReflect.Descriptor instead.
func (*Images) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{8}
}

func (x *Images) GetImage() []*Image {
	if x != nil {
		return x.Image
	}
	return nil
}

// OnuImage represents the OMCI information as per OMCI spec
// the information will be populates exactly as extracted from the device.
type OnuImage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// image version
	Version     string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	IsCommited  bool   `protobuf:"varint,2,opt,name=isCommited,proto3" json:"isCommited,omitempty"`
	IsActive    bool   `protobuf:"varint,3,opt,name=isActive,proto3" json:"isActive,omitempty"`
	IsValid     bool   `protobuf:"varint,4,opt,name=isValid,proto3" json:"isValid,omitempty"`
	ProductCode string `protobuf:"bytes,5,opt,name=productCode,proto3" json:"productCode,omitempty"`
	// Hash is computed by the ONU and is optional as per OMCI spec (paragraph 9.1.4)
	// No assumption should be made on the existence of this attribute at any time.
	Hash          string `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnuImage) Reset() {
	*x = OnuImage{}
	mi := &file_voltha_protos_device_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnuImage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnuImage) ProtoMessage() {}

func (x *OnuImage) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 OnuImage.ProtoReflect.Descriptor instead.
func (*OnuImage) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{9}
}

func (x *OnuImage) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *OnuImage) GetIsCommited() bool {
	if x != nil {
		return x.IsCommited
	}
	return false
}

func (x *OnuImage) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *OnuImage) GetIsValid() bool {
	if x != nil {
		return x.IsValid
	}
	return false
}

func (x *OnuImage) GetProductCode() string {
	if x != nil {
		return x.ProductCode
	}
	return ""
}

func (x *OnuImage) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

type OnuImages struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*OnuImage            `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnuImages) Reset() {
	*x = OnuImages{}
	mi := &file_voltha_protos_device_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnuImages) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnuImages) ProtoMessage() {}

func (x *OnuImages) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 OnuImages.ProtoReflect.Descriptor instead.
func (*OnuImages) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{10}
}

func (x *OnuImages) GetItems() []*OnuImage {
	if x != nil {
		return x.Items
	}
	return nil
}

type DeviceImageState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceId      string                 `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	ImageState    *ImageState            `protobuf:"bytes,2,opt,name=imageState,proto3" json:"imageState,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceImageState) Reset() {
	*x = DeviceImageState{}
	mi := &file_voltha_protos_device_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceImageState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceImageState) ProtoMessage() {}

func (x *DeviceImageState) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceImageState.ProtoReflect.Descriptor instead.
func (*DeviceImageState) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{11}
}

func (x *DeviceImageState) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *DeviceImageState) GetImageState() *ImageState {
	if x != nil {
		return x.ImageState
	}
	return nil
}

type ImageState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// image version
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// Download state
	DownloadState ImageState_ImageDownloadState `protobuf:"varint,2,opt,name=download_state,json=downloadState,proto3,enum=device.ImageState_ImageDownloadState" json:"download_state,omitempty"`
	// Image Operation Failure reason (use for both Download and Activate)
	Reason ImageState_ImageFailureReason `protobuf:"varint,3,opt,name=reason,proto3,enum=device.ImageState_ImageFailureReason" json:"reason,omitempty"`
	// Image activation state
	ImageState    ImageState_ImageActivationState `protobuf:"varint,4,opt,name=image_state,json=imageState,proto3,enum=device.ImageState_ImageActivationState" json:"image_state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ImageState) Reset() {
	*x = ImageState{}
	mi := &file_voltha_protos_device_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ImageState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ImageState) ProtoMessage() {}

func (x *ImageState) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 ImageState.ProtoReflect.Descriptor instead.
func (*ImageState) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{12}
}

func (x *ImageState) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *ImageState) GetDownloadState() ImageState_ImageDownloadState {
	if x != nil {
		return x.DownloadState
	}
	return ImageState_DOWNLOAD_UNKNOWN
}

func (x *ImageState) GetReason() ImageState_ImageFailureReason {
	if x != nil {
		return x.Reason
	}
	return ImageState_NO_ERROR
}

func (x *ImageState) GetImageState() ImageState_ImageActivationState {
	if x != nil {
		return x.ImageState
	}
	return ImageState_IMAGE_UNKNOWN
}

type Port struct {
	state      protoimpl.MessageState  `protogen:"open.v1"`
	PortNo     uint32                  `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`         // Device-unique port number
	Label      string                  `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`                          // Arbitrary port label
	Type       Port_PortType           `protobuf:"varint,3,opt,name=type,proto3,enum=device.Port_PortType" json:"type,omitempty"` //  Type of port
	AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
	OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
	DeviceId   string                  `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` // Unique .id of device that owns this port
	Peers      []*Port_PeerPort        `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
	RxPackets  uint64                  `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
	RxBytes    uint64                  `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
	RxErrors   uint64                  `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
	TxPackets  uint64                  `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
	TxBytes    uint64                  `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
	TxErrors   uint64                  `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
	// ofp_port represents the characteristics of a port, e.g. hardware
	// address and supported features.  This field is relevant only for
	// UNI and NNI ports.   For PON ports, it can be left empty.
	OfpPort       *openflow_13.OfpPort `protobuf:"bytes,15,opt,name=ofp_port,json=ofpPort,proto3" json:"ofp_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Port) Reset() {
	*x = Port{}
	mi := &file_voltha_protos_device_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Port) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Port) ProtoMessage() {}

func (x *Port) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Port.ProtoReflect.Descriptor instead.
func (*Port) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{13}
}

func (x *Port) GetPortNo() uint32 {
	if x != nil {
		return x.PortNo
	}
	return 0
}

func (x *Port) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *Port) GetType() Port_PortType {
	if x != nil {
		return x.Type
	}
	return Port_UNKNOWN
}

func (x *Port) GetAdminState() common.AdminState_Types {
	if x != nil {
		return x.AdminState
	}
	return common.AdminState_Types(0)
}

func (x *Port) GetOperStatus() common.OperStatus_Types {
	if x != nil {
		return x.OperStatus
	}
	return common.OperStatus_Types(0)
}

func (x *Port) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *Port) GetPeers() []*Port_PeerPort {
	if x != nil {
		return x.Peers
	}
	return nil
}

func (x *Port) GetRxPackets() uint64 {
	if x != nil {
		return x.RxPackets
	}
	return 0
}

func (x *Port) GetRxBytes() uint64 {
	if x != nil {
		return x.RxBytes
	}
	return 0
}

func (x *Port) GetRxErrors() uint64 {
	if x != nil {
		return x.RxErrors
	}
	return 0
}

func (x *Port) GetTxPackets() uint64 {
	if x != nil {
		return x.TxPackets
	}
	return 0
}

func (x *Port) GetTxBytes() uint64 {
	if x != nil {
		return x.TxBytes
	}
	return 0
}

func (x *Port) GetTxErrors() uint64 {
	if x != nil {
		return x.TxErrors
	}
	return 0
}

func (x *Port) GetOfpPort() *openflow_13.OfpPort {
	if x != nil {
		return x.OfpPort
	}
	return nil
}

type Ports struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Port                `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Ports) Reset() {
	*x = Ports{}
	mi := &file_voltha_protos_device_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Ports) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Ports) ProtoMessage() {}

func (x *Ports) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Ports.ProtoReflect.Descriptor instead.
func (*Ports) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{14}
}

func (x *Ports) GetItems() []*Port {
	if x != nil {
		return x.Items
	}
	return nil
}

// A Physical Device instance
type Device struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Voltha's device identifier
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Device type, refers to one of the registered device types
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// Is this device a root device. Each logical switch has one root
	// device that is associated with the logical flow switch.
	Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
	// Parent device id, in the device tree (for a root device, the parent_id
	// is the logical_device.id)
	ParentId     string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
	// Vendor, version, serial number, etc.
	Vendor          string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
	Model           string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
	HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// List of software on the device
	Images       *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
	SerialNumber string  `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
	VendorId     string  `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
	// Indicates how to reach the adapter instance that manages this device
	AdapterEndpoint string `protobuf:"bytes,25,opt,name=adapter_endpoint,json=adapterEndpoint,proto3" json:"adapter_endpoint,omitempty"`
	// Device contact on vlan (if 0, no vlan)
	Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
	// Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
	MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
	// Types that are valid to be assigned to Address:
	//
	//	*Device_Ipv4Address
	//	*Device_Ipv6Address
	//	*Device_HostAndPort
	Address       isDevice_Address           `protobuf_oneof:"address"`
	ExtraArgs     string                     `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` // Used to pass additional device specific arguments
	ProxyAddress  *Device_ProxyAddress       `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
	AdminState    common.AdminState_Types    `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
	OperStatus    common.OperStatus_Types    `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
	Reason        string                     `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"` //  Used in FAILED state
	ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
	// Device type specific attributes
	Custom *anypb.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
	// PmConfigs type
	PmConfigs      *PmConfigs       `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
	ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Device) Reset() {
	*x = Device{}
	mi := &file_voltha_protos_device_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Device) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Device) ProtoMessage() {}

func (x *Device) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Device.ProtoReflect.Descriptor instead.
func (*Device) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{15}
}

func (x *Device) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Device) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Device) GetRoot() bool {
	if x != nil {
		return x.Root
	}
	return false
}

func (x *Device) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *Device) GetParentPortNo() uint32 {
	if x != nil {
		return x.ParentPortNo
	}
	return 0
}

func (x *Device) GetVendor() string {
	if x != nil {
		return x.Vendor
	}
	return ""
}

func (x *Device) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *Device) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *Device) GetFirmwareVersion() string {
	if x != nil {
		return x.FirmwareVersion
	}
	return ""
}

func (x *Device) GetImages() *Images {
	if x != nil {
		return x.Images
	}
	return nil
}

func (x *Device) GetSerialNumber() string {
	if x != nil {
		return x.SerialNumber
	}
	return ""
}

func (x *Device) GetVendorId() string {
	if x != nil {
		return x.VendorId
	}
	return ""
}

func (x *Device) GetAdapterEndpoint() string {
	if x != nil {
		return x.AdapterEndpoint
	}
	return ""
}

func (x *Device) GetVlan() uint32 {
	if x != nil {
		return x.Vlan
	}
	return 0
}

func (x *Device) GetMacAddress() string {
	if x != nil {
		return x.MacAddress
	}
	return ""
}

func (x *Device) GetAddress() isDevice_Address {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *Device) GetIpv4Address() string {
	if x != nil {
		if x, ok := x.Address.(*Device_Ipv4Address); ok {
			return x.Ipv4Address
		}
	}
	return ""
}

func (x *Device) GetIpv6Address() string {
	if x != nil {
		if x, ok := x.Address.(*Device_Ipv6Address); ok {
			return x.Ipv6Address
		}
	}
	return ""
}

func (x *Device) GetHostAndPort() string {
	if x != nil {
		if x, ok := x.Address.(*Device_HostAndPort); ok {
			return x.HostAndPort
		}
	}
	return ""
}

func (x *Device) GetExtraArgs() string {
	if x != nil {
		return x.ExtraArgs
	}
	return ""
}

func (x *Device) GetProxyAddress() *Device_ProxyAddress {
	if x != nil {
		return x.ProxyAddress
	}
	return nil
}

func (x *Device) GetAdminState() common.AdminState_Types {
	if x != nil {
		return x.AdminState
	}
	return common.AdminState_Types(0)
}

func (x *Device) GetOperStatus() common.OperStatus_Types {
	if x != nil {
		return x.OperStatus
	}
	return common.OperStatus_Types(0)
}

func (x *Device) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *Device) GetConnectStatus() common.ConnectStatus_Types {
	if x != nil {
		return x.ConnectStatus
	}
	return common.ConnectStatus_Types(0)
}

func (x *Device) GetCustom() *anypb.Any {
	if x != nil {
		return x.Custom
	}
	return nil
}

func (x *Device) GetPmConfigs() *PmConfigs {
	if x != nil {
		return x.PmConfigs
	}
	return nil
}

func (x *Device) GetImageDownloads() []*ImageDownload {
	if x != nil {
		return x.ImageDownloads
	}
	return nil
}

type isDevice_Address interface {
	isDevice_Address()
}

type Device_Ipv4Address struct {
	// Device contact IPv4 address (format: "a.b.c.d" or can use hostname too)
	Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
}

type Device_Ipv6Address struct {
	// Device contact IPv6 address using the canonical string form
	// ("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx")
	Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
}

type Device_HostAndPort struct {
	HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
}

func (*Device_Ipv4Address) isDevice_Address() {}

func (*Device_Ipv6Address) isDevice_Address() {}

func (*Device_HostAndPort) isDevice_Address() {}

type DeviceImageDownloadRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device Id
	// allows for operations on multiple devices.
	DeviceId []*common.ID `protobuf:"bytes,1,rep,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// The image for the device containing all the information
	Image *Image `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	// Activate the image if the download to the device is successful
	ActivateOnSuccess bool `protobuf:"varint,3,opt,name=activateOnSuccess,proto3" json:"activateOnSuccess,omitempty"`
	// Automatically commit the image if the activation on the device is successful
	CommitOnSuccess bool `protobuf:"varint,4,opt,name=commitOnSuccess,proto3" json:"commitOnSuccess,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DeviceImageDownloadRequest) Reset() {
	*x = DeviceImageDownloadRequest{}
	mi := &file_voltha_protos_device_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceImageDownloadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceImageDownloadRequest) ProtoMessage() {}

func (x *DeviceImageDownloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceImageDownloadRequest.ProtoReflect.Descriptor instead.
func (*DeviceImageDownloadRequest) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{16}
}

func (x *DeviceImageDownloadRequest) GetDeviceId() []*common.ID {
	if x != nil {
		return x.DeviceId
	}
	return nil
}

func (x *DeviceImageDownloadRequest) GetImage() *Image {
	if x != nil {
		return x.Image
	}
	return nil
}

func (x *DeviceImageDownloadRequest) GetActivateOnSuccess() bool {
	if x != nil {
		return x.ActivateOnSuccess
	}
	return false
}

func (x *DeviceImageDownloadRequest) GetCommitOnSuccess() bool {
	if x != nil {
		return x.CommitOnSuccess
	}
	return false
}

type DeviceImageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device Id
	// allows for operations on multiple adapters.
	DeviceId []*common.ID `protobuf:"bytes,1,rep,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Image Version, this is the sole identifier of the image. it's the vendor specified OMCI version
	// must be known at the time of initiating a download, activate, commit image on an onu.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Automatically commit the image if the activation on the device is successful
	CommitOnSuccess bool `protobuf:"varint,3,opt,name=commitOnSuccess,proto3" json:"commitOnSuccess,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DeviceImageRequest) Reset() {
	*x = DeviceImageRequest{}
	mi := &file_voltha_protos_device_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceImageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceImageRequest) ProtoMessage() {}

func (x *DeviceImageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceImageRequest.ProtoReflect.Descriptor instead.
func (*DeviceImageRequest) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{17}
}

func (x *DeviceImageRequest) GetDeviceId() []*common.ID {
	if x != nil {
		return x.DeviceId
	}
	return nil
}

func (x *DeviceImageRequest) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *DeviceImageRequest) GetCommitOnSuccess() bool {
	if x != nil {
		return x.CommitOnSuccess
	}
	return false
}

type DeviceImageResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Image state for the different devices
	DeviceImageStates []*DeviceImageState `protobuf:"bytes,1,rep,name=device_image_states,json=deviceImageStates,proto3" json:"device_image_states,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *DeviceImageResponse) Reset() {
	*x = DeviceImageResponse{}
	mi := &file_voltha_protos_device_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeviceImageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceImageResponse) ProtoMessage() {}

func (x *DeviceImageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 DeviceImageResponse.ProtoReflect.Descriptor instead.
func (*DeviceImageResponse) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{18}
}

func (x *DeviceImageResponse) GetDeviceImageStates() []*DeviceImageState {
	if x != nil {
		return x.DeviceImageStates
	}
	return nil
}

// Device Self Test Response
type SelfTestResponse struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Result        SelfTestResponse_SelfTestResult `protobuf:"varint,1,opt,name=result,proto3,enum=device.SelfTestResponse_SelfTestResult" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SelfTestResponse) Reset() {
	*x = SelfTestResponse{}
	mi := &file_voltha_protos_device_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SelfTestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SelfTestResponse) ProtoMessage() {}

func (x *SelfTestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 SelfTestResponse.ProtoReflect.Descriptor instead.
func (*SelfTestResponse) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{19}
}

func (x *SelfTestResponse) GetResult() SelfTestResponse_SelfTestResult {
	if x != nil {
		return x.Result
	}
	return SelfTestResponse_SUCCESS
}

type Devices struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Device              `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Devices) Reset() {
	*x = Devices{}
	mi := &file_voltha_protos_device_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Devices) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Devices) ProtoMessage() {}

func (x *Devices) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Devices.ProtoReflect.Descriptor instead.
func (*Devices) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{20}
}

func (x *Devices) GetItems() []*Device {
	if x != nil {
		return x.Items
	}
	return nil
}

type SimulateAlarmRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device Identifier
	Id                  string                             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Indicator           string                             `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
	IntfId              string                             `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
	PortTypeName        string                             `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
	OnuDeviceId         string                             `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
	InverseBitErrorRate int32                              `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
	Drift               int32                              `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
	NewEqd              int32                              `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
	OnuSerialNumber     string                             `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
	Operation           SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=device.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SimulateAlarmRequest) Reset() {
	*x = SimulateAlarmRequest{}
	mi := &file_voltha_protos_device_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SimulateAlarmRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SimulateAlarmRequest) ProtoMessage() {}

func (x *SimulateAlarmRequest) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 SimulateAlarmRequest.ProtoReflect.Descriptor instead.
func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{21}
}

func (x *SimulateAlarmRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SimulateAlarmRequest) GetIndicator() string {
	if x != nil {
		return x.Indicator
	}
	return ""
}

func (x *SimulateAlarmRequest) GetIntfId() string {
	if x != nil {
		return x.IntfId
	}
	return ""
}

func (x *SimulateAlarmRequest) GetPortTypeName() string {
	if x != nil {
		return x.PortTypeName
	}
	return ""
}

func (x *SimulateAlarmRequest) GetOnuDeviceId() string {
	if x != nil {
		return x.OnuDeviceId
	}
	return ""
}

func (x *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
	if x != nil {
		return x.InverseBitErrorRate
	}
	return 0
}

func (x *SimulateAlarmRequest) GetDrift() int32 {
	if x != nil {
		return x.Drift
	}
	return 0
}

func (x *SimulateAlarmRequest) GetNewEqd() int32 {
	if x != nil {
		return x.NewEqd
	}
	return 0
}

func (x *SimulateAlarmRequest) GetOnuSerialNumber() string {
	if x != nil {
		return x.OnuSerialNumber
	}
	return ""
}

func (x *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
	if x != nil {
		return x.Operation
	}
	return SimulateAlarmRequest_RAISE
}

// Represents a serialNumber of a  child device on a olt pon port
type OnuSerialNumberOnOLTPon struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	OltDeviceId   *common.ID             `protobuf:"bytes,1,opt,name=olt_device_id,json=oltDeviceId,proto3" json:"olt_device_id,omitempty"`
	Port          *Port                  `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	SerialNumber  string                 `protobuf:"bytes,3,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnuSerialNumberOnOLTPon) Reset() {
	*x = OnuSerialNumberOnOLTPon{}
	mi := &file_voltha_protos_device_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnuSerialNumberOnOLTPon) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnuSerialNumberOnOLTPon) ProtoMessage() {}

func (x *OnuSerialNumberOnOLTPon) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 OnuSerialNumberOnOLTPon.ProtoReflect.Descriptor instead.
func (*OnuSerialNumberOnOLTPon) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{22}
}

func (x *OnuSerialNumberOnOLTPon) GetOltDeviceId() *common.ID {
	if x != nil {
		return x.OltDeviceId
	}
	return nil
}

func (x *OnuSerialNumberOnOLTPon) GetPort() *Port {
	if x != nil {
		return x.Port
	}
	return nil
}

func (x *OnuSerialNumberOnOLTPon) GetSerialNumber() string {
	if x != nil {
		return x.SerialNumber
	}
	return ""
}

type UpdateDevice struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` //Device id of the device, for now only updating the OLT device is supported, and only ip address of the OLT
	// Types that are valid to be assigned to Address:
	//
	//	*UpdateDevice_Ipv4Address
	//	*UpdateDevice_Ipv6Address
	//	*UpdateDevice_HostAndPort
	Address       isUpdateDevice_Address `protobuf_oneof:"address"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateDevice) Reset() {
	*x = UpdateDevice{}
	mi := &file_voltha_protos_device_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateDevice) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateDevice) ProtoMessage() {}

func (x *UpdateDevice) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 UpdateDevice.ProtoReflect.Descriptor instead.
func (*UpdateDevice) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{23}
}

func (x *UpdateDevice) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *UpdateDevice) GetAddress() isUpdateDevice_Address {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *UpdateDevice) GetIpv4Address() string {
	if x != nil {
		if x, ok := x.Address.(*UpdateDevice_Ipv4Address); ok {
			return x.Ipv4Address
		}
	}
	return ""
}

func (x *UpdateDevice) GetIpv6Address() string {
	if x != nil {
		if x, ok := x.Address.(*UpdateDevice_Ipv6Address); ok {
			return x.Ipv6Address
		}
	}
	return ""
}

func (x *UpdateDevice) GetHostAndPort() string {
	if x != nil {
		if x, ok := x.Address.(*UpdateDevice_HostAndPort); ok {
			return x.HostAndPort
		}
	}
	return ""
}

type isUpdateDevice_Address interface {
	isUpdateDevice_Address()
}

type UpdateDevice_Ipv4Address struct {
	// Device contact IPv4 address (format: "a.b.c.d" or can use hostname too)
	Ipv4Address string `protobuf:"bytes,2,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
}

type UpdateDevice_Ipv6Address struct {
	// Device contact IPv6 address using the canonical string form
	// ("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx")
	Ipv6Address string `protobuf:"bytes,3,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
}

type UpdateDevice_HostAndPort struct {
	HostAndPort string `protobuf:"bytes,4,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
}

func (*UpdateDevice_Ipv4Address) isUpdateDevice_Address() {}

func (*UpdateDevice_Ipv6Address) isUpdateDevice_Address() {}

func (*UpdateDevice_HostAndPort) isUpdateDevice_Address() {}

type Port_PeerPort struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceId      string                 `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	PortNo        uint32                 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Port_PeerPort) Reset() {
	*x = Port_PeerPort{}
	mi := &file_voltha_protos_device_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Port_PeerPort) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Port_PeerPort) ProtoMessage() {}

func (x *Port_PeerPort) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Port_PeerPort.ProtoReflect.Descriptor instead.
func (*Port_PeerPort) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{13, 0}
}

func (x *Port_PeerPort) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *Port_PeerPort) GetPortNo() uint32 {
	if x != nil {
		return x.PortNo
	}
	return 0
}

type Device_ProxyAddress struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	DeviceId           string                 `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`                               // Which device to use as proxy to this device
	DeviceType         string                 `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`                         // The device type of the proxy device to use as the adapter name
	ChannelId          uint32                 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`                           // Sub-address within proxy
	ChannelGroupId     uint32                 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`          // Channel Group index
	ChannelTermination string                 `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"` // Channel Termination name
	OnuId              uint32                 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`                                       // onu identifier; optional
	OnuSessionId       uint32                 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`                // session identifier for the ONU; optional
	AdapterEndpoint    string                 `protobuf:"bytes,8,opt,name=adapter_endpoint,json=adapterEndpoint,proto3" json:"adapter_endpoint,omitempty"`          // endpoint of the adapter that handles the proxy device
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Device_ProxyAddress) Reset() {
	*x = Device_ProxyAddress{}
	mi := &file_voltha_protos_device_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Device_ProxyAddress) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Device_ProxyAddress) ProtoMessage() {}

func (x *Device_ProxyAddress) ProtoReflect() protoreflect.Message {
	mi := &file_voltha_protos_device_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 Device_ProxyAddress.ProtoReflect.Descriptor instead.
func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
	return file_voltha_protos_device_proto_rawDescGZIP(), []int{15, 0}
}

func (x *Device_ProxyAddress) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *Device_ProxyAddress) GetDeviceType() string {
	if x != nil {
		return x.DeviceType
	}
	return ""
}

func (x *Device_ProxyAddress) GetChannelId() uint32 {
	if x != nil {
		return x.ChannelId
	}
	return 0
}

func (x *Device_ProxyAddress) GetChannelGroupId() uint32 {
	if x != nil {
		return x.ChannelGroupId
	}
	return 0
}

func (x *Device_ProxyAddress) GetChannelTermination() string {
	if x != nil {
		return x.ChannelTermination
	}
	return ""
}

func (x *Device_ProxyAddress) GetOnuId() uint32 {
	if x != nil {
		return x.OnuId
	}
	return 0
}

func (x *Device_ProxyAddress) GetOnuSessionId() uint32 {
	if x != nil {
		return x.OnuSessionId
	}
	return 0
}

func (x *Device_ProxyAddress) GetAdapterEndpoint() string {
	if x != nil {
		return x.AdapterEndpoint
	}
	return ""
}

var File_voltha_protos_device_proto protoreflect.FileDescriptor

const file_voltha_protos_device_proto_rawDesc = "" +
	"\n" +
	"\x1avoltha_protos/device.proto\x12\x06device\x1a\x19google/protobuf/any.proto\x1a\x1avoltha_protos/common.proto\x1a\x1fvoltha_protos/openflow_13.proto\"\xe2\x02\n" +
	"\n" +
	"DeviceType\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tvendor_id\x18\x05 \x01(\tR\bvendorId\x12\x1d\n" +
	"\n" +
	"vendor_ids\x18\x06 \x03(\tR\tvendorIds\x12\x18\n" +
	"\aadapter\x18\x02 \x01(\tR\aadapter\x127\n" +
	"\x18accepts_bulk_flow_update\x18\x03 \x01(\bR\x15acceptsBulkFlowUpdate\x12D\n" +
	"\x1faccepts_add_remove_flow_updates\x18\x04 \x01(\bR\x1bacceptsAddRemoveFlowUpdates\x12L\n" +
	"#accepts_direct_logical_flows_update\x18\a \x01(\bR\x1facceptsDirectLogicalFlowsUpdate\x12!\n" +
	"\fadapter_type\x18\b \x01(\tR\vadapterType\"7\n" +
	"\vDeviceTypes\x12(\n" +
	"\x05items\x18\x01 \x03(\v2\x12.device.DeviceTypeR\x05items\"\xc0\x01\n" +
	"\bPmConfig\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12+\n" +
	"\x04type\x18\x02 \x01(\x0e2\x17.device.PmConfig.PmTypeR\x04type\x12\x18\n" +
	"\aenabled\x18\x03 \x01(\bR\aenabled\x12\x1f\n" +
	"\vsample_freq\x18\x04 \x01(\rR\n" +
	"sampleFreq\"8\n" +
	"\x06PmType\x12\v\n" +
	"\aCOUNTER\x10\x00\x12\t\n" +
	"\x05GAUGE\x10\x01\x12\t\n" +
	"\x05STATE\x10\x02\x12\v\n" +
	"\aCONTEXT\x10\x03\"\x93\x01\n" +
	"\rPmGroupConfig\x12\x1d\n" +
	"\n" +
	"group_name\x18\x01 \x01(\tR\tgroupName\x12\x1d\n" +
	"\n" +
	"group_freq\x18\x02 \x01(\rR\tgroupFreq\x12\x18\n" +
	"\aenabled\x18\x03 \x01(\bR\aenabled\x12*\n" +
	"\ametrics\x18\x04 \x03(\v2\x10.device.PmConfigR\ametrics\"\xf3\x01\n" +
	"\tPmConfigs\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12!\n" +
	"\fdefault_freq\x18\x02 \x01(\rR\vdefaultFreq\x12\x18\n" +
	"\agrouped\x18\x03 \x01(\bR\agrouped\x12#\n" +
	"\rfreq_override\x18\x04 \x01(\bR\ffreqOverride\x12-\n" +
	"\x06groups\x18\x05 \x03(\v2\x15.device.PmGroupConfigR\x06groups\x12*\n" +
	"\ametrics\x18\x06 \x03(\v2\x10.device.PmConfigR\ametrics\x12\x19\n" +
	"\bmax_skew\x18\a \x01(\rR\amaxSkew\"\x8f\x02\n" +
	"\x05Image\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12\x12\n" +
	"\x04hash\x18\x03 \x01(\rR\x04hash\x12)\n" +
	"\x10install_datetime\x18\x04 \x01(\tR\x0finstallDatetime\x12\x1b\n" +
	"\tis_active\x18\x05 \x01(\bR\bisActive\x12!\n" +
	"\fis_committed\x18\x06 \x01(\bR\visCommitted\x12\x19\n" +
	"\bis_valid\x18\a \x01(\bR\aisValid\x12\x10\n" +
	"\x03url\x18\b \x01(\tR\x03url\x12\x16\n" +
	"\x06vendor\x18\t \x01(\tR\x06vendor\x12\x14\n" +
	"\x05crc32\x18\n" +
	" \x01(\rR\x05crc32\"\xe7\a\n" +
	"\rImageDownload\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n" +
	"\x03url\x18\x03 \x01(\tR\x03url\x12\x10\n" +
	"\x03crc\x18\x04 \x01(\rR\x03crc\x12O\n" +
	"\x0edownload_state\x18\x05 \x01(\x0e2(.device.ImageDownload.ImageDownloadStateR\rdownloadState\x12#\n" +
	"\rimage_version\x18\x06 \x01(\tR\fimageVersion\x12)\n" +
	"\x10downloaded_bytes\x18\a \x01(\rR\x0fdownloadedBytes\x12H\n" +
	"\x06reason\x18\b \x01(\x0e20.device.ImageDownload.ImageDownloadFailureReasonR\x06reason\x12'\n" +
	"\x0fadditional_info\x18\t \x01(\tR\x0eadditionalInfo\x12\x1f\n" +
	"\vsave_config\x18\n" +
	" \x01(\bR\n" +
	"saveConfig\x12\x1b\n" +
	"\tlocal_dir\x18\v \x01(\tR\blocalDir\x12I\n" +
	"\vimage_state\x18\f \x01(\x0e2(.device.ImageDownload.ImageActivateStateR\n" +
	"imageState\x12\x1b\n" +
	"\tfile_size\x18\r \x01(\rR\bfileSize\"\xb7\x01\n" +
	"\x12ImageDownloadState\x12\x14\n" +
	"\x10DOWNLOAD_UNKNOWN\x10\x00\x12\x16\n" +
	"\x12DOWNLOAD_SUCCEEDED\x10\x01\x12\x16\n" +
	"\x12DOWNLOAD_REQUESTED\x10\x02\x12\x14\n" +
	"\x10DOWNLOAD_STARTED\x10\x03\x12\x13\n" +
	"\x0fDOWNLOAD_FAILED\x10\x04\x12\x18\n" +
	"\x14DOWNLOAD_UNSUPPORTED\x10\x05\x12\x16\n" +
	"\x12DOWNLOAD_CANCELLED\x10\x06\"\x86\x01\n" +
	"\x1aImageDownloadFailureReason\x12\f\n" +
	"\bNO_ERROR\x10\x00\x12\x0f\n" +
	"\vINVALID_URL\x10\x01\x12\x0f\n" +
	"\vDEVICE_BUSY\x10\x02\x12\x16\n" +
	"\x12INSUFFICIENT_SPACE\x10\x03\x12\x11\n" +
	"\rUNKNOWN_ERROR\x10\x04\x12\r\n" +
	"\tCANCELLED\x10\x05\"\x8c\x01\n" +
	"\x12ImageActivateState\x12\x11\n" +
	"\rIMAGE_UNKNOWN\x10\x00\x12\x12\n" +
	"\x0eIMAGE_INACTIVE\x10\x01\x12\x14\n" +
	"\x10IMAGE_ACTIVATING\x10\x02\x12\x10\n" +
	"\fIMAGE_ACTIVE\x10\x03\x12\x13\n" +
	"\x0fIMAGE_REVERTING\x10\x04\x12\x12\n" +
	"\x0eIMAGE_REVERTED\x10\x05:\x02\x18\x01\"A\n" +
	"\x0eImageDownloads\x12+\n" +
	"\x05items\x18\x02 \x03(\v2\x15.device.ImageDownloadR\x05items:\x02\x18\x01\"-\n" +
	"\x06Images\x12#\n" +
	"\x05image\x18\x01 \x03(\v2\r.device.ImageR\x05image\"\xb0\x01\n" +
	"\bOnuImage\x12\x18\n" +
	"\aversion\x18\x01 \x01(\tR\aversion\x12\x1e\n" +
	"\n" +
	"isCommited\x18\x02 \x01(\bR\n" +
	"isCommited\x12\x1a\n" +
	"\bisActive\x18\x03 \x01(\bR\bisActive\x12\x18\n" +
	"\aisValid\x18\x04 \x01(\bR\aisValid\x12 \n" +
	"\vproductCode\x18\x05 \x01(\tR\vproductCode\x12\x12\n" +
	"\x04hash\x18\x06 \x01(\tR\x04hash\"3\n" +
	"\tOnuImages\x12&\n" +
	"\x05items\x18\x01 \x03(\v2\x10.device.OnuImageR\x05items\"c\n" +
	"\x10DeviceImageState\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\tR\bdeviceId\x122\n" +
	"\n" +
	"imageState\x18\x02 \x01(\v2\x12.device.ImageStateR\n" +
	"imageState\"\x82\b\n" +
	"\n" +
	"ImageState\x12\x18\n" +
	"\aversion\x18\x01 \x01(\tR\aversion\x12L\n" +
	"\x0edownload_state\x18\x02 \x01(\x0e2%.device.ImageState.ImageDownloadStateR\rdownloadState\x12=\n" +
	"\x06reason\x18\x03 \x01(\x0e2%.device.ImageState.ImageFailureReasonR\x06reason\x12H\n" +
	"\vimage_state\x18\x04 \x01(\x0e2'.device.ImageState.ImageActivationStateR\n" +
	"imageState\"\xd0\x01\n" +
	"\x12ImageDownloadState\x12\x14\n" +
	"\x10DOWNLOAD_UNKNOWN\x10\x00\x12\x16\n" +
	"\x12DOWNLOAD_SUCCEEDED\x10\x01\x12\x16\n" +
	"\x12DOWNLOAD_REQUESTED\x10\x02\x12\x14\n" +
	"\x10DOWNLOAD_STARTED\x10\x03\x12\x13\n" +
	"\x0fDOWNLOAD_FAILED\x10\x04\x12\x18\n" +
	"\x14DOWNLOAD_UNSUPPORTED\x10\x05\x12\x17\n" +
	"\x13DOWNLOAD_CANCELLING\x10\x06\x12\x16\n" +
	"\x12DOWNLOAD_CANCELLED\x10\a\"\xf4\x01\n" +
	"\x12ImageFailureReason\x12\f\n" +
	"\bNO_ERROR\x10\x00\x12\x0f\n" +
	"\vINVALID_URL\x10\x01\x12\x0f\n" +
	"\vDEVICE_BUSY\x10\x02\x12\x16\n" +
	"\x12INSUFFICIENT_SPACE\x10\x03\x12\x11\n" +
	"\rUNKNOWN_ERROR\x10\x04\x12\x18\n" +
	"\x14CANCELLED_ON_REQUEST\x10\x05\x12\x1a\n" +
	"\x16CANCELLED_ON_ONU_STATE\x10\x06\x12\x1a\n" +
	"\x16VENDOR_DEVICE_MISMATCH\x10\a\x12\x17\n" +
	"\x13OMCI_TRANSFER_ERROR\x10\b\x12\x18\n" +
	"\x14IMAGE_REFUSED_BY_ONU\x10\t\"\xb8\x02\n" +
	"\x14ImageActivationState\x12\x11\n" +
	"\rIMAGE_UNKNOWN\x10\x00\x12\x12\n" +
	"\x0eIMAGE_INACTIVE\x10\x01\x12\x14\n" +
	"\x10IMAGE_ACTIVATING\x10\x02\x12\x10\n" +
	"\fIMAGE_ACTIVE\x10\x03\x12\x14\n" +
	"\x10IMAGE_COMMITTING\x10\x04\x12\x13\n" +
	"\x0fIMAGE_COMMITTED\x10\x05\x12\x1d\n" +
	"\x19IMAGE_ACTIVATION_ABORTING\x10\x06\x12\x1c\n" +
	"\x18IMAGE_ACTIVATION_ABORTED\x10\a\x12\x19\n" +
	"\x15IMAGE_COMMIT_ABORTING\x10\b\x12\x18\n" +
	"\x14IMAGE_COMMIT_ABORTED\x10\t\x12\x15\n" +
	"\x11IMAGE_DOWNLOADING\x10\n" +
	"\x12\x1d\n" +
	"\x19IMAGE_DOWNLOADING_ABORTED\x10\v\"\xb7\x05\n" +
	"\x04Port\x12\x17\n" +
	"\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x14\n" +
	"\x05label\x18\x02 \x01(\tR\x05label\x12)\n" +
	"\x04type\x18\x03 \x01(\x0e2\x15.device.Port.PortTypeR\x04type\x129\n" +
	"\vadmin_state\x18\x05 \x01(\x0e2\x18.common.AdminState.TypesR\n" +
	"adminState\x129\n" +
	"\voper_status\x18\x06 \x01(\x0e2\x18.common.OperStatus.TypesR\n" +
	"operStatus\x12\x1b\n" +
	"\tdevice_id\x18\a \x01(\tR\bdeviceId\x12+\n" +
	"\x05peers\x18\b \x03(\v2\x15.device.Port.PeerPortR\x05peers\x12\x1d\n" +
	"\n" +
	"rx_packets\x18\t \x01(\x06R\trxPackets\x12\x19\n" +
	"\brx_bytes\x18\n" +
	" \x01(\x06R\arxBytes\x12\x1b\n" +
	"\trx_errors\x18\v \x01(\x06R\brxErrors\x12\x1d\n" +
	"\n" +
	"tx_packets\x18\f \x01(\x06R\ttxPackets\x12\x19\n" +
	"\btx_bytes\x18\r \x01(\x06R\atxBytes\x12\x1b\n" +
	"\ttx_errors\x18\x0e \x01(\x06R\btxErrors\x120\n" +
	"\bofp_port\x18\x0f \x01(\v2\x15.openflow_13.ofp_portR\aofpPort\x1a@\n" +
	"\bPeerPort\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\tR\bdeviceId\x12\x17\n" +
	"\aport_no\x18\x02 \x01(\rR\x06portNo\"s\n" +
	"\bPortType\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\x10\n" +
	"\fETHERNET_NNI\x10\x01\x12\x10\n" +
	"\fETHERNET_UNI\x10\x02\x12\v\n" +
	"\aPON_OLT\x10\x03\x12\v\n" +
	"\aPON_ONU\x10\x04\x12\r\n" +
	"\tVENET_OLT\x10\x05\x12\r\n" +
	"\tVENET_ONU\x10\x06\"+\n" +
	"\x05Ports\x12\"\n" +
	"\x05items\x18\x01 \x03(\v2\f.device.PortR\x05items\"\xd8\n" +
	"\n" +
	"\x06Device\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04type\x18\x02 \x01(\tR\x04type\x12\x12\n" +
	"\x04root\x18\x03 \x01(\bR\x04root\x12\x1b\n" +
	"\tparent_id\x18\x04 \x01(\tR\bparentId\x12$\n" +
	"\x0eparent_port_no\x18\x14 \x01(\rR\fparentPortNo\x12\x16\n" +
	"\x06vendor\x18\x05 \x01(\tR\x06vendor\x12\x14\n" +
	"\x05model\x18\x06 \x01(\tR\x05model\x12)\n" +
	"\x10hardware_version\x18\a \x01(\tR\x0fhardwareVersion\x12)\n" +
	"\x10firmware_version\x18\b \x01(\tR\x0ffirmwareVersion\x12&\n" +
	"\x06images\x18\t \x01(\v2\x0e.device.ImagesR\x06images\x12#\n" +
	"\rserial_number\x18\n" +
	" \x01(\tR\fserialNumber\x12\x1b\n" +
	"\tvendor_id\x18\x18 \x01(\tR\bvendorId\x12)\n" +
	"\x10adapter_endpoint\x18\x19 \x01(\tR\x0fadapterEndpoint\x12\x12\n" +
	"\x04vlan\x18\f \x01(\rR\x04vlan\x12\x1f\n" +
	"\vmac_address\x18\r \x01(\tR\n" +
	"macAddress\x12#\n" +
	"\fipv4_address\x18\x0e \x01(\tH\x00R\vipv4Address\x12#\n" +
	"\fipv6_address\x18\x0f \x01(\tH\x00R\vipv6Address\x12$\n" +
	"\rhost_and_port\x18\x15 \x01(\tH\x00R\vhostAndPort\x12\x1d\n" +
	"\n" +
	"extra_args\x18\x17 \x01(\tR\textraArgs\x12@\n" +
	"\rproxy_address\x18\x13 \x01(\v2\x1b.device.Device.ProxyAddressR\fproxyAddress\x129\n" +
	"\vadmin_state\x18\x10 \x01(\x0e2\x18.common.AdminState.TypesR\n" +
	"adminState\x129\n" +
	"\voper_status\x18\x11 \x01(\x0e2\x18.common.OperStatus.TypesR\n" +
	"operStatus\x12\x16\n" +
	"\x06reason\x18\x16 \x01(\tR\x06reason\x12B\n" +
	"\x0econnect_status\x18\x12 \x01(\x0e2\x1b.common.ConnectStatus.TypesR\rconnectStatus\x12,\n" +
	"\x06custom\x18@ \x01(\v2\x14.google.protobuf.AnyR\x06custom\x121\n" +
	"\n" +
	"pm_configs\x18\x83\x01 \x01(\v2\x11.device.PmConfigsR\tpmConfigs\x12?\n" +
	"\x0fimage_downloads\x18\x85\x01 \x03(\v2\x15.device.ImageDownloadR\x0eimageDownloads\x1a\xae\x02\n" +
	"\fProxyAddress\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\tR\bdeviceId\x12\x1f\n" +
	"\vdevice_type\x18\x02 \x01(\tR\n" +
	"deviceType\x12\x1d\n" +
	"\n" +
	"channel_id\x18\x03 \x01(\rR\tchannelId\x12(\n" +
	"\x10channel_group_id\x18\x04 \x01(\rR\x0echannelGroupId\x12/\n" +
	"\x13channel_termination\x18\x05 \x01(\tR\x12channelTermination\x12\x15\n" +
	"\x06onu_id\x18\x06 \x01(\rR\x05onuId\x12$\n" +
	"\x0eonu_session_id\x18\a \x01(\rR\fonuSessionId\x12)\n" +
	"\x10adapter_endpoint\x18\b \x01(\tR\x0fadapterEndpointB\t\n" +
	"\aaddressJ\x04\b\v\x10\f\"\xc2\x01\n" +
	"\x1aDeviceImageDownloadRequest\x12'\n" +
	"\tdevice_id\x18\x01 \x03(\v2\n" +
	".common.IDR\bdeviceId\x12#\n" +
	"\x05image\x18\x02 \x01(\v2\r.device.ImageR\x05image\x12,\n" +
	"\x11activateOnSuccess\x18\x03 \x01(\bR\x11activateOnSuccess\x12(\n" +
	"\x0fcommitOnSuccess\x18\x04 \x01(\bR\x0fcommitOnSuccess\"\x81\x01\n" +
	"\x12DeviceImageRequest\x12'\n" +
	"\tdevice_id\x18\x01 \x03(\v2\n" +
	".common.IDR\bdeviceId\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12(\n" +
	"\x0fcommitOnSuccess\x18\x03 \x01(\bR\x0fcommitOnSuccess\"_\n" +
	"\x13DeviceImageResponse\x12H\n" +
	"\x13device_image_states\x18\x01 \x03(\v2\x18.device.DeviceImageStateR\x11deviceImageStates\"\xa5\x01\n" +
	"\x10SelfTestResponse\x12?\n" +
	"\x06result\x18\x01 \x01(\x0e2'.device.SelfTestResponse.SelfTestResultR\x06result\"P\n" +
	"\x0eSelfTestResult\x12\v\n" +
	"\aSUCCESS\x10\x00\x12\v\n" +
	"\aFAILURE\x10\x01\x12\x11\n" +
	"\rNOT_SUPPORTED\x10\x02\x12\x11\n" +
	"\rUNKNOWN_ERROR\x10\x03\"/\n" +
	"\aDevices\x12$\n" +
	"\x05items\x18\x01 \x03(\v2\x0e.device.DeviceR\x05items\"\xa8\x03\n" +
	"\x14SimulateAlarmRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n" +
	"\tindicator\x18\x02 \x01(\tR\tindicator\x12\x17\n" +
	"\aintf_id\x18\x03 \x01(\tR\x06intfId\x12$\n" +
	"\x0eport_type_name\x18\x04 \x01(\tR\fportTypeName\x12\"\n" +
	"\ronu_device_id\x18\x05 \x01(\tR\vonuDeviceId\x123\n" +
	"\x16inverse_bit_error_rate\x18\x06 \x01(\x05R\x13inverseBitErrorRate\x12\x14\n" +
	"\x05drift\x18\a \x01(\x05R\x05drift\x12\x17\n" +
	"\anew_eqd\x18\b \x01(\x05R\x06newEqd\x12*\n" +
	"\x11onu_serial_number\x18\t \x01(\tR\x0fonuSerialNumber\x12H\n" +
	"\toperation\x18\n" +
	" \x01(\x0e2*.device.SimulateAlarmRequest.OperationTypeR\toperation\"%\n" +
	"\rOperationType\x12\t\n" +
	"\x05RAISE\x10\x00\x12\t\n" +
	"\x05CLEAR\x10\x01\"\x90\x01\n" +
	"\x17OnuSerialNumberOnOLTPon\x12.\n" +
	"\rolt_device_id\x18\x01 \x01(\v2\n" +
	".common.IDR\voltDeviceId\x12 \n" +
	"\x04port\x18\x02 \x01(\v2\f.device.PortR\x04port\x12#\n" +
	"\rserial_number\x18\x03 \x01(\tR\fserialNumber\"\x99\x01\n" +
	"\fUpdateDevice\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12#\n" +
	"\fipv4_address\x18\x02 \x01(\tH\x00R\vipv4Address\x12#\n" +
	"\fipv6_address\x18\x03 \x01(\tH\x00R\vipv6Address\x12$\n" +
	"\rhost_and_port\x18\x04 \x01(\tH\x00R\vhostAndPortB\t\n" +
	"\aaddressBZ\n" +
	"\x1aorg.opencord.voltha.deviceB\fVolthaDeviceZ.github.com/opencord/voltha-protos/v5/go/volthab\x06proto3"

var (
	file_voltha_protos_device_proto_rawDescOnce sync.Once
	file_voltha_protos_device_proto_rawDescData []byte
)

func file_voltha_protos_device_proto_rawDescGZIP() []byte {
	file_voltha_protos_device_proto_rawDescOnce.Do(func() {
		file_voltha_protos_device_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_voltha_protos_device_proto_rawDesc), len(file_voltha_protos_device_proto_rawDesc)))
	})
	return file_voltha_protos_device_proto_rawDescData
}

var file_voltha_protos_device_proto_enumTypes = make([]protoimpl.EnumInfo, 10)
var file_voltha_protos_device_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_voltha_protos_device_proto_goTypes = []any{
	(PmConfig_PmType)(0),                          // 0: device.PmConfig.PmType
	(ImageDownload_ImageDownloadState)(0),         // 1: device.ImageDownload.ImageDownloadState
	(ImageDownload_ImageDownloadFailureReason)(0), // 2: device.ImageDownload.ImageDownloadFailureReason
	(ImageDownload_ImageActivateState)(0),         // 3: device.ImageDownload.ImageActivateState
	(ImageState_ImageDownloadState)(0),            // 4: device.ImageState.ImageDownloadState
	(ImageState_ImageFailureReason)(0),            // 5: device.ImageState.ImageFailureReason
	(ImageState_ImageActivationState)(0),          // 6: device.ImageState.ImageActivationState
	(Port_PortType)(0),                            // 7: device.Port.PortType
	(SelfTestResponse_SelfTestResult)(0),          // 8: device.SelfTestResponse.SelfTestResult
	(SimulateAlarmRequest_OperationType)(0),       // 9: device.SimulateAlarmRequest.OperationType
	(*DeviceType)(nil),                            // 10: device.DeviceType
	(*DeviceTypes)(nil),                           // 11: device.DeviceTypes
	(*PmConfig)(nil),                              // 12: device.PmConfig
	(*PmGroupConfig)(nil),                         // 13: device.PmGroupConfig
	(*PmConfigs)(nil),                             // 14: device.PmConfigs
	(*Image)(nil),                                 // 15: device.Image
	(*ImageDownload)(nil),                         // 16: device.ImageDownload
	(*ImageDownloads)(nil),                        // 17: device.ImageDownloads
	(*Images)(nil),                                // 18: device.Images
	(*OnuImage)(nil),                              // 19: device.OnuImage
	(*OnuImages)(nil),                             // 20: device.OnuImages
	(*DeviceImageState)(nil),                      // 21: device.DeviceImageState
	(*ImageState)(nil),                            // 22: device.ImageState
	(*Port)(nil),                                  // 23: device.Port
	(*Ports)(nil),                                 // 24: device.Ports
	(*Device)(nil),                                // 25: device.Device
	(*DeviceImageDownloadRequest)(nil),            // 26: device.DeviceImageDownloadRequest
	(*DeviceImageRequest)(nil),                    // 27: device.DeviceImageRequest
	(*DeviceImageResponse)(nil),                   // 28: device.DeviceImageResponse
	(*SelfTestResponse)(nil),                      // 29: device.SelfTestResponse
	(*Devices)(nil),                               // 30: device.Devices
	(*SimulateAlarmRequest)(nil),                  // 31: device.SimulateAlarmRequest
	(*OnuSerialNumberOnOLTPon)(nil),               // 32: device.OnuSerialNumberOnOLTPon
	(*UpdateDevice)(nil),                          // 33: device.UpdateDevice
	(*Port_PeerPort)(nil),                         // 34: device.Port.PeerPort
	(*Device_ProxyAddress)(nil),                   // 35: device.Device.ProxyAddress
	(common.AdminState_Types)(0),                  // 36: common.AdminState.Types
	(common.OperStatus_Types)(0),                  // 37: common.OperStatus.Types
	(*openflow_13.OfpPort)(nil),                   // 38: openflow_13.ofp_port
	(common.ConnectStatus_Types)(0),               // 39: common.ConnectStatus.Types
	(*anypb.Any)(nil),                             // 40: google.protobuf.Any
	(*common.ID)(nil),                             // 41: common.ID
}
var file_voltha_protos_device_proto_depIdxs = []int32{
	10, // 0: device.DeviceTypes.items:type_name -> device.DeviceType
	0,  // 1: device.PmConfig.type:type_name -> device.PmConfig.PmType
	12, // 2: device.PmGroupConfig.metrics:type_name -> device.PmConfig
	13, // 3: device.PmConfigs.groups:type_name -> device.PmGroupConfig
	12, // 4: device.PmConfigs.metrics:type_name -> device.PmConfig
	1,  // 5: device.ImageDownload.download_state:type_name -> device.ImageDownload.ImageDownloadState
	2,  // 6: device.ImageDownload.reason:type_name -> device.ImageDownload.ImageDownloadFailureReason
	3,  // 7: device.ImageDownload.image_state:type_name -> device.ImageDownload.ImageActivateState
	16, // 8: device.ImageDownloads.items:type_name -> device.ImageDownload
	15, // 9: device.Images.image:type_name -> device.Image
	19, // 10: device.OnuImages.items:type_name -> device.OnuImage
	22, // 11: device.DeviceImageState.imageState:type_name -> device.ImageState
	4,  // 12: device.ImageState.download_state:type_name -> device.ImageState.ImageDownloadState
	5,  // 13: device.ImageState.reason:type_name -> device.ImageState.ImageFailureReason
	6,  // 14: device.ImageState.image_state:type_name -> device.ImageState.ImageActivationState
	7,  // 15: device.Port.type:type_name -> device.Port.PortType
	36, // 16: device.Port.admin_state:type_name -> common.AdminState.Types
	37, // 17: device.Port.oper_status:type_name -> common.OperStatus.Types
	34, // 18: device.Port.peers:type_name -> device.Port.PeerPort
	38, // 19: device.Port.ofp_port:type_name -> openflow_13.ofp_port
	23, // 20: device.Ports.items:type_name -> device.Port
	18, // 21: device.Device.images:type_name -> device.Images
	35, // 22: device.Device.proxy_address:type_name -> device.Device.ProxyAddress
	36, // 23: device.Device.admin_state:type_name -> common.AdminState.Types
	37, // 24: device.Device.oper_status:type_name -> common.OperStatus.Types
	39, // 25: device.Device.connect_status:type_name -> common.ConnectStatus.Types
	40, // 26: device.Device.custom:type_name -> google.protobuf.Any
	14, // 27: device.Device.pm_configs:type_name -> device.PmConfigs
	16, // 28: device.Device.image_downloads:type_name -> device.ImageDownload
	41, // 29: device.DeviceImageDownloadRequest.device_id:type_name -> common.ID
	15, // 30: device.DeviceImageDownloadRequest.image:type_name -> device.Image
	41, // 31: device.DeviceImageRequest.device_id:type_name -> common.ID
	21, // 32: device.DeviceImageResponse.device_image_states:type_name -> device.DeviceImageState
	8,  // 33: device.SelfTestResponse.result:type_name -> device.SelfTestResponse.SelfTestResult
	25, // 34: device.Devices.items:type_name -> device.Device
	9,  // 35: device.SimulateAlarmRequest.operation:type_name -> device.SimulateAlarmRequest.OperationType
	41, // 36: device.OnuSerialNumberOnOLTPon.olt_device_id:type_name -> common.ID
	23, // 37: device.OnuSerialNumberOnOLTPon.port:type_name -> device.Port
	38, // [38:38] is the sub-list for method output_type
	38, // [38:38] is the sub-list for method input_type
	38, // [38:38] is the sub-list for extension type_name
	38, // [38:38] is the sub-list for extension extendee
	0,  // [0:38] is the sub-list for field type_name
}

func init() { file_voltha_protos_device_proto_init() }
func file_voltha_protos_device_proto_init() {
	if File_voltha_protos_device_proto != nil {
		return
	}
	file_voltha_protos_device_proto_msgTypes[15].OneofWrappers = []any{
		(*Device_Ipv4Address)(nil),
		(*Device_Ipv6Address)(nil),
		(*Device_HostAndPort)(nil),
	}
	file_voltha_protos_device_proto_msgTypes[23].OneofWrappers = []any{
		(*UpdateDevice_Ipv4Address)(nil),
		(*UpdateDevice_Ipv6Address)(nil),
		(*UpdateDevice_HostAndPort)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_voltha_protos_device_proto_rawDesc), len(file_voltha_protos_device_proto_rawDesc)),
			NumEnums:      10,
			NumMessages:   26,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_voltha_protos_device_proto_goTypes,
		DependencyIndexes: file_voltha_protos_device_proto_depIdxs,
		EnumInfos:         file_voltha_protos_device_proto_enumTypes,
		MessageInfos:      file_voltha_protos_device_proto_msgTypes,
	}.Build()
	File_voltha_protos_device_proto = out.File
	file_voltha_protos_device_proto_goTypes = nil
	file_voltha_protos_device_proto_depIdxs = nil
}
