// Code generated by protoc-gen-go. DO NOT EDIT.
// source: voltha_protos/voltha.proto

package voltha

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	common "github.com/opencord/voltha-protos/v3/go/common"
	omci "github.com/opencord/voltha-protos/v3/go/omci"
	openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// ChildNode from public import voltha_protos/meta.proto
type ChildNode = common.ChildNode

// Access from public import voltha_protos/meta.proto
type Access = common.Access

var Access_name = common.Access_name
var Access_value = common.Access_value

const Access_CONFIG = Access(common.Access_CONFIG)
const Access_READ_ONLY = Access(common.Access_READ_ONLY)
const Access_REAL_TIME = Access(common.Access_REAL_TIME)

var E_ChildNode = common.E_ChildNode

var E_Access = common.E_Access

// ID from public import voltha_protos/common.proto
type ID = common.ID

// IDs from public import voltha_protos/common.proto
type IDs = common.IDs

// AdminState from public import voltha_protos/common.proto
type AdminState = common.AdminState

// OperStatus from public import voltha_protos/common.proto
type OperStatus = common.OperStatus

// ConnectStatus from public import voltha_protos/common.proto
type ConnectStatus = common.ConnectStatus

// OperationResp from public import voltha_protos/common.proto
type OperationResp = common.OperationResp

// ValueType from public import voltha_protos/common.proto
type ValueType = common.ValueType

// ValueSpecifier from public import voltha_protos/common.proto
type ValueSpecifier = common.ValueSpecifier

// ReturnValues from public import voltha_protos/common.proto
type ReturnValues = common.ReturnValues

// TestModeKeys from public import voltha_protos/common.proto
type TestModeKeys = common.TestModeKeys

var TestModeKeys_name = common.TestModeKeys_name
var TestModeKeys_value = common.TestModeKeys_value

const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)

// AdminState_Types from public import voltha_protos/common.proto
type AdminState_Types = common.AdminState_Types

var AdminState_Types_name = common.AdminState_Types_name
var AdminState_Types_value = common.AdminState_Types_value

const AdminState_UNKNOWN = AdminState_Types(common.AdminState_UNKNOWN)
const AdminState_PREPROVISIONED = AdminState_Types(common.AdminState_PREPROVISIONED)
const AdminState_ENABLED = AdminState_Types(common.AdminState_ENABLED)
const AdminState_DISABLED = AdminState_Types(common.AdminState_DISABLED)
const AdminState_DOWNLOADING_IMAGE = AdminState_Types(common.AdminState_DOWNLOADING_IMAGE)
const AdminState_DELETED = AdminState_Types(common.AdminState_DELETED)

// OperStatus_Types from public import voltha_protos/common.proto
type OperStatus_Types = common.OperStatus_Types

var OperStatus_Types_name = common.OperStatus_Types_name
var OperStatus_Types_value = common.OperStatus_Types_value

const OperStatus_UNKNOWN = OperStatus_Types(common.OperStatus_UNKNOWN)
const OperStatus_DISCOVERED = OperStatus_Types(common.OperStatus_DISCOVERED)
const OperStatus_ACTIVATING = OperStatus_Types(common.OperStatus_ACTIVATING)
const OperStatus_TESTING = OperStatus_Types(common.OperStatus_TESTING)
const OperStatus_ACTIVE = OperStatus_Types(common.OperStatus_ACTIVE)
const OperStatus_FAILED = OperStatus_Types(common.OperStatus_FAILED)

// ConnectStatus_Types from public import voltha_protos/common.proto
type ConnectStatus_Types = common.ConnectStatus_Types

var ConnectStatus_Types_name = common.ConnectStatus_Types_name
var ConnectStatus_Types_value = common.ConnectStatus_Types_value

const ConnectStatus_UNKNOWN = ConnectStatus_Types(common.ConnectStatus_UNKNOWN)
const ConnectStatus_UNREACHABLE = ConnectStatus_Types(common.ConnectStatus_UNREACHABLE)
const ConnectStatus_REACHABLE = ConnectStatus_Types(common.ConnectStatus_REACHABLE)

// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode

var OperationResp_OperationReturnCode_name = common.OperationResp_OperationReturnCode_name
var OperationResp_OperationReturnCode_value = common.OperationResp_OperationReturnCode_value

const OperationResp_OPERATION_SUCCESS = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_SUCCESS)
const OperationResp_OPERATION_FAILURE = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_FAILURE)
const OperationResp_OPERATION_UNSUPPORTED = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_UNSUPPORTED)

// ValueType_Type from public import voltha_protos/common.proto
type ValueType_Type = common.ValueType_Type

var ValueType_Type_name = common.ValueType_Type_name
var ValueType_Type_value = common.ValueType_Type_value

const ValueType_EMPTY = ValueType_Type(common.ValueType_EMPTY)
const ValueType_DISTANCE = ValueType_Type(common.ValueType_DISTANCE)

// OfpHeader from public import voltha_protos/openflow_13.proto
type OfpHeader = openflow_13.OfpHeader

// OfpHelloElemHeader from public import voltha_protos/openflow_13.proto
type OfpHelloElemHeader = openflow_13.OfpHelloElemHeader
type OfpHelloElemHeader_Versionbitmap = openflow_13.OfpHelloElemHeader_Versionbitmap

// OfpHelloElemVersionbitmap from public import voltha_protos/openflow_13.proto
type OfpHelloElemVersionbitmap = openflow_13.OfpHelloElemVersionbitmap

// OfpHello from public import voltha_protos/openflow_13.proto
type OfpHello = openflow_13.OfpHello

// OfpSwitchConfig from public import voltha_protos/openflow_13.proto
type OfpSwitchConfig = openflow_13.OfpSwitchConfig

// OfpTableMod from public import voltha_protos/openflow_13.proto
type OfpTableMod = openflow_13.OfpTableMod

// OfpPort from public import voltha_protos/openflow_13.proto
type OfpPort = openflow_13.OfpPort

// OfpSwitchFeatures from public import voltha_protos/openflow_13.proto
type OfpSwitchFeatures = openflow_13.OfpSwitchFeatures

// OfpPortStatus from public import voltha_protos/openflow_13.proto
type OfpPortStatus = openflow_13.OfpPortStatus

// OfpPortMod from public import voltha_protos/openflow_13.proto
type OfpPortMod = openflow_13.OfpPortMod

// OfpMatch from public import voltha_protos/openflow_13.proto
type OfpMatch = openflow_13.OfpMatch

// OfpOxmField from public import voltha_protos/openflow_13.proto
type OfpOxmField = openflow_13.OfpOxmField
type OfpOxmField_OfbField = openflow_13.OfpOxmField_OfbField
type OfpOxmField_ExperimenterField = openflow_13.OfpOxmField_ExperimenterField

// OfpOxmOfbField from public import voltha_protos/openflow_13.proto
type OfpOxmOfbField = openflow_13.OfpOxmOfbField
type OfpOxmOfbField_Port = openflow_13.OfpOxmOfbField_Port
type OfpOxmOfbField_PhysicalPort = openflow_13.OfpOxmOfbField_PhysicalPort
type OfpOxmOfbField_TableMetadata = openflow_13.OfpOxmOfbField_TableMetadata
type OfpOxmOfbField_EthDst = openflow_13.OfpOxmOfbField_EthDst
type OfpOxmOfbField_EthSrc = openflow_13.OfpOxmOfbField_EthSrc
type OfpOxmOfbField_EthType = openflow_13.OfpOxmOfbField_EthType
type OfpOxmOfbField_VlanVid = openflow_13.OfpOxmOfbField_VlanVid
type OfpOxmOfbField_VlanPcp = openflow_13.OfpOxmOfbField_VlanPcp
type OfpOxmOfbField_IpDscp = openflow_13.OfpOxmOfbField_IpDscp
type OfpOxmOfbField_IpEcn = openflow_13.OfpOxmOfbField_IpEcn
type OfpOxmOfbField_IpProto = openflow_13.OfpOxmOfbField_IpProto
type OfpOxmOfbField_Ipv4Src = openflow_13.OfpOxmOfbField_Ipv4Src
type OfpOxmOfbField_Ipv4Dst = openflow_13.OfpOxmOfbField_Ipv4Dst
type OfpOxmOfbField_TcpSrc = openflow_13.OfpOxmOfbField_TcpSrc
type OfpOxmOfbField_TcpDst = openflow_13.OfpOxmOfbField_TcpDst
type OfpOxmOfbField_UdpSrc = openflow_13.OfpOxmOfbField_UdpSrc
type OfpOxmOfbField_UdpDst = openflow_13.OfpOxmOfbField_UdpDst
type OfpOxmOfbField_SctpSrc = openflow_13.OfpOxmOfbField_SctpSrc
type OfpOxmOfbField_SctpDst = openflow_13.OfpOxmOfbField_SctpDst
type OfpOxmOfbField_Icmpv4Type = openflow_13.OfpOxmOfbField_Icmpv4Type
type OfpOxmOfbField_Icmpv4Code = openflow_13.OfpOxmOfbField_Icmpv4Code
type OfpOxmOfbField_ArpOp = openflow_13.OfpOxmOfbField_ArpOp
type OfpOxmOfbField_ArpSpa = openflow_13.OfpOxmOfbField_ArpSpa
type OfpOxmOfbField_ArpTpa = openflow_13.OfpOxmOfbField_ArpTpa
type OfpOxmOfbField_ArpSha = openflow_13.OfpOxmOfbField_ArpSha
type OfpOxmOfbField_ArpTha = openflow_13.OfpOxmOfbField_ArpTha
type OfpOxmOfbField_Ipv6Src = openflow_13.OfpOxmOfbField_Ipv6Src
type OfpOxmOfbField_Ipv6Dst = openflow_13.OfpOxmOfbField_Ipv6Dst
type OfpOxmOfbField_Ipv6Flabel = openflow_13.OfpOxmOfbField_Ipv6Flabel
type OfpOxmOfbField_Icmpv6Type = openflow_13.OfpOxmOfbField_Icmpv6Type
type OfpOxmOfbField_Icmpv6Code = openflow_13.OfpOxmOfbField_Icmpv6Code
type OfpOxmOfbField_Ipv6NdTarget = openflow_13.OfpOxmOfbField_Ipv6NdTarget
type OfpOxmOfbField_Ipv6NdSsl = openflow_13.OfpOxmOfbField_Ipv6NdSsl
type OfpOxmOfbField_Ipv6NdTll = openflow_13.OfpOxmOfbField_Ipv6NdTll
type OfpOxmOfbField_MplsLabel = openflow_13.OfpOxmOfbField_MplsLabel
type OfpOxmOfbField_MplsTc = openflow_13.OfpOxmOfbField_MplsTc
type OfpOxmOfbField_MplsBos = openflow_13.OfpOxmOfbField_MplsBos
type OfpOxmOfbField_PbbIsid = openflow_13.OfpOxmOfbField_PbbIsid
type OfpOxmOfbField_TunnelId = openflow_13.OfpOxmOfbField_TunnelId
type OfpOxmOfbField_Ipv6Exthdr = openflow_13.OfpOxmOfbField_Ipv6Exthdr
type OfpOxmOfbField_TableMetadataMask = openflow_13.OfpOxmOfbField_TableMetadataMask
type OfpOxmOfbField_EthDstMask = openflow_13.OfpOxmOfbField_EthDstMask
type OfpOxmOfbField_EthSrcMask = openflow_13.OfpOxmOfbField_EthSrcMask
type OfpOxmOfbField_VlanVidMask = openflow_13.OfpOxmOfbField_VlanVidMask
type OfpOxmOfbField_Ipv4SrcMask = openflow_13.OfpOxmOfbField_Ipv4SrcMask
type OfpOxmOfbField_Ipv4DstMask = openflow_13.OfpOxmOfbField_Ipv4DstMask
type OfpOxmOfbField_ArpSpaMask = openflow_13.OfpOxmOfbField_ArpSpaMask
type OfpOxmOfbField_ArpTpaMask = openflow_13.OfpOxmOfbField_ArpTpaMask
type OfpOxmOfbField_Ipv6SrcMask = openflow_13.OfpOxmOfbField_Ipv6SrcMask
type OfpOxmOfbField_Ipv6DstMask = openflow_13.OfpOxmOfbField_Ipv6DstMask
type OfpOxmOfbField_Ipv6FlabelMask = openflow_13.OfpOxmOfbField_Ipv6FlabelMask
type OfpOxmOfbField_PbbIsidMask = openflow_13.OfpOxmOfbField_PbbIsidMask
type OfpOxmOfbField_TunnelIdMask = openflow_13.OfpOxmOfbField_TunnelIdMask
type OfpOxmOfbField_Ipv6ExthdrMask = openflow_13.OfpOxmOfbField_Ipv6ExthdrMask

// OfpOxmExperimenterField from public import voltha_protos/openflow_13.proto
type OfpOxmExperimenterField = openflow_13.OfpOxmExperimenterField

// OfpAction from public import voltha_protos/openflow_13.proto
type OfpAction = openflow_13.OfpAction
type OfpAction_Output = openflow_13.OfpAction_Output
type OfpAction_MplsTtl = openflow_13.OfpAction_MplsTtl
type OfpAction_Push = openflow_13.OfpAction_Push
type OfpAction_PopMpls = openflow_13.OfpAction_PopMpls
type OfpAction_Group = openflow_13.OfpAction_Group
type OfpAction_NwTtl = openflow_13.OfpAction_NwTtl
type OfpAction_SetField = openflow_13.OfpAction_SetField
type OfpAction_Experimenter = openflow_13.OfpAction_Experimenter

// OfpActionOutput from public import voltha_protos/openflow_13.proto
type OfpActionOutput = openflow_13.OfpActionOutput

// OfpActionMplsTtl from public import voltha_protos/openflow_13.proto
type OfpActionMplsTtl = openflow_13.OfpActionMplsTtl

// OfpActionPush from public import voltha_protos/openflow_13.proto
type OfpActionPush = openflow_13.OfpActionPush

// OfpActionPopMpls from public import voltha_protos/openflow_13.proto
type OfpActionPopMpls = openflow_13.OfpActionPopMpls

// OfpActionGroup from public import voltha_protos/openflow_13.proto
type OfpActionGroup = openflow_13.OfpActionGroup

// OfpActionNwTtl from public import voltha_protos/openflow_13.proto
type OfpActionNwTtl = openflow_13.OfpActionNwTtl

// OfpActionSetField from public import voltha_protos/openflow_13.proto
type OfpActionSetField = openflow_13.OfpActionSetField

// OfpActionExperimenter from public import voltha_protos/openflow_13.proto
type OfpActionExperimenter = openflow_13.OfpActionExperimenter

// OfpInstruction from public import voltha_protos/openflow_13.proto
type OfpInstruction = openflow_13.OfpInstruction
type OfpInstruction_GotoTable = openflow_13.OfpInstruction_GotoTable
type OfpInstruction_WriteMetadata = openflow_13.OfpInstruction_WriteMetadata
type OfpInstruction_Actions = openflow_13.OfpInstruction_Actions
type OfpInstruction_Meter = openflow_13.OfpInstruction_Meter
type OfpInstruction_Experimenter = openflow_13.OfpInstruction_Experimenter

// OfpInstructionGotoTable from public import voltha_protos/openflow_13.proto
type OfpInstructionGotoTable = openflow_13.OfpInstructionGotoTable

// OfpInstructionWriteMetadata from public import voltha_protos/openflow_13.proto
type OfpInstructionWriteMetadata = openflow_13.OfpInstructionWriteMetadata

// OfpInstructionActions from public import voltha_protos/openflow_13.proto
type OfpInstructionActions = openflow_13.OfpInstructionActions

// OfpInstructionMeter from public import voltha_protos/openflow_13.proto
type OfpInstructionMeter = openflow_13.OfpInstructionMeter

// OfpInstructionExperimenter from public import voltha_protos/openflow_13.proto
type OfpInstructionExperimenter = openflow_13.OfpInstructionExperimenter

// OfpFlowMod from public import voltha_protos/openflow_13.proto
type OfpFlowMod = openflow_13.OfpFlowMod

// OfpBucket from public import voltha_protos/openflow_13.proto
type OfpBucket = openflow_13.OfpBucket

// OfpGroupMod from public import voltha_protos/openflow_13.proto
type OfpGroupMod = openflow_13.OfpGroupMod

// OfpPacketOut from public import voltha_protos/openflow_13.proto
type OfpPacketOut = openflow_13.OfpPacketOut

// OfpPacketIn from public import voltha_protos/openflow_13.proto
type OfpPacketIn = openflow_13.OfpPacketIn

// OfpFlowRemoved from public import voltha_protos/openflow_13.proto
type OfpFlowRemoved = openflow_13.OfpFlowRemoved

// OfpMeterBandHeader from public import voltha_protos/openflow_13.proto
type OfpMeterBandHeader = openflow_13.OfpMeterBandHeader
type OfpMeterBandHeader_Drop = openflow_13.OfpMeterBandHeader_Drop
type OfpMeterBandHeader_DscpRemark = openflow_13.OfpMeterBandHeader_DscpRemark
type OfpMeterBandHeader_Experimenter = openflow_13.OfpMeterBandHeader_Experimenter

// OfpMeterBandDrop from public import voltha_protos/openflow_13.proto
type OfpMeterBandDrop = openflow_13.OfpMeterBandDrop

// OfpMeterBandDscpRemark from public import voltha_protos/openflow_13.proto
type OfpMeterBandDscpRemark = openflow_13.OfpMeterBandDscpRemark

// OfpMeterBandExperimenter from public import voltha_protos/openflow_13.proto
type OfpMeterBandExperimenter = openflow_13.OfpMeterBandExperimenter

// OfpMeterMod from public import voltha_protos/openflow_13.proto
type OfpMeterMod = openflow_13.OfpMeterMod

// OfpErrorMsg from public import voltha_protos/openflow_13.proto
type OfpErrorMsg = openflow_13.OfpErrorMsg

// OfpErrorExperimenterMsg from public import voltha_protos/openflow_13.proto
type OfpErrorExperimenterMsg = openflow_13.OfpErrorExperimenterMsg

// OfpMultipartRequest from public import voltha_protos/openflow_13.proto
type OfpMultipartRequest = openflow_13.OfpMultipartRequest

// OfpMultipartReply from public import voltha_protos/openflow_13.proto
type OfpMultipartReply = openflow_13.OfpMultipartReply

// OfpDesc from public import voltha_protos/openflow_13.proto
type OfpDesc = openflow_13.OfpDesc

// OfpFlowStatsRequest from public import voltha_protos/openflow_13.proto
type OfpFlowStatsRequest = openflow_13.OfpFlowStatsRequest

// OfpFlowStats from public import voltha_protos/openflow_13.proto
type OfpFlowStats = openflow_13.OfpFlowStats

// OfpAggregateStatsRequest from public import voltha_protos/openflow_13.proto
type OfpAggregateStatsRequest = openflow_13.OfpAggregateStatsRequest

// OfpAggregateStatsReply from public import voltha_protos/openflow_13.proto
type OfpAggregateStatsReply = openflow_13.OfpAggregateStatsReply

// OfpTableFeatureProperty from public import voltha_protos/openflow_13.proto
type OfpTableFeatureProperty = openflow_13.OfpTableFeatureProperty
type OfpTableFeatureProperty_Instructions = openflow_13.OfpTableFeatureProperty_Instructions
type OfpTableFeatureProperty_NextTables = openflow_13.OfpTableFeatureProperty_NextTables
type OfpTableFeatureProperty_Actions = openflow_13.OfpTableFeatureProperty_Actions
type OfpTableFeatureProperty_Oxm = openflow_13.OfpTableFeatureProperty_Oxm
type OfpTableFeatureProperty_Experimenter = openflow_13.OfpTableFeatureProperty_Experimenter

// OfpTableFeaturePropInstructions from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropInstructions = openflow_13.OfpTableFeaturePropInstructions

// OfpTableFeaturePropNextTables from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropNextTables = openflow_13.OfpTableFeaturePropNextTables

// OfpTableFeaturePropActions from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropActions = openflow_13.OfpTableFeaturePropActions

// OfpTableFeaturePropOxm from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropOxm = openflow_13.OfpTableFeaturePropOxm

// OfpTableFeaturePropExperimenter from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropExperimenter = openflow_13.OfpTableFeaturePropExperimenter

// OfpTableFeatures from public import voltha_protos/openflow_13.proto
type OfpTableFeatures = openflow_13.OfpTableFeatures

// OfpTableStats from public import voltha_protos/openflow_13.proto
type OfpTableStats = openflow_13.OfpTableStats

// OfpPortStatsRequest from public import voltha_protos/openflow_13.proto
type OfpPortStatsRequest = openflow_13.OfpPortStatsRequest

// OfpPortStats from public import voltha_protos/openflow_13.proto
type OfpPortStats = openflow_13.OfpPortStats

// OfpGroupStatsRequest from public import voltha_protos/openflow_13.proto
type OfpGroupStatsRequest = openflow_13.OfpGroupStatsRequest

// OfpBucketCounter from public import voltha_protos/openflow_13.proto
type OfpBucketCounter = openflow_13.OfpBucketCounter

// OfpGroupStats from public import voltha_protos/openflow_13.proto
type OfpGroupStats = openflow_13.OfpGroupStats

// OfpGroupDesc from public import voltha_protos/openflow_13.proto
type OfpGroupDesc = openflow_13.OfpGroupDesc

// OfpGroupEntry from public import voltha_protos/openflow_13.proto
type OfpGroupEntry = openflow_13.OfpGroupEntry

// OfpGroupFeatures from public import voltha_protos/openflow_13.proto
type OfpGroupFeatures = openflow_13.OfpGroupFeatures

// OfpMeterMultipartRequest from public import voltha_protos/openflow_13.proto
type OfpMeterMultipartRequest = openflow_13.OfpMeterMultipartRequest

// OfpMeterBandStats from public import voltha_protos/openflow_13.proto
type OfpMeterBandStats = openflow_13.OfpMeterBandStats

// OfpMeterStats from public import voltha_protos/openflow_13.proto
type OfpMeterStats = openflow_13.OfpMeterStats

// OfpMeterConfig from public import voltha_protos/openflow_13.proto
type OfpMeterConfig = openflow_13.OfpMeterConfig

// OfpMeterFeatures from public import voltha_protos/openflow_13.proto
type OfpMeterFeatures = openflow_13.OfpMeterFeatures

// OfpMeterEntry from public import voltha_protos/openflow_13.proto
type OfpMeterEntry = openflow_13.OfpMeterEntry

// OfpExperimenterMultipartHeader from public import voltha_protos/openflow_13.proto
type OfpExperimenterMultipartHeader = openflow_13.OfpExperimenterMultipartHeader

// OfpExperimenterHeader from public import voltha_protos/openflow_13.proto
type OfpExperimenterHeader = openflow_13.OfpExperimenterHeader

// OfpQueuePropHeader from public import voltha_protos/openflow_13.proto
type OfpQueuePropHeader = openflow_13.OfpQueuePropHeader

// OfpQueuePropMinRate from public import voltha_protos/openflow_13.proto
type OfpQueuePropMinRate = openflow_13.OfpQueuePropMinRate

// OfpQueuePropMaxRate from public import voltha_protos/openflow_13.proto
type OfpQueuePropMaxRate = openflow_13.OfpQueuePropMaxRate

// OfpQueuePropExperimenter from public import voltha_protos/openflow_13.proto
type OfpQueuePropExperimenter = openflow_13.OfpQueuePropExperimenter

// OfpPacketQueue from public import voltha_protos/openflow_13.proto
type OfpPacketQueue = openflow_13.OfpPacketQueue

// OfpQueueGetConfigRequest from public import voltha_protos/openflow_13.proto
type OfpQueueGetConfigRequest = openflow_13.OfpQueueGetConfigRequest

// OfpQueueGetConfigReply from public import voltha_protos/openflow_13.proto
type OfpQueueGetConfigReply = openflow_13.OfpQueueGetConfigReply

// OfpActionSetQueue from public import voltha_protos/openflow_13.proto
type OfpActionSetQueue = openflow_13.OfpActionSetQueue

// OfpQueueStatsRequest from public import voltha_protos/openflow_13.proto
type OfpQueueStatsRequest = openflow_13.OfpQueueStatsRequest

// OfpQueueStats from public import voltha_protos/openflow_13.proto
type OfpQueueStats = openflow_13.OfpQueueStats

// OfpRoleRequest from public import voltha_protos/openflow_13.proto
type OfpRoleRequest = openflow_13.OfpRoleRequest

// OfpAsyncConfig from public import voltha_protos/openflow_13.proto
type OfpAsyncConfig = openflow_13.OfpAsyncConfig

// MeterModUpdate from public import voltha_protos/openflow_13.proto
type MeterModUpdate = openflow_13.MeterModUpdate

// MeterStatsReply from public import voltha_protos/openflow_13.proto
type MeterStatsReply = openflow_13.MeterStatsReply

// FlowTableUpdate from public import voltha_protos/openflow_13.proto
type FlowTableUpdate = openflow_13.FlowTableUpdate

// FlowGroupTableUpdate from public import voltha_protos/openflow_13.proto
type FlowGroupTableUpdate = openflow_13.FlowGroupTableUpdate

// Flows from public import voltha_protos/openflow_13.proto
type Flows = openflow_13.Flows

// Meters from public import voltha_protos/openflow_13.proto
type Meters = openflow_13.Meters

// FlowGroups from public import voltha_protos/openflow_13.proto
type FlowGroups = openflow_13.FlowGroups

// FlowChanges from public import voltha_protos/openflow_13.proto
type FlowChanges = openflow_13.FlowChanges

// FlowGroupChanges from public import voltha_protos/openflow_13.proto
type FlowGroupChanges = openflow_13.FlowGroupChanges

// PacketIn from public import voltha_protos/openflow_13.proto
type PacketIn = openflow_13.PacketIn

// PacketOut from public import voltha_protos/openflow_13.proto
type PacketOut = openflow_13.PacketOut

// ChangeEvent from public import voltha_protos/openflow_13.proto
type ChangeEvent = openflow_13.ChangeEvent
type ChangeEvent_PortStatus = openflow_13.ChangeEvent_PortStatus

// OfpPortNo from public import voltha_protos/openflow_13.proto
type OfpPortNo = openflow_13.OfpPortNo

var OfpPortNo_name = openflow_13.OfpPortNo_name
var OfpPortNo_value = openflow_13.OfpPortNo_value

const OfpPortNo_OFPP_INVALID = OfpPortNo(openflow_13.OfpPortNo_OFPP_INVALID)
const OfpPortNo_OFPP_MAX = OfpPortNo(openflow_13.OfpPortNo_OFPP_MAX)
const OfpPortNo_OFPP_IN_PORT = OfpPortNo(openflow_13.OfpPortNo_OFPP_IN_PORT)
const OfpPortNo_OFPP_TABLE = OfpPortNo(openflow_13.OfpPortNo_OFPP_TABLE)
const OfpPortNo_OFPP_NORMAL = OfpPortNo(openflow_13.OfpPortNo_OFPP_NORMAL)
const OfpPortNo_OFPP_FLOOD = OfpPortNo(openflow_13.OfpPortNo_OFPP_FLOOD)
const OfpPortNo_OFPP_ALL = OfpPortNo(openflow_13.OfpPortNo_OFPP_ALL)
const OfpPortNo_OFPP_CONTROLLER = OfpPortNo(openflow_13.OfpPortNo_OFPP_CONTROLLER)
const OfpPortNo_OFPP_LOCAL = OfpPortNo(openflow_13.OfpPortNo_OFPP_LOCAL)
const OfpPortNo_OFPP_ANY = OfpPortNo(openflow_13.OfpPortNo_OFPP_ANY)

// OfpType from public import voltha_protos/openflow_13.proto
type OfpType = openflow_13.OfpType

var OfpType_name = openflow_13.OfpType_name
var OfpType_value = openflow_13.OfpType_value

const OfpType_OFPT_HELLO = OfpType(openflow_13.OfpType_OFPT_HELLO)
const OfpType_OFPT_ERROR = OfpType(openflow_13.OfpType_OFPT_ERROR)
const OfpType_OFPT_ECHO_REQUEST = OfpType(openflow_13.OfpType_OFPT_ECHO_REQUEST)
const OfpType_OFPT_ECHO_REPLY = OfpType(openflow_13.OfpType_OFPT_ECHO_REPLY)
const OfpType_OFPT_EXPERIMENTER = OfpType(openflow_13.OfpType_OFPT_EXPERIMENTER)
const OfpType_OFPT_FEATURES_REQUEST = OfpType(openflow_13.OfpType_OFPT_FEATURES_REQUEST)
const OfpType_OFPT_FEATURES_REPLY = OfpType(openflow_13.OfpType_OFPT_FEATURES_REPLY)
const OfpType_OFPT_GET_CONFIG_REQUEST = OfpType(openflow_13.OfpType_OFPT_GET_CONFIG_REQUEST)
const OfpType_OFPT_GET_CONFIG_REPLY = OfpType(openflow_13.OfpType_OFPT_GET_CONFIG_REPLY)
const OfpType_OFPT_SET_CONFIG = OfpType(openflow_13.OfpType_OFPT_SET_CONFIG)
const OfpType_OFPT_PACKET_IN = OfpType(openflow_13.OfpType_OFPT_PACKET_IN)
const OfpType_OFPT_FLOW_REMOVED = OfpType(openflow_13.OfpType_OFPT_FLOW_REMOVED)
const OfpType_OFPT_PORT_STATUS = OfpType(openflow_13.OfpType_OFPT_PORT_STATUS)
const OfpType_OFPT_PACKET_OUT = OfpType(openflow_13.OfpType_OFPT_PACKET_OUT)
const OfpType_OFPT_FLOW_MOD = OfpType(openflow_13.OfpType_OFPT_FLOW_MOD)
const OfpType_OFPT_GROUP_MOD = OfpType(openflow_13.OfpType_OFPT_GROUP_MOD)
const OfpType_OFPT_PORT_MOD = OfpType(openflow_13.OfpType_OFPT_PORT_MOD)
const OfpType_OFPT_TABLE_MOD = OfpType(openflow_13.OfpType_OFPT_TABLE_MOD)
const OfpType_OFPT_MULTIPART_REQUEST = OfpType(openflow_13.OfpType_OFPT_MULTIPART_REQUEST)
const OfpType_OFPT_MULTIPART_REPLY = OfpType(openflow_13.OfpType_OFPT_MULTIPART_REPLY)
const OfpType_OFPT_BARRIER_REQUEST = OfpType(openflow_13.OfpType_OFPT_BARRIER_REQUEST)
const OfpType_OFPT_BARRIER_REPLY = OfpType(openflow_13.OfpType_OFPT_BARRIER_REPLY)
const OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST = OfpType(openflow_13.OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST)
const OfpType_OFPT_QUEUE_GET_CONFIG_REPLY = OfpType(openflow_13.OfpType_OFPT_QUEUE_GET_CONFIG_REPLY)
const OfpType_OFPT_ROLE_REQUEST = OfpType(openflow_13.OfpType_OFPT_ROLE_REQUEST)
const OfpType_OFPT_ROLE_REPLY = OfpType(openflow_13.OfpType_OFPT_ROLE_REPLY)
const OfpType_OFPT_GET_ASYNC_REQUEST = OfpType(openflow_13.OfpType_OFPT_GET_ASYNC_REQUEST)
const OfpType_OFPT_GET_ASYNC_REPLY = OfpType(openflow_13.OfpType_OFPT_GET_ASYNC_REPLY)
const OfpType_OFPT_SET_ASYNC = OfpType(openflow_13.OfpType_OFPT_SET_ASYNC)
const OfpType_OFPT_METER_MOD = OfpType(openflow_13.OfpType_OFPT_METER_MOD)

// OfpHelloElemType from public import voltha_protos/openflow_13.proto
type OfpHelloElemType = openflow_13.OfpHelloElemType

var OfpHelloElemType_name = openflow_13.OfpHelloElemType_name
var OfpHelloElemType_value = openflow_13.OfpHelloElemType_value

const OfpHelloElemType_OFPHET_INVALID = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_INVALID)
const OfpHelloElemType_OFPHET_VERSIONBITMAP = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_VERSIONBITMAP)

// OfpConfigFlags from public import voltha_protos/openflow_13.proto
type OfpConfigFlags = openflow_13.OfpConfigFlags

var OfpConfigFlags_name = openflow_13.OfpConfigFlags_name
var OfpConfigFlags_value = openflow_13.OfpConfigFlags_value

const OfpConfigFlags_OFPC_FRAG_NORMAL = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_NORMAL)
const OfpConfigFlags_OFPC_FRAG_DROP = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_DROP)
const OfpConfigFlags_OFPC_FRAG_REASM = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_REASM)
const OfpConfigFlags_OFPC_FRAG_MASK = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_MASK)

// OfpTableConfig from public import voltha_protos/openflow_13.proto
type OfpTableConfig = openflow_13.OfpTableConfig

var OfpTableConfig_name = openflow_13.OfpTableConfig_name
var OfpTableConfig_value = openflow_13.OfpTableConfig_value

const OfpTableConfig_OFPTC_INVALID = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_INVALID)
const OfpTableConfig_OFPTC_DEPRECATED_MASK = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_DEPRECATED_MASK)

// OfpTable from public import voltha_protos/openflow_13.proto
type OfpTable = openflow_13.OfpTable

var OfpTable_name = openflow_13.OfpTable_name
var OfpTable_value = openflow_13.OfpTable_value

const OfpTable_OFPTT_INVALID = OfpTable(openflow_13.OfpTable_OFPTT_INVALID)
const OfpTable_OFPTT_MAX = OfpTable(openflow_13.OfpTable_OFPTT_MAX)
const OfpTable_OFPTT_ALL = OfpTable(openflow_13.OfpTable_OFPTT_ALL)

// OfpCapabilities from public import voltha_protos/openflow_13.proto
type OfpCapabilities = openflow_13.OfpCapabilities

var OfpCapabilities_name = openflow_13.OfpCapabilities_name
var OfpCapabilities_value = openflow_13.OfpCapabilities_value

const OfpCapabilities_OFPC_INVALID = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_INVALID)
const OfpCapabilities_OFPC_FLOW_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_FLOW_STATS)
const OfpCapabilities_OFPC_TABLE_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_TABLE_STATS)
const OfpCapabilities_OFPC_PORT_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_PORT_STATS)
const OfpCapabilities_OFPC_GROUP_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_GROUP_STATS)
const OfpCapabilities_OFPC_IP_REASM = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_IP_REASM)
const OfpCapabilities_OFPC_QUEUE_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_QUEUE_STATS)
const OfpCapabilities_OFPC_PORT_BLOCKED = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_PORT_BLOCKED)

// OfpPortConfig from public import voltha_protos/openflow_13.proto
type OfpPortConfig = openflow_13.OfpPortConfig

var OfpPortConfig_name = openflow_13.OfpPortConfig_name
var OfpPortConfig_value = openflow_13.OfpPortConfig_value

const OfpPortConfig_OFPPC_INVALID = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_INVALID)
const OfpPortConfig_OFPPC_PORT_DOWN = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_PORT_DOWN)
const OfpPortConfig_OFPPC_NO_RECV = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_RECV)
const OfpPortConfig_OFPPC_NO_FWD = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_FWD)
const OfpPortConfig_OFPPC_NO_PACKET_IN = OfpPortConfig(openflow_13.OfpPortConfig_OFPPC_NO_PACKET_IN)

// OfpPortState from public import voltha_protos/openflow_13.proto
type OfpPortState = openflow_13.OfpPortState

var OfpPortState_name = openflow_13.OfpPortState_name
var OfpPortState_value = openflow_13.OfpPortState_value

const OfpPortState_OFPPS_INVALID = OfpPortState(openflow_13.OfpPortState_OFPPS_INVALID)
const OfpPortState_OFPPS_LINK_DOWN = OfpPortState(openflow_13.OfpPortState_OFPPS_LINK_DOWN)
const OfpPortState_OFPPS_BLOCKED = OfpPortState(openflow_13.OfpPortState_OFPPS_BLOCKED)
const OfpPortState_OFPPS_LIVE = OfpPortState(openflow_13.OfpPortState_OFPPS_LIVE)

// OfpPortFeatures from public import voltha_protos/openflow_13.proto
type OfpPortFeatures = openflow_13.OfpPortFeatures

var OfpPortFeatures_name = openflow_13.OfpPortFeatures_name
var OfpPortFeatures_value = openflow_13.OfpPortFeatures_value

const OfpPortFeatures_OFPPF_INVALID = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_INVALID)
const OfpPortFeatures_OFPPF_10MB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10MB_HD)
const OfpPortFeatures_OFPPF_10MB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10MB_FD)
const OfpPortFeatures_OFPPF_100MB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100MB_HD)
const OfpPortFeatures_OFPPF_100MB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100MB_FD)
const OfpPortFeatures_OFPPF_1GB_HD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1GB_HD)
const OfpPortFeatures_OFPPF_1GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1GB_FD)
const OfpPortFeatures_OFPPF_10GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_10GB_FD)
const OfpPortFeatures_OFPPF_40GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_40GB_FD)
const OfpPortFeatures_OFPPF_100GB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_100GB_FD)
const OfpPortFeatures_OFPPF_1TB_FD = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_1TB_FD)
const OfpPortFeatures_OFPPF_OTHER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_OTHER)
const OfpPortFeatures_OFPPF_COPPER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_COPPER)
const OfpPortFeatures_OFPPF_FIBER = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_FIBER)
const OfpPortFeatures_OFPPF_AUTONEG = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_AUTONEG)
const OfpPortFeatures_OFPPF_PAUSE = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE)
const OfpPortFeatures_OFPPF_PAUSE_ASYM = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE_ASYM)

// OfpPortReason from public import voltha_protos/openflow_13.proto
type OfpPortReason = openflow_13.OfpPortReason

var OfpPortReason_name = openflow_13.OfpPortReason_name
var OfpPortReason_value = openflow_13.OfpPortReason_value

const OfpPortReason_OFPPR_ADD = OfpPortReason(openflow_13.OfpPortReason_OFPPR_ADD)
const OfpPortReason_OFPPR_DELETE = OfpPortReason(openflow_13.OfpPortReason_OFPPR_DELETE)
const OfpPortReason_OFPPR_MODIFY = OfpPortReason(openflow_13.OfpPortReason_OFPPR_MODIFY)

// OfpMatchType from public import voltha_protos/openflow_13.proto
type OfpMatchType = openflow_13.OfpMatchType

var OfpMatchType_name = openflow_13.OfpMatchType_name
var OfpMatchType_value = openflow_13.OfpMatchType_value

const OfpMatchType_OFPMT_STANDARD = OfpMatchType(openflow_13.OfpMatchType_OFPMT_STANDARD)
const OfpMatchType_OFPMT_OXM = OfpMatchType(openflow_13.OfpMatchType_OFPMT_OXM)

// OfpOxmClass from public import voltha_protos/openflow_13.proto
type OfpOxmClass = openflow_13.OfpOxmClass

var OfpOxmClass_name = openflow_13.OfpOxmClass_name
var OfpOxmClass_value = openflow_13.OfpOxmClass_value

const OfpOxmClass_OFPXMC_NXM_0 = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_NXM_0)
const OfpOxmClass_OFPXMC_NXM_1 = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_NXM_1)
const OfpOxmClass_OFPXMC_OPENFLOW_BASIC = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_OPENFLOW_BASIC)
const OfpOxmClass_OFPXMC_EXPERIMENTER = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_EXPERIMENTER)

// OxmOfbFieldTypes from public import voltha_protos/openflow_13.proto
type OxmOfbFieldTypes = openflow_13.OxmOfbFieldTypes

var OxmOfbFieldTypes_name = openflow_13.OxmOfbFieldTypes_name
var OxmOfbFieldTypes_value = openflow_13.OxmOfbFieldTypes_value

const OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT)
const OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT)
const OxmOfbFieldTypes_OFPXMT_OFB_METADATA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_METADATA)
const OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE)
const OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID)
const OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP)
const OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP)
const OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN)
const OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE)
const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE)
const OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP)
const OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA)
const OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA)
const OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA)
const OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL)
const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE)
const OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL)
const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL)
const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC)
const OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS)
const OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID)
const OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID)
const OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR = OxmOfbFieldTypes(openflow_13.OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR)

// OfpVlanId from public import voltha_protos/openflow_13.proto
type OfpVlanId = openflow_13.OfpVlanId

var OfpVlanId_name = openflow_13.OfpVlanId_name
var OfpVlanId_value = openflow_13.OfpVlanId_value

const OfpVlanId_OFPVID_NONE = OfpVlanId(openflow_13.OfpVlanId_OFPVID_NONE)
const OfpVlanId_OFPVID_PRESENT = OfpVlanId(openflow_13.OfpVlanId_OFPVID_PRESENT)

// OfpIpv6ExthdrFlags from public import voltha_protos/openflow_13.proto
type OfpIpv6ExthdrFlags = openflow_13.OfpIpv6ExthdrFlags

var OfpIpv6ExthdrFlags_name = openflow_13.OfpIpv6ExthdrFlags_name
var OfpIpv6ExthdrFlags_value = openflow_13.OfpIpv6ExthdrFlags_value

