VOL-1460 Removing temporary protos and adding in go stubs for linking to voltha-go

Change-Id: Ia9714b506ddf15d651a82e9e250d55b43913a7c6
diff --git a/go/common/common.pb.go b/go/common/common.pb.go
new file mode 100644
index 0000000..169cd74
--- /dev/null
+++ b/go/common/common.pb.go
@@ -0,0 +1,520 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/common.proto
+
+package common // import "github.com/opencord/voltha-protos/go/common"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type TestModeKeys int32
+
+const (
+	TestModeKeys_api_test TestModeKeys = 0
+)
+
+var TestModeKeys_name = map[int32]string{
+	0: "api_test",
+}
+var TestModeKeys_value = map[string]int32{
+	"api_test": 0,
+}
+
+func (x TestModeKeys) String() string {
+	return proto.EnumName(TestModeKeys_name, int32(x))
+}
+func (TestModeKeys) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{0}
+}
+
+// Logging verbosity level
+type LogLevel_LogLevel int32
+
+const (
+	LogLevel_DEBUG    LogLevel_LogLevel = 0
+	LogLevel_INFO     LogLevel_LogLevel = 1
+	LogLevel_WARNING  LogLevel_LogLevel = 2
+	LogLevel_ERROR    LogLevel_LogLevel = 3
+	LogLevel_CRITICAL LogLevel_LogLevel = 4
+	LogLevel_FATAL    LogLevel_LogLevel = 5
+)
+
+var LogLevel_LogLevel_name = map[int32]string{
+	0: "DEBUG",
+	1: "INFO",
+	2: "WARNING",
+	3: "ERROR",
+	4: "CRITICAL",
+	5: "FATAL",
+}
+var LogLevel_LogLevel_value = map[string]int32{
+	"DEBUG":    0,
+	"INFO":     1,
+	"WARNING":  2,
+	"ERROR":    3,
+	"CRITICAL": 4,
+	"FATAL":    5,
+}
+
+func (x LogLevel_LogLevel) String() string {
+	return proto.EnumName(LogLevel_LogLevel_name, int32(x))
+}
+func (LogLevel_LogLevel) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{2, 0}
+}
+
+// Administrative State
+type AdminState_AdminState int32
+
+const (
+	// The administrative state of the device is unknown
+	AdminState_UNKNOWN AdminState_AdminState = 0
+	// The device is pre-provisioned into Voltha, but not contacted by it
+	AdminState_PREPROVISIONED AdminState_AdminState = 1
+	// The device is enabled for activation and operation
+	AdminState_ENABLED AdminState_AdminState = 2
+	// The device is disabled and shall not perform its intended forwarding
+	// functions other than being available for re-activation.
+	AdminState_DISABLED AdminState_AdminState = 3
+	// The device is in the state of image download
+	AdminState_DOWNLOADING_IMAGE AdminState_AdminState = 4
+	// The device is marked to be deleted
+	AdminState_DELETED AdminState_AdminState = 5
+)
+
+var AdminState_AdminState_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "PREPROVISIONED",
+	2: "ENABLED",
+	3: "DISABLED",
+	4: "DOWNLOADING_IMAGE",
+	5: "DELETED",
+}
+var AdminState_AdminState_value = map[string]int32{
+	"UNKNOWN":           0,
+	"PREPROVISIONED":    1,
+	"ENABLED":           2,
+	"DISABLED":          3,
+	"DOWNLOADING_IMAGE": 4,
+	"DELETED":           5,
+}
+
+func (x AdminState_AdminState) String() string {
+	return proto.EnumName(AdminState_AdminState_name, int32(x))
+}
+func (AdminState_AdminState) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{3, 0}
+}
+
+// Operational Status
+type OperStatus_OperStatus int32
+
+const (
+	// The status of the device is unknown at this point
+	OperStatus_UNKNOWN OperStatus_OperStatus = 0
+	// The device has been discovered, but not yet activated
+	OperStatus_DISCOVERED OperStatus_OperStatus = 1
+	// The device is being activated (booted, rebooted, upgraded, etc.)
+	OperStatus_ACTIVATING OperStatus_OperStatus = 2
+	// Service impacting tests are being conducted
+	OperStatus_TESTING OperStatus_OperStatus = 3
+	// The device is up and active
+	OperStatus_ACTIVE OperStatus_OperStatus = 4
+	// The device has failed and cannot fulfill its intended role
+	OperStatus_FAILED OperStatus_OperStatus = 5
+)
+
+var OperStatus_OperStatus_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "DISCOVERED",
+	2: "ACTIVATING",
+	3: "TESTING",
+	4: "ACTIVE",
+	5: "FAILED",
+}
+var OperStatus_OperStatus_value = map[string]int32{
+	"UNKNOWN":    0,
+	"DISCOVERED": 1,
+	"ACTIVATING": 2,
+	"TESTING":    3,
+	"ACTIVE":     4,
+	"FAILED":     5,
+}
+
+func (x OperStatus_OperStatus) String() string {
+	return proto.EnumName(OperStatus_OperStatus_name, int32(x))
+}
+func (OperStatus_OperStatus) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{4, 0}
+}
+
+// Connectivity Status
+type ConnectStatus_ConnectStatus int32
+
+const (
+	// The device connectivity status is unknown
+	ConnectStatus_UNKNOWN ConnectStatus_ConnectStatus = 0
+	// The device cannot be reached by Voltha
+	ConnectStatus_UNREACHABLE ConnectStatus_ConnectStatus = 1
+	// There is live communication between device and Voltha
+	ConnectStatus_REACHABLE ConnectStatus_ConnectStatus = 2
+)
+
+var ConnectStatus_ConnectStatus_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "UNREACHABLE",
+	2: "REACHABLE",
+}
+var ConnectStatus_ConnectStatus_value = map[string]int32{
+	"UNKNOWN":     0,
+	"UNREACHABLE": 1,
+	"REACHABLE":   2,
+}
+
+func (x ConnectStatus_ConnectStatus) String() string {
+	return proto.EnumName(ConnectStatus_ConnectStatus_name, int32(x))
+}
+func (ConnectStatus_ConnectStatus) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{5, 0}
+}
+
+type OperationResp_OperationReturnCode int32
+
+const (
+	OperationResp_OPERATION_SUCCESS     OperationResp_OperationReturnCode = 0
+	OperationResp_OPERATION_FAILURE     OperationResp_OperationReturnCode = 1
+	OperationResp_OPERATION_UNSUPPORTED OperationResp_OperationReturnCode = 2
+)
+
+var OperationResp_OperationReturnCode_name = map[int32]string{
+	0: "OPERATION_SUCCESS",
+	1: "OPERATION_FAILURE",
+	2: "OPERATION_UNSUPPORTED",
+}
+var OperationResp_OperationReturnCode_value = map[string]int32{
+	"OPERATION_SUCCESS":     0,
+	"OPERATION_FAILURE":     1,
+	"OPERATION_UNSUPPORTED": 2,
+}
+
+func (x OperationResp_OperationReturnCode) String() string {
+	return proto.EnumName(OperationResp_OperationReturnCode_name, int32(x))
+}
+func (OperationResp_OperationReturnCode) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{6, 0}
+}
+
+// Convey a resource identifier
+type ID struct {
+	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ID) Reset()         { *m = ID{} }
+func (m *ID) String() string { return proto.CompactTextString(m) }
+func (*ID) ProtoMessage()    {}
+func (*ID) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{0}
+}
+func (m *ID) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ID.Unmarshal(m, b)
+}
+func (m *ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ID.Marshal(b, m, deterministic)
+}
+func (dst *ID) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ID.Merge(dst, src)
+}
+func (m *ID) XXX_Size() int {
+	return xxx_messageInfo_ID.Size(m)
+}
+func (m *ID) XXX_DiscardUnknown() {
+	xxx_messageInfo_ID.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ID proto.InternalMessageInfo
+
+func (m *ID) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+// Represents a list of IDs
+type IDs struct {
+	Items                []*ID    `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *IDs) Reset()         { *m = IDs{} }
+func (m *IDs) String() string { return proto.CompactTextString(m) }
+func (*IDs) ProtoMessage()    {}
+func (*IDs) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{1}
+}
+func (m *IDs) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_IDs.Unmarshal(m, b)
+}
+func (m *IDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_IDs.Marshal(b, m, deterministic)
+}
+func (dst *IDs) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_IDs.Merge(dst, src)
+}
+func (m *IDs) XXX_Size() int {
+	return xxx_messageInfo_IDs.Size(m)
+}
+func (m *IDs) XXX_DiscardUnknown() {
+	xxx_messageInfo_IDs.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_IDs proto.InternalMessageInfo
+
+func (m *IDs) GetItems() []*ID {
+	if m != nil {
+		return m.Items
+	}
+	return nil
+}
+
+type LogLevel struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *LogLevel) Reset()         { *m = LogLevel{} }
+func (m *LogLevel) String() string { return proto.CompactTextString(m) }
+func (*LogLevel) ProtoMessage()    {}
+func (*LogLevel) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{2}
+}
+func (m *LogLevel) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_LogLevel.Unmarshal(m, b)
+}
+func (m *LogLevel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_LogLevel.Marshal(b, m, deterministic)
+}
+func (dst *LogLevel) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogLevel.Merge(dst, src)
+}
+func (m *LogLevel) XXX_Size() int {
+	return xxx_messageInfo_LogLevel.Size(m)
+}
+func (m *LogLevel) XXX_DiscardUnknown() {
+	xxx_messageInfo_LogLevel.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LogLevel proto.InternalMessageInfo
+
+type AdminState struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AdminState) Reset()         { *m = AdminState{} }
+func (m *AdminState) String() string { return proto.CompactTextString(m) }
+func (*AdminState) ProtoMessage()    {}
+func (*AdminState) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{3}
+}
+func (m *AdminState) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AdminState.Unmarshal(m, b)
+}
+func (m *AdminState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AdminState.Marshal(b, m, deterministic)
+}
+func (dst *AdminState) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AdminState.Merge(dst, src)
+}
+func (m *AdminState) XXX_Size() int {
+	return xxx_messageInfo_AdminState.Size(m)
+}
+func (m *AdminState) XXX_DiscardUnknown() {
+	xxx_messageInfo_AdminState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AdminState proto.InternalMessageInfo
+
+type OperStatus struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OperStatus) Reset()         { *m = OperStatus{} }
+func (m *OperStatus) String() string { return proto.CompactTextString(m) }
+func (*OperStatus) ProtoMessage()    {}
+func (*OperStatus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{4}
+}
+func (m *OperStatus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperStatus.Unmarshal(m, b)
+}
+func (m *OperStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperStatus.Marshal(b, m, deterministic)
+}
+func (dst *OperStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperStatus.Merge(dst, src)
+}
+func (m *OperStatus) XXX_Size() int {
+	return xxx_messageInfo_OperStatus.Size(m)
+}
+func (m *OperStatus) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperStatus proto.InternalMessageInfo
+
+type ConnectStatus struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ConnectStatus) Reset()         { *m = ConnectStatus{} }
+func (m *ConnectStatus) String() string { return proto.CompactTextString(m) }
+func (*ConnectStatus) ProtoMessage()    {}
+func (*ConnectStatus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{5}
+}
+func (m *ConnectStatus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ConnectStatus.Unmarshal(m, b)
+}
+func (m *ConnectStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ConnectStatus.Marshal(b, m, deterministic)
+}
+func (dst *ConnectStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ConnectStatus.Merge(dst, src)
+}
+func (m *ConnectStatus) XXX_Size() int {
+	return xxx_messageInfo_ConnectStatus.Size(m)
+}
+func (m *ConnectStatus) XXX_DiscardUnknown() {
+	xxx_messageInfo_ConnectStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ConnectStatus proto.InternalMessageInfo
+
+type OperationResp struct {
+	// Return code
+	Code OperationResp_OperationReturnCode `protobuf:"varint,1,opt,name=code,proto3,enum=voltha.OperationResp_OperationReturnCode" json:"code,omitempty"`
+	// Additional Info
+	AdditionalInfo       string   `protobuf:"bytes,2,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OperationResp) Reset()         { *m = OperationResp{} }
+func (m *OperationResp) String() string { return proto.CompactTextString(m) }
+func (*OperationResp) ProtoMessage()    {}
+func (*OperationResp) Descriptor() ([]byte, []int) {
+	return fileDescriptor_common_87dc80f46ec1fd6b, []int{6}
+}
+func (m *OperationResp) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationResp.Unmarshal(m, b)
+}
+func (m *OperationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationResp.Marshal(b, m, deterministic)
+}
+func (dst *OperationResp) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationResp.Merge(dst, src)
+}
+func (m *OperationResp) XXX_Size() int {
+	return xxx_messageInfo_OperationResp.Size(m)
+}
+func (m *OperationResp) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationResp.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationResp proto.InternalMessageInfo
+
+func (m *OperationResp) GetCode() OperationResp_OperationReturnCode {
+	if m != nil {
+		return m.Code
+	}
+	return OperationResp_OPERATION_SUCCESS
+}
+
+func (m *OperationResp) GetAdditionalInfo() string {
+	if m != nil {
+		return m.AdditionalInfo
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*ID)(nil), "voltha.ID")
+	proto.RegisterType((*IDs)(nil), "voltha.IDs")
+	proto.RegisterType((*LogLevel)(nil), "voltha.LogLevel")
+	proto.RegisterType((*AdminState)(nil), "voltha.AdminState")
+	proto.RegisterType((*OperStatus)(nil), "voltha.OperStatus")
+	proto.RegisterType((*ConnectStatus)(nil), "voltha.ConnectStatus")
+	proto.RegisterType((*OperationResp)(nil), "voltha.OperationResp")
+	proto.RegisterEnum("voltha.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
+	proto.RegisterEnum("voltha.LogLevel_LogLevel", LogLevel_LogLevel_name, LogLevel_LogLevel_value)
+	proto.RegisterEnum("voltha.AdminState_AdminState", AdminState_AdminState_name, AdminState_AdminState_value)
+	proto.RegisterEnum("voltha.OperStatus_OperStatus", OperStatus_OperStatus_name, OperStatus_OperStatus_value)
+	proto.RegisterEnum("voltha.ConnectStatus_ConnectStatus", ConnectStatus_ConnectStatus_name, ConnectStatus_ConnectStatus_value)
+	proto.RegisterEnum("voltha.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
+}
+
+func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_common_87dc80f46ec1fd6b) }
+
+var fileDescriptor_common_87dc80f46ec1fd6b = []byte{
+	// 564 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5f, 0x4f, 0xdb, 0x3e,
+	0x14, 0x6d, 0xd2, 0x3f, 0xc0, 0x2d, 0x94, 0xfc, 0xfc, 0x1b, 0x12, 0x43, 0x9b, 0x54, 0xe5, 0x05,
+	0xb6, 0x89, 0x22, 0xb1, 0xb7, 0x69, 0x7b, 0x30, 0x89, 0xe9, 0x2c, 0x82, 0x5d, 0x39, 0x09, 0x48,
+	0x7b, 0xa0, 0x0a, 0x8d, 0x29, 0x91, 0xda, 0x38, 0x6a, 0x0c, 0x12, 0x8f, 0xfb, 0x80, 0xfb, 0x0a,
+	0xfb, 0x0c, 0x7b, 0xda, 0xf3, 0xe4, 0x04, 0xd4, 0x76, 0xda, 0x5b, 0xce, 0x39, 0xd7, 0xf7, 0xf8,
+	0xe4, 0x5e, 0xc3, 0xc1, 0xa3, 0x9a, 0xe9, 0xfb, 0x64, 0x5c, 0x2c, 0x94, 0x56, 0xe5, 0xc9, 0x44,
+	0xcd, 0xe7, 0x2a, 0x1f, 0x54, 0x08, 0x75, 0x6a, 0xed, 0xa0, 0xbf, 0x5e, 0xf3, 0x94, 0xe4, 0xd3,
+	0xb1, 0x2a, 0x74, 0xa6, 0xf2, 0xb2, 0xae, 0x74, 0x5f, 0x81, 0x4d, 0x7d, 0xd4, 0x03, 0x3b, 0x4b,
+	0xf7, 0xad, 0xbe, 0x75, 0xb4, 0x25, 0xec, 0x2c, 0x75, 0x0f, 0xa1, 0x49, 0xfd, 0x12, 0xf5, 0xa1,
+	0x9d, 0x69, 0x39, 0x2f, 0xf7, 0xad, 0x7e, 0xf3, 0xa8, 0x7b, 0x0a, 0x83, 0xba, 0xdd, 0x80, 0xfa,
+	0xa2, 0x16, 0xdc, 0x09, 0x6c, 0x06, 0x6a, 0x1a, 0xc8, 0x47, 0x39, 0x73, 0x47, 0xcb, 0x6f, 0xb4,
+	0x05, 0x6d, 0x9f, 0x9c, 0xc5, 0x43, 0xa7, 0x81, 0x36, 0xa1, 0x45, 0xd9, 0x39, 0x77, 0x2c, 0xd4,
+	0x85, 0x8d, 0x6b, 0x2c, 0x18, 0x65, 0x43, 0xc7, 0x36, 0x15, 0x44, 0x08, 0x2e, 0x9c, 0x26, 0xda,
+	0x86, 0x4d, 0x4f, 0xd0, 0x88, 0x7a, 0x38, 0x70, 0x5a, 0x46, 0x38, 0xc7, 0x11, 0x0e, 0x9c, 0xf6,
+	0xa7, 0xf6, 0xaf, 0xdf, 0x3f, 0xde, 0x36, 0xdc, 0xef, 0x16, 0x00, 0x4e, 0xe7, 0x59, 0x1e, 0xea,
+	0x44, 0x4b, 0x77, 0xb6, 0x8a, 0x4c, 0xd3, 0x98, 0x5d, 0x30, 0x7e, 0xcd, 0x9c, 0x06, 0x42, 0xd0,
+	0x1b, 0x09, 0x32, 0x12, 0xfc, 0x8a, 0x86, 0x94, 0x33, 0xe2, 0xd7, 0xae, 0x84, 0xe1, 0xb3, 0x80,
+	0xf8, 0x8e, 0x6d, 0xac, 0x7c, 0x1a, 0xd6, 0xa8, 0x89, 0xf6, 0xe0, 0x3f, 0x9f, 0x5f, 0xb3, 0x80,
+	0x63, 0x9f, 0xb2, 0xe1, 0x98, 0x5e, 0xe2, 0x21, 0x71, 0x5a, 0xe6, 0x84, 0x4f, 0x02, 0x12, 0x11,
+	0x7f, 0x79, 0x87, 0x12, 0x80, 0x17, 0x72, 0x61, 0x3c, 0x1f, 0x4a, 0xf7, 0x66, 0x15, 0xad, 0x5f,
+	0xa1, 0x07, 0xe0, 0xd3, 0xd0, 0xe3, 0x57, 0x44, 0x54, 0xf6, 0x3d, 0x00, 0xec, 0x45, 0xf4, 0x0a,
+	0x47, 0x75, 0xee, 0x2e, 0x6c, 0x44, 0x24, 0xac, 0x40, 0x13, 0x01, 0x74, 0x2a, 0xd1, 0xb8, 0x02,
+	0x74, 0xce, 0x31, 0x0d, 0x56, 0x4d, 0x23, 0xd8, 0xf1, 0x54, 0x9e, 0xcb, 0x89, 0x7e, 0xf6, 0xfd,
+	0xfc, 0x17, 0xb1, 0x6e, 0xbd, 0x0b, 0xdd, 0x98, 0x09, 0x82, 0xbd, 0xaf, 0x26, 0xa0, 0x63, 0xa1,
+	0x1d, 0xd8, 0x5a, 0x42, 0xfb, 0xa5, 0xeb, 0x4f, 0x0b, 0x76, 0xcc, 0xed, 0x13, 0xb3, 0x07, 0x42,
+	0x96, 0x05, 0xfa, 0x02, 0xad, 0x89, 0x4a, 0x65, 0xb5, 0x00, 0xbd, 0xd3, 0x77, 0x2f, 0x63, 0x5e,
+	0x2b, 0x5a, 0x45, 0xfa, 0x61, 0x91, 0x7b, 0x2a, 0x95, 0xa2, 0x3a, 0x86, 0x0e, 0x61, 0x37, 0x49,
+	0xd3, 0xcc, 0x68, 0xc9, 0x6c, 0x9c, 0xe5, 0x77, 0x6a, 0xdf, 0xae, 0x56, 0xa9, 0xb7, 0xa4, 0x69,
+	0x7e, 0xa7, 0xdc, 0x1b, 0xf8, 0xff, 0x1f, 0x5d, 0xcc, 0x18, 0xf8, 0x88, 0x08, 0x1c, 0x51, 0xce,
+	0xc6, 0x61, 0xec, 0x79, 0x24, 0x0c, 0x9d, 0xc6, 0x3a, 0x6d, 0x7e, 0x4d, 0x2c, 0x4c, 0xa8, 0xd7,
+	0xb0, 0xb7, 0xa4, 0x63, 0x16, 0xc6, 0xa3, 0x11, 0x17, 0x66, 0x56, 0x2f, 0x01, 0xdf, 0xbf, 0x81,
+	0xed, 0x48, 0x96, 0xfa, 0x52, 0xa5, 0xf2, 0x42, 0x3e, 0x95, 0x66, 0xe8, 0x49, 0x91, 0x8d, 0xb5,
+	0x2c, 0xb5, 0xd3, 0x38, 0x3b, 0xfe, 0xf6, 0x61, 0x9a, 0xe9, 0xfb, 0x87, 0xdb, 0xc1, 0x44, 0xcd,
+	0x4f, 0x54, 0x21, 0xf3, 0x89, 0x5a, 0xa4, 0x27, 0x75, 0xe6, 0xe3, 0xe7, 0x97, 0x32, 0x55, 0xcf,
+	0x0f, 0xea, 0xb6, 0x53, 0x31, 0x1f, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x0d, 0x0e, 0x19,
+	0x6f, 0x03, 0x00, 0x00,
+}
diff --git a/go/common/common.proto b/go/common/common.proto
deleted file mode 100644
index 24c3c46..0000000
--- a/go/common/common.proto
+++ /dev/null
@@ -1,122 +0,0 @@
-syntax = "proto3";
-
-option go_package = "github.com/opencord/voltha-protos/go/common";
-
-package voltha;
-
-import "voltha_protos/yang_options.proto";
-
-// Convey a resource identifier
-message ID {
-    string id = 1;
-}
-
-// Represents a list of IDs
-message IDs {
-    repeated ID items = 1;
-}
-
-enum TestModeKeys {
-    api_test=0;
-}
-
-message LogLevel {
-    option (yang_child_rule) = MOVE_TO_PARENT_LEVEL;
-
-    // Logging verbosity level
-    enum LogLevel {
-        DEBUG = 0;
-        INFO = 1;
-        WARNING = 2;
-        ERROR = 3;
-        CRITICAL = 4;
-        FATAL = 5;
-    }
-}
-
-message AdminState {
-    option (yang_child_rule) = MOVE_TO_PARENT_LEVEL;
-
-    // Administrative State
-    enum AdminState {
-
-        // The administrative state of the device is unknown
-        UNKNOWN = 0;
-
-        // The device is pre-provisioned into Voltha, but not contacted by it
-        PREPROVISIONED = 1;
-
-        // The device is enabled for activation and operation
-        ENABLED = 2;
-
-        // The device is disabled and shall not perform its intended forwarding
-        // functions other than being available for re-activation.
-        DISABLED = 3;
-
-        // The device is in the state of image download
-        DOWNLOADING_IMAGE = 4;
-
-        // The device is marked to be deleted
-        DELETED = 5;
-    }
-}
-
-message OperStatus {
-    option (yang_child_rule) = MOVE_TO_PARENT_LEVEL;
-
-    // Operational Status
-    enum OperStatus {
-
-        // The status of the device is unknown at this point
-        UNKNOWN = 0;
-
-        // The device has been discovered, but not yet activated
-        DISCOVERED = 1;
-
-        // The device is being activated (booted, rebooted, upgraded, etc.)
-        ACTIVATING = 2;
-
-        // Service impacting tests are being conducted
-        TESTING = 3;
-
-        // The device is up and active
-        ACTIVE = 4;
-
-        // The device has failed and cannot fulfill its intended role
-        FAILED = 5;
-    }
-}
-
-message ConnectStatus {
-    option (yang_child_rule) = MOVE_TO_PARENT_LEVEL;
-
-    // Connectivity Status
-    enum ConnectStatus {
-
-        // The device connectivity status is unknown
-        UNKNOWN = 0;
-
-        // The device cannot be reached by Voltha
-        UNREACHABLE = 1;
-
-        // There is live communication between device and Voltha
-        REACHABLE = 2;
-    }
-}
-
-message OperationResp {
-    option (yang_child_rule) = MOVE_TO_PARENT_LEVEL;
-
-    enum OperationReturnCode {
-        OPERATION_SUCCESS = 0;
-        OPERATION_FAILURE = 1;
-        OPERATION_UNSUPPORTED = 2;
-    }
-    // Return code
-    OperationReturnCode code = 1;
-
-    // Additional Info
-    string additional_info = 2;
-}
-
-
diff --git a/go/common/meta.pb.go b/go/common/meta.pb.go
new file mode 100644
index 0000000..b8b9181
--- /dev/null
+++ b/go/common/meta.pb.go
@@ -0,0 +1,136 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/meta.proto
+
+package common // import "github.com/opencord/voltha-protos/go/common"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type Access int32
+
+const (
+	// read-write, stored attribute
+	Access_CONFIG Access = 0
+	// read-only field, stored with the model, covered by its hash
+	Access_READ_ONLY Access = 1
+	// A read-only attribute that is not stored in the model, not covered
+	// by its hash, its value is filled real-time upon each request.
+	Access_REAL_TIME Access = 2
+)
+
+var Access_name = map[int32]string{
+	0: "CONFIG",
+	1: "READ_ONLY",
+	2: "REAL_TIME",
+}
+var Access_value = map[string]int32{
+	"CONFIG":    0,
+	"READ_ONLY": 1,
+	"REAL_TIME": 2,
+}
+
+func (x Access) String() string {
+	return proto.EnumName(Access_name, int32(x))
+}
+func (Access) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_meta_7d0d80d5e7f91838, []int{0}
+}
+
+type ChildNode struct {
+	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ChildNode) Reset()         { *m = ChildNode{} }
+func (m *ChildNode) String() string { return proto.CompactTextString(m) }
+func (*ChildNode) ProtoMessage()    {}
+func (*ChildNode) Descriptor() ([]byte, []int) {
+	return fileDescriptor_meta_7d0d80d5e7f91838, []int{0}
+}
+func (m *ChildNode) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ChildNode.Unmarshal(m, b)
+}
+func (m *ChildNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ChildNode.Marshal(b, m, deterministic)
+}
+func (dst *ChildNode) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ChildNode.Merge(dst, src)
+}
+func (m *ChildNode) XXX_Size() int {
+	return xxx_messageInfo_ChildNode.Size(m)
+}
+func (m *ChildNode) XXX_DiscardUnknown() {
+	xxx_messageInfo_ChildNode.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ChildNode proto.InternalMessageInfo
+
+func (m *ChildNode) GetKey() string {
+	if m != nil {
+		return m.Key
+	}
+	return ""
+}
+
+var E_ChildNode = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.FieldOptions)(nil),
+	ExtensionType: (*ChildNode)(nil),
+	Field:         7761772,
+	Name:          "voltha.child_node",
+	Tag:           "bytes,7761772,opt,name=child_node,json=childNode",
+	Filename:      "voltha_protos/meta.proto",
+}
+
+var E_Access = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.FieldOptions)(nil),
+	ExtensionType: (*Access)(nil),
+	Field:         7761773,
+	Name:          "voltha.access",
+	Tag:           "varint,7761773,opt,name=access,enum=voltha.Access",
+	Filename:      "voltha_protos/meta.proto",
+}
+
+func init() {
+	proto.RegisterType((*ChildNode)(nil), "voltha.ChildNode")
+	proto.RegisterEnum("voltha.Access", Access_name, Access_value)
+	proto.RegisterExtension(E_ChildNode)
+	proto.RegisterExtension(E_Access)
+}
+
+func init() { proto.RegisterFile("voltha_protos/meta.proto", fileDescriptor_meta_7d0d80d5e7f91838) }
+
+var fileDescriptor_meta_7d0d80d5e7f91838 = []byte{
+	// 271 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0x41, 0x4b, 0x84, 0x40,
+	0x18, 0x86, 0xb3, 0x05, 0xc1, 0x2f, 0x5a, 0xcc, 0x93, 0x04, 0x0b, 0xd2, 0x69, 0x29, 0x76, 0x06,
+	0xec, 0xb6, 0xb7, 0x6d, 0xdb, 0xad, 0x85, 0x4d, 0x41, 0xba, 0xd4, 0x45, 0x74, 0x9c, 0x74, 0x48,
+	0xfd, 0xc4, 0x99, 0x0d, 0xfa, 0xa9, 0x5d, 0xfa, 0x05, 0xf5, 0x1f, 0x42, 0x47, 0xbb, 0xee, 0xed,
+	0x9d, 0x77, 0xde, 0x79, 0x78, 0x18, 0x70, 0x3f, 0xb0, 0x54, 0x45, 0x12, 0x37, 0x2d, 0x2a, 0x94,
+	0xb4, 0xe2, 0x2a, 0x21, 0x7d, 0x76, 0x4c, 0x7d, 0x73, 0xe9, 0xe5, 0x88, 0x79, 0xc9, 0x69, 0xdf,
+	0xa6, 0x87, 0x37, 0x9a, 0x71, 0xc9, 0x5a, 0xd1, 0x28, 0x6c, 0xf5, 0xf2, 0x6a, 0x06, 0xd6, 0xba,
+	0x10, 0x65, 0x16, 0x60, 0xc6, 0x1d, 0x1b, 0x26, 0xef, 0xfc, 0xd3, 0x35, 0x3c, 0x63, 0x6e, 0x45,
+	0x5d, 0xbc, 0xf6, 0xc1, 0x5c, 0x31, 0xc6, 0xa5, 0x74, 0x00, 0xcc, 0x75, 0x18, 0x6c, 0x77, 0x0f,
+	0xf6, 0x89, 0x73, 0x0e, 0x56, 0xb4, 0x59, 0xdd, 0xc7, 0x61, 0xb0, 0x7f, 0xb1, 0x8d, 0xe1, 0xb8,
+	0x8f, 0x9f, 0x77, 0x4f, 0x1b, 0xfb, 0x74, 0x19, 0x01, 0xb0, 0x0e, 0x19, 0xd7, 0x1d, 0x73, 0x46,
+	0xb4, 0x03, 0x19, 0x1d, 0xc8, 0x56, 0xf0, 0x32, 0x0b, 0x1b, 0x25, 0xb0, 0x96, 0xee, 0xcf, 0xf7,
+	0xd7, 0xc4, 0x33, 0xe6, 0x67, 0xfe, 0x05, 0xd1, 0xce, 0xe4, 0x5f, 0x27, 0xb2, 0xd8, 0x18, 0x97,
+	0x8f, 0x60, 0x26, 0xda, 0xe3, 0x08, 0xef, 0x57, 0xf3, 0xa6, 0xfe, 0x74, 0xe4, 0x69, 0xff, 0x68,
+	0x78, 0x7f, 0xb7, 0x78, 0xbd, 0xc9, 0x85, 0x2a, 0x0e, 0x29, 0x61, 0x58, 0x51, 0x6c, 0x78, 0xcd,
+	0xb0, 0xcd, 0xa8, 0x1e, 0x2f, 0x86, 0xaf, 0xcc, 0x91, 0x32, 0xac, 0x2a, 0xac, 0x53, 0xb3, 0x6f,
+	0x6e, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x90, 0x94, 0xed, 0x6c, 0x01, 0x00, 0x00,
+}
diff --git a/go/common/meta.proto b/go/common/meta.proto
deleted file mode 100644
index a308ffa..0000000
--- a/go/common/meta.proto
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file contains annotation definitions that can be used to describe
-// a configuration tree.
-
-syntax = "proto3";
-
-option go_package = "github.com/opencord/voltha-protos/go/common";
-
-package voltha;
-
-import "google/protobuf/descriptor.proto";
-
-message ChildNode {
-    string key = 1;
-}
-
-enum Access {
-
-    // read-write, stored attribute
-    CONFIG = 0;
-
-    // read-only field, stored with the model, covered by its hash
-    READ_ONLY = 1;
-
-    // A read-only attribute that is not stored in the model, not covered
-    // by its hash, its value is filled real-time upon each request.
-    REAL_TIME = 2;
-
-}
-
-extend google.protobuf.FieldOptions {
-
-    // If present, it indicates that this field is stored as external child node
-    // or children nodes in Voltha's internal configuration tree.
-    // If the field is a container field and if the option specifies a key
-    // the child objects will be addressible by that key.
-    ChildNode child_node = 7761772;
-
-    // This annotation can be used to indicate that a field is read-only,
-    // from the perspective of NBI access. Backend plugins and system
-    // internals can update the field but the update requests through the
-    // NBI will ignore for instance a field that is marked as read-only (RO).
-    Access access = 7761773;
-}
diff --git a/go/common/yang_options.pb.go b/go/common/yang_options.pb.go
new file mode 100644
index 0000000..dcd1e35
--- /dev/null
+++ b/go/common/yang_options.pb.go
@@ -0,0 +1,233 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/yang_options.proto
+
+package common // import "github.com/opencord/voltha-protos/go/common"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type MessageParserOption int32
+
+const (
+	// Move any enclosing child enum/message definition to the same level
+	// as the parent (this message) in the yang generated file
+	MessageParserOption_MOVE_TO_PARENT_LEVEL MessageParserOption = 0
+	// Create both a grouping and a container for this message.  The container
+	// name will be the message name.  The grouping name will be the message
+	// name prefixed with "grouping_"
+	MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER MessageParserOption = 1
+)
+
+var MessageParserOption_name = map[int32]string{
+	0: "MOVE_TO_PARENT_LEVEL",
+	1: "CREATE_BOTH_GROUPING_AND_CONTAINER",
+}
+var MessageParserOption_value = map[string]int32{
+	"MOVE_TO_PARENT_LEVEL":               0,
+	"CREATE_BOTH_GROUPING_AND_CONTAINER": 1,
+}
+
+func (x MessageParserOption) String() string {
+	return proto.EnumName(MessageParserOption_name, int32(x))
+}
+func (MessageParserOption) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_yang_options_40f3be6d35d15307, []int{0}
+}
+
+type InlineNode struct {
+	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Type                 string   `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *InlineNode) Reset()         { *m = InlineNode{} }
+func (m *InlineNode) String() string { return proto.CompactTextString(m) }
+func (*InlineNode) ProtoMessage()    {}
+func (*InlineNode) Descriptor() ([]byte, []int) {
+	return fileDescriptor_yang_options_40f3be6d35d15307, []int{0}
+}
+func (m *InlineNode) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_InlineNode.Unmarshal(m, b)
+}
+func (m *InlineNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_InlineNode.Marshal(b, m, deterministic)
+}
+func (dst *InlineNode) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_InlineNode.Merge(dst, src)
+}
+func (m *InlineNode) XXX_Size() int {
+	return xxx_messageInfo_InlineNode.Size(m)
+}
+func (m *InlineNode) XXX_DiscardUnknown() {
+	xxx_messageInfo_InlineNode.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_InlineNode proto.InternalMessageInfo
+
+func (m *InlineNode) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *InlineNode) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+type RpcReturnDef struct {
+	// The gRPC methods return message types.  NETCONF expects an actual
+	// attribute as defined in the YANG schema.  The xnl_tag will be used
+	// as the top most tag when translating a gRPC response into an xml
+	// response
+	XmlTag string `protobuf:"bytes,1,opt,name=xml_tag,json=xmlTag,proto3" json:"xml_tag,omitempty"`
+	// When the gRPC response is a list of items, we need to differentiate
+	// between a YANG schema attribute whose name is "items" and when "items"
+	// is used only to indicate a list of items is being returned.  The default
+	// behavior assumes a list is returned when "items" is present in
+	// the response.  This option will therefore be used when the attribute
+	// name in the YANG schema is 'items'
+	ListItemsName        string   `protobuf:"bytes,2,opt,name=list_items_name,json=listItemsName,proto3" json:"list_items_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RpcReturnDef) Reset()         { *m = RpcReturnDef{} }
+func (m *RpcReturnDef) String() string { return proto.CompactTextString(m) }
+func (*RpcReturnDef) ProtoMessage()    {}
+func (*RpcReturnDef) Descriptor() ([]byte, []int) {
+	return fileDescriptor_yang_options_40f3be6d35d15307, []int{1}
+}
+func (m *RpcReturnDef) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RpcReturnDef.Unmarshal(m, b)
+}
+func (m *RpcReturnDef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RpcReturnDef.Marshal(b, m, deterministic)
+}
+func (dst *RpcReturnDef) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RpcReturnDef.Merge(dst, src)
+}
+func (m *RpcReturnDef) XXX_Size() int {
+	return xxx_messageInfo_RpcReturnDef.Size(m)
+}
+func (m *RpcReturnDef) XXX_DiscardUnknown() {
+	xxx_messageInfo_RpcReturnDef.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcReturnDef proto.InternalMessageInfo
+
+func (m *RpcReturnDef) GetXmlTag() string {
+	if m != nil {
+		return m.XmlTag
+	}
+	return ""
+}
+
+func (m *RpcReturnDef) GetListItemsName() string {
+	if m != nil {
+		return m.ListItemsName
+	}
+	return ""
+}
+
+var E_YangChildRule = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.MessageOptions)(nil),
+	ExtensionType: (*MessageParserOption)(nil),
+	Field:         7761774,
+	Name:          "voltha.yang_child_rule",
+	Tag:           "varint,7761774,opt,name=yang_child_rule,json=yangChildRule,enum=voltha.MessageParserOption",
+	Filename:      "voltha_protos/yang_options.proto",
+}
+
+var E_YangMessageRule = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.MessageOptions)(nil),
+	ExtensionType: (*MessageParserOption)(nil),
+	Field:         7761775,
+	Name:          "voltha.yang_message_rule",
+	Tag:           "varint,7761775,opt,name=yang_message_rule,json=yangMessageRule,enum=voltha.MessageParserOption",
+	Filename:      "voltha_protos/yang_options.proto",
+}
+
+var E_YangInlineNode = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.FieldOptions)(nil),
+	ExtensionType: (*InlineNode)(nil),
+	Field:         7761776,
+	Name:          "voltha.yang_inline_node",
+	Tag:           "bytes,7761776,opt,name=yang_inline_node,json=yangInlineNode",
+	Filename:      "voltha_protos/yang_options.proto",
+}
+
+var E_YangXmlTag = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.MethodOptions)(nil),
+	ExtensionType: (*RpcReturnDef)(nil),
+	Field:         7761777,
+	Name:          "voltha.yang_xml_tag",
+	Tag:           "bytes,7761777,opt,name=yang_xml_tag,json=yangXmlTag",
+	Filename:      "voltha_protos/yang_options.proto",
+}
+
+func init() {
+	proto.RegisterType((*InlineNode)(nil), "voltha.InlineNode")
+	proto.RegisterType((*RpcReturnDef)(nil), "voltha.RpcReturnDef")
+	proto.RegisterEnum("voltha.MessageParserOption", MessageParserOption_name, MessageParserOption_value)
+	proto.RegisterExtension(E_YangChildRule)
+	proto.RegisterExtension(E_YangMessageRule)
+	proto.RegisterExtension(E_YangInlineNode)
+	proto.RegisterExtension(E_YangXmlTag)
+}
+
+func init() {
+	proto.RegisterFile("voltha_protos/yang_options.proto", fileDescriptor_yang_options_40f3be6d35d15307)
+}
+
+var fileDescriptor_yang_options_40f3be6d35d15307 = []byte{
+	// 452 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x6f, 0xd3, 0x30,
+	0x18, 0xc7, 0x69, 0x41, 0x45, 0x98, 0xad, 0x2b, 0x66, 0x12, 0x15, 0x08, 0xa8, 0x7a, 0x98, 0x26,
+	0xd0, 0x12, 0x34, 0x6e, 0xbd, 0x75, 0x5d, 0x18, 0x95, 0xb6, 0xa4, 0xb2, 0xc2, 0x78, 0x39, 0x60,
+	0xa5, 0x89, 0xe7, 0x58, 0xd8, 0x7e, 0xa2, 0xd8, 0x41, 0xdb, 0x47, 0xe5, 0xc2, 0x47, 0xe0, 0xe5,
+	0x1b, 0xa0, 0x38, 0x09, 0x43, 0x62, 0x87, 0xde, 0x92, 0x7f, 0xec, 0xdf, 0x2f, 0xcf, 0x0b, 0x9a,
+	0x7c, 0x05, 0x69, 0xf3, 0x84, 0x16, 0x25, 0x58, 0x30, 0xfe, 0x55, 0xa2, 0x39, 0x85, 0xc2, 0x0a,
+	0xd0, 0xc6, 0x73, 0x19, 0x1e, 0x34, 0x27, 0x1e, 0x4f, 0x38, 0x00, 0x97, 0xcc, 0x77, 0xe9, 0xba,
+	0xba, 0xf0, 0x33, 0x66, 0xd2, 0x52, 0x14, 0x16, 0xca, 0xe6, 0xe4, 0xf4, 0x15, 0x42, 0x4b, 0x2d,
+	0x85, 0x66, 0x21, 0x64, 0x0c, 0x0f, 0x51, 0x5f, 0x64, 0xe3, 0xde, 0xa4, 0xb7, 0x7f, 0x8f, 0xf4,
+	0x45, 0x86, 0x31, 0xba, 0x63, 0xaf, 0x0a, 0x36, 0xee, 0xbb, 0xc4, 0x3d, 0x4f, 0x23, 0xb4, 0x45,
+	0x8a, 0x94, 0x30, 0x5b, 0x95, 0xfa, 0x98, 0x5d, 0xe0, 0x47, 0xe8, 0xee, 0xa5, 0x92, 0xd4, 0x26,
+	0xbc, 0xbd, 0x38, 0xb8, 0x54, 0x32, 0x4e, 0x38, 0xde, 0x43, 0x3b, 0x52, 0x18, 0x4b, 0x85, 0x65,
+	0xca, 0x50, 0x9d, 0xa8, 0x8e, 0xb3, 0x5d, 0xc7, 0xcb, 0x3a, 0x0d, 0x13, 0xc5, 0x5e, 0xbc, 0x47,
+	0x0f, 0xcf, 0x98, 0x31, 0x09, 0x67, 0xab, 0xa4, 0x34, 0xac, 0x8c, 0x5c, 0x29, 0x78, 0x8c, 0x76,
+	0xcf, 0xa2, 0xf3, 0x80, 0xc6, 0x11, 0x5d, 0xcd, 0x49, 0x10, 0xc6, 0xf4, 0x34, 0x38, 0x0f, 0x4e,
+	0x47, 0xb7, 0xf0, 0x1e, 0x9a, 0x2e, 0x48, 0x30, 0x8f, 0x03, 0x7a, 0x14, 0xc5, 0x6f, 0xe9, 0x09,
+	0x89, 0xde, 0xad, 0x96, 0xe1, 0x09, 0x9d, 0x87, 0xc7, 0x74, 0x11, 0x85, 0xf1, 0x7c, 0x19, 0x06,
+	0x64, 0xd4, 0x9b, 0x71, 0xb4, 0xe3, 0x7a, 0x93, 0xe6, 0x42, 0x66, 0xb4, 0xac, 0x24, 0xc3, 0xcf,
+	0xbd, 0xa6, 0x23, 0x5e, 0xd7, 0x11, 0xaf, 0x55, 0x37, 0x52, 0x33, 0xfe, 0xf1, 0xfd, 0xdb, 0xed,
+	0x49, 0x6f, 0x7f, 0x78, 0xf8, 0xc4, 0x6b, 0x7a, 0xe8, 0xdd, 0xf0, 0x6f, 0x64, 0xbb, 0xe6, 0x2e,
+	0x6a, 0x2c, 0xa9, 0x24, 0x9b, 0x7d, 0x41, 0x0f, 0x9c, 0x48, 0x35, 0x47, 0x37, 0x54, 0xfd, 0xdc,
+	0x48, 0xe5, 0x4a, 0x68, 0x3f, 0x38, 0xd9, 0x67, 0x34, 0x72, 0x32, 0xe1, 0xc6, 0x46, 0x75, 0x3d,
+	0xb7, 0xa7, 0xff, 0xb9, 0xde, 0x08, 0x26, 0xb3, 0xce, 0xf4, 0xab, 0x31, 0xdd, 0x3f, 0xc4, 0x9d,
+	0xe9, 0x7a, 0xe6, 0x64, 0x58, 0xd3, 0xae, 0xdf, 0x67, 0x1f, 0xd1, 0x96, 0xe3, 0xb7, 0x43, 0xc5,
+	0xcf, 0x6e, 0xa8, 0xc3, 0xe6, 0xf0, 0x17, 0xfe, 0xbb, 0x83, 0xef, 0x76, 0xf0, 0x7f, 0xd7, 0x83,
+	0xa0, 0x1a, 0xf6, 0xc1, 0x6d, 0xc4, 0xd1, 0xc1, 0xa7, 0x97, 0x5c, 0xd8, 0xbc, 0x5a, 0x7b, 0x29,
+	0x28, 0x1f, 0x0a, 0xa6, 0x53, 0x28, 0x33, 0xbf, 0xb9, 0x76, 0xd0, 0xae, 0x33, 0x07, 0x3f, 0x05,
+	0xa5, 0x40, 0xaf, 0x07, 0x2e, 0x79, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x04, 0x3a, 0x59, 0x44,
+	0xf0, 0x02, 0x00, 0x00,
+}
diff --git a/go/common/yang_options.proto b/go/common/yang_options.proto
deleted file mode 100644
index 25e6fa7..0000000
--- a/go/common/yang_options.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file contains annotation definitions that can be used to describe
-// a configuration tree.
-
-syntax = "proto3";
-
-option go_package = "github.com/opencord/voltha-protos/go/common";
-
-package voltha;
-
-import "google/protobuf/descriptor.proto";
-
-enum MessageParserOption {
-    // Move any enclosing child enum/message definition to the same level
-    // as the parent (this message) in the yang generated file
-    MOVE_TO_PARENT_LEVEL= 0;
-
-    // Create both a grouping and a container for this message.  The container
-    // name will be the message name.  The grouping name will be the message
-    // name prefixed with "grouping_"
-    CREATE_BOTH_GROUPING_AND_CONTAINER = 1;
-}
-
-message InlineNode {
-    string id = 1;
-    string type = 2;
-}
-
-message RpcReturnDef {
-    // The gRPC methods return message types.  NETCONF expects an actual
-    // attribute as defined in the YANG schema.  The xnl_tag will be used
-    // as the top most tag when translating a gRPC response into an xml
-    // response
-    string xml_tag = 1;
-
-    // When the gRPC response is a list of items, we need to differentiate
-    // between a YANG schema attribute whose name is "items" and when "items"
-    // is used only to indicate a list of items is being returned.  The default
-    // behavior assumes a list is returned when "items" is present in
-    // the response.  This option will therefore be used when the attribute
-    // name in the YANG schema is 'items'
-    string list_items_name = 2;
-}
-
-extend google.protobuf.MessageOptions {
-    // This annotation is used to indicate how a message is parsed when
-    // converting from proto to yang format.
-    MessageParserOption yang_child_rule = 7761774;
-
-    MessageParserOption yang_message_rule = 7761775;
-}
-
-extend google.protobuf.FieldOptions {
-    // If present, the field (a message reference) should be replaced by the
-    // message itself.  For now, this applies only to non-repeated fields.
-    InlineNode yang_inline_node = 7761776;
-}
-
-extend google.protobuf.MethodOptions {
-    RpcReturnDef yang_xml_tag = 7761777;
-}