diff --git a/go/voltha/voltha.pb.go b/go/voltha/voltha.pb.go
index b0c42b0..0ddf204 100644
--- a/go/voltha/voltha.pb.go
+++ b/go/voltha/voltha.pb.go
@@ -1,20 +1,21 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: voltha_protos/voltha.proto
 
-package voltha // import "github.com/opencord/voltha-protos/go/voltha"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import empty "github.com/golang/protobuf/ptypes/empty"
-import common "github.com/opencord/voltha-protos/go/common"
-import omci "github.com/opencord/voltha-protos/go/omci"
-import openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
+package voltha
 
 import (
-	context "golang.org/x/net/context"
+	context "context"
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	empty "github.com/golang/protobuf/ptypes/empty"
+	common "github.com/opencord/voltha-protos/go/common"
+	omci "github.com/opencord/voltha-protos/go/omci"
+	openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
 	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+	math "math"
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -26,7 +27,7 @@
 // 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.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
 // ChildNode from public import voltha_protos/meta.proto
 type ChildNode = common.ChildNode
@@ -41,10 +42,8 @@
 const Access_READ_ONLY = Access(common.Access_READ_ONLY)
 const Access_REAL_TIME = Access(common.Access_REAL_TIME)
 
-// child_node from public import voltha_protos/meta.proto
 var E_ChildNode = common.E_ChildNode
 
-// access from public import voltha_protos/meta.proto
 var E_Access = common.E_Access
 
 // ID from public import voltha_protos/common.proto
@@ -76,7 +75,7 @@
 
 const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
 
-// LogLevel from public import voltha_protos/common.proto
+// LogLevel_LogLevel from public import voltha_protos/common.proto
 type LogLevel_LogLevel = common.LogLevel_LogLevel
 
 var LogLevel_LogLevel_name = common.LogLevel_LogLevel_name
@@ -89,7 +88,7 @@
 const LogLevel_CRITICAL = LogLevel_LogLevel(common.LogLevel_CRITICAL)
 const LogLevel_FATAL = LogLevel_LogLevel(common.LogLevel_FATAL)
 
-// AdminState from public import voltha_protos/common.proto
+// AdminState_AdminState from public import voltha_protos/common.proto
 type AdminState_AdminState = common.AdminState_AdminState
 
 var AdminState_AdminState_name = common.AdminState_AdminState_name
@@ -102,7 +101,7 @@
 const AdminState_DOWNLOADING_IMAGE = AdminState_AdminState(common.AdminState_DOWNLOADING_IMAGE)
 const AdminState_DELETED = AdminState_AdminState(common.AdminState_DELETED)
 
-// OperStatus from public import voltha_protos/common.proto
+// OperStatus_OperStatus from public import voltha_protos/common.proto
 type OperStatus_OperStatus = common.OperStatus_OperStatus
 
 var OperStatus_OperStatus_name = common.OperStatus_OperStatus_name
@@ -115,7 +114,7 @@
 const OperStatus_ACTIVE = OperStatus_OperStatus(common.OperStatus_ACTIVE)
 const OperStatus_FAILED = OperStatus_OperStatus(common.OperStatus_FAILED)
 
-// ConnectStatus from public import voltha_protos/common.proto
+// ConnectStatus_ConnectStatus from public import voltha_protos/common.proto
 type ConnectStatus_ConnectStatus = common.ConnectStatus_ConnectStatus
 
 var ConnectStatus_ConnectStatus_name = common.ConnectStatus_ConnectStatus_name
@@ -125,7 +124,7 @@
 const ConnectStatus_UNREACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_UNREACHABLE)
 const ConnectStatus_REACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_REACHABLE)
 
-// OperationReturnCode from public import voltha_protos/common.proto
+// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
 type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode
 
 var OperationResp_OperationReturnCode_name = common.OperationResp_OperationReturnCode_name
@@ -135,110 +134,46 @@
 const OperationResp_OPERATION_FAILURE = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_FAILURE)
 const OperationResp_OPERATION_UNSUPPORTED = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_UNSUPPORTED)
 
-// Ignoring public import of HealthStatus from voltha_protos/health.proto
-
-// Ignoring public import of HealthState from voltha_protos/health.proto
-
-// Ignoring public import of LogicalPortId from voltha_protos/logical_device.proto
-
-// Ignoring public import of LogicalPort from voltha_protos/logical_device.proto
-
-// Ignoring public import of LogicalPorts from voltha_protos/logical_device.proto
-
-// Ignoring public import of LogicalDevice from voltha_protos/logical_device.proto
-
-// Ignoring public import of LogicalDevices from voltha_protos/logical_device.proto
-
-// Ignoring public import of DeviceType from voltha_protos/device.proto
-
-// Ignoring public import of DeviceTypes from voltha_protos/device.proto
-
-// Ignoring public import of PmConfig from voltha_protos/device.proto
-
-// Ignoring public import of PmGroupConfig from voltha_protos/device.proto
-
-// Ignoring public import of PmConfigs from voltha_protos/device.proto
-
-// Ignoring public import of Image from voltha_protos/device.proto
-
-// Ignoring public import of Images from voltha_protos/device.proto
-
-// Ignoring public import of ImageDownload from voltha_protos/device.proto
-
-// Ignoring public import of ImageDownloads from voltha_protos/device.proto
-
-// Ignoring public import of Port from voltha_protos/device.proto
-
-// Ignoring public import of PeerPort from voltha_protos/device.proto
-
-// Ignoring public import of Ports from voltha_protos/device.proto
-
-// Ignoring public import of Device from voltha_protos/device.proto
-
-// Ignoring public import of ProxyAddress from voltha_protos/device.proto
-
-// Ignoring public import of Devices from voltha_protos/device.proto
-
-// Ignoring public import of SimulateAlarmRequest from voltha_protos/device.proto
-
-// Ignoring public import of PmType from voltha_protos/device.proto
-
-// Ignoring public import of ImageDownloadState from voltha_protos/device.proto
-
-// Ignoring public import of ImageDownloadFailureReason from voltha_protos/device.proto
-
-// Ignoring public import of ImageActivateState from voltha_protos/device.proto
-
-// Ignoring public import of PortType from voltha_protos/device.proto
-
-// Ignoring public import of OperationType from voltha_protos/device.proto
-
-// Ignoring public import of AdapterConfig from voltha_protos/adapter.proto
-
-// Ignoring public import of Adapter from voltha_protos/adapter.proto
-
-// Ignoring public import of Adapters from voltha_protos/adapter.proto
-
-// ofp_header from public import voltha_protos/openflow_13.proto
+// OfpHeader from public import voltha_protos/openflow_13.proto
 type OfpHeader = openflow_13.OfpHeader
 
-// ofp_hello_elem_header from public import voltha_protos/openflow_13.proto
+// OfpHelloElemHeader from public import voltha_protos/openflow_13.proto
 type OfpHelloElemHeader = openflow_13.OfpHelloElemHeader
 type OfpHelloElemHeader_Versionbitmap = openflow_13.OfpHelloElemHeader_Versionbitmap
 
-// ofp_hello_elem_versionbitmap from public import voltha_protos/openflow_13.proto
+// OfpHelloElemVersionbitmap from public import voltha_protos/openflow_13.proto
 type OfpHelloElemVersionbitmap = openflow_13.OfpHelloElemVersionbitmap
 
-// ofp_hello from public import voltha_protos/openflow_13.proto
+// OfpHello from public import voltha_protos/openflow_13.proto
 type OfpHello = openflow_13.OfpHello
 
-// ofp_switch_config from public import voltha_protos/openflow_13.proto
+// OfpSwitchConfig from public import voltha_protos/openflow_13.proto
 type OfpSwitchConfig = openflow_13.OfpSwitchConfig
 
-// ofp_table_mod from public import voltha_protos/openflow_13.proto
+// OfpTableMod from public import voltha_protos/openflow_13.proto
 type OfpTableMod = openflow_13.OfpTableMod
 
-// ofp_port from public import voltha_protos/openflow_13.proto
+// OfpPort from public import voltha_protos/openflow_13.proto
 type OfpPort = openflow_13.OfpPort
 
-// ofp_switch_features from public import voltha_protos/openflow_13.proto
+// OfpSwitchFeatures from public import voltha_protos/openflow_13.proto
 type OfpSwitchFeatures = openflow_13.OfpSwitchFeatures
 
-// ofp_port_status from public import voltha_protos/openflow_13.proto
+// OfpPortStatus from public import voltha_protos/openflow_13.proto
 type OfpPortStatus = openflow_13.OfpPortStatus
 
-// ofp_port_mod from public import voltha_protos/openflow_13.proto
+// OfpPortMod from public import voltha_protos/openflow_13.proto
 type OfpPortMod = openflow_13.OfpPortMod
 
-// ofp_match from public import voltha_protos/openflow_13.proto
+// OfpMatch from public import voltha_protos/openflow_13.proto
 type OfpMatch = openflow_13.OfpMatch
 
-// ofp_oxm_field from public import voltha_protos/openflow_13.proto
+// 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
 
-// ofp_oxm_ofb_field from public import voltha_protos/openflow_13.proto
+// 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
@@ -295,10 +230,10 @@
 type OfpOxmOfbField_TunnelIdMask = openflow_13.OfpOxmOfbField_TunnelIdMask
 type OfpOxmOfbField_Ipv6ExthdrMask = openflow_13.OfpOxmOfbField_Ipv6ExthdrMask
 
-// ofp_oxm_experimenter_field from public import voltha_protos/openflow_13.proto
+// OfpOxmExperimenterField from public import voltha_protos/openflow_13.proto
 type OfpOxmExperimenterField = openflow_13.OfpOxmExperimenterField
 
-// ofp_action from public import voltha_protos/openflow_13.proto
+// 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
@@ -309,31 +244,31 @@
 type OfpAction_SetField = openflow_13.OfpAction_SetField
 type OfpAction_Experimenter = openflow_13.OfpAction_Experimenter
 
-// ofp_action_output from public import voltha_protos/openflow_13.proto
+// OfpActionOutput from public import voltha_protos/openflow_13.proto
 type OfpActionOutput = openflow_13.OfpActionOutput
 
-// ofp_action_mpls_ttl from public import voltha_protos/openflow_13.proto
+// OfpActionMplsTtl from public import voltha_protos/openflow_13.proto
 type OfpActionMplsTtl = openflow_13.OfpActionMplsTtl
 
-// ofp_action_push from public import voltha_protos/openflow_13.proto
+// OfpActionPush from public import voltha_protos/openflow_13.proto
 type OfpActionPush = openflow_13.OfpActionPush
 
-// ofp_action_pop_mpls from public import voltha_protos/openflow_13.proto
+// OfpActionPopMpls from public import voltha_protos/openflow_13.proto
 type OfpActionPopMpls = openflow_13.OfpActionPopMpls
 
-// ofp_action_group from public import voltha_protos/openflow_13.proto
+// OfpActionGroup from public import voltha_protos/openflow_13.proto
 type OfpActionGroup = openflow_13.OfpActionGroup
 
-// ofp_action_nw_ttl from public import voltha_protos/openflow_13.proto
+// OfpActionNwTtl from public import voltha_protos/openflow_13.proto
 type OfpActionNwTtl = openflow_13.OfpActionNwTtl
 
-// ofp_action_set_field from public import voltha_protos/openflow_13.proto
+// OfpActionSetField from public import voltha_protos/openflow_13.proto
 type OfpActionSetField = openflow_13.OfpActionSetField
 
-// ofp_action_experimenter from public import voltha_protos/openflow_13.proto
+// OfpActionExperimenter from public import voltha_protos/openflow_13.proto
 type OfpActionExperimenter = openflow_13.OfpActionExperimenter
 
-// ofp_instruction from public import voltha_protos/openflow_13.proto
+// 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
@@ -341,85 +276,85 @@
 type OfpInstruction_Meter = openflow_13.OfpInstruction_Meter
 type OfpInstruction_Experimenter = openflow_13.OfpInstruction_Experimenter
 
-// ofp_instruction_goto_table from public import voltha_protos/openflow_13.proto
+// OfpInstructionGotoTable from public import voltha_protos/openflow_13.proto
 type OfpInstructionGotoTable = openflow_13.OfpInstructionGotoTable
 
-// ofp_instruction_write_metadata from public import voltha_protos/openflow_13.proto
+// OfpInstructionWriteMetadata from public import voltha_protos/openflow_13.proto
 type OfpInstructionWriteMetadata = openflow_13.OfpInstructionWriteMetadata
 
-// ofp_instruction_actions from public import voltha_protos/openflow_13.proto
+// OfpInstructionActions from public import voltha_protos/openflow_13.proto
 type OfpInstructionActions = openflow_13.OfpInstructionActions
 
-// ofp_instruction_meter from public import voltha_protos/openflow_13.proto
+// OfpInstructionMeter from public import voltha_protos/openflow_13.proto
 type OfpInstructionMeter = openflow_13.OfpInstructionMeter
 
-// ofp_instruction_experimenter from public import voltha_protos/openflow_13.proto
+// OfpInstructionExperimenter from public import voltha_protos/openflow_13.proto
 type OfpInstructionExperimenter = openflow_13.OfpInstructionExperimenter
 
-// ofp_flow_mod from public import voltha_protos/openflow_13.proto
+// OfpFlowMod from public import voltha_protos/openflow_13.proto
 type OfpFlowMod = openflow_13.OfpFlowMod
 
-// ofp_bucket from public import voltha_protos/openflow_13.proto
+// OfpBucket from public import voltha_protos/openflow_13.proto
 type OfpBucket = openflow_13.OfpBucket
 
-// ofp_group_mod from public import voltha_protos/openflow_13.proto
+// OfpGroupMod from public import voltha_protos/openflow_13.proto
 type OfpGroupMod = openflow_13.OfpGroupMod
 
-// ofp_packet_out from public import voltha_protos/openflow_13.proto
+// OfpPacketOut from public import voltha_protos/openflow_13.proto
 type OfpPacketOut = openflow_13.OfpPacketOut
 
-// ofp_packet_in from public import voltha_protos/openflow_13.proto
+// OfpPacketIn from public import voltha_protos/openflow_13.proto
 type OfpPacketIn = openflow_13.OfpPacketIn
 
-// ofp_flow_removed from public import voltha_protos/openflow_13.proto
+// OfpFlowRemoved from public import voltha_protos/openflow_13.proto
 type OfpFlowRemoved = openflow_13.OfpFlowRemoved
 
-// ofp_meter_band_header from public import voltha_protos/openflow_13.proto
+// 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
 
-// ofp_meter_band_drop from public import voltha_protos/openflow_13.proto
+// OfpMeterBandDrop from public import voltha_protos/openflow_13.proto
 type OfpMeterBandDrop = openflow_13.OfpMeterBandDrop
 
-// ofp_meter_band_dscp_remark from public import voltha_protos/openflow_13.proto
+// OfpMeterBandDscpRemark from public import voltha_protos/openflow_13.proto
 type OfpMeterBandDscpRemark = openflow_13.OfpMeterBandDscpRemark
 
-// ofp_meter_band_experimenter from public import voltha_protos/openflow_13.proto
+// OfpMeterBandExperimenter from public import voltha_protos/openflow_13.proto
 type OfpMeterBandExperimenter = openflow_13.OfpMeterBandExperimenter
 
-// ofp_meter_mod from public import voltha_protos/openflow_13.proto
+// OfpMeterMod from public import voltha_protos/openflow_13.proto
 type OfpMeterMod = openflow_13.OfpMeterMod
 
-// ofp_error_msg from public import voltha_protos/openflow_13.proto
+// OfpErrorMsg from public import voltha_protos/openflow_13.proto
 type OfpErrorMsg = openflow_13.OfpErrorMsg
 
-// ofp_error_experimenter_msg from public import voltha_protos/openflow_13.proto
+// OfpErrorExperimenterMsg from public import voltha_protos/openflow_13.proto
 type OfpErrorExperimenterMsg = openflow_13.OfpErrorExperimenterMsg
 
-// ofp_multipart_request from public import voltha_protos/openflow_13.proto
+// OfpMultipartRequest from public import voltha_protos/openflow_13.proto
 type OfpMultipartRequest = openflow_13.OfpMultipartRequest
 
-// ofp_multipart_reply from public import voltha_protos/openflow_13.proto
+// OfpMultipartReply from public import voltha_protos/openflow_13.proto
 type OfpMultipartReply = openflow_13.OfpMultipartReply
 
-// ofp_desc from public import voltha_protos/openflow_13.proto
+// OfpDesc from public import voltha_protos/openflow_13.proto
 type OfpDesc = openflow_13.OfpDesc
 
-// ofp_flow_stats_request from public import voltha_protos/openflow_13.proto
+// OfpFlowStatsRequest from public import voltha_protos/openflow_13.proto
 type OfpFlowStatsRequest = openflow_13.OfpFlowStatsRequest
 
-// ofp_flow_stats from public import voltha_protos/openflow_13.proto
+// OfpFlowStats from public import voltha_protos/openflow_13.proto
 type OfpFlowStats = openflow_13.OfpFlowStats
 
-// ofp_aggregate_stats_request from public import voltha_protos/openflow_13.proto
+// OfpAggregateStatsRequest from public import voltha_protos/openflow_13.proto
 type OfpAggregateStatsRequest = openflow_13.OfpAggregateStatsRequest
 
-// ofp_aggregate_stats_reply from public import voltha_protos/openflow_13.proto
+// OfpAggregateStatsReply from public import voltha_protos/openflow_13.proto
 type OfpAggregateStatsReply = openflow_13.OfpAggregateStatsReply
 
-// ofp_table_feature_property from public import voltha_protos/openflow_13.proto
+// 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
@@ -427,106 +362,106 @@
 type OfpTableFeatureProperty_Oxm = openflow_13.OfpTableFeatureProperty_Oxm
 type OfpTableFeatureProperty_Experimenter = openflow_13.OfpTableFeatureProperty_Experimenter
 
-// ofp_table_feature_prop_instructions from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropInstructions from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropInstructions = openflow_13.OfpTableFeaturePropInstructions
 
-// ofp_table_feature_prop_next_tables from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropNextTables from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropNextTables = openflow_13.OfpTableFeaturePropNextTables
 
-// ofp_table_feature_prop_actions from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropActions from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropActions = openflow_13.OfpTableFeaturePropActions
 
-// ofp_table_feature_prop_oxm from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropOxm from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropOxm = openflow_13.OfpTableFeaturePropOxm
 
-// ofp_table_feature_prop_experimenter from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropExperimenter from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropExperimenter = openflow_13.OfpTableFeaturePropExperimenter
 
-// ofp_table_features from public import voltha_protos/openflow_13.proto
+// OfpTableFeatures from public import voltha_protos/openflow_13.proto
 type OfpTableFeatures = openflow_13.OfpTableFeatures
 
-// ofp_table_stats from public import voltha_protos/openflow_13.proto
+// OfpTableStats from public import voltha_protos/openflow_13.proto
 type OfpTableStats = openflow_13.OfpTableStats
 
-// ofp_port_stats_request from public import voltha_protos/openflow_13.proto
+// OfpPortStatsRequest from public import voltha_protos/openflow_13.proto
 type OfpPortStatsRequest = openflow_13.OfpPortStatsRequest
 
-// ofp_port_stats from public import voltha_protos/openflow_13.proto
+// OfpPortStats from public import voltha_protos/openflow_13.proto
 type OfpPortStats = openflow_13.OfpPortStats
 
-// ofp_group_stats_request from public import voltha_protos/openflow_13.proto
+// OfpGroupStatsRequest from public import voltha_protos/openflow_13.proto
 type OfpGroupStatsRequest = openflow_13.OfpGroupStatsRequest
 
-// ofp_bucket_counter from public import voltha_protos/openflow_13.proto
+// OfpBucketCounter from public import voltha_protos/openflow_13.proto
 type OfpBucketCounter = openflow_13.OfpBucketCounter
 
-// ofp_group_stats from public import voltha_protos/openflow_13.proto
+// OfpGroupStats from public import voltha_protos/openflow_13.proto
 type OfpGroupStats = openflow_13.OfpGroupStats
 
-// ofp_group_desc from public import voltha_protos/openflow_13.proto
+// OfpGroupDesc from public import voltha_protos/openflow_13.proto
 type OfpGroupDesc = openflow_13.OfpGroupDesc
 
-// ofp_group_entry from public import voltha_protos/openflow_13.proto
+// OfpGroupEntry from public import voltha_protos/openflow_13.proto
 type OfpGroupEntry = openflow_13.OfpGroupEntry
 
-// ofp_group_features from public import voltha_protos/openflow_13.proto
+// OfpGroupFeatures from public import voltha_protos/openflow_13.proto
 type OfpGroupFeatures = openflow_13.OfpGroupFeatures
 
-// ofp_meter_multipart_request from public import voltha_protos/openflow_13.proto
+// OfpMeterMultipartRequest from public import voltha_protos/openflow_13.proto
 type OfpMeterMultipartRequest = openflow_13.OfpMeterMultipartRequest
 
-// ofp_meter_band_stats from public import voltha_protos/openflow_13.proto
+// OfpMeterBandStats from public import voltha_protos/openflow_13.proto
 type OfpMeterBandStats = openflow_13.OfpMeterBandStats
 
-// ofp_meter_stats from public import voltha_protos/openflow_13.proto
+// OfpMeterStats from public import voltha_protos/openflow_13.proto
 type OfpMeterStats = openflow_13.OfpMeterStats
 
-// ofp_meter_config from public import voltha_protos/openflow_13.proto
+// OfpMeterConfig from public import voltha_protos/openflow_13.proto
 type OfpMeterConfig = openflow_13.OfpMeterConfig
 
-// ofp_meter_features from public import voltha_protos/openflow_13.proto
+// OfpMeterFeatures from public import voltha_protos/openflow_13.proto
 type OfpMeterFeatures = openflow_13.OfpMeterFeatures
 
-// ofp_experimenter_multipart_header from public import voltha_protos/openflow_13.proto
+// OfpExperimenterMultipartHeader from public import voltha_protos/openflow_13.proto
 type OfpExperimenterMultipartHeader = openflow_13.OfpExperimenterMultipartHeader
 
-// ofp_experimenter_header from public import voltha_protos/openflow_13.proto
+// OfpExperimenterHeader from public import voltha_protos/openflow_13.proto
 type OfpExperimenterHeader = openflow_13.OfpExperimenterHeader
 
-// ofp_queue_prop_header from public import voltha_protos/openflow_13.proto
+// OfpQueuePropHeader from public import voltha_protos/openflow_13.proto
 type OfpQueuePropHeader = openflow_13.OfpQueuePropHeader
 
-// ofp_queue_prop_min_rate from public import voltha_protos/openflow_13.proto
+// OfpQueuePropMinRate from public import voltha_protos/openflow_13.proto
 type OfpQueuePropMinRate = openflow_13.OfpQueuePropMinRate
 
-// ofp_queue_prop_max_rate from public import voltha_protos/openflow_13.proto
+// OfpQueuePropMaxRate from public import voltha_protos/openflow_13.proto
 type OfpQueuePropMaxRate = openflow_13.OfpQueuePropMaxRate
 
-// ofp_queue_prop_experimenter from public import voltha_protos/openflow_13.proto
+// OfpQueuePropExperimenter from public import voltha_protos/openflow_13.proto
 type OfpQueuePropExperimenter = openflow_13.OfpQueuePropExperimenter
 
-// ofp_packet_queue from public import voltha_protos/openflow_13.proto
+// OfpPacketQueue from public import voltha_protos/openflow_13.proto
 type OfpPacketQueue = openflow_13.OfpPacketQueue
 
-// ofp_queue_get_config_request from public import voltha_protos/openflow_13.proto
+// OfpQueueGetConfigRequest from public import voltha_protos/openflow_13.proto
 type OfpQueueGetConfigRequest = openflow_13.OfpQueueGetConfigRequest
 
-// ofp_queue_get_config_reply from public import voltha_protos/openflow_13.proto
+// OfpQueueGetConfigReply from public import voltha_protos/openflow_13.proto
 type OfpQueueGetConfigReply = openflow_13.OfpQueueGetConfigReply
 
-// ofp_action_set_queue from public import voltha_protos/openflow_13.proto
+// OfpActionSetQueue from public import voltha_protos/openflow_13.proto
 type OfpActionSetQueue = openflow_13.OfpActionSetQueue
 
-// ofp_queue_stats_request from public import voltha_protos/openflow_13.proto
+// OfpQueueStatsRequest from public import voltha_protos/openflow_13.proto
 type OfpQueueStatsRequest = openflow_13.OfpQueueStatsRequest
 
-// ofp_queue_stats from public import voltha_protos/openflow_13.proto
+// OfpQueueStats from public import voltha_protos/openflow_13.proto
 type OfpQueueStats = openflow_13.OfpQueueStats
 
-// ofp_role_request from public import voltha_protos/openflow_13.proto
+// OfpRoleRequest from public import voltha_protos/openflow_13.proto
 type OfpRoleRequest = openflow_13.OfpRoleRequest
 
-// ofp_async_config from public import voltha_protos/openflow_13.proto
+// OfpAsyncConfig from public import voltha_protos/openflow_13.proto
 type OfpAsyncConfig = openflow_13.OfpAsyncConfig
 
 // MeterModUpdate from public import voltha_protos/openflow_13.proto
@@ -566,7 +501,7 @@
 type ChangeEvent = openflow_13.ChangeEvent
 type ChangeEvent_PortStatus = openflow_13.ChangeEvent_PortStatus
 
-// ofp_port_no from public import voltha_protos/openflow_13.proto
+// OfpPortNo from public import voltha_protos/openflow_13.proto
 type OfpPortNo = openflow_13.OfpPortNo
 
 var OfpPortNo_name = openflow_13.OfpPortNo_name
@@ -583,7 +518,7 @@
 const OfpPortNo_OFPP_LOCAL = OfpPortNo(openflow_13.OfpPortNo_OFPP_LOCAL)
 const OfpPortNo_OFPP_ANY = OfpPortNo(openflow_13.OfpPortNo_OFPP_ANY)
 
-// ofp_type from public import voltha_protos/openflow_13.proto
+// OfpType from public import voltha_protos/openflow_13.proto
 type OfpType = openflow_13.OfpType
 
 var OfpType_name = openflow_13.OfpType_name
@@ -620,7 +555,7 @@
 const OfpType_OFPT_SET_ASYNC = OfpType(openflow_13.OfpType_OFPT_SET_ASYNC)
 const OfpType_OFPT_METER_MOD = OfpType(openflow_13.OfpType_OFPT_METER_MOD)
 
-// ofp_hello_elem_type from public import voltha_protos/openflow_13.proto
+// OfpHelloElemType from public import voltha_protos/openflow_13.proto
 type OfpHelloElemType = openflow_13.OfpHelloElemType
 
 var OfpHelloElemType_name = openflow_13.OfpHelloElemType_name
@@ -629,7 +564,7 @@
 const OfpHelloElemType_OFPHET_INVALID = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_INVALID)
 const OfpHelloElemType_OFPHET_VERSIONBITMAP = OfpHelloElemType(openflow_13.OfpHelloElemType_OFPHET_VERSIONBITMAP)
 
-// ofp_config_flags from public import voltha_protos/openflow_13.proto
+// OfpConfigFlags from public import voltha_protos/openflow_13.proto
 type OfpConfigFlags = openflow_13.OfpConfigFlags
 
 var OfpConfigFlags_name = openflow_13.OfpConfigFlags_name
@@ -640,7 +575,7 @@
 const OfpConfigFlags_OFPC_FRAG_REASM = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_REASM)
 const OfpConfigFlags_OFPC_FRAG_MASK = OfpConfigFlags(openflow_13.OfpConfigFlags_OFPC_FRAG_MASK)
 
-// ofp_table_config from public import voltha_protos/openflow_13.proto
+// OfpTableConfig from public import voltha_protos/openflow_13.proto
 type OfpTableConfig = openflow_13.OfpTableConfig
 
 var OfpTableConfig_name = openflow_13.OfpTableConfig_name
@@ -649,7 +584,7 @@
 const OfpTableConfig_OFPTC_INVALID = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_INVALID)
 const OfpTableConfig_OFPTC_DEPRECATED_MASK = OfpTableConfig(openflow_13.OfpTableConfig_OFPTC_DEPRECATED_MASK)
 
-// ofp_table from public import voltha_protos/openflow_13.proto
+// OfpTable from public import voltha_protos/openflow_13.proto
 type OfpTable = openflow_13.OfpTable
 
 var OfpTable_name = openflow_13.OfpTable_name
@@ -659,7 +594,7 @@
 const OfpTable_OFPTT_MAX = OfpTable(openflow_13.OfpTable_OFPTT_MAX)
 const OfpTable_OFPTT_ALL = OfpTable(openflow_13.OfpTable_OFPTT_ALL)
 
-// ofp_capabilities from public import voltha_protos/openflow_13.proto
+// OfpCapabilities from public import voltha_protos/openflow_13.proto
 type OfpCapabilities = openflow_13.OfpCapabilities
 
 var OfpCapabilities_name = openflow_13.OfpCapabilities_name
@@ -674,7 +609,7 @@
 const OfpCapabilities_OFPC_QUEUE_STATS = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_QUEUE_STATS)
 const OfpCapabilities_OFPC_PORT_BLOCKED = OfpCapabilities(openflow_13.OfpCapabilities_OFPC_PORT_BLOCKED)
 
-// ofp_port_config from public import voltha_protos/openflow_13.proto
+// OfpPortConfig from public import voltha_protos/openflow_13.proto
 type OfpPortConfig = openflow_13.OfpPortConfig
 
 var OfpPortConfig_name = openflow_13.OfpPortConfig_name
@@ -686,7 +621,7 @@
 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)
 
-// ofp_port_state from public import voltha_protos/openflow_13.proto
+// OfpPortState from public import voltha_protos/openflow_13.proto
 type OfpPortState = openflow_13.OfpPortState
 
 var OfpPortState_name = openflow_13.OfpPortState_name
@@ -697,7 +632,7 @@
 const OfpPortState_OFPPS_BLOCKED = OfpPortState(openflow_13.OfpPortState_OFPPS_BLOCKED)
 const OfpPortState_OFPPS_LIVE = OfpPortState(openflow_13.OfpPortState_OFPPS_LIVE)
 
-// ofp_port_features from public import voltha_protos/openflow_13.proto
+// OfpPortFeatures from public import voltha_protos/openflow_13.proto
 type OfpPortFeatures = openflow_13.OfpPortFeatures
 
 var OfpPortFeatures_name = openflow_13.OfpPortFeatures_name
@@ -721,7 +656,7 @@
 const OfpPortFeatures_OFPPF_PAUSE = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE)
 const OfpPortFeatures_OFPPF_PAUSE_ASYM = OfpPortFeatures(openflow_13.OfpPortFeatures_OFPPF_PAUSE_ASYM)
 
-// ofp_port_reason from public import voltha_protos/openflow_13.proto
+// OfpPortReason from public import voltha_protos/openflow_13.proto
 type OfpPortReason = openflow_13.OfpPortReason
 
 var OfpPortReason_name = openflow_13.OfpPortReason_name
@@ -731,7 +666,7 @@
 const OfpPortReason_OFPPR_DELETE = OfpPortReason(openflow_13.OfpPortReason_OFPPR_DELETE)
 const OfpPortReason_OFPPR_MODIFY = OfpPortReason(openflow_13.OfpPortReason_OFPPR_MODIFY)
 
-// ofp_match_type from public import voltha_protos/openflow_13.proto
+// OfpMatchType from public import voltha_protos/openflow_13.proto
 type OfpMatchType = openflow_13.OfpMatchType
 
 var OfpMatchType_name = openflow_13.OfpMatchType_name
@@ -740,7 +675,7 @@
 const OfpMatchType_OFPMT_STANDARD = OfpMatchType(openflow_13.OfpMatchType_OFPMT_STANDARD)
 const OfpMatchType_OFPMT_OXM = OfpMatchType(openflow_13.OfpMatchType_OFPMT_OXM)
 
-// ofp_oxm_class from public import voltha_protos/openflow_13.proto
+// OfpOxmClass from public import voltha_protos/openflow_13.proto
 type OfpOxmClass = openflow_13.OfpOxmClass
 
 var OfpOxmClass_name = openflow_13.OfpOxmClass_name
@@ -751,7 +686,7 @@
 const OfpOxmClass_OFPXMC_OPENFLOW_BASIC = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_OPENFLOW_BASIC)
 const OfpOxmClass_OFPXMC_EXPERIMENTER = OfpOxmClass(openflow_13.OfpOxmClass_OFPXMC_EXPERIMENTER)
 
-// oxm_ofb_field_types from public import voltha_protos/openflow_13.proto
+// OxmOfbFieldTypes from public import voltha_protos/openflow_13.proto
 type OxmOfbFieldTypes = openflow_13.OxmOfbFieldTypes
 
 var OxmOfbFieldTypes_name = openflow_13.OxmOfbFieldTypes_name
@@ -798,7 +733,7 @@
 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)
 
-// ofp_vlan_id from public import voltha_protos/openflow_13.proto
+// OfpVlanId from public import voltha_protos/openflow_13.proto
 type OfpVlanId = openflow_13.OfpVlanId
 
 var OfpVlanId_name = openflow_13.OfpVlanId_name
@@ -807,7 +742,7 @@
 const OfpVlanId_OFPVID_NONE = OfpVlanId(openflow_13.OfpVlanId_OFPVID_NONE)
 const OfpVlanId_OFPVID_PRESENT = OfpVlanId(openflow_13.OfpVlanId_OFPVID_PRESENT)
 
-// ofp_ipv6exthdr_flags from public import voltha_protos/openflow_13.proto
+// OfpIpv6ExthdrFlags from public import voltha_protos/openflow_13.proto
 type OfpIpv6ExthdrFlags = openflow_13.OfpIpv6ExthdrFlags
 
 var OfpIpv6ExthdrFlags_name = openflow_13.OfpIpv6ExthdrFlags_name
@@ -824,7 +759,7 @@
 const OfpIpv6ExthdrFlags_OFPIEH_UNREP = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNREP)
 const OfpIpv6ExthdrFlags_OFPIEH_UNSEQ = OfpIpv6ExthdrFlags(openflow_13.OfpIpv6ExthdrFlags_OFPIEH_UNSEQ)
 
-// ofp_action_type from public import voltha_protos/openflow_13.proto
+// OfpActionType from public import voltha_protos/openflow_13.proto
 type OfpActionType = openflow_13.OfpActionType
 
 var OfpActionType_name = openflow_13.OfpActionType_name
@@ -848,7 +783,7 @@
 const OfpActionType_OFPAT_POP_PBB = OfpActionType(openflow_13.OfpActionType_OFPAT_POP_PBB)
 const OfpActionType_OFPAT_EXPERIMENTER = OfpActionType(openflow_13.OfpActionType_OFPAT_EXPERIMENTER)
 
-// ofp_controller_max_len from public import voltha_protos/openflow_13.proto
+// OfpControllerMaxLen from public import voltha_protos/openflow_13.proto
 type OfpControllerMaxLen = openflow_13.OfpControllerMaxLen
 
 var OfpControllerMaxLen_name = openflow_13.OfpControllerMaxLen_name
@@ -858,7 +793,7 @@
 const OfpControllerMaxLen_OFPCML_MAX = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_MAX)
 const OfpControllerMaxLen_OFPCML_NO_BUFFER = OfpControllerMaxLen(openflow_13.OfpControllerMaxLen_OFPCML_NO_BUFFER)
 
-// ofp_instruction_type from public import voltha_protos/openflow_13.proto
+// OfpInstructionType from public import voltha_protos/openflow_13.proto
 type OfpInstructionType = openflow_13.OfpInstructionType
 
 var OfpInstructionType_name = openflow_13.OfpInstructionType_name
@@ -873,7 +808,7 @@
 const OfpInstructionType_OFPIT_METER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_METER)
 const OfpInstructionType_OFPIT_EXPERIMENTER = OfpInstructionType(openflow_13.OfpInstructionType_OFPIT_EXPERIMENTER)
 
-// ofp_flow_mod_command from public import voltha_protos/openflow_13.proto
+// OfpFlowModCommand from public import voltha_protos/openflow_13.proto
 type OfpFlowModCommand = openflow_13.OfpFlowModCommand
 
 var OfpFlowModCommand_name = openflow_13.OfpFlowModCommand_name
@@ -885,7 +820,7 @@
 const OfpFlowModCommand_OFPFC_DELETE = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE)
 const OfpFlowModCommand_OFPFC_DELETE_STRICT = OfpFlowModCommand(openflow_13.OfpFlowModCommand_OFPFC_DELETE_STRICT)
 
-// ofp_flow_mod_flags from public import voltha_protos/openflow_13.proto
+// OfpFlowModFlags from public import voltha_protos/openflow_13.proto
 type OfpFlowModFlags = openflow_13.OfpFlowModFlags
 
 var OfpFlowModFlags_name = openflow_13.OfpFlowModFlags_name
@@ -898,7 +833,7 @@
 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)
 
-// ofp_group from public import voltha_protos/openflow_13.proto
+// OfpGroup from public import voltha_protos/openflow_13.proto
 type OfpGroup = openflow_13.OfpGroup
 
 var OfpGroup_name = openflow_13.OfpGroup_name
@@ -909,7 +844,7 @@
 const OfpGroup_OFPG_ALL = OfpGroup(openflow_13.OfpGroup_OFPG_ALL)
 const OfpGroup_OFPG_ANY = OfpGroup(openflow_13.OfpGroup_OFPG_ANY)
 
-// ofp_group_mod_command from public import voltha_protos/openflow_13.proto
+// OfpGroupModCommand from public import voltha_protos/openflow_13.proto
 type OfpGroupModCommand = openflow_13.OfpGroupModCommand
 
 var OfpGroupModCommand_name = openflow_13.OfpGroupModCommand_name
@@ -919,7 +854,7 @@
 const OfpGroupModCommand_OFPGC_MODIFY = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_MODIFY)
 const OfpGroupModCommand_OFPGC_DELETE = OfpGroupModCommand(openflow_13.OfpGroupModCommand_OFPGC_DELETE)
 
-// ofp_group_type from public import voltha_protos/openflow_13.proto
+// OfpGroupType from public import voltha_protos/openflow_13.proto
 type OfpGroupType = openflow_13.OfpGroupType
 
 var OfpGroupType_name = openflow_13.OfpGroupType_name
@@ -930,7 +865,7 @@
 const OfpGroupType_OFPGT_INDIRECT = OfpGroupType(openflow_13.OfpGroupType_OFPGT_INDIRECT)
 const OfpGroupType_OFPGT_FF = OfpGroupType(openflow_13.OfpGroupType_OFPGT_FF)
 
-// ofp_packet_in_reason from public import voltha_protos/openflow_13.proto
+// OfpPacketInReason from public import voltha_protos/openflow_13.proto
 type OfpPacketInReason = openflow_13.OfpPacketInReason
 
 var OfpPacketInReason_name = openflow_13.OfpPacketInReason_name
@@ -940,7 +875,7 @@
 const OfpPacketInReason_OFPR_ACTION = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_ACTION)
 const OfpPacketInReason_OFPR_INVALID_TTL = OfpPacketInReason(openflow_13.OfpPacketInReason_OFPR_INVALID_TTL)
 
-// ofp_flow_removed_reason from public import voltha_protos/openflow_13.proto
+// OfpFlowRemovedReason from public import voltha_protos/openflow_13.proto
 type OfpFlowRemovedReason = openflow_13.OfpFlowRemovedReason
 
 var OfpFlowRemovedReason_name = openflow_13.OfpFlowRemovedReason_name
@@ -952,7 +887,7 @@
 const OfpFlowRemovedReason_OFPRR_GROUP_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_GROUP_DELETE)
 const OfpFlowRemovedReason_OFPRR_METER_DELETE = OfpFlowRemovedReason(openflow_13.OfpFlowRemovedReason_OFPRR_METER_DELETE)
 
-// ofp_meter from public import voltha_protos/openflow_13.proto
+// OfpMeter from public import voltha_protos/openflow_13.proto
 type OfpMeter = openflow_13.OfpMeter
 
 var OfpMeter_name = openflow_13.OfpMeter_name
@@ -964,7 +899,7 @@
 const OfpMeter_OFPM_CONTROLLER = OfpMeter(openflow_13.OfpMeter_OFPM_CONTROLLER)
 const OfpMeter_OFPM_ALL = OfpMeter(openflow_13.OfpMeter_OFPM_ALL)
 
-// ofp_meter_band_type from public import voltha_protos/openflow_13.proto
+// OfpMeterBandType from public import voltha_protos/openflow_13.proto
 type OfpMeterBandType = openflow_13.OfpMeterBandType
 
 var OfpMeterBandType_name = openflow_13.OfpMeterBandType_name
@@ -975,7 +910,7 @@
 const OfpMeterBandType_OFPMBT_DSCP_REMARK = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_DSCP_REMARK)
 const OfpMeterBandType_OFPMBT_EXPERIMENTER = OfpMeterBandType(openflow_13.OfpMeterBandType_OFPMBT_EXPERIMENTER)
 
-// ofp_meter_mod_command from public import voltha_protos/openflow_13.proto
+// OfpMeterModCommand from public import voltha_protos/openflow_13.proto
 type OfpMeterModCommand = openflow_13.OfpMeterModCommand
 
 var OfpMeterModCommand_name = openflow_13.OfpMeterModCommand_name
@@ -985,7 +920,7 @@
 const OfpMeterModCommand_OFPMC_MODIFY = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_MODIFY)
 const OfpMeterModCommand_OFPMC_DELETE = OfpMeterModCommand(openflow_13.OfpMeterModCommand_OFPMC_DELETE)
 
-// ofp_meter_flags from public import voltha_protos/openflow_13.proto
+// OfpMeterFlags from public import voltha_protos/openflow_13.proto
 type OfpMeterFlags = openflow_13.OfpMeterFlags
 
 var OfpMeterFlags_name = openflow_13.OfpMeterFlags_name
@@ -997,7 +932,7 @@
 const OfpMeterFlags_OFPMF_BURST = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_BURST)
 const OfpMeterFlags_OFPMF_STATS = OfpMeterFlags(openflow_13.OfpMeterFlags_OFPMF_STATS)
 
-// ofp_error_type from public import voltha_protos/openflow_13.proto
+// OfpErrorType from public import voltha_protos/openflow_13.proto
 type OfpErrorType = openflow_13.OfpErrorType
 
 var OfpErrorType_name = openflow_13.OfpErrorType_name
@@ -1019,7 +954,7 @@
 const OfpErrorType_OFPET_TABLE_FEATURES_FAILED = OfpErrorType(openflow_13.OfpErrorType_OFPET_TABLE_FEATURES_FAILED)
 const OfpErrorType_OFPET_EXPERIMENTER = OfpErrorType(openflow_13.OfpErrorType_OFPET_EXPERIMENTER)
 
-// ofp_hello_failed_code from public import voltha_protos/openflow_13.proto
+// OfpHelloFailedCode from public import voltha_protos/openflow_13.proto
 type OfpHelloFailedCode = openflow_13.OfpHelloFailedCode
 
 var OfpHelloFailedCode_name = openflow_13.OfpHelloFailedCode_name
@@ -1028,7 +963,7 @@
 const OfpHelloFailedCode_OFPHFC_INCOMPATIBLE = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_INCOMPATIBLE)
 const OfpHelloFailedCode_OFPHFC_EPERM = OfpHelloFailedCode(openflow_13.OfpHelloFailedCode_OFPHFC_EPERM)
 
-// ofp_bad_request_code from public import voltha_protos/openflow_13.proto
+// OfpBadRequestCode from public import voltha_protos/openflow_13.proto
 type OfpBadRequestCode = openflow_13.OfpBadRequestCode
 
 var OfpBadRequestCode_name = openflow_13.OfpBadRequestCode_name
@@ -1049,7 +984,7 @@
 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)
 
-// ofp_bad_action_code from public import voltha_protos/openflow_13.proto
+// OfpBadActionCode from public import voltha_protos/openflow_13.proto
 type OfpBadActionCode = openflow_13.OfpBadActionCode
 
 var OfpBadActionCode_name = openflow_13.OfpBadActionCode_name
@@ -1072,7 +1007,7 @@
 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)
 
-// ofp_bad_instruction_code from public import voltha_protos/openflow_13.proto
+// OfpBadInstructionCode from public import voltha_protos/openflow_13.proto
 type OfpBadInstructionCode = openflow_13.OfpBadInstructionCode
 
 var OfpBadInstructionCode_name = openflow_13.OfpBadInstructionCode_name
@@ -1088,7 +1023,7 @@
 const OfpBadInstructionCode_OFPBIC_BAD_LEN = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_BAD_LEN)
 const OfpBadInstructionCode_OFPBIC_EPERM = OfpBadInstructionCode(openflow_13.OfpBadInstructionCode_OFPBIC_EPERM)
 
-// ofp_bad_match_code from public import voltha_protos/openflow_13.proto
+// OfpBadMatchCode from public import voltha_protos/openflow_13.proto
 type OfpBadMatchCode = openflow_13.OfpBadMatchCode
 
 var OfpBadMatchCode_name = openflow_13.OfpBadMatchCode_name
@@ -1107,7 +1042,7 @@
 const OfpBadMatchCode_OFPBMC_DUP_FIELD = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_DUP_FIELD)
 const OfpBadMatchCode_OFPBMC_EPERM = OfpBadMatchCode(openflow_13.OfpBadMatchCode_OFPBMC_EPERM)
 
-// ofp_flow_mod_failed_code from public import voltha_protos/openflow_13.proto
+// OfpFlowModFailedCode from public import voltha_protos/openflow_13.proto
 type OfpFlowModFailedCode = openflow_13.OfpFlowModFailedCode
 
 var OfpFlowModFailedCode_name = openflow_13.OfpFlowModFailedCode_name
@@ -1122,7 +1057,7 @@
 const OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND)
 const OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS = OfpFlowModFailedCode(openflow_13.OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS)
 
-// ofp_group_mod_failed_code from public import voltha_protos/openflow_13.proto
+// OfpGroupModFailedCode from public import voltha_protos/openflow_13.proto
 type OfpGroupModFailedCode = openflow_13.OfpGroupModFailedCode
 
 var OfpGroupModFailedCode_name = openflow_13.OfpGroupModFailedCode_name
@@ -1144,7 +1079,7 @@
 const OfpGroupModFailedCode_OFPGMFC_BAD_WATCH = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_BAD_WATCH)
 const OfpGroupModFailedCode_OFPGMFC_EPERM = OfpGroupModFailedCode(openflow_13.OfpGroupModFailedCode_OFPGMFC_EPERM)
 
-// ofp_port_mod_failed_code from public import voltha_protos/openflow_13.proto
+// OfpPortModFailedCode from public import voltha_protos/openflow_13.proto
 type OfpPortModFailedCode = openflow_13.OfpPortModFailedCode
 
 var OfpPortModFailedCode_name = openflow_13.OfpPortModFailedCode_name
@@ -1156,7 +1091,7 @@
 const OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE)
 const OfpPortModFailedCode_OFPPMFC_EPERM = OfpPortModFailedCode(openflow_13.OfpPortModFailedCode_OFPPMFC_EPERM)
 
-// ofp_table_mod_failed_code from public import voltha_protos/openflow_13.proto
+// OfpTableModFailedCode from public import voltha_protos/openflow_13.proto
 type OfpTableModFailedCode = openflow_13.OfpTableModFailedCode
 
 var OfpTableModFailedCode_name = openflow_13.OfpTableModFailedCode_name
@@ -1166,7 +1101,7 @@
 const OfpTableModFailedCode_OFPTMFC_BAD_CONFIG = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_BAD_CONFIG)
 const OfpTableModFailedCode_OFPTMFC_EPERM = OfpTableModFailedCode(openflow_13.OfpTableModFailedCode_OFPTMFC_EPERM)
 
-// ofp_queue_op_failed_code from public import voltha_protos/openflow_13.proto
+// OfpQueueOpFailedCode from public import voltha_protos/openflow_13.proto
 type OfpQueueOpFailedCode = openflow_13.OfpQueueOpFailedCode
 
 var OfpQueueOpFailedCode_name = openflow_13.OfpQueueOpFailedCode_name
@@ -1176,7 +1111,7 @@
 const OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE)
 const OfpQueueOpFailedCode_OFPQOFC_EPERM = OfpQueueOpFailedCode(openflow_13.OfpQueueOpFailedCode_OFPQOFC_EPERM)
 
-// ofp_switch_config_failed_code from public import voltha_protos/openflow_13.proto
+// OfpSwitchConfigFailedCode from public import voltha_protos/openflow_13.proto
 type OfpSwitchConfigFailedCode = openflow_13.OfpSwitchConfigFailedCode
 
 var OfpSwitchConfigFailedCode_name = openflow_13.OfpSwitchConfigFailedCode_name
@@ -1186,7 +1121,7 @@
 const OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN)
 const OfpSwitchConfigFailedCode_OFPSCFC_EPERM = OfpSwitchConfigFailedCode(openflow_13.OfpSwitchConfigFailedCode_OFPSCFC_EPERM)
 
-// ofp_role_request_failed_code from public import voltha_protos/openflow_13.proto
+// OfpRoleRequestFailedCode from public import voltha_protos/openflow_13.proto
 type OfpRoleRequestFailedCode = openflow_13.OfpRoleRequestFailedCode
 
 var OfpRoleRequestFailedCode_name = openflow_13.OfpRoleRequestFailedCode_name
@@ -1196,7 +1131,7 @@
 const OfpRoleRequestFailedCode_OFPRRFC_UNSUP = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_UNSUP)
 const OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE = OfpRoleRequestFailedCode(openflow_13.OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE)
 
-// ofp_meter_mod_failed_code from public import voltha_protos/openflow_13.proto
+// OfpMeterModFailedCode from public import voltha_protos/openflow_13.proto
 type OfpMeterModFailedCode = openflow_13.OfpMeterModFailedCode
 
 var OfpMeterModFailedCode_name = openflow_13.OfpMeterModFailedCode_name
@@ -1215,7 +1150,7 @@
 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)
 
-// ofp_table_features_failed_code from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturesFailedCode from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturesFailedCode = openflow_13.OfpTableFeaturesFailedCode
 
 var OfpTableFeaturesFailedCode_name = openflow_13.OfpTableFeaturesFailedCode_name
@@ -1228,7 +1163,7 @@
 const OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT)
 const OfpTableFeaturesFailedCode_OFPTFFC_EPERM = OfpTableFeaturesFailedCode(openflow_13.OfpTableFeaturesFailedCode_OFPTFFC_EPERM)
 
-// ofp_multipart_type from public import voltha_protos/openflow_13.proto
+// OfpMultipartType from public import voltha_protos/openflow_13.proto
 type OfpMultipartType = openflow_13.OfpMultipartType
 
 var OfpMultipartType_name = openflow_13.OfpMultipartType_name
@@ -1250,7 +1185,7 @@
 const OfpMultipartType_OFPMP_PORT_DESC = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_PORT_DESC)
 const OfpMultipartType_OFPMP_EXPERIMENTER = OfpMultipartType(openflow_13.OfpMultipartType_OFPMP_EXPERIMENTER)
 
-// ofp_multipart_request_flags from public import voltha_protos/openflow_13.proto
+// OfpMultipartRequestFlags from public import voltha_protos/openflow_13.proto
 type OfpMultipartRequestFlags = openflow_13.OfpMultipartRequestFlags
 
 var OfpMultipartRequestFlags_name = openflow_13.OfpMultipartRequestFlags_name
@@ -1259,7 +1194,7 @@
 const OfpMultipartRequestFlags_OFPMPF_REQ_INVALID = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_INVALID)
 const OfpMultipartRequestFlags_OFPMPF_REQ_MORE = OfpMultipartRequestFlags(openflow_13.OfpMultipartRequestFlags_OFPMPF_REQ_MORE)
 
-// ofp_multipart_reply_flags from public import voltha_protos/openflow_13.proto
+// OfpMultipartReplyFlags from public import voltha_protos/openflow_13.proto
 type OfpMultipartReplyFlags = openflow_13.OfpMultipartReplyFlags
 
 var OfpMultipartReplyFlags_name = openflow_13.OfpMultipartReplyFlags_name