const OfpIpv6ExthdrFlags_OFPIEH_INVALID = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_INVALID)
const OfpIpv6ExthdrFlags_OFPIEH_NONEXT = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_NONEXT)
const OfpIpv6ExthdrFlags_OFPIEH_ESP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_ESP)
const OfpIpv6ExthdrFlags_OFPIEH_AUTH = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_AUTH)
const OfpIpv6ExthdrFlags_OFPIEH_DEST = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_DEST)
const OfpIpv6ExthdrFlags_OFPIEH_FRAG = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_FRAG)
const OfpIpv6ExthdrFlags_OFPIEH_ROUTER = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_ROUTER)
const OfpIpv6ExthdrFlags_OFPIEH_HOP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_HOP)
const OfpIpv6ExthdrFlags_OFPIEH_UNREP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNREP)
const OfpIpv6ExthdrFlags_OFPIEH_UNSEQ = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNSEQ)

// OfpActionType from public import voltha_protos/openflow_13.proto
type OfpActionType = openflow_13.OfpActionType

var OfpActionType_name = openflow_13.OfpActionType_name
var OfpActionType_value = openflow_13.OfpActionType_value

const OfpActionType_OFPAT_OUTPUT = OfpActionType(openflow_13.OfpActionType_OFPAT_OUTPUT)
const OfpActionType_OFPAT_COPY_TTL_OUT = OfpActionType(openflow_13.OfpActionType_OFPAT_COPY_TTL_OUT)
const OfpActionType_OFPAT_COPY_TTL_IN = OfpActionType(openflow_13.OfpActionType_OFPAT_COPY_TTL_IN)
const OfpActionType_OFPAT_SET_MPLS_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_MPLS_TTL)
const OfpActionType_OFPAT_DEC_MPLS_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_DEC_MPLS_TTL)
const OfpActionType_OFPAT_PUSH_VLAN = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_VLAN)
const OfpActionType_OFPAT_POP_VLAN = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_VLAN)
const OfpActionType_OFPAT_PUSH_MPLS = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_MPLS)
const OfpActionType_OFPAT_POP_MPLS = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_MPLS)
const OfpActionType_OFPAT_SET_QUEUE = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_QUEUE)
const OfpActionType_OFPAT_GROUP = OfpActionType(openflow_13.OfpActionType_OFPAT_GROUP)
const OfpActionType_OFPAT_SET_NW_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_NW_TTL)
const OfpActionType_OFPAT_DEC_NW_TTL = OfpActionType(openflow_13.OfpActionType_OFPAT_DEC_NW_TTL)
const OfpActionType_OFPAT_SET_FIELD = OfpActionType(openflow_13.OfpActionType_OFPAT_SET_FIELD)
const OfpActionType_OFPAT_PUSH_PBB = OfpActionType(openflow_13.OfpActionType_OFPAT_PUSH_PBB)
const OfpActionType_OFPAT_POP_PBB = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_PBB)
const OfpActionType_OFPAT_EXPERIMENTER = OfpActionType(openflow_13.OfpActionType_OFPAT_EXPERIMENTER)

// OfpControllerMaxLen from public import voltha_protos/openflow_13.proto
type OfpControllerMaxLen = openflow_13.OfpControllerMaxLen

var OfpControllerMaxLen_name = openflow_13.OfpControllerMaxLen_name
var OfpControllerMaxLen_value = openflow_13.OfpControllerMaxLen_value

const OfpControllerMaxLen_OFPCML_INVALID = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_INVALID)
const OfpControllerMaxLen_OFPCML_MAX = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_MAX)
const OfpControllerMaxLen_OFPCML_NO_BUFFER = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_NO_BUFFER)

// OfpInstructionType from public import voltha_protos/openflow_13.proto
type OfpInstructionType = openflow_13.OfpInstructionType

var OfpInstructionType_name = openflow_13.OfpInstructionType_name
var OfpInstructionType_value = openflow_13.OfpInstructionType_value

const OfpInstructionType_OFPIT_INVALID = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_INVALID)
const OfpInstructionType_OFPIT_GOTO_TABLE = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_GOTO_TABLE)
const OfpInstructionType_OFPIT_WRITE_METADATA = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_WRITE_METADATA)
const OfpInstructionType_OFPIT_WRITE_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_WRITE_ACTIONS)
const OfpInstructionType_OFPIT_APPLY_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_APPLY_ACTIONS)
const OfpInstructionType_OFPIT_CLEAR_ACTIONS = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_CLEAR_ACTIONS)
const OfpInstructionType_OFPIT_METER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_METER)
const OfpInstructionType_OFPIT_EXPERIMENTER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_EXPERIMENTER)

// OfpFlowModCommand from public import voltha_protos/openflow_13.proto
type OfpFlowModCommand = openflow_13.OfpFlowModCommand

var OfpFlowModCommand_name = openflow_13.OfpFlowModCommand_name
var OfpFlowModCommand_value = openflow_13.OfpFlowModCommand_value

const OfpFlowModCommand_OFPFC_ADD = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_ADD)
const OfpFlowModCommand_OFPFC_MODIFY = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_MODIFY)
const OfpFlowModCommand_OFPFC_MODIFY_STRICT = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_MODIFY_STRICT)
const OfpFlowModCommand_OFPFC_DELETE = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE)
const OfpFlowModCommand_OFPFC_DELETE_STRICT = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE_STRICT)

// OfpFlowModFlags from public import voltha_protos/openflow_13.proto
type OfpFlowModFlags = openflow_13.OfpFlowModFlags

var OfpFlowModFlags_name = openflow_13.OfpFlowModFlags_name
var OfpFlowModFlags_value = openflow_13.OfpFlowModFlags_value

const OfpFlowModFlags_OFPFF_INVALID = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_INVALID)
const OfpFlowModFlags_OFPFF_SEND_FLOW_REM = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_SEND_FLOW_REM)
const OfpFlowModFlags_OFPFF_CHECK_OVERLAP = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_CHECK_OVERLAP)
const OfpFlowModFlags_OFPFF_RESET_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_RESET_COUNTS)
const OfpFlowModFlags_OFPFF_NO_PKT_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_NO_PKT_COUNTS)
const OfpFlowModFlags_OFPFF_NO_BYT_COUNTS = OfpFlowModFlags(openflow_13.OfpFlowModFlags_OFPFF_NO_BYT_COUNTS)

// OfpGroup from public import voltha_protos/openflow_13.proto
type OfpGroup = openflow_13.OfpGroup

var OfpGroup_name = openflow_13.OfpGroup_name
var OfpGroup_value = openflow_13.OfpGroup_value

const OfpGroup_OFPG_INVALID = OfpGroup(openflow_13.OfpGroup_OFPG_INVALID)
const OfpGroup_OFPG_MAX = OfpGroup(openflow_13.OfpGroup_OFPG_MAX)
const OfpGroup_OFPG_ALL = OfpGroup(openflow_13.OfpGroup_OFPG_ALL)
const OfpGroup_OFPG_ANY = OfpGroup(openflow_13.OfpGroup_OFPG_ANY)

// OfpGroupModCommand from public import voltha_protos/openflow_13.proto
type OfpGroupModCommand = openflow_13.OfpGroupModCommand

var OfpGroupModCommand_name = openflow_13.OfpGroupModCommand_name
var OfpGroupModCommand_value = openflow_13.OfpGroupModCommand_value

const OfpGroupModCommand_OFPGC_ADD = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_ADD)
const OfpGroupModCommand_OFPGC_MODIFY = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_MODIFY)
const OfpGroupModCommand_OFPGC_DELETE = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_DELETE)

// OfpGroupType from public import voltha_protos/openflow_13.proto
type OfpGroupType = openflow_13.OfpGroupType

var OfpGroupType_name = openflow_13.OfpGroupType_name
var OfpGroupType_value = openflow_13.OfpGroupType_value

const OfpGroupType_OFPGT_ALL = OfpGroupType(openflow_13.OfpGroupType_OFPGT_ALL)
const OfpGroupType_OFPGT_SELECT = OfpGroupType(openflow_13.OfpGroupType_OFPGT_SELECT)
const OfpGroupType_OFPGT_INDIRECT = OfpGroupType(openflow_13.OfpGroupType_OFPGT_INDIRECT)
const OfpGroupType_OFPGT_FF = OfpGroupType(openflow_13.OfpGroupType_OFPGT_FF)

// OfpPacketInReason from public import voltha_protos/openflow_13.proto
type OfpPacketInReason = openflow_13.OfpPacketInReason

var OfpPacketInReason_name = openflow_13.OfpPacketInReason_name
var OfpPacketInReason_value = openflow_13.OfpPacketInReason_value

const OfpPacketInReason_OFPR_NO_MATCH = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_NO_MATCH)
const OfpPacketInReason_OFPR_ACTION = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_ACTION)
const OfpPacketInReason_OFPR_INVALID_TTL = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_INVALID_TTL)

// OfpFlowRemovedReason from public import voltha_protos/openflow_13.proto
type OfpFlowRemovedReason = openflow_13.OfpFlowRemovedReason

var OfpFlowRemovedReason_name = openflow_13.OfpFlowRemovedReason_name
var OfpFlowRemovedReason_value = openflow_13.OfpFlowRemovedReason_value

const OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT)
const OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT)
const OfpFlowRemovedReason_OFPRR_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_DELETE)
const OfpFlowRemovedReason_OFPRR_GROUP_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_GROUP_DELETE)
const OfpFlowRemovedReason_OFPRR_METER_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_METER_DELETE)

// OfpMeter from public import voltha_protos/openflow_13.proto
type OfpMeter = openflow_13.OfpMeter

var OfpMeter_name = openflow_13.OfpMeter_name
var OfpMeter_value = openflow_13.OfpMeter_value

const OfpMeter_OFPM_ZERO = OfpMeter(openflow_13.OfpMeter_OFPM_ZERO)
const OfpMeter_OFPM_MAX = OfpMeter(openflow_13.OfpMeter_OFPM_MAX)
const OfpMeter_OFPM_SLOWPATH = OfpMeter(openflow_13.OfpMeter_OFPM_SLOWPATH)
const OfpMeter_OFPM_CONTROLLER = OfpMeter(openflow_13.OfpMeter_OFPM_CONTROLLER)
const OfpMeter_OFPM_ALL = OfpMeter(openflow_13.OfpMeter_OFPM_ALL)

// OfpMeterBandType from public import voltha_protos/openflow_13.proto
type OfpMeterBandType = openflow_13.OfpMeterBandType

var OfpMeterBandType_name = openflow_13.OfpMeterBandType_name
var OfpMeterBandType_value = openflow_13.OfpMeterBandType_value

const OfpMeterBandType_OFPMBT_INVALID = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_INVALID)
const OfpMeterBandType_OFPMBT_DROP = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_DROP)
const OfpMeterBandType_OFPMBT_DSCP_REMARK = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_DSCP_REMARK)
const OfpMeterBandType_OFPMBT_EXPERIMENTER = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_EXPERIMENTER)

// OfpMeterModCommand from public import voltha_protos/openflow_13.proto
type OfpMeterModCommand = openflow_13.OfpMeterModCommand

var OfpMeterModCommand_name = openflow_13.OfpMeterModCommand_name
var OfpMeterModCommand_value = openflow_13.OfpMeterModCommand_value

const OfpMeterModCommand_OFPMC_ADD = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_ADD)
const OfpMeterModCommand_OFPMC_MODIFY = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_MODIFY)
const OfpMeterModCommand_OFPMC_DELETE = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_DELETE)

// OfpMeterFlags from public import voltha_protos/openflow_13.proto
type OfpMeterFlags = openflow_13.OfpMeterFlags

var OfpMeterFlags_name = openflow_13.OfpMeterFlags_name
var OfpMeterFlags_value = openflow_13.OfpMeterFlags_value

const OfpMeterFlags_OFPMF_INVALID = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_INVALID)
const OfpMeterFlags_OFPMF_KBPS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_KBPS)
const OfpMeterFlags_OFPMF_PKTPS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_PKTPS)
const OfpMeterFlags_OFPMF_BURST = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_BURST)
const OfpMeterFlags_OFPMF_STATS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_STATS)

// OfpErrorType from public import voltha_protos/openflow_13.proto
type OfpErrorType = openflow_13.OfpErrorType

var OfpErrorType_name = openflow_13.OfpErrorType_name
var OfpErrorType_value = openflow_13.OfpErrorType_value

const OfpErrorType_OFPET_HELLO_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_HELLO_FAILED)
const OfpErrorType_OFPET_BAD_REQUEST = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_REQUEST)
const OfpErrorType_OFPET_BAD_ACTION = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_ACTION)
const OfpErrorType_OFPET_BAD_INSTRUCTION = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_INSTRUCTION)
const OfpErrorType_OFPET_BAD_MATCH = OfpErrorType(openflow_13.OfpErrorType_OFPET_BAD_MATCH)
const OfpErrorType_OFPET_FLOW_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_FLOW_MOD_FAILED)
const OfpErrorType_OFPET_GROUP_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_GROUP_MOD_FAILED)
const OfpErrorType_OFPET_PORT_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_PORT_MOD_FAILED)
const OfpErrorType_OFPET_TABLE_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_TABLE_MOD_FAILED)
const OfpErrorType_OFPET_QUEUE_OP_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_QUEUE_OP_FAILED)
const OfpErrorType_OFPET_SWITCH_CONFIG_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_SWITCH_CONFIG_FAILED)
const OfpErrorType_OFPET_ROLE_REQUEST_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_ROLE_REQUEST_FAILED)
const OfpErrorType_OFPET_METER_MOD_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_METER_MOD_FAILED)
const OfpErrorType_OFPET_TABLE_FEATURES_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_TABLE_FEATURES_FAILED)
const OfpErrorType_OFPET_EXPERIMENTER = OfpErrorType(openflow_13.OfpErrorType_OFPET_EXPERIMENTER)

// OfpHelloFailedCode from public import voltha_protos/openflow_13.proto
type OfpHelloFailedCode = openflow_13.OfpHelloFailedCode

var OfpHelloFailedCode_name = openflow_13.OfpHelloFailedCode_name
var OfpHelloFailedCode_value = openflow_13.OfpHelloFailedCode_value

const OfpHelloFailedCode_OFPHFC_INCOMPATIBLE = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_INCOMPATIBLE)
const OfpHelloFailedCode_OFPHFC_EPERM = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_EPERM)

// OfpBadRequestCode from public import voltha_protos/openflow_13.proto
type OfpBadRequestCode = openflow_13.OfpBadRequestCode

var OfpBadRequestCode_name = openflow_13.OfpBadRequestCode_name
var OfpBadRequestCode_value = openflow_13.OfpBadRequestCode_value

const OfpBadRequestCode_OFPBRC_BAD_VERSION = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_VERSION)
const OfpBadRequestCode_OFPBRC_BAD_TYPE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_TYPE)
const OfpBadRequestCode_OFPBRC_BAD_MULTIPART = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_MULTIPART)
const OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER)
const OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE)
const OfpBadRequestCode_OFPBRC_EPERM = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_EPERM)
const OfpBadRequestCode_OFPBRC_BAD_LEN = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_LEN)
const OfpBadRequestCode_OFPBRC_BUFFER_EMPTY = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BUFFER_EMPTY)
const OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN)
const OfpBadRequestCode_OFPBRC_BAD_TABLE_ID = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_TABLE_ID)
const OfpBadRequestCode_OFPBRC_IS_SLAVE = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_IS_SLAVE)
const OfpBadRequestCode_OFPBRC_BAD_PORT = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_PORT)
const OfpBadRequestCode_OFPBRC_BAD_PACKET = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_BAD_PACKET)
const OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW = OfpBadRequestCode(openflow_13.OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW)

// OfpBadActionCode from public import voltha_protos/openflow_13.proto
type OfpBadActionCode = openflow_13.OfpBadActionCode

var OfpBadActionCode_name = openflow_13.OfpBadActionCode_name
var OfpBadActionCode_value = openflow_13.OfpBadActionCode_value

const OfpBadActionCode_OFPBAC_BAD_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_TYPE)
const OfpBadActionCode_OFPBAC_BAD_LEN = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_LEN)
const OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER)
const OfpBadActionCode_OFPBAC_BAD_EXP_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_EXP_TYPE)
const OfpBadActionCode_OFPBAC_BAD_OUT_PORT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_OUT_PORT)
const OfpBadActionCode_OFPBAC_BAD_ARGUMENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_ARGUMENT)
const OfpBadActionCode_OFPBAC_EPERM = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_EPERM)
const OfpBadActionCode_OFPBAC_TOO_MANY = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_TOO_MANY)
const OfpBadActionCode_OFPBAC_BAD_QUEUE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_QUEUE)
const OfpBadActionCode_OFPBAC_BAD_OUT_GROUP = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_OUT_GROUP)
const OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT)
const OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER)
const OfpBadActionCode_OFPBAC_BAD_TAG = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_TAG)
const OfpBadActionCode_OFPBAC_BAD_SET_TYPE = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_TYPE)
const OfpBadActionCode_OFPBAC_BAD_SET_LEN = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_LEN)
const OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT = OfpBadActionCode(openflow_13.OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT)

// OfpBadInstructionCode from public import voltha_protos/openflow_13.proto
type OfpBadInstructionCode = openflow_13.OfpBadInstructionCode

var OfpBadInstructionCode_name = openflow_13.OfpBadInstructionCode_name
var OfpBadInstructionCode_value = openflow_13.OfpBadInstructionCode_value

const OfpBadInstructionCode_OFPBIC_UNKNOWN_INST = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNKNOWN_INST)
const OfpBadInstructionCode_OFPBIC_UNSUP_INST = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_INST)
const OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID)
const OfpBadInstructionCode_OFPBIC_UNSUP_METADATA = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_METADATA)
const OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK)
const OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER)
const OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE)
const OfpBadInstructionCode_OFPBIC_BAD_LEN = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_LEN)
const OfpBadInstructionCode_OFPBIC_EPERM = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_EPERM)

// OfpBadMatchCode from public import voltha_protos/openflow_13.proto
type OfpBadMatchCode = openflow_13.OfpBadMatchCode

var OfpBadMatchCode_name = openflow_13.OfpBadMatchCode_name
var OfpBadMatchCode_value = openflow_13.OfpBadMatchCode_value

const OfpBadMatchCode_OFPBMC_BAD_TYPE = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_TYPE)
const OfpBadMatchCode_OFPBMC_BAD_LEN = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_LEN)
const OfpBadMatchCode_OFPBMC_BAD_TAG = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_TAG)
const OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK)
const OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK)
const OfpBadMatchCode_OFPBMC_BAD_WILDCARDS = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_WILDCARDS)
const OfpBadMatchCode_OFPBMC_BAD_FIELD = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_FIELD)
const OfpBadMatchCode_OFPBMC_BAD_VALUE = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_VALUE)
const OfpBadMatchCode_OFPBMC_BAD_MASK = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_MASK)
const OfpBadMatchCode_OFPBMC_BAD_PREREQ = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_BAD_PREREQ)
const OfpBadMatchCode_OFPBMC_DUP_FIELD = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_DUP_FIELD)
const OfpBadMatchCode_OFPBMC_EPERM = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_EPERM)

// OfpFlowModFailedCode from public import voltha_protos/openflow_13.proto
type OfpFlowModFailedCode = openflow_13.OfpFlowModFailedCode

var OfpFlowModFailedCode_name = openflow_13.OfpFlowModFailedCode_name
var OfpFlowModFailedCode_value = openflow_13.OfpFlowModFailedCode_value

const OfpFlowModFailedCode_OFPFMFC_UNKNOWN = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_UNKNOWN)
const OfpFlowModFailedCode_OFPFMFC_TABLE_FULL = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_TABLE_FULL)
const OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID)
const OfpFlowModFailedCode_OFPFMFC_OVERLAP = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_OVERLAP)
const OfpFlowModFailedCode_OFPFMFC_EPERM = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_EPERM)
const OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT)
const OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND)
const OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS)

// OfpGroupModFailedCode from public import voltha_protos/openflow_13.proto
type OfpGroupModFailedCode = openflow_13.OfpGroupModFailedCode

var OfpGroupModFailedCode_name = openflow_13.OfpGroupModFailedCode_name
var OfpGroupModFailedCode_value = openflow_13.OfpGroupModFailedCode_value

const OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS)
const OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP)
const OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED)
const OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS)
const OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS)
const OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED)
const OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED)
const OfpGroupModFailedCode_OFPGMFC_LOOP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_LOOP)
const OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP)
const OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP)
const OfpGroupModFailedCode_OFPGMFC_BAD_TYPE = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_TYPE)
const OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND)
const OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET)
const OfpGroupModFailedCode_OFPGMFC_BAD_WATCH = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_WATCH)
const OfpGroupModFailedCode_OFPGMFC_EPERM = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_EPERM)

// OfpPortModFailedCode from public import voltha_protos/openflow_13.proto
type OfpPortModFailedCode = openflow_13.OfpPortModFailedCode

var OfpPortModFailedCode_name = openflow_13.OfpPortModFailedCode_name
var OfpPortModFailedCode_value = openflow_13.OfpPortModFailedCode_value

const OfpPortModFailedCode_OFPPMFC_BAD_PORT = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_PORT)
const OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR)
const OfpPortModFailedCode_OFPPMFC_BAD_CONFIG = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_CONFIG)
const OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE)
const OfpPortModFailedCode_OFPPMFC_EPERM = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_EPERM)

// OfpTableModFailedCode from public import voltha_protos/openflow_13.proto
type OfpTableModFailedCode = openflow_13.OfpTableModFailedCode

var OfpTableModFailedCode_name = openflow_13.OfpTableModFailedCode_name
var OfpTableModFailedCode_value = openflow_13.OfpTableModFailedCode_value

const OfpTableModFailedCode_OFPTMFC_BAD_TABLE = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_BAD_TABLE)
const OfpTableModFailedCode_OFPTMFC_BAD_CONFIG = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_BAD_CONFIG)
const OfpTableModFailedCode_OFPTMFC_EPERM = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_EPERM)

// OfpQueueOpFailedCode from public import voltha_protos/openflow_13.proto
type OfpQueueOpFailedCode = openflow_13.OfpQueueOpFailedCode

var OfpQueueOpFailedCode_name = openflow_13.OfpQueueOpFailedCode_name
var OfpQueueOpFailedCode_value = openflow_13.OfpQueueOpFailedCode_value

const OfpQueueOpFailedCode_OFPQOFC_BAD_PORT = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_BAD_PORT)
const OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE)
const OfpQueueOpFailedCode_OFPQOFC_EPERM = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_EPERM)

// OfpSwitchConfigFailedCode from public import voltha_protos/openflow_13.proto
type OfpSwitchConfigFailedCode = openflow_13.OfpSwitchConfigFailedCode

var OfpSwitchConfigFailedCode_name = openflow_13.OfpSwitchConfigFailedCode_name
var OfpSwitchConfigFailedCode_value = openflow_13.OfpSwitchConfigFailedCode_value

const OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS)
const OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN)
const OfpSwitchConfigFailedCode_OFPSCFC_EPERM = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_EPERM)

// OfpRoleRequestFailedCode from public import voltha_protos/openflow_13.proto
type OfpRoleRequestFailedCode = openflow_13.OfpRoleRequestFailedCode

var OfpRoleRequestFailedCode_name = openflow_13.OfpRoleRequestFailedCode_name
var OfpRoleRequestFailedCode_value = openflow_13.OfpRoleRequestFailedCode_value

const OfpRoleRequestFailedCode_OFPRRFC_STALE = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_STALE)
const OfpRoleRequestFailedCode_OFPRRFC_UNSUP = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_UNSUP)
const OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE)

// OfpMeterModFailedCode from public import voltha_protos/openflow_13.proto
type OfpMeterModFailedCode = openflow_13.OfpMeterModFailedCode

var OfpMeterModFailedCode_name = openflow_13.OfpMeterModFailedCode_name
var OfpMeterModFailedCode_value = openflow_13.OfpMeterModFailedCode_value

const OfpMeterModFailedCode_OFPMMFC_UNKNOWN = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_UNKNOWN)
const OfpMeterModFailedCode_OFPMMFC_METER_EXISTS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_METER_EXISTS)
const OfpMeterModFailedCode_OFPMMFC_INVALID_METER = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_INVALID_METER)
const OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER)
const OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND)
const OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS)
const OfpMeterModFailedCode_OFPMMFC_BAD_RATE = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_RATE)
const OfpMeterModFailedCode_OFPMMFC_BAD_BURST = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BURST)
const OfpMeterModFailedCode_OFPMMFC_BAD_BAND = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND)
const OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL)
const OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS)
const OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS)

// OfpTableFeaturesFailedCode from public import voltha_protos/openflow_13.proto
type OfpTableFeaturesFailedCode = openflow_13.OfpTableFeaturesFailedCode

var OfpTableFeaturesFailedCode_name = openflow_13.OfpTableFeaturesFailedCode_name
var OfpTableFeaturesFailedCode_value = openflow_13.OfpTableFeaturesFailedCode_value

const OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE)
const OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA)
const OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE)
const OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN)
const OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT)
const OfpTableFeaturesFailedCode_OFPTFFC_EPERM = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_EPERM)

// OfpMultipartType from public import voltha_protos/openflow_13.proto
type OfpMultipartType = openflow_13.OfpMultipartType

var OfpMultipartType_name = openflow_13.OfpMultipartType_name
var OfpMultipartType_value = openflow_13.OfpMultipartType_value

const OfpMultipartType_OFPMP_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_DESC)
const OfpMultipartType_OFPMP_FLOW = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_FLOW)
const OfpMultipartType_OFPMP_AGGREGATE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_AGGREGATE)
const OfpMultipartType_OFPMP_TABLE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_TABLE)
const OfpMultipartType_OFPMP_PORT_STATS = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_PORT_STATS)
const OfpMultipartType_OFPMP_QUEUE = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_QUEUE)
const OfpMultipartType_OFPMP_GROUP = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP)
const OfpMultipartType_OFPMP_GROUP_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP_DESC)
const OfpMultipartType_OFPMP_GROUP_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_GROUP_FEATURES)
const OfpMultipartType_OFPMP_METER = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER)
const OfpMultipartType_OFPMP_METER_CONFIG = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER_CONFIG)
const OfpMultipartType_OFPMP_METER_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_METER_FEATURES)
const OfpMultipartType_OFPMP_TABLE_FEATURES = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_TABLE_FEATURES)
const OfpMultipartType_OFPMP_PORT_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_PORT_DESC)
const OfpMultipartType_OFPMP_EXPERIMENTER = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_EXPERIMENTER)

// OfpMultipartRequestFlags from public import voltha_protos/openflow_13.proto
type OfpMultipartRequestFlags = openflow_13.OfpMultipartRequestFlags

var OfpMultipartRequestFlags_name = openflow_13.OfpMultipartRequestFlags_name
var OfpMultipartRequestFlags_value = openflow_13.OfpMultipartRequestFlags_value

const OfpMultipartRequestFlags_OFPMPF_REQ_INVALID = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_INVALID)
const OfpMultipartRequestFlags_OFPMPF_REQ_MORE = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_MORE)

// OfpMultipartReplyFlags from public import voltha_protos/openflow_13.proto
type OfpMultipartReplyFlags = openflow_13.OfpMultipartReplyFlags

var OfpMultipartReplyFlags_name = openflow_13.OfpMultipartReplyFlags_name
var OfpMultipartReplyFlags_value = openflow_13.OfpMultipartReplyFlags_value

const OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID)
const OfpMultipartReplyFlags_OFPMPF_REPLY_MORE = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_MORE)

// OfpTableFeaturePropType from public import voltha_protos/openflow_13.proto
type OfpTableFeaturePropType = openflow_13.OfpTableFeaturePropType

var OfpTableFeaturePropType_name = openflow_13.OfpTableFeaturePropType_name
var OfpTableFeaturePropType_value = openflow_13.OfpTableFeaturePropType_value

const OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS)
const OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS)
const OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES)
const OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS)
const OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS)
const OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS)
const OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS)
const OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS)
const OfpTableFeaturePropType_OFPTFPT_MATCH = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_MATCH)
const OfpTableFeaturePropType_OFPTFPT_WILDCARDS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WILDCARDS)
const OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD)
const OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS)
const OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD)
const OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS)
const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER)
const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS)

// OfpGroupCapabilities from public import voltha_protos/openflow_13.proto
type OfpGroupCapabilities = openflow_13.OfpGroupCapabilities

var OfpGroupCapabilities_name = openflow_13.OfpGroupCapabilities_name
var OfpGroupCapabilities_value = openflow_13.OfpGroupCapabilities_value

const OfpGroupCapabilities_OFPGFC_INVALID = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_INVALID)
const OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT)
const OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS)
const OfpGroupCapabilities_OFPGFC_CHAINING = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING)
const OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS)

// OfpQueueProperties from public import voltha_protos/openflow_13.proto
type OfpQueueProperties = openflow_13.OfpQueueProperties

var OfpQueueProperties_name = openflow_13.OfpQueueProperties_name
var OfpQueueProperties_value = openflow_13.OfpQueueProperties_value

const OfpQueueProperties_OFPQT_INVALID = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_INVALID)
const OfpQueueProperties_OFPQT_MIN_RATE = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_MIN_RATE)
const OfpQueueProperties_OFPQT_MAX_RATE = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_MAX_RATE)
const OfpQueueProperties_OFPQT_EXPERIMENTER = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_EXPERIMENTER)

// OfpControllerRole from public import voltha_protos/openflow_13.proto
type OfpControllerRole = openflow_13.OfpControllerRole

var OfpControllerRole_name = openflow_13.OfpControllerRole_name
var OfpControllerRole_value = openflow_13.OfpControllerRole_value

const OfpControllerRole_OFPCR_ROLE_NOCHANGE = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_NOCHANGE)
const OfpControllerRole_OFPCR_ROLE_EQUAL = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_EQUAL)
const OfpControllerRole_OFPCR_ROLE_MASTER = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_MASTER)
const OfpControllerRole_OFPCR_ROLE_SLAVE = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_SLAVE)

type EventFilterRuleKey_EventFilterRuleType int32

const (
	EventFilterRuleKey_filter_all        EventFilterRuleKey_EventFilterRuleType = 0
	EventFilterRuleKey_category          EventFilterRuleKey_EventFilterRuleType = 1
	EventFilterRuleKey_sub_category      EventFilterRuleKey_EventFilterRuleType = 2
	EventFilterRuleKey_kpi_event_type    EventFilterRuleKey_EventFilterRuleType = 3
	EventFilterRuleKey_config_event_type EventFilterRuleKey_EventFilterRuleType = 4
	EventFilterRuleKey_device_event_type EventFilterRuleKey_EventFilterRuleType = 5
)

var EventFilterRuleKey_EventFilterRuleType_name = map[int32]string{
	0: "filter_all",
	1: "category",
	2: "sub_category",
	3: "kpi_event_type",
	4: "config_event_type",
	5: "device_event_type",
}

var EventFilterRuleKey_EventFilterRuleType_value = map[string]int32{
	"filter_all":        0,
	"category":          1,
	"sub_category":      2,
	"kpi_event_type":    3,
	"config_event_type": 4,
	"device_event_type": 5,
}

func (x EventFilterRuleKey_EventFilterRuleType) String() string {
	return proto.EnumName(EventFilterRuleKey_EventFilterRuleType_name, int32(x))
}

func (EventFilterRuleKey_EventFilterRuleType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{2, 0}
}

type TestResponse_TestResponseResult int32

const (
	TestResponse_SUCCESS TestResponse_TestResponseResult = 0
	TestResponse_FAILURE TestResponse_TestResponseResult = 1
)

var TestResponse_TestResponseResult_name = map[int32]string{
	0: "SUCCESS",
	1: "FAILURE",
}

var TestResponse_TestResponseResult_value = map[string]int32{
	"SUCCESS": 0,
	"FAILURE": 1,
}

func (x TestResponse_TestResponseResult) String() string {
	return proto.EnumName(TestResponse_TestResponseResult_name, int32(x))
}

func (TestResponse_TestResponseResult) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{9, 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
)

var SelfTestResponse_SelfTestResult_name = map[int32]string{
	0: "SUCCESS",
	1: "FAILURE",
	2: "NOT_SUPPORTED",
	3: "UNKNOWN_ERROR",
}

var SelfTestResponse_SelfTestResult_value = map[string]int32{
	"SUCCESS":       0,
	"FAILURE":       1,
	"NOT_SUPPORTED": 2,
	"UNKNOWN_ERROR": 3,
}

func (x SelfTestResponse_SelfTestResult) String() string {
	return proto.EnumName(SelfTestResponse_SelfTestResult_name, int32(x))
}

func (SelfTestResponse_SelfTestResult) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{11, 0}
}

type DeviceGroup struct {
	Id                   string           `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	LogicalDevices       []*LogicalDevice `protobuf:"bytes,2,rep,name=logical_devices,json=logicalDevices,proto3" json:"logical_devices,omitempty"`
	Devices              []*Device        `protobuf:"bytes,3,rep,name=devices,proto3" json:"devices,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *DeviceGroup) Reset()         { *m = DeviceGroup{} }
func (m *DeviceGroup) String() string { return proto.CompactTextString(m) }
func (*DeviceGroup) ProtoMessage()    {}
func (*DeviceGroup) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{0}
}

func (m *DeviceGroup) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceGroup.Unmarshal(m, b)
}
func (m *DeviceGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceGroup.Marshal(b, m, deterministic)
}
func (m *DeviceGroup) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceGroup.Merge(m, src)
}
func (m *DeviceGroup) XXX_Size() int {
	return xxx_messageInfo_DeviceGroup.Size(m)
}
func (m *DeviceGroup) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceGroup.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceGroup proto.InternalMessageInfo

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

func (m *DeviceGroup) GetLogicalDevices() []*LogicalDevice {
	if m != nil {
		return m.LogicalDevices
	}
	return nil
}

func (m *DeviceGroup) GetDevices() []*Device {
	if m != nil {
		return m.Devices
	}
	return nil
}

type DeviceGroups struct {
	Items                []*DeviceGroup `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *DeviceGroups) Reset()         { *m = DeviceGroups{} }
func (m *DeviceGroups) String() string { return proto.CompactTextString(m) }
func (*DeviceGroups) ProtoMessage()    {}
func (*DeviceGroups) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{1}
}

func (m *DeviceGroups) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceGroups.Unmarshal(m, b)
}
func (m *DeviceGroups) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceGroups.Marshal(b, m, deterministic)
}
func (m *DeviceGroups) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceGroups.Merge(m, src)
}
func (m *DeviceGroups) XXX_Size() int {
	return xxx_messageInfo_DeviceGroups.Size(m)
}
func (m *DeviceGroups) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceGroups.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceGroups proto.InternalMessageInfo

func (m *DeviceGroups) GetItems() []*DeviceGroup {
	if m != nil {
		return m.Items
	}
	return nil
}

type EventFilterRuleKey struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EventFilterRuleKey) Reset()         { *m = EventFilterRuleKey{} }
func (m *EventFilterRuleKey) String() string { return proto.CompactTextString(m) }
func (*EventFilterRuleKey) ProtoMessage()    {}
func (*EventFilterRuleKey) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{2}
}

func (m *EventFilterRuleKey) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventFilterRuleKey.Unmarshal(m, b)
}
func (m *EventFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventFilterRuleKey.Marshal(b, m, deterministic)
}
func (m *EventFilterRuleKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventFilterRuleKey.Merge(m, src)
}
func (m *EventFilterRuleKey) XXX_Size() int {
	return xxx_messageInfo_EventFilterRuleKey.Size(m)
}
func (m *EventFilterRuleKey) XXX_DiscardUnknown() {
	xxx_messageInfo_EventFilterRuleKey.DiscardUnknown(m)
}

var xxx_messageInfo_EventFilterRuleKey proto.InternalMessageInfo

type EventFilterRule struct {
	Key                  EventFilterRuleKey_EventFilterRuleType `protobuf:"varint,1,opt,name=key,proto3,enum=voltha.EventFilterRuleKey_EventFilterRuleType" json:"key,omitempty"`
	Value                string                                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
	XXX_unrecognized     []byte                                 `json:"-"`
	XXX_sizecache        int32                                  `json:"-"`
}

func (m *EventFilterRule) Reset()         { *m = EventFilterRule{} }
func (m *EventFilterRule) String() string { return proto.CompactTextString(m) }
func (*EventFilterRule) ProtoMessage()    {}
func (*EventFilterRule) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{3}
}

func (m *EventFilterRule) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventFilterRule.Unmarshal(m, b)
}
func (m *EventFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventFilterRule.Marshal(b, m, deterministic)
}
func (m *EventFilterRule) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventFilterRule.Merge(m, src)
}
func (m *EventFilterRule) XXX_Size() int {
	return xxx_messageInfo_EventFilterRule.Size(m)
}
func (m *EventFilterRule) XXX_DiscardUnknown() {
	xxx_messageInfo_EventFilterRule.DiscardUnknown(m)
}

var xxx_messageInfo_EventFilterRule proto.InternalMessageInfo

func (m *EventFilterRule) GetKey() EventFilterRuleKey_EventFilterRuleType {
	if m != nil {
		return m.Key
	}
	return EventFilterRuleKey_filter_all
}

func (m *EventFilterRule) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type EventFilter struct {
	Id                   string             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Enable               bool               `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
	DeviceId             string             `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	EventType            string             `protobuf:"bytes,4,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	Rules                []*EventFilterRule `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *EventFilter) Reset()         { *m = EventFilter{} }
func (m *EventFilter) String() string { return proto.CompactTextString(m) }
func (*EventFilter) ProtoMessage()    {}
func (*EventFilter) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{4}
}

func (m *EventFilter) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventFilter.Unmarshal(m, b)
}
func (m *EventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventFilter.Marshal(b, m, deterministic)
}
func (m *EventFilter) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventFilter.Merge(m, src)
}
func (m *EventFilter) XXX_Size() int {
	return xxx_messageInfo_EventFilter.Size(m)
}
func (m *EventFilter) XXX_DiscardUnknown() {
	xxx_messageInfo_EventFilter.DiscardUnknown(m)
}

var xxx_messageInfo_EventFilter proto.InternalMessageInfo

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

func (m *EventFilter) GetEnable() bool {
	if m != nil {
		return m.Enable
	}
	return false
}

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

func (m *EventFilter) GetEventType() string {
	if m != nil {
		return m.EventType
	}
	return ""
}

func (m *EventFilter) GetRules() []*EventFilterRule {
	if m != nil {
		return m.Rules
	}
	return nil
}

type EventFilters struct {
	Filters              []*EventFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *EventFilters) Reset()         { *m = EventFilters{} }
func (m *EventFilters) String() string { return proto.CompactTextString(m) }
func (*EventFilters) ProtoMessage()    {}
func (*EventFilters) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{5}
}

func (m *EventFilters) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventFilters.Unmarshal(m, b)
}
func (m *EventFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventFilters.Marshal(b, m, deterministic)
}
func (m *EventFilters) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventFilters.Merge(m, src)
}
func (m *EventFilters) XXX_Size() int {
	return xxx_messageInfo_EventFilters.Size(m)
}
func (m *EventFilters) XXX_DiscardUnknown() {
	xxx_messageInfo_EventFilters.DiscardUnknown(m)
}

var xxx_messageInfo_EventFilters proto.InternalMessageInfo

func (m *EventFilters) GetFilters() []*EventFilter {
	if m != nil {
		return m.Filters
	}
	return nil
}

// CoreInstance represents a core instance.  It is data held in memory when a core
// is running.  This data is not persistent.
type CoreInstance struct {
	InstanceId           string        `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	Health               *HealthStatus `protobuf:"bytes,2,opt,name=health,proto3" json:"health,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *CoreInstance) Reset()         { *m = CoreInstance{} }
func (m *CoreInstance) String() string { return proto.CompactTextString(m) }
func (*CoreInstance) ProtoMessage()    {}
func (*CoreInstance) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{6}
}

func (m *CoreInstance) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CoreInstance.Unmarshal(m, b)
}
func (m *CoreInstance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CoreInstance.Marshal(b, m, deterministic)
}
func (m *CoreInstance) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CoreInstance.Merge(m, src)
}
func (m *CoreInstance) XXX_Size() int {
	return xxx_messageInfo_CoreInstance.Size(m)
}
func (m *CoreInstance) XXX_DiscardUnknown() {
	xxx_messageInfo_CoreInstance.DiscardUnknown(m)
}

var xxx_messageInfo_CoreInstance proto.InternalMessageInfo

func (m *CoreInstance) GetInstanceId() string {
	if m != nil {
		return m.InstanceId
	}
	return ""
}

func (m *CoreInstance) GetHealth() *HealthStatus {
	if m != nil {
		return m.Health
	}
	return nil
}

type CoreInstances struct {
	Items                []*CoreInstance `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CoreInstances) Reset()         { *m = CoreInstances{} }
func (m *CoreInstances) String() string { return proto.CompactTextString(m) }
func (*CoreInstances) ProtoMessage()    {}
func (*CoreInstances) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{7}
}

func (m *CoreInstances) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CoreInstances.Unmarshal(m, b)
}
func (m *CoreInstances) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CoreInstances.Marshal(b, m, deterministic)
}
func (m *CoreInstances) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CoreInstances.Merge(m, src)
}
func (m *CoreInstances) XXX_Size() int {
	return xxx_messageInfo_CoreInstances.Size(m)
}
func (m *CoreInstances) XXX_DiscardUnknown() {
	xxx_messageInfo_CoreInstances.DiscardUnknown(m)
}

var xxx_messageInfo_CoreInstances proto.InternalMessageInfo

func (m *CoreInstances) GetItems() []*CoreInstance {
	if m != nil {
		return m.Items
	}
	return nil
}

type OmciTestRequest struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Uuid                 string   `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OmciTestRequest) Reset()         { *m = OmciTestRequest{} }
func (m *OmciTestRequest) String() string { return proto.CompactTextString(m) }
func (*OmciTestRequest) ProtoMessage()    {}
func (*OmciTestRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{8}
}