@@ -1268,7 +1203,7 @@
 const OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID)
 const OfpMultipartReplyFlags_OFPMPF_REPLY_MORE = OfpMultipartReplyFlags(openflow_13.OfpMultipartReplyFlags_OFPMPF_REPLY_MORE)
 
-// ofp_table_feature_prop_type from public import voltha_protos/openflow_13.proto
+// OfpTableFeaturePropType from public import voltha_protos/openflow_13.proto
 type OfpTableFeaturePropType = openflow_13.OfpTableFeaturePropType
 
 var OfpTableFeaturePropType_name = openflow_13.OfpTableFeaturePropType_name
@@ -1291,7 +1226,7 @@
 const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER)
 const OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS = OfpTableFeaturePropType(openflow_13.OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS)
 
-// ofp_group_capabilities from public import voltha_protos/openflow_13.proto
+// OfpGroupCapabilities from public import voltha_protos/openflow_13.proto
 type OfpGroupCapabilities = openflow_13.OfpGroupCapabilities
 
 var OfpGroupCapabilities_name = openflow_13.OfpGroupCapabilities_name
@@ -1303,7 +1238,7 @@
 const OfpGroupCapabilities_OFPGFC_CHAINING = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING)
 const OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS = OfpGroupCapabilities(openflow_13.OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS)
 
-// ofp_queue_properties from public import voltha_protos/openflow_13.proto
+// OfpQueueProperties from public import voltha_protos/openflow_13.proto
 type OfpQueueProperties = openflow_13.OfpQueueProperties
 
 var OfpQueueProperties_name = openflow_13.OfpQueueProperties_name
@@ -1314,7 +1249,7 @@
 const OfpQueueProperties_OFPQT_MAX_RATE = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_MAX_RATE)
 const OfpQueueProperties_OFPQT_EXPERIMENTER = OfpQueueProperties(openflow_13.OfpQueueProperties_OFPQT_EXPERIMENTER)
 
-// ofp_controller_role from public import voltha_protos/openflow_13.proto
+// OfpControllerRole from public import voltha_protos/openflow_13.proto
 type OfpControllerRole = openflow_13.OfpControllerRole
 
 var OfpControllerRole_name = openflow_13.OfpControllerRole_name
@@ -1344,6 +1279,7 @@
 	4: "category",
 	5: "device_id",
 }
+
 var AlarmFilterRuleKey_AlarmFilterRuleKey_value = map[string]int32{
 	"id":          0,
 	"type":        1,
@@ -1356,8 +1292,9 @@
 func (x AlarmFilterRuleKey_AlarmFilterRuleKey) String() string {
 	return proto.EnumName(AlarmFilterRuleKey_AlarmFilterRuleKey_name, int32(x))
 }
+
 func (AlarmFilterRuleKey_AlarmFilterRuleKey) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{2, 0}
+	return fileDescriptor_e084f1a60ce7016c, []int{2, 0}
 }
 
 type SelfTestResponse_SelfTestResult int32
@@ -1375,6 +1312,7 @@
 	2: "NOT_SUPPORTED",
 	3: "UNKNOWN_ERROR",
 }
+
 var SelfTestResponse_SelfTestResult_value = map[string]int32{
 	"SUCCESS":       0,
 	"FAILURE":       1,
@@ -1385,8 +1323,9 @@
 func (x SelfTestResponse_SelfTestResult) String() string {
 	return proto.EnumName(SelfTestResponse_SelfTestResult_name, int32(x))
 }
+
 func (SelfTestResponse_SelfTestResult) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{10, 0}
+	return fileDescriptor_e084f1a60ce7016c, []int{10, 0}
 }
 
 type DeviceGroup struct {
@@ -1402,16 +1341,17 @@
 func (m *DeviceGroup) String() string { return proto.CompactTextString(m) }
 func (*DeviceGroup) ProtoMessage()    {}
 func (*DeviceGroup) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{0}
+	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 (dst *DeviceGroup) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceGroup.Merge(dst, src)
+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)
@@ -1454,16 +1394,17 @@
 func (m *DeviceGroups) String() string { return proto.CompactTextString(m) }
 func (*DeviceGroups) ProtoMessage()    {}
 func (*DeviceGroups) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{1}
+	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 (dst *DeviceGroups) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceGroups.Merge(dst, src)
+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)
@@ -1491,16 +1432,17 @@
 func (m *AlarmFilterRuleKey) String() string { return proto.CompactTextString(m) }
 func (*AlarmFilterRuleKey) ProtoMessage()    {}
 func (*AlarmFilterRuleKey) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{2}
+	return fileDescriptor_e084f1a60ce7016c, []int{2}
 }
+
 func (m *AlarmFilterRuleKey) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlarmFilterRuleKey.Unmarshal(m, b)
 }
 func (m *AlarmFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_AlarmFilterRuleKey.Marshal(b, m, deterministic)
 }
-func (dst *AlarmFilterRuleKey) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmFilterRuleKey.Merge(dst, src)
+func (m *AlarmFilterRuleKey) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AlarmFilterRuleKey.Merge(m, src)
 }
 func (m *AlarmFilterRuleKey) XXX_Size() int {
 	return xxx_messageInfo_AlarmFilterRuleKey.Size(m)
@@ -1523,16 +1465,17 @@
 func (m *AlarmFilterRule) String() string { return proto.CompactTextString(m) }
 func (*AlarmFilterRule) ProtoMessage()    {}
 func (*AlarmFilterRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{3}
+	return fileDescriptor_e084f1a60ce7016c, []int{3}
 }
+
 func (m *AlarmFilterRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlarmFilterRule.Unmarshal(m, b)
 }
 func (m *AlarmFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_AlarmFilterRule.Marshal(b, m, deterministic)
 }
-func (dst *AlarmFilterRule) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmFilterRule.Merge(dst, src)
+func (m *AlarmFilterRule) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AlarmFilterRule.Merge(m, src)
 }
 func (m *AlarmFilterRule) XXX_Size() int {
 	return xxx_messageInfo_AlarmFilterRule.Size(m)
@@ -1569,16 +1512,17 @@
 func (m *AlarmFilter) String() string { return proto.CompactTextString(m) }
 func (*AlarmFilter) ProtoMessage()    {}
 func (*AlarmFilter) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{4}
+	return fileDescriptor_e084f1a60ce7016c, []int{4}
 }
+
 func (m *AlarmFilter) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlarmFilter.Unmarshal(m, b)
 }
 func (m *AlarmFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_AlarmFilter.Marshal(b, m, deterministic)
 }
-func (dst *AlarmFilter) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmFilter.Merge(dst, src)
+func (m *AlarmFilter) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AlarmFilter.Merge(m, src)
 }
 func (m *AlarmFilter) XXX_Size() int {
 	return xxx_messageInfo_AlarmFilter.Size(m)
@@ -1614,16 +1558,17 @@
 func (m *AlarmFilters) String() string { return proto.CompactTextString(m) }
 func (*AlarmFilters) ProtoMessage()    {}
 func (*AlarmFilters) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{5}
+	return fileDescriptor_e084f1a60ce7016c, []int{5}
 }
+
 func (m *AlarmFilters) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlarmFilters.Unmarshal(m, b)
 }
 func (m *AlarmFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_AlarmFilters.Marshal(b, m, deterministic)
 }
-func (dst *AlarmFilters) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmFilters.Merge(dst, src)
+func (m *AlarmFilters) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AlarmFilters.Merge(m, src)
 }
 func (m *AlarmFilters) XXX_Size() int {
 	return xxx_messageInfo_AlarmFilters.Size(m)
@@ -1653,16 +1598,17 @@
 func (m *Logging) String() string { return proto.CompactTextString(m) }
 func (*Logging) ProtoMessage()    {}
 func (*Logging) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{6}
+	return fileDescriptor_e084f1a60ce7016c, []int{6}
 }
+
 func (m *Logging) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Logging.Unmarshal(m, b)
 }
 func (m *Logging) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_Logging.Marshal(b, m, deterministic)
 }
-func (dst *Logging) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Logging.Merge(dst, src)
+func (m *Logging) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Logging.Merge(m, src)
 }
 func (m *Logging) XXX_Size() int {
 	return xxx_messageInfo_Logging.Size(m)
@@ -1701,16 +1647,17 @@
 func (m *CoreInstance) String() string { return proto.CompactTextString(m) }
 func (*CoreInstance) ProtoMessage()    {}
 func (*CoreInstance) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{7}
+	return fileDescriptor_e084f1a60ce7016c, []int{7}
 }
+
 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 (dst *CoreInstance) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CoreInstance.Merge(dst, src)
+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)
@@ -1746,16 +1693,17 @@
 func (m *CoreInstances) String() string { return proto.CompactTextString(m) }
 func (*CoreInstances) ProtoMessage()    {}
 func (*CoreInstances) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{8}
+	return fileDescriptor_e084f1a60ce7016c, []int{8}
 }
+
 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 (dst *CoreInstances) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CoreInstances.Merge(dst, src)
+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)
@@ -1795,16 +1743,17 @@
 func (m *Voltha) String() string { return proto.CompactTextString(m) }
 func (*Voltha) ProtoMessage()    {}
 func (*Voltha) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{9}
+	return fileDescriptor_e084f1a60ce7016c, []int{9}
 }
+
 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 (dst *Voltha) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Voltha.Merge(dst, src)
+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)
@@ -1890,16 +1839,17 @@
 func (m *SelfTestResponse) String() string { return proto.CompactTextString(m) }
 func (*SelfTestResponse) ProtoMessage()    {}
 func (*SelfTestResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{10}
+	return fileDescriptor_e084f1a60ce7016c, []int{10}
 }
+
 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 (dst *SelfTestResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SelfTestResponse.Merge(dst, src)
+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)
@@ -1931,16 +1881,17 @@
 func (m *OfAgentSubscriber) String() string { return proto.CompactTextString(m) }
 func (*OfAgentSubscriber) ProtoMessage()    {}
 func (*OfAgentSubscriber) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{11}
+	return fileDescriptor_e084f1a60ce7016c, []int{11}
 }
+
 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 (dst *OfAgentSubscriber) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OfAgentSubscriber.Merge(dst, src)
+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)
@@ -1980,16 +1931,17 @@
 func (m *Membership) String() string { return proto.CompactTextString(m) }
 func (*Membership) ProtoMessage()    {}
 func (*Membership) Descriptor() ([]byte, []int) {
-	return fileDescriptor_voltha_1f7600b5a75eb6d1, []int{12}
+	return fileDescriptor_e084f1a60ce7016c, []int{12}
 }
+
 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 (dst *Membership) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Membership.Merge(dst, src)