func (m *OmciTestRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OmciTestRequest.Unmarshal(m, b)
}
func (m *OmciTestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OmciTestRequest.Marshal(b, m, deterministic)
}
func (m *OmciTestRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OmciTestRequest.Merge(m, src)
}
func (m *OmciTestRequest) XXX_Size() int {
	return xxx_messageInfo_OmciTestRequest.Size(m)
}
func (m *OmciTestRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_OmciTestRequest.DiscardUnknown(m)
}

var xxx_messageInfo_OmciTestRequest proto.InternalMessageInfo

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

func (m *OmciTestRequest) GetUuid() string {
	if m != nil {
		return m.Uuid
	}
	return ""
}

type TestResponse struct {
	Result               TestResponse_TestResponseResult `protobuf:"varint,1,opt,name=result,proto3,enum=voltha.TestResponse_TestResponseResult" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
	XXX_unrecognized     []byte                          `json:"-"`
	XXX_sizecache        int32                           `json:"-"`
}

func (m *TestResponse) Reset()         { *m = TestResponse{} }
func (m *TestResponse) String() string { return proto.CompactTextString(m) }
func (*TestResponse) ProtoMessage()    {}
func (*TestResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{9}
}

func (m *TestResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TestResponse.Unmarshal(m, b)
}
func (m *TestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TestResponse.Marshal(b, m, deterministic)
}
func (m *TestResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TestResponse.Merge(m, src)
}
func (m *TestResponse) XXX_Size() int {
	return xxx_messageInfo_TestResponse.Size(m)
}
func (m *TestResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_TestResponse.DiscardUnknown(m)
}

var xxx_messageInfo_TestResponse proto.InternalMessageInfo

func (m *TestResponse) GetResult() TestResponse_TestResponseResult {
	if m != nil {
		return m.Result
	}
	return TestResponse_SUCCESS
}

// Voltha represents the Voltha cluster data.  Each Core instance will hold a subset of
// the entire cluster. However, some items (e.g. adapters) will be held by all cores
// for better performance
type Voltha struct {
	Version              string                  `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	Adapters             []*Adapter              `protobuf:"bytes,2,rep,name=adapters,proto3" json:"adapters,omitempty"`
	LogicalDevices       []*LogicalDevice        `protobuf:"bytes,3,rep,name=logical_devices,json=logicalDevices,proto3" json:"logical_devices,omitempty"`
	Devices              []*Device               `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"`
	DeviceTypes          []*DeviceType           `protobuf:"bytes,5,rep,name=device_types,json=deviceTypes,proto3" json:"device_types,omitempty"`
	DeviceGroups         []*DeviceGroup          `protobuf:"bytes,6,rep,name=device_groups,json=deviceGroups,proto3" json:"device_groups,omitempty"`
	EventFilters         []*EventFilter          `protobuf:"bytes,7,rep,name=event_filters,json=eventFilters,proto3" json:"event_filters,omitempty"`
	OmciMibDatabase      []*omci.MibDeviceData   `protobuf:"bytes,28,rep,name=omci_mib_database,json=omciMibDatabase,proto3" json:"omci_mib_database,omitempty"`
	OmciAlarmDatabase    []*omci.AlarmDeviceData `protobuf:"bytes,29,rep,name=omci_alarm_database,json=omciAlarmDatabase,proto3" json:"omci_alarm_database,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *Voltha) Reset()         { *m = Voltha{} }
func (m *Voltha) String() string { return proto.CompactTextString(m) }
func (*Voltha) ProtoMessage()    {}
func (*Voltha) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{10}
}

func (m *Voltha) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Voltha.Unmarshal(m, b)
}
func (m *Voltha) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Voltha.Marshal(b, m, deterministic)
}
func (m *Voltha) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Voltha.Merge(m, src)
}
func (m *Voltha) XXX_Size() int {
	return xxx_messageInfo_Voltha.Size(m)
}
func (m *Voltha) XXX_DiscardUnknown() {
	xxx_messageInfo_Voltha.DiscardUnknown(m)
}

var xxx_messageInfo_Voltha proto.InternalMessageInfo

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

func (m *Voltha) GetAdapters() []*Adapter {
	if m != nil {
		return m.Adapters
	}
	return nil
}

func (m *Voltha) GetLogicalDevices() []*LogicalDevice {
	if m != nil {
		return m.LogicalDevices
	}
	return nil
}

func (m *Voltha) GetDevices() []*Device {
	if m != nil {
		return m.Devices
	}
	return nil
}

func (m *Voltha) GetDeviceTypes() []*DeviceType {
	if m != nil {
		return m.DeviceTypes
	}
	return nil
}

func (m *Voltha) GetDeviceGroups() []*DeviceGroup {
	if m != nil {
		return m.DeviceGroups
	}
	return nil
}

func (m *Voltha) GetEventFilters() []*EventFilter {
	if m != nil {
		return m.EventFilters
	}
	return nil
}

func (m *Voltha) GetOmciMibDatabase() []*omci.MibDeviceData {
	if m != nil {
		return m.OmciMibDatabase
	}
	return nil
}

func (m *Voltha) GetOmciAlarmDatabase() []*omci.AlarmDeviceData {
	if m != nil {
		return m.OmciAlarmDatabase
	}
	return nil
}

// Device Self Test Response
type SelfTestResponse struct {
	Result               SelfTestResponse_SelfTestResult `protobuf:"varint,1,opt,name=result,proto3,enum=voltha.SelfTestResponse_SelfTestResult" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
	XXX_unrecognized     []byte                          `json:"-"`
	XXX_sizecache        int32                           `json:"-"`
}

func (m *SelfTestResponse) Reset()         { *m = SelfTestResponse{} }
func (m *SelfTestResponse) String() string { return proto.CompactTextString(m) }
func (*SelfTestResponse) ProtoMessage()    {}
func (*SelfTestResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{11}
}

func (m *SelfTestResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SelfTestResponse.Unmarshal(m, b)
}
func (m *SelfTestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SelfTestResponse.Marshal(b, m, deterministic)
}
func (m *SelfTestResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SelfTestResponse.Merge(m, src)
}
func (m *SelfTestResponse) XXX_Size() int {
	return xxx_messageInfo_SelfTestResponse.Size(m)
}
func (m *SelfTestResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SelfTestResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SelfTestResponse proto.InternalMessageInfo

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

type OfAgentSubscriber struct {
	// ID of ofagent instance
	OfagentId string `protobuf:"bytes,1,opt,name=ofagent_id,json=ofagentId,proto3" json:"ofagent_id,omitempty"`
	// ID of voltha instance to which the ofagent is subscribed
	VolthaId             string   `protobuf:"bytes,2,opt,name=voltha_id,json=volthaId,proto3" json:"voltha_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OfAgentSubscriber) Reset()         { *m = OfAgentSubscriber{} }
func (m *OfAgentSubscriber) String() string { return proto.CompactTextString(m) }
func (*OfAgentSubscriber) ProtoMessage()    {}
func (*OfAgentSubscriber) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{12}
}

func (m *OfAgentSubscriber) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OfAgentSubscriber.Unmarshal(m, b)
}
func (m *OfAgentSubscriber) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OfAgentSubscriber.Marshal(b, m, deterministic)
}
func (m *OfAgentSubscriber) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OfAgentSubscriber.Merge(m, src)
}
func (m *OfAgentSubscriber) XXX_Size() int {
	return xxx_messageInfo_OfAgentSubscriber.Size(m)
}
func (m *OfAgentSubscriber) XXX_DiscardUnknown() {
	xxx_messageInfo_OfAgentSubscriber.DiscardUnknown(m)
}

var xxx_messageInfo_OfAgentSubscriber proto.InternalMessageInfo

func (m *OfAgentSubscriber) GetOfagentId() string {
	if m != nil {
		return m.OfagentId
	}
	return ""
}

func (m *OfAgentSubscriber) GetVolthaId() string {
	if m != nil {
		return m.VolthaId
	}
	return ""
}

// Identifies a membership group a Core belongs to
type Membership struct {
	//  Group name
	GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
	// Unique ID of a container within that group
	Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Membership) Reset()         { *m = Membership{} }
func (m *Membership) String() string { return proto.CompactTextString(m) }
func (*Membership) ProtoMessage()    {}
func (*Membership) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{13}
}

func (m *Membership) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Membership.Unmarshal(m, b)
}
func (m *Membership) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Membership.Marshal(b, m, deterministic)
}
func (m *Membership) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Membership.Merge(m, src)
}
func (m *Membership) XXX_Size() int {
	return xxx_messageInfo_Membership.Size(m)
}
func (m *Membership) XXX_DiscardUnknown() {
	xxx_messageInfo_Membership.DiscardUnknown(m)
}

var xxx_messageInfo_Membership proto.InternalMessageInfo

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

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

// Additional information required to process flow at device adapters
type FlowMetadata struct {
	// Meters associated with flow-update to adapter
	Meters               []*openflow_13.OfpMeterConfig `protobuf:"bytes,1,rep,name=meters,proto3" json:"meters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (m *FlowMetadata) Reset()         { *m = FlowMetadata{} }
func (m *FlowMetadata) String() string { return proto.CompactTextString(m) }
func (*FlowMetadata) ProtoMessage()    {}
func (*FlowMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_e084f1a60ce7016c, []int{14}
}

func (m *FlowMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowMetadata.Unmarshal(m, b)
}
func (m *FlowMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowMetadata.Marshal(b, m, deterministic)
}
func (m *FlowMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowMetadata.Merge(m, src)
}
func (m *FlowMetadata) XXX_Size() int {
	return xxx_messageInfo_FlowMetadata.Size(m)
}
func (m *FlowMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_FlowMetadata proto.InternalMessageInfo

func (m *FlowMetadata) GetMeters() []*openflow_13.OfpMeterConfig {
	if m != nil {
		return m.Meters
	}
	return nil
}

func init() {
	proto.RegisterEnum("voltha.EventFilterRuleKey_EventFilterRuleType", EventFilterRuleKey_EventFilterRuleType_name, EventFilterRuleKey_EventFilterRuleType_value)
	proto.RegisterEnum("voltha.TestResponse_TestResponseResult", TestResponse_TestResponseResult_name, TestResponse_TestResponseResult_value)
	proto.RegisterEnum("voltha.SelfTestResponse_SelfTestResult", SelfTestResponse_SelfTestResult_name, SelfTestResponse_SelfTestResult_value)
	proto.RegisterType((*DeviceGroup)(nil), "voltha.DeviceGroup")
	proto.RegisterType((*DeviceGroups)(nil), "voltha.DeviceGroups")
	proto.RegisterType((*EventFilterRuleKey)(nil), "voltha.EventFilterRuleKey")
	proto.RegisterType((*EventFilterRule)(nil), "voltha.EventFilterRule")
	proto.RegisterType((*EventFilter)(nil), "voltha.EventFilter")
	proto.RegisterType((*EventFilters)(nil), "voltha.EventFilters")
	proto.RegisterType((*CoreInstance)(nil), "voltha.CoreInstance")
	proto.RegisterType((*CoreInstances)(nil), "voltha.CoreInstances")
	proto.RegisterType((*OmciTestRequest)(nil), "voltha.OmciTestRequest")
	proto.RegisterType((*TestResponse)(nil), "voltha.TestResponse")
	proto.RegisterType((*Voltha)(nil), "voltha.Voltha")
	proto.RegisterType((*SelfTestResponse)(nil), "voltha.SelfTestResponse")
	proto.RegisterType((*OfAgentSubscriber)(nil), "voltha.OfAgentSubscriber")
	proto.RegisterType((*Membership)(nil), "voltha.Membership")
	proto.RegisterType((*FlowMetadata)(nil), "voltha.FlowMetadata")
}

func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }

var fileDescriptor_e084f1a60ce7016c = []byte{
	// 2530 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x4b, 0x73, 0x1b, 0xc7,
	0x11, 0xe6, 0xf2, 0xcd, 0x26, 0x48, 0x02, 0x03, 0x3e, 0x20, 0x90, 0xb4, 0xa4, 0xb1, 0x2d, 0x31,
	0xb4, 0x05, 0x48, 0xa2, 0xa4, 0x4a, 0xa4, 0xb8, 0x62, 0xbe, 0xc4, 0x20, 0x12, 0x05, 0x64, 0x21,
	0x4a, 0x4e, 0x62, 0x15, 0x6a, 0x81, 0x1d, 0x80, 0x5b, 0x5a, 0x60, 0x91, 0xdd, 0x01, 0x25, 0x96,
	0xca, 0x95, 0x2a, 0xe7, 0xe1, 0xdc, 0x7d, 0xc8, 0x2d, 0xa7, 0xa4, 0x52, 0x95, 0xff, 0xe2, 0x53,
	0x4e, 0xb9, 0xa6, 0x72, 0xc8, 0x2f, 0xf0, 0x39, 0x35, 0x3d, 0xb3, 0xc0, 0x2e, 0x76, 0x97, 0x0f,
	0xc7, 0x55, 0x39, 0x91, 0x3b, 0xdd, 0xf3, 0x7d, 0x3d, 0xdd, 0x33, 0x3d, 0xbd, 0xbd, 0x80, 0xfc,
	0x89, 0x63, 0xf3, 0x63, 0xa3, 0xd6, 0x75, 0x1d, 0xee, 0x78, 0x45, 0xf9, 0x54, 0xc0, 0x27, 0x32,
	0x29, 0x9f, 0xf2, 0x6b, 0x2d, 0xc7, 0x69, 0xd9, 0xac, 0x68, 0x74, 0xad, 0xa2, 0xd1, 0xe9, 0x38,
	0xdc, 0xe0, 0x96, 0xd3, 0xf1, 0xa4, 0x56, 0x7e, 0x55, 0x49, 0xf1, 0xa9, 0xde, 0x6b, 0x16, 0x59,
	0xbb, 0xcb, 0x4f, 0x95, 0x30, 0x17, 0x86, 0x6f, 0x33, 0xae, 0xc0, 0xf3, 0x43, 0xc4, 0x0d, 0xa7,
	0xdd, 0x76, 0x3a, 0xf1, 0xb2, 0x63, 0x66, 0xd8, 0xfc, 0x58, 0xc9, 0x68, 0x58, 0x66, 0x3b, 0x2d,
	0xab, 0x61, 0xd8, 0x35, 0x93, 0x9d, 0x58, 0x0d, 0x16, 0x3f, 0x3f, 0x24, 0x5b, 0x0d, 0xcb, 0x0c,
	0xd3, 0xe8, 0x72, 0xe6, 0x2a, 0xe1, 0xd5, 0xb0, 0xd0, 0xe9, 0xb2, 0x4e, 0xd3, 0x76, 0xde, 0xd4,
	0xee, 0x6c, 0x25, 0x28, 0xb4, 0x1b, 0x56, 0xad, 0x6d, 0xd5, 0x6b, 0x66, 0x5d, 0x29, 0x5c, 0x8f,
	0x51, 0x30, 0x6c, 0xc3, 0x6d, 0xf7, 0x55, 0xe8, 0x5f, 0x34, 0x98, 0xdd, 0x43, 0x93, 0x0e, 0x5c,
	0xa7, 0xd7, 0x25, 0x4b, 0x30, 0x6a, 0x99, 0x39, 0xed, 0x9a, 0xb6, 0x31, 0xb3, 0x33, 0xf1, 0x9f,
	0x6f, 0xbf, 0x59, 0xd7, 0xf4, 0x51, 0xcb, 0x24, 0x25, 0x58, 0x08, 0x2f, 0xce, 0xcb, 0x8d, 0x5e,
	0x1b, 0xdb, 0x98, 0xbd, 0xbb, 0x54, 0x50, 0x51, 0x7a, 0x2a, 0xc5, 0x12, 0x6b, 0x67, 0xe6, 0x5f,
	0xdf, 0x7e, 0xb3, 0x3e, 0x2e, 0xb0, 0xf4, 0x79, 0x3b, 0x28, 0xf1, 0xc8, 0x16, 0x4c, 0xf9, 0x10,
	0x63, 0x08, 0x31, 0xef, 0x43, 0x44, 0xe7, 0xfa, 0x9a, 0xf4, 0x47, 0x90, 0x0a, 0x58, 0xe9, 0x91,
	0x1f, 0xc0, 0x84, 0xc5, 0x59, 0xdb, 0xcb, 0x69, 0x08, 0x91, 0x0d, 0x43, 0xa0, 0x92, 0x2e, 0x35,
	0xe8, 0x9f, 0x35, 0x20, 0xfb, 0x27, 0xac, 0xc3, 0x1f, 0x5b, 0x36, 0x67, 0xae, 0xde, 0xb3, 0xd9,
	0x13, 0x76, 0x4a, 0xbf, 0xd2, 0x20, 0x3b, 0x34, 0xfc, 0xfc, 0xb4, 0xcb, 0xc8, 0x3c, 0x40, 0x13,
	0x47, 0x6a, 0x86, 0x6d, 0xa7, 0x47, 0x48, 0x0a, 0xa6, 0x1b, 0x06, 0x67, 0x2d, 0xc7, 0x3d, 0x4d,
	0x6b, 0x24, 0x0d, 0x29, 0xaf, 0x57, 0xaf, 0xf5, 0x47, 0x46, 0x09, 0x81, 0xf9, 0xd7, 0x5d, 0xab,
	0xc6, 0x04, 0x54, 0x8d, 0x9f, 0x76, 0x59, 0x7a, 0x8c, 0x2c, 0x41, 0xa6, 0xe1, 0x74, 0x9a, 0x56,
	0x2b, 0x38, 0x3c, 0x2e, 0x86, 0xe5, 0x7a, 0x82, 0xc3, 0x13, 0xd4, 0x82, 0x85, 0x21, 0x43, 0xc8,
	0xa7, 0x30, 0xf6, 0x9a, 0x9d, 0x62, 0x18, 0xe6, 0xef, 0x16, 0xfc, 0xc5, 0x45, 0x57, 0x51, 0x88,
	0x59, 0x81, 0x2e, 0xa6, 0x92, 0x45, 0x98, 0x38, 0x31, 0xec, 0x1e, 0xcb, 0x8d, 0x8a, 0x50, 0xea,
	0xf2, 0x81, 0xfe, 0x4d, 0x83, 0xd9, 0xc0, 0x94, 0xa4, 0x68, 0x2f, 0xc3, 0x24, 0xeb, 0x18, 0x75,
	0x5b, 0xce, 0x9e, 0xd6, 0xd5, 0x13, 0x59, 0x85, 0x19, 0xb5, 0x00, 0xcb, 0xcc, 0x8d, 0x21, 0xf0,
	0xb4, 0x1c, 0x28, 0x99, 0x64, 0x1d, 0x60, 0xb0, 0xac, 0xdc, 0x38, 0x4a, 0x67, 0x70, 0x04, 0xfd,
	0x7a, 0x0b, 0x26, 0xdc, 0x9e, 0xcd, 0xbc, 0xdc, 0x04, 0x46, 0x6c, 0x25, 0x61, 0x51, 0xba, 0xd4,
	0xa2, 0x9f, 0x40, 0x2a, 0x20, 0xf1, 0xc8, 0x2d, 0x98, 0x92, 0x61, 0x89, 0x84, 0x3c, 0x08, 0xe0,
	0xeb, 0xd0, 0xd7, 0x90, 0xda, 0x75, 0x5c, 0x56, 0xea, 0x78, 0xdc, 0xe8, 0x34, 0x18, 0xb9, 0x01,
	0xb3, 0x96, 0xfa, 0xbf, 0x36, 0xbc, 0x62, 0xf0, 0x25, 0x25, 0x93, 0x6c, 0xc1, 0xa4, 0x3c, 0xe0,
	0xb8, 0xf2, 0xd9, 0xbb, 0x8b, 0x3e, 0xcb, 0x4f, 0x71, 0xb4, 0xca, 0x0d, 0xde, 0xf3, 0x76, 0x26,
	0xc4, 0x0e, 0x1d, 0xd1, 0x95, 0x2a, 0x7d, 0x04, 0x73, 0x41, 0x32, 0x8f, 0x6c, 0x86, 0x77, 0x67,
	0x1f, 0x24, 0xa8, 0xe5, 0x6f, 0xcf, 0xfb, 0xb0, 0x50, 0x6e, 0x37, 0xac, 0xe7, 0xcc, 0xe3, 0x3a,
	0xfb, 0x75, 0x8f, 0x79, 0x9c, 0xcc, 0x0f, 0xa2, 0x82, 0xe1, 0x20, 0x30, 0xde, 0xeb, 0x59, 0xa6,
	0x0a, 0x25, 0xfe, 0x4f, 0x7f, 0x03, 0x29, 0x39, 0xc5, 0xeb, 0x3a, 0x1d, 0x8f, 0x91, 0x9f, 0xc0,
	0xa4, 0xcb, 0xbc, 0x9e, 0xcd, 0xd5, 0xa6, 0xb9, 0xe9, 0x73, 0x06, 0xb5, 0x42, 0x0f, 0x3a, 0xaa,
	0xeb, 0x6a, 0x1a, 0x2d, 0x00, 0x89, 0x4a, 0xc9, 0x2c, 0x4c, 0x55, 0x8f, 0x76, 0x77, 0xf7, 0xab,
	0xd5, 0xf4, 0x88, 0x78, 0x78, 0xbc, 0x5d, 0x7a, 0x7a, 0xa4, 0xef, 0xa7, 0x35, 0xfa, 0xcf, 0x71,
	0x98, 0x7c, 0x81, 0x14, 0xe4, 0x2a, 0x4c, 0x9d, 0x30, 0xd7, 0xb3, 0x9c, 0x4e, 0xd8, 0xb1, 0xfe,
	0x28, 0x79, 0x00, 0xd3, 0x2a, 0xb5, 0xf9, 0x69, 0x63, 0xc1, 0x37, 0x6f, 0x5b, 0x8e, 0x07, 0x0f,
	0x7d, 0x5f, 0x37, 0x2e, 0xeb, 0x8c, 0xfd, 0xef, 0x59, 0x67, 0xfc, 0xa2, 0x59, 0x87, 0x7c, 0x0a,
	0x29, 0xb5, 0xdf, 0xc5, 0x9e, 0xf6, 0xb7, 0x2e, 0x09, 0xcf, 0x14, 0xbb, 0x3b, 0x38, 0x7b, 0xd6,
	0xec, 0x0f, 0x7b, 0x64, 0x17, 0xe6, 0x14, 0x42, 0x0b, 0x13, 0x57, 0x6e, 0x32, 0x31, 0x5f, 0x05,
	0x31, 0x14, 0xad, 0x4a, 0x76, 0xbb, 0x30, 0x27, 0x4f, 0x96, 0x7f, 0x02, 0xa6, 0x12, 0x4f, 0x40,
	0x08, 0x84, 0x05, 0x0f, 0xd0, 0xcf, 0x21, 0x33, 0xb8, 0x20, 0x0c, 0x6e, 0xd4, 0x0d, 0x8f, 0xe5,
	0xd6, 0x14, 0x90, 0x90, 0x14, 0x0e, 0xad, 0xba, 0x34, 0x67, 0xcf, 0xe0, 0xc6, 0x4e, 0x5a, 0x00,
	0xcd, 0x06, 0x0e, 0xbc, 0xbe, 0x20, 0xb4, 0x84, 0x92, 0x9a, 0x4d, 0x5e, 0x42, 0x36, 0x78, 0xa5,
	0xf8, 0xa0, 0xeb, 0x2a, 0x44, 0x08, 0xba, 0x2d, 0x64, 0x67, 0xc2, 0xa2, 0x59, 0x52, 0x4d, 0x21,
	0xd0, 0xbf, 0x6a, 0x90, 0xae, 0x32, 0xbb, 0x79, 0xb1, 0x1d, 0x3e, 0xac, 0x19, 0x1c, 0x08, 0xee,
	0xf0, 0x0a, 0xcc, 0x87, 0x25, 0xc9, 0xbb, 0x9b, 0x64, 0x60, 0xee, 0x59, 0xf9, 0x79, 0xad, 0x7a,
	0x54, 0xa9, 0x94, 0xf5, 0xe7, 0xfb, 0x7b, 0xe9, 0x51, 0x31, 0x74, 0xf4, 0xec, 0xc9, 0xb3, 0xf2,
	0xcb, 0x67, 0xb5, 0x7d, 0x5d, 0x2f, 0xeb, 0xe9, 0x31, 0x5a, 0x86, 0x4c, 0xb9, 0xb9, 0xdd, 0x62,
	0x1d, 0x5e, 0xed, 0xd5, 0xbd, 0x86, 0x6b, 0xd5, 0x99, 0x2b, 0xf2, 0xa0, 0xd3, 0x34, 0xc4, 0x60,
	0x3f, 0xd3, 0xe8, 0x33, 0x6a, 0xa4, 0x64, 0x8a, 0x1c, 0xaa, 0x6e, 0xe5, 0xfe, 0x89, 0x9e, 0x96,
	0x03, 0x25, 0x93, 0x3e, 0x02, 0x38, 0x64, 0xed, 0x3a, 0x73, 0xbd, 0x63, 0xab, 0x2b, 0x90, 0x70,
	0xd7, 0xd4, 0x3a, 0x46, 0x9b, 0xf9, 0x48, 0x38, 0xf2, 0xcc, 0x68, 0x33, 0x95, 0x26, 0x46, 0xfd,
	0x34, 0x41, 0xf7, 0x21, 0xf5, 0xd8, 0x76, 0xde, 0x1c, 0x32, 0x6e, 0x88, 0x58, 0x90, 0xfb, 0x30,
	0xd9, 0x66, 0x81, 0x8c, 0xb9, 0x5e, 0x08, 0x96, 0x10, 0x4e, 0xb3, 0x5b, 0x43, 0x71, 0x4d, 0x5e,
	0x55, 0xba, 0x52, 0xbe, 0xfb, 0xa7, 0x22, 0xcc, 0xc9, 0x83, 0x5d, 0x65, 0xae, 0x08, 0x12, 0x79,
	0x09, 0x73, 0x07, 0x8c, 0x07, 0x0c, 0x5b, 0x2e, 0xc8, 0x32, 0xab, 0xe0, 0x97, 0x59, 0x85, 0x7d,
	0x51, 0x66, 0xe5, 0xfb, 0x27, 0x63, 0xa0, 0x4b, 0xf3, 0x5f, 0xfe, 0xe3, 0xdf, 0x5f, 0x8f, 0x2e,
	0x12, 0x82, 0x15, 0xdb, 0xc9, 0x9d, 0x62, 0x7b, 0x80, 0xf3, 0x0a, 0xd2, 0x47, 0x5d, 0xd3, 0xe0,
	0x2c, 0x80, 0x1d, 0x83, 0x91, 0x4f, 0xe0, 0xa3, 0xeb, 0x88, 0xbd, 0x42, 0x63, 0xb0, 0x1f, 0x6a,
	0x9b, 0x64, 0x0f, 0x66, 0x0e, 0x18, 0x57, 0x49, 0x2a, 0xc9, 0xe6, 0x7e, 0x1e, 0x90, 0x7a, 0x74,
	0x01, 0x31, 0x67, 0xc8, 0x94, 0xc2, 0x24, 0xaf, 0x20, 0xf3, 0xd4, 0xf2, 0x78, 0x38, 0xc3, 0x27,
	0xa1, 0x2d, 0xc5, 0xa5, 0x7a, 0x8f, 0x5e, 0x41, 0xd0, 0x2c, 0xc9, 0xf8, 0x86, 0x5a, 0x7d, 0xa4,
	0x2a, 0x2c, 0x1c, 0xb0, 0x10, 0x3a, 0x81, 0x82, 0x2a, 0x40, 0x4b, 0x7b, 0xf9, 0xd8, 0xbb, 0x83,
	0xbe, 0x87, 0x78, 0x39, 0xb2, 0x1c, 0xc1, 0x2b, 0xbe, 0xb3, 0xcc, 0x2f, 0x88, 0x0e, 0x29, 0x61,
	0xf3, 0xb6, 0x9f, 0x48, 0x93, 0xcc, 0x4d, 0x0f, 0xa5, 0x61, 0x8f, 0xe6, 0x10, 0x99, 0x90, 0xb4,
	0x8f, 0xdc, 0x4f, 0xc6, 0x0c, 0x88, 0xc0, 0x7c, 0x1a, 0xce, 0xab, 0x49, 0xc8, 0xcb, 0xb1, 0x19,
	0xda, 0xa3, 0x57, 0x11, 0xff, 0x0a, 0x59, 0xf1, 0xf1, 0x87, 0x12, 0x3c, 0xf9, 0x15, 0xa4, 0x0f,
	0x58, 0x98, 0x25, 0xe4, 0x90, 0xf8, 0xd4, 0x4f, 0x3f, 0x40, 0xdc, 0xf7, 0xc8, 0x5a, 0x02, 0xae,
	0xf4, 0x4b, 0x13, 0x96, 0x23, 0x6b, 0xa8, 0x38, 0x2e, 0xf7, 0xe2, 0x7d, 0xae, 0xf4, 0x50, 0x83,
	0x6e, 0x22, 0xc3, 0x07, 0x84, 0x9e, 0xc5, 0x50, 0xec, 0x22, 0xda, 0x5b, 0x58, 0x1c, 0x5e, 0x84,
	0x00, 0x21, 0x4b, 0x31, 0xc8, 0x25, 0x33, 0x9f, 0x8d, 0x19, 0xa6, 0xf7, 0x90, 0xaf, 0x40, 0x3e,
	0x3e, 0x9f, 0xaf, 0xf8, 0x4e, 0xfc, 0xa9, 0x89, 0x15, 0xfe, 0x5e, 0x83, 0x95, 0x7d, 0xac, 0xd6,
	0x2e, 0xcc, 0x9e, 0x74, 0xba, 0x1e, 0xa1, 0x01, 0xf7, 0xe9, 0xd6, 0x65, 0x0c, 0x28, 0xaa, 0x52,
	0xf1, 0x2b, 0x0d, 0x72, 0x7b, 0x96, 0xf7, 0xbd, 0x18, 0xf2, 0x63, 0x34, 0xe4, 0x01, 0xbd, 0x77,
	0x29, 0x43, 0x4c, 0xc9, 0x4e, 0xcc, 0x98, 0x98, 0x8b, 0x3c, 0x19, 0x8e, 0x39, 0x09, 0x25, 0x47,
	0x94, 0x5f, 0x30, 0xe2, 0x4d, 0xc4, 0xfa, 0xad, 0x06, 0x6b, 0x32, 0x97, 0x45, 0x88, 0x9e, 0xa3,
	0x19, 0x6b, 0x11, 0x02, 0x1c, 0x97, 0x73, 0x12, 0x97, 0x7e, 0x0b, 0x4d, 0xb8, 0x49, 0x2f, 0x60,
	0x82, 0xc8, 0x78, 0xbf, 0xd3, 0x60, 0x3d, 0xc6, 0x8a, 0x43, 0x91, 0xd9, 0xa5, 0x19, 0xab, 0x21,
	0x33, 0x50, 0x70, 0xe8, 0x98, 0xe7, 0x58, 0x51, 0x40, 0x2b, 0x36, 0xe8, 0xfb, 0x67, 0x5a, 0x21,
	0xef, 0x0f, 0x61, 0x46, 0x0b, 0x56, 0x22, 0x2e, 0x47, 0xaa, 0xb0, 0xcf, 0xb3, 0x51, 0x5b, 0x3c,
	0xfa, 0x11, 0x72, 0x7d, 0x48, 0x2e, 0xc2, 0x45, 0x38, 0xac, 0xc6, 0xc6, 0x56, 0x15, 0x4e, 0x41,
	0xb2, 0x95, 0x88, 0xff, 0xa5, 0x12, 0xbd, 0x8d, 0x84, 0x9b, 0x64, 0xe3, 0x5c, 0x17, 0xab, 0x1a,
	0x8e, 0x7c, 0xad, 0xc1, 0xf5, 0x84, 0x58, 0x23, 0xa6, 0xf4, 0xf4, 0xf5, 0x78, 0xc2, 0x8b, 0x44,
	0x7d, 0x0b, 0x4d, 0xba, 0x45, 0x2f, 0x6c, 0x92, 0x70, 0x7a, 0x19, 0x66, 0x85, 0x2f, 0xce, 0x4b,
	0xcc, 0x0b, 0xe1, 0xd2, 0xd3, 0xa3, 0x2b, 0x48, 0x96, 0x21, 0x0b, 0x3e, 0x99, 0x9f, 0x89, 0xcb,
	0x30, 0x37, 0x00, 0x2c, 0x99, 0xc9, 0x90, 0xb3, 0x03, 0x37, 0xc7, 0x5c, 0x75, 0x12, 0xce, 0x32,
	0x3d, 0x72, 0x04, 0x69, 0x9d, 0x35, 0x9c, 0x4e, 0xc3, 0xb2, 0x99, 0x6f, 0x66, 0x70, 0x6e, 0xa2,
	0x3f, 0xd6, 0x10, 0x73, 0x99, 0x46, 0x31, 0xc5, 0xc2, 0xf7, 0xf1, 0x9a, 0x8f, 0xb9, 0x2a, 0x86,
	0x4a, 0x7c, 0x1f, 0x86, 0x2c, 0x0e, 0xad, 0x54, 0xde, 0x0d, 0x3f, 0x83, 0xd4, 0xae, 0xcb, 0x0c,
	0xae, 0x4c, 0x23, 0x43, 0xb3, 0x23, 0x68, 0xaa, 0xb0, 0xa1, 0xc3, 0x7e, 0x13, 0x26, 0xbd, 0x84,
	0x94, 0x4c, 0xc2, 0x31, 0x56, 0x25, 0x2d, 0xf2, 0x7d, 0xc4, 0x5b, 0xa7, 0xab, 0x71, 0xd6, 0xf9,
	0x69, 0xf5, 0x17, 0x30, 0xa7, 0xb2, 0xea, 0x25, 0x90, 0xd5, 0xdd, 0x48, 0xd7, 0x62, 0x91, 0xfd,
	0x3c, 0xf9, 0x12, 0x52, 0x3a, 0xab, 0x3b, 0x0e, 0xff, 0xde, 0x6c, 0x76, 0x11, 0x4e, 0x00, 0xef,
	0x31, 0x9b, 0xf1, 0xef, 0xe0, 0x8c, 0xcd, 0x78, 0x60, 0x13, 0xe1, 0x48, 0x0f, 0xe6, 0xf6, 0x9c,
	0x37, 0x1d, 0xdb, 0x31, 0xcc, 0x52, 0xdb, 0x68, 0xb1, 0xc1, 0xbd, 0x82, 0x8f, 0xbe, 0x2c, 0xbf,
	0xe4, 0x13, 0x96, 0xbb, 0xcc, 0xc5, 0x76, 0xa1, 0x78, 0x55, 0xa0, 0x0f, 0x90, 0xe3, 0x36, 0xfd,
	0x28, 0x96, 0xc3, 0x12, 0x10, 0x35, 0x53, 0x61, 0x78, 0xc5, 0x77, 0xa2, 0x08, 0xff, 0x42, 0x04,
	0xf7, 0x4b, 0x0d, 0x96, 0x0f, 0x18, 0x0f, 0x71, 0xc8, 0xc6, 0x40, 0xb2, 0x01, 0x71, 0xc3, 0xf4,
	0x21, 0x1a, 0x70, 0x8f, 0xdc, 0xbd, 0x84, 0x01, 0x45, 0x4f, 0x32, 0xf5, 0xb0, 0x4c, 0x0a, 0xe1,
	0x5d, 0x92, 0x5d, 0x25, 0x19, 0x72, 0x99, 0xe5, 0x93, 0xa6, 0x2c, 0x02, 0x43, 0x48, 0xde, 0x50,
	0x44, 0xe3, 0xd8, 0x3c, 0xfa, 0x31, 0xd2, 0xdd, 0x20, 0x1f, 0x5c, 0x84, 0x8e, 0xbc, 0x85, 0xec,
	0xae, 0xa8, 0x67, 0xed, 0x0b, 0xae, 0x30, 0x36, 0xc0, 0x6a, 0x85, 0x9b, 0x97, 0x5a, 0xe1, 0x1f,
	0x35, 0xc8, 0x6e, 0x37, 0xb8, 0x75, 0x62, 0x70, 0x86, 0x2c, 0x32, 0x57, 0x5f, 0x92, 0x7a, 0x17,
	0xa9, 0x3f, 0xa1, 0x3f, 0xbc, 0x4c, 0x68, 0xe5, 0x70, 0x0f, 0xf9, 0xc4, 0x46, 0xfb, 0x83, 0x06,
	0x19, 0x9d, 0x9d, 0x30, 0x97, 0xff, 0x5f, 0x0c, 0x71, 0x91, 0x5a, 0x18, 0x52, 0x81, 0x85, 0xc1,
	0x4d, 0x10, 0xad, 0x97, 0xe7, 0x7c, 0x8b, 0x64, 0xa1, 0x4c, 0x91, 0x72, 0x8d, 0xe4, 0x63, 0x29,
	0x65, 0x81, 0xfc, 0x0a, 0xb2, 0x01, 0xc4, 0xf6, 0x2e, 0xbe, 0x82, 0x86, 0x51, 0x33, 0x7d, 0x54,
	0x5f, 0x4c, 0x6f, 0x22, 0xf2, 0x75, 0x72, 0x35, 0x1e, 0xb9, 0xad, 0x5e, 0x65, 0x3d, 0xd2, 0x81,
	0x25, 0xe9, 0xad, 0x61, 0x82, 0x28, 0x68, 0x62, 0x0a, 0x52, 0xd5, 0x1f, 0x3d, 0x8f, 0x4c, 0x38,
	0xe8, 0x28, 0xe8, 0xa0, 0x8b, 0x15, 0x97, 0x67, 0x7b, 0x49, 0x16, 0x95, 0x0c, 0x16, 0xc3, 0xb0,
	0x97, 0xa9, 0x6b, 0x36, 0x90, 0x80, 0x92, 0x6b, 0x89, 0x04, 0x7e, 0x3d, 0xf3, 0x79, 0xd0, 0x7a,
	0xd9, 0xb7, 0x4a, 0xba, 0xea, 0xb3, 0xd1, 0xde, 0x97, 0x97, 0x74, 0xaf, 0xca, 0xa6, 0x19, 0xd1,
	0xb1, 0x7b, 0x30, 0xd0, 0x1f, 0xf2, 0x4c, 0x04, 0x8f, 0x5e, 0x47, 0xb8, 0x55, 0x72, 0x25, 0x0e,
	0x4e, 0xde, 0xd5, 0x35, 0x48, 0x0f, 0x2c, 0x56, 0x4e, 0x49, 0x32, 0x79, 0x31, 0xa6, 0xd7, 0xe6,
	0xf9, 0xad, 0x03, 0xb2, 0x34, 0x44, 0xa2, 0x5c, 0xf2, 0x18, 0xd2, 0x55, 0xee, 0x32, 0xa3, 0x5d,
	0x31, 0x1a, 0xaf, 0x19, 0xf7, 0xca, 0x3d, 0x4e, 0x96, 0x43, 0x9e, 0x96, 0x82, 0x72, 0x8f, 0x27,
	0x6e, 0xa0, 0x91, 0x0d, 0x8d, 0xec, 0x63, 0xc9, 0xc3, 0xac, 0x13, 0xa6, 0x80, 0x4a, 0x9d, 0x33,
	0x7a, 0x07, 0x51, 0xfc, 0x52, 0x87, 0x8e, 0xdc, 0xd6, 0xc8, 0x13, 0xc8, 0x2a, 0x98, 0xdd, 0x63,
	0xa3, 0xd3, 0x62, 0xd8, 0xf1, 0x4b, 0x5e, 0x72, 0x2e, 0x84, 0x14, 0x98, 0x82, 0x60, 0x47, 0x30,
	0xdf, 0x0f, 0x88, 0xfc, 0xe8, 0x13, 0x2e, 0xca, 0xa3, 0xee, 0x4a, 0xda, 0xac, 0xca, 0x5b, 0x7e,
	0x4c, 0x32, 0xb2, 0x7e, 0x0a, 0x7e, 0x60, 0x88, 0xeb, 0x51, 0xe6, 0xe3, 0x06, 0xe9, 0x35, 0xa4,
	0xc8, 0xd3, 0x7e, 0x40, 0x42, 0x2d, 0x4f, 0x71, 0xc8, 0x5e, 0xa0, 0xdd, 0x41, 0xf4, 0xd8, 0x97,
	0xf6, 0xe0, 0x67, 0x83, 0xa8, 0xe1, 0x21, 0x54, 0x69, 0xb8, 0x09, 0x19, 0x99, 0x2c, 0xbe, 0x9b,
	0xe1, 0x1f, 0x22, 0xc5, 0xd5, 0xfc, 0x19, 0x14, 0xc2, 0x7a, 0x13, 0x32, 0xb2, 0x0a, 0x3a, 0x97,
	0x25, 0x69, 0x3f, 0xa9, 0xb5, 0x6c, 0x9e, 0xb5, 0x16, 0x75, 0x30, 0x42, 0x9f, 0x4e, 0xce, 0x3d,
	0x18, 0x21, 0x8f, 0x45, 0x0e, 0x46, 0x88, 0x85, 0x3c, 0xc5, 0x62, 0x1b, 0xaf, 0x1e, 0x2f, 0xbe,
	0xd8, 0x96, 0x32, 0xbf, 0x82, 0x23, 0xab, 0xc9, 0x17, 0x8f, 0x47, 0x3e, 0x83, 0x69, 0xbf, 0x25,
	0x1b, 0x02, 0xcb, 0x25, 0xf5, 0x76, 0xe9, 0x0d, 0x84, 0xbd, 0x46, 0xdf, 0x8b, 0x85, 0xf5, 0x98,
	0xdd, 0xac, 0x71, 0x81, 0xf6, 0x02, 0xeb, 0xa3, 0x50, 0x4b, 0x7b, 0xf8, 0xdd, 0x33, 0xd2, 0xf3,
	0x8e, 0x66, 0x1e, 0x71, 0x8c, 0x84, 0x9e, 0x7a, 0xe9, 0xb4, 0xea, 0xe4, 0x73, 0x20, 0x07, 0x8c,
	0x0f, 0x75, 0xb5, 0x87, 0x1a, 0x54, 0x71, 0x8d, 0xef, 0xa8, 0x3f, 0xc2, 0xd8, 0xd8, 0x43, 0x27,
	0x1e, 0xcc, 0x55, 0xad, 0x76, 0xcf, 0x36, 0x38, 0xc3, 0xf9, 0x64, 0xad, 0xef, 0x88, 0xe0, 0xb0,
	0xfa, 0x50, 0x94, 0x74, 0xe7, 0x47, 0x9a, 0x06, 0x61, 0x1f, 0x29, 0xa4, 0x9a, 0x40, 0x12, 0x3b,
	0x73, 0x17, 0x66, 0xfa, 0xed, 0x6b, 0x72, 0xc5, 0x27, 0x8c, 0x34, 0xb6, 0xf3, 0xc9, 0x22, 0x3a,
	0x42, 0x0e, 0x01, 0xe4, 0x1b, 0x0f, 0x36, 0x78, 0x52, 0xc1, 0x8a, 0x20, 0x71, 0x43, 0xab, 0x57,
	0x45, 0x3a, 0x2f, 0x6c, 0x1c, 0xcc, 0x56, 0x2f, 0xb3, 0xea, 0x3d, 0xe7, 0x12, 0x78, 0x83, 0x37,
	0xb2, 0x93, 0x3b, 0xc5, 0xc0, 0x74, 0x01, 0xf8, 0x19, 0xcc, 0x8a, 0xe4, 0xf1, 0x96, 0xbf, 0x30,
	0xec, 0x1e, 0x23, 0xcb, 0xbe, 0xe7, 0xf0, 0xb1, 0xda, 0x65, 0x0d, 0xab, 0x69, 0x31, 0x37, 0xbf,
	0xe8, 0x8f, 0xeb, 0x8c, 0xf7, 0xdc, 0x0e, 0x4a, 0x3d, 0xba, 0x8a, 0xc0, 0x4b, 0x24, 0xeb, 0x3b,
	0x34, 0x08, 0x75, 0x0c, 0xd9, 0x2a, 0x37, 0x5c, 0xee, 0x7f, 0xc5, 0x13, 0xc5, 0xa3, 0xd3, 0x21,
	0xfd, 0x0f, 0x9c, 0x43, 0x5f, 0xf7, 0x06, 0xc7, 0x2e, 0xb4, 0xaf, 0xd5, 0xe1, 0xa6, 0xfd, 0xbe,
	0xa8, 0x27, 0x30, 0x6b, 0xf8, 0x7d, 0x45, 0x6c, 0xe8, 0x87, 0xda, 0xe6, 0x8e, 0x0d, 0x59, 0xc7,
	0x6d, 0x61, 0x6e, 0x6f, 0x38, 0xae, 0xa9, 0x70, 0x76, 0x52, 0xb2, 0x73, 0x5d, 0xc1, 0x8f, 0xfc,
	0xbf, 0x2c, 0xb4, 0x2c, 0x7e, 0xdc, 0xab, 0x8b, 0x75, 0x14, 0x7d, 0x4d, 0xf5, 0x4b, 0x8a, 0x5b,
	0xfe, 0xef, 0x2a, 0xb6, 0x8a, 0x2d, 0x47, 0x8d, 0xfd, 0x7d, 0x74, 0xb9, 0xec, 0xe3, 0xbd, 0x08,
	0x36, 0xc2, 0x2b, 0xa3, 0x95, 0xb1, 0xca, 0x78, 0x65, 0xa2, 0x32, 0x59, 0x99, 0xaa, 0x4c, 0xd7,
	0x27, 0x71, 0xee, 0xd6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x17, 0x64, 0x56, 0xa3, 0x21,
	0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// VolthaServiceClient is the client API for VolthaService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type VolthaServiceClient interface {
	// Get the membership group of a Voltha Core
	GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error)
	// Set the membership group of a Voltha Core
	UpdateMembership(ctx context.Context, in *Membership, opts ...grpc.CallOption) (*empty.Empty, error)
	// Get high level information on the Voltha cluster
	GetVoltha(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Voltha, error)
	// List all Voltha cluster core instances
	ListCoreInstances(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreInstances, error)
	// Get details on a Voltha cluster instance
	GetCoreInstance(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*CoreInstance, error)
	// List all active adapters (plugins) in the Voltha cluster
	ListAdapters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Adapters, error)
	// List all logical devices managed by the Voltha cluster
	ListLogicalDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogicalDevices, error)
	// Get additional information on a given logical device
	GetLogicalDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalDevice, error)
	// List ports of a logical device
	ListLogicalDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalPorts, error)
	// Gets a logical device port
	GetLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*LogicalPort, error)
	// Enables a logical device port
	EnableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Disables a logical device port
	DisableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error)
	// List all flows of a logical device
	ListLogicalDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error)
	// Update flow table for logical device
	UpdateLogicalDeviceFlowTable(ctx context.Context, in *openflow_13.FlowTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
	// Update meter table for logical device
	UpdateLogicalDeviceMeterTable(ctx context.Context, in *openflow_13.MeterModUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
	// List all meters of a logical device
	ListLogicalDeviceMeters(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Meters, error)
	// List all flow groups of a logical device
	ListLogicalDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error)
	// Update group table for device
	UpdateLogicalDeviceFlowGroupTable(ctx context.Context, in *openflow_13.FlowGroupTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error)
	// List all physical devices controlled by the Voltha cluster
	ListDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Devices, error)
	// List all physical devices IDs controlled by the Voltha cluster
	ListDeviceIds(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.IDs, error)
	// Request to a voltha Core to reconcile a set of devices based on their IDs
	ReconcileDevices(ctx context.Context, in *common.IDs, opts ...grpc.CallOption) (*empty.Empty, error)
	// Get more information on a given physical device
	GetDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Device, error)
	// Pre-provision a new physical device
	CreateDevice(ctx context.Context, in *Device, opts ...grpc.CallOption) (*Device, error)
	// Enable a device.  If the device was in pre-provisioned state then it
	// will transition to ENABLED state.  If it was is DISABLED state then it
	// will transition to ENABLED state as well.
	EnableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
	// Disable a device
	DisableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
	// Reboot a device
	RebootDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete a device
	DeleteDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
	// Request an image download to the standby partition
	// of a device.
	// Note that the call is expected to be non-blocking.
	DownloadImage(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
	// Get image download status on a device
	// The request retrieves progress on device and updates db record
	GetImageDownloadStatus(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
	// Get image download db record
	GetImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
	// List image download db records for a given device
	ListImageDownloads(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*ImageDownloads, error)
	// Cancel an existing image download process on a device
	CancelImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
	// Activate the specified image at a standby partition
	// to active partition.
	// Depending on the device implementation, this call
	// may or may not cause device reboot.
	// If no reboot, then a reboot is required to make the
	// activated image running on device
	// Note that the call is expected to be non-blocking.
	ActivateImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
	// Revert the specified image at standby partition
	// to active partition, and revert to previous image
	// Depending on the device implementation, this call
	// may or may not cause device reboot.
	// If no reboot, then a reboot is required to make the
	// previous image running on device
	// Note that the call is expected to be non-blocking.
	RevertImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
	// List ports of a device
	ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error)
	// List pm config of a device
	ListDevicePmConfigs(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*PmConfigs, error)
	// Update the pm config of a device
	UpdateDevicePmConfigs(ctx context.Context, in *PmConfigs, opts ...grpc.CallOption) (*empty.Empty, error)
	// List all flows of a device
	ListDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error)
	// List all flow groups of a device
	ListDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error)
	// List device types known to Voltha
	ListDeviceTypes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceTypes, error)
	// Get additional information on a device type
	GetDeviceType(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceType, error)
	// List all device sharding groups
	ListDeviceGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceGroups, error)
	// Stream control packets to the dataplane
	StreamPacketsOut(ctx context.Context, opts ...grpc.CallOption) (VolthaService_StreamPacketsOutClient, error)
	// Receive control packet stream
	ReceivePacketsIn(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceivePacketsInClient, error)
	ReceiveChangeEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceiveChangeEventsClient, error)
	// Get additional information on a device group
	GetDeviceGroup(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceGroup, error)
	CreateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error)
	// Get all filters present for a device
	GetEventFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*EventFilters, error)
	UpdateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error)
	DeleteEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*empty.Empty, error)
	// Get all the filters present
	ListEventFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*EventFilters, error)
	GetImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Images, error)
	SelfTest(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*SelfTestResponse, error)
	// OpenOMCI MIB information
	GetMibDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.MibDeviceData, error)
	// OpenOMCI ALARM information
	GetAlarmDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.AlarmDeviceData, error)
	// Simulate an Alarm
	SimulateAlarm(ctx context.Context, in *SimulateAlarmRequest, opts ...grpc.CallOption) (*common.OperationResp, error)
	Subscribe(ctx context.Context, in *OfAgentSubscriber, opts ...grpc.CallOption) (*OfAgentSubscriber, error)
	EnablePort(ctx context.Context, in *Port, opts ...grpc.CallOption) (*empty.Empty, error)
	DisablePort(ctx context.Context, in *Port, opts ...grpc.CallOption) (*empty.Empty, error)
	GetExtValue(ctx context.Context, in *common.ValueSpecifier, opts ...grpc.CallOption) (*common.ReturnValues, error)
	// omci start and stop cli implementation
	StartOmciTestAction(ctx context.Context, in *OmciTestRequest, opts ...grpc.CallOption) (*TestResponse, error)
}