+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)
@@ -2015,6 +1967,8 @@
 }
 
 func init() {
+	proto.RegisterEnum("voltha.AlarmFilterRuleKey_AlarmFilterRuleKey", AlarmFilterRuleKey_AlarmFilterRuleKey_name, AlarmFilterRuleKey_AlarmFilterRuleKey_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((*AlarmFilterRuleKey)(nil), "voltha.AlarmFilterRuleKey")
@@ -2028,8 +1982,167 @@
 	proto.RegisterType((*SelfTestResponse)(nil), "voltha.SelfTestResponse")
 	proto.RegisterType((*OfAgentSubscriber)(nil), "voltha.OfAgentSubscriber")
 	proto.RegisterType((*Membership)(nil), "voltha.Membership")
-	proto.RegisterEnum("voltha.AlarmFilterRuleKey_AlarmFilterRuleKey", AlarmFilterRuleKey_AlarmFilterRuleKey_name, AlarmFilterRuleKey_AlarmFilterRuleKey_value)
-	proto.RegisterEnum("voltha.SelfTestResponse_SelfTestResult", SelfTestResponse_SelfTestResult_name, SelfTestResponse_SelfTestResult_value)
+}
+
+func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
+
+var fileDescriptor_e084f1a60ce7016c = []byte{
+	// 2475 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x73, 0xdb, 0xc6,
+	0x15, 0x16, 0x75, 0xd7, 0x21, 0x29, 0x92, 0x47, 0x17, 0xd3, 0x94, 0x64, 0x4b, 0x1b, 0xc7, 0x76,
+	0xe4, 0x88, 0x8c, 0xad, 0xc4, 0xd3, 0x3a, 0xcd, 0xa4, 0xd6, 0xc5, 0x2a, 0x6b, 0x59, 0x64, 0x41,
+	0xcb, 0x4e, 0x9b, 0x7a, 0x38, 0x20, 0xb1, 0xa2, 0x30, 0x06, 0x09, 0x16, 0x0b, 0xca, 0xd5, 0xb8,
+	0x99, 0xce, 0xa4, 0xd7, 0xe9, 0x63, 0xf3, 0x17, 0xfa, 0xd0, 0xe9, 0xf4, 0xaf, 0xf8, 0xa9, 0xbf,
+	0xa0, 0x9d, 0x3e, 0xf4, 0xb1, 0x4f, 0x6e, 0x1f, 0x3b, 0x7b, 0x01, 0x09, 0x10, 0x80, 0x2e, 0x69,
+	0x66, 0xf2, 0x64, 0x62, 0xcf, 0xd9, 0xef, 0xfb, 0xf6, 0xec, 0xd9, 0x83, 0xa3, 0x85, 0xa1, 0x70,
+	0x62, 0x5b, 0xee, 0xb1, 0x5e, 0xef, 0x3a, 0xb6, 0x6b, 0xb3, 0x92, 0x7c, 0x2a, 0x8a, 0x27, 0x9c,
+	0x94, 0x4f, 0x85, 0xe5, 0x96, 0x6d, 0xb7, 0x2c, 0x5a, 0xd2, 0xbb, 0x66, 0x49, 0xef, 0x74, 0x6c,
+	0x57, 0x77, 0x4d, 0xbb, 0xc3, 0xa4, 0x57, 0x61, 0x49, 0x59, 0xc5, 0x53, 0xa3, 0x77, 0x54, 0xa2,
+	0xed, 0xae, 0x7b, 0xaa, 0x8c, 0xf9, 0x20, 0x7c, 0x9b, 0xba, 0x0a, 0xbc, 0x30, 0x44, 0xdc, 0xb4,
+	0xdb, 0x6d, 0xbb, 0x13, 0x6d, 0x3b, 0xa6, 0xba, 0xe5, 0x1e, 0x2b, 0x1b, 0x09, 0xda, 0x2c, 0xbb,
+	0x65, 0x36, 0x75, 0xab, 0x6e, 0xd0, 0x13, 0xb3, 0x49, 0xa3, 0xe7, 0x07, 0x6c, 0x4b, 0x41, 0x9b,
+	0x6e, 0xe8, 0x5d, 0x97, 0x3a, 0xca, 0x78, 0x3d, 0x68, 0xb4, 0xbb, 0xb4, 0x73, 0x64, 0xd9, 0xaf,
+	0xea, 0x77, 0x37, 0x63, 0x1c, 0xda, 0x4d, 0xb3, 0xde, 0x36, 0x1b, 0x75, 0xa3, 0xa1, 0x1c, 0xd6,
+	0x22, 0x1c, 0x74, 0x4b, 0x77, 0xda, 0x03, 0x97, 0xd5, 0xa0, 0xcb, 0xa9, 0xde, 0x69, 0xd5, 0xed,
+	0xae, 0x2f, 0xa4, 0xe4, 0x4f, 0x09, 0x48, 0xee, 0x08, 0xd1, 0x7b, 0x8e, 0xdd, 0xeb, 0xe2, 0x02,
+	0x8c, 0x9a, 0x46, 0x3e, 0xb1, 0x9a, 0xb8, 0x3d, 0xb3, 0x35, 0xf1, 0xaf, 0xb7, 0x6f, 0x56, 0x12,
+	0xda, 0xa8, 0x69, 0x60, 0x19, 0x32, 0xc1, 0xe5, 0xb3, 0xfc, 0xe8, 0xea, 0xd8, 0xed, 0xe4, 0xbd,
+	0x85, 0xa2, 0xda, 0xc7, 0x7d, 0x69, 0x96, 0x58, 0x5b, 0x33, 0xff, 0x78, 0xfb, 0x66, 0x65, 0x9c,
+	0x63, 0x69, 0xb3, 0x96, 0xdf, 0xc2, 0x70, 0x13, 0xa6, 0x3c, 0x88, 0x31, 0x01, 0x31, 0xeb, 0x41,
+	0x84, 0xe7, 0x7a, 0x9e, 0xe4, 0xbb, 0x90, 0xf2, 0xa9, 0x64, 0xf8, 0x1e, 0x4c, 0x98, 0x2e, 0x6d,
+	0xb3, 0x7c, 0x42, 0x40, 0xcc, 0x05, 0x21, 0x84, 0x93, 0x26, 0x3d, 0xc8, 0x2f, 0x01, 0x1f, 0xf2,
+	0xa8, 0x3c, 0x32, 0x2d, 0x97, 0x3a, 0x5a, 0xcf, 0xa2, 0x8f, 0xe9, 0x29, 0x69, 0x44, 0x8d, 0xe2,
+	0x24, 0x67, 0xcd, 0x8e, 0xe0, 0x34, 0x8c, 0xbb, 0xa7, 0x5d, 0x9a, 0x4d, 0x60, 0x0a, 0xa6, 0x19,
+	0x3d, 0xa1, 0x8e, 0xe9, 0x9e, 0x66, 0x47, 0x31, 0x03, 0x49, 0x87, 0x32, 0xbb, 0xe7, 0x34, 0x69,
+	0xdd, 0x34, 0xb2, 0x63, 0xdc, 0xdc, 0xd4, 0x5d, 0xda, 0xb2, 0x9d, 0xd3, 0xec, 0x38, 0xa6, 0x61,
+	0x46, 0x0a, 0xe6, 0xc6, 0x89, 0x07, 0x13, 0xff, 0x7e, 0xfb, 0x66, 0x65, 0x84, 0x1c, 0x43, 0x66,
+	0x88, 0x0a, 0x3f, 0x85, 0xb1, 0x97, 0xf4, 0x54, 0x84, 0x79, 0xf6, 0xde, 0x86, 0x27, 0x3e, 0x2c,
+	0x28, 0x62, 0x48, 0xe3, 0x33, 0x71, 0x1e, 0x26, 0x4e, 0x74, 0xab, 0x47, 0xf3, 0xa3, 0x7c, 0xa7,
+	0x34, 0xf9, 0x40, 0x6a, 0x90, 0xf4, 0x4d, 0x88, 0xdb, 0xcb, 0x0d, 0x98, 0x70, 0x7a, 0x56, 0x7f,
+	0x07, 0xaf, 0xc4, 0xd0, 0x6b, 0xd2, 0x8b, 0x7c, 0x02, 0x29, 0x9f, 0x85, 0xe1, 0x06, 0x4c, 0x1d,
+	0xc9, 0x9f, 0xc3, 0xc1, 0xf7, 0x03, 0x78, 0x3e, 0xe4, 0x05, 0x4c, 0xed, 0xdb, 0xad, 0x96, 0xd9,
+	0x69, 0x61, 0x09, 0x26, 0x2c, 0x7a, 0x42, 0x2d, 0xb5, 0xee, 0xab, 0xbe, 0xd4, 0xd9, 0xe7, 0xe3,
+	0xfd, 0x1f, 0x9a, 0xf4, 0xc3, 0x35, 0x48, 0x75, 0xf5, 0xe6, 0x4b, 0xbd, 0x45, 0xeb, 0x1d, 0xbd,
+	0xed, 0x2d, 0x36, 0xa9, 0xc6, 0x0e, 0xf4, 0x36, 0x25, 0x0e, 0xa4, 0xb6, 0x6d, 0x87, 0x96, 0x3b,
+	0xcc, 0xd5, 0x3b, 0x4d, 0x8a, 0x37, 0x21, 0x69, 0xaa, 0xdf, 0xf5, 0xe1, 0xc5, 0x83, 0x67, 0x29,
+	0x1b, 0xb8, 0x09, 0x93, 0xf2, 0xac, 0x0b, 0xd0, 0xe4, 0xbd, 0x79, 0x4f, 0xcc, 0x0f, 0xc4, 0x68,
+	0xcd, 0xd5, 0xdd, 0x1e, 0xdb, 0x9a, 0xe0, 0xa9, 0x38, 0xa2, 0x29, 0xd7, 0x07, 0x13, 0xff, 0xe5,
+	0x38, 0x64, 0x0b, 0xd2, 0x7e, 0x4e, 0x86, 0xeb, 0xc1, 0x6c, 0xec, 0x63, 0xf9, 0xbd, 0x54, 0x3a,
+	0x7a, 0x18, 0x7f, 0x1f, 0x87, 0xc9, 0x67, 0xc2, 0x0b, 0xaf, 0xc3, 0xd4, 0x09, 0x75, 0x98, 0x69,
+	0x77, 0x82, 0x72, 0xbd, 0x51, 0xbc, 0x0f, 0xd3, 0xaa, 0x76, 0x78, 0x7b, 0x96, 0xe9, 0x87, 0x5c,
+	0x8e, 0xfb, 0xcf, 0x4c, 0xdf, 0x37, 0xea, 0xd0, 0x8e, 0xfd, 0xff, 0x87, 0x76, 0xfc, 0xa2, 0x87,
+	0x16, 0xbf, 0x0f, 0x29, 0x75, 0x1c, 0xf8, 0x61, 0x62, 0xf9, 0x09, 0x31, 0x13, 0x83, 0x33, 0x9f,
+	0x9e, 0x76, 0x03, 0xb3, 0x93, 0x46, 0x7f, 0x98, 0xe1, 0x36, 0xa4, 0x15, 0x42, 0x4b, 0x9c, 0xfb,
+	0xfc, 0x64, 0xec, 0x71, 0xf7, 0x63, 0x28, 0x5a, 0x55, 0x2b, 0xb6, 0x21, 0x2d, 0xcb, 0xa2, 0x97,
+	0xb6, 0x53, 0xb1, 0x69, 0x1b, 0x00, 0xd1, 0xfd, 0x59, 0xff, 0x23, 0xc8, 0x0d, 0x2a, 0xb0, 0xee,
+	0xea, 0x0d, 0x9d, 0xd1, 0xfc, 0xb2, 0x02, 0xe2, 0x96, 0xe2, 0x13, 0xb3, 0x21, 0xe5, 0xec, 0xe8,
+	0xae, 0xbe, 0x95, 0xe5, 0x40, 0x49, 0x5f, 0x3d, 0xd0, 0x32, 0xdc, 0x8b, 0x3b, 0xa9, 0xd9, 0xf8,
+	0x19, 0xcc, 0xf9, 0x6b, 0xb6, 0x07, 0xba, 0x22, 0x40, 0x17, 0x8b, 0x62, 0x58, 0x8a, 0x3b, 0x13,
+	0x57, 0xe8, 0x92, 0x6e, 0x0a, 0xc2, 0xcb, 0xb1, 0xbf, 0x26, 0x20, 0x5b, 0xa3, 0xd6, 0xd1, 0x53,
+	0xca, 0x5c, 0x8d, 0xb2, 0xae, 0xdd, 0x61, 0xbc, 0xf4, 0x4c, 0x3a, 0x94, 0xf5, 0x2c, 0x57, 0x9d,
+	0xc2, 0x5b, 0x5e, 0x18, 0x86, 0x3d, 0xfd, 0x03, 0x3d, 0xcb, 0xd5, 0xd4, 0x34, 0x52, 0x85, 0xd9,
+	0xa0, 0x05, 0x93, 0x30, 0x55, 0x3b, 0xdc, 0xde, 0xde, 0xad, 0xd5, 0xb2, 0x23, 0xfc, 0xe1, 0xd1,
+	0xc3, 0xf2, 0xfe, 0xa1, 0xb6, 0x9b, 0x4d, 0x60, 0x0e, 0xd2, 0x07, 0x95, 0xa7, 0xf5, 0xda, 0x61,
+	0xb5, 0x5a, 0xd1, 0x9e, 0xee, 0xee, 0x64, 0x47, 0xf9, 0xd0, 0xe1, 0xc1, 0xe3, 0x83, 0xca, 0xf3,
+	0x83, 0xfa, 0xae, 0xa6, 0x55, 0xb4, 0xec, 0x98, 0x57, 0x27, 0x2b, 0x90, 0xab, 0x1c, 0x3d, 0x6c,
+	0xd1, 0x8e, 0x5b, 0xeb, 0x35, 0x58, 0xd3, 0x31, 0x1b, 0xd4, 0xc1, 0x15, 0x00, 0xfb, 0x48, 0xe7,
+	0x83, 0xfd, 0xe3, 0xac, 0xcd, 0xa8, 0x91, 0xb2, 0x81, 0x4b, 0x30, 0xa3, 0x5e, 0x71, 0xa6, 0xa1,
+	0xca, 0xc3, 0xb4, 0x1c, 0x28, 0x1b, 0xe4, 0x63, 0x80, 0x27, 0xb4, 0xdd, 0xa0, 0x0e, 0x3b, 0x36,
+	0xbb, 0x1c, 0x49, 0x24, 0x91, 0x2c, 0x25, 0x0a, 0x49, 0x8c, 0xf0, 0x42, 0x82, 0xb3, 0xa2, 0x58,
+	0x4a, 0x88, 0x51, 0xd3, 0xb8, 0xf7, 0xe7, 0x12, 0xa4, 0xe5, 0x01, 0xad, 0x51, 0x87, 0xc7, 0x1a,
+	0x2b, 0x30, 0x7b, 0xd8, 0x35, 0x74, 0x97, 0x7a, 0x65, 0x0a, 0x33, 0xbe, 0x73, 0xc4, 0x2b, 0x5c,
+	0x61, 0xb1, 0x28, 0x3b, 0x94, 0xa2, 0xd7, 0xa1, 0x14, 0x77, 0x79, 0x87, 0x42, 0xe6, 0xbf, 0xfc,
+	0xdb, 0x3f, 0xbf, 0x1a, 0x9d, 0xc5, 0x94, 0x68, 0x6c, 0x4e, 0xee, 0xf2, 0x5e, 0x82, 0xe1, 0x73,
+	0x48, 0xef, 0x51, 0xd7, 0x27, 0x31, 0x66, 0x7a, 0xa1, 0x7f, 0x64, 0x06, 0xbe, 0xa4, 0x20, 0x20,
+	0xe7, 0x11, 0x3d, 0xc8, 0xf6, 0x00, 0xe7, 0x05, 0x64, 0xa5, 0x52, 0x1f, 0x76, 0x04, 0x46, 0xac,
+	0xdc, 0x15, 0x81, 0x7d, 0x85, 0x44, 0x60, 0x3f, 0x48, 0xac, 0xe3, 0x0e, 0xcc, 0xec, 0x51, 0x57,
+	0x55, 0xaf, 0x38, 0xcd, 0xfd, 0x02, 0x21, 0xfd, 0x48, 0x46, 0x60, 0xce, 0xe0, 0x94, 0xc2, 0xc4,
+	0x1e, 0xe4, 0xf6, 0x4d, 0xe6, 0x06, 0x2b, 0x69, 0x1c, 0xda, 0x42, 0x54, 0x49, 0x65, 0xe4, 0xee,
+	0x1f, 0xfe, 0xf3, 0x66, 0x65, 0x4a, 0x55, 0x5f, 0xf1, 0x1b, 0xe5, 0x6f, 0x41, 0x36, 0x87, 0x39,
+	0x6f, 0x01, 0x66, 0x9f, 0xa1, 0x06, 0x99, 0x3d, 0x1a, 0x60, 0x45, 0xf0, 0xc0, 0xcb, 0x3b, 0x85,
+	0xc8, 0xda, 0x4d, 0xae, 0x09, 0xbc, 0x3c, 0x2e, 0x86, 0xf0, 0x4a, 0xaf, 0x4d, 0xe3, 0x0b, 0xd4,
+	0x21, 0xc5, 0xd7, 0xf2, 0xd0, 0xab, 0xbc, 0x71, 0xcb, 0xc8, 0x0e, 0xd5, 0x6d, 0x46, 0x6e, 0x71,
+	0xd5, 0x30, 0x28, 0xf0, 0x82, 0x08, 0x31, 0xeb, 0x11, 0xf5, 0x8b, 0xf9, 0x6b, 0x40, 0x4e, 0xb1,
+	0x1f, 0xac, 0xcb, 0x71, 0x44, 0x8b, 0x91, 0x15, 0x9e, 0x91, 0x8f, 0x38, 0x5d, 0x2e, 0xf4, 0x5e,
+	0x10, 0xac, 0x57, 0xf1, 0x8a, 0x2f, 0x3d, 0xfd, 0x66, 0xfc, 0x1c, 0xb2, 0x7b, 0x34, 0xc8, 0x1d,
+	0x88, 0x5a, 0xf4, 0x0b, 0x85, 0xdc, 0x10, 0xb8, 0xd7, 0x70, 0x39, 0x06, 0x57, 0x06, 0xcf, 0x81,
+	0xc5, 0xd0, 0xca, 0xaa, 0xb6, 0xe3, 0xb2, 0xe8, 0x8d, 0x51, 0x7e, 0xc2, 0x83, 0xdc, 0x57, 0x09,
+	0xd0, 0xe5, 0x4f, 0x82, 0xed, 0x06, 0x92, 0xb3, 0xd8, 0x4a, 0xc2, 0x13, 0x7f, 0x95, 0x80, 0xf9,
+	0xe1, 0x15, 0x71, 0x44, 0x5c, 0x88, 0xa0, 0x29, 0x1b, 0x85, 0xb9, 0x88, 0x61, 0xf2, 0x29, 0x27,
+	0x9f, 0x84, 0x71, 0x0e, 0x29, 0xb8, 0x8b, 0xf8, 0xfe, 0xf9, 0xdc, 0xa5, 0xd7, 0xfc, 0x9f, 0x3a,
+	0x5f, 0xf9, 0x6f, 0x12, 0x70, 0x65, 0xb7, 0xa3, 0x37, 0x2c, 0x7a, 0x61, 0x21, 0x71, 0x47, 0xf6,
+	0x63, 0x21, 0xe0, 0x23, 0xb2, 0x79, 0x19, 0x01, 0x25, 0x2a, 0xc8, 0xf1, 0x77, 0x09, 0xc8, 0xef,
+	0x98, 0xec, 0x1b, 0x11, 0xf2, 0x3d, 0x21, 0xe4, 0x3e, 0xf9, 0xf0, 0x52, 0x42, 0x0c, 0xc9, 0x8e,
+	0xbf, 0x88, 0xc8, 0x85, 0x47, 0x96, 0xfd, 0x2a, 0x98, 0x0b, 0x58, 0xf4, 0xff, 0xb9, 0x24, 0xec,
+	0x64, 0x4b, 0x65, 0x02, 0x1f, 0x0d, 0x97, 0x82, 0xf3, 0xb2, 0x42, 0xcc, 0xe2, 0x59, 0xb1, 0xdc,
+	0x2f, 0xf1, 0x41, 0x01, 0x4f, 0x85, 0xbc, 0xe5, 0x10, 0xb1, 0x18, 0x97, 0x73, 0x62, 0x43, 0xb2,
+	0x21, 0x24, 0xdc, 0x22, 0x17, 0x90, 0xc0, 0xcb, 0xeb, 0xaf, 0x13, 0xb0, 0x12, 0xa1, 0xe2, 0x09,
+	0x75, 0xa9, 0x23, 0x65, 0x2c, 0x05, 0x64, 0x08, 0xc3, 0x13, 0xdb, 0x38, 0x47, 0x45, 0x51, 0xa8,
+	0xb8, 0x4d, 0xde, 0x39, 0x53, 0x45, 0x9b, 0x83, 0x09, 0x19, 0xaf, 0x61, 0x59, 0xbc, 0x9d, 0x5c,
+	0xea, 0xf0, 0x6e, 0x98, 0x55, 0x8e, 0xe2, 0xcf, 0xff, 0x72, 0x58, 0x90, 0x98, 0xa3, 0xd1, 0xae,
+	0x75, 0x4a, 0xee, 0x0a, 0xe6, 0x3b, 0xf8, 0xde, 0x05, 0x98, 0xeb, 0x8c, 0xcf, 0xc3, 0x3f, 0x26,
+	0x60, 0x29, 0x32, 0x11, 0x54, 0x4f, 0xe7, 0x27, 0xbf, 0x12, 0xda, 0x14, 0xe9, 0x44, 0x0e, 0x78,
+	0x1a, 0xa4, 0x21, 0x29, 0x4c, 0xb2, 0x81, 0x0c, 0x25, 0xc6, 0x3a, 0xde, 0x3e, 0x77, 0x57, 0xd4,
+	0x5c, 0xfc, 0x2a, 0x01, 0x6b, 0x31, 0xe9, 0x21, 0x18, 0xe5, 0xe6, 0xac, 0x45, 0xcb, 0xb9, 0x48,
+	0xa2, 0x6c, 0x0a, 0x49, 0x1b, 0xe4, 0xc2, 0x92, 0xf8, 0x3e, 0xbd, 0x80, 0x24, 0x8f, 0xd4, 0x79,
+	0x6f, 0x84, 0x4c, 0xb0, 0x67, 0x66, 0xe4, 0x5d, 0x1e, 0x8b, 0x99, 0x7e, 0x5f, 0x2f, 0xa8, 0x73,
+	0x98, 0xf1, 0xa8, 0xbd, 0xd2, 0x6f, 0x40, 0x7a, 0x00, 0x5f, 0x36, 0xe2, 0x09, 0x92, 0x83, 0x2d,
+	0x61, 0xa4, 0xc8, 0xc1, 0x45, 0x1f, 0x7d, 0xd6, 0x5b, 0x59, 0x72, 0x98, 0x06, 0xc3, 0x43, 0xc8,
+	0x6a, 0xb4, 0x69, 0x77, 0x9a, 0xa6, 0x45, 0xbd, 0x95, 0xf8, 0x01, 0x63, 0x43, 0xb6, 0x2c, 0x30,
+	0x17, 0x49, 0x18, 0x93, 0xc7, 0x66, 0x57, 0x74, 0x2a, 0x11, 0x09, 0x3b, 0xf4, 0xe7, 0x8b, 0x07,
+	0x83, 0xf3, 0x43, 0xcb, 0x97, 0x6f, 0xa8, 0x1f, 0x42, 0x6a, 0xdb, 0xa1, 0xba, 0xab, 0xa4, 0xe1,
+	0xd0, 0xec, 0x10, 0x9a, 0xea, 0xcd, 0xc8, 0x70, 0x30, 0xb9, 0xa4, 0xe7, 0x90, 0x92, 0x25, 0x3f,
+	0x42, 0x55, 0xdc, 0x22, 0xdf, 0x11, 0x78, 0x2b, 0x64, 0x29, 0x4a, 0x9d, 0x57, 0xc4, 0x7f, 0x0c,
+	0x69, 0x55, 0xc3, 0x2f, 0x81, 0xac, 0xde, 0xd0, 0x64, 0x39, 0x12, 0xd9, 0xab, 0xca, 0xcf, 0x21,
+	0xa5, 0xd1, 0x86, 0x6d, 0xbb, 0xdf, 0x98, 0x66, 0x47, 0xc0, 0x71, 0xe0, 0x1d, 0x6a, 0x51, 0xf7,
+	0x6b, 0x04, 0x63, 0x3d, 0x1a, 0xd8, 0x10, 0x70, 0xd8, 0x83, 0xf4, 0x8e, 0xfd, 0xaa, 0x63, 0xd9,
+	0xba, 0x51, 0x6e, 0xeb, 0x2d, 0x3a, 0x78, 0x8b, 0x89, 0x47, 0xcf, 0x36, 0x68, 0x5c, 0x2a, 0x5d,
+	0xea, 0x88, 0xbb, 0x46, 0xfe, 0xe7, 0x0f, 0xb9, 0x2f, 0x38, 0x3e, 0x20, 0x77, 0x22, 0x39, 0x4c,
+	0x0e, 0x51, 0x37, 0x14, 0x06, 0x2b, 0xbd, 0xe6, 0x7f, 0x51, 0x7c, 0xc1, 0x37, 0xf7, 0xcb, 0x04,
+	0x2c, 0xee, 0x51, 0x37, 0xc0, 0x21, 0xaf, 0x12, 0xce, 0x15, 0x10, 0x18, 0x26, 0x0f, 0x84, 0x80,
+	0x0f, 0xf1, 0xde, 0x25, 0x04, 0x94, 0x98, 0x64, 0xea, 0x89, 0x66, 0x2d, 0x80, 0x77, 0x49, 0x76,
+	0x55, 0x87, 0xf0, 0x32, 0xcb, 0xc7, 0x23, 0xd9, 0xa0, 0x06, 0x90, 0xd8, 0xd0, 0x8e, 0x46, 0xb1,
+	0x31, 0xf2, 0xbe, 0xa0, 0xbb, 0x89, 0x37, 0x2e, 0x42, 0x87, 0x3f, 0x87, 0xb9, 0x6d, 0xde, 0x7a,
+	0x5b, 0x97, 0x5b, 0x61, 0x70, 0x83, 0xd5, 0x0a, 0xd7, 0x2f, 0xb5, 0xc2, 0xdf, 0x27, 0x60, 0xee,
+	0x61, 0xd3, 0x35, 0x4f, 0x74, 0x97, 0x0a, 0x16, 0x59, 0xce, 0x2f, 0x49, 0xbd, 0x2d, 0xa8, 0x3f,
+	0x21, 0xdf, 0xb9, 0xcc, 0xd6, 0xca, 0xe1, 0x9e, 0xe0, 0xe3, 0x89, 0xf6, 0xdb, 0x04, 0xe4, 0x34,
+	0x7a, 0x42, 0x1d, 0xf7, 0x5b, 0x11, 0xe2, 0x08, 0x6a, 0x2e, 0xe4, 0xa7, 0x90, 0x19, 0xbc, 0x1e,
+	0xc2, 0x5d, 0x7b, 0xda, 0xfb, 0x2d, 0xdb, 0xf5, 0x62, 0xa8, 0x5d, 0x5f, 0xc6, 0x42, 0x24, 0xbd,
+	0x6c, 0xd3, 0x5f, 0xc0, 0x9c, 0x0f, 0xbd, 0xbd, 0x6d, 0x77, 0x8e, 0xcc, 0x56, 0x90, 0x21, 0xd7,
+	0x67, 0xf0, 0xcc, 0xe4, 0x96, 0x40, 0x5e, 0xc3, 0xeb, 0xd1, 0xc8, 0xed, 0x7a, 0x53, 0xe1, 0x74,
+	0x60, 0x41, 0x46, 0x6e, 0x98, 0x20, 0x0c, 0x1a, 0x5b, 0x8e, 0xd6, 0x65, 0x7f, 0x49, 0xce, 0x23,
+	0xe3, 0xc1, 0x6a, 0xfb, 0x83, 0x75, 0xb1, 0xb6, 0xf6, 0xc1, 0x99, 0x6d, 0x6d, 0x5c, 0xf4, 0xfa,
+	0xed, 0xec, 0x7c, 0x90, 0xef, 0x32, 0xdd, 0xd3, 0xa3, 0x0b, 0x74, 0x4f, 0x04, 0x57, 0x63, 0xf9,
+	0xbd, 0xae, 0xc9, 0xf6, 0x2f, 0x5a, 0x5e, 0xeb, 0xc5, 0xb5, 0x10, 0x73, 0xe1, 0xab, 0x41, 0x46,
+	0x4a, 0x9c, 0x75, 0x36, 0x78, 0x95, 0x18, 0xfd, 0xb6, 0x96, 0x36, 0xd4, 0xc4, 0xb5, 0xca, 0x00,
+	0x62, 0x28, 0xc6, 0x21, 0x0a, 0xb2, 0x26, 0xe0, 0x96, 0xf0, 0x6a, 0x14, 0x9c, 0xec, 0x00, 0x18,
+	0x64, 0x07, 0x8b, 0x50, 0x51, 0x8c, 0x5b, 0xc5, 0x7c, 0xc4, 0xed, 0xa4, 0xba, 0xaa, 0xc8, 0x0c,
+	0xdd, 0x67, 0xca, 0x7b, 0x16, 0x5c, 0x18, 0x22, 0x56, 0x91, 0x7b, 0x04, 0xd9, 0x9a, 0xeb, 0x50,
+	0xbd, 0x5d, 0xd5, 0x9b, 0x2f, 0xa9, 0xcb, 0x2a, 0x3d, 0x17, 0x17, 0x03, 0xdb, 0x25, 0x0d, 0x95,
+	0x9e, 0x1b, 0x9b, 0x9e, 0x23, 0xb7, 0x13, 0xb8, 0x2b, 0x9a, 0x2b, 0x6a, 0x9e, 0x50, 0x05, 0x54,
+	0xee, 0x9c, 0x71, 0xd1, 0x12, 0xc6, 0x2f, 0x77, 0xc8, 0xc8, 0x07, 0x09, 0x7c, 0x0c, 0x73, 0x0a,
+	0x66, 0xfb, 0x58, 0xef, 0xb4, 0xe8, 0xee, 0x09, 0xed, 0xb8, 0xf1, 0x61, 0xc8, 0x07, 0x90, 0x7c,
+	0x53, 0x04, 0xd8, 0x21, 0xcc, 0xf6, 0x37, 0x49, 0x7e, 0x79, 0xf2, 0xef, 0x52, 0xd4, 0x05, 0x2f,
+	0x21, 0xd1, 0x29, 0xaf, 0xa2, 0x25, 0xf7, 0xa9, 0x0e, 0x39, 0xd9, 0xa9, 0xf9, 0xbf, 0x83, 0x44,
+	0xdd, 0xf4, 0x16, 0xa2, 0x06, 0xc9, 0xaa, 0xa0, 0x28, 0x90, 0xfe, 0x86, 0x04, 0x2e, 0x8e, 0xf9,
+	0x11, 0x96, 0xba, 0xfd, 0xe8, 0x91, 0xba, 0xfd, 0xa0, 0x21, 0xdd, 0x01, 0x50, 0xa9, 0xdb, 0x80,
+	0x9c, 0xac, 0x44, 0x5f, 0x4f, 0xf7, 0xbb, 0x82, 0xe2, 0x7a, 0xe1, 0x0c, 0x0a, 0x2e, 0xfe, 0x73,
+	0xc8, 0xc9, 0x76, 0x2b, 0x4e, 0x7f, 0x5c, 0x16, 0xa9, 0x25, 0xac, 0x9f, 0xb5, 0x84, 0xba, 0x3c,
+	0x22, 0x81, 0x6f, 0x45, 0xe7, 0x1e, 0x11, 0xbf, 0xb7, 0x77, 0xed, 0x88, 0xd1, 0xd1, 0xc7, 0x7d,
+	0xd1, 0xcc, 0x8b, 0x57, 0x1b, 0x8b, 0x6e, 0xe6, 0xa5, 0xcd, 0xeb, 0x10, 0x71, 0x29, 0xfe, 0xc5,
+	0xc6, 0xf0, 0x33, 0x98, 0xf6, 0xae, 0xb1, 0x03, 0x60, 0xf9, 0xb8, 0xfb, 0x70, 0x72, 0x53, 0xc0,
+	0xae, 0x92, 0x6b, 0x91, 0xb0, 0x8c, 0x5a, 0x47, 0x75, 0x97, 0xa3, 0x3d, 0x13, 0xfd, 0x57, 0xe0,
+	0x73, 0xc0, 0x50, 0x92, 0x84, 0xbf, 0x17, 0x84, 0x6b, 0x10, 0x3f, 0x3c, 0xdc, 0x4f, 0xfd, 0x71,
+	0x6c, 0x36, 0xf0, 0x05, 0xa0, 0x97, 0x7a, 0x31, 0xc8, 0x31, 0x1f, 0x0d, 0xc2, 0x01, 0x09, 0x82,
+	0x8b, 0x49, 0xc8, 0x20, 0x5d, 0x33, 0xdb, 0x3d, 0xcb, 0x4b, 0x42, 0x5c, 0xee, 0x47, 0xc2, 0x3f,
+	0xac, 0xd1, 0x9f, 0xf5, 0x28, 0x73, 0xe3, 0x9a, 0x8a, 0xd0, 0x5d, 0x47, 0x30, 0x48, 0x0a, 0xa9,
+	0xce, 0x91, 0x78, 0x46, 0x6e, 0xc3, 0x4c, 0xff, 0xb2, 0x1f, 0xfb, 0x1f, 0x04, 0x43, 0x9f, 0x01,
+	0x0a, 0xf1, 0x26, 0x32, 0xb2, 0x65, 0xc2, 0x9c, 0xed, 0xb4, 0x44, 0xb9, 0x69, 0xda, 0x8e, 0xa1,
+	0x5c, 0xb7, 0x52, 0xf2, 0xe6, 0xb9, 0x2a, 0xbe, 0x7d, 0xff, 0xe4, 0x4e, 0xcb, 0x74, 0x8f, 0x7b,
+	0x8d, 0x62, 0xd3, 0x6e, 0x97, 0x3c, 0x4f, 0xf5, 0x7f, 0x10, 0x36, 0xd4, 0xe7, 0xf1, 0x96, 0xad,
+	0x06, 0xfe, 0x32, 0xba, 0x58, 0xf1, 0xc0, 0x9e, 0xf9, 0x6f, 0xb1, 0xab, 0xa3, 0xd5, 0xb1, 0xea,
+	0x78, 0x75, 0xa2, 0x3a, 0x59, 0x9d, 0xaa, 0x4e, 0x37, 0x26, 0xc5, 0xc4, 0xcd, 0xff, 0x05, 0x00,
+	0x00, 0xff, 0xff, 0xe4, 0xcb, 0x00, 0x47, 0xda, 0x20, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -2899,6 +3012,185 @@
 	Subscribe(context.Context, *OfAgentSubscriber) (*OfAgentSubscriber, error)
 }
 
+// UnimplementedVolthaServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedVolthaServiceServer struct {
+}
+
+func (*UnimplementedVolthaServiceServer) UpdateLogLevel(ctx context.Context, req *Logging) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateLogLevel not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetMembership(ctx context.Context, req *empty.Empty) (*Membership, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetMembership not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateMembership(ctx context.Context, req *Membership) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateMembership not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetVoltha(ctx context.Context, req *empty.Empty) (*Voltha, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetVoltha not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListCoreInstances(ctx context.Context, req *empty.Empty) (*CoreInstances, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListCoreInstances not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetCoreInstance(ctx context.Context, req *common.ID) (*CoreInstance, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetCoreInstance not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListAdapters(ctx context.Context, req *empty.Empty) (*Adapters, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListAdapters not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListLogicalDevices(ctx context.Context, req *empty.Empty) (*LogicalDevices, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListLogicalDevices not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetLogicalDevice(ctx context.Context, req *common.ID) (*LogicalDevice, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetLogicalDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListLogicalDevicePorts(ctx context.Context, req *common.ID) (*LogicalPorts, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListLogicalDevicePorts not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetLogicalDevicePort(ctx context.Context, req *LogicalPortId) (*LogicalPort, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetLogicalDevicePort not implemented")
+}
+func (*UnimplementedVolthaServiceServer) EnableLogicalDevicePort(ctx context.Context, req *LogicalPortId) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method EnableLogicalDevicePort not implemented")
+}
+func (*UnimplementedVolthaServiceServer) DisableLogicalDevicePort(ctx context.Context, req *LogicalPortId) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DisableLogicalDevicePort not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListLogicalDeviceFlows(ctx context.Context, req *common.ID) (*openflow_13.Flows, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListLogicalDeviceFlows not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateLogicalDeviceFlowTable(ctx context.Context, req *openflow_13.FlowTableUpdate) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateLogicalDeviceFlowTable not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateLogicalDeviceMeterTable(ctx context.Context, req *openflow_13.MeterModUpdate) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateLogicalDeviceMeterTable not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetMeterStatsOfLogicalDevice(ctx context.Context, req *common.ID) (*openflow_13.MeterStatsReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetMeterStatsOfLogicalDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListLogicalDeviceFlowGroups(ctx context.Context, req *common.ID) (*openflow_13.FlowGroups, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListLogicalDeviceFlowGroups not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateLogicalDeviceFlowGroupTable(ctx context.Context, req *openflow_13.FlowGroupTableUpdate) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateLogicalDeviceFlowGroupTable not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDevices(ctx context.Context, req *empty.Empty) (*Devices, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDevices not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDeviceIds(ctx context.Context, req *empty.Empty) (*common.IDs, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDeviceIds not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ReconcileDevices(ctx context.Context, req *common.IDs) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ReconcileDevices not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetDevice(ctx context.Context, req *common.ID) (*Device, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) CreateDevice(ctx context.Context, req *Device) (*Device, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) EnableDevice(ctx context.Context, req *common.ID) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method EnableDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) DisableDevice(ctx context.Context, req *common.ID) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DisableDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) RebootDevice(ctx context.Context, req *common.ID) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method RebootDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) DeleteDevice(ctx context.Context, req *common.ID) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) DownloadImage(ctx context.Context, req *ImageDownload) (*common.OperationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DownloadImage not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetImageDownloadStatus(ctx context.Context, req *ImageDownload) (*ImageDownload, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetImageDownloadStatus not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetImageDownload(ctx context.Context, req *ImageDownload) (*ImageDownload, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetImageDownload not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListImageDownloads(ctx context.Context, req *common.ID) (*ImageDownloads, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListImageDownloads not implemented")
+}
+func (*UnimplementedVolthaServiceServer) CancelImageDownload(ctx context.Context, req *ImageDownload) (*common.OperationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CancelImageDownload not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ActivateImageUpdate(ctx context.Context, req *ImageDownload) (*common.OperationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ActivateImageUpdate not implemented")
+}
+func (*UnimplementedVolthaServiceServer) RevertImageUpdate(ctx context.Context, req *ImageDownload) (*common.OperationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method RevertImageUpdate not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDevicePorts(ctx context.Context, req *common.ID) (*Ports, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDevicePorts not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDevicePmConfigs(ctx context.Context, req *common.ID) (*PmConfigs, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDevicePmConfigs not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateDevicePmConfigs(ctx context.Context, req *PmConfigs) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateDevicePmConfigs not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDeviceFlows(ctx context.Context, req *common.ID) (*openflow_13.Flows, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDeviceFlows not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDeviceFlowGroups(ctx context.Context, req *common.ID) (*openflow_13.FlowGroups, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDeviceFlowGroups not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDeviceTypes(ctx context.Context, req *empty.Empty) (*DeviceTypes, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDeviceTypes not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetDeviceType(ctx context.Context, req *common.ID) (*DeviceType, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetDeviceType not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListDeviceGroups(ctx context.Context, req *empty.Empty) (*DeviceGroups, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDeviceGroups not implemented")
+}
+func (*UnimplementedVolthaServiceServer) StreamPacketsOut(srv VolthaService_StreamPacketsOutServer) error {
+	return status.Errorf(codes.Unimplemented, "method StreamPacketsOut not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ReceivePacketsIn(req *empty.Empty, srv VolthaService_ReceivePacketsInServer) error {
+	return status.Errorf(codes.Unimplemented, "method ReceivePacketsIn not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ReceiveChangeEvents(req *empty.Empty, srv VolthaService_ReceiveChangeEventsServer) error {
+	return status.Errorf(codes.Unimplemented, "method ReceiveChangeEvents not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetDeviceGroup(ctx context.Context, req *common.ID) (*DeviceGroup, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetDeviceGroup not implemented")
+}
+func (*UnimplementedVolthaServiceServer) CreateAlarmFilter(ctx context.Context, req *AlarmFilter) (*AlarmFilter, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateAlarmFilter not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetAlarmFilter(ctx context.Context, req *common.ID) (*AlarmFilter, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetAlarmFilter not implemented")
+}
+func (*UnimplementedVolthaServiceServer) UpdateAlarmFilter(ctx context.Context, req *AlarmFilter) (*AlarmFilter, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateAlarmFilter not implemented")
+}
+func (*UnimplementedVolthaServiceServer) DeleteAlarmFilter(ctx context.Context, req *common.ID) (*empty.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteAlarmFilter not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ListAlarmFilters(ctx context.Context, req *empty.Empty) (*AlarmFilters, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListAlarmFilters not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetImages(ctx context.Context, req *common.ID) (*Images, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetImages not implemented")
+}
+func (*UnimplementedVolthaServiceServer) SelfTest(ctx context.Context, req *common.ID) (*SelfTestResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SelfTest not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetMibDeviceData(ctx context.Context, req *common.ID) (*omci.MibDeviceData, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetMibDeviceData not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetAlarmDeviceData(ctx context.Context, req *common.ID) (*omci.AlarmDeviceData, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetAlarmDeviceData not implemented")
+}
+func (*UnimplementedVolthaServiceServer) SimulateAlarm(ctx context.Context, req *SimulateAlarmRequest) (*common.OperationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SimulateAlarm not implemented")
+}
+func (*UnimplementedVolthaServiceServer) Subscribe(ctx context.Context, req *OfAgentSubscriber) (*OfAgentSubscriber, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method Subscribe not implemented")
+}
+
 func RegisterVolthaServiceServer(s *grpc.Server, srv VolthaServiceServer) {
 	s.RegisterService(&_VolthaService_serviceDesc, srv)
 }
@@ -4205,164 +4497,3 @@
 	},
 	Metadata: "voltha_protos/voltha.proto",
 }
-
-func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_voltha_1f7600b5a75eb6d1) }
-
-var fileDescriptor_voltha_1f7600b5a75eb6d1 = []byte{
-	// 2475 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x73, 0xdb, 0xc6,
-	0x15, 0x16, 0x75, 0xd7, 0x21, 0x29, 0x92, 0x47, 0x17, 0xd3, 0x94, 0x64, 0x4b, 0x1b, 0xc7, 0x76,
-	0xe4, 0x88, 0x8c, 0xad, 0xc4, 0xd3, 0x3a, 0xcd, 0xa4, 0xd6, 0xc5, 0x2a, 0x6b, 0x59, 0x64, 0x41,
-	0xcb, 0x4e, 0x9b, 0x7a, 0x38, 0x20, 0xb1, 0xa2, 0x30, 0x06, 0x09, 0x16, 0x0b, 0xca, 0xd5, 0xb8,
-	0x99, 0xce, 0xa4, 0xd7, 0xe9, 0x63, 0xf3, 0x17, 0xfa, 0xd0, 0xe9, 0xf4, 0xaf, 0xf8, 0xa9, 0xbf,
-	0xa0, 0x9d, 0x3e, 0xf4, 0xb1, 0x4f, 0x6e, 0x1f, 0x3b, 0x7b, 0x01, 0x09, 0x10, 0x80, 0x2e, 0x69,
-	0x66, 0xf2, 0x64, 0x62, 0xcf, 0xd9, 0xef, 0xfb, 0xf6, 0xec, 0xd9, 0x83, 0xa3, 0x85, 0xa1, 0x70,
-	0x62, 0x5b, 0xee, 0xb1, 0x5e, 0xef, 0x3a, 0xb6, 0x6b, 0xb3, 0x92, 0x7c, 0x2a, 0x8a, 0x27, 0x9c,
-	0x94, 0x4f, 0x85, 0xe5, 0x96, 0x6d, 0xb7, 0x2c, 0x5a, 0xd2, 0xbb, 0x66, 0x49, 0xef, 0x74, 0x6c,
-	0x57, 0x77, 0x4d, 0xbb, 0xc3, 0xa4, 0x57, 0x61, 0x49, 0x59, 0xc5, 0x53, 0xa3, 0x77, 0x54, 0xa2,
-	0xed, 0xae, 0x7b, 0xaa, 0x8c, 0xf9, 0x20, 0x7c, 0x9b, 0xba, 0x0a, 0xbc, 0x30, 0x44, 0xdc, 0xb4,
-	0xdb, 0x6d, 0xbb, 0x13, 0x6d, 0x3b, 0xa6, 0xba, 0xe5, 0x1e, 0x2b, 0x1b, 0x09, 0xda, 0x2c, 0xbb,
-	0x65, 0x36, 0x75, 0xab, 0x6e, 0xd0, 0x13, 0xb3, 0x49, 0xa3, 0xe7, 0x07, 0x6c, 0x4b, 0x41, 0x9b,
-	0x6e, 0xe8, 0x5d, 0x97, 0x3a, 0xca, 0x78, 0x3d, 0x68, 0xb4, 0xbb, 0xb4, 0x73, 0x64, 0xd9, 0xaf,
-	0xea, 0x77, 0x37, 0x63, 0x1c, 0xda, 0x4d, 0xb3, 0xde, 0x36, 0x1b, 0x75, 0xa3, 0xa1, 0x1c, 0xd6,
-	0x22, 0x1c, 0x74, 0x4b, 0x77, 0xda, 0x03, 0x97, 0xd5, 0xa0, 0xcb, 0xa9, 0xde, 0x69, 0xd5, 0xed,
-	0xae, 0x2f, 0xa4, 0xe4, 0x4f, 0x09, 0x48, 0xee, 0x08, 0xd1, 0x7b, 0x8e, 0xdd, 0xeb, 0xe2, 0x02,
-	0x8c, 0x9a, 0x46, 0x3e, 0xb1, 0x9a, 0xb8, 0x3d, 0xb3, 0x35, 0xf1, 0xaf, 0xb7, 0x6f, 0x56, 0x12,
-	0xda, 0xa8, 0x69, 0x60, 0x19, 0x32, 0xc1, 0xe5, 0xb3, 0xfc, 0xe8, 0xea, 0xd8, 0xed, 0xe4, 0xbd,
-	0x85, 0xa2, 0xda, 0xc7, 0x7d, 0x69, 0x96, 0x58, 0x5b, 0x33, 0xff, 0x78, 0xfb, 0x66, 0x65, 0x9c,
-	0x63, 0x69, 0xb3, 0x96, 0xdf, 0xc2, 0x70, 0x13, 0xa6, 0x3c, 0x88, 0x31, 0x01, 0x31, 0xeb, 0x41,
-	0x84, 0xe7, 0x7a, 0x9e, 0xe4, 0xbb, 0x90, 0xf2, 0xa9, 0x64, 0xf8, 0x1e, 0x4c, 0x98, 0x2e, 0x6d,
-	0xb3, 0x7c, 0x42, 0x40, 0xcc, 0x05, 0x21, 0x84, 0x93, 0x26, 0x3d, 0xc8, 0x2f, 0x01, 0x1f, 0xf2,
-	0xa8, 0x3c, 0x32, 0x2d, 0x97, 0x3a, 0x5a, 0xcf, 0xa2, 0x8f, 0xe9, 0x29, 0x69, 0x44, 0x8d, 0xe2,
-	0x24, 0x67, 0xcd, 0x8e, 0xe0, 0x34, 0x8c, 0xbb, 0xa7, 0x5d, 0x9a, 0x4d, 0x60, 0x0a, 0xa6, 0x19,
-	0x3d, 0xa1, 0x8e, 0xe9, 0x9e, 0x66, 0x47, 0x31, 0x03, 0x49, 0x87, 0x32, 0xbb, 0xe7, 0x34, 0x69,
-	0xdd, 0x34, 0xb2, 0x63, 0xdc, 0xdc, 0xd4, 0x5d, 0xda, 0xb2, 0x9d, 0xd3, 0xec, 0x38, 0xa6, 0x61,
-	0x46, 0x0a, 0xe6, 0xc6, 0x89, 0x07, 0x13, 0xff, 0x7e, 0xfb, 0x66, 0x65, 0x84, 0x1c, 0x43, 0x66,
-	0x88, 0x0a, 0x3f, 0x85, 0xb1, 0x97, 0xf4, 0x54, 0x84, 0x79, 0xf6, 0xde, 0x86, 0x27, 0x3e, 0x2c,
-	0x28, 0x62, 0x48, 0xe3, 0x33, 0x71, 0x1e, 0x26, 0x4e, 0x74, 0xab, 0x47, 0xf3, 0xa3, 0x7c, 0xa7,
-	0x34, 0xf9, 0x40, 0x6a, 0x90, 0xf4, 0x4d, 0x88, 0xdb, 0xcb, 0x0d, 0x98, 0x70, 0x7a, 0x56, 0x7f,
-	0x07, 0xaf, 0xc4, 0xd0, 0x6b, 0xd2, 0x8b, 0x7c, 0x02, 0x29, 0x9f, 0x85, 0xe1, 0x06, 0x4c, 0x1d,
-	0xc9, 0x9f, 0xc3, 0xc1, 0xf7, 0x03, 0x78, 0x3e, 0xe4, 0x05, 0x4c, 0xed, 0xdb, 0xad, 0x96, 0xd9,
-	0x69, 0x61, 0x09, 0x26, 0x2c, 0x7a, 0x42, 0x2d, 0xb5, 0xee, 0xab, 0xbe, 0xd4, 0xd9, 0xe7, 0xe3,
-	0xfd, 0x1f, 0x9a, 0xf4, 0xc3, 0x35, 0x48, 0x75, 0xf5, 0xe6, 0x4b, 0xbd, 0x45, 0xeb, 0x1d, 0xbd,
-	0xed, 0x2d, 0x36, 0xa9, 0xc6, 0x0e, 0xf4, 0x36, 0x25, 0x0e, 0xa4, 0xb6, 0x6d, 0x87, 0x96, 0x3b,
-	0xcc, 0xd5, 0x3b, 0x4d, 0x8a, 0x37, 0x21, 0x69, 0xaa, 0xdf, 0xf5, 0xe1, 0xc5, 0x83, 0x67, 0x29,
-	0x1b, 0xb8, 0x09, 0x93, 0xf2, 0xac, 0x0b, 0xd0, 0xe4, 0xbd, 0x79, 0x4f, 0xcc, 0x0f, 0xc4, 0x68,
-	0xcd, 0xd5, 0xdd, 0x1e, 0xdb, 0x9a, 0xe0, 0xa9, 0x38, 0xa2, 0x29, 0xd7, 0x07, 0x13, 0xff, 0xe5,
-	0x38, 0x64, 0x0b, 0xd2, 0x7e, 0x4e, 0x86, 0xeb, 0xc1, 0x6c, 0xec, 0x63, 0xf9, 0xbd, 0x54, 0x3a,
-	0x7a, 0x18, 0x7f, 0x1f, 0x87, 0xc9, 0x67, 0xc2, 0x0b, 0xaf, 0xc3, 0xd4, 0x09, 0x75, 0x98, 0x69,
-	0x77, 0x82, 0x72, 0xbd, 0x51, 0xbc, 0x0f, 0xd3, 0xaa, 0x76, 0x78, 0x7b, 0x96, 0xe9, 0x87, 0x5c,
-	0x8e, 0xfb, 0xcf, 0x4c, 0xdf, 0x37, 0xea, 0xd0, 0x8e, 0xfd, 0xff, 0x87, 0x76, 0xfc, 0xa2, 0x87,
-	0x16, 0xbf, 0x0f, 0x29, 0x75, 0x1c, 0xf8, 0x61, 0x62, 0xf9, 0x09, 0x31, 0x13, 0x83, 0x33, 0x9f,
-	0x9e, 0x76, 0x03, 0xb3, 0x93, 0x46, 0x7f, 0x98, 0xe1, 0x36, 0xa4, 0x15, 0x42, 0x4b, 0x9c, 0xfb,
-	0xfc, 0x64, 0xec, 0x71, 0xf7, 0x63, 0x28, 0x5a, 0x55, 0x2b, 0xb6, 0x21, 0x2d, 0xcb, 0xa2, 0x97,
-	0xb6, 0x53, 0xb1, 0x69, 0x1b, 0x00, 0xd1, 0xfd, 0x59, 0xff, 0x23, 0xc8, 0x0d, 0x2a, 0xb0, 0xee,
-	0xea, 0x0d, 0x9d, 0xd1, 0xfc, 0xb2, 0x02, 0xe2, 0x96, 0xe2, 0x13, 0xb3, 0x21, 0xe5, 0xec, 0xe8,
-	0xae, 0xbe, 0x95, 0xe5, 0x40, 0x49, 0x5f, 0x3d, 0xd0, 0x32, 0xdc, 0x8b, 0x3b, 0xa9, 0xd9, 0xf8,
-	0x19, 0xcc, 0xf9, 0x6b, 0xb6, 0x07, 0xba, 0x22, 0x40, 0x17, 0x8b, 0x62, 0x58, 0x8a, 0x3b, 0x13,
-	0x57, 0xe8, 0x92, 0x6e, 0x0a, 0xc2, 0xcb, 0xb1, 0xbf, 0x26, 0x20, 0x5b, 0xa3, 0xd6, 0xd1, 0x53,
-	0xca, 0x5c, 0x8d, 0xb2, 0xae, 0xdd, 0x61, 0xbc, 0xf4, 0x4c, 0x3a, 0x94, 0xf5, 0x2c, 0x57, 0x9d,
-	0xc2, 0x5b, 0x5e, 0x18, 0x86, 0x3d, 0xfd, 0x03, 0x3d, 0xcb, 0xd5, 0xd4, 0x34, 0x52, 0x85, 0xd9,
-	0xa0, 0x05, 0x93, 0x30, 0x55, 0x3b, 0xdc, 0xde, 0xde, 0xad, 0xd5, 0xb2, 0x23, 0xfc, 0xe1, 0xd1,
-	0xc3, 0xf2, 0xfe, 0xa1, 0xb6, 0x9b, 0x4d, 0x60, 0x0e, 0xd2, 0x07, 0x95, 0xa7, 0xf5, 0xda, 0x61,
-	0xb5, 0x5a, 0xd1, 0x9e, 0xee, 0xee, 0x64, 0x47, 0xf9, 0xd0, 0xe1, 0xc1, 0xe3, 0x83, 0xca, 0xf3,
-	0x83, 0xfa, 0xae, 0xa6, 0x55, 0xb4, 0xec, 0x98, 0x57, 0x27, 0x2b, 0x90, 0xab, 0x1c, 0x3d, 0x6c,
-	0xd1, 0x8e, 0x5b, 0xeb, 0x35, 0x58, 0xd3, 0x31, 0x1b, 0xd4, 0xc1, 0x15, 0x00, 0xfb, 0x48, 0xe7,
-	0x83, 0xfd, 0xe3, 0xac, 0xcd, 0xa8, 0x91, 0xb2, 0x81, 0x4b, 0x30, 0xa3, 0x5e, 0x71, 0xa6, 0xa1,
-	0xca, 0xc3, 0xb4, 0x1c, 0x28, 0x1b, 0xe4, 0x63, 0x80, 0x27, 0xb4, 0xdd, 0xa0, 0x0e, 0x3b, 0x36,
-	0xbb, 0x1c, 0x49, 0x24, 0x91, 0x2c, 0x25, 0x0a, 0x49, 0x8c, 0xf0, 0x42, 0x82, 0xb3, 0xa2, 0x58,
-	0x4a, 0x88, 0x51, 0xd3, 0xb8, 0xf7, 0xe7, 0x12, 0xa4, 0xe5, 0x01, 0xad, 0x51, 0x87, 0xc7, 0x1a,
-	0x2b, 0x30, 0x7b, 0xd8, 0x35, 0x74, 0x97, 0x7a, 0x65, 0x0a, 0x33, 0xbe, 0x73, 0xc4, 0x2b, 0x5c,
-	0x61, 0xb1, 0x28, 0x3b, 0x94, 0xa2, 0xd7, 0xa1, 0x14, 0x77, 0x79, 0x87, 0x42, 0xe6, 0xbf, 0xfc,
-	0xdb, 0x3f, 0xbf, 0x1a, 0x9d, 0xc5, 0x94, 0x68, 0x6c, 0x4e, 0xee, 0xf2, 0x5e, 0x82, 0xe1, 0x73,
-	0x48, 0xef, 0x51, 0xd7, 0x27, 0x31, 0x66, 0x7a, 0xa1, 0x7f, 0x64, 0x06, 0xbe, 0xa4, 0x20, 0x20,
-	0xe7, 0x11, 0x3d, 0xc8, 0xf6, 0x00, 0xe7, 0x05, 0x64, 0xa5, 0x52, 0x1f, 0x76, 0x04, 0x46, 0xac,
-	0xdc, 0x15, 0x81, 0x7d, 0x85, 0x44, 0x60, 0x3f, 0x48, 0xac, 0xe3, 0x0e, 0xcc, 0xec, 0x51, 0x57,
-	0x55, 0xaf, 0x38, 0xcd, 0xfd, 0x02, 0x21, 0xfd, 0x48, 0x46, 0x60, 0xce, 0xe0, 0x94, 0xc2, 0xc4,
-	0x1e, 0xe4, 0xf6, 0x4d, 0xe6, 0x06, 0x2b, 0x69, 0x1c, 0xda, 0x42, 0x54, 0x49, 0x65, 0xe4, 0xee,
-	0x1f, 0xfe, 0xf3, 0x66, 0x65, 0x4a, 0x55, 0x5f, 0xf1, 0x1b, 0xe5, 0x6f, 0x41, 0x36, 0x87, 0x39,
-	0x6f, 0x01, 0x66, 0x9f, 0xa1, 0x06, 0x99, 0x3d, 0x1a, 0x60, 0x45, 0xf0, 0xc0, 0xcb, 0x3b, 0x85,
-	0xc8, 0xda, 0x4d, 0xae, 0x09, 0xbc, 0x3c, 0x2e, 0x86, 0xf0, 0x4a, 0xaf, 0x4d, 0xe3, 0x0b, 0xd4,
-	0x21, 0xc5, 0xd7, 0xf2, 0xd0, 0xab, 0xbc, 0x71, 0xcb, 0xc8, 0x0e, 0xd5, 0x6d, 0x46, 0x6e, 0x71,
-	0xd5, 0x30, 0x28, 0xf0, 0x82, 0x08, 0x31, 0xeb, 0x11, 0xf5, 0x8b, 0xf9, 0x6b, 0x40, 0x4e, 0xb1,
-	0x1f, 0xac, 0xcb, 0x71, 0x44, 0x8b, 0x91, 0x15, 0x9e, 0x91, 0x8f, 0x38, 0x5d, 0x2e, 0xf4, 0x5e,
-	0x10, 0xac, 0x57, 0xf1, 0x8a, 0x2f, 0x3d, 0xfd, 0x66, 0xfc, 0x1c, 0xb2, 0x7b, 0x34, 0xc8, 0x1d,
-	0x88, 0x5a, 0xf4, 0x0b, 0x85, 0xdc, 0x10, 0xb8, 0xd7, 0x70, 0x39, 0x06, 0x57, 0x06, 0xcf, 0x81,
-	0xc5, 0xd0, 0xca, 0xaa, 0xb6, 0xe3, 0xb2, 0xe8, 0x8d, 0x51, 0x7e, 0xc2, 0x83, 0xdc, 0x57, 0x09,
-	0xd0, 0xe5, 0x4f, 0x82, 0xed, 0x06, 0x92, 0xb3, 0xd8, 0x4a, 0xc2, 0x13, 0x7f, 0x95, 0x80, 0xf9,
-	0xe1, 0x15, 0x71, 0x44, 0x5c, 0x88, 0xa0, 0x29, 0x1b, 0x85, 0xb9, 0x88, 0x61, 0xf2, 0x29, 0x27,
-	0x9f, 0x84, 0x71, 0x0e, 0x29, 0xb8, 0x8b, 0xf8, 0xfe, 0xf9, 0xdc, 0xa5, 0xd7, 0xfc, 0x9f, 0x3a,
-	0x5f, 0xf9, 0x6f, 0x12, 0x70, 0x65, 0xb7, 0xa3, 0x37, 0x2c, 0x7a, 0x61, 0x21, 0x71, 0x47, 0xf6,
-	0x63, 0x21, 0xe0, 0x23, 0xb2, 0x79, 0x19, 0x01, 0x25, 0x2a, 0xc8, 0xf1, 0x77, 0x09, 0xc8, 0xef,
-	0x98, 0xec, 0x1b, 0x11, 0xf2, 0x3d, 0x21, 0xe4, 0x3e, 0xf9, 0xf0, 0x52, 0x42, 0x0c, 0xc9, 0x8e,
-	0xbf, 0x88, 0xc8, 0x85, 0x47, 0x96, 0xfd, 0x2a, 0x98, 0x0b, 0x58, 0xf4, 0xff, 0xb9, 0x24, 0xec,
-	0x64, 0x4b, 0x65, 0x02, 0x1f, 0x0d, 0x97, 0x82, 0xf3, 0xb2, 0x42, 0xcc, 0xe2, 0x59, 0xb1, 0xdc,
-	0x2f, 0xf1, 0x41, 0x01, 0x4f, 0x85, 0xbc, 0xe5, 0x10, 0xb1, 0x18, 0x97, 0x73, 0x62, 0x43, 0xb2,
-	0x21, 0x24, 0xdc, 0x22, 0x17, 0x90, 0xc0, 0xcb, 0xeb, 0xaf, 0x13, 0xb0, 0x12, 0xa1, 0xe2, 0x09,
-	0x75, 0xa9, 0x23, 0x65, 0x2c, 0x05, 0x64, 0x08, 0xc3, 0x13, 0xdb, 0x38, 0x47, 0x45, 0x51, 0xa8,
-	0xb8, 0x4d, 0xde, 0x39, 0x53, 0x45, 0x9b, 0x83, 0x09, 0x19, 0xaf, 0x61, 0x59, 0xbc, 0x9d, 0x5c,
-	0xea, 0xf0, 0x6e, 0x98, 0x55, 0x8e, 0xe2, 0xcf, 0xff, 0x72, 0x58, 0x90, 0x98, 0xa3, 0xd1, 0xae,
-	0x75, 0x4a, 0xee, 0x0a, 0xe6, 0x3b, 0xf8, 0xde, 0x05, 0x98, 0xeb, 0x8c, 0xcf, 0xc3, 0x3f, 0x26,
-	0x60, 0x29, 0x32, 0x11, 0x54, 0x4f, 0xe7, 0x27, 0xbf, 0x12, 0xda, 0x14, 0xe9, 0x44, 0x0e, 0x78,
-	0x1a, 0xa4, 0x21, 0x29, 0x4c, 0xb2, 0x81, 0x0c, 0x25, 0xc6, 0x3a, 0xde, 0x3e, 0x77, 0x57, 0xd4,
-	0x5c, 0xfc, 0x2a, 0x01, 0x6b, 0x31, 0xe9, 0x21, 0x18, 0xe5, 0xe6, 0xac, 0x45, 0xcb, 0xb9, 0x48,
-	0xa2, 0x6c, 0x0a, 0x49, 0x1b, 0xe4, 0xc2, 0x92, 0xf8, 0x3e, 0xbd, 0x80, 0x24, 0x8f, 0xd4, 0x79,
-	0x6f, 0x84, 0x4c, 0xb0, 0x67, 0x66, 0xe4, 0x5d, 0x1e, 0x8b, 0x99, 0x7e, 0x5f, 0x2f, 0xa8, 0x73,
-	0x98, 0xf1, 0xa8, 0xbd, 0xd2, 0x6f, 0x40, 0x7a, 0x00, 0x5f, 0x36, 0xe2, 0x09, 0x92, 0x83, 0x2d,
-	0x61, 0xa4, 0xc8, 0xc1, 0x45, 0x1f, 0x7d, 0xd6, 0x5b, 0x59, 0x72, 0x98, 0x06, 0xc3, 0x43, 0xc8,
-	0x6a, 0xb4, 0x69, 0x77, 0x9a, 0xa6, 0x45, 0xbd, 0x95, 0xf8, 0x01, 0x63, 0x43, 0xb6, 0x2c, 0x30,
-	0x17, 0x49, 0x18, 0x93, 0xc7, 0x66, 0x57, 0x74, 0x2a, 0x11, 0x09, 0x3b, 0xf4, 0xe7, 0x8b, 0x07,
-	0x83, 0xf3, 0x43, 0xcb, 0x97, 0x6f, 0xa8, 0x1f, 0x42, 0x6a, 0xdb, 0xa1, 0xba, 0xab, 0xa4, 0xe1,
-	0xd0, 0xec, 0x10, 0x9a, 0xea, 0xcd, 0xc8, 0x70, 0x30, 0xb9, 0xa4, 0xe7, 0x90, 0x92, 0x25, 0x3f,
-	0x42, 0x55, 0xdc, 0x22, 0xdf, 0x11, 0x78, 0x2b, 0x64, 0x29, 0x4a, 0x9d, 0x57, 0xc4, 0x7f, 0x0c,
-	0x69, 0x55, 0xc3, 0x2f, 0x81, 0xac, 0xde, 0xd0, 0x64, 0x39, 0x12, 0xd9, 0xab, 0xca, 0xcf, 0x21,
-	0xa5, 0xd1, 0x86, 0x6d, 0xbb, 0xdf, 0x98, 0x66, 0x47, 0xc0, 0x71, 0xe0, 0x1d, 0x6a, 0x51, 0xf7,
-	0x6b, 0x04, 0x63, 0x3d, 0x1a, 0xd8, 0x10, 0x70, 0xd8, 0x83, 0xf4, 0x8e, 0xfd, 0xaa, 0x63, 0xd9,
-	0xba, 0x51, 0x6e, 0xeb, 0x2d, 0x3a, 0x78, 0x8b, 0x89, 0x47, 0xcf, 0x36, 0x68, 0x5c, 0x2a, 0x5d,
-	0xea, 0x88, 0xbb, 0x46, 0xfe, 0xe7, 0x0f, 0xb9, 0x2f, 0x38, 0x3e, 0x20, 0x77, 0x22, 0x39, 0x4c,
-	0x0e, 0x51, 0x37, 0x14, 0x06, 0x2b, 0xbd, 0xe6, 0x7f, 0x51, 0x7c, 0xc1, 0x37, 0xf7, 0xcb, 0x04,
-	0x2c, 0xee, 0x51, 0x37, 0xc0, 0x21, 0xaf, 0x12, 0xce, 0x15, 0x10, 0x18, 0x26, 0x0f, 0x84, 0x80,
-	0x0f, 0xf1, 0xde, 0x25, 0x04, 0x94, 0x98, 0x64, 0xea, 0x89, 0x66, 0x2d, 0x80, 0x77, 0x49, 0x76,
-	0x55, 0x87, 0xf0, 0x32, 0xcb, 0xc7, 0x23, 0xd9, 0xa0, 0x06, 0x90, 0xd8, 0xd0, 0x8e, 0x46, 0xb1,
-	0x31, 0xf2, 0xbe, 0xa0, 0xbb, 0x89, 0x37, 0x2e, 0x42, 0x87, 0x3f, 0x87, 0xb9, 0x6d, 0xde, 0x7a,
-	0x5b, 0x97, 0x5b, 0x61, 0x70, 0x83, 0xd5, 0x0a, 0xd7, 0x2f, 0xb5, 0xc2, 0xdf, 0x27, 0x60, 0xee,
-	0x61, 0xd3, 0x35, 0x4f, 0x74, 0x97, 0x0a, 0x16, 0x59, 0xce, 0x2f, 0x49, 0xbd, 0x2d, 0xa8, 0x3f,
-	0x21, 0xdf, 0xb9, 0xcc, 0xd6, 0xca, 0xe1, 0x9e, 0xe0, 0xe3, 0x89, 0xf6, 0xdb, 0x04, 0xe4, 0x34,
-	0x7a, 0x42, 0x1d, 0xf7, 0x5b, 0x11, 0xe2, 0x08, 0x6a, 0x2e, 0xe4, 0xa7, 0x90, 0x19, 0xbc, 0x1e,
-	0xc2, 0x5d, 0x7b, 0xda, 0xfb, 0x2d, 0xdb, 0xf5, 0x62, 0xa8, 0x5d, 0x5f, 0xc6, 0x42, 0x24, 0xbd,
-	0x6c, 0xd3, 0x5f, 0xc0, 0x9c, 0x0f, 0xbd, 0xbd, 0x6d, 0x77, 0x8e, 0xcc, 0x56, 0x90, 0x21, 0xd7,
-	0x67, 0xf0, 0xcc, 0xe4, 0x96, 0x40, 0x5e, 0xc3, 0xeb, 0xd1, 0xc8, 0xed, 0x7a, 0x53, 0xe1, 0x74,
-	0x60, 0x41, 0x46, 0x6e, 0x98, 0x20, 0x0c, 0x1a, 0x5b, 0x8e, 0xd6, 0x65, 0x7f, 0x49, 0xce, 0x23,
-	0xe3, 0xc1, 0x6a, 0xfb, 0x83, 0x75, 0xb1, 0xb6, 0xf6, 0xc1, 0x99, 0x6d, 0x6d, 0x5c, 0xf4, 0xfa,
-	0xed, 0xec, 0x7c, 0x90, 0xef, 0x32, 0xdd, 0xd3, 0xa3, 0x0b, 0x74, 0x4f, 0x04, 0x57, 0x63, 0xf9,
-	0xbd, 0xae, 0xc9, 0xf6, 0x2f, 0x5a, 0x5e, 0xeb, 0xc5, 0xb5, 0x10, 0x73, 0xe1, 0xab, 0x41, 0x46,
-	0x4a, 0x9c, 0x75, 0x36, 0x78, 0x95, 0x18, 0xfd, 0xb6, 0x96, 0x36, 0xd4, 0xc4, 0xb5, 0xca, 0x00,
-	0x62, 0x28, 0xc6, 0x21, 0x0a, 0xb2, 0x26, 0xe0, 0x96, 0xf0, 0x6a, 0x14, 0x9c, 0xec, 0x00, 0x18,
-	0x64, 0x07, 0x8b, 0x50, 0x51, 0x8c, 0x5b, 0xc5, 0x7c, 0xc4, 0xed, 0xa4, 0xba, 0xaa, 0xc8, 0x0c,
-	0xdd, 0x67, 0xca, 0x7b, 0x16, 0x5c, 0x18, 0x22, 0x56, 0x91, 0x7b, 0x04, 0xd9, 0x9a, 0xeb, 0x50,
-	0xbd, 0x5d, 0xd5, 0x9b, 0x2f, 0xa9, 0xcb, 0x2a, 0x3d, 0x17, 0x17, 0x03, 0xdb, 0x25, 0x0d, 0x95,
-	0x9e, 0x1b, 0x9b, 0x9e, 0x23, 0xb7, 0x13, 0xb8, 0x2b, 0x9a, 0x2b, 0x6a, 0x9e, 0x50, 0x05, 0x54,
-	0xee, 0x9c, 0x71, 0xd1, 0x12, 0xc6, 0x2f, 0x77, 0xc8, 0xc8, 0x07, 0x09, 0x7c, 0x0c, 0x73, 0x0a,
-	0x66, 0xfb, 0x58, 0xef, 0xb4, 0xe8, 0xee, 0x09, 0xed, 0xb8, 0xf1, 0x61, 0xc8, 0x07, 0x90, 0x7c,
-	0x53, 0x04, 0xd8, 0x21, 0xcc, 0xf6, 0x37, 0x49, 0x7e, 0x79, 0xf2, 0xef, 0x52, 0xd4, 0x05, 0x2f,
-	0x21, 0xd1, 0x29, 0xaf, 0xa2, 0x25, 0xf7, 0xa9, 0x0e, 0x39, 0xd9, 0xa9, 0xf9, 0xbf, 0x83, 0x44,
-	0xdd, 0xf4, 0x16, 0xa2, 0x06, 0xc9, 0xaa, 0xa0, 0x28, 0x90, 0xfe, 0x86, 0x04, 0x2e, 0x8e, 0xf9,
-	0x11, 0x96, 0xba, 0xfd, 0xe8, 0x91, 0xba, 0xfd, 0xa0, 0x21, 0xdd, 0x01, 0x50, 0xa9, 0xdb, 0x80,
-	0x9c, 0xac, 0x44, 0x5f, 0x4f, 0xf7, 0xbb, 0x82, 0xe2, 0x7a, 0xe1, 0x0c, 0x0a, 0x2e, 0xfe, 0x73,
-	0xc8, 0xc9, 0x76, 0x2b, 0x4e, 0x7f, 0x5c, 0x16, 0xa9, 0x25, 0xac, 0x9f, 0xb5, 0x84, 0xba, 0x3c,
-	0x22, 0x81, 0x6f, 0x45, 0xe7, 0x1e, 0x11, 0xbf, 0xb7, 0x77, 0xed, 0x88, 0xd1, 0xd1, 0xc7, 0x7d,
-	0xd1, 0xcc, 0x8b, 0x57, 0x1b, 0x8b, 0x6e, 0xe6, 0xa5, 0xcd, 0xeb, 0x10, 0x71, 0x29, 0xfe, 0xc5,
-	0xc6, 0xf0, 0x33, 0x98, 0xf6, 0xae, 0xb1, 0x03, 0x60, 0xf9, 0xb8, 0xfb, 0x70, 0x72, 0x53, 0xc0,
-	0xae, 0x92, 0x6b, 0x91, 0xb0, 0x8c, 0x5a, 0x47, 0x75, 0x97, 0xa3, 0x3d, 0x13, 0xfd, 0x57, 0xe0,
-	0x73, 0xc0, 0x50, 0x92, 0x84, 0xbf, 0x17, 0x84, 0x6b, 0x10, 0x3f, 0x3c, 0xdc, 0x4f, 0xfd, 0x71,
-	0x6c, 0x36, 0xf0, 0x05, 0xa0, 0x97, 0x7a, 0x31, 0xc8, 0x31, 0x1f, 0x0d, 0xc2, 0x01, 0x09, 0x82,
-	0x8b, 0x49, 0xc8, 0x20, 0x5d, 0x33, 0xdb, 0x3d, 0xcb, 0x4b, 0x42, 0x5c, 0xee, 0x47, 0xc2, 0x3f,
-	0xac, 0xd1, 0x9f, 0xf5, 0x28, 0x73, 0xe3, 0x9a, 0x8a, 0xd0, 0x5d, 0x47, 0x30, 0x48, 0x0a, 0xa9,
-	0xce, 0x91, 0x78, 0x46, 0x6e, 0xc3, 0x4c, 0xff, 0xb2, 0x1f, 0xfb, 0x1f, 0x04, 0x43, 0x9f, 0x01,
-	0x0a, 0xf1, 0x26, 0x32, 0xb2, 0x65, 0xc2, 0x9c, 0xed, 0xb4, 0x44, 0xb9, 0x69, 0xda, 0x8e, 0xa1,
-	0x5c, 0xb7, 0x52, 0xf2, 0xe6, 0xb9, 0x2a, 0xbe, 0x7d, 0xff, 0xe4, 0x4e, 0xcb, 0x74, 0x8f, 0x7b,
-	0x8d, 0x62, 0xd3, 0x6e, 0x97, 0x3c, 0x4f, 0xf5, 0x7f, 0x10, 0x36, 0xd4, 0xe7, 0xf1, 0x96, 0xad,
-	0x06, 0xfe, 0x32, 0xba, 0x58, 0xf1, 0xc0, 0x9e, 0xf9, 0x6f, 0xb1, 0xab, 0xa3, 0xd5, 0xb1, 0xea,
-	0x78, 0x75, 0xa2, 0x3a, 0x59, 0x9d, 0xaa, 0x4e, 0x37, 0x26, 0xc5, 0xc4, 0xcd, 0xff, 0x05, 0x00,
-	0x00, 0xff, 0xff, 0xe4, 0xcb, 0x00, 0x47, 0xda, 0x20, 0x00, 0x00,
-}