type volthaServiceClient struct {
	cc *grpc.ClientConn
}

func NewVolthaServiceClient(cc *grpc.ClientConn) VolthaServiceClient {
	return &volthaServiceClient{cc}
}

func (c *volthaServiceClient) GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error) {
	out := new(Membership)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetMembership", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateMembership(ctx context.Context, in *Membership, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateMembership", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetVoltha(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Voltha, error) {
	out := new(Voltha)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetVoltha", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListCoreInstances(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreInstances, error) {
	out := new(CoreInstances)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListCoreInstances", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetCoreInstance(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*CoreInstance, error) {
	out := new(CoreInstance)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetCoreInstance", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListAdapters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Adapters, error) {
	out := new(Adapters)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListAdapters", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListLogicalDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogicalDevices, error) {
	out := new(LogicalDevices)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDevices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetLogicalDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalDevice, error) {
	out := new(LogicalDevice)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogicalDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListLogicalDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*LogicalPorts, error) {
	out := new(LogicalPorts)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDevicePorts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*LogicalPort, error) {
	out := new(LogicalPort)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogicalDevicePort", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) EnableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/EnableLogicalDevicePort", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DisableLogicalDevicePort(ctx context.Context, in *LogicalPortId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DisableLogicalDevicePort", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListLogicalDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error) {
	out := new(openflow_13.Flows)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceFlows", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateLogicalDeviceFlowTable(ctx context.Context, in *openflow_13.FlowTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceFlowTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateLogicalDeviceMeterTable(ctx context.Context, in *openflow_13.MeterModUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceMeterTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListLogicalDeviceMeters(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Meters, error) {
	out := new(openflow_13.Meters)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceMeters", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListLogicalDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error) {
	out := new(openflow_13.FlowGroups)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListLogicalDeviceFlowGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateLogicalDeviceFlowGroupTable(ctx context.Context, in *openflow_13.FlowGroupTableUpdate, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogicalDeviceFlowGroupTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDevices(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Devices, error) {
	out := new(Devices)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDeviceIds(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.IDs, error) {
	out := new(common.IDs)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ReconcileDevices(ctx context.Context, in *common.IDs, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ReconcileDevices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Device, error) {
	out := new(Device)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) CreateDevice(ctx context.Context, in *Device, opts ...grpc.CallOption) (*Device, error) {
	out := new(Device)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) EnableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/EnableDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DisableDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DisableDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) RebootDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/RebootDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DeleteDevice(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DownloadImage(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
	out := new(common.OperationResp)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DownloadImage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetImageDownloadStatus(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error) {
	out := new(ImageDownload)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImageDownloadStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error) {
	out := new(ImageDownload)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImageDownload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListImageDownloads(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*ImageDownloads, error) {
	out := new(ImageDownloads)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListImageDownloads", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) CancelImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
	out := new(common.OperationResp)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/CancelImageDownload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ActivateImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
	out := new(common.OperationResp)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ActivateImageUpdate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) RevertImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error) {
	out := new(common.OperationResp)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/RevertImageUpdate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error) {
	out := new(Ports)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevicePorts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDevicePmConfigs(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*PmConfigs, error) {
	out := new(PmConfigs)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevicePmConfigs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateDevicePmConfigs(ctx context.Context, in *PmConfigs, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateDevicePmConfigs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDeviceFlows(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.Flows, error) {
	out := new(openflow_13.Flows)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceFlows", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDeviceFlowGroups(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*openflow_13.FlowGroups, error) {
	out := new(openflow_13.FlowGroups)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceFlowGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDeviceTypes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceTypes, error) {
	out := new(DeviceTypes)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetDeviceType(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceType, error) {
	out := new(DeviceType)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDeviceType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListDeviceGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*DeviceGroups, error) {
	out := new(DeviceGroups)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDeviceGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) StreamPacketsOut(ctx context.Context, opts ...grpc.CallOption) (VolthaService_StreamPacketsOutClient, error) {
	stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[0], "/voltha.VolthaService/StreamPacketsOut", opts...)
	if err != nil {
		return nil, err
	}
	x := &volthaServiceStreamPacketsOutClient{stream}
	return x, nil
}

type VolthaService_StreamPacketsOutClient interface {
	Send(*openflow_13.PacketOut) error
	CloseAndRecv() (*empty.Empty, error)
	grpc.ClientStream
}

type volthaServiceStreamPacketsOutClient struct {
	grpc.ClientStream
}

func (x *volthaServiceStreamPacketsOutClient) Send(m *openflow_13.PacketOut) error {
	return x.ClientStream.SendMsg(m)
}

func (x *volthaServiceStreamPacketsOutClient) CloseAndRecv() (*empty.Empty, error) {
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	m := new(empty.Empty)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *volthaServiceClient) ReceivePacketsIn(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceivePacketsInClient, error) {
	stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[1], "/voltha.VolthaService/ReceivePacketsIn", opts...)
	if err != nil {
		return nil, err
	}
	x := &volthaServiceReceivePacketsInClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type VolthaService_ReceivePacketsInClient interface {
	Recv() (*openflow_13.PacketIn, error)
	grpc.ClientStream
}

type volthaServiceReceivePacketsInClient struct {
	grpc.ClientStream
}

func (x *volthaServiceReceivePacketsInClient) Recv() (*openflow_13.PacketIn, error) {
	m := new(openflow_13.PacketIn)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *volthaServiceClient) ReceiveChangeEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceiveChangeEventsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_VolthaService_serviceDesc.Streams[2], "/voltha.VolthaService/ReceiveChangeEvents", opts...)
	if err != nil {
		return nil, err
	}
	x := &volthaServiceReceiveChangeEventsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type VolthaService_ReceiveChangeEventsClient interface {
	Recv() (*openflow_13.ChangeEvent, error)
	grpc.ClientStream
}

type volthaServiceReceiveChangeEventsClient struct {
	grpc.ClientStream
}

func (x *volthaServiceReceiveChangeEventsClient) Recv() (*openflow_13.ChangeEvent, error) {
	m := new(openflow_13.ChangeEvent)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *volthaServiceClient) GetDeviceGroup(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceGroup, error) {
	out := new(DeviceGroup)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetDeviceGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) CreateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error) {
	out := new(EventFilter)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateEventFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetEventFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*EventFilters, error) {
	out := new(EventFilters)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetEventFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) UpdateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error) {
	out := new(EventFilter)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateEventFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DeleteEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteEventFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) ListEventFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*EventFilters, error) {
	out := new(EventFilters)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListEventFilters", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Images, error) {
	out := new(Images)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImages", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) SelfTest(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*SelfTestResponse, error) {
	out := new(SelfTestResponse)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/SelfTest", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetMibDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.MibDeviceData, error) {
	out := new(omci.MibDeviceData)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetMibDeviceData", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetAlarmDeviceData(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*omci.AlarmDeviceData, error) {
	out := new(omci.AlarmDeviceData)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetAlarmDeviceData", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) SimulateAlarm(ctx context.Context, in *SimulateAlarmRequest, opts ...grpc.CallOption) (*common.OperationResp, error) {
	out := new(common.OperationResp)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/SimulateAlarm", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) Subscribe(ctx context.Context, in *OfAgentSubscriber, opts ...grpc.CallOption) (*OfAgentSubscriber, error) {
	out := new(OfAgentSubscriber)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/Subscribe", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) EnablePort(ctx context.Context, in *Port, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/EnablePort", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) DisablePort(ctx context.Context, in *Port, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/DisablePort", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) GetExtValue(ctx context.Context, in *common.ValueSpecifier, opts ...grpc.CallOption) (*common.ReturnValues, error) {
	out := new(common.ReturnValues)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetExtValue", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *volthaServiceClient) StartOmciTestAction(ctx context.Context, in *OmciTestRequest, opts ...grpc.CallOption) (*TestResponse, error) {
	out := new(TestResponse)
	err := c.cc.Invoke(ctx, "/voltha.VolthaService/StartOmciTestAction", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// VolthaServiceServer is the server API for VolthaService service.
type VolthaServiceServer interface {
	// Get the membership group of a Voltha Core
	GetMembership(context.Context, *empty.Empty) (*Membership, error)
	// Set the membership group of a Voltha Core
	UpdateMembership(context.Context, *Membership) (*empty.Empty, error)
	// Get high level information on the Voltha cluster
	GetVoltha(context.Context, *empty.Empty) (*Voltha, error)
	// List all Voltha cluster core instances
	ListCoreInstances(context.Context, *empty.Empty) (*CoreInstances, error)
	// Get details on a Voltha cluster instance
	GetCoreInstance(context.Context, *common.ID) (*CoreInstance, error)
	// List all active adapters (plugins) in the Voltha cluster
	ListAdapters(context.Context, *empty.Empty) (*Adapters, error)
	// List all logical devices managed by the Voltha cluster
	ListLogicalDevices(context.Context, *empty.Empty) (*LogicalDevices, error)
	// Get additional information on a given logical device
	GetLogicalDevice(context.Context, *common.ID) (*LogicalDevice, error)
	// List ports of a logical device
	ListLogicalDevicePorts(context.Context, *common.ID) (*LogicalPorts, error)
	// Gets a logical device port
	GetLogicalDevicePort(context.Context, *LogicalPortId) (*LogicalPort, error)
	// Enables a logical device port
	EnableLogicalDevicePort(context.Context, *LogicalPortId) (*empty.Empty, error)
	// Disables a logical device port
	DisableLogicalDevicePort(context.Context, *LogicalPortId) (*empty.Empty, error)
	// List all flows of a logical device
	ListLogicalDeviceFlows(context.Context, *common.ID) (*openflow_13.Flows, error)
	// Update flow table for logical device
	UpdateLogicalDeviceFlowTable(context.Context, *openflow_13.FlowTableUpdate) (*empty.Empty, error)
	// Update meter table for logical device
	UpdateLogicalDeviceMeterTable(context.Context, *openflow_13.MeterModUpdate) (*empty.Empty, error)
	// List all meters of a logical device
	ListLogicalDeviceMeters(context.Context, *common.ID) (*openflow_13.Meters, error)
	// List all flow groups of a logical device
	ListLogicalDeviceFlowGroups(context.Context, *common.ID) (*openflow_13.FlowGroups, error)
	// Update group table for device
	UpdateLogicalDeviceFlowGroupTable(context.Context, *openflow_13.FlowGroupTableUpdate) (*empty.Empty, error)
	// List all physical devices controlled by the Voltha cluster
	ListDevices(context.Context, *empty.Empty) (*Devices, error)
	// List all physical devices IDs controlled by the Voltha cluster
	ListDeviceIds(context.Context, *empty.Empty) (*common.IDs, error)
	// Request to a voltha Core to reconcile a set of devices based on their IDs
	ReconcileDevices(context.Context, *common.IDs) (*empty.Empty, error)
	// Get more information on a given physical device
	GetDevice(context.Context, *common.ID) (*Device, error)
	// Pre-provision a new physical device
	CreateDevice(context.Context, *Device) (*Device, error)
	// Enable a device.  If the device was in pre-provisioned state then it
	// will transition to ENABLED state.  If it was is DISABLED state then it
	// will transition to ENABLED state as well.
	EnableDevice(context.Context, *common.ID) (*empty.Empty, error)
	// Disable a device
	DisableDevice(context.Context, *common.ID) (*empty.Empty, error)
	// Reboot a device
	RebootDevice(context.Context, *common.ID) (*empty.Empty, error)
	// Delete a device
	DeleteDevice(context.Context, *common.ID) (*empty.Empty, error)
	// Request an image download to the standby partition
	// of a device.
	// Note that the call is expected to be non-blocking.
	DownloadImage(context.Context, *ImageDownload) (*common.OperationResp, error)
	// Get image download status on a device
	// The request retrieves progress on device and updates db record
	GetImageDownloadStatus(context.Context, *ImageDownload) (*ImageDownload, error)
	// Get image download db record
	GetImageDownload(context.Context, *ImageDownload) (*ImageDownload, error)
	// List image download db records for a given device
	ListImageDownloads(context.Context, *common.ID) (*ImageDownloads, error)
	// Cancel an existing image download process on a device
	CancelImageDownload(context.Context, *ImageDownload) (*common.OperationResp, error)
	// Activate the specified image at a standby partition
	// to active partition.
	// Depending on the device implementation, this call
	// may or may not cause device reboot.
	// If no reboot, then a reboot is required to make the
	// activated image running on device
	// Note that the call is expected to be non-blocking.
	ActivateImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
	// Revert the specified image at standby partition
	// to active partition, and revert to previous image
	// Depending on the device implementation, this call
	// may or may not cause device reboot.
	// If no reboot, then a reboot is required to make the
	// previous image running on device
	// Note that the call is expected to be non-blocking.
	RevertImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
	// List ports of a device
	ListDevicePorts(context.Context, *common.ID) (*Ports, error)
	// List pm config of a device
	ListDevicePmConfigs(context.Context, *common.ID) (*PmConfigs, error)
	// Update the pm config of a device
	UpdateDevicePmConfigs(context.Context, *PmConfigs) (*empty.Empty, error)
	// List all flows of a device
	ListDeviceFlows(context.Context, *common.ID) (*openflow_13.Flows, error)
	// List all flow groups of a device
	ListDeviceFlowGroups(context.Context, *common.ID) (*openflow_13.FlowGroups, error)
	// List device types known to Voltha
	ListDeviceTypes(context.Context, *empty.Empty) (*DeviceTypes, error)
	// Get additional information on a device type
	GetDeviceType(context.Context, *common.ID) (*DeviceType, error)
	// List all device sharding groups
	ListDeviceGroups(context.Context, *empty.Empty) (*DeviceGroups, error)
	// Stream control packets to the dataplane
	StreamPacketsOut(VolthaService_StreamPacketsOutServer) error
	// Receive control packet stream
	ReceivePacketsIn(*empty.Empty, VolthaService_ReceivePacketsInServer) error
	ReceiveChangeEvents(*empty.Empty, VolthaService_ReceiveChangeEventsServer) error
	// Get additional information on a device group
	GetDeviceGroup(context.Context, *common.ID) (*DeviceGroup, error)
	CreateEventFilter(context.Context, *EventFilter) (*EventFilter, error)
	// Get all filters present for a device
	GetEventFilter(context.Context, *common.ID) (*EventFilters, error)
	UpdateEventFilter(context.Context, *EventFilter) (*EventFilter, error)
	DeleteEventFilter(context.Context, *EventFilter) (*empty.Empty, error)
	// Get all the filters present
	ListEventFilters(context.Context, *empty.Empty) (*EventFilters, error)
	GetImages(context.Context, *common.ID) (*Images, error)
	SelfTest(context.Context, *common.ID) (*SelfTestResponse, error)
	// OpenOMCI MIB information
	GetMibDeviceData(context.Context, *common.ID) (*omci.MibDeviceData, error)
	// OpenOMCI ALARM information
	GetAlarmDeviceData(context.Context, *common.ID) (*omci.AlarmDeviceData, error)
	// Simulate an Alarm
	SimulateAlarm(context.Context, *SimulateAlarmRequest) (*common.OperationResp, error)
	Subscribe(context.Context, *OfAgentSubscriber) (*OfAgentSubscriber, error)
	EnablePort(context.Context, *Port) (*empty.Empty, error)
	DisablePort(context.Context, *Port) (*empty.Empty, error)
	GetExtValue(context.Context, *common.ValueSpecifier) (*common.ReturnValues, error)
	// omci start and stop cli implementation
	StartOmciTestAction(context.Context, *OmciTestRequest) (*TestResponse, error)
}

func RegisterVolthaServiceServer(s *grpc.Server, srv VolthaServiceServer) {
	s.RegisterService(&_VolthaService_serviceDesc, srv)
}

func _VolthaService_GetMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetMembership(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetMembership",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetMembership(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Membership)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateMembership(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateMembership",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateMembership(ctx, req.(*Membership))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetVoltha_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetVoltha(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetVoltha",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetVoltha(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListCoreInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListCoreInstances(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListCoreInstances",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListCoreInstances(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetCoreInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetCoreInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetCoreInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetCoreInstance(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListAdapters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListAdapters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListAdapters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListAdapters(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListLogicalDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListLogicalDevices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListLogicalDevices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListLogicalDevices(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetLogicalDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetLogicalDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetLogicalDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetLogicalDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListLogicalDevicePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListLogicalDevicePorts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListLogicalDevicePorts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListLogicalDevicePorts(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LogicalPortId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetLogicalDevicePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetLogicalDevicePort",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetLogicalDevicePort(ctx, req.(*LogicalPortId))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_EnableLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LogicalPortId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).EnableLogicalDevicePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/EnableLogicalDevicePort",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).EnableLogicalDevicePort(ctx, req.(*LogicalPortId))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DisableLogicalDevicePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LogicalPortId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DisableLogicalDevicePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DisableLogicalDevicePort",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DisableLogicalDevicePort(ctx, req.(*LogicalPortId))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListLogicalDeviceFlows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListLogicalDeviceFlows(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListLogicalDeviceFlows",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListLogicalDeviceFlows(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateLogicalDeviceFlowTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(openflow_13.FlowTableUpdate)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceFlowTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowTable(ctx, req.(*openflow_13.FlowTableUpdate))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateLogicalDeviceMeterTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(openflow_13.MeterModUpdate)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceMeterTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceMeterTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceMeterTable(ctx, req.(*openflow_13.MeterModUpdate))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListLogicalDeviceMeters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListLogicalDeviceMeters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListLogicalDeviceMeters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListLogicalDeviceMeters(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListLogicalDeviceFlowGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListLogicalDeviceFlowGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListLogicalDeviceFlowGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListLogicalDeviceFlowGroups(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateLogicalDeviceFlowGroupTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(openflow_13.FlowGroupTableUpdate)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowGroupTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateLogicalDeviceFlowGroupTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateLogicalDeviceFlowGroupTable(ctx, req.(*openflow_13.FlowGroupTableUpdate))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDevices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDevices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDevices(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDeviceIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDeviceIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDeviceIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDeviceIds(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ReconcileDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.IDs)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ReconcileDevices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ReconcileDevices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ReconcileDevices(ctx, req.(*common.IDs))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_CreateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Device)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).CreateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/CreateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).CreateDevice(ctx, req.(*Device))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_EnableDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).EnableDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/EnableDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).EnableDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DisableDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DisableDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DisableDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DisableDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_RebootDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).RebootDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/RebootDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).RebootDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DeleteDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DeleteDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DeleteDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DeleteDevice(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DownloadImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DownloadImage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DownloadImage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DownloadImage(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetImageDownloadStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetImageDownloadStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetImageDownloadStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetImageDownloadStatus(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetImageDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetImageDownload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetImageDownload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetImageDownload(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListImageDownloads_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListImageDownloads(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListImageDownloads",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListImageDownloads(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_CancelImageDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).CancelImageDownload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/CancelImageDownload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).CancelImageDownload(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ActivateImageUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ActivateImageUpdate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ActivateImageUpdate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ActivateImageUpdate(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_RevertImageUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImageDownload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).RevertImageUpdate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/RevertImageUpdate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).RevertImageUpdate(ctx, req.(*ImageDownload))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDevicePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDevicePorts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDevicePorts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDevicePorts(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDevicePmConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDevicePmConfigs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDevicePmConfigs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDevicePmConfigs(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateDevicePmConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PmConfigs)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateDevicePmConfigs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateDevicePmConfigs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateDevicePmConfigs(ctx, req.(*PmConfigs))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDeviceFlows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDeviceFlows(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDeviceFlows",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDeviceFlows(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDeviceFlowGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDeviceFlowGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDeviceFlowGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDeviceFlowGroups(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDeviceTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDeviceTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDeviceTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDeviceTypes(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetDeviceType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetDeviceType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetDeviceType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetDeviceType(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListDeviceGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListDeviceGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListDeviceGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListDeviceGroups(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_StreamPacketsOut_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(VolthaServiceServer).StreamPacketsOut(&volthaServiceStreamPacketsOutServer{stream})
}

type VolthaService_StreamPacketsOutServer interface {
	SendAndClose(*empty.Empty) error
	Recv() (*openflow_13.PacketOut, error)
	grpc.ServerStream
}

type volthaServiceStreamPacketsOutServer struct {
	grpc.ServerStream
}

func (x *volthaServiceStreamPacketsOutServer) SendAndClose(m *empty.Empty) error {
	return x.ServerStream.SendMsg(m)
}

func (x *volthaServiceStreamPacketsOutServer) Recv() (*openflow_13.PacketOut, error) {
	m := new(openflow_13.PacketOut)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _VolthaService_ReceivePacketsIn_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(empty.Empty)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(VolthaServiceServer).ReceivePacketsIn(m, &volthaServiceReceivePacketsInServer{stream})
}

type VolthaService_ReceivePacketsInServer interface {
	Send(*openflow_13.PacketIn) error
	grpc.ServerStream
}

type volthaServiceReceivePacketsInServer struct {
	grpc.ServerStream
}

func (x *volthaServiceReceivePacketsInServer) Send(m *openflow_13.PacketIn) error {
	return x.ServerStream.SendMsg(m)
}

func _VolthaService_ReceiveChangeEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(empty.Empty)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(VolthaServiceServer).ReceiveChangeEvents(m, &volthaServiceReceiveChangeEventsServer{stream})
}

type VolthaService_ReceiveChangeEventsServer interface {
	Send(*openflow_13.ChangeEvent) error
	grpc.ServerStream
}

type volthaServiceReceiveChangeEventsServer struct {
	grpc.ServerStream
}

func (x *volthaServiceReceiveChangeEventsServer) Send(m *openflow_13.ChangeEvent) error {
	return x.ServerStream.SendMsg(m)
}

func _VolthaService_GetDeviceGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetDeviceGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetDeviceGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetDeviceGroup(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_CreateEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EventFilter)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).CreateEventFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/CreateEventFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).CreateEventFilter(ctx, req.(*EventFilter))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetEventFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetEventFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetEventFilter(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_UpdateEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EventFilter)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).UpdateEventFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/UpdateEventFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).UpdateEventFilter(ctx, req.(*EventFilter))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DeleteEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EventFilter)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DeleteEventFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DeleteEventFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DeleteEventFilter(ctx, req.(*EventFilter))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_ListEventFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).ListEventFilters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/ListEventFilters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).ListEventFilters(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetImages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetImages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetImages(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_SelfTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).SelfTest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/SelfTest",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).SelfTest(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetMibDeviceData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetMibDeviceData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetMibDeviceData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetMibDeviceData(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetAlarmDeviceData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetAlarmDeviceData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetAlarmDeviceData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetAlarmDeviceData(ctx, req.(*common.ID))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_SimulateAlarm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SimulateAlarmRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).SimulateAlarm(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/SimulateAlarm",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).SimulateAlarm(ctx, req.(*SimulateAlarmRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_Subscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OfAgentSubscriber)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).Subscribe(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/Subscribe",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).Subscribe(ctx, req.(*OfAgentSubscriber))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_EnablePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Port)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).EnablePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/EnablePort",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).EnablePort(ctx, req.(*Port))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_DisablePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Port)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).DisablePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/DisablePort",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).DisablePort(ctx, req.(*Port))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_GetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(common.ValueSpecifier)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).GetExtValue(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/GetExtValue",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).GetExtValue(ctx, req.(*common.ValueSpecifier))
	}
	return interceptor(ctx, in, info, handler)
}

func _VolthaService_StartOmciTestAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OmciTestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VolthaServiceServer).StartOmciTestAction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/voltha.VolthaService/StartOmciTestAction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VolthaServiceServer).StartOmciTestAction(ctx, req.(*OmciTestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VolthaService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "voltha.VolthaService",
	HandlerType: (*VolthaServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetMembership",
			Handler:    _VolthaService_GetMembership_Handler,
		},
		{
			MethodName: "UpdateMembership",
			Handler:    _VolthaService_UpdateMembership_Handler,
		},
		{
			MethodName: "GetVoltha",
			Handler:    _VolthaService_GetVoltha_Handler,
		},
		{
			MethodName: "ListCoreInstances",
			Handler:    _VolthaService_ListCoreInstances_Handler,
		},
		{
			MethodName: "GetCoreInstance",
			Handler:    _VolthaService_GetCoreInstance_Handler,
		},
		{
			MethodName: "ListAdapters",
			Handler:    _VolthaService_ListAdapters_Handler,
		},
		{
			MethodName: "ListLogicalDevices",
			Handler:    _VolthaService_ListLogicalDevices_Handler,
		},
		{
			MethodName: "GetLogicalDevice",
			Handler:    _VolthaService_GetLogicalDevice_Handler,
		},
		{
			MethodName: "ListLogicalDevicePorts",
			Handler:    _VolthaService_ListLogicalDevicePorts_Handler,
		},
		{
			MethodName: "GetLogicalDevicePort",
			Handler:    _VolthaService_GetLogicalDevicePort_Handler,
		},
		{
			MethodName: "EnableLogicalDevicePort",
			Handler:    _VolthaService_EnableLogicalDevicePort_Handler,
		},
		{
			MethodName: "DisableLogicalDevicePort",
			Handler:    _VolthaService_DisableLogicalDevicePort_Handler,
		},
		{
			MethodName: "ListLogicalDeviceFlows",
			Handler:    _VolthaService_ListLogicalDeviceFlows_Handler,
		},
		{
			MethodName: "UpdateLogicalDeviceFlowTable",
			Handler:    _VolthaService_UpdateLogicalDeviceFlowTable_Handler,
		},
		{
			MethodName: "UpdateLogicalDeviceMeterTable",
			Handler:    _VolthaService_UpdateLogicalDeviceMeterTable_Handler,
		},
		{
			MethodName: "ListLogicalDeviceMeters",
			Handler:    _VolthaService_ListLogicalDeviceMeters_Handler,
		},
		{
			MethodName: "ListLogicalDeviceFlowGroups",
			Handler:    _VolthaService_ListLogicalDeviceFlowGroups_Handler,
		},
		{
			MethodName: "UpdateLogicalDeviceFlowGroupTable",
			Handler:    _VolthaService_UpdateLogicalDeviceFlowGroupTable_Handler,
		},
		{
			MethodName: "ListDevices",
			Handler:    _VolthaService_ListDevices_Handler,
		},
		{
			MethodName: "ListDeviceIds",
			Handler:    _VolthaService_ListDeviceIds_Handler,
		},
		{
			MethodName: "ReconcileDevices",
			Handler:    _VolthaService_ReconcileDevices_Handler,
		},
		{
			MethodName: "GetDevice",
			Handler:    _VolthaService_GetDevice_Handler,
		},
		{
			MethodName: "CreateDevice",
			Handler:    _VolthaService_CreateDevice_Handler,
		},
		{
			MethodName: "EnableDevice",
			Handler:    _VolthaService_EnableDevice_Handler,
		},
		{
			MethodName: "DisableDevice",
			Handler:    _VolthaService_DisableDevice_Handler,
		},
		{
			MethodName: "RebootDevice",
			Handler:    _VolthaService_RebootDevice_Handler,
		},
		{
			MethodName: "DeleteDevice",
			Handler:    _VolthaService_DeleteDevice_Handler,
		},
		{
			MethodName: "DownloadImage",
			Handler:    _VolthaService_DownloadImage_Handler,
		},
		{
			MethodName: "GetImageDownloadStatus",
			Handler:    _VolthaService_GetImageDownloadStatus_Handler,
		},
		{
			MethodName: "GetImageDownload",
			Handler:    _VolthaService_GetImageDownload_Handler,
		},
		{
			MethodName: "ListImageDownloads",
			Handler:    _VolthaService_ListImageDownloads_Handler,
		},
		{
			MethodName: "CancelImageDownload",
			Handler:    _VolthaService_CancelImageDownload_Handler,
		},
		{
			MethodName: "ActivateImageUpdate",
			Handler:    _VolthaService_ActivateImageUpdate_Handler,
		},
		{
			MethodName: "RevertImageUpdate",
			Handler:    _VolthaService_RevertImageUpdate_Handler,
		},
		{
			MethodName: "ListDevicePorts",
			Handler:    _VolthaService_ListDevicePorts_Handler,
		},
		{
			MethodName: "ListDevicePmConfigs",
			Handler:    _VolthaService_ListDevicePmConfigs_Handler,
		},
		{
			MethodName: "UpdateDevicePmConfigs",
			Handler:    _VolthaService_UpdateDevicePmConfigs_Handler,
		},
		{
			MethodName: "ListDeviceFlows",
			Handler:    _VolthaService_ListDeviceFlows_Handler,
		},
		{
			MethodName: "ListDeviceFlowGroups",
			Handler:    _VolthaService_ListDeviceFlowGroups_Handler,
		},
		{
			MethodName: "ListDeviceTypes",
			Handler:    _VolthaService_ListDeviceTypes_Handler,
		},
		{
			MethodName: "GetDeviceType",
			Handler:    _VolthaService_GetDeviceType_Handler,
		},
		{
			MethodName: "ListDeviceGroups",
			Handler:    _VolthaService_ListDeviceGroups_Handler,
		},
		{
			MethodName: "GetDeviceGroup",
			Handler:    _VolthaService_GetDeviceGroup_Handler,
		},
		{
			MethodName: "CreateEventFilter",
			Handler:    _VolthaService_CreateEventFilter_Handler,
		},
		{
			MethodName: "GetEventFilter",
			Handler:    _VolthaService_GetEventFilter_Handler,
		},
		{
			MethodName: "UpdateEventFilter",
			Handler:    _VolthaService_UpdateEventFilter_Handler,
		},
		{
			MethodName: "DeleteEventFilter",
			Handler:    _VolthaService_DeleteEventFilter_Handler,
		},
		{
			MethodName: "ListEventFilters",
			Handler:    _VolthaService_ListEventFilters_Handler,
		},
		{
			MethodName: "GetImages",
			Handler:    _VolthaService_GetImages_Handler,
		},
		{
			MethodName: "SelfTest",
			Handler:    _VolthaService_SelfTest_Handler,
		},
		{
			MethodName: "GetMibDeviceData",
			Handler:    _VolthaService_GetMibDeviceData_Handler,
		},
		{
			MethodName: "GetAlarmDeviceData",
			Handler:    _VolthaService_GetAlarmDeviceData_Handler,
		},
		{
			MethodName: "SimulateAlarm",
			Handler:    _VolthaService_SimulateAlarm_Handler,
		},
		{
			MethodName: "Subscribe",
			Handler:    _VolthaService_Subscribe_Handler,
		},
		{
			MethodName: "EnablePort",
			Handler:    _VolthaService_EnablePort_Handler,
		},
		{
			MethodName: "DisablePort",
			Handler:    _VolthaService_DisablePort_Handler,
		},
		{
			MethodName: "GetExtValue",
			Handler:    _VolthaService_GetExtValue_Handler,
		},
		{
			MethodName: "StartOmciTestAction",
			Handler:    _VolthaService_StartOmciTestAction_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamPacketsOut",
			Handler:       _VolthaService_StreamPacketsOut_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "ReceivePacketsIn",
			Handler:       _VolthaService_ReceivePacketsIn_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ReceiveChangeEvents",
			Handler:       _VolthaService_ReceiveChangeEvents_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "voltha_protos/voltha.proto",
}
