Merge "[VOL-2778] Handling IGMP"
diff --git a/Makefile b/Makefile
index 21d73e0..5c555f9 100644
--- a/Makefile
+++ b/Makefile
@@ -231,10 +231,10 @@
setup_tools:
@echo "Downloading dependencies..."
- @${GO} mod download github.com/grpc-ecosystem/grpc-gateway github.com/opencord/voltha-protos/v2
+ @${GO} mod download github.com/grpc-ecosystem/grpc-gateway github.com/opencord/voltha-protos/v3
@echo "Dependencies downloaded OK"
-VOLTHA_PROTOS ?= $(shell ${GO} list -f '{{ .Dir }}' -m github.com/opencord/voltha-protos/v2)
+VOLTHA_PROTOS ?= $(shell ${GO} list -f '{{ .Dir }}' -m github.com/opencord/voltha-protos/v3)
GOOGLEAPI ?= $(shell ${GO} list -f '{{ .Dir }}' -m github.com/grpc-ecosystem/grpc-gateway)
.PHONY: api/openolt/openolt.pb.go api/bbsim/bbsim.pb.go api/bbsim/bbsim.pb.gw.go api/legacy/bbsim.pb.go api/legacy/bbsim.pb.gw.go docs/swagger/bbsim/bbsim.swagger.json docs/swagger/leagacy/bbsim.swagger.json
diff --git a/api/bbsim/bbsim.pb.go b/api/bbsim/bbsim.pb.go
index d6e86a0..ba67479 100644
--- a/api/bbsim/bbsim.pb.go
+++ b/api/bbsim/bbsim.pb.go
@@ -7,8 +7,8 @@
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- openolt "github.com/opencord/voltha-protos/v2/go/openolt"
- tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ openolt "github.com/opencord/voltha-protos/v3/go/openolt"
+ tech_profile "github.com/opencord/voltha-protos/v3/go/tech_profile"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
@@ -423,6 +423,7 @@
EapolState string `protobuf:"bytes,10,opt,name=EapolState,proto3" json:"EapolState,omitempty"`
DhcpState string `protobuf:"bytes,11,opt,name=DhcpState,proto3" json:"DhcpState,omitempty"`
InternalState string `protobuf:"bytes,12,opt,name=InternalState,proto3" json:"InternalState,omitempty"`
+ IGMPState string `protobuf:"bytes,13,opt,name=IGMPState,proto3" json:"IGMPState,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -537,6 +538,13 @@
return ""
}
+func (m *Service) GetIGMPState() string {
+ if m != nil {
+ return m.IGMPState
+ }
+ return ""
+}
+
type ONUTrafficSchedulers struct {
TraffSchedulers *tech_profile.TrafficSchedulers `protobuf:"bytes,1,opt,name=traffSchedulers,proto3" json:"traffSchedulers,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1242,102 +1250,102 @@
func init() { proto.RegisterFile("api/bbsim/bbsim.proto", fileDescriptor_ef7750073d18011b) }
var fileDescriptor_ef7750073d18011b = []byte{
- // 1508 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6e, 0xdb, 0xc6,
- 0x16, 0xd6, 0x8f, 0xf5, 0x77, 0x64, 0xc9, 0xf4, 0x24, 0x76, 0x08, 0xc7, 0xf7, 0x46, 0xe0, 0xcd,
- 0xbd, 0x70, 0x82, 0x1b, 0xa7, 0xb1, 0xfb, 0x93, 0x2c, 0x69, 0x89, 0x56, 0x58, 0xcb, 0x43, 0x61,
- 0x28, 0x39, 0xc8, 0x8a, 0xa0, 0xa5, 0xb1, 0x4d, 0x80, 0x22, 0x15, 0x92, 0xb2, 0x91, 0x07, 0xe8,
- 0x8b, 0xf4, 0x65, 0xba, 0x2d, 0xd0, 0x7d, 0x77, 0x7d, 0x8c, 0x02, 0xc5, 0x0c, 0x87, 0x14, 0x69,
- 0x29, 0x85, 0xdb, 0x4d, 0x37, 0x02, 0xcf, 0x77, 0xfe, 0xcf, 0x99, 0x39, 0x67, 0x04, 0x3b, 0xf6,
- 0xdc, 0x79, 0x7d, 0x79, 0x19, 0x3a, 0xb3, 0xf8, 0xf7, 0x70, 0x1e, 0xf8, 0x91, 0x8f, 0x2a, 0x9c,
- 0xd8, 0x7b, 0x7a, 0xeb, 0xbb, 0xd1, 0x8d, 0x6d, 0x71, 0x30, 0x7c, 0xed, 0xcf, 0xa9, 0xe7, 0xbb,
- 0x51, 0x2c, 0xb3, 0xd7, 0xc9, 0x33, 0x23, 0x3a, 0xb9, 0x61, 0xdf, 0x57, 0x8e, 0x4b, 0x63, 0x09,
- 0xe5, 0x3b, 0xa8, 0x0d, 0x0d, 0x3c, 0xf4, 0x83, 0x08, 0xb5, 0xa1, 0xa4, 0xf7, 0xe4, 0x62, 0xa7,
- 0x78, 0x50, 0x21, 0x25, 0xbd, 0x87, 0xf6, 0xa1, 0x61, 0xcc, 0x69, 0x60, 0x46, 0x76, 0x44, 0xe5,
- 0x52, 0xa7, 0x78, 0xd0, 0x20, 0x4b, 0x80, 0x29, 0x62, 0xac, 0xff, 0x0d, 0xc5, 0xdf, 0x8a, 0x50,
- 0x36, 0xdc, 0x55, 0x2d, 0x05, 0x36, 0x4d, 0x1a, 0x38, 0xb6, 0x8b, 0x17, 0xb3, 0x4b, 0x1a, 0x08,
- 0xc5, 0x1c, 0x96, 0xb7, 0x5c, 0xbe, 0x67, 0x19, 0x3d, 0x87, 0x96, 0xee, 0x45, 0x34, 0xf0, 0x6c,
- 0x37, 0x96, 0xd8, 0xe0, 0x12, 0x79, 0x90, 0xfb, 0x1d, 0xca, 0x35, 0xce, 0x2a, 0xe9, 0x43, 0xf4,
- 0x12, 0xea, 0x22, 0x91, 0x50, 0xae, 0x74, 0xca, 0x07, 0xcd, 0xa3, 0xf6, 0x61, 0x5c, 0x67, 0x01,
- 0x93, 0x94, 0xcf, 0x64, 0x45, 0xb5, 0x42, 0xb9, 0x9a, 0x93, 0x15, 0x30, 0x49, 0xf9, 0xca, 0xef,
- 0x2c, 0x4f, 0x3c, 0xfe, 0xc7, 0xf2, 0xdc, 0x87, 0xc6, 0xd0, 0xf7, 0x58, 0x2c, 0x7a, 0x4f, 0xae,
- 0x70, 0xf7, 0x4b, 0x80, 0x71, 0xdf, 0xdf, 0xa9, 0xd3, 0x69, 0x40, 0xc3, 0x50, 0xae, 0xc7, 0x1e,
- 0x52, 0x00, 0xed, 0x42, 0x95, 0xc9, 0x61, 0x5f, 0x6e, 0x70, 0x45, 0x41, 0xb1, 0xfc, 0x43, 0x1a,
- 0xdc, 0x3a, 0x13, 0x1a, 0xca, 0x90, 0xcb, 0xdf, 0x8c, 0x61, 0x92, 0xf2, 0x95, 0x5f, 0x4a, 0x50,
- 0x13, 0x28, 0x42, 0xb0, 0x81, 0xed, 0x19, 0xe5, 0x55, 0x68, 0x10, 0xfe, 0x9d, 0x8f, 0xa0, 0x74,
- 0x3f, 0x82, 0xc7, 0x50, 0x31, 0xbc, 0x85, 0xe9, 0x89, 0xec, 0x63, 0x82, 0xd9, 0x31, 0x47, 0xf6,
- 0x35, 0x4f, 0xb8, 0x42, 0xf8, 0x37, 0xc3, 0xba, 0x0c, 0x8b, 0x53, 0xe4, 0xdf, 0xe8, 0xdf, 0x00,
- 0x98, 0xd2, 0x69, 0xa8, 0xd9, 0x73, 0xdf, 0x95, 0xab, 0x9d, 0xe2, 0x41, 0x9d, 0x64, 0x10, 0xe6,
- 0x9b, 0x53, 0xbd, 0x9b, 0xc9, 0x9c, 0x1f, 0x85, 0x3a, 0x59, 0x02, 0x29, 0x57, 0xbf, 0x9e, 0xcd,
- 0x79, 0x6d, 0x12, 0x2e, 0x03, 0x90, 0x0c, 0xb5, 0x3e, 0x9d, 0xb1, 0x82, 0x88, 0xe2, 0x24, 0x24,
- 0xf3, 0xca, 0xcd, 0xc7, 0x4d, 0x01, 0x1e, 0x78, 0x06, 0x61, 0x76, 0x99, 0xfd, 0x98, 0xdd, 0x8c,
- 0x33, 0x4e, 0x81, 0xd5, 0xae, 0x6e, 0xae, 0xe9, 0xaa, 0x62, 0xc3, 0x63, 0x03, 0x8f, 0x47, 0x81,
- 0x7d, 0x75, 0xe5, 0x4c, 0xcc, 0xc9, 0x0d, 0x9d, 0x2e, 0x5c, 0x1a, 0x84, 0x48, 0x87, 0xad, 0x88,
- 0x81, 0x4b, 0x88, 0x17, 0xbb, 0x79, 0xf4, 0xec, 0x30, 0x77, 0xeb, 0x57, 0x34, 0xc9, 0x7d, 0x3d,
- 0xe5, 0x00, 0x36, 0x0c, 0x3c, 0x0e, 0x51, 0x07, 0x2a, 0x4e, 0x44, 0x67, 0xcc, 0x10, 0xeb, 0x34,
- 0x88, 0x4e, 0x1b, 0x78, 0x4c, 0x62, 0x86, 0xf2, 0x15, 0xd4, 0x45, 0x87, 0x43, 0xf4, 0x3c, 0x2f,
- 0x7d, 0xff, 0x5c, 0xa4, 0x1a, 0xc0, 0xf4, 0xe9, 0xa7, 0x05, 0x0d, 0xa3, 0x95, 0xab, 0x50, 0x5c,
- 0xbd, 0x0a, 0xca, 0x4b, 0x80, 0xa1, 0x81, 0x13, 0x8d, 0xcc, 0xa1, 0x9e, 0x72, 0xf1, 0xd6, 0xf2,
- 0x50, 0x4f, 0x95, 0x5f, 0xcb, 0xd0, 0x50, 0x5d, 0x3b, 0x98, 0x8d, 0x3e, 0xcf, 0xa9, 0xf2, 0x73,
- 0x19, 0x2a, 0xec, 0x23, 0x44, 0x35, 0x28, 0x0f, 0x0c, 0x53, 0x2a, 0xa0, 0x36, 0x40, 0xef, 0xa3,
- 0x8e, 0xfb, 0x56, 0x5f, 0x35, 0x87, 0x52, 0x11, 0xb5, 0xa0, 0x61, 0xe0, 0xb1, 0xa5, 0x0e, 0x54,
- 0x72, 0x2e, 0x95, 0xd0, 0x13, 0x78, 0xc4, 0x48, 0x73, 0xa4, 0x92, 0xd1, 0x78, 0x68, 0x9d, 0xaa,
- 0xfa, 0x60, 0x4c, 0x34, 0xa9, 0x8c, 0x76, 0x01, 0x71, 0x86, 0xde, 0xc7, 0xea, 0xc0, 0xea, 0x69,
- 0x7d, 0xa2, 0xf6, 0x34, 0x69, 0x23, 0x51, 0xe8, 0x11, 0xfd, 0x74, 0x64, 0x19, 0xa7, 0xd6, 0x07,
- 0x1d, 0xf7, 0x8c, 0x0f, 0x52, 0x05, 0xed, 0x83, 0xcc, 0x18, 0x03, 0xc3, 0x34, 0x19, 0x6e, 0x9c,
- 0x77, 0x75, 0xab, 0xfb, 0x5e, 0xc5, 0x58, 0x1b, 0x48, 0xd5, 0xd4, 0x0f, 0x37, 0x67, 0xa6, 0x7e,
- 0x6a, 0xe8, 0x05, 0xfc, 0x97, 0x31, 0x46, 0x44, 0xc5, 0xe6, 0xb9, 0x6e, 0x9a, 0xba, 0x81, 0x2d,
- 0x1d, 0x8f, 0x34, 0x72, 0xaa, 0x11, 0x0d, 0x77, 0x35, 0xeb, 0x83, 0x4a, 0xb0, 0x8e, 0xfb, 0x52,
- 0x1d, 0xed, 0xc1, 0x2e, 0x0f, 0xbd, 0x3b, 0xd2, 0x2f, 0xd4, 0x11, 0x13, 0x4c, 0xcc, 0x34, 0x90,
- 0xcc, 0x0f, 0x89, 0x35, 0x24, 0x46, 0x57, 0x33, 0x4d, 0x96, 0xaf, 0x46, 0x88, 0x41, 0x24, 0x40,
- 0x1d, 0xd8, 0xcf, 0xc6, 0x75, 0xa6, 0x7d, 0xb4, 0xcc, 0x8f, 0xb8, 0x9b, 0xea, 0x36, 0xd1, 0x0e,
- 0x6c, 0x33, 0x09, 0x7d, 0x34, 0xb6, 0x86, 0x06, 0x66, 0xb5, 0x18, 0x99, 0xd2, 0x26, 0xda, 0x86,
- 0x56, 0x5a, 0x29, 0xa6, 0x2e, 0xb5, 0xee, 0x43, 0x27, 0x52, 0x3b, 0x49, 0x2c, 0x81, 0x86, 0x5d,
- 0x8b, 0x65, 0x21, 0x6d, 0x25, 0xf5, 0xc8, 0x31, 0xba, 0x22, 0x2a, 0x09, 0x21, 0x68, 0x67, 0xb9,
- 0xa7, 0xba, 0xb4, 0x8d, 0x1e, 0xc1, 0x56, 0x16, 0x53, 0xcf, 0x75, 0x09, 0x29, 0x6f, 0xa1, 0xcd,
- 0xfb, 0x3b, 0xb4, 0x03, 0x7b, 0x46, 0x23, 0x1a, 0x20, 0x09, 0xca, 0x67, 0xf4, 0xb3, 0x38, 0x39,
- 0xec, 0x93, 0x4d, 0x8e, 0x0b, 0xdb, 0x5d, 0x24, 0x9b, 0x27, 0x26, 0x94, 0x1f, 0x8b, 0xdc, 0x1e,
- 0xd7, 0xce, 0x1c, 0xa6, 0xf4, 0xb4, 0x08, 0x0b, 0x4b, 0xe0, 0x41, 0x73, 0x7a, 0x17, 0xaa, 0xec,
- 0x5a, 0x2e, 0x42, 0x31, 0xa6, 0x04, 0x85, 0xbe, 0x01, 0x48, 0x43, 0x0c, 0xe5, 0x0d, 0x7e, 0x23,
- 0x76, 0xc4, 0x8d, 0xc8, 0x27, 0x40, 0x32, 0x82, 0xca, 0x27, 0xd8, 0x32, 0x06, 0xa3, 0x5c, 0x8c,
- 0x1d, 0x68, 0xf2, 0x01, 0x70, 0x65, 0x4f, 0xa8, 0x58, 0x23, 0x2d, 0x92, 0x85, 0xd2, 0xb9, 0xc1,
- 0x48, 0x9e, 0x49, 0x29, 0x33, 0x37, 0x12, 0xf0, 0x4b, 0x91, 0x2a, 0x3f, 0x14, 0xa1, 0x75, 0x41,
- 0x83, 0xd0, 0xf1, 0x3d, 0x91, 0x93, 0x0c, 0xb5, 0xdb, 0x18, 0x10, 0x35, 0x49, 0x48, 0x56, 0xaf,
- 0xcb, 0x85, 0xe3, 0x4e, 0x47, 0xce, 0x2c, 0xdd, 0xeb, 0x29, 0xc0, 0xa6, 0xdf, 0xc4, 0x9f, 0xcd,
- 0x9c, 0xe8, 0xbd, 0x1d, 0xde, 0x08, 0x2f, 0x19, 0x84, 0x69, 0x5f, 0x3b, 0x91, 0x08, 0x22, 0xde,
- 0x58, 0x4b, 0x40, 0x79, 0x0b, 0xf5, 0x81, 0x7f, 0x3d, 0xa0, 0xb7, 0xd4, 0x65, 0x1d, 0x74, 0xd9,
- 0x87, 0xf0, 0x1f, 0x13, 0x2c, 0x83, 0x89, 0xed, 0xba, 0xa2, 0x13, 0x75, 0x22, 0x28, 0x45, 0x83,
- 0x3a, 0xa1, 0xe1, 0xdc, 0xf7, 0x42, 0x8a, 0x9e, 0x41, 0x33, 0xe4, 0xf6, 0xac, 0x89, 0x3f, 0xa5,
- 0x62, 0xe9, 0x42, 0x0c, 0x75, 0xfd, 0x29, 0x65, 0xc9, 0xcd, 0x68, 0x18, 0xda, 0xd7, 0x49, 0x02,
- 0x09, 0xa9, 0x84, 0xd0, 0x64, 0xe3, 0x3d, 0xa9, 0xfb, 0x0b, 0xa8, 0x1a, 0xde, 0x82, 0xd0, 0x4f,
- 0x62, 0x8c, 0x6e, 0x67, 0xa6, 0x5f, 0x2c, 0x42, 0x84, 0x00, 0x7a, 0x07, 0x9b, 0xe6, 0xe2, 0x52,
- 0x9d, 0x44, 0x8e, 0xef, 0x5d, 0xd8, 0x2e, 0x37, 0xdc, 0x4e, 0xdb, 0x9d, 0xb2, 0xf8, 0x28, 0x22,
- 0x39, 0x51, 0xe5, 0x0c, 0x2a, 0xa7, 0xae, 0x7f, 0x17, 0xa2, 0x7f, 0x01, 0x5c, 0xb9, 0xfe, 0x9d,
- 0x35, 0xf1, 0x17, 0x5e, 0x94, 0x0c, 0x36, 0x86, 0x74, 0x19, 0x80, 0xfe, 0x03, 0x15, 0x46, 0xb0,
- 0x3d, 0xc9, 0x8e, 0x52, 0xeb, 0x30, 0x79, 0xe6, 0x31, 0x6d, 0x12, 0xf3, 0x94, 0x1a, 0x54, 0xb4,
- 0xd9, 0x3c, 0xfa, 0xfc, 0xf2, 0x0d, 0xb4, 0xf3, 0x5e, 0x51, 0x1d, 0x36, 0xbe, 0x37, 0x74, 0x2c,
- 0x15, 0x50, 0x03, 0x2a, 0x03, 0x4d, 0xbd, 0xd0, 0xa4, 0x22, 0x02, 0xa8, 0x32, 0xf0, 0xe2, 0x58,
- 0x2a, 0x1d, 0xfd, 0xd4, 0x80, 0xca, 0xc9, 0x89, 0xe9, 0xcc, 0xd0, 0x6b, 0xa8, 0x89, 0xf3, 0x80,
- 0x36, 0x45, 0x0a, 0xdc, 0xea, 0xde, 0x63, 0x41, 0xe5, 0x4e, 0x8b, 0x52, 0x40, 0x6f, 0xa0, 0x69,
- 0xd2, 0x28, 0x6d, 0xde, 0x96, 0x10, 0x4b, 0x80, 0xbd, 0xfb, 0x80, 0x52, 0x40, 0xcf, 0xa1, 0xda,
- 0xa7, 0x11, 0x7b, 0x04, 0xe6, 0x5d, 0xa4, 0x2b, 0xc6, 0x8d, 0x94, 0x02, 0x7a, 0x05, 0x30, 0xf4,
- 0xef, 0x68, 0xe0, 0x7b, 0xab, 0x92, 0x89, 0xd1, 0xa4, 0xf3, 0x4a, 0x01, 0x1d, 0x42, 0xd3, 0xbc,
- 0x59, 0x44, 0x53, 0xff, 0xee, 0x61, 0xf2, 0xff, 0x87, 0x06, 0xa1, 0x97, 0xbe, 0x1f, 0x3d, 0x48,
- 0xfa, 0x45, 0x1c, 0x32, 0x1e, 0xa3, 0xd5, 0x93, 0xb0, 0x97, 0x59, 0x8d, 0x4a, 0x01, 0xfd, 0x8f,
- 0x3d, 0x10, 0x22, 0xbe, 0x42, 0xf3, 0x66, 0x9b, 0x4b, 0xb1, 0x30, 0x0e, 0xb8, 0x4f, 0xa3, 0x74,
- 0x81, 0xae, 0x0f, 0x21, 0x61, 0x2b, 0x05, 0xf4, 0x2d, 0xb4, 0x99, 0x5d, 0x6f, 0x91, 0xaa, 0xac,
- 0x09, 0x65, 0x8d, 0xde, 0x71, 0xa6, 0x30, 0xeb, 0xe3, 0x5f, 0x93, 0xef, 0x11, 0x6c, 0x25, 0x4a,
- 0xaa, 0xeb, 0xae, 0x49, 0x66, 0x8d, 0xce, 0x3b, 0xd8, 0xce, 0x38, 0x0a, 0x0d, 0x6f, 0x68, 0xe0,
- 0xd4, 0xdd, 0x72, 0x89, 0xaf, 0x77, 0x97, 0xf6, 0xfa, 0xc1, 0x21, 0xbe, 0x81, 0xb6, 0xd0, 0x79,
- 0x70, 0x84, 0x6f, 0x41, 0x5a, 0xba, 0xf9, 0x4b, 0x01, 0x7e, 0x0d, 0x9b, 0x84, 0x86, 0x91, 0x1d,
- 0x44, 0xf1, 0x0b, 0xf2, 0x61, 0x21, 0x1e, 0x43, 0x53, 0x68, 0xf1, 0x87, 0xe5, 0xc3, 0x94, 0x4e,
- 0x60, 0xc7, 0xe4, 0x7d, 0xe6, 0x8b, 0x40, 0xf7, 0xa6, 0xce, 0xc4, 0x66, 0x57, 0x19, 0xed, 0x2e,
- 0xd5, 0xb3, 0x3b, 0xe2, 0x4f, 0x6c, 0xb8, 0xd1, 0x17, 0x6d, 0xe4, 0xf7, 0xcc, 0x3a, 0x1b, 0xaf,
- 0xa0, 0xde, 0xa7, 0x51, 0x3c, 0x9f, 0xd6, 0x44, 0x9e, 0x14, 0x9b, 0x0b, 0xf0, 0xda, 0x6e, 0x75,
- 0x6f, 0x6c, 0xef, 0x9a, 0xb2, 0x31, 0x1a, 0x3f, 0x69, 0x91, 0x10, 0xc9, 0x0c, 0xd6, 0x75, 0x8e,
- 0xce, 0xe0, 0x49, 0x7c, 0xb0, 0x57, 0x9f, 0xb5, 0x6b, 0xfc, 0x3e, 0x5d, 0x42, 0x2b, 0xf2, 0x4a,
- 0xe1, 0xb2, 0xca, 0xff, 0xd7, 0x1e, 0xff, 0x11, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x5c, 0x3f, 0xfa,
- 0x36, 0x0f, 0x00, 0x00,
+ // 1519 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdd, 0x6e, 0xdb, 0xc6,
+ 0x12, 0xd6, 0x8f, 0xf5, 0x37, 0xb2, 0x64, 0x7a, 0x13, 0x3b, 0x82, 0xe3, 0x73, 0x22, 0xf0, 0xe4,
+ 0x1c, 0x38, 0xc1, 0x89, 0xd3, 0xd8, 0xfd, 0x49, 0x2e, 0x69, 0x89, 0x56, 0x58, 0xcb, 0x4b, 0x62,
+ 0x29, 0x39, 0xc8, 0x15, 0x41, 0x4b, 0x6b, 0x9b, 0x00, 0x45, 0x2a, 0x24, 0x65, 0x23, 0x0f, 0xd0,
+ 0x17, 0xe9, 0xcb, 0xf4, 0xb6, 0x4f, 0xd0, 0xbb, 0x3e, 0x40, 0x1f, 0xa0, 0x40, 0xb1, 0xcb, 0x25,
+ 0x45, 0x5a, 0x4a, 0xe1, 0xf6, 0xa6, 0x37, 0xc2, 0xce, 0x37, 0xff, 0xb3, 0xc3, 0x99, 0x15, 0xec,
+ 0xd8, 0x73, 0xe7, 0xf5, 0xe5, 0x65, 0xe8, 0xcc, 0xe2, 0xdf, 0xc3, 0x79, 0xe0, 0x47, 0x3e, 0xaa,
+ 0x70, 0x62, 0xef, 0xe9, 0xad, 0xef, 0x46, 0x37, 0xb6, 0xc5, 0xc1, 0xf0, 0xb5, 0x3f, 0xa7, 0x9e,
+ 0xef, 0x46, 0xb1, 0xcc, 0x5e, 0x37, 0xcf, 0x8c, 0xe8, 0xe4, 0x86, 0x9d, 0xaf, 0x1c, 0x97, 0xc6,
+ 0x12, 0xf2, 0x77, 0x50, 0x33, 0x74, 0x6c, 0xf8, 0x41, 0x84, 0xda, 0x50, 0xd2, 0xfa, 0x9d, 0x62,
+ 0xb7, 0x78, 0x50, 0x21, 0x25, 0xad, 0x8f, 0xf6, 0xa1, 0xa1, 0xcf, 0x69, 0x60, 0x46, 0x76, 0x44,
+ 0x3b, 0xa5, 0x6e, 0xf1, 0xa0, 0x41, 0x96, 0x00, 0x53, 0xc4, 0x58, 0xfb, 0x1b, 0x8a, 0xbf, 0x16,
+ 0xa1, 0xac, 0xbb, 0xab, 0x5a, 0x32, 0x6c, 0x9a, 0x34, 0x70, 0x6c, 0x17, 0x2f, 0x66, 0x97, 0x34,
+ 0x10, 0x8a, 0x39, 0x2c, 0x6f, 0xb9, 0x7c, 0xcf, 0x32, 0x7a, 0x0e, 0x2d, 0xcd, 0x8b, 0x68, 0xe0,
+ 0xd9, 0x6e, 0x2c, 0xb1, 0xc1, 0x25, 0xf2, 0x20, 0xf7, 0x6b, 0x74, 0x6a, 0x9c, 0x55, 0xd2, 0x0c,
+ 0xf4, 0x12, 0xea, 0x22, 0x91, 0xb0, 0x53, 0xe9, 0x96, 0x0f, 0x9a, 0x47, 0xed, 0xc3, 0xb8, 0xce,
+ 0x02, 0x26, 0x29, 0x9f, 0xc9, 0x8a, 0x6a, 0x85, 0x9d, 0x6a, 0x4e, 0x56, 0xc0, 0x24, 0xe5, 0xcb,
+ 0xbf, 0xb3, 0x3c, 0xf1, 0xf8, 0x1f, 0xcb, 0x73, 0x1f, 0x1a, 0x86, 0xef, 0xb1, 0x58, 0xb4, 0x7e,
+ 0xa7, 0xc2, 0xdd, 0x2f, 0x01, 0xc6, 0x7d, 0x7f, 0xa7, 0x4c, 0xa7, 0x01, 0x0d, 0xc3, 0x4e, 0x3d,
+ 0xf6, 0x90, 0x02, 0x68, 0x17, 0xaa, 0x4c, 0x0e, 0xfb, 0x9d, 0x06, 0x57, 0x14, 0x14, 0xcb, 0x3f,
+ 0xa4, 0xc1, 0xad, 0x33, 0xa1, 0x61, 0x07, 0x72, 0xf9, 0x9b, 0x31, 0x4c, 0x52, 0xbe, 0xfc, 0x5b,
+ 0x09, 0x6a, 0x02, 0x45, 0x08, 0x36, 0xb0, 0x3d, 0xa3, 0xbc, 0x0a, 0x0d, 0xc2, 0xcf, 0xf9, 0x08,
+ 0x4a, 0xf7, 0x23, 0x78, 0x0c, 0x15, 0xdd, 0x5b, 0x98, 0x9e, 0xc8, 0x3e, 0x26, 0x98, 0x1d, 0x73,
+ 0x64, 0x5f, 0xf3, 0x84, 0x2b, 0x84, 0x9f, 0x19, 0xd6, 0x63, 0x58, 0x9c, 0x22, 0x3f, 0xa3, 0x7f,
+ 0x03, 0x60, 0x4a, 0xa7, 0xa1, 0x6a, 0xcf, 0x7d, 0xb7, 0x53, 0xed, 0x16, 0x0f, 0xea, 0x24, 0x83,
+ 0x30, 0xdf, 0x9c, 0xea, 0xdf, 0x4c, 0xe6, 0xbc, 0x15, 0xea, 0x64, 0x09, 0xa4, 0x5c, 0xed, 0x7a,
+ 0x36, 0xe7, 0xb5, 0x49, 0xb8, 0x0c, 0x40, 0x1d, 0xa8, 0x0d, 0xe8, 0x8c, 0x15, 0x44, 0x14, 0x27,
+ 0x21, 0x99, 0x57, 0x6e, 0x3e, 0xbe, 0x14, 0xe0, 0x81, 0x67, 0x10, 0x66, 0x97, 0xd9, 0x8f, 0xd9,
+ 0xcd, 0x38, 0xe3, 0x14, 0x58, 0xbd, 0xd5, 0xcd, 0x2f, 0xdc, 0xaa, 0x36, 0x38, 0x37, 0x62, 0x89,
+ 0x56, 0x6c, 0x23, 0x05, 0x64, 0x1b, 0x1e, 0xeb, 0x78, 0x3c, 0x0a, 0xec, 0xab, 0x2b, 0x67, 0x62,
+ 0x4e, 0x6e, 0xe8, 0x74, 0xe1, 0xd2, 0x20, 0x44, 0x1a, 0x6c, 0x45, 0x0c, 0x5c, 0x42, 0xfc, 0x2a,
+ 0x9a, 0x47, 0xcf, 0x0e, 0x73, 0x33, 0x61, 0x45, 0x93, 0xdc, 0xd7, 0x93, 0x0f, 0x60, 0x43, 0xc7,
+ 0xe3, 0x10, 0x75, 0xa1, 0xe2, 0x44, 0x74, 0xc6, 0x0c, 0xb1, 0x3e, 0x00, 0xd1, 0x07, 0x3a, 0x1e,
+ 0x93, 0x98, 0x21, 0x7f, 0x05, 0x75, 0x71, 0xff, 0x21, 0x7a, 0x9e, 0x97, 0xbe, 0xdf, 0x35, 0xa9,
+ 0x06, 0x30, 0x7d, 0xfa, 0x69, 0x41, 0xc3, 0x68, 0xe5, 0x43, 0x29, 0xae, 0x7e, 0x28, 0xf2, 0x4b,
+ 0x00, 0x43, 0xc7, 0x89, 0x46, 0xa6, 0xe5, 0xa7, 0x5c, 0xbc, 0xb5, 0x6c, 0xf9, 0xa9, 0xfc, 0x4b,
+ 0x19, 0x1a, 0x8a, 0x6b, 0x07, 0xb3, 0xd1, 0xe7, 0x39, 0x95, 0x7f, 0x2e, 0x43, 0x85, 0x1d, 0x42,
+ 0x54, 0x83, 0xf2, 0x50, 0x37, 0xa5, 0x02, 0x6a, 0x03, 0xf4, 0x3f, 0x6a, 0x78, 0x60, 0x0d, 0x14,
+ 0xd3, 0x90, 0x8a, 0xa8, 0x05, 0x0d, 0x1d, 0x8f, 0x2d, 0x65, 0xa8, 0x90, 0x73, 0xa9, 0x84, 0x9e,
+ 0xc0, 0x23, 0x46, 0x9a, 0x23, 0x85, 0x8c, 0xc6, 0x86, 0x75, 0xaa, 0x68, 0xc3, 0x31, 0x51, 0xa5,
+ 0x32, 0xda, 0x05, 0xc4, 0x19, 0xda, 0x00, 0x2b, 0x43, 0xab, 0xaf, 0x0e, 0x88, 0xd2, 0x57, 0xa5,
+ 0x8d, 0x44, 0xa1, 0x4f, 0xb4, 0xd3, 0x91, 0xa5, 0x9f, 0x5a, 0x1f, 0x34, 0xdc, 0xd7, 0x3f, 0x48,
+ 0x15, 0xb4, 0x0f, 0x1d, 0xc6, 0x18, 0xea, 0xa6, 0xc9, 0x70, 0xfd, 0xbc, 0xa7, 0x59, 0xbd, 0xf7,
+ 0x0a, 0xc6, 0xea, 0x50, 0xaa, 0xa6, 0x7e, 0xb8, 0x39, 0x33, 0xf5, 0x53, 0x43, 0x2f, 0xe0, 0xbf,
+ 0x8c, 0x31, 0x22, 0x0a, 0x36, 0xcf, 0x35, 0xd3, 0xd4, 0x74, 0x6c, 0x69, 0x78, 0xa4, 0x92, 0x53,
+ 0x95, 0xa8, 0xb8, 0xa7, 0x5a, 0x1f, 0x14, 0x82, 0x35, 0x3c, 0x90, 0xea, 0x68, 0x0f, 0x76, 0x79,
+ 0xe8, 0xbd, 0x91, 0x76, 0xa1, 0x8c, 0x98, 0x60, 0x62, 0xa6, 0x81, 0x3a, 0xbc, 0x49, 0x2c, 0x83,
+ 0xe8, 0x3d, 0xd5, 0x34, 0x59, 0xbe, 0x2a, 0x21, 0x3a, 0x91, 0x00, 0x75, 0x61, 0x3f, 0x1b, 0xd7,
+ 0x99, 0xfa, 0xd1, 0x32, 0x3f, 0xe2, 0x5e, 0xaa, 0xdb, 0x44, 0x3b, 0xb0, 0xcd, 0x24, 0xb4, 0xd1,
+ 0xd8, 0x32, 0x74, 0xcc, 0x6a, 0x31, 0x32, 0xa5, 0x4d, 0xb4, 0x0d, 0xad, 0xb4, 0x52, 0x4c, 0x5d,
+ 0x6a, 0xdd, 0x87, 0x4e, 0xa4, 0x76, 0x92, 0x58, 0x02, 0x19, 0x3d, 0x8b, 0x65, 0x21, 0x6d, 0x25,
+ 0xf5, 0xc8, 0x31, 0x7a, 0x22, 0x2a, 0x09, 0x21, 0x68, 0x67, 0xb9, 0xa7, 0x9a, 0xb4, 0x8d, 0x1e,
+ 0xc1, 0x56, 0x16, 0x53, 0xce, 0x35, 0x09, 0xc9, 0x6f, 0xa1, 0xcd, 0xef, 0xd7, 0xb0, 0x03, 0x7b,
+ 0x46, 0x23, 0x1a, 0x20, 0x09, 0xca, 0x67, 0xf4, 0xb3, 0xe8, 0x1c, 0x76, 0x64, 0x73, 0xe5, 0xc2,
+ 0x76, 0x17, 0xc9, 0x5e, 0x8a, 0x09, 0xf9, 0xc7, 0x22, 0xb7, 0xc7, 0xb5, 0x33, 0xcd, 0x94, 0x76,
+ 0x8b, 0xb0, 0xb0, 0x04, 0x1e, 0x34, 0xc5, 0x77, 0xa1, 0xca, 0x3e, 0xcb, 0x45, 0x28, 0x86, 0x98,
+ 0xa0, 0xd0, 0x37, 0x00, 0x69, 0x88, 0x61, 0x67, 0x83, 0x7f, 0x11, 0x3b, 0xe2, 0x8b, 0xc8, 0x27,
+ 0x40, 0x32, 0x82, 0xf2, 0x27, 0xd8, 0xd2, 0x87, 0xa3, 0x5c, 0x8c, 0x5d, 0x68, 0xf2, 0xf1, 0x70,
+ 0x65, 0x4f, 0xa8, 0x58, 0x32, 0x2d, 0x92, 0x85, 0xd2, 0xa9, 0xc2, 0x48, 0x9e, 0x49, 0x29, 0x33,
+ 0x55, 0x12, 0xf0, 0x4b, 0x91, 0xca, 0x3f, 0x14, 0xa1, 0x75, 0x41, 0x83, 0xd0, 0xf1, 0x3d, 0x91,
+ 0x53, 0x07, 0x6a, 0xb7, 0x31, 0x20, 0x6a, 0x92, 0x90, 0xac, 0x5e, 0x97, 0x0b, 0xc7, 0x9d, 0x8e,
+ 0x9c, 0x59, 0xba, 0xf5, 0x53, 0x80, 0xcd, 0xc6, 0x89, 0x3f, 0x9b, 0x39, 0xd1, 0x7b, 0x3b, 0xbc,
+ 0x11, 0x5e, 0x32, 0x08, 0xd3, 0xbe, 0x76, 0x22, 0x11, 0x44, 0xbc, 0xcf, 0x96, 0x80, 0xfc, 0x16,
+ 0xea, 0x43, 0xff, 0x7a, 0x48, 0x6f, 0xa9, 0xcb, 0x6e, 0xd0, 0x65, 0x07, 0xe1, 0x3f, 0x26, 0x58,
+ 0x06, 0x13, 0xdb, 0x75, 0xc5, 0x4d, 0xd4, 0x89, 0xa0, 0x64, 0x15, 0xea, 0x84, 0x86, 0x73, 0xdf,
+ 0x0b, 0x29, 0x7a, 0x06, 0xcd, 0x90, 0xdb, 0xb3, 0x26, 0xfe, 0x94, 0x8a, 0x95, 0x0c, 0x31, 0xd4,
+ 0xf3, 0xa7, 0x94, 0x25, 0x37, 0xa3, 0x61, 0x68, 0x5f, 0x27, 0x09, 0x24, 0xa4, 0x1c, 0x42, 0x93,
+ 0x0d, 0xff, 0xa4, 0xee, 0x2f, 0xa0, 0xaa, 0x7b, 0x0b, 0x42, 0x3f, 0x89, 0x31, 0xba, 0x9d, 0x99,
+ 0x7e, 0xb1, 0x08, 0x11, 0x02, 0xe8, 0x1d, 0x6c, 0x9a, 0x8b, 0x4b, 0x65, 0x12, 0x39, 0xbe, 0x77,
+ 0x61, 0xbb, 0xdc, 0x70, 0x3b, 0xbd, 0xee, 0x94, 0xc5, 0x47, 0x11, 0xc9, 0x89, 0xca, 0x67, 0x50,
+ 0x39, 0x75, 0xfd, 0xbb, 0x10, 0xfd, 0x0b, 0xe0, 0xca, 0xf5, 0xef, 0xac, 0x89, 0xbf, 0xf0, 0xa2,
+ 0x64, 0xb0, 0x31, 0xa4, 0xc7, 0x00, 0xf4, 0x1f, 0xa8, 0x30, 0x82, 0x6d, 0x51, 0xd6, 0x4a, 0xad,
+ 0xc3, 0xe4, 0x11, 0xc8, 0xb4, 0x49, 0xcc, 0x93, 0x6b, 0x50, 0x51, 0x67, 0xf3, 0xe8, 0xf3, 0xcb,
+ 0x37, 0xd0, 0xce, 0x7b, 0x45, 0x75, 0xd8, 0xf8, 0x5e, 0xd7, 0xb0, 0x54, 0x40, 0x0d, 0xa8, 0x0c,
+ 0x55, 0xe5, 0x42, 0x95, 0x8a, 0x08, 0xa0, 0xca, 0xc0, 0x8b, 0x63, 0xa9, 0x74, 0xf4, 0x53, 0x03,
+ 0x2a, 0x27, 0x27, 0xa6, 0x33, 0x43, 0xaf, 0xa1, 0x26, 0xfa, 0x01, 0x6d, 0x8a, 0x14, 0xb8, 0xd5,
+ 0xbd, 0xc7, 0x82, 0xca, 0x75, 0x8b, 0x5c, 0x40, 0x6f, 0xa0, 0x69, 0xd2, 0x28, 0xbd, 0xbc, 0x2d,
+ 0x21, 0x96, 0x00, 0x7b, 0xf7, 0x01, 0xb9, 0x80, 0x9e, 0x43, 0x75, 0x40, 0x23, 0xf6, 0x44, 0xcc,
+ 0xbb, 0x48, 0x57, 0x8c, 0x1b, 0xc9, 0x05, 0xf4, 0x0a, 0xc0, 0xf0, 0xef, 0x68, 0xe0, 0x7b, 0xab,
+ 0x92, 0x89, 0xd1, 0xe4, 0xe6, 0xe5, 0x02, 0x3a, 0x84, 0xa6, 0x79, 0xb3, 0x88, 0xa6, 0xfe, 0xdd,
+ 0xc3, 0xe4, 0xff, 0x0f, 0x0d, 0x42, 0x2f, 0x7d, 0x3f, 0x7a, 0x90, 0xf4, 0x8b, 0x38, 0x64, 0x3c,
+ 0x46, 0xab, 0x9d, 0xb0, 0x97, 0x59, 0x8d, 0x72, 0x01, 0xfd, 0x8f, 0x3d, 0x1f, 0x22, 0xbe, 0x42,
+ 0xf3, 0x66, 0x9b, 0x4b, 0xb1, 0x30, 0x0e, 0x78, 0x40, 0xa3, 0x74, 0x81, 0xae, 0x0f, 0x21, 0x61,
+ 0xcb, 0x05, 0xf4, 0x2d, 0xb4, 0x99, 0x5d, 0x6f, 0x91, 0xaa, 0xac, 0x09, 0x65, 0x8d, 0xde, 0x71,
+ 0xa6, 0x30, 0xeb, 0xe3, 0x5f, 0x93, 0xef, 0x11, 0x6c, 0x25, 0x4a, 0x8a, 0xeb, 0xae, 0x49, 0x66,
+ 0x8d, 0xce, 0x3b, 0xd8, 0xce, 0x38, 0x0a, 0x75, 0xcf, 0xd0, 0x71, 0xea, 0x6e, 0xb9, 0xc4, 0xd7,
+ 0xbb, 0x4b, 0xef, 0xfa, 0xc1, 0x21, 0xbe, 0x81, 0xb6, 0xd0, 0x79, 0x70, 0x84, 0x6f, 0x41, 0x5a,
+ 0xba, 0xf9, 0x4b, 0x01, 0x7e, 0x0d, 0x9b, 0x84, 0x86, 0x91, 0x1d, 0x44, 0xf1, 0xfb, 0xf2, 0x61,
+ 0x21, 0x1e, 0x43, 0x53, 0x68, 0xf1, 0x67, 0xe7, 0xc3, 0x94, 0x4e, 0x60, 0xc7, 0xe4, 0xf7, 0xcc,
+ 0x17, 0x81, 0xe6, 0x4d, 0x9d, 0x89, 0xcd, 0x3e, 0x65, 0xb4, 0xbb, 0x54, 0xcf, 0xee, 0x88, 0x3f,
+ 0xb1, 0xe1, 0x46, 0x5f, 0xb4, 0x91, 0xdf, 0x33, 0xeb, 0x6c, 0xbc, 0x82, 0xfa, 0x80, 0x46, 0xf1,
+ 0x7c, 0x5a, 0x13, 0x79, 0x52, 0x6c, 0x2e, 0xc0, 0x6b, 0xbb, 0xd5, 0xbb, 0xb1, 0xbd, 0x6b, 0xca,
+ 0xc6, 0x68, 0xfc, 0x94, 0x45, 0x42, 0x24, 0x33, 0x58, 0xd7, 0x39, 0x3a, 0x83, 0x27, 0x71, 0x63,
+ 0xaf, 0x3e, 0x6b, 0xd7, 0xf8, 0x7d, 0xba, 0x84, 0x56, 0xe4, 0xe5, 0xc2, 0x65, 0x95, 0xff, 0xeb,
+ 0x3d, 0xfe, 0x23, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x86, 0x90, 0x8d, 0x54, 0x0f, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/api/bbsim/bbsim.proto b/api/bbsim/bbsim.proto
index 7a67c85..da329f7 100644
--- a/api/bbsim/bbsim.proto
+++ b/api/bbsim/bbsim.proto
@@ -63,6 +63,7 @@
string EapolState = 10;
string DhcpState = 11;
string InternalState = 12;
+ string IGMPState = 13;
}
message ONUTrafficSchedulers {
diff --git a/api/legacy/bbsim.pb.go b/api/legacy/bbsim.pb.go
index ac41b01..3e94e0e 100644
--- a/api/legacy/bbsim.pb.go
+++ b/api/legacy/bbsim.pb.go
@@ -8,8 +8,8 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
- openolt "github.com/opencord/voltha-protos/v2/go/openolt"
- tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ openolt "github.com/opencord/voltha-protos/v3/go/openolt"
+ tech_profile "github.com/opencord/voltha-protos/v3/go/tech_profile"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
diff --git a/configs/tt-services.yaml b/configs/tt-services.yaml
index aa6c661..78966b8 100644
--- a/configs/tt-services.yaml
+++ b/configs/tt-services.yaml
@@ -41,8 +41,9 @@
- name: MC
c_tag: 55
c_tag_allocation: shared
- s_tag: 555
+ s_tag: 550
s_tag_allocation: shared
tp_id: 66
ds_pon_c_tag_priority: 5
- ds_pon_s_tag_priority: 5
\ No newline at end of file
+ ds_pon_s_tag_priority: 5
+# TODO add mgmt service (same tagging scheme as void/vod), requires DHCP
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 602e81d..fa8fe8b 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@
github.com/olekukonko/tablewriter v0.0.4
github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
github.com/opencord/omci-sim v0.0.4
- github.com/opencord/voltha-protos/v2 v2.1.2
+ github.com/opencord/voltha-protos/v3 v3.4.5
github.com/pkg/errors v0.8.1 // indirect
github.com/sirupsen/logrus v1.4.2
github.com/stretchr/testify v1.4.0
diff --git a/go.sum b/go.sum
index 2c8784d..2d39ec3 100644
--- a/go.sum
+++ b/go.sum
@@ -82,8 +82,8 @@
github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4/go.mod h1:/+3S0pwQUy7HeKnH0KfKp5W6hmh/LdZzuZTNT/m7vA4=
github.com/opencord/omci-sim v0.0.4 h1:kN8zi/8gkcHOkXPk27Wp6Wwp8ggUylXcD/egW7PUXmc=
github.com/opencord/omci-sim v0.0.4/go.mod h1:ToOkj7hkHgoet9XQDadKMhYqgA7qItZsi2j1Pk/mX6Y=
-github.com/opencord/voltha-protos/v2 v2.1.2 h1:/eX+kXhANbzxTpBHgC6vjwBUGRKKvGUOQRDdDgROp9E=
-github.com/opencord/voltha-protos/v2 v2.1.2/go.mod h1:6kOcfYi1CadWowFxI2SH5wLfHrsRECZLZlD2MFK6WDI=
+github.com/opencord/voltha-protos/v3 v3.4.5 h1:8M4RHUgQI+XHMBtTW6FLwinqP9JbZq3kM2UOb9ShgLc=
+github.com/opencord/voltha-protos/v3 v3.4.5/go.mod h1:nl1ETp5Iw3avxOaKD8BJlYY5wYI4KeV95aT1pL63nto=
github.com/pierrec/lz4 v2.4.1+incompatible h1:mFe7ttWaflA46Mhqh+jUfjp2qTbPYxLB2/OyBppH9dg=
github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
diff --git a/internal/bbr/devices/olt.go b/internal/bbr/devices/olt.go
index 35b5697..94e2908 100644
--- a/internal/bbr/devices/olt.go
+++ b/internal/bbr/devices/olt.go
@@ -29,7 +29,7 @@
"github.com/opencord/bbsim/internal/bbsim/devices"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
"github.com/opencord/bbsim/internal/common"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
)
@@ -288,7 +288,7 @@
pkt := gopacket.NewPacket(pktIndication.Pkt, layers.LayerTypeEthernet, gopacket.Default)
- pktType, err := packetHandlers.IsEapolOrDhcp(pkt)
+ pktType, err := packetHandlers.GetPktType(pkt)
if err != nil {
log.Warnf("Ignoring packet as it's neither EAPOL or DHCP")
diff --git a/internal/bbsim/alarmsim/alarmsim.go b/internal/bbsim/alarmsim/alarmsim.go
index d7c0b54..838e15a 100644
--- a/internal/bbsim/alarmsim/alarmsim.go
+++ b/internal/bbsim/alarmsim/alarmsim.go
@@ -25,7 +25,7 @@
"github.com/opencord/bbsim/api/bbsim"
"github.com/opencord/bbsim/internal/bbsim/devices"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
@@ -160,9 +160,14 @@
case bbsim.AlarmType_ONU_ITU_PON_STATS:
alarm = &openolt.AlarmIndication{
Data: &openolt.AlarmIndication_OnuItuPonStatsInd{OnuItuPonStatsInd: &openolt.OnuItuPonStatsIndication{
- OnuId: onu.ID,
- IntfId: onu.PonPortID,
- RdiErrors: uint32(extractInt(req.Parameters, "RdiErrors", 0)),
+ OnuId: onu.ID,
+ IntfId: onu.PonPortID,
+ Stats: &openolt.OnuItuPonStatsIndication_RdiErrorInd{
+ RdiErrorInd: &openolt.RdiErrorIndication{
+ RdiErrorCount: uint64(extractInt(req.Parameters, "RdiErrors", 0)),
+ Status: req.Status,
+ },
+ },
}},
}
case bbsim.AlarmType_ONU_ALARM_LOS:
diff --git a/internal/bbsim/api/onus_handler.go b/internal/bbsim/api/onus_handler.go
index 332f237..10d671d 100644
--- a/internal/bbsim/api/onus_handler.go
+++ b/internal/bbsim/api/onus_handler.go
@@ -224,6 +224,9 @@
}
func (s BBSimServer) ChangeIgmpState(ctx context.Context, req *bbsim.IgmpRequest) (*bbsim.Response, error) {
+
+ // TODO check that the ONU is enabled and the services are initialized before changing the state
+
res := &bbsim.Response{}
logger.WithFields(log.Fields{
@@ -250,15 +253,42 @@
event = "igmp_join_startv3"
}
- if igmpErr := onu.InternalState.Event(event); igmpErr != nil {
- logger.WithFields(log.Fields{
- "OnuId": onu.ID,
- "IntfId": onu.PonPortID,
- "OnuSn": onu.Sn(),
- }).Errorf("IGMP request failed: %s", igmpErr.Error())
+ errors := []string{}
+ startedOn := []string{}
+ success := true
+
+ for _, s := range onu.Services {
+ service := s.(*devices.Service)
+ if service.NeedsIgmp {
+
+ logger.WithFields(log.Fields{
+ "OnuId": onu.ID,
+ "IntfId": onu.PonPortID,
+ "OnuSn": onu.Sn(),
+ "Service": service.Name,
+ }).Debugf("Sending %s event on Service %s", event, service.Name)
+
+ if err := service.IGMPState.Event(event); err != nil {
+ logger.WithFields(log.Fields{
+ "OnuId": onu.ID,
+ "IntfId": onu.PonPortID,
+ "OnuSn": onu.Sn(),
+ "Service": service.Name,
+ }).Errorf("IGMP request failed: %s", err.Error())
+ errors = append(errors, fmt.Sprintf("%s: %s", service.Name, err.Error()))
+ success = false
+ }
+ startedOn = append(startedOn, service.Name)
+ }
+ }
+
+ if success {
+ res.StatusCode = int32(codes.OK)
+ res.Message = fmt.Sprintf("Authentication restarted on Services %s for ONU %s.",
+ fmt.Sprintf("%v", startedOn), onu.Sn())
+ } else {
res.StatusCode = int32(codes.FailedPrecondition)
- res.Message = igmpErr.Error()
- return res, igmpErr
+ res.Message = fmt.Sprintf("%v", errors)
}
}
@@ -283,6 +313,7 @@
}
errors := []string{}
+ startedOn := []string{}
success := true
for _, s := range onu.Services {
@@ -298,12 +329,14 @@
errors = append(errors, fmt.Sprintf("%s: %s", service.Name, err.Error()))
success = false
}
+ startedOn = append(startedOn, service.Name)
}
}
if success {
res.StatusCode = int32(codes.OK)
- res.Message = fmt.Sprintf("Authentication restarted for ONU %s.", onu.Sn())
+ res.Message = fmt.Sprintf("Authentication restarted on Services %s for ONU %s.",
+ fmt.Sprintf("%v", startedOn), onu.Sn())
} else {
res.StatusCode = int32(codes.FailedPrecondition)
res.Message = fmt.Sprintf("%v", errors)
@@ -330,6 +363,7 @@
}
errors := []string{}
+ startedOn := []string{}
success := true
for _, s := range onu.Services {
@@ -346,12 +380,14 @@
errors = append(errors, fmt.Sprintf("%s: %s", service.Name, err.Error()))
success = false
}
+ startedOn = append(startedOn, service.Name)
}
}
if success {
res.StatusCode = int32(codes.OK)
- res.Message = fmt.Sprintf("DHCP restarted for ONU %s.", onu.Sn())
+ res.Message = fmt.Sprintf("DHCP restarted on Services %s for ONU %s.",
+ fmt.Sprintf("%v", startedOn), onu.Sn())
} else {
res.StatusCode = int32(codes.FailedPrecondition)
res.Message = fmt.Sprintf("%v", errors)
diff --git a/internal/bbsim/api/services_handler.go b/internal/bbsim/api/services_handler.go
index 18bb84c..85ee8f6 100644
--- a/internal/bbsim/api/services_handler.go
+++ b/internal/bbsim/api/services_handler.go
@@ -36,6 +36,7 @@
GemPort: int32(s.GemPort),
EapolState: s.EapolState.Current(),
DhcpState: s.DHCPState.Current(),
+ IGMPState: s.IGMPState.Current(),
}
}
diff --git a/internal/bbsim/devices/helpers.go b/internal/bbsim/devices/helpers.go
index e72093b..6b3d220 100644
--- a/internal/bbsim/devices/helpers.go
+++ b/internal/bbsim/devices/helpers.go
@@ -23,7 +23,7 @@
"github.com/looplab/fsm"
"github.com/opencord/bbsim/internal/common"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
)
type mode int
diff --git a/internal/bbsim/devices/messageTypes.go b/internal/bbsim/devices/messageTypes.go
index cfe7200..b677416 100644
--- a/internal/bbsim/devices/messageTypes.go
+++ b/internal/bbsim/devices/messageTypes.go
@@ -19,7 +19,7 @@
import (
"github.com/google/gopacket"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"net"
)
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index a9420de..c883e95 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -20,6 +20,7 @@
"context"
"encoding/hex"
"fmt"
+ "github.com/opencord/voltha-protos/v3/go/ext/config"
"net"
"sync"
"time"
@@ -32,8 +33,9 @@
bbsim "github.com/opencord/bbsim/internal/bbsim/types"
"github.com/opencord/bbsim/internal/common"
omcisim "github.com/opencord/omci-sim"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ common_protos "github.com/opencord/voltha-protos/v3/go/common"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/tech_profile"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
@@ -1074,7 +1076,21 @@
}).Debug("Adding OLT flow")
} else if flow.FlowType == "multicast" {
oltLogger.WithFields(log.Fields{
- "FlowId": flow.FlowId,
+ "Cookie": flow.Cookie,
+ "DstPort": flow.Classifier.DstPort,
+ "EthType": fmt.Sprintf("%x", flow.Classifier.EthType),
+ "FlowId": flow.FlowId,
+ "FlowType": flow.FlowType,
+ "GemportId": flow.GemportId,
+ "InnerVlan": flow.Classifier.IVid,
+ "IntfId": flow.AccessIntfId,
+ "IpProto": flow.Classifier.IpProto,
+ "OnuId": flow.OnuId,
+ "OuterVlan": flow.Classifier.OVid,
+ "PortNo": flow.PortNo,
+ "SrcPort": flow.Classifier.SrcPort,
+ "UniID": flow.UniId,
+ "ClassifierOPbits": flow.Classifier.OPbits,
}).Debug("Adding OLT multicast flow")
} else {
pon, err := o.GetPonById(uint32(flow.AccessIntfId))
@@ -1301,13 +1317,14 @@
}).Trace("Received OnuPacketOut")
rawpkt := gopacket.NewPacket(onuPkt.Pkt, layers.LayerTypeEthernet, gopacket.Default)
- pktType, err := packetHandlers.IsEapolOrDhcp(rawpkt)
+
+ pktType, err := packetHandlers.GetPktType(rawpkt)
if err != nil {
onuLogger.WithFields(log.Fields{
"IntfId": onu.PonPortID,
"OnuId": onu.ID,
"OnuSn": onu.Sn(),
- "Pkt": rawpkt.Data(),
+ "Pkt": hex.EncodeToString(rawpkt.Data()),
}).Error("Can't find pktType in packet, droppint it")
return new(openolt.Empty), nil
}
@@ -1473,3 +1490,39 @@
o.channel <- msg
return nil
}
+
+func (o *OltDevice) PerformGroupOperation(ctx context.Context, group *openolt.Group) (*openolt.Empty, error) {
+ oltLogger.WithFields(log.Fields{
+ "GroupId": group.GroupId,
+ "Command": group.Command,
+ "Members": group.Members,
+ "Action": group.Action,
+ }).Debug("received PerformGroupOperation")
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) DeleteGroup(ctx context.Context, group *openolt.Group) (*openolt.Empty, error) {
+ oltLogger.WithFields(log.Fields{
+ "GroupId": group.GroupId,
+ "Command": group.Command,
+ "Members": group.Members,
+ "Action": group.Action,
+ }).Debug("received PerformGroupOperation")
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) GetExtValue(ctx context.Context, in *openolt.ValueParam) (*common_protos.ReturnValues, error) {
+ return &common_protos.ReturnValues{}, nil
+}
+
+func (o *OltDevice) OnuItuPonAlarmSet(ctx context.Context, in *config.OnuItuPonAlarm) (*openolt.Empty, error) {
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) GetLogicalOnuDistanceZero(ctx context.Context, in *openolt.Onu) (*openolt.OnuLogicalDistance, error) {
+ return &openolt.OnuLogicalDistance{}, nil
+}
+
+func (o *OltDevice) GetLogicalOnuDistance(ctx context.Context, in *openolt.Onu) (*openolt.OnuLogicalDistance, error) {
+ return &openolt.OnuLogicalDistance{}, nil
+}
diff --git a/internal/bbsim/devices/olt_test.go b/internal/bbsim/devices/olt_test.go
index 53f9f44..1536baf 100644
--- a/internal/bbsim/devices/olt_test.go
+++ b/internal/bbsim/devices/olt_test.go
@@ -21,7 +21,7 @@
"net"
"testing"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"gotest.tools/assert"
)
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 80308da..5300b38 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -18,6 +18,7 @@
import (
"context"
+ "encoding/hex"
"fmt"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
"github.com/opencord/bbsim/internal/bbsim/responders/dhcp"
@@ -33,8 +34,8 @@
"github.com/opencord/bbsim/internal/common"
omcilib "github.com/opencord/bbsim/internal/common/omci"
omcisim "github.com/opencord/omci-sim"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/tech_profile"
log "github.com/sirupsen/logrus"
)
@@ -235,23 +236,6 @@
}
o.Channel <- msg
},
- "igmp_join_start": func(e *fsm.Event) {
- msg := Message{
- Type: IGMPMembershipReportV2,
- }
- o.Channel <- msg
- },
- "igmp_leave": func(e *fsm.Event) {
- msg := Message{
- Type: IGMPLeaveGroup}
- o.Channel <- msg
- },
- "igmp_join_startv3": func(e *fsm.Event) {
- msg := Message{
- Type: IGMPMembershipReportV3,
- }
- o.Channel <- msg
- },
},
)
@@ -325,27 +309,32 @@
"pktType": msg.Type,
}).Trace("Received OnuPacketOut Message")
- service, err := o.findServiceByMacAddress(msg.MacAddress)
- if err != nil {
- onuLogger.WithFields(log.Fields{
- "IntfId": msg.IntfId,
- "OnuId": msg.OnuId,
- "pktType": msg.Type,
- "MacAddress": msg.MacAddress,
- "OnuSn": o.Sn(),
- }).Error("Cannot find Service associated with packet")
- return
+ if msg.Type == packetHandlers.EAPOL || msg.Type == packetHandlers.DHCP {
+
+ service, err := o.findServiceByMacAddress(msg.MacAddress)
+ if err != nil {
+ onuLogger.WithFields(log.Fields{
+ "IntfId": msg.IntfId,
+ "OnuId": msg.OnuId,
+ "pktType": msg.Type,
+ "MacAddress": msg.MacAddress,
+ "Pkt": hex.EncodeToString(msg.Packet.Data()),
+ "OnuSn": o.Sn(),
+ }).Error("Cannot find Service associated with packet")
+ return
+ }
+ service.PacketCh <- msg
+ } else if msg.Type == packetHandlers.IGMP {
+ // if it's an IGMP packet we assume we have a single IGMP service
+ for _, s := range o.Services {
+ service := s.(*Service)
+
+ if service.NeedsIgmp {
+ service.PacketCh <- msg
+ }
+ }
}
- service.PacketCh <- msg
-
- onuLogger.WithFields(log.Fields{
- "IntfId": msg.IntfId,
- "OnuId": msg.OnuId,
- "pktType": msg.Type,
- "ServiceName": service.Name,
- }).Info("OnuPacketOut Sent on Service Packet channel")
-
case OnuPacketIn:
// NOTE we only receive BBR packets here.
// Eapol.HandleNextPacket can handle both BBSim and BBr cases so the call is the same
diff --git a/internal/bbsim/devices/onu_flow_test.go b/internal/bbsim/devices/onu_flow_test.go
index 3f0d702..0b8037a 100644
--- a/internal/bbsim/devices/onu_flow_test.go
+++ b/internal/bbsim/devices/onu_flow_test.go
@@ -19,7 +19,7 @@
import (
"github.com/google/gopacket/layers"
"github.com/looplab/fsm"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"gotest.tools/assert"
"testing"
)
diff --git a/internal/bbsim/devices/onu_indications_test.go b/internal/bbsim/devices/onu_indications_test.go
index 76c7a7d..1905c20 100644
--- a/internal/bbsim/devices/onu_indications_test.go
+++ b/internal/bbsim/devices/onu_indications_test.go
@@ -22,7 +22,7 @@
"testing"
"time"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"google.golang.org/grpc"
"gotest.tools/assert"
)
diff --git a/internal/bbsim/devices/onu_test_helpers.go b/internal/bbsim/devices/onu_test_helpers.go
index 76f7917..d98dc3f 100644
--- a/internal/bbsim/devices/onu_test_helpers.go
+++ b/internal/bbsim/devices/onu_test_helpers.go
@@ -19,10 +19,12 @@
import (
"context"
"errors"
+ "github.com/opencord/voltha-protos/v3/go/common"
+ "github.com/opencord/voltha-protos/v3/go/ext/config"
"time"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/tech_profile"
"google.golang.org/grpc"
)
@@ -104,6 +106,24 @@
func (s *mockClient) EnableIndication(ctx context.Context, in *openolt.Empty, opts ...grpc.CallOption) (openolt.Openolt_EnableIndicationClient, error) {
return nil, errors.New("unimplemented-in-mock-client")
}
+func (s *mockClient) PerformGroupOperation(ctx context.Context, group *openolt.Group, opts ...grpc.CallOption) (*openolt.Empty, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+func (s *mockClient) DeleteGroup(ctx context.Context, group *openolt.Group, opts ...grpc.CallOption) (*openolt.Empty, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+func (s *mockClient) GetExtValue(ctx context.Context, in *openolt.ValueParam, opts ...grpc.CallOption) (*common.ReturnValues, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+func (s *mockClient) OnuItuPonAlarmSet(ctx context.Context, in *config.OnuItuPonAlarm, opts ...grpc.CallOption) (*openolt.Empty, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+func (s *mockClient) GetLogicalOnuDistanceZero(ctx context.Context, in *openolt.Onu, opts ...grpc.CallOption) (*openolt.OnuLogicalDistance, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+func (s *mockClient) GetLogicalOnuDistance(ctx context.Context, in *openolt.Onu, opts ...grpc.CallOption) (*openolt.OnuLogicalDistance, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
// this method creates a fake ONU used in the tests
func createMockOnu(id uint32, ponPortId uint32) *Onu {
diff --git a/internal/bbsim/devices/pon.go b/internal/bbsim/devices/pon.go
index a48dfb6..f9f9290 100644
--- a/internal/bbsim/devices/pon.go
+++ b/internal/bbsim/devices/pon.go
@@ -21,7 +21,7 @@
"fmt"
"github.com/looplab/fsm"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
log "github.com/sirupsen/logrus"
)
diff --git a/internal/bbsim/devices/service_test.go b/internal/bbsim/devices/service_test.go
index 2191178..c585906 100644
--- a/internal/bbsim/devices/service_test.go
+++ b/internal/bbsim/devices/service_test.go
@@ -18,7 +18,7 @@
import (
"github.com/opencord/bbsim/internal/bbsim/types"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"github.com/stretchr/testify/assert"
"net"
"testing"
diff --git a/internal/bbsim/devices/services.go b/internal/bbsim/devices/services.go
index c8e9461..1d45ef7 100644
--- a/internal/bbsim/devices/services.go
+++ b/internal/bbsim/devices/services.go
@@ -17,10 +17,12 @@
package devices
import (
+ "encoding/hex"
"github.com/looplab/fsm"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
"github.com/opencord/bbsim/internal/bbsim/responders/dhcp"
"github.com/opencord/bbsim/internal/bbsim/responders/eapol"
+ "github.com/opencord/bbsim/internal/bbsim/responders/igmp"
bbsimTypes "github.com/opencord/bbsim/internal/bbsim/types"
log "github.com/sirupsen/logrus"
"net"
@@ -61,6 +63,7 @@
InternalState *fsm.FSM
EapolState *fsm.FSM
DHCPState *fsm.FSM
+ IGMPState *fsm.FSM
Channel chan Message // drive Service lifecycle
PacketCh chan OnuPacketMessage // handle packets
Stream bbsimTypes.Stream // the gRPC stream to communicate with the adapter, created in the initialize transition
@@ -175,6 +178,35 @@
},
)
+ service.IGMPState = fsm.NewFSM(
+ "created",
+ fsm.Events{
+ {Name: "igmp_join_start", Src: []string{"created", "igmp_left", "igmp_join_error", "igmp_join_started"}, Dst: "igmp_join_started"},
+ {Name: "igmp_join_startv3", Src: []string{"igmp_left", "igmp_join_error", "igmp_join_started"}, Dst: "igmp_join_started"},
+ {Name: "igmp_join_error", Src: []string{"igmp_join_started"}, Dst: "igmp_join_error"},
+ {Name: "igmp_leave", Src: []string{"igmp_join_started"}, Dst: "igmp_left"},
+ },
+ fsm.Callbacks{
+ "igmp_join_start": func(e *fsm.Event) {
+ msg := Message{
+ Type: IGMPMembershipReportV2,
+ }
+ service.Channel <- msg
+ },
+ "igmp_leave": func(e *fsm.Event) {
+ msg := Message{
+ Type: IGMPLeaveGroup}
+ service.Channel <- msg
+ },
+ "igmp_join_startv3": func(e *fsm.Event) {
+ msg := Message{
+ Type: IGMPMembershipReportV3,
+ }
+ service.Channel <- msg
+ },
+ },
+ )
+
return &service, nil
}
@@ -272,6 +304,9 @@
eapol.HandleNextPacket(msg.OnuId, msg.IntfId, s.GemPort, s.Onu.Sn(), s.Onu.PortNo, s.EapolState, msg.Packet, s.Stream, nil)
} else if msg.Type == packetHandlers.DHCP {
_ = dhcp.HandleNextPacket(s.Onu.PonPort.Olt.ID, s.Onu.ID, s.Onu.PonPortID, s.Name, s.Onu.Sn(), s.Onu.PortNo, s.CTag, s.GemPort, s.HwAddress, s.DHCPState, msg.Packet, s.UsPonCTagPriority, s.Stream)
+ } else if msg.Type == packetHandlers.IGMP {
+ log.Warn(hex.EncodeToString(msg.Packet.Data()))
+ _ = igmp.HandleNextPacket(s.Onu.PonPortID, s.Onu.ID, s.Onu.Sn(), s.Onu.PortNo, s.GemPort, s.HwAddress, msg.Packet, s.CTag, s.UsPonCTagPriority, s.Stream)
}
}
}
@@ -295,7 +330,8 @@
}).Debug("Done Listening on Service Channel")
}()
for msg := range s.Channel {
- if msg.Type == StartEAPOL {
+ switch msg.Type {
+ case StartEAPOL:
if err := s.handleEapolStart(s.Stream); err != nil {
serviceLogger.WithFields(log.Fields{
"OnuId": s.Onu.ID,
@@ -306,7 +342,7 @@
}).Error("Error while sending EapolStart packet")
_ = s.EapolState.Event("auth_failed")
}
- } else if msg.Type == StartDHCP {
+ case StartDHCP:
if err := s.handleDHCPStart(s.Stream); err != nil {
serviceLogger.WithFields(log.Fields{
"OnuId": s.Onu.ID,
@@ -316,7 +352,33 @@
"err": err,
}).Error("Error while sending DHCPDiscovery packet")
_ = s.DHCPState.Event("dhcp_failed")
+
}
+ case IGMPMembershipReportV2:
+ serviceLogger.WithFields(log.Fields{
+ "OnuId": s.Onu.ID,
+ "IntfId": s.Onu.PonPortID,
+ "OnuSn": s.Onu.Sn(),
+ "Name": s.Name,
+ }).Debug("Recieved IGMPMembershipReportV2 message on ONU channel")
+ _ = igmp.SendIGMPMembershipReportV2(s.Onu.PonPortID, s.Onu.ID, s.Onu.Sn(), s.Onu.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream)
+ case IGMPLeaveGroup:
+ serviceLogger.WithFields(log.Fields{
+ "OnuId": s.Onu.ID,
+ "IntfId": s.Onu.PonPortID,
+ "OnuSn": s.Onu.Sn(),
+ "Name": s.Name,
+ }).Debug("Recieved IGMPLeaveGroupV2 message on ONU channel")
+ _ = igmp.SendIGMPLeaveGroupV2(s.Onu.PonPortID, s.Onu.ID, s.Onu.Sn(), s.Onu.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream)
+ case IGMPMembershipReportV3:
+ serviceLogger.WithFields(log.Fields{
+ "OnuId": s.Onu.ID,
+ "IntfId": s.Onu.PonPortID,
+ "OnuSn": s.Onu.Sn(),
+ "Name": s.Name,
+ }).Debug("Recieved IGMPMembershipReportV3 message on ONU channel")
+ _ = igmp.SendIGMPMembershipReportV3(s.Onu.PonPortID, s.Onu.ID, s.Onu.Sn(), s.Onu.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream)
+
}
}
}
diff --git a/internal/bbsim/packetHandlers/filters.go b/internal/bbsim/packetHandlers/filters.go
index 9ada88c..c46f87d 100644
--- a/internal/bbsim/packetHandlers/filters.go
+++ b/internal/bbsim/packetHandlers/filters.go
@@ -30,6 +30,13 @@
return false
}
+func IsIgmpPacket(pkt gopacket.Packet) bool {
+ if igmpLayer := pkt.Layer(layers.LayerTypeIGMP); igmpLayer != nil {
+ return true
+ }
+ return false
+}
+
func IsLldpPacket(pkt gopacket.Packet) bool {
if layer := pkt.Layer(layers.LayerTypeLinkLayerDiscovery); layer != nil {
return true
@@ -78,11 +85,13 @@
}
// returns wether it's an EAPOL or DHCP packet, error if it's none
-func IsEapolOrDhcp(pkt gopacket.Packet) (PacketType, error) {
+func GetPktType(pkt gopacket.Packet) (PacketType, error) {
if pkt.Layer(layers.LayerTypeEAP) != nil || pkt.Layer(layers.LayerTypeEAPOL) != nil {
return EAPOL, nil
} else if IsDhcpPacket(pkt) {
return DHCP, nil
+ } else if IsIgmpPacket(pkt) {
+ return IGMP, nil
}
- return UNKNOWN, errors.New("packet-is-neither-eapol-or-dhcp")
+ return UNKNOWN, errors.New("unknown-packet-type")
}
diff --git a/internal/bbsim/packetHandlers/filters_test.go b/internal/bbsim/packetHandlers/filters_test.go
index 8d5f96a..c182e82 100644
--- a/internal/bbsim/packetHandlers/filters_test.go
+++ b/internal/bbsim/packetHandlers/filters_test.go
@@ -20,6 +20,7 @@
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
+ "github.com/opencord/bbsim/internal/bbsim/responders/igmp"
"gotest.tools/assert"
"net"
"testing"
@@ -62,6 +63,29 @@
assert.Equal(t, res, false)
}
+func Test_IsIgmpPacket(t *testing.T) {
+ igmp := &igmp.IGMP{
+ Type: layers.IGMPMembershipReportV2, //IGMPV2 Membership Report
+ Checksum: 0,
+ GroupAddress: net.IPv4(224, 0, 0, 22),
+ Version: 2,
+ }
+ buffer := gopacket.NewSerializeBuffer()
+ options := gopacket.SerializeOptions{
+ ComputeChecksums: true,
+ FixLengths: true,
+ }
+
+ if err := gopacket.SerializeLayers(buffer, options, igmp); err != nil {
+ t.Fatal(err)
+ }
+
+ pkt := gopacket.NewPacket(buffer.Bytes(), layers.LayerTypeIGMP, gopacket.DecodeOptions{})
+
+ res := packetHandlers.IsIgmpPacket(pkt)
+ assert.Equal(t, res, true)
+}
+
func Test_IsLldpPacket_True(t *testing.T) {
layer := &layers.LinkLayerDiscovery{
PortID: layers.LLDPPortID{
diff --git a/internal/bbsim/packetHandlers/packetTypes.go b/internal/bbsim/packetHandlers/packetTypes.go
index fe424f0..c89443b 100644
--- a/internal/bbsim/packetHandlers/packetTypes.go
+++ b/internal/bbsim/packetHandlers/packetTypes.go
@@ -22,6 +22,7 @@
UNKNOWN PacketType = iota
EAPOL
DHCP
+ IGMP
)
func (t PacketType) String() string {
@@ -29,6 +30,7 @@
"UNKNOWN",
"EAPOL",
"DHCP",
+ "IGMP",
}
return names[t]
}
diff --git a/internal/bbsim/responders/dhcp/dhcp.go b/internal/bbsim/responders/dhcp/dhcp.go
index 5fc8a64..9b48c05 100644
--- a/internal/bbsim/responders/dhcp/dhcp.go
+++ b/internal/bbsim/responders/dhcp/dhcp.go
@@ -30,7 +30,7 @@
"github.com/looplab/fsm"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
bbsim "github.com/opencord/bbsim/internal/bbsim/types"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
log "github.com/sirupsen/logrus"
)
diff --git a/internal/bbsim/responders/dhcp/dhcp_test.go b/internal/bbsim/responders/dhcp/dhcp_test.go
index cb6d9b7..2a49836 100644
--- a/internal/bbsim/responders/dhcp/dhcp_test.go
+++ b/internal/bbsim/responders/dhcp/dhcp_test.go
@@ -22,7 +22,7 @@
"testing"
"github.com/looplab/fsm"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"google.golang.org/grpc"
"gotest.tools/assert"
)
diff --git a/internal/bbsim/responders/eapol/eapol.go b/internal/bbsim/responders/eapol/eapol.go
index 8a37f02..f9488fb 100644
--- a/internal/bbsim/responders/eapol/eapol.go
+++ b/internal/bbsim/responders/eapol/eapol.go
@@ -27,7 +27,7 @@
"github.com/looplab/fsm"
bbsim "github.com/opencord/bbsim/internal/bbsim/types"
omci "github.com/opencord/omci-sim"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
log "github.com/sirupsen/logrus"
)
diff --git a/internal/bbsim/responders/eapol/eapol_test.go b/internal/bbsim/responders/eapol/eapol_test.go
index 824ce65..05dcf9f 100644
--- a/internal/bbsim/responders/eapol/eapol_test.go
+++ b/internal/bbsim/responders/eapol/eapol_test.go
@@ -22,7 +22,7 @@
"testing"
"github.com/looplab/fsm"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"google.golang.org/grpc"
"gotest.tools/assert"
)
diff --git a/internal/bbsim/responders/igmp/igmp.go b/internal/bbsim/responders/igmp/igmp.go
index defbe19..5390347 100644
--- a/internal/bbsim/responders/igmp/igmp.go
+++ b/internal/bbsim/responders/igmp/igmp.go
@@ -15,25 +15,28 @@
import (
"encoding/binary"
+ "encoding/hex"
+ "errors"
+ "github.com/opencord/bbsim/internal/bbsim/packetHandlers"
"net"
"time"
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
bbsim "github.com/opencord/bbsim/internal/bbsim/types"
- omci "github.com/opencord/omci-sim"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
log "github.com/sirupsen/logrus"
)
-func SendIGMPLeaveGroupV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, macAddress net.HardwareAddr, stream bbsim.Stream) error {
+func SendIGMPLeaveGroupV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+ gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream) error {
log.WithFields(log.Fields{
"OnuId": onuId,
"SerialNumber": serialNumber,
"PortNo": portNo,
}).Debugf("Entered SendIGMPLeaveGroupV2")
igmp := createIGMPV2LeaveRequestPacket()
- pkt, err := serializeIgmpPacket(ponPortId, onuId, macAddress, igmp)
+ pkt, err := serializeIgmpPacket(ponPortId, onuId, cTag, macAddress, pbit, igmp)
if err != nil {
log.WithFields(log.Fields{
@@ -44,21 +47,11 @@
return err
}
- gemid, err := omci.GetGemPortId(ponPortId, onuId)
- if err != nil {
- log.WithFields(log.Fields{
- "OnuId": onuId,
- "IntfId": ponPortId,
- "SerialNumber": serialNumber,
- }).Errorf("Can't retrieve GemPortId for IGMP: %s", err)
- return err
- }
-
data := &openolt.Indication_PktInd{
PktInd: &openolt.PacketIndication{
IntfType: "pon",
IntfId: ponPortId,
- GemportId: uint32(gemid),
+ GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
},
@@ -77,14 +70,11 @@
return nil
}
-func SendIGMPMembershipReportV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, macAddress net.HardwareAddr, stream bbsim.Stream) error {
- log.WithFields(log.Fields{
- "OnuId": onuId,
- "SerialNumber": serialNumber,
- "PortNo": portNo,
- }).Debugf("Entered SendIGMPMembershipReportV2")
+func SendIGMPMembershipReportV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+ gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream) error {
+
igmp := createIGMPV2MembershipReportPacket()
- pkt, err := serializeIgmpPacket(ponPortId, onuId, macAddress, igmp)
+ pkt, err := serializeIgmpPacket(ponPortId, onuId, cTag, macAddress, pbit, igmp)
if err != nil {
log.WithFields(log.Fields{
@@ -95,21 +85,11 @@
return err
}
- gemid, err := omci.GetGemPortId(ponPortId, onuId)
- if err != nil {
- log.WithFields(log.Fields{
- "OnuId": onuId,
- "IntfId": ponPortId,
- "SerialNumber": serialNumber,
- }).Errorf("Can't retrieve GemPortId for IGMP: %s", err)
- return err
- }
-
data := &openolt.Indication_PktInd{
PktInd: &openolt.PacketIndication{
IntfType: "pon",
IntfId: ponPortId,
- GemportId: uint32(gemid),
+ GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
},
@@ -125,17 +105,24 @@
}).Errorf("Fail to send IGMP PktInd indication")
return err
}
+
+ log.WithFields(log.Fields{
+ "OnuId": onuId,
+ "SerialNumber": serialNumber,
+ "PortNo": portNo,
+ }).Debugf("Sent SendIGMPMembershipReportV2")
return nil
}
-func SendIGMPMembershipReportV3(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, macAddress net.HardwareAddr, stream bbsim.Stream) error {
+func SendIGMPMembershipReportV3(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+ gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream) error {
log.WithFields(log.Fields{
"OnuId": onuId,
"SerialNumber": serialNumber,
"PortNo": portNo,
}).Debugf("Entered SendIGMPMembershipReportV3")
igmp := createIGMPV3MembershipReportPacket()
- pkt, err := serializeIgmpPacket(ponPortId, onuId, macAddress, igmp)
+ pkt, err := serializeIgmpPacket(ponPortId, onuId, cTag, macAddress, pbit, igmp)
if err != nil {
log.WithFields(log.Fields{
@@ -146,21 +133,11 @@
return err
}
- gemid, err := omci.GetGemPortId(ponPortId, onuId)
- if err != nil {
- log.WithFields(log.Fields{
- "OnuId": onuId,
- "IntfId": ponPortId,
- "SerialNumber": serialNumber,
- }).Errorf("Can't retrieve GemPortId for IGMP: %s", err)
- return err
- }
-
data := &openolt.Indication_PktInd{
PktInd: &openolt.PacketIndication{
IntfType: "pon",
IntfId: ponPortId,
- GemportId: uint32(gemid),
+ GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
},
@@ -178,7 +155,34 @@
return nil
}
-func createIGMPV3MembershipReportPacket() IGMP {
+func HandleNextPacket(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+ gemPortId uint32, macAddress net.HardwareAddr, pkt gopacket.Packet, cTag int, pbit uint8, stream bbsim.Stream) error {
+
+ igmpLayer := pkt.Layer(layers.LayerTypeIGMP)
+ if igmpLayer == nil {
+ log.WithFields(log.Fields{
+ "OnuId": onuId,
+ "SerialNumber": serialNumber,
+ "PortNo": portNo,
+ "Pkt": hex.EncodeToString(pkt.Data()),
+ }).Error("This is not an IGMP packet")
+ return errors.New("packet-is-not-igmp")
+ }
+
+ log.WithFields(log.Fields{
+ "Pkt": pkt.Data(),
+ }).Trace("IGMP packet")
+
+ igmp := igmpLayer.(*layers.IGMPv1or2)
+
+ if igmp.Type == layers.IGMPMembershipQuery {
+ _ = SendIGMPMembershipReportV2(ponPortId, onuId, serialNumber, portNo, gemPortId, macAddress, cTag, pbit, stream)
+ }
+
+ return nil
+}
+
+func createIGMPV3MembershipReportPacket() *IGMP {
groupRecord1 := IGMPv3GroupRecord{
Type: IGMPv3GroupRecordType(IGMPIsIn),
@@ -198,8 +202,8 @@
AuxData: 0, // NOT USED
}
- igmpDefault := IGMP{
- Type: 0x22, //IGMPV3 Membership Report
+ igmpDefault := &IGMP{
+ Type: layers.IGMPMembershipReportV3, //IGMPV3 Membership Report
MaxResponseTime: time.Duration(1),
Checksum: 0,
GroupAddress: net.IPv4(224, 0, 0, 22),
@@ -216,10 +220,18 @@
return igmpDefault
}
-//func serializeIgmpPacket(intfId uint32, onuId uint32, srcMac net.HardwareAddr, igmp *layers.IGMP) ([]byte, error) {
-func createIGMPV2MembershipReportPacket() IGMP {
- return IGMP{
- Type: 0x16, //IGMPV2 Membership Report
+func createIGMPV2MembershipReportPacket() *IGMP {
+ return &IGMP{
+ Type: layers.IGMPMembershipReportV2, //IGMPV2 Membership Report
+ Checksum: 0,
+ GroupAddress: net.IPv4(224, 0, 0, 22),
+ Version: 2,
+ }
+}
+
+func createIGMPV2LeaveRequestPacket() *IGMP {
+ return &IGMP{
+ Type: layers.IGMPLeaveGroup, //IGMPV2 Leave Group
MaxResponseTime: time.Duration(1),
Checksum: 0,
GroupAddress: net.IPv4(224, 0, 0, 22),
@@ -227,17 +239,7 @@
}
}
-func createIGMPV2LeaveRequestPacket() IGMP {
- return IGMP{
- Type: 0x17, //IGMPV2 Leave Group
- MaxResponseTime: time.Duration(1),
- Checksum: 0,
- GroupAddress: net.IPv4(224, 0, 0, 22),
- Version: 2,
- }
-}
-
-func serializeIgmpPacket(intfId uint32, onuId uint32, srcMac net.HardwareAddr, igmp IGMP) ([]byte, error) {
+func serializeIgmpPacket(intfId uint32, onuId uint32, cTag int, srcMac net.HardwareAddr, pbit uint8, igmp *IGMP) ([]byte, error) {
buffer := gopacket.NewSerializeBuffer()
options := gopacket.SerializeOptions{
ComputeChecksums: true,
@@ -265,28 +267,22 @@
return nil, err
}
- return buffer.Bytes(), nil
+ untaggedPkt := gopacket.NewPacket(buffer.Bytes(), layers.LayerTypeEthernet, gopacket.Default)
+ taggedPkt, err := packetHandlers.PushSingleTag(cTag, untaggedPkt, pbit)
+
+ if err != nil {
+ log.Error("TagPacket")
+ return nil, err
+ }
+
+ return taggedPkt.Data(), nil
}
//-----------------------------------------***********************---------------------------------
-// BaseLayer is a convenience struct which implements the LayerData and
-// LayerPayload functions of the Layer interface.
-type BaseLayer struct {
- // Contents is the set of bytes that make up this layer. IE: for an
- // Ethernet packet, this would be the set of bytes making up the
- // Ethernet frame.
- Contents []byte
- // Payload is the set of bytes contained by (but not part of) this
- // Layer. Again, to take Ethernet as an example, this would be the
- // set of bytes encapsulated by the Ethernet protocol.
- Payload []byte
-}
-
-type IGMPType uint8
type IGMP struct {
- BaseLayer
- Type IGMPType
+ layers.BaseLayer
+ Type layers.IGMPType
MaxResponseTime time.Duration
Checksum uint16
GroupAddress net.IP
@@ -343,8 +339,7 @@
// SerializeTo writes the serialized form of this layer into the
// SerializationBuffer, implementing gopacket.SerializableLayer.
// See the docs for gopacket.SerializableLayer for more info.
-func (igmp IGMP) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
- log.Debugf("Serializing IGMP Packet")
+func (igmp *IGMP) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error {
data, err := b.PrependBytes(8915)
if err != nil {
return err
@@ -410,4 +405,6 @@
return ^uint16(csum)
}
-func (IGMP) LayerType() gopacket.LayerType { return layers.LayerTypeIGMP }
+func (i *IGMP) LayerType() gopacket.LayerType { return layers.LayerTypeIGMP }
+func (i *IGMP) LayerContents() []byte { return i.Contents }
+func (i *IGMP) LayerPayload() []byte { return i.Payload }
diff --git a/internal/bbsim/responders/igmp/igmp_test.go b/internal/bbsim/responders/igmp/igmp_test.go
new file mode 100644
index 0000000..a1788c0
--- /dev/null
+++ b/internal/bbsim/responders/igmp/igmp_test.go
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+
+ * 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.
+ */
+
+package igmp
+
+import (
+ "encoding/hex"
+ "fmt"
+ "github.com/google/gopacket"
+ "github.com/google/gopacket/layers"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/stretchr/testify/assert"
+ "google.golang.org/grpc"
+ "net"
+ "testing"
+)
+
+type mockStream struct {
+ CallCount int
+ Calls map[int]*openolt.Indication
+ grpc.ServerStream
+}
+
+func (s *mockStream) Send(ind *openolt.Indication) error {
+ s.CallCount++
+ s.Calls[s.CallCount] = ind
+ return nil
+}
+
+func TestHandleNextPacket(t *testing.T) {
+
+ t.Skip("Need to find how to serialize an IGMP packet")
+
+ stream := &mockStream{
+ CallCount: 0,
+ Calls: make(map[int]*openolt.Indication),
+ }
+
+ mac := net.HardwareAddr{0x2e, 0x60, 0x70, 0x13, 0x15, 0x16}
+
+ packetData := []byte{
+ 1, 0, 94, 0, 0, 22, 222, 173, 190, 239, 186, 17, 8, 0, 70, 0, 0, 32, 0, 0, 0, 0, 120, 2, 191,
+ 215, 10, 244, 2, 246, 224, 0, 0, 22, 148, 4, 0, 0, 17, 10, 14, 223, 224, 0, 0, 22, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ }
+ fmt.Println(hex.EncodeToString(packetData))
+
+ packet := gopacket.NewPacket(packetData, layers.LayerTypeIPv4, gopacket.Default)
+
+ fmt.Println(hex.EncodeToString(packet.Data()))
+
+ fmt.Println(packet.Layers())
+
+ err := HandleNextPacket(0, 0, "FOO", 1, 1024, mac, packet, 55, 5, stream)
+ assert.Nil(t, err)
+
+ assert.Equal(t, 1, stream.CallCount)
+}
diff --git a/internal/bbsim/types/interfaces.go b/internal/bbsim/types/interfaces.go
index 53a05b4..6a12136 100644
--- a/internal/bbsim/types/interfaces.go
+++ b/internal/bbsim/types/interfaces.go
@@ -17,7 +17,7 @@
package types
import (
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
)
// represent a gRPC stream
diff --git a/internal/bbsimctl/commands/onu.go b/internal/bbsimctl/commands/onu.go
index 20837b5..5f6874b 100644
--- a/internal/bbsimctl/commands/onu.go
+++ b/internal/bbsimctl/commands/onu.go
@@ -45,6 +45,8 @@
const IgmpLeaveKey string = "leave"
const IgmpJoinKeyV3 string = "joinv3"
+var IgmpAllowedActions = []string{IgmpJoinKey, IgmpLeaveKey, IgmpJoinKeyV3}
+
type ONUList struct {
Verbose bool `short:"v" long:"verbose" description:"Print all the informations we have about ONUs"`
}
@@ -445,6 +447,16 @@
return list
}
+func (onuSn *IgmpSubAction) Complete(match string) []flags.Completion {
+ list := make([]flags.Completion, 0)
+ for _, k := range IgmpAllowedActions {
+ if strings.HasPrefix(k, match) {
+ list = append(list, flags.Completion{Item: k})
+ }
+ }
+ return list
+}
+
func (options *ONUTrafficSchedulers) Execute(args []string) error {
client, conn := connect()
defer conn.Close()
diff --git a/internal/bbsimctl/commands/services.go b/internal/bbsimctl/commands/services.go
index cd1ccb4..3333a49 100644
--- a/internal/bbsimctl/commands/services.go
+++ b/internal/bbsimctl/commands/services.go
@@ -28,7 +28,7 @@
)
const (
- DEFAULT_SERVICE_HEADER_FORMAT = "table{{ .OnuSn }}\t{{ .InternalState }}\t{{ .Name }}\t{{ .HwAddress }}\t{{ .STag }}\t{{ .CTag }}\t{{ .NeedsEapol }}\t{{ .NeedsDhcp }}\t{{ .NeedsIgmp }}\t{{ .GemPort }}\t{{ .EapolState }}\t{{ .DhcpState }}"
+ DEFAULT_SERVICE_HEADER_FORMAT = "table{{ .OnuSn }}\t{{ .InternalState }}\t{{ .Name }}\t{{ .HwAddress }}\t{{ .STag }}\t{{ .CTag }}\t{{ .NeedsEapol }}\t{{ .NeedsDhcp }}\t{{ .NeedsIgmp }}\t{{ .GemPort }}\t{{ .EapolState }}\t{{ .DhcpState }}\t{{ .IGMPState }}"
)
type ServiceList struct{}
diff --git a/internal/common/helpers.go b/internal/common/helpers.go
index c1bf936..77d4607 100644
--- a/internal/common/helpers.go
+++ b/internal/common/helpers.go
@@ -20,7 +20,7 @@
"net"
"strconv"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
)
func OnuSnToString(sn *openolt.SerialNumber) string {
diff --git a/vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go
new file mode 100644
index 0000000..3975047
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go
@@ -0,0 +1,642 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/common.proto
+
+package common
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+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_c2e3fd231961e826, []int{0}
+}
+
+// Administrative State
+type AdminState_Types int32
+
+const (
+ // The administrative state of the device is unknown
+ AdminState_UNKNOWN AdminState_Types = 0
+ // The device is pre-provisioned into Voltha, but not contacted by it
+ AdminState_PREPROVISIONED AdminState_Types = 1
+ // The device is enabled for activation and operation
+ AdminState_ENABLED AdminState_Types = 2
+ // The device is disabled and shall not perform its intended forwarding
+ // functions other than being available for re-activation.
+ AdminState_DISABLED AdminState_Types = 3
+ // The device is in the state of image download
+ AdminState_DOWNLOADING_IMAGE AdminState_Types = 4
+ // The device is marked to be deleted
+ AdminState_DELETED AdminState_Types = 5
+)
+
+var AdminState_Types_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "PREPROVISIONED",
+ 2: "ENABLED",
+ 3: "DISABLED",
+ 4: "DOWNLOADING_IMAGE",
+ 5: "DELETED",
+}
+
+var AdminState_Types_value = map[string]int32{
+ "UNKNOWN": 0,
+ "PREPROVISIONED": 1,
+ "ENABLED": 2,
+ "DISABLED": 3,
+ "DOWNLOADING_IMAGE": 4,
+ "DELETED": 5,
+}
+
+func (x AdminState_Types) String() string {
+ return proto.EnumName(AdminState_Types_name, int32(x))
+}
+
+func (AdminState_Types) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{2, 0}
+}
+
+// Operational Status
+type OperStatus_Types int32
+
+const (
+ // The status of the device is unknown at this point
+ OperStatus_UNKNOWN OperStatus_Types = 0
+ // The device has been discovered, but not yet activated
+ OperStatus_DISCOVERED OperStatus_Types = 1
+ // The device is being activated (booted, rebooted, upgraded, etc.)
+ OperStatus_ACTIVATING OperStatus_Types = 2
+ // Service impacting tests are being conducted
+ OperStatus_TESTING OperStatus_Types = 3
+ // The device is up and active
+ OperStatus_ACTIVE OperStatus_Types = 4
+ // The device has failed and cannot fulfill its intended role
+ OperStatus_FAILED OperStatus_Types = 5
+)
+
+var OperStatus_Types_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "DISCOVERED",
+ 2: "ACTIVATING",
+ 3: "TESTING",
+ 4: "ACTIVE",
+ 5: "FAILED",
+}
+
+var OperStatus_Types_value = map[string]int32{
+ "UNKNOWN": 0,
+ "DISCOVERED": 1,
+ "ACTIVATING": 2,
+ "TESTING": 3,
+ "ACTIVE": 4,
+ "FAILED": 5,
+}
+
+func (x OperStatus_Types) String() string {
+ return proto.EnumName(OperStatus_Types_name, int32(x))
+}
+
+func (OperStatus_Types) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{3, 0}
+}
+
+// Connectivity Status
+type ConnectStatus_Types int32
+
+const (
+ // The device connectivity status is unknown
+ ConnectStatus_UNKNOWN ConnectStatus_Types = 0
+ // The device cannot be reached by Voltha
+ ConnectStatus_UNREACHABLE ConnectStatus_Types = 1
+ // There is live communication between device and Voltha
+ ConnectStatus_REACHABLE ConnectStatus_Types = 2
+)
+
+var ConnectStatus_Types_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "UNREACHABLE",
+ 2: "REACHABLE",
+}
+
+var ConnectStatus_Types_value = map[string]int32{
+ "UNKNOWN": 0,
+ "UNREACHABLE": 1,
+ "REACHABLE": 2,
+}
+
+func (x ConnectStatus_Types) String() string {
+ return proto.EnumName(ConnectStatus_Types_name, int32(x))
+}
+
+func (ConnectStatus_Types) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{4, 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_c2e3fd231961e826, []int{5, 0}
+}
+
+type ValueType_Type int32
+
+const (
+ ValueType_EMPTY ValueType_Type = 0
+ ValueType_DISTANCE ValueType_Type = 1
+)
+
+var ValueType_Type_name = map[int32]string{
+ 0: "EMPTY",
+ 1: "DISTANCE",
+}
+
+var ValueType_Type_value = map[string]int32{
+ "EMPTY": 0,
+ "DISTANCE": 1,
+}
+
+func (x ValueType_Type) String() string {
+ return proto.EnumName(ValueType_Type_name, int32(x))
+}
+
+func (ValueType_Type) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []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_c2e3fd231961e826, []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 (m *ID) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ID.Merge(m, 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_c2e3fd231961e826, []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 (m *IDs) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_IDs.Merge(m, 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 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_c2e3fd231961e826, []int{2}
+}
+
+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 (m *AdminState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AdminState.Merge(m, 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_c2e3fd231961e826, []int{3}
+}
+
+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 (m *OperStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OperStatus.Merge(m, 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_c2e3fd231961e826, []int{4}
+}
+
+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 (m *ConnectStatus) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ConnectStatus.Merge(m, 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=common.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_c2e3fd231961e826, []int{5}
+}
+
+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 (m *OperationResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OperationResp.Merge(m, 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 ""
+}
+
+type ValueType struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ValueType) Reset() { *m = ValueType{} }
+func (m *ValueType) String() string { return proto.CompactTextString(m) }
+func (*ValueType) ProtoMessage() {}
+func (*ValueType) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{6}
+}
+
+func (m *ValueType) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ValueType.Unmarshal(m, b)
+}
+func (m *ValueType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ValueType.Marshal(b, m, deterministic)
+}
+func (m *ValueType) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ValueType.Merge(m, src)
+}
+func (m *ValueType) XXX_Size() int {
+ return xxx_messageInfo_ValueType.Size(m)
+}
+func (m *ValueType) XXX_DiscardUnknown() {
+ xxx_messageInfo_ValueType.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ValueType proto.InternalMessageInfo
+
+type ValueSpecifier struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Value ValueType_Type `protobuf:"varint,2,opt,name=value,proto3,enum=common.ValueType_Type" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ValueSpecifier) Reset() { *m = ValueSpecifier{} }
+func (m *ValueSpecifier) String() string { return proto.CompactTextString(m) }
+func (*ValueSpecifier) ProtoMessage() {}
+func (*ValueSpecifier) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{7}
+}
+
+func (m *ValueSpecifier) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ValueSpecifier.Unmarshal(m, b)
+}
+func (m *ValueSpecifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ValueSpecifier.Marshal(b, m, deterministic)
+}
+func (m *ValueSpecifier) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ValueSpecifier.Merge(m, src)
+}
+func (m *ValueSpecifier) XXX_Size() int {
+ return xxx_messageInfo_ValueSpecifier.Size(m)
+}
+func (m *ValueSpecifier) XXX_DiscardUnknown() {
+ xxx_messageInfo_ValueSpecifier.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ValueSpecifier proto.InternalMessageInfo
+
+func (m *ValueSpecifier) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *ValueSpecifier) GetValue() ValueType_Type {
+ if m != nil {
+ return m.Value
+ }
+ return ValueType_EMPTY
+}
+
+type ReturnValues struct {
+ Set uint32 `protobuf:"varint,1,opt,name=Set,proto3" json:"Set,omitempty"`
+ Unsupported uint32 `protobuf:"varint,2,opt,name=Unsupported,proto3" json:"Unsupported,omitempty"`
+ Error uint32 `protobuf:"varint,3,opt,name=Error,proto3" json:"Error,omitempty"`
+ Distance uint32 `protobuf:"varint,4,opt,name=Distance,proto3" json:"Distance,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ReturnValues) Reset() { *m = ReturnValues{} }
+func (m *ReturnValues) String() string { return proto.CompactTextString(m) }
+func (*ReturnValues) ProtoMessage() {}
+func (*ReturnValues) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c2e3fd231961e826, []int{8}
+}
+
+func (m *ReturnValues) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ReturnValues.Unmarshal(m, b)
+}
+func (m *ReturnValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ReturnValues.Marshal(b, m, deterministic)
+}
+func (m *ReturnValues) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ReturnValues.Merge(m, src)
+}
+func (m *ReturnValues) XXX_Size() int {
+ return xxx_messageInfo_ReturnValues.Size(m)
+}
+func (m *ReturnValues) XXX_DiscardUnknown() {
+ xxx_messageInfo_ReturnValues.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ReturnValues proto.InternalMessageInfo
+
+func (m *ReturnValues) GetSet() uint32 {
+ if m != nil {
+ return m.Set
+ }
+ return 0
+}
+
+func (m *ReturnValues) GetUnsupported() uint32 {
+ if m != nil {
+ return m.Unsupported
+ }
+ return 0
+}
+
+func (m *ReturnValues) GetError() uint32 {
+ if m != nil {
+ return m.Error
+ }
+ return 0
+}
+
+func (m *ReturnValues) GetDistance() uint32 {
+ if m != nil {
+ return m.Distance
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterEnum("common.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
+ proto.RegisterEnum("common.AdminState_Types", AdminState_Types_name, AdminState_Types_value)
+ proto.RegisterEnum("common.OperStatus_Types", OperStatus_Types_name, OperStatus_Types_value)
+ proto.RegisterEnum("common.ConnectStatus_Types", ConnectStatus_Types_name, ConnectStatus_Types_value)
+ proto.RegisterEnum("common.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
+ proto.RegisterEnum("common.ValueType_Type", ValueType_Type_name, ValueType_Type_value)
+ proto.RegisterType((*ID)(nil), "common.ID")
+ proto.RegisterType((*IDs)(nil), "common.IDs")
+ proto.RegisterType((*AdminState)(nil), "common.AdminState")
+ proto.RegisterType((*OperStatus)(nil), "common.OperStatus")
+ proto.RegisterType((*ConnectStatus)(nil), "common.ConnectStatus")
+ proto.RegisterType((*OperationResp)(nil), "common.OperationResp")
+ proto.RegisterType((*ValueType)(nil), "common.ValueType")
+ proto.RegisterType((*ValueSpecifier)(nil), "common.ValueSpecifier")
+ proto.RegisterType((*ReturnValues)(nil), "common.ReturnValues")
+}
+
+func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_c2e3fd231961e826) }
+
+var fileDescriptor_c2e3fd231961e826 = []byte{
+ // 606 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x4d, 0x4f, 0xdb, 0x4a,
+ 0x14, 0x8d, 0x9d, 0x8f, 0x47, 0x6e, 0x88, 0xf1, 0x1b, 0xe0, 0x29, 0x0f, 0x55, 0x6a, 0xe4, 0x0d,
+ 0xb4, 0xa2, 0x89, 0x04, 0xdd, 0x76, 0x61, 0xec, 0x29, 0x1d, 0x11, 0xc6, 0xd1, 0xd8, 0x0e, 0xa2,
+ 0x8b, 0x46, 0x26, 0x1e, 0x82, 0x25, 0xe2, 0xb1, 0xec, 0x09, 0x12, 0xbf, 0xb4, 0x7f, 0xa7, 0x9a,
+ 0x71, 0xf8, 0xaa, 0xd8, 0x24, 0x3e, 0xf7, 0xdc, 0xb9, 0xc7, 0xe7, 0x8c, 0x2f, 0x1c, 0x3c, 0x88,
+ 0x7b, 0x79, 0x97, 0xcc, 0x8b, 0x52, 0x48, 0x51, 0x8d, 0x17, 0x62, 0xb5, 0x12, 0xf9, 0x48, 0x23,
+ 0xd4, 0xa9, 0x91, 0xb3, 0x07, 0x26, 0xf1, 0x91, 0x05, 0x66, 0x96, 0x0e, 0x8c, 0xa1, 0x71, 0xd4,
+ 0x65, 0x66, 0x96, 0x3a, 0x87, 0xd0, 0x24, 0x7e, 0x85, 0x86, 0xd0, 0xce, 0x24, 0x5f, 0x55, 0x03,
+ 0x63, 0xd8, 0x3c, 0xea, 0x9d, 0xc0, 0x68, 0x33, 0x82, 0xf8, 0xac, 0x26, 0x9c, 0x35, 0x80, 0x9b,
+ 0xae, 0xb2, 0x3c, 0x94, 0x89, 0xe4, 0xce, 0x12, 0xda, 0xd1, 0x63, 0xc1, 0x2b, 0xd4, 0x83, 0x7f,
+ 0x62, 0x7a, 0x41, 0x83, 0x2b, 0x6a, 0x37, 0x10, 0x02, 0x6b, 0xca, 0xf0, 0x94, 0x05, 0x33, 0x12,
+ 0x92, 0x80, 0x62, 0xdf, 0x36, 0x54, 0x03, 0xa6, 0xee, 0xd9, 0x04, 0xfb, 0xb6, 0x89, 0xb6, 0x61,
+ 0xcb, 0x27, 0x61, 0x8d, 0x9a, 0x68, 0x1f, 0xfe, 0xf5, 0x83, 0x2b, 0x3a, 0x09, 0x5c, 0x9f, 0xd0,
+ 0xf3, 0x39, 0xb9, 0x74, 0xcf, 0xb1, 0xdd, 0x52, 0x27, 0x7c, 0x3c, 0xc1, 0x11, 0xf6, 0xed, 0xb6,
+ 0xb3, 0x04, 0x08, 0x0a, 0x5e, 0x2a, 0xd5, 0x75, 0xe5, 0x5c, 0xbf, 0x2b, 0x6b, 0x01, 0xf8, 0x24,
+ 0xf4, 0x82, 0x19, 0x66, 0x5a, 0xd2, 0x02, 0x70, 0xbd, 0x88, 0xcc, 0xdc, 0x88, 0xd0, 0x73, 0xdb,
+ 0x54, 0xcd, 0x11, 0x0e, 0x35, 0x68, 0x22, 0x80, 0x8e, 0x26, 0x95, 0x12, 0x40, 0xe7, 0xbb, 0x4b,
+ 0x26, 0x5a, 0x08, 0x43, 0xdf, 0x13, 0x79, 0xce, 0x17, 0x72, 0xa3, 0xf5, 0xf5, 0x5d, 0xad, 0x1d,
+ 0xe8, 0xc5, 0x94, 0x61, 0xd7, 0xfb, 0xa1, 0x5c, 0xd8, 0x06, 0xea, 0x43, 0xf7, 0x05, 0x9a, 0xce,
+ 0x6f, 0x03, 0xfa, 0xea, 0x85, 0x13, 0x99, 0x89, 0x9c, 0xf1, 0xaa, 0x40, 0xdf, 0xa0, 0xb5, 0x10,
+ 0x29, 0xd7, 0x99, 0x5b, 0x27, 0x9f, 0x9e, 0x92, 0x7d, 0xd3, 0xf4, 0x1a, 0xc9, 0x75, 0x99, 0x7b,
+ 0x22, 0xe5, 0x4c, 0x1f, 0x43, 0x87, 0xb0, 0x93, 0xa4, 0x69, 0xa6, 0xb8, 0xe4, 0x7e, 0x9e, 0xe5,
+ 0xb7, 0x62, 0x60, 0xea, 0xdb, 0xb3, 0x5e, 0xca, 0x24, 0xbf, 0x15, 0xce, 0x2f, 0xd8, 0x7d, 0x67,
+ 0x8a, 0x0a, 0x39, 0x98, 0x62, 0xe6, 0x46, 0x24, 0xa0, 0xf3, 0x30, 0xf6, 0x3c, 0x1c, 0x86, 0x76,
+ 0xe3, 0x6d, 0x59, 0x85, 0x10, 0x33, 0xe5, 0xe6, 0x7f, 0xd8, 0x7f, 0x29, 0xc7, 0x34, 0x8c, 0xa7,
+ 0xd3, 0x80, 0xa9, 0x9b, 0x30, 0x9d, 0x63, 0xe8, 0xce, 0x92, 0xfb, 0x35, 0x57, 0xa1, 0x38, 0x1f,
+ 0xa1, 0xa5, 0xfe, 0x51, 0x17, 0xda, 0xf8, 0x72, 0x1a, 0x5d, 0xdb, 0x8d, 0xcd, 0xdd, 0x46, 0x2e,
+ 0xf5, 0xb0, 0x6d, 0x38, 0x14, 0x2c, 0xdd, 0x1d, 0x16, 0x7c, 0x91, 0xdd, 0x66, 0xbc, 0xfc, 0xfb,
+ 0xcb, 0x43, 0xc7, 0xd0, 0x7e, 0x50, 0x1d, 0xda, 0x8e, 0x75, 0xf2, 0xdf, 0x53, 0x30, 0xcf, 0x22,
+ 0x23, 0xf5, 0xc3, 0xea, 0x26, 0x47, 0xc2, 0x76, 0x6d, 0x4a, 0xd3, 0x15, 0xb2, 0xa1, 0x19, 0x72,
+ 0xa9, 0xc7, 0xf5, 0x99, 0x7a, 0x44, 0x43, 0xe8, 0xc5, 0x79, 0xb5, 0x2e, 0x0a, 0x51, 0x4a, 0x9e,
+ 0xea, 0xa9, 0x7d, 0xf6, 0xba, 0x84, 0xf6, 0xa0, 0x8d, 0xcb, 0x52, 0x94, 0x83, 0xa6, 0xe6, 0x6a,
+ 0x80, 0x0e, 0x60, 0xcb, 0xcf, 0x2a, 0x99, 0xe4, 0x0b, 0x3e, 0x68, 0x69, 0xe2, 0x19, 0x7f, 0xfe,
+ 0x00, 0xdb, 0x11, 0xaf, 0xe4, 0xa5, 0x48, 0xf9, 0x05, 0x7f, 0xac, 0x94, 0xc7, 0xa4, 0xc8, 0xe6,
+ 0x92, 0x57, 0xd2, 0x6e, 0x9c, 0x61, 0xd8, 0x15, 0xe5, 0x72, 0x24, 0x0a, 0x9e, 0x2f, 0x44, 0x99,
+ 0x8e, 0xea, 0x25, 0xfc, 0x39, 0x5a, 0x66, 0xf2, 0x6e, 0x7d, 0xa3, 0xfc, 0x8c, 0x9f, 0xb8, 0x71,
+ 0xcd, 0x7d, 0xd9, 0x2c, 0xe8, 0xc3, 0xe9, 0x78, 0x29, 0x36, 0x6b, 0x7a, 0xd3, 0xd1, 0xc5, 0xd3,
+ 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x2a, 0xdd, 0x48, 0xc5, 0x03, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go
new file mode 100644
index 0000000..8fbd621
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go
@@ -0,0 +1,142 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/meta.proto
+
+package common
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+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_96b320e8a67781f3, []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_96b320e8a67781f3, []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 (m *ChildNode) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ChildNode.Merge(m, 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",
+ 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.RegisterEnum("voltha.Access", Access_name, Access_value)
+ proto.RegisterType((*ChildNode)(nil), "voltha.ChildNode")
+ proto.RegisterExtension(E_ChildNode)
+ proto.RegisterExtension(E_Access)
+}
+
+func init() { proto.RegisterFile("voltha_protos/meta.proto", fileDescriptor_96b320e8a67781f3) }
+
+var fileDescriptor_96b320e8a67781f3 = []byte{
+ // 281 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0xc1, 0x4a, 0xc3, 0x40,
+ 0x10, 0x86, 0x8d, 0x85, 0x40, 0x46, 0x2c, 0x31, 0xa7, 0x52, 0x28, 0x04, 0x4f, 0x45, 0x70, 0x17,
+ 0xd2, 0x5b, 0x6f, 0xb5, 0xb6, 0x5a, 0x88, 0x09, 0x04, 0x2f, 0x7a, 0x09, 0xc9, 0x66, 0x4d, 0x82,
+ 0x49, 0x26, 0x64, 0xb7, 0x05, 0x1f, 0xd5, 0x8b, 0x4f, 0xa0, 0xef, 0x20, 0xc9, 0x66, 0xbd, 0x7a,
+ 0xfb, 0x67, 0xf6, 0xdf, 0x8f, 0x8f, 0x81, 0xd9, 0x09, 0x2b, 0x59, 0x24, 0x71, 0xdb, 0xa1, 0x44,
+ 0x41, 0x6b, 0x2e, 0x13, 0x32, 0x64, 0xc7, 0x54, 0x2f, 0x73, 0x37, 0x47, 0xcc, 0x2b, 0x4e, 0x87,
+ 0x6d, 0x7a, 0x7c, 0xa3, 0x19, 0x17, 0xac, 0x2b, 0x5b, 0x89, 0x9d, 0x6a, 0x5e, 0x2f, 0xc0, 0xda,
+ 0x16, 0x65, 0x95, 0x05, 0x98, 0x71, 0xc7, 0x86, 0xc9, 0x3b, 0xff, 0x98, 0x19, 0xae, 0xb1, 0xb4,
+ 0xa2, 0x3e, 0xde, 0x78, 0x60, 0x6e, 0x18, 0xe3, 0x42, 0x38, 0x00, 0xe6, 0x36, 0x0c, 0xf6, 0x87,
+ 0x07, 0xfb, 0xcc, 0xb9, 0x04, 0x2b, 0xda, 0x6d, 0xee, 0xe3, 0x30, 0xf0, 0x5f, 0x6c, 0x63, 0x1c,
+ 0xfd, 0xf8, 0xf9, 0xf0, 0xb4, 0xb3, 0xcf, 0xd7, 0x11, 0x00, 0xeb, 0x91, 0x71, 0xd3, 0x33, 0x17,
+ 0x44, 0x39, 0x10, 0xed, 0x40, 0xf6, 0x25, 0xaf, 0xb2, 0xb0, 0x95, 0x25, 0x36, 0x62, 0xf6, 0xfd,
+ 0xf5, 0x39, 0x71, 0x8d, 0xe5, 0x85, 0x77, 0x45, 0x94, 0x33, 0xf9, 0xd3, 0x89, 0x2c, 0xa6, 0xe3,
+ 0xfa, 0x11, 0xcc, 0x44, 0x79, 0xfc, 0xc3, 0xfb, 0x51, 0xbc, 0xa9, 0x37, 0xd5, 0x3c, 0xe5, 0x1f,
+ 0x8d, 0xff, 0xef, 0x7c, 0x98, 0x63, 0x97, 0x13, 0x6c, 0x79, 0xc3, 0xb0, 0xcb, 0x74, 0x8b, 0x61,
+ 0x5d, 0x63, 0xf3, 0x4a, 0xf2, 0x52, 0x16, 0xc7, 0xb4, 0x1f, 0xa9, 0xae, 0x50, 0x55, 0xb9, 0x1d,
+ 0xcf, 0x7c, 0x5a, 0xd1, 0x1c, 0xa9, 0xea, 0xa7, 0xe6, 0xb0, 0x5c, 0xfd, 0x06, 0x00, 0x00, 0xff,
+ 0xff, 0x45, 0x61, 0x57, 0xbf, 0x8b, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/v3/go/ext/config/ext_config.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/ext/config/ext_config.pb.go
new file mode 100644
index 0000000..4f68fd0
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/ext/config/ext_config.pb.go
@@ -0,0 +1,523 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/ext_config.proto
+
+package config
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type OnuItuPonAlarm_AlarmID int32
+
+const (
+ OnuItuPonAlarm_RDI_ERRORS OnuItuPonAlarm_AlarmID = 0
+)
+
+var OnuItuPonAlarm_AlarmID_name = map[int32]string{
+ 0: "RDI_ERRORS",
+}
+
+var OnuItuPonAlarm_AlarmID_value = map[string]int32{
+ "RDI_ERRORS": 0,
+}
+
+func (x OnuItuPonAlarm_AlarmID) String() string {
+ return proto.EnumName(OnuItuPonAlarm_AlarmID_name, int32(x))
+}
+
+func (OnuItuPonAlarm_AlarmID) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 0}
+}
+
+type OnuItuPonAlarm_AlarmReportingCondition int32
+
+const (
+ OnuItuPonAlarm_RATE_THRESHOLD OnuItuPonAlarm_AlarmReportingCondition = 0
+ OnuItuPonAlarm_RATE_RANGE OnuItuPonAlarm_AlarmReportingCondition = 1
+ OnuItuPonAlarm_VALUE_THRESHOLD OnuItuPonAlarm_AlarmReportingCondition = 2
+)
+
+var OnuItuPonAlarm_AlarmReportingCondition_name = map[int32]string{
+ 0: "RATE_THRESHOLD",
+ 1: "RATE_RANGE",
+ 2: "VALUE_THRESHOLD",
+}
+
+var OnuItuPonAlarm_AlarmReportingCondition_value = map[string]int32{
+ "RATE_THRESHOLD": 0,
+ "RATE_RANGE": 1,
+ "VALUE_THRESHOLD": 2,
+}
+
+func (x OnuItuPonAlarm_AlarmReportingCondition) String() string {
+ return proto.EnumName(OnuItuPonAlarm_AlarmReportingCondition_name, int32(x))
+}
+
+func (OnuItuPonAlarm_AlarmReportingCondition) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 1}
+}
+
+type AlarmConfig struct {
+ // Types that are valid to be assigned to Config:
+ // *AlarmConfig_OnuItuPonAlarmConfig
+ Config isAlarmConfig_Config `protobuf_oneof:"config"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AlarmConfig) Reset() { *m = AlarmConfig{} }
+func (m *AlarmConfig) String() string { return proto.CompactTextString(m) }
+func (*AlarmConfig) ProtoMessage() {}
+func (*AlarmConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{0}
+}
+
+func (m *AlarmConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AlarmConfig.Unmarshal(m, b)
+}
+func (m *AlarmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AlarmConfig.Marshal(b, m, deterministic)
+}
+func (m *AlarmConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AlarmConfig.Merge(m, src)
+}
+func (m *AlarmConfig) XXX_Size() int {
+ return xxx_messageInfo_AlarmConfig.Size(m)
+}
+func (m *AlarmConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_AlarmConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmConfig proto.InternalMessageInfo
+
+type isAlarmConfig_Config interface {
+ isAlarmConfig_Config()
+}
+
+type AlarmConfig_OnuItuPonAlarmConfig struct {
+ OnuItuPonAlarmConfig *OnuItuPonAlarm `protobuf:"bytes,1,opt,name=onu_itu_pon_alarm_config,json=onuItuPonAlarmConfig,proto3,oneof"`
+}
+
+func (*AlarmConfig_OnuItuPonAlarmConfig) isAlarmConfig_Config() {}
+
+func (m *AlarmConfig) GetConfig() isAlarmConfig_Config {
+ if m != nil {
+ return m.Config
+ }
+ return nil
+}
+
+func (m *AlarmConfig) GetOnuItuPonAlarmConfig() *OnuItuPonAlarm {
+ if x, ok := m.GetConfig().(*AlarmConfig_OnuItuPonAlarmConfig); ok {
+ return x.OnuItuPonAlarmConfig
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*AlarmConfig) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*AlarmConfig_OnuItuPonAlarmConfig)(nil),
+ }
+}
+
+type OnuItuPonAlarm struct {
+ PonNi uint32 `protobuf:"fixed32,1,opt,name=pon_ni,json=ponNi,proto3" json:"pon_ni,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ AlarmId OnuItuPonAlarm_AlarmID `protobuf:"varint,3,opt,name=alarm_id,json=alarmId,proto3,enum=config.OnuItuPonAlarm_AlarmID" json:"alarm_id,omitempty"`
+ AlarmReportingCondition OnuItuPonAlarm_AlarmReportingCondition `protobuf:"varint,4,opt,name=alarm_reporting_condition,json=alarmReportingCondition,proto3,enum=config.OnuItuPonAlarm_AlarmReportingCondition" json:"alarm_reporting_condition,omitempty"`
+ // Types that are valid to be assigned to Config:
+ // *OnuItuPonAlarm_RateThresholdConfig_
+ // *OnuItuPonAlarm_RateRangeConfig_
+ // *OnuItuPonAlarm_ValueThresholdConfig_
+ Config isOnuItuPonAlarm_Config `protobuf_oneof:"config"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuItuPonAlarm) Reset() { *m = OnuItuPonAlarm{} }
+func (m *OnuItuPonAlarm) String() string { return proto.CompactTextString(m) }
+func (*OnuItuPonAlarm) ProtoMessage() {}
+func (*OnuItuPonAlarm) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1}
+}
+
+func (m *OnuItuPonAlarm) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuItuPonAlarm.Unmarshal(m, b)
+}
+func (m *OnuItuPonAlarm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuItuPonAlarm.Marshal(b, m, deterministic)
+}
+func (m *OnuItuPonAlarm) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuItuPonAlarm.Merge(m, src)
+}
+func (m *OnuItuPonAlarm) XXX_Size() int {
+ return xxx_messageInfo_OnuItuPonAlarm.Size(m)
+}
+func (m *OnuItuPonAlarm) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuItuPonAlarm.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuItuPonAlarm proto.InternalMessageInfo
+
+func (m *OnuItuPonAlarm) GetPonNi() uint32 {
+ if m != nil {
+ return m.PonNi
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm) GetAlarmId() OnuItuPonAlarm_AlarmID {
+ if m != nil {
+ return m.AlarmId
+ }
+ return OnuItuPonAlarm_RDI_ERRORS
+}
+
+func (m *OnuItuPonAlarm) GetAlarmReportingCondition() OnuItuPonAlarm_AlarmReportingCondition {
+ if m != nil {
+ return m.AlarmReportingCondition
+ }
+ return OnuItuPonAlarm_RATE_THRESHOLD
+}
+
+type isOnuItuPonAlarm_Config interface {
+ isOnuItuPonAlarm_Config()
+}
+
+type OnuItuPonAlarm_RateThresholdConfig_ struct {
+ RateThresholdConfig *OnuItuPonAlarm_RateThresholdConfig `protobuf:"bytes,5,opt,name=rate_threshold_config,json=rateThresholdConfig,proto3,oneof"`
+}
+
+type OnuItuPonAlarm_RateRangeConfig_ struct {
+ RateRangeConfig *OnuItuPonAlarm_RateRangeConfig `protobuf:"bytes,6,opt,name=rate_range_config,json=rateRangeConfig,proto3,oneof"`
+}
+
+type OnuItuPonAlarm_ValueThresholdConfig_ struct {
+ ValueThresholdConfig *OnuItuPonAlarm_ValueThresholdConfig `protobuf:"bytes,7,opt,name=value_threshold_config,json=valueThresholdConfig,proto3,oneof"`
+}
+
+func (*OnuItuPonAlarm_RateThresholdConfig_) isOnuItuPonAlarm_Config() {}
+
+func (*OnuItuPonAlarm_RateRangeConfig_) isOnuItuPonAlarm_Config() {}
+
+func (*OnuItuPonAlarm_ValueThresholdConfig_) isOnuItuPonAlarm_Config() {}
+
+func (m *OnuItuPonAlarm) GetConfig() isOnuItuPonAlarm_Config {
+ if m != nil {
+ return m.Config
+ }
+ return nil
+}
+
+func (m *OnuItuPonAlarm) GetRateThresholdConfig() *OnuItuPonAlarm_RateThresholdConfig {
+ if x, ok := m.GetConfig().(*OnuItuPonAlarm_RateThresholdConfig_); ok {
+ return x.RateThresholdConfig
+ }
+ return nil
+}
+
+func (m *OnuItuPonAlarm) GetRateRangeConfig() *OnuItuPonAlarm_RateRangeConfig {
+ if x, ok := m.GetConfig().(*OnuItuPonAlarm_RateRangeConfig_); ok {
+ return x.RateRangeConfig
+ }
+ return nil
+}
+
+func (m *OnuItuPonAlarm) GetValueThresholdConfig() *OnuItuPonAlarm_ValueThresholdConfig {
+ if x, ok := m.GetConfig().(*OnuItuPonAlarm_ValueThresholdConfig_); ok {
+ return x.ValueThresholdConfig
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OnuItuPonAlarm) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OnuItuPonAlarm_RateThresholdConfig_)(nil),
+ (*OnuItuPonAlarm_RateRangeConfig_)(nil),
+ (*OnuItuPonAlarm_ValueThresholdConfig_)(nil),
+ }
+}
+
+type OnuItuPonAlarm_SoakTime struct {
+ ActiveSoakTime uint32 `protobuf:"fixed32,1,opt,name=active_soak_time,json=activeSoakTime,proto3" json:"active_soak_time,omitempty"`
+ ClearSoakTime uint32 `protobuf:"fixed32,2,opt,name=clear_soak_time,json=clearSoakTime,proto3" json:"clear_soak_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuItuPonAlarm_SoakTime) Reset() { *m = OnuItuPonAlarm_SoakTime{} }
+func (m *OnuItuPonAlarm_SoakTime) String() string { return proto.CompactTextString(m) }
+func (*OnuItuPonAlarm_SoakTime) ProtoMessage() {}
+func (*OnuItuPonAlarm_SoakTime) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 0}
+}
+
+func (m *OnuItuPonAlarm_SoakTime) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Unmarshal(m, b)
+}
+func (m *OnuItuPonAlarm_SoakTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Marshal(b, m, deterministic)
+}
+func (m *OnuItuPonAlarm_SoakTime) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuItuPonAlarm_SoakTime.Merge(m, src)
+}
+func (m *OnuItuPonAlarm_SoakTime) XXX_Size() int {
+ return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Size(m)
+}
+func (m *OnuItuPonAlarm_SoakTime) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuItuPonAlarm_SoakTime.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuItuPonAlarm_SoakTime proto.InternalMessageInfo
+
+func (m *OnuItuPonAlarm_SoakTime) GetActiveSoakTime() uint32 {
+ if m != nil {
+ return m.ActiveSoakTime
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_SoakTime) GetClearSoakTime() uint32 {
+ if m != nil {
+ return m.ClearSoakTime
+ }
+ return 0
+}
+
+type OnuItuPonAlarm_RateThresholdConfig struct {
+ RateThresholdRising uint64 `protobuf:"fixed64,1,opt,name=rate_threshold_rising,json=rateThresholdRising,proto3" json:"rate_threshold_rising,omitempty"`
+ RateThresholdFalling uint64 `protobuf:"fixed64,2,opt,name=rate_threshold_falling,json=rateThresholdFalling,proto3" json:"rate_threshold_falling,omitempty"`
+ SoakTime *OnuItuPonAlarm_SoakTime `protobuf:"bytes,3,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuItuPonAlarm_RateThresholdConfig) Reset() { *m = OnuItuPonAlarm_RateThresholdConfig{} }
+func (m *OnuItuPonAlarm_RateThresholdConfig) String() string { return proto.CompactTextString(m) }
+func (*OnuItuPonAlarm_RateThresholdConfig) ProtoMessage() {}
+func (*OnuItuPonAlarm_RateThresholdConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 1}
+}
+
+func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Unmarshal(m, b)
+}
+func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Marshal(b, m, deterministic)
+}
+func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Merge(m, src)
+}
+func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Size() int {
+ return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Size(m)
+}
+func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig proto.InternalMessageInfo
+
+func (m *OnuItuPonAlarm_RateThresholdConfig) GetRateThresholdRising() uint64 {
+ if m != nil {
+ return m.RateThresholdRising
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_RateThresholdConfig) GetRateThresholdFalling() uint64 {
+ if m != nil {
+ return m.RateThresholdFalling
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_RateThresholdConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
+ if m != nil {
+ return m.SoakTime
+ }
+ return nil
+}
+
+type OnuItuPonAlarm_RateRangeConfig struct {
+ RateRangeLower uint64 `protobuf:"fixed64,1,opt,name=rate_range_lower,json=rateRangeLower,proto3" json:"rate_range_lower,omitempty"`
+ RateRangeUpper uint64 `protobuf:"fixed64,2,opt,name=rate_range_upper,json=rateRangeUpper,proto3" json:"rate_range_upper,omitempty"`
+ SoakTime *OnuItuPonAlarm_SoakTime `protobuf:"bytes,3,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuItuPonAlarm_RateRangeConfig) Reset() { *m = OnuItuPonAlarm_RateRangeConfig{} }
+func (m *OnuItuPonAlarm_RateRangeConfig) String() string { return proto.CompactTextString(m) }
+func (*OnuItuPonAlarm_RateRangeConfig) ProtoMessage() {}
+func (*OnuItuPonAlarm_RateRangeConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 2}
+}
+
+func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Unmarshal(m, b)
+}
+func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Marshal(b, m, deterministic)
+}
+func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Merge(m, src)
+}
+func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Size() int {
+ return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Size(m)
+}
+func (m *OnuItuPonAlarm_RateRangeConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig proto.InternalMessageInfo
+
+func (m *OnuItuPonAlarm_RateRangeConfig) GetRateRangeLower() uint64 {
+ if m != nil {
+ return m.RateRangeLower
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_RateRangeConfig) GetRateRangeUpper() uint64 {
+ if m != nil {
+ return m.RateRangeUpper
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_RateRangeConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
+ if m != nil {
+ return m.SoakTime
+ }
+ return nil
+}
+
+type OnuItuPonAlarm_ValueThresholdConfig struct {
+ ThresholdLimit uint64 `protobuf:"fixed64,1,opt,name=threshold_limit,json=thresholdLimit,proto3" json:"threshold_limit,omitempty"`
+ SoakTime *OnuItuPonAlarm_SoakTime `protobuf:"bytes,2,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuItuPonAlarm_ValueThresholdConfig) Reset() { *m = OnuItuPonAlarm_ValueThresholdConfig{} }
+func (m *OnuItuPonAlarm_ValueThresholdConfig) String() string { return proto.CompactTextString(m) }
+func (*OnuItuPonAlarm_ValueThresholdConfig) ProtoMessage() {}
+func (*OnuItuPonAlarm_ValueThresholdConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_fb43b44b7fa3aba9, []int{1, 3}
+}
+
+func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Unmarshal(m, b)
+}
+func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Marshal(b, m, deterministic)
+}
+func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Merge(m, src)
+}
+func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Size() int {
+ return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Size(m)
+}
+func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig proto.InternalMessageInfo
+
+func (m *OnuItuPonAlarm_ValueThresholdConfig) GetThresholdLimit() uint64 {
+ if m != nil {
+ return m.ThresholdLimit
+ }
+ return 0
+}
+
+func (m *OnuItuPonAlarm_ValueThresholdConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
+ if m != nil {
+ return m.SoakTime
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterEnum("config.OnuItuPonAlarm_AlarmID", OnuItuPonAlarm_AlarmID_name, OnuItuPonAlarm_AlarmID_value)
+ proto.RegisterEnum("config.OnuItuPonAlarm_AlarmReportingCondition", OnuItuPonAlarm_AlarmReportingCondition_name, OnuItuPonAlarm_AlarmReportingCondition_value)
+ proto.RegisterType((*AlarmConfig)(nil), "config.AlarmConfig")
+ proto.RegisterType((*OnuItuPonAlarm)(nil), "config.OnuItuPonAlarm")
+ proto.RegisterType((*OnuItuPonAlarm_SoakTime)(nil), "config.OnuItuPonAlarm.SoakTime")
+ proto.RegisterType((*OnuItuPonAlarm_RateThresholdConfig)(nil), "config.OnuItuPonAlarm.RateThresholdConfig")
+ proto.RegisterType((*OnuItuPonAlarm_RateRangeConfig)(nil), "config.OnuItuPonAlarm.RateRangeConfig")
+ proto.RegisterType((*OnuItuPonAlarm_ValueThresholdConfig)(nil), "config.OnuItuPonAlarm.ValueThresholdConfig")
+}
+
+func init() { proto.RegisterFile("voltha_protos/ext_config.proto", fileDescriptor_fb43b44b7fa3aba9) }
+
+var fileDescriptor_fb43b44b7fa3aba9 = []byte{
+ // 609 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xd1, 0x4e, 0x1a, 0x41,
+ 0x14, 0x05, 0xac, 0x80, 0xd7, 0x14, 0xe8, 0x80, 0x8a, 0x3e, 0x58, 0xe3, 0x83, 0x35, 0x6d, 0xba,
+ 0x24, 0xd8, 0x97, 0x26, 0x7d, 0x41, 0xa5, 0x85, 0x84, 0xa8, 0x19, 0xd1, 0x87, 0xa6, 0xc9, 0x76,
+ 0x64, 0xc7, 0x65, 0xea, 0x32, 0xb3, 0x19, 0x66, 0x69, 0x5f, 0xfa, 0x35, 0xfd, 0x8e, 0xf6, 0xdb,
+ 0x9a, 0x99, 0xd9, 0x05, 0x81, 0xc5, 0xa4, 0xe9, 0x0b, 0xc9, 0x9e, 0x7b, 0xcf, 0xb9, 0x87, 0x73,
+ 0x67, 0x06, 0xf6, 0x27, 0x22, 0x50, 0x43, 0xe2, 0x86, 0x52, 0x28, 0x31, 0x6e, 0xd0, 0x1f, 0xca,
+ 0x1d, 0x08, 0x7e, 0xcf, 0x7c, 0xc7, 0x20, 0x28, 0x6f, 0xbf, 0x0e, 0x19, 0x6c, 0xb6, 0x02, 0x22,
+ 0x47, 0x67, 0xe6, 0x13, 0x5d, 0x41, 0x5d, 0xf0, 0xc8, 0x65, 0x2a, 0x72, 0x43, 0xc1, 0x5d, 0xa2,
+ 0x4b, 0x31, 0xb1, 0x9e, 0x3d, 0xc8, 0x1e, 0x6f, 0x36, 0xb7, 0x9d, 0x58, 0xe7, 0x92, 0x47, 0x5d,
+ 0x15, 0x5d, 0x09, 0x6e, 0xf8, 0x9d, 0x0c, 0xae, 0x89, 0x39, 0xc4, 0x2a, 0x9e, 0x16, 0x21, 0x19,
+ 0xf5, 0x67, 0x03, 0x4a, 0xf3, 0x24, 0xb4, 0x05, 0x79, 0x3d, 0x86, 0x33, 0x23, 0x5e, 0xc0, 0xeb,
+ 0xa1, 0xe0, 0x17, 0x4c, 0xc3, 0xc6, 0x85, 0x57, 0xcf, 0x59, 0x58, 0x2b, 0x7b, 0xe8, 0x3d, 0x14,
+ 0xad, 0x21, 0xe6, 0xd5, 0xd7, 0x0e, 0xb2, 0xc7, 0xa5, 0xe6, 0x7e, 0xba, 0x19, 0xc7, 0xfc, 0x76,
+ 0xcf, 0x71, 0xc1, 0xf4, 0x77, 0x3d, 0xf4, 0x0d, 0x76, 0x2d, 0x55, 0xd2, 0x50, 0x48, 0xc5, 0xb8,
+ 0xaf, 0xff, 0x95, 0xc7, 0x14, 0x13, 0xbc, 0xfe, 0xcc, 0x68, 0x39, 0x4f, 0x69, 0xe1, 0x84, 0x76,
+ 0x96, 0xb0, 0xf0, 0x0e, 0x49, 0x2f, 0xa0, 0xaf, 0xb0, 0x25, 0x89, 0xa2, 0xae, 0x1a, 0x4a, 0x3a,
+ 0x1e, 0x8a, 0xc0, 0x4b, 0x02, 0x5c, 0x37, 0x01, 0xbe, 0x5e, 0x31, 0x07, 0x13, 0x45, 0xfb, 0x09,
+ 0xc5, 0x86, 0xd7, 0xc9, 0xe0, 0xaa, 0x5c, 0x86, 0x51, 0x1f, 0x5e, 0x98, 0x09, 0x92, 0x70, 0x9f,
+ 0x26, 0xea, 0x79, 0xa3, 0x7e, 0xf4, 0x84, 0x3a, 0xd6, 0xed, 0x53, 0xe5, 0xb2, 0x9c, 0x87, 0xd0,
+ 0x00, 0xb6, 0x27, 0x24, 0x88, 0x52, 0x8c, 0x17, 0x8c, 0xf4, 0x9b, 0x15, 0xd2, 0xb7, 0x9a, 0xb4,
+ 0xec, 0xbc, 0x36, 0x49, 0xc1, 0xf7, 0xbe, 0x40, 0xf1, 0x5a, 0x90, 0x87, 0x3e, 0x1b, 0x51, 0x74,
+ 0x0c, 0x15, 0x32, 0x50, 0x6c, 0x42, 0xdd, 0xb1, 0x20, 0x0f, 0xae, 0x62, 0x23, 0x1a, 0x9f, 0x83,
+ 0x92, 0xc5, 0xa7, 0x9d, 0x47, 0x50, 0x1e, 0x04, 0x94, 0xc8, 0x47, 0x8d, 0xf6, 0x64, 0x3c, 0x37,
+ 0x70, 0xd2, 0xb7, 0xf7, 0x3b, 0x0b, 0xd5, 0x94, 0x1c, 0x51, 0x73, 0x69, 0x25, 0x92, 0x8d, 0x19,
+ 0xb7, 0x67, 0x3a, 0xbf, 0x10, 0x32, 0x36, 0x25, 0xf4, 0x0e, 0xb6, 0x17, 0x38, 0xf7, 0x24, 0x08,
+ 0x34, 0x29, 0x67, 0x48, 0xb5, 0x39, 0xd2, 0x47, 0x5b, 0x43, 0x1f, 0x60, 0x63, 0xe6, 0x71, 0xcd,
+ 0xe4, 0xf6, 0x72, 0x45, 0x6e, 0x89, 0x6b, 0x5c, 0x1c, 0x27, 0xfe, 0x7f, 0x65, 0xa1, 0xbc, 0xb0,
+ 0x29, 0x9d, 0xd2, 0xa3, 0x65, 0x07, 0xe2, 0x3b, 0x95, 0xb1, 0xed, 0xd2, 0x74, 0x83, 0x3d, 0x8d,
+ 0x2e, 0x74, 0x46, 0x61, 0x48, 0x65, 0xec, 0x75, 0xd6, 0x79, 0xa3, 0xd1, 0xff, 0x74, 0xf9, 0x13,
+ 0x6a, 0x69, 0x3b, 0x47, 0xaf, 0xa0, 0x3c, 0x0b, 0x2b, 0x60, 0x23, 0xa6, 0x12, 0xa3, 0x53, 0xb8,
+ 0xa7, 0xd1, 0xf9, 0xf1, 0xb9, 0x7f, 0x1c, 0x7f, 0xb8, 0x0b, 0x85, 0xf8, 0x7e, 0xa3, 0x12, 0x00,
+ 0x3e, 0xef, 0xba, 0x6d, 0x8c, 0x2f, 0xf1, 0x75, 0x25, 0x73, 0x88, 0x61, 0x67, 0xc5, 0x75, 0x45,
+ 0x08, 0x4a, 0xb8, 0xd5, 0x6f, 0xbb, 0xfd, 0x0e, 0x6e, 0x5f, 0x77, 0x2e, 0x7b, 0xe7, 0x95, 0x8c,
+ 0xa1, 0x6b, 0x0c, 0xb7, 0x2e, 0x3e, 0xb5, 0x2b, 0x59, 0x54, 0x85, 0xf2, 0x6d, 0xab, 0x77, 0xf3,
+ 0xb8, 0x29, 0x37, 0x7b, 0xc0, 0x4e, 0xbb, 0x50, 0x15, 0xd2, 0x77, 0x44, 0x48, 0xf9, 0x40, 0x48,
+ 0xcf, 0xb1, 0x4f, 0xec, 0xe7, 0xa6, 0xcf, 0xd4, 0x30, 0xba, 0x73, 0x06, 0x62, 0xd4, 0x48, 0x6a,
+ 0x0d, 0x5b, 0x7b, 0x1b, 0x3f, 0xbf, 0x93, 0x93, 0x86, 0x2f, 0xf4, 0x23, 0xdc, 0xb0, 0x52, 0x77,
+ 0x79, 0x53, 0x38, 0xf9, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x4c, 0xef, 0xae, 0x7e, 0xa7, 0x05, 0x00,
+ 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
similarity index 64%
rename from vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
index f46f33a..5ab9cbe 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
@@ -7,7 +7,9 @@
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ common "github.com/opencord/voltha-protos/v3/go/common"
+ config "github.com/opencord/voltha-protos/v3/go/ext/config"
+ tech_profile "github.com/opencord/voltha-protos/v3/go/tech_profile"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
math "math"
@@ -109,6 +111,134 @@
const InferredAdditionBWIndication_InferredAdditionBWIndication_Assured = InferredAdditionBWIndication(tech_profile.InferredAdditionBWIndication_InferredAdditionBWIndication_Assured)
const InferredAdditionBWIndication_InferredAdditionBWIndication_BestEffort = InferredAdditionBWIndication(tech_profile.InferredAdditionBWIndication_InferredAdditionBWIndication_BestEffort)
+// ID from public import voltha_protos/common.proto
+type ID = common.ID
+
+// IDs from public import voltha_protos/common.proto
+type IDs = common.IDs
+
+// AdminState from public import voltha_protos/common.proto
+type AdminState = common.AdminState
+
+// OperStatus from public import voltha_protos/common.proto
+type OperStatus = common.OperStatus
+
+// ConnectStatus from public import voltha_protos/common.proto
+type ConnectStatus = common.ConnectStatus
+
+// OperationResp from public import voltha_protos/common.proto
+type OperationResp = common.OperationResp
+
+// ValueType from public import voltha_protos/common.proto
+type ValueType = common.ValueType
+
+// ValueSpecifier from public import voltha_protos/common.proto
+type ValueSpecifier = common.ValueSpecifier
+
+// ReturnValues from public import voltha_protos/common.proto
+type ReturnValues = common.ReturnValues
+
+// TestModeKeys from public import voltha_protos/common.proto
+type TestModeKeys = common.TestModeKeys
+
+var TestModeKeys_name = common.TestModeKeys_name
+var TestModeKeys_value = common.TestModeKeys_value
+
+const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
+
+// AdminState_Types from public import voltha_protos/common.proto
+type AdminState_Types = common.AdminState_Types
+
+var AdminState_Types_name = common.AdminState_Types_name
+var AdminState_Types_value = common.AdminState_Types_value
+
+const AdminState_UNKNOWN = AdminState_Types(common.AdminState_UNKNOWN)
+const AdminState_PREPROVISIONED = AdminState_Types(common.AdminState_PREPROVISIONED)
+const AdminState_ENABLED = AdminState_Types(common.AdminState_ENABLED)
+const AdminState_DISABLED = AdminState_Types(common.AdminState_DISABLED)
+const AdminState_DOWNLOADING_IMAGE = AdminState_Types(common.AdminState_DOWNLOADING_IMAGE)
+const AdminState_DELETED = AdminState_Types(common.AdminState_DELETED)
+
+// OperStatus_Types from public import voltha_protos/common.proto
+type OperStatus_Types = common.OperStatus_Types
+
+var OperStatus_Types_name = common.OperStatus_Types_name
+var OperStatus_Types_value = common.OperStatus_Types_value
+
+const OperStatus_UNKNOWN = OperStatus_Types(common.OperStatus_UNKNOWN)
+const OperStatus_DISCOVERED = OperStatus_Types(common.OperStatus_DISCOVERED)
+const OperStatus_ACTIVATING = OperStatus_Types(common.OperStatus_ACTIVATING)
+const OperStatus_TESTING = OperStatus_Types(common.OperStatus_TESTING)
+const OperStatus_ACTIVE = OperStatus_Types(common.OperStatus_ACTIVE)
+const OperStatus_FAILED = OperStatus_Types(common.OperStatus_FAILED)
+
+// ConnectStatus_Types from public import voltha_protos/common.proto
+type ConnectStatus_Types = common.ConnectStatus_Types
+
+var ConnectStatus_Types_name = common.ConnectStatus_Types_name
+var ConnectStatus_Types_value = common.ConnectStatus_Types_value
+
+const ConnectStatus_UNKNOWN = ConnectStatus_Types(common.ConnectStatus_UNKNOWN)
+const ConnectStatus_UNREACHABLE = ConnectStatus_Types(common.ConnectStatus_UNREACHABLE)
+const ConnectStatus_REACHABLE = ConnectStatus_Types(common.ConnectStatus_REACHABLE)
+
+// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
+type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode
+
+var OperationResp_OperationReturnCode_name = common.OperationResp_OperationReturnCode_name
+var OperationResp_OperationReturnCode_value = common.OperationResp_OperationReturnCode_value
+
+const OperationResp_OPERATION_SUCCESS = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_SUCCESS)
+const OperationResp_OPERATION_FAILURE = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_FAILURE)
+const OperationResp_OPERATION_UNSUPPORTED = OperationResp_OperationReturnCode(common.OperationResp_OPERATION_UNSUPPORTED)
+
+// ValueType_Type from public import voltha_protos/common.proto
+type ValueType_Type = common.ValueType_Type
+
+var ValueType_Type_name = common.ValueType_Type_name
+var ValueType_Type_value = common.ValueType_Type_value
+
+const ValueType_EMPTY = ValueType_Type(common.ValueType_EMPTY)
+const ValueType_DISTANCE = ValueType_Type(common.ValueType_DISTANCE)
+
+//* activation fail reason.
+type OnuIndication_ActivationFailReason int32
+
+const (
+ OnuIndication_ONU_ACTIVATION_FAIL_REASON_NONE OnuIndication_ActivationFailReason = 0
+ OnuIndication_ONU_ACTIVATION_FAIL_REASON_RANGING OnuIndication_ActivationFailReason = 1
+ OnuIndication_ONU_ACTIVATION_FAIL_REASON_PASSWORD_AUTHENTICATION OnuIndication_ActivationFailReason = 2
+ OnuIndication_ONU_ACTIVATION_FAIL_REASON_LOS OnuIndication_ActivationFailReason = 3
+ OnuIndication_ONU_ACTIVATION_FAIL_ONU_ALARM OnuIndication_ActivationFailReason = 4
+ OnuIndication_ONU_ACTIVATION_FAIL_SWITCH_OVER OnuIndication_ActivationFailReason = 5
+)
+
+var OnuIndication_ActivationFailReason_name = map[int32]string{
+ 0: "ONU_ACTIVATION_FAIL_REASON_NONE",
+ 1: "ONU_ACTIVATION_FAIL_REASON_RANGING",
+ 2: "ONU_ACTIVATION_FAIL_REASON_PASSWORD_AUTHENTICATION",
+ 3: "ONU_ACTIVATION_FAIL_REASON_LOS",
+ 4: "ONU_ACTIVATION_FAIL_ONU_ALARM",
+ 5: "ONU_ACTIVATION_FAIL_SWITCH_OVER",
+}
+
+var OnuIndication_ActivationFailReason_value = map[string]int32{
+ "ONU_ACTIVATION_FAIL_REASON_NONE": 0,
+ "ONU_ACTIVATION_FAIL_REASON_RANGING": 1,
+ "ONU_ACTIVATION_FAIL_REASON_PASSWORD_AUTHENTICATION": 2,
+ "ONU_ACTIVATION_FAIL_REASON_LOS": 3,
+ "ONU_ACTIVATION_FAIL_ONU_ALARM": 4,
+ "ONU_ACTIVATION_FAIL_SWITCH_OVER": 5,
+}
+
+func (x OnuIndication_ActivationFailReason) String() string {
+ return proto.EnumName(OnuIndication_ActivationFailReason_name, int32(x))
+}
+
+func (OnuIndication_ActivationFailReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{5, 0}
+}
+
type DeviceInfo_DeviceResourceRanges_Pool_PoolType int32
const (
@@ -137,7 +267,7 @@
}
func (DeviceInfo_DeviceResourceRanges_Pool_PoolType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{15, 0, 0, 0}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{16, 0, 0, 0}
}
type DeviceInfo_DeviceResourceRanges_Pool_SharingType int32
@@ -165,7 +295,63 @@
}
func (DeviceInfo_DeviceResourceRanges_Pool_SharingType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{15, 0, 0, 1}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{16, 0, 0, 1}
+}
+
+type GroupMember_InterfaceType int32
+
+const (
+ GroupMember_PON GroupMember_InterfaceType = 0
+ GroupMember_EPON_1G_PATH GroupMember_InterfaceType = 1
+ GroupMember_EPON_10G_PATH GroupMember_InterfaceType = 2
+)
+
+var GroupMember_InterfaceType_name = map[int32]string{
+ 0: "PON",
+ 1: "EPON_1G_PATH",
+ 2: "EPON_10G_PATH",
+}
+
+var GroupMember_InterfaceType_value = map[string]int32{
+ "PON": 0,
+ "EPON_1G_PATH": 1,
+ "EPON_10G_PATH": 2,
+}
+
+func (x GroupMember_InterfaceType) String() string {
+ return proto.EnumName(GroupMember_InterfaceType_name, int32(x))
+}
+
+func (GroupMember_InterfaceType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{44, 0}
+}
+
+type Group_GroupMembersCommand int32
+
+const (
+ Group_ADD_MEMBERS Group_GroupMembersCommand = 0
+ Group_REMOVE_MEMBERS Group_GroupMembersCommand = 1
+ Group_SET_MEMBERS Group_GroupMembersCommand = 2
+)
+
+var Group_GroupMembersCommand_name = map[int32]string{
+ 0: "ADD_MEMBERS",
+ 1: "REMOVE_MEMBERS",
+ 2: "SET_MEMBERS",
+}
+
+var Group_GroupMembersCommand_value = map[string]int32{
+ "ADD_MEMBERS": 0,
+ "REMOVE_MEMBERS": 1,
+ "SET_MEMBERS": 2,
+}
+
+func (x Group_GroupMembersCommand) String() string {
+ return proto.EnumName(Group_GroupMembersCommand_name, int32(x))
+}
+
+func (Group_GroupMembersCommand) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{45, 0}
}
type Indication struct {
@@ -383,6 +569,12 @@
// *AlarmIndication_OnuProcessingErrorInd
// *AlarmIndication_OnuLossOfSyncFailInd
// *AlarmIndication_OnuItuPonStatsInd
+ // *AlarmIndication_OnuDeactivationFailureInd
+ // *AlarmIndication_OnuRemoteDefectInd
+ // *AlarmIndication_OnuLossGemDelineationInd
+ // *AlarmIndication_OnuPhysicalEquipmentErrorInd
+ // *AlarmIndication_OnuLossOfAckInd
+ // *AlarmIndication_OnuDiffReachExceededInd
Data isAlarmIndication_Data `protobuf_oneof:"data"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -470,6 +662,30 @@
OnuItuPonStatsInd *OnuItuPonStatsIndication `protobuf:"bytes,13,opt,name=onu_itu_pon_stats_ind,json=onuItuPonStatsInd,proto3,oneof"`
}
+type AlarmIndication_OnuDeactivationFailureInd struct {
+ OnuDeactivationFailureInd *OnuDeactivationFailureIndication `protobuf:"bytes,14,opt,name=onu_deactivation_failure_ind,json=onuDeactivationFailureInd,proto3,oneof"`
+}
+
+type AlarmIndication_OnuRemoteDefectInd struct {
+ OnuRemoteDefectInd *OnuRemoteDefectIndication `protobuf:"bytes,15,opt,name=onu_remote_defect_ind,json=onuRemoteDefectInd,proto3,oneof"`
+}
+
+type AlarmIndication_OnuLossGemDelineationInd struct {
+ OnuLossGemDelineationInd *OnuLossOfGEMChannelDelineationIndication `protobuf:"bytes,16,opt,name=onu_loss_gem_delineation_ind,json=onuLossGemDelineationInd,proto3,oneof"`
+}
+
+type AlarmIndication_OnuPhysicalEquipmentErrorInd struct {
+ OnuPhysicalEquipmentErrorInd *OnuPhysicalEquipmentErrorIndication `protobuf:"bytes,17,opt,name=onu_physical_equipment_error_ind,json=onuPhysicalEquipmentErrorInd,proto3,oneof"`
+}
+
+type AlarmIndication_OnuLossOfAckInd struct {
+ OnuLossOfAckInd *OnuLossOfAcknowledgementIndication `protobuf:"bytes,18,opt,name=onu_loss_of_ack_ind,json=onuLossOfAckInd,proto3,oneof"`
+}
+
+type AlarmIndication_OnuDiffReachExceededInd struct {
+ OnuDiffReachExceededInd *OnuDifferentialReachExceededIndication `protobuf:"bytes,19,opt,name=onu_diff_reach_exceeded_ind,json=onuDiffReachExceededInd,proto3,oneof"`
+}
+
func (*AlarmIndication_LosInd) isAlarmIndication_Data() {}
func (*AlarmIndication_DyingGaspInd) isAlarmIndication_Data() {}
@@ -496,6 +712,18 @@
func (*AlarmIndication_OnuItuPonStatsInd) isAlarmIndication_Data() {}
+func (*AlarmIndication_OnuDeactivationFailureInd) isAlarmIndication_Data() {}
+
+func (*AlarmIndication_OnuRemoteDefectInd) isAlarmIndication_Data() {}
+
+func (*AlarmIndication_OnuLossGemDelineationInd) isAlarmIndication_Data() {}
+
+func (*AlarmIndication_OnuPhysicalEquipmentErrorInd) isAlarmIndication_Data() {}
+
+func (*AlarmIndication_OnuLossOfAckInd) isAlarmIndication_Data() {}
+
+func (*AlarmIndication_OnuDiffReachExceededInd) isAlarmIndication_Data() {}
+
func (m *AlarmIndication) GetData() isAlarmIndication_Data {
if m != nil {
return m.Data
@@ -594,6 +822,48 @@
return nil
}
+func (m *AlarmIndication) GetOnuDeactivationFailureInd() *OnuDeactivationFailureIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuDeactivationFailureInd); ok {
+ return x.OnuDeactivationFailureInd
+ }
+ return nil
+}
+
+func (m *AlarmIndication) GetOnuRemoteDefectInd() *OnuRemoteDefectIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuRemoteDefectInd); ok {
+ return x.OnuRemoteDefectInd
+ }
+ return nil
+}
+
+func (m *AlarmIndication) GetOnuLossGemDelineationInd() *OnuLossOfGEMChannelDelineationIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuLossGemDelineationInd); ok {
+ return x.OnuLossGemDelineationInd
+ }
+ return nil
+}
+
+func (m *AlarmIndication) GetOnuPhysicalEquipmentErrorInd() *OnuPhysicalEquipmentErrorIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuPhysicalEquipmentErrorInd); ok {
+ return x.OnuPhysicalEquipmentErrorInd
+ }
+ return nil
+}
+
+func (m *AlarmIndication) GetOnuLossOfAckInd() *OnuLossOfAcknowledgementIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuLossOfAckInd); ok {
+ return x.OnuLossOfAckInd
+ }
+ return nil
+}
+
+func (m *AlarmIndication) GetOnuDiffReachExceededInd() *OnuDifferentialReachExceededIndication {
+ if x, ok := m.GetData().(*AlarmIndication_OnuDiffReachExceededInd); ok {
+ return x.OnuDiffReachExceededInd
+ }
+ return nil
+}
+
// XXX_OneofWrappers is for the internal use of the proto package.
func (*AlarmIndication) XXX_OneofWrappers() []interface{} {
return []interface{}{
@@ -610,6 +880,12 @@
(*AlarmIndication_OnuProcessingErrorInd)(nil),
(*AlarmIndication_OnuLossOfSyncFailInd)(nil),
(*AlarmIndication_OnuItuPonStatsInd)(nil),
+ (*AlarmIndication_OnuDeactivationFailureInd)(nil),
+ (*AlarmIndication_OnuRemoteDefectInd)(nil),
+ (*AlarmIndication_OnuLossGemDelineationInd)(nil),
+ (*AlarmIndication_OnuPhysicalEquipmentErrorInd)(nil),
+ (*AlarmIndication_OnuLossOfAckInd)(nil),
+ (*AlarmIndication_OnuDiffReachExceededInd)(nil),
}
}
@@ -747,14 +1023,15 @@
}
type OnuIndication struct {
- IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
- OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
- OperState string `protobuf:"bytes,3,opt,name=oper_state,json=operState,proto3" json:"oper_state,omitempty"`
- AdminState string `protobuf:"bytes,5,opt,name=admin_state,json=adminState,proto3" json:"admin_state,omitempty"`
- SerialNumber *SerialNumber `protobuf:"bytes,4,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ OperState string `protobuf:"bytes,3,opt,name=oper_state,json=operState,proto3" json:"oper_state,omitempty"`
+ AdminState string `protobuf:"bytes,5,opt,name=admin_state,json=adminState,proto3" json:"admin_state,omitempty"`
+ SerialNumber *SerialNumber `protobuf:"bytes,4,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
+ FailReason OnuIndication_ActivationFailReason `protobuf:"varint,6,opt,name=fail_reason,json=failReason,proto3,enum=openolt.OnuIndication_ActivationFailReason" json:"fail_reason,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *OnuIndication) Reset() { *m = OnuIndication{} }
@@ -817,6 +1094,13 @@
return nil
}
+func (m *OnuIndication) GetFailReason() OnuIndication_ActivationFailReason {
+ if m != nil {
+ return m.FailReason
+ }
+ return OnuIndication_ONU_ACTIVATION_FAIL_REASON_NONE
+}
+
type IntfOperIndication struct {
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
IntfId uint32 `protobuf:"fixed32,2,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
@@ -1097,6 +1381,7 @@
OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
SerialNumber *SerialNumber `protobuf:"bytes,3,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
Pir uint32 `protobuf:"fixed32,4,opt,name=pir,proto3" json:"pir,omitempty"`
+ OmccEncryption bool `protobuf:"varint,5,opt,name=omcc_encryption,json=omccEncryption,proto3" json:"omcc_encryption,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -1155,6 +1440,76 @@
return 0
}
+func (m *Onu) GetOmccEncryption() bool {
+ if m != nil {
+ return m.OmccEncryption
+ }
+ return false
+}
+
+type OnuLogicalDistance struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ LogicalOnuDistanceZero uint32 `protobuf:"fixed32,3,opt,name=logical_onu_distance_zero,json=logicalOnuDistanceZero,proto3" json:"logical_onu_distance_zero,omitempty"`
+ LogicalOnuDistance uint32 `protobuf:"fixed32,4,opt,name=logical_onu_distance,json=logicalOnuDistance,proto3" json:"logical_onu_distance,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuLogicalDistance) Reset() { *m = OnuLogicalDistance{} }
+func (m *OnuLogicalDistance) String() string { return proto.CompactTextString(m) }
+func (*OnuLogicalDistance) ProtoMessage() {}
+func (*OnuLogicalDistance) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{12}
+}
+
+func (m *OnuLogicalDistance) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuLogicalDistance.Unmarshal(m, b)
+}
+func (m *OnuLogicalDistance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuLogicalDistance.Marshal(b, m, deterministic)
+}
+func (m *OnuLogicalDistance) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuLogicalDistance.Merge(m, src)
+}
+func (m *OnuLogicalDistance) XXX_Size() int {
+ return xxx_messageInfo_OnuLogicalDistance.Size(m)
+}
+func (m *OnuLogicalDistance) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuLogicalDistance.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuLogicalDistance proto.InternalMessageInfo
+
+func (m *OnuLogicalDistance) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuLogicalDistance) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuLogicalDistance) GetLogicalOnuDistanceZero() uint32 {
+ if m != nil {
+ return m.LogicalOnuDistanceZero
+ }
+ return 0
+}
+
+func (m *OnuLogicalDistance) GetLogicalOnuDistance() uint32 {
+ if m != nil {
+ return m.LogicalOnuDistance
+ }
+ return 0
+}
+
type OmciMsg struct {
IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
@@ -1168,7 +1523,7 @@
func (m *OmciMsg) String() string { return proto.CompactTextString(m) }
func (*OmciMsg) ProtoMessage() {}
func (*OmciMsg) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{12}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{13}
}
func (m *OmciMsg) XXX_Unmarshal(b []byte) error {
@@ -1225,7 +1580,7 @@
func (m *OnuPacket) String() string { return proto.CompactTextString(m) }
func (*OnuPacket) ProtoMessage() {}
func (*OnuPacket) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{13}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{14}
}
func (m *OnuPacket) XXX_Unmarshal(b []byte) error {
@@ -1293,7 +1648,7 @@
func (m *UplinkPacket) String() string { return proto.CompactTextString(m) }
func (*UplinkPacket) ProtoMessage() {}
func (*UplinkPacket) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{14}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{15}
}
func (m *UplinkPacket) XXX_Unmarshal(b []byte) error {
@@ -1357,7 +1712,7 @@
func (m *DeviceInfo) String() string { return proto.CompactTextString(m) }
func (*DeviceInfo) ProtoMessage() {}
func (*DeviceInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{15}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{16}
}
func (m *DeviceInfo) XXX_Unmarshal(b []byte) error {
@@ -1513,7 +1868,7 @@
func (m *DeviceInfo_DeviceResourceRanges) String() string { return proto.CompactTextString(m) }
func (*DeviceInfo_DeviceResourceRanges) ProtoMessage() {}
func (*DeviceInfo_DeviceResourceRanges) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{15, 0}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{16, 0}
}
func (m *DeviceInfo_DeviceResourceRanges) XXX_Unmarshal(b []byte) error {
@@ -1569,7 +1924,7 @@
func (m *DeviceInfo_DeviceResourceRanges_Pool) String() string { return proto.CompactTextString(m) }
func (*DeviceInfo_DeviceResourceRanges_Pool) ProtoMessage() {}
func (*DeviceInfo_DeviceResourceRanges_Pool) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{15, 0, 0}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{16, 0, 0}
}
func (m *DeviceInfo_DeviceResourceRanges_Pool) XXX_Unmarshal(b []byte) error {
@@ -1643,7 +1998,7 @@
func (m *Classifier) String() string { return proto.CompactTextString(m) }
func (*Classifier) ProtoMessage() {}
func (*Classifier) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{16}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{17}
}
func (m *Classifier) XXX_Unmarshal(b []byte) error {
@@ -1773,6 +2128,12 @@
AddOuterTag bool `protobuf:"varint,1,opt,name=add_outer_tag,json=addOuterTag,proto3" json:"add_outer_tag,omitempty"`
RemoveOuterTag bool `protobuf:"varint,2,opt,name=remove_outer_tag,json=removeOuterTag,proto3" json:"remove_outer_tag,omitempty"`
TrapToHost bool `protobuf:"varint,3,opt,name=trap_to_host,json=trapToHost,proto3" json:"trap_to_host,omitempty"`
+ RemarkOuterPbits bool `protobuf:"varint,4,opt,name=remark_outer_pbits,json=remarkOuterPbits,proto3" json:"remark_outer_pbits,omitempty"`
+ RemarkInnerPbits bool `protobuf:"varint,5,opt,name=remark_inner_pbits,json=remarkInnerPbits,proto3" json:"remark_inner_pbits,omitempty"`
+ AddInnerTag bool `protobuf:"varint,6,opt,name=add_inner_tag,json=addInnerTag,proto3" json:"add_inner_tag,omitempty"`
+ RemoveInnerTag bool `protobuf:"varint,7,opt,name=remove_inner_tag,json=removeInnerTag,proto3" json:"remove_inner_tag,omitempty"`
+ TranslateInnerTag bool `protobuf:"varint,8,opt,name=translate_inner_tag,json=translateInnerTag,proto3" json:"translate_inner_tag,omitempty"`
+ TranslateOuterTag bool `protobuf:"varint,9,opt,name=translate_outer_tag,json=translateOuterTag,proto3" json:"translate_outer_tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -1782,7 +2143,7 @@
func (m *ActionCmd) String() string { return proto.CompactTextString(m) }
func (*ActionCmd) ProtoMessage() {}
func (*ActionCmd) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{17}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{18}
}
func (m *ActionCmd) XXX_Unmarshal(b []byte) error {
@@ -1824,6 +2185,48 @@
return false
}
+func (m *ActionCmd) GetRemarkOuterPbits() bool {
+ if m != nil {
+ return m.RemarkOuterPbits
+ }
+ return false
+}
+
+func (m *ActionCmd) GetRemarkInnerPbits() bool {
+ if m != nil {
+ return m.RemarkInnerPbits
+ }
+ return false
+}
+
+func (m *ActionCmd) GetAddInnerTag() bool {
+ if m != nil {
+ return m.AddInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetRemoveInnerTag() bool {
+ if m != nil {
+ return m.RemoveInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetTranslateInnerTag() bool {
+ if m != nil {
+ return m.TranslateInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetTranslateOuterTag() bool {
+ if m != nil {
+ return m.TranslateOuterTag
+ }
+ return false
+}
+
type Action struct {
Cmd *ActionCmd `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"`
OVid uint32 `protobuf:"fixed32,2,opt,name=o_vid,json=oVid,proto3" json:"o_vid,omitempty"`
@@ -1841,7 +2244,7 @@
func (m *Action) String() string { return proto.CompactTextString(m) }
func (*Action) ProtoMessage() {}
func (*Action) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{18}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{19}
}
func (m *Action) XXX_Unmarshal(b []byte) error {
@@ -1925,6 +2328,8 @@
Priority int32 `protobuf:"fixed32,9,opt,name=priority,proto3" json:"priority,omitempty"`
Cookie uint64 `protobuf:"fixed64,12,opt,name=cookie,proto3" json:"cookie,omitempty"`
PortNo uint32 `protobuf:"fixed32,13,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ GroupId uint32 `protobuf:"fixed32,14,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ TechProfileId uint32 `protobuf:"fixed32,15,opt,name=tech_profile_id,json=techProfileId,proto3" json:"tech_profile_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -1934,7 +2339,7 @@
func (m *Flow) String() string { return proto.CompactTextString(m) }
func (*Flow) ProtoMessage() {}
func (*Flow) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{19}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{20}
}
func (m *Flow) XXX_Unmarshal(b []byte) error {
@@ -2046,6 +2451,20 @@
return 0
}
+func (m *Flow) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *Flow) GetTechProfileId() uint32 {
+ if m != nil {
+ return m.TechProfileId
+ }
+ return 0
+}
+
type SerialNumber struct {
VendorId []byte `protobuf:"bytes,1,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
VendorSpecific []byte `protobuf:"bytes,2,opt,name=vendor_specific,json=vendorSpecific,proto3" json:"vendor_specific,omitempty"`
@@ -2058,7 +2477,7 @@
func (m *SerialNumber) String() string { return proto.CompactTextString(m) }
func (*SerialNumber) ProtoMessage() {}
func (*SerialNumber) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{20}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{21}
}
func (m *SerialNumber) XXX_Unmarshal(b []byte) error {
@@ -2119,7 +2538,7 @@
func (m *PortStatistics) String() string { return proto.CompactTextString(m) }
func (*PortStatistics) ProtoMessage() {}
func (*PortStatistics) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{21}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{22}
}
func (m *PortStatistics) XXX_Unmarshal(b []byte) error {
@@ -2268,7 +2687,7 @@
func (m *FlowStatistics) String() string { return proto.CompactTextString(m) }
func (*FlowStatistics) ProtoMessage() {}
func (*FlowStatistics) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{22}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{23}
}
func (m *FlowStatistics) XXX_Unmarshal(b []byte) error {
@@ -2343,7 +2762,7 @@
func (m *LosIndication) String() string { return proto.CompactTextString(m) }
func (*LosIndication) ProtoMessage() {}
func (*LosIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{23}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{24}
}
func (m *LosIndication) XXX_Unmarshal(b []byte) error {
@@ -2391,7 +2810,7 @@
func (m *DyingGaspIndication) String() string { return proto.CompactTextString(m) }
func (*DyingGaspIndication) ProtoMessage() {}
func (*DyingGaspIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{24}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{25}
}
func (m *DyingGaspIndication) XXX_Unmarshal(b []byte) error {
@@ -2451,7 +2870,7 @@
func (m *OnuAlarmIndication) String() string { return proto.CompactTextString(m) }
func (*OnuAlarmIndication) ProtoMessage() {}
func (*OnuAlarmIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{25}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{26}
}
func (m *OnuAlarmIndication) XXX_Unmarshal(b []byte) error {
@@ -2541,7 +2960,7 @@
func (m *OnuStartupFailureIndication) String() string { return proto.CompactTextString(m) }
func (*OnuStartupFailureIndication) ProtoMessage() {}
func (*OnuStartupFailureIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{26}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{27}
}
func (m *OnuStartupFailureIndication) XXX_Unmarshal(b []byte) error {
@@ -2597,7 +3016,7 @@
func (m *OnuSignalDegradeIndication) String() string { return proto.CompactTextString(m) }
func (*OnuSignalDegradeIndication) ProtoMessage() {}
func (*OnuSignalDegradeIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{27}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{28}
}
func (m *OnuSignalDegradeIndication) XXX_Unmarshal(b []byte) error {
@@ -2661,7 +3080,7 @@
func (m *OnuDriftOfWindowIndication) String() string { return proto.CompactTextString(m) }
func (*OnuDriftOfWindowIndication) ProtoMessage() {}
func (*OnuDriftOfWindowIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{28}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{29}
}
func (m *OnuDriftOfWindowIndication) XXX_Unmarshal(b []byte) error {
@@ -2730,7 +3149,7 @@
func (m *OnuLossOfOmciChannelIndication) String() string { return proto.CompactTextString(m) }
func (*OnuLossOfOmciChannelIndication) ProtoMessage() {}
func (*OnuLossOfOmciChannelIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{29}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{30}
}
func (m *OnuLossOfOmciChannelIndication) XXX_Unmarshal(b []byte) error {
@@ -2786,7 +3205,7 @@
func (m *OnuSignalsFailureIndication) String() string { return proto.CompactTextString(m) }
func (*OnuSignalsFailureIndication) ProtoMessage() {}
func (*OnuSignalsFailureIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{30}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{31}
}
func (m *OnuSignalsFailureIndication) XXX_Unmarshal(b []byte) error {
@@ -2849,7 +3268,7 @@
func (m *OnuTransmissionInterferenceWarning) String() string { return proto.CompactTextString(m) }
func (*OnuTransmissionInterferenceWarning) ProtoMessage() {}
func (*OnuTransmissionInterferenceWarning) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{31}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{32}
}
func (m *OnuTransmissionInterferenceWarning) XXX_Unmarshal(b []byte) error {
@@ -2911,7 +3330,7 @@
func (m *OnuActivationFailureIndication) String() string { return proto.CompactTextString(m) }
func (*OnuActivationFailureIndication) ProtoMessage() {}
func (*OnuActivationFailureIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{32}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{33}
}
func (m *OnuActivationFailureIndication) XXX_Unmarshal(b []byte) error {
@@ -2966,7 +3385,7 @@
func (m *OnuLossOfKeySyncFailureIndication) String() string { return proto.CompactTextString(m) }
func (*OnuLossOfKeySyncFailureIndication) ProtoMessage() {}
func (*OnuLossOfKeySyncFailureIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{33}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{34}
}
func (m *OnuLossOfKeySyncFailureIndication) XXX_Unmarshal(b []byte) error {
@@ -3008,20 +3427,69 @@
return ""
}
-type OnuItuPonStatsIndication struct {
- IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
- OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
- RdiErrors uint32 `protobuf:"fixed32,3,opt,name=rdi_errors,json=rdiErrors,proto3" json:"rdi_errors,omitempty"`
+type RdiErrorIndication struct {
+ RdiErrorCount uint64 `protobuf:"fixed64,1,opt,name=rdi_error_count,json=rdiErrorCount,proto3" json:"rdi_error_count,omitempty"`
+ Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
+func (m *RdiErrorIndication) Reset() { *m = RdiErrorIndication{} }
+func (m *RdiErrorIndication) String() string { return proto.CompactTextString(m) }
+func (*RdiErrorIndication) ProtoMessage() {}
+func (*RdiErrorIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{35}
+}
+
+func (m *RdiErrorIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_RdiErrorIndication.Unmarshal(m, b)
+}
+func (m *RdiErrorIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_RdiErrorIndication.Marshal(b, m, deterministic)
+}
+func (m *RdiErrorIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RdiErrorIndication.Merge(m, src)
+}
+func (m *RdiErrorIndication) XXX_Size() int {
+ return xxx_messageInfo_RdiErrorIndication.Size(m)
+}
+func (m *RdiErrorIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_RdiErrorIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RdiErrorIndication proto.InternalMessageInfo
+
+func (m *RdiErrorIndication) GetRdiErrorCount() uint64 {
+ if m != nil {
+ return m.RdiErrorCount
+ }
+ return 0
+}
+
+func (m *RdiErrorIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+type OnuItuPonStatsIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ // Types that are valid to be assigned to Stats:
+ // *OnuItuPonStatsIndication_RdiErrorInd
+ Stats isOnuItuPonStatsIndication_Stats `protobuf_oneof:"stats"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
func (m *OnuItuPonStatsIndication) Reset() { *m = OnuItuPonStatsIndication{} }
func (m *OnuItuPonStatsIndication) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonStatsIndication) ProtoMessage() {}
func (*OnuItuPonStatsIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{34}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{36}
}
func (m *OnuItuPonStatsIndication) XXX_Unmarshal(b []byte) error {
@@ -3056,11 +3524,35 @@
return 0
}
-func (m *OnuItuPonStatsIndication) GetRdiErrors() uint32 {
+type isOnuItuPonStatsIndication_Stats interface {
+ isOnuItuPonStatsIndication_Stats()
+}
+
+type OnuItuPonStatsIndication_RdiErrorInd struct {
+ RdiErrorInd *RdiErrorIndication `protobuf:"bytes,3,opt,name=rdi_error_ind,json=rdiErrorInd,proto3,oneof"`
+}
+
+func (*OnuItuPonStatsIndication_RdiErrorInd) isOnuItuPonStatsIndication_Stats() {}
+
+func (m *OnuItuPonStatsIndication) GetStats() isOnuItuPonStatsIndication_Stats {
if m != nil {
- return m.RdiErrors
+ return m.Stats
}
- return 0
+ return nil
+}
+
+func (m *OnuItuPonStatsIndication) GetRdiErrorInd() *RdiErrorIndication {
+ if x, ok := m.GetStats().(*OnuItuPonStatsIndication_RdiErrorInd); ok {
+ return x.RdiErrorInd
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*OnuItuPonStatsIndication) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*OnuItuPonStatsIndication_RdiErrorInd)(nil),
+ }
}
type OnuProcessingErrorIndication struct {
@@ -3075,7 +3567,7 @@
func (m *OnuProcessingErrorIndication) String() string { return proto.CompactTextString(m) }
func (*OnuProcessingErrorIndication) ProtoMessage() {}
func (*OnuProcessingErrorIndication) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{35}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{37}
}
func (m *OnuProcessingErrorIndication) XXX_Unmarshal(b []byte) error {
@@ -3110,6 +3602,529 @@
return 0
}
+type OnuDeactivationFailureIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuDeactivationFailureIndication) Reset() { *m = OnuDeactivationFailureIndication{} }
+func (m *OnuDeactivationFailureIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuDeactivationFailureIndication) ProtoMessage() {}
+func (*OnuDeactivationFailureIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{38}
+}
+
+func (m *OnuDeactivationFailureIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuDeactivationFailureIndication.Unmarshal(m, b)
+}
+func (m *OnuDeactivationFailureIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuDeactivationFailureIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuDeactivationFailureIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuDeactivationFailureIndication.Merge(m, src)
+}
+func (m *OnuDeactivationFailureIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuDeactivationFailureIndication.Size(m)
+}
+func (m *OnuDeactivationFailureIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuDeactivationFailureIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuDeactivationFailureIndication proto.InternalMessageInfo
+
+func (m *OnuDeactivationFailureIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuDeactivationFailureIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuDeactivationFailureIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+type OnuRemoteDefectIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ RdiErrors uint64 `protobuf:"fixed64,3,opt,name=rdi_errors,json=rdiErrors,proto3" json:"rdi_errors,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuRemoteDefectIndication) Reset() { *m = OnuRemoteDefectIndication{} }
+func (m *OnuRemoteDefectIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuRemoteDefectIndication) ProtoMessage() {}
+func (*OnuRemoteDefectIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{39}
+}
+
+func (m *OnuRemoteDefectIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuRemoteDefectIndication.Unmarshal(m, b)
+}
+func (m *OnuRemoteDefectIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuRemoteDefectIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuRemoteDefectIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuRemoteDefectIndication.Merge(m, src)
+}
+func (m *OnuRemoteDefectIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuRemoteDefectIndication.Size(m)
+}
+func (m *OnuRemoteDefectIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuRemoteDefectIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuRemoteDefectIndication proto.InternalMessageInfo
+
+func (m *OnuRemoteDefectIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuRemoteDefectIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuRemoteDefectIndication) GetRdiErrors() uint64 {
+ if m != nil {
+ return m.RdiErrors
+ }
+ return 0
+}
+
+type OnuLossOfGEMChannelDelineationIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+ DelineationErrors uint32 `protobuf:"fixed32,4,opt,name=delineation_errors,json=delineationErrors,proto3" json:"delineation_errors,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuLossOfGEMChannelDelineationIndication) Reset() {
+ *m = OnuLossOfGEMChannelDelineationIndication{}
+}
+func (m *OnuLossOfGEMChannelDelineationIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuLossOfGEMChannelDelineationIndication) ProtoMessage() {}
+func (*OnuLossOfGEMChannelDelineationIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{40}
+}
+
+func (m *OnuLossOfGEMChannelDelineationIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication.Unmarshal(m, b)
+}
+func (m *OnuLossOfGEMChannelDelineationIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuLossOfGEMChannelDelineationIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication.Merge(m, src)
+}
+func (m *OnuLossOfGEMChannelDelineationIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication.Size(m)
+}
+func (m *OnuLossOfGEMChannelDelineationIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuLossOfGEMChannelDelineationIndication proto.InternalMessageInfo
+
+func (m *OnuLossOfGEMChannelDelineationIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuLossOfGEMChannelDelineationIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuLossOfGEMChannelDelineationIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+func (m *OnuLossOfGEMChannelDelineationIndication) GetDelineationErrors() uint32 {
+ if m != nil {
+ return m.DelineationErrors
+ }
+ return 0
+}
+
+type OnuPhysicalEquipmentErrorIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuPhysicalEquipmentErrorIndication) Reset() { *m = OnuPhysicalEquipmentErrorIndication{} }
+func (m *OnuPhysicalEquipmentErrorIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuPhysicalEquipmentErrorIndication) ProtoMessage() {}
+func (*OnuPhysicalEquipmentErrorIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{41}
+}
+
+func (m *OnuPhysicalEquipmentErrorIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuPhysicalEquipmentErrorIndication.Unmarshal(m, b)
+}
+func (m *OnuPhysicalEquipmentErrorIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuPhysicalEquipmentErrorIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuPhysicalEquipmentErrorIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuPhysicalEquipmentErrorIndication.Merge(m, src)
+}
+func (m *OnuPhysicalEquipmentErrorIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuPhysicalEquipmentErrorIndication.Size(m)
+}
+func (m *OnuPhysicalEquipmentErrorIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuPhysicalEquipmentErrorIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuPhysicalEquipmentErrorIndication proto.InternalMessageInfo
+
+func (m *OnuPhysicalEquipmentErrorIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuPhysicalEquipmentErrorIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuPhysicalEquipmentErrorIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+type OnuLossOfAcknowledgementIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuLossOfAcknowledgementIndication) Reset() { *m = OnuLossOfAcknowledgementIndication{} }
+func (m *OnuLossOfAcknowledgementIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuLossOfAcknowledgementIndication) ProtoMessage() {}
+func (*OnuLossOfAcknowledgementIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{42}
+}
+
+func (m *OnuLossOfAcknowledgementIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuLossOfAcknowledgementIndication.Unmarshal(m, b)
+}
+func (m *OnuLossOfAcknowledgementIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuLossOfAcknowledgementIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuLossOfAcknowledgementIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuLossOfAcknowledgementIndication.Merge(m, src)
+}
+func (m *OnuLossOfAcknowledgementIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuLossOfAcknowledgementIndication.Size(m)
+}
+func (m *OnuLossOfAcknowledgementIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuLossOfAcknowledgementIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuLossOfAcknowledgementIndication proto.InternalMessageInfo
+
+func (m *OnuLossOfAcknowledgementIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuLossOfAcknowledgementIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuLossOfAcknowledgementIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+type OnuDifferentialReachExceededIndication struct {
+ IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
+ OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
+ Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
+ Distance uint32 `protobuf:"fixed32,4,opt,name=distance,proto3" json:"distance,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuDifferentialReachExceededIndication) Reset() {
+ *m = OnuDifferentialReachExceededIndication{}
+}
+func (m *OnuDifferentialReachExceededIndication) String() string { return proto.CompactTextString(m) }
+func (*OnuDifferentialReachExceededIndication) ProtoMessage() {}
+func (*OnuDifferentialReachExceededIndication) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{43}
+}
+
+func (m *OnuDifferentialReachExceededIndication) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuDifferentialReachExceededIndication.Unmarshal(m, b)
+}
+func (m *OnuDifferentialReachExceededIndication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuDifferentialReachExceededIndication.Marshal(b, m, deterministic)
+}
+func (m *OnuDifferentialReachExceededIndication) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuDifferentialReachExceededIndication.Merge(m, src)
+}
+func (m *OnuDifferentialReachExceededIndication) XXX_Size() int {
+ return xxx_messageInfo_OnuDifferentialReachExceededIndication.Size(m)
+}
+func (m *OnuDifferentialReachExceededIndication) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuDifferentialReachExceededIndication.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuDifferentialReachExceededIndication proto.InternalMessageInfo
+
+func (m *OnuDifferentialReachExceededIndication) GetIntfId() uint32 {
+ if m != nil {
+ return m.IntfId
+ }
+ return 0
+}
+
+func (m *OnuDifferentialReachExceededIndication) GetOnuId() uint32 {
+ if m != nil {
+ return m.OnuId
+ }
+ return 0
+}
+
+func (m *OnuDifferentialReachExceededIndication) GetStatus() string {
+ if m != nil {
+ return m.Status
+ }
+ return ""
+}
+
+func (m *OnuDifferentialReachExceededIndication) GetDistance() uint32 {
+ if m != nil {
+ return m.Distance
+ }
+ return 0
+}
+
+type GroupMember struct {
+ InterfaceId uint32 `protobuf:"varint,1,opt,name=interface_id,json=interfaceId,proto3" json:"interface_id,omitempty"`
+ InterfaceType GroupMember_InterfaceType `protobuf:"varint,2,opt,name=interface_type,json=interfaceType,proto3,enum=openolt.GroupMember_InterfaceType" json:"interface_type,omitempty"`
+ GemPortId uint32 `protobuf:"varint,3,opt,name=gem_port_id,json=gemPortId,proto3" json:"gem_port_id,omitempty"`
+ Priority uint32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GroupMember) Reset() { *m = GroupMember{} }
+func (m *GroupMember) String() string { return proto.CompactTextString(m) }
+func (*GroupMember) ProtoMessage() {}
+func (*GroupMember) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{44}
+}
+
+func (m *GroupMember) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GroupMember.Unmarshal(m, b)
+}
+func (m *GroupMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GroupMember.Marshal(b, m, deterministic)
+}
+func (m *GroupMember) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GroupMember.Merge(m, src)
+}
+func (m *GroupMember) XXX_Size() int {
+ return xxx_messageInfo_GroupMember.Size(m)
+}
+func (m *GroupMember) XXX_DiscardUnknown() {
+ xxx_messageInfo_GroupMember.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupMember proto.InternalMessageInfo
+
+func (m *GroupMember) GetInterfaceId() uint32 {
+ if m != nil {
+ return m.InterfaceId
+ }
+ return 0
+}
+
+func (m *GroupMember) GetInterfaceType() GroupMember_InterfaceType {
+ if m != nil {
+ return m.InterfaceType
+ }
+ return GroupMember_PON
+}
+
+func (m *GroupMember) GetGemPortId() uint32 {
+ if m != nil {
+ return m.GemPortId
+ }
+ return 0
+}
+
+func (m *GroupMember) GetPriority() uint32 {
+ if m != nil {
+ return m.Priority
+ }
+ return 0
+}
+
+type Group struct {
+ GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Command Group_GroupMembersCommand `protobuf:"varint,2,opt,name=command,proto3,enum=openolt.Group_GroupMembersCommand" json:"command,omitempty"`
+ Members []*GroupMember `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
+ Action *Action `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Group) Reset() { *m = Group{} }
+func (m *Group) String() string { return proto.CompactTextString(m) }
+func (*Group) ProtoMessage() {}
+func (*Group) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{45}
+}
+
+func (m *Group) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Group.Unmarshal(m, b)
+}
+func (m *Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Group.Marshal(b, m, deterministic)
+}
+func (m *Group) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Group.Merge(m, src)
+}
+func (m *Group) XXX_Size() int {
+ return xxx_messageInfo_Group.Size(m)
+}
+func (m *Group) XXX_DiscardUnknown() {
+ xxx_messageInfo_Group.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Group proto.InternalMessageInfo
+
+func (m *Group) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *Group) GetCommand() Group_GroupMembersCommand {
+ if m != nil {
+ return m.Command
+ }
+ return Group_ADD_MEMBERS
+}
+
+func (m *Group) GetMembers() []*GroupMember {
+ if m != nil {
+ return m.Members
+ }
+ return nil
+}
+
+func (m *Group) GetAction() *Action {
+ if m != nil {
+ return m.Action
+ }
+ return nil
+}
+
+type ValueParam struct {
+ Onu *Onu `protobuf:"bytes,1,opt,name=onu,proto3" json:"onu,omitempty"`
+ Value common.ValueType_Type `protobuf:"varint,2,opt,name=value,proto3,enum=common.ValueType_Type" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ValueParam) Reset() { *m = ValueParam{} }
+func (m *ValueParam) String() string { return proto.CompactTextString(m) }
+func (*ValueParam) ProtoMessage() {}
+func (*ValueParam) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{46}
+}
+
+func (m *ValueParam) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ValueParam.Unmarshal(m, b)
+}
+func (m *ValueParam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ValueParam.Marshal(b, m, deterministic)
+}
+func (m *ValueParam) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ValueParam.Merge(m, src)
+}
+func (m *ValueParam) XXX_Size() int {
+ return xxx_messageInfo_ValueParam.Size(m)
+}
+func (m *ValueParam) XXX_DiscardUnknown() {
+ xxx_messageInfo_ValueParam.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ValueParam proto.InternalMessageInfo
+
+func (m *ValueParam) GetOnu() *Onu {
+ if m != nil {
+ return m.Onu
+ }
+ return nil
+}
+
+func (m *ValueParam) GetValue() common.ValueType_Type {
+ if m != nil {
+ return m.Value
+ }
+ return common.ValueType_EMPTY
+}
+
type Empty struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -3120,7 +4135,7 @@
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{36}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{47}
}
func (m *Empty) XXX_Unmarshal(b []byte) error {
@@ -3142,8 +4157,11 @@
var xxx_messageInfo_Empty proto.InternalMessageInfo
func init() {
+ proto.RegisterEnum("openolt.OnuIndication_ActivationFailReason", OnuIndication_ActivationFailReason_name, OnuIndication_ActivationFailReason_value)
proto.RegisterEnum("openolt.DeviceInfo_DeviceResourceRanges_Pool_PoolType", DeviceInfo_DeviceResourceRanges_Pool_PoolType_name, DeviceInfo_DeviceResourceRanges_Pool_PoolType_value)
proto.RegisterEnum("openolt.DeviceInfo_DeviceResourceRanges_Pool_SharingType", DeviceInfo_DeviceResourceRanges_Pool_SharingType_name, DeviceInfo_DeviceResourceRanges_Pool_SharingType_value)
+ proto.RegisterEnum("openolt.GroupMember_InterfaceType", GroupMember_InterfaceType_name, GroupMember_InterfaceType_value)
+ proto.RegisterEnum("openolt.Group_GroupMembersCommand", Group_GroupMembersCommand_name, Group_GroupMembersCommand_value)
proto.RegisterType((*Indication)(nil), "openolt.Indication")
proto.RegisterType((*AlarmIndication)(nil), "openolt.AlarmIndication")
proto.RegisterType((*OltIndication)(nil), "openolt.OltIndication")
@@ -3156,6 +4174,7 @@
proto.RegisterType((*Interface)(nil), "openolt.Interface")
proto.RegisterType((*Heartbeat)(nil), "openolt.Heartbeat")
proto.RegisterType((*Onu)(nil), "openolt.Onu")
+ proto.RegisterType((*OnuLogicalDistance)(nil), "openolt.OnuLogicalDistance")
proto.RegisterType((*OmciMsg)(nil), "openolt.OmciMsg")
proto.RegisterType((*OnuPacket)(nil), "openolt.OnuPacket")
proto.RegisterType((*UplinkPacket)(nil), "openolt.UplinkPacket")
@@ -3180,211 +4199,291 @@
proto.RegisterType((*OnuTransmissionInterferenceWarning)(nil), "openolt.OnuTransmissionInterferenceWarning")
proto.RegisterType((*OnuActivationFailureIndication)(nil), "openolt.OnuActivationFailureIndication")
proto.RegisterType((*OnuLossOfKeySyncFailureIndication)(nil), "openolt.OnuLossOfKeySyncFailureIndication")
+ proto.RegisterType((*RdiErrorIndication)(nil), "openolt.RdiErrorIndication")
proto.RegisterType((*OnuItuPonStatsIndication)(nil), "openolt.OnuItuPonStatsIndication")
proto.RegisterType((*OnuProcessingErrorIndication)(nil), "openolt.OnuProcessingErrorIndication")
+ proto.RegisterType((*OnuDeactivationFailureIndication)(nil), "openolt.OnuDeactivationFailureIndication")
+ proto.RegisterType((*OnuRemoteDefectIndication)(nil), "openolt.OnuRemoteDefectIndication")
+ proto.RegisterType((*OnuLossOfGEMChannelDelineationIndication)(nil), "openolt.OnuLossOfGEMChannelDelineationIndication")
+ proto.RegisterType((*OnuPhysicalEquipmentErrorIndication)(nil), "openolt.OnuPhysicalEquipmentErrorIndication")
+ proto.RegisterType((*OnuLossOfAcknowledgementIndication)(nil), "openolt.OnuLossOfAcknowledgementIndication")
+ proto.RegisterType((*OnuDifferentialReachExceededIndication)(nil), "openolt.OnuDifferentialReachExceededIndication")
+ proto.RegisterType((*GroupMember)(nil), "openolt.GroupMember")
+ proto.RegisterType((*Group)(nil), "openolt.Group")
+ proto.RegisterType((*ValueParam)(nil), "openolt.ValueParam")
proto.RegisterType((*Empty)(nil), "openolt.Empty")
}
func init() { proto.RegisterFile("voltha_protos/openolt.proto", fileDescriptor_c072e7aa0dfd74d5) }
var fileDescriptor_c072e7aa0dfd74d5 = []byte{
- // 3127 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xdd, 0x72, 0x1c, 0x47,
- 0xf5, 0xf7, 0x4a, 0xab, 0x9d, 0xdd, 0xb3, 0x1f, 0x92, 0x5b, 0xd6, 0xb7, 0x62, 0x2b, 0xf3, 0xf7,
- 0x3f, 0x31, 0xa1, 0x62, 0xc5, 0x4e, 0x0a, 0x48, 0xa0, 0x20, 0xb2, 0x24, 0x47, 0x4b, 0x2c, 0xaf,
- 0x18, 0xc9, 0x31, 0x84, 0xa2, 0x26, 0xa3, 0x99, 0xde, 0x55, 0x97, 0x66, 0xa7, 0x27, 0xd3, 0xbd,
- 0xfa, 0x28, 0xee, 0x02, 0xbc, 0x00, 0x29, 0x2e, 0xa0, 0x8a, 0x2b, 0x5e, 0x82, 0x2a, 0x2e, 0x73,
- 0x4b, 0x71, 0xc3, 0x2b, 0x70, 0xc3, 0x3b, 0x70, 0x41, 0xf5, 0xe9, 0x9e, 0xd9, 0x99, 0x5d, 0x49,
- 0xb6, 0x8c, 0x29, 0x6e, 0x54, 0xd3, 0xe7, 0xfc, 0xce, 0xef, 0xf4, 0xe9, 0x3e, 0x7d, 0xfa, 0x63,
- 0x05, 0x2b, 0x27, 0x3c, 0x94, 0x47, 0x9e, 0x1b, 0x27, 0x5c, 0x72, 0xb1, 0xce, 0x63, 0x1a, 0xf1,
- 0x50, 0xde, 0xc7, 0x26, 0xb1, 0x4c, 0x73, 0x79, 0xb5, 0xc7, 0x79, 0x2f, 0xa4, 0xeb, 0x5e, 0xcc,
- 0xd6, 0xbd, 0x28, 0xe2, 0xd2, 0x93, 0x8c, 0x47, 0x42, 0xc3, 0x96, 0xd7, 0x8a, 0x1c, 0x92, 0xfa,
- 0x47, 0xea, 0xbb, 0xcb, 0x42, 0xaa, 0x11, 0xf6, 0x5f, 0xcb, 0x00, 0xed, 0x28, 0x60, 0x3e, 0xda,
- 0x91, 0x07, 0x60, 0xf1, 0x50, 0xba, 0x2c, 0x0a, 0x16, 0x4b, 0x6b, 0xa5, 0x7b, 0xf5, 0x87, 0xf3,
- 0xf7, 0x53, 0xc7, 0x9d, 0x50, 0x0e, 0x81, 0x3b, 0x37, 0x9c, 0x0a, 0x47, 0x01, 0xf9, 0x00, 0xaa,
- 0x2c, 0x92, 0x5d, 0xb4, 0x99, 0x40, 0x9b, 0x85, 0xcc, 0xa6, 0x1d, 0xc9, 0x6e, 0xc1, 0xc8, 0x62,
- 0x5a, 0x42, 0x36, 0xa0, 0x89, 0x56, 0x3c, 0xa6, 0x09, 0x9a, 0x4e, 0xa2, 0xe9, 0x4a, 0xc1, 0xb4,
- 0x13, 0xd3, 0xa4, 0x60, 0x5e, 0x67, 0x43, 0x29, 0xf9, 0x21, 0x34, 0x78, 0x34, 0x70, 0x03, 0x26,
- 0x7c, 0x64, 0x28, 0x23, 0xc3, 0xf2, 0xb0, 0xc3, 0xd1, 0x60, 0x8b, 0x09, 0xbf, 0x40, 0x00, 0x3c,
- 0x13, 0x62, 0xac, 0xd1, 0x00, 0x4d, 0xa7, 0x46, 0x63, 0x8d, 0x06, 0x23, 0xb1, 0xa2, 0x40, 0xc5,
- 0xca, 0xfb, 0x3e, 0x43, 0x9b, 0xca, 0x48, 0xac, 0x9d, 0xbe, 0xcf, 0x8a, 0xb1, 0x72, 0x2d, 0x21,
- 0x1f, 0x80, 0x15, 0x1f, 0xeb, 0x41, 0xb5, 0xd0, 0x68, 0x29, 0x33, 0xda, 0xf3, 0xfc, 0x63, 0x3a,
- 0x32, 0xae, 0xf1, 0x31, 0x8e, 0xeb, 0xf7, 0x00, 0x62, 0x9e, 0x48, 0x57, 0x48, 0x4f, 0x8a, 0xc5,
- 0xea, 0x88, 0xb7, 0x3d, 0x9e, 0xc8, 0x7d, 0x35, 0xd9, 0x42, 0x32, 0x5f, 0xec, 0xdc, 0x70, 0x6a,
- 0xb1, 0x91, 0x08, 0x65, 0xd9, 0x0d, 0xf9, 0xa9, 0xb1, 0xac, 0x8d, 0x58, 0x3e, 0x0e, 0xf9, 0x69,
- 0xd1, 0xb2, 0x6b, 0x24, 0x82, 0x7c, 0x17, 0x6a, 0x5e, 0xe8, 0x25, 0x7d, 0xec, 0x2b, 0xa0, 0xe1,
- 0x62, 0x66, 0xb8, 0xa1, 0x34, 0x85, 0xae, 0x56, 0x3d, 0x23, 0x7a, 0x54, 0x81, 0x72, 0xe0, 0x49,
- 0xcf, 0xfe, 0x67, 0x15, 0xa6, 0x47, 0x70, 0x6a, 0x9c, 0x43, 0x2e, 0x2e, 0xcc, 0xa9, 0x27, 0x5c,
- 0x14, 0x63, 0x0f, 0x51, 0x40, 0xb6, 0xa0, 0x15, 0x9c, 0xb3, 0xa8, 0xe7, 0xf6, 0x3c, 0x11, 0xe7,
- 0x32, 0x6b, 0x35, 0xb3, 0xdc, 0x52, 0xea, 0x4f, 0x3c, 0x11, 0x17, 0xec, 0x1b, 0x41, 0x4e, 0xac,
- 0x72, 0x4c, 0x4d, 0xf0, 0x30, 0xa2, 0xd1, 0x1c, 0xeb, 0x44, 0x83, 0xf1, 0xa0, 0xea, 0x7c, 0x28,
- 0x25, 0xcf, 0xe1, 0x96, 0xa2, 0x10, 0xd2, 0x4b, 0xe4, 0x20, 0x76, 0xbb, 0x1e, 0x0b, 0x73, 0xb9,
- 0x76, 0x37, 0xcf, 0xb4, 0xaf, 0x31, 0x8f, 0x3d, 0x16, 0x0e, 0x12, 0x5a, 0xa0, 0xbc, 0xc9, 0x0b,
- 0x6a, 0x45, 0xfc, 0x39, 0xcc, 0x23, 0x31, 0xeb, 0x45, 0x5e, 0xe8, 0x06, 0xb4, 0x97, 0x78, 0x01,
- 0xcd, 0xe5, 0xe2, 0xff, 0x15, 0xa8, 0x11, 0xb5, 0xa5, 0x41, 0x05, 0xe6, 0x59, 0x3e, 0xae, 0x25,
- 0x3f, 0x87, 0x05, 0x5c, 0x18, 0x09, 0xeb, 0x4a, 0x97, 0x77, 0xdd, 0x53, 0x16, 0x05, 0xfc, 0x34,
- 0x97, 0xb4, 0x05, 0xf2, 0x2d, 0x05, 0xeb, 0x74, 0x9f, 0x23, 0x68, 0x8c, 0x7c, 0x54, 0x4b, 0x0e,
- 0x40, 0x45, 0xe3, 0x86, 0x5c, 0x08, 0x37, 0x5b, 0x0b, 0x3a, 0xad, 0xdf, 0xce, 0xd3, 0x3e, 0xe1,
- 0x42, 0x74, 0xba, 0x6a, 0x51, 0x6c, 0x1e, 0x79, 0x51, 0x44, 0xc3, 0x02, 0x75, 0x8b, 0x1b, 0x84,
- 0x59, 0x22, 0xe9, 0x38, 0x63, 0x28, 0x62, 0x38, 0xce, 0xd5, 0x0b, 0xc6, 0x59, 0x63, 0x2e, 0x1d,
- 0xe7, 0xa1, 0x5a, 0x11, 0x77, 0x74, 0x91, 0x90, 0xec, 0x54, 0xf7, 0x54, 0xaf, 0x86, 0x6f, 0xe7,
- 0x09, 0x0f, 0x12, 0x2f, 0x12, 0x7d, 0x26, 0x04, 0xe3, 0x51, 0x3b, 0x92, 0x34, 0xe9, 0xd2, 0x84,
- 0x46, 0x3e, 0x7d, 0xee, 0x25, 0x11, 0x8b, 0x7a, 0xa6, 0x6a, 0x1c, 0xb0, 0x53, 0xec, 0xe9, 0x17,
- 0x7a, 0x70, 0x3d, 0x5f, 0xb2, 0x13, 0xf4, 0x3b, 0xec, 0x2c, 0x8c, 0x8f, 0xc2, 0x46, 0x06, 0xbb,
- 0xa8, 0xbf, 0x2a, 0xe6, 0x22, 0x42, 0x7b, 0x58, 0x54, 0x1e, 0xe2, 0x84, 0xfb, 0x54, 0x08, 0xb5,
- 0x0a, 0x68, 0x92, 0x70, 0x5d, 0x25, 0xeb, 0xe8, 0xe2, 0xff, 0xf3, 0x2e, 0xf6, 0x32, 0xdc, 0xb6,
- 0x82, 0x15, 0x1c, 0xcc, 0xf1, 0x8b, 0xf4, 0x84, 0xc2, 0xd2, 0x70, 0x0e, 0xbb, 0xae, 0x38, 0x8f,
- 0xfc, 0x61, 0x14, 0x0d, 0x74, 0xf1, 0xce, 0xf8, 0x5c, 0x7e, 0x4a, 0xcf, 0xf7, 0xcf, 0x23, 0xff,
- 0xb2, 0x40, 0x34, 0x28, 0x45, 0x28, 0x37, 0xcf, 0x60, 0x0e, 0x0b, 0xac, 0x1c, 0xb8, 0x31, 0x8f,
- 0x74, 0x39, 0x42, 0x17, 0x4d, 0x74, 0xf1, 0x66, 0xa1, 0xdc, 0xca, 0xc1, 0x1e, 0x8f, 0xb0, 0x0a,
- 0x8d, 0x4d, 0x69, 0x51, 0x97, 0xd5, 0x9a, 0xfb, 0xd0, 0x2c, 0xec, 0x49, 0xe4, 0x0d, 0x00, 0xdc,
- 0x4e, 0x94, 0x23, 0x8a, 0xb5, 0xa6, 0xe6, 0xd4, 0x94, 0x44, 0x99, 0x52, 0x7b, 0x07, 0x5a, 0xc5,
- 0xfd, 0x88, 0x2c, 0x80, 0xa5, 0xb7, 0x2e, 0x5d, 0x99, 0x2c, 0xa7, 0x82, 0xdb, 0x53, 0x30, 0xc2,
- 0x34, 0x31, 0xca, 0x74, 0x04, 0x37, 0xc7, 0x36, 0x97, 0xcb, 0xc9, 0x3e, 0x82, 0xa6, 0xa0, 0x09,
- 0xf3, 0x42, 0x37, 0x1a, 0xf4, 0x0f, 0x69, 0x62, 0x6a, 0xd9, 0x5c, 0x16, 0xfe, 0x3e, 0x6a, 0x9f,
- 0xa2, 0xd2, 0x69, 0x88, 0x5c, 0xcb, 0xfe, 0x4b, 0x09, 0x9a, 0x85, 0xcd, 0xe8, 0x72, 0x37, 0x73,
- 0x50, 0xc1, 0xd1, 0xd6, 0xb5, 0xd2, 0x72, 0xa6, 0xd4, 0xc8, 0x8d, 0x86, 0x32, 0x39, 0x12, 0x0a,
- 0xb9, 0x03, 0x75, 0x2f, 0xe8, 0xb3, 0xc8, 0xe8, 0xa7, 0x50, 0x0f, 0x28, 0xd2, 0x80, 0xb1, 0xde,
- 0x97, 0x5f, 0xbe, 0xf7, 0x5f, 0x00, 0x19, 0xdf, 0xc6, 0x09, 0x81, 0xb2, 0x3c, 0x8f, 0xd3, 0x09,
- 0xc2, 0xef, 0x7c, 0x54, 0x13, 0x57, 0xcc, 0xc4, 0x68, 0xf7, 0x6d, 0x07, 0x5a, 0xc5, 0x7d, 0xf7,
- 0xda, 0xe3, 0x33, 0x03, 0x93, 0xf1, 0xb1, 0x44, 0xe6, 0x86, 0xa3, 0x3e, 0xed, 0x6f, 0x4a, 0x30,
- 0x33, 0xba, 0x2f, 0x93, 0x15, 0xa8, 0x21, 0x2d, 0xf6, 0x5c, 0x8f, 0x12, 0x1e, 0x7b, 0x0e, 0x46,
- 0x7a, 0x3f, 0x96, 0x47, 0x3d, 0xda, 0xc7, 0x6d, 0x3c, 0xf3, 0x5b, 0x33, 0x92, 0x76, 0xa0, 0xec,
- 0x70, 0xa3, 0x66, 0x7a, 0x6b, 0xb2, 0x9c, 0x8a, 0x6a, 0x6a, 0x05, 0x1a, 0x45, 0x1c, 0x2b, 0xb6,
- 0xe5, 0x54, 0x54, 0xf3, 0x29, 0x27, 0xf3, 0x50, 0xf1, 0x39, 0x3f, 0x66, 0x14, 0x4b, 0x6e, 0xc5,
- 0x31, 0xad, 0x34, 0x8a, 0xf2, 0x30, 0x8a, 0xbb, 0x50, 0xd3, 0xc5, 0xcc, 0xf3, 0x2f, 0xef, 0xa0,
- 0xfd, 0x03, 0xa8, 0xed, 0x50, 0x2f, 0x91, 0x87, 0xd4, 0x93, 0x64, 0x1d, 0x66, 0x8f, 0xd2, 0x86,
- 0x2e, 0xc5, 0x72, 0x90, 0x50, 0x63, 0x41, 0x32, 0xd5, 0x7e, 0xaa, 0xb1, 0x7f, 0x55, 0x82, 0xc9,
- 0x4e, 0x34, 0xb8, 0xf6, 0x98, 0x8f, 0xe5, 0xd4, 0xe4, 0x4b, 0xe7, 0x14, 0x46, 0xca, 0x74, 0x16,
- 0x5a, 0x8e, 0xfa, 0xb4, 0x3f, 0x05, 0x4b, 0xe5, 0xc0, 0xae, 0xe8, 0xbd, 0x86, 0xc9, 0xff, 0x4d,
- 0x09, 0x6a, 0xaa, 0xa8, 0xe2, 0xfc, 0x5f, 0x9b, 0x2f, 0x37, 0x6f, 0xe5, 0xc2, 0xbc, 0x15, 0x13,
- 0x61, 0x6a, 0x34, 0x11, 0xc6, 0xfb, 0xf1, 0x21, 0x34, 0x9e, 0xc5, 0x21, 0x8b, 0x8e, 0x5f, 0xd4,
- 0x13, 0x63, 0x3a, 0x31, 0x34, 0xfd, 0x6d, 0x0d, 0x60, 0x8b, 0x9e, 0x30, 0x9f, 0xb6, 0xa3, 0x2e,
- 0xa6, 0xcc, 0x09, 0x8d, 0x02, 0x9e, 0x98, 0x05, 0x67, 0x5a, 0xe4, 0x16, 0x4c, 0xf5, 0x79, 0x40,
- 0x43, 0x53, 0xde, 0x74, 0x83, 0x7c, 0x0b, 0x66, 0x8e, 0xbc, 0x24, 0x38, 0xf5, 0x12, 0xea, 0x9e,
- 0xd0, 0x44, 0xed, 0x89, 0x66, 0xd5, 0x4d, 0xa7, 0xf2, 0xcf, 0xb4, 0x58, 0x41, 0xbb, 0x2c, 0xe9,
- 0x17, 0xa0, 0x65, 0x0d, 0x4d, 0xe5, 0x29, 0x74, 0x05, 0x6a, 0x01, 0xf6, 0x48, 0xf5, 0x7f, 0x46,
- 0xaf, 0x1e, 0x2d, 0x68, 0x07, 0xe4, 0x3d, 0xb8, 0x65, 0x94, 0xc5, 0xa4, 0xb8, 0x89, 0x38, 0xa2,
- 0x75, 0xf9, 0x8c, 0x50, 0x74, 0x6a, 0x43, 0x51, 0x83, 0x27, 0x70, 0xbf, 0xb2, 0x9c, 0x6a, 0xcc,
- 0x23, 0x75, 0x26, 0x16, 0xe4, 0x36, 0x80, 0xba, 0xe7, 0x44, 0x3c, 0xe4, 0xbd, 0xf3, 0xb4, 0xa0,
- 0x0d, 0x25, 0x64, 0x4d, 0x9f, 0x08, 0x58, 0xa0, 0x4f, 0x75, 0x66, 0x81, 0x01, 0x4e, 0x20, 0x1e,
- 0xd2, 0xc8, 0x2a, 0x80, 0x41, 0x50, 0x73, 0xb6, 0xb1, 0x9c, 0x2a, 0xea, 0xb7, 0xa3, 0x80, 0xdc,
- 0x85, 0x96, 0x17, 0x86, 0xdc, 0x1f, 0x32, 0x54, 0x11, 0xd1, 0x40, 0x69, 0xca, 0xb1, 0x06, 0x8d,
- 0x0c, 0x45, 0xcd, 0xb9, 0xc3, 0x72, 0xc0, 0x60, 0x14, 0xcf, 0x3d, 0x98, 0x19, 0xa6, 0x84, 0x61,
- 0x02, 0x44, 0xb5, 0xb2, 0xc4, 0xd0, 0x5c, 0x77, 0xa1, 0x95, 0x43, 0x52, 0x73, 0x0c, 0xb0, 0x9c,
- 0x46, 0x86, 0x53, 0x7c, 0x36, 0x34, 0x4d, 0x31, 0x31, 0x64, 0x4d, 0x04, 0xd5, 0x75, 0x49, 0xd1,
- 0x4c, 0xb7, 0xa1, 0x9e, 0x62, 0x14, 0x4d, 0x4b, 0xe7, 0xa1, 0x46, 0x28, 0x8e, 0x8f, 0xa1, 0x92,
- 0x78, 0x51, 0x8f, 0x8a, 0xc5, 0xe9, 0xb5, 0xc9, 0x7b, 0xf5, 0x87, 0xf7, 0x86, 0xe7, 0xed, 0x2c,
- 0xa1, 0xcc, 0xa7, 0x43, 0x05, 0x1f, 0x24, 0x3e, 0x75, 0x10, 0xef, 0x18, 0xbb, 0xe5, 0xdf, 0x95,
- 0xe1, 0xd6, 0x45, 0x00, 0xb2, 0x94, 0x5e, 0x13, 0x03, 0xb1, 0x58, 0x5a, 0x9b, 0xbc, 0x67, 0x99,
- 0xbb, 0x60, 0x30, 0x3a, 0x63, 0x13, 0x63, 0x33, 0xb6, 0x09, 0x53, 0x31, 0xe7, 0xa1, 0x58, 0x9c,
- 0xc4, 0x4e, 0xbd, 0xfb, 0xb2, 0x9d, 0xba, 0xbf, 0xc7, 0x79, 0xe8, 0x68, 0xdb, 0xe5, 0x7f, 0x4d,
- 0x40, 0x59, 0xb5, 0xc9, 0x8f, 0x73, 0xdb, 0x4f, 0xeb, 0xe1, 0x77, 0xae, 0x45, 0x86, 0x7f, 0x54,
- 0xc9, 0x37, 0xdb, 0xd6, 0x3e, 0x58, 0xe2, 0xc8, 0x4b, 0x58, 0xd4, 0xc3, 0x6e, 0xb7, 0x1e, 0x7e,
- 0x78, 0x3d, 0xba, 0x7d, 0x6d, 0x8c, 0x8c, 0x29, 0x93, 0x5a, 0x98, 0x7a, 0x02, 0xf5, 0x9e, 0xa0,
- 0x1b, 0x6a, 0x9d, 0x53, 0x73, 0xf1, 0xb0, 0x1c, 0xf5, 0x69, 0x6f, 0x40, 0x35, 0xed, 0x0e, 0x01,
- 0xa8, 0x74, 0x9e, 0x3e, 0x73, 0xdb, 0x5b, 0x33, 0x37, 0x48, 0x03, 0xaa, 0x1b, 0x4f, 0x9e, 0x74,
- 0x36, 0x55, 0xab, 0x44, 0x5a, 0x00, 0x9f, 0x6c, 0xef, 0xee, 0x75, 0x9c, 0x03, 0xd5, 0x9e, 0x20,
- 0x75, 0xb0, 0x1e, 0x3f, 0xe9, 0x3c, 0x57, 0x8d, 0x49, 0xfb, 0x08, 0xea, 0xb9, 0x2e, 0x90, 0x79,
- 0x20, 0x5b, 0xdb, 0x5b, 0xed, 0xcd, 0x8d, 0x83, 0xed, 0x2d, 0x77, 0x6f, 0xdb, 0x71, 0xdb, 0x4f,
- 0x0f, 0x1e, 0xcf, 0xdc, 0x20, 0x77, 0x60, 0x65, 0x7f, 0x67, 0xc3, 0xd9, 0xde, 0x72, 0x1f, 0xfd,
- 0xcc, 0xdd, 0x78, 0xf2, 0x04, 0xe5, 0xf8, 0x71, 0xb0, 0xbd, 0xb9, 0x33, 0x53, 0x22, 0x6b, 0xb0,
- 0x7a, 0x01, 0x60, 0x7f, 0x63, 0x77, 0x5b, 0x23, 0x26, 0xec, 0x5f, 0x4f, 0x02, 0x6c, 0x86, 0x9e,
- 0x10, 0xac, 0xcb, 0x68, 0x82, 0xf5, 0xd3, 0x95, 0x71, 0x56, 0xcd, 0xa6, 0xf8, 0x41, 0xcc, 0x02,
- 0x32, 0x0b, 0x53, 0xdc, 0x3d, 0xc9, 0xaa, 0x6a, 0x99, 0x7f, 0xc6, 0xb0, 0xd6, 0x32, 0x8d, 0x35,
- 0x03, 0xc2, 0x52, 0x2c, 0x43, 0xac, 0x1e, 0x92, 0x32, 0x53, 0xd8, 0x05, 0xb0, 0xb8, 0x1b, 0x1f,
- 0x32, 0x29, 0x4c, 0x91, 0xad, 0xf0, 0x3d, 0xd5, 0xc2, 0xfa, 0x69, 0x14, 0x66, 0x47, 0x65, 0x5a,
- 0xb1, 0x04, 0x55, 0x2a, 0x8f, 0xf4, 0xbe, 0xae, 0x97, 0xba, 0x45, 0xe5, 0x51, 0xba, 0xad, 0x07,
- 0x42, 0xba, 0x7d, 0xcf, 0xc7, 0x25, 0xde, 0x70, 0x2a, 0x81, 0x90, 0xbb, 0x9e, 0xaf, 0x14, 0x22,
- 0xf1, 0x51, 0x51, 0xd3, 0x0a, 0x91, 0xf8, 0x4a, 0xa1, 0x92, 0x3c, 0xd6, 0xaf, 0x2d, 0x66, 0x2d,
- 0x5b, 0x2c, 0xde, 0xc3, 0x17, 0x9b, 0x39, 0x50, 0xd6, 0x2e, 0x8b, 0xcd, 0xe2, 0x9d, 0x0a, 0x84,
- 0x6c, 0xc7, 0x4a, 0xac, 0xa8, 0x58, 0x6c, 0xea, 0xd8, 0x94, 0x48, 0xfc, 0x76, 0xac, 0x88, 0x94,
- 0x58, 0xad, 0x6e, 0xb3, 0x8e, 0x95, 0x47, 0x55, 0xe0, 0x94, 0x4a, 0x11, 0xa1, 0x4a, 0x2f, 0x60,
- 0xd5, 0x4b, 0x54, 0xad, 0x41, 0x23, 0x3e, 0x96, 0xae, 0xf4, 0x7a, 0x3a, 0x9e, 0x69, 0xbd, 0x94,
- 0xe2, 0x63, 0x79, 0xe0, 0xe1, 0x0c, 0xdb, 0xbf, 0x84, 0x9a, 0xba, 0x70, 0xf0, 0x68, 0xb3, 0x8f,
- 0x15, 0xc3, 0x0b, 0x02, 0x97, 0x0f, 0x24, 0x4d, 0x94, 0x11, 0xce, 0x45, 0xd5, 0xa9, 0x7b, 0x41,
- 0xd0, 0x51, 0xb2, 0x03, 0xaf, 0xa7, 0xaa, 0x54, 0x42, 0xfb, 0xfc, 0x84, 0xe6, 0x60, 0x13, 0x08,
- 0x6b, 0x69, 0x79, 0x86, 0x5c, 0x83, 0x86, 0x4c, 0xbc, 0xd8, 0x95, 0xdc, 0x3d, 0xe2, 0x42, 0x67,
- 0x6f, 0xd5, 0x01, 0x25, 0x3b, 0xe0, 0x3b, 0x5c, 0x48, 0xfb, 0xcf, 0x25, 0xa8, 0x68, 0xef, 0xe4,
- 0x2e, 0x4c, 0xfa, 0xfd, 0xf4, 0x3d, 0x80, 0x0c, 0x9f, 0x18, 0xd2, 0xbe, 0x39, 0x4a, 0x7d, 0x71,
- 0x3a, 0xe4, 0xa6, 0x78, 0xb2, 0x30, 0xc5, 0xc3, 0x9c, 0x2a, 0x8f, 0xe4, 0x94, 0xce, 0x93, 0xa9,
- 0x62, 0x9e, 0x5c, 0x9c, 0x0e, 0xc3, 0x64, 0xb3, 0x72, 0xc9, 0x66, 0xff, 0x71, 0x12, 0xca, 0x8f,
- 0x43, 0x7e, 0x8a, 0xd5, 0xdf, 0x57, 0xf7, 0x29, 0x37, 0xbf, 0x1d, 0x4f, 0x3b, 0x0d, 0x2d, 0x6d,
- 0x5f, 0x74, 0x3c, 0x98, 0x4e, 0x8f, 0x07, 0x73, 0x50, 0x19, 0x44, 0x4c, 0x89, 0xeb, 0x5a, 0x3c,
- 0x88, 0xd8, 0x55, 0xc7, 0xc0, 0x15, 0xc0, 0xda, 0xac, 0x27, 0x53, 0x6f, 0xad, 0x55, 0x25, 0xc0,
- 0xec, 0x5c, 0x82, 0x6a, 0xba, 0xc3, 0x60, 0xae, 0x4d, 0x3b, 0x96, 0xd9, 0x5d, 0xc8, 0x5b, 0x30,
- 0x1d, 0x51, 0x79, 0xca, 0x93, 0xe3, 0xac, 0x97, 0x53, 0x88, 0x68, 0x1a, 0x71, 0xfb, 0xa2, 0xe3,
- 0x69, 0x05, 0x21, 0xb9, 0x53, 0xc9, 0xfb, 0x00, 0x7e, 0xb6, 0x64, 0xcd, 0x1d, 0x7f, 0x36, 0x9b,
- 0xab, 0xe1, 0x6a, 0x76, 0x72, 0x30, 0xf2, 0x36, 0x54, 0x3c, 0x9c, 0x45, 0x73, 0x77, 0x9f, 0x1e,
- 0x99, 0x5c, 0xc7, 0xa8, 0xc9, 0x32, 0x54, 0xe3, 0x84, 0xf1, 0x84, 0xc9, 0x73, 0x5c, 0x45, 0xd3,
- 0x4e, 0xd6, 0xce, 0x1d, 0x73, 0x1b, 0x85, 0x63, 0x6e, 0xee, 0x7c, 0xd5, 0xcc, 0x9f, 0xaf, 0xec,
- 0x03, 0x68, 0x8c, 0x9e, 0x10, 0xf4, 0x31, 0x27, 0x9d, 0xa1, 0x86, 0x53, 0xd5, 0x82, 0x76, 0x40,
- 0xde, 0x86, 0x69, 0xa3, 0x14, 0x31, 0xf5, 0x59, 0x97, 0xf9, 0xe6, 0xf8, 0xd4, 0xd2, 0xe2, 0x7d,
- 0x23, 0xb5, 0xff, 0x56, 0x86, 0x56, 0xf1, 0xa1, 0xed, 0xf2, 0x73, 0xd8, 0x12, 0x54, 0x93, 0x33,
- 0xf7, 0xf0, 0x5c, 0x52, 0x81, 0x6c, 0x15, 0xc7, 0x4a, 0xce, 0x1e, 0xa9, 0xa6, 0x1a, 0xe6, 0xe4,
- 0xcc, 0x8d, 0xf1, 0x20, 0xa7, 0x93, 0xb6, 0xe2, 0xd4, 0x92, 0x33, 0x7d, 0xb2, 0x13, 0xb8, 0xc4,
- 0xce, 0xdc, 0x81, 0xef, 0xa9, 0x55, 0x6d, 0x40, 0x65, 0x04, 0xb5, 0x92, 0xb3, 0x67, 0x4a, 0x5c,
- 0x44, 0xf6, 0x0b, 0xc8, 0xa9, 0x14, 0xb9, 0x3b, 0x8e, 0x3c, 0x2c, 0x20, 0x2b, 0x29, 0xf2, 0xd1,
- 0x38, 0x52, 0xbf, 0x30, 0xa4, 0x48, 0x2b, 0x45, 0xe2, 0x8b, 0x41, 0x8a, 0x5c, 0x82, 0xaa, 0x4c,
- 0x23, 0xac, 0xea, 0x08, 0xe5, 0x30, 0x42, 0x39, 0x8c, 0xb0, 0xa6, 0x23, 0x94, 0xf9, 0x08, 0xe5,
- 0x68, 0x84, 0xa0, 0x7d, 0xc8, 0xb1, 0x08, 0xe5, 0x68, 0x84, 0xf5, 0x14, 0xb9, 0x3b, 0x8e, 0x2c,
- 0x46, 0xd8, 0x48, 0x91, 0x8f, 0xc6, 0x91, 0xc5, 0x08, 0x9b, 0x29, 0xb2, 0x10, 0xa1, 0x0d, 0xcd,
- 0xe4, 0xcc, 0xf5, 0x13, 0x5f, 0xa3, 0x05, 0xd6, 0xd7, 0x8a, 0x53, 0x4f, 0xce, 0x36, 0x13, 0x1f,
- 0x91, 0x18, 0xea, 0x21, 0x8b, 0x53, 0xc0, 0xb4, 0x0e, 0xf5, 0x90, 0xc5, 0x46, 0xbd, 0x0a, 0x35,
- 0xc9, 0xfa, 0x54, 0x48, 0xaf, 0x1f, 0xe3, 0x49, 0xd7, 0x72, 0x86, 0x02, 0x75, 0x9d, 0x6f, 0x15,
- 0xdf, 0x5f, 0xf3, 0x8b, 0xbf, 0x54, 0x58, 0xfc, 0xaf, 0x9e, 0x50, 0xaf, 0x3e, 0x51, 0x57, 0xf7,
- 0xfe, 0x63, 0x68, 0x16, 0x1e, 0x6c, 0x2f, 0x5f, 0x0c, 0xf3, 0x50, 0x51, 0x17, 0xf6, 0x81, 0x30,
- 0xa7, 0x39, 0xd3, 0xb2, 0x7f, 0x01, 0xb3, 0x17, 0x3c, 0xdc, 0x5e, 0xfb, 0x9a, 0x35, 0xa4, 0x9f,
- 0x2c, 0xd0, 0xff, 0x69, 0x02, 0xc8, 0xf8, 0x9b, 0xee, 0xab, 0x3c, 0x99, 0x84, 0x5c, 0xb8, 0x05,
- 0x17, 0xb5, 0x90, 0x8b, 0x7d, 0x14, 0x68, 0xf5, 0x61, 0xaa, 0x2e, 0xa7, 0xea, 0x43, 0xa3, 0xbe,
- 0x07, 0x33, 0x21, 0x8f, 0x7d, 0xb7, 0xcf, 0x44, 0xc6, 0xa1, 0x6f, 0x21, 0x2d, 0x25, 0xdf, 0x65,
- 0x22, 0x25, 0x7a, 0x00, 0x73, 0x06, 0x69, 0x12, 0x2e, 0x85, 0x57, 0xf4, 0xcd, 0x47, 0xc3, 0x75,
- 0xe2, 0x19, 0x93, 0x3b, 0x50, 0x0f, 0x79, 0x97, 0xa5, 0x40, 0x4b, 0x6f, 0xf0, 0x4a, 0x64, 0x00,
- 0x6f, 0x42, 0x23, 0xe4, 0x5e, 0x3f, 0x43, 0x54, 0x11, 0x51, 0x47, 0x99, 0x86, 0xd8, 0x14, 0x56,
- 0xae, 0x78, 0xae, 0x7e, 0x6d, 0x93, 0xf1, 0xfb, 0x12, 0x2c, 0x5f, 0xfe, 0x76, 0xfd, 0xba, 0xdc,
- 0x90, 0xf7, 0x61, 0x9e, 0x45, 0xea, 0xfa, 0x49, 0xdd, 0x43, 0x26, 0xcd, 0x38, 0x26, 0x9e, 0xa4,
- 0xe6, 0x14, 0x30, 0x6b, 0xb4, 0x8f, 0x98, 0xc4, 0x81, 0x74, 0x3c, 0x49, 0xed, 0xaf, 0x75, 0xdf,
- 0x2e, 0x79, 0xfa, 0x7e, 0x6d, 0x7d, 0xbb, 0x05, 0x53, 0xf8, 0x08, 0x9f, 0x1e, 0x48, 0xb0, 0xa1,
- 0xd8, 0x23, 0x7a, 0xea, 0xd2, 0x2f, 0xd3, 0x23, 0x49, 0x25, 0xa2, 0xa7, 0xdb, 0x5f, 0x06, 0xf6,
- 0x11, 0xdc, 0xbe, 0xfa, 0xe1, 0xfc, 0xb5, 0xcd, 0xcd, 0x1f, 0x4a, 0x3a, 0x07, 0x2e, 0x79, 0x4a,
- 0xff, 0xdf, 0x4e, 0xce, 0x57, 0x25, 0xb0, 0x5f, 0xfc, 0x2c, 0xff, 0xdf, 0x9d, 0x24, 0xfb, 0x4b,
- 0x9c, 0x8b, 0x2b, 0x9e, 0xef, 0xaf, 0xed, 0xff, 0x0e, 0xd4, 0xf1, 0x8d, 0x3d, 0xa1, 0x9e, 0x30,
- 0x8f, 0x2a, 0x96, 0x03, 0x4a, 0xe4, 0xa0, 0xc4, 0x3e, 0x86, 0x37, 0x5f, 0xf8, 0xd6, 0xfe, 0xda,
- 0x32, 0x80, 0xc1, 0xe2, 0x65, 0xaf, 0xee, 0xaf, 0x52, 0x2f, 0x93, 0x80, 0xa5, 0x5b, 0xa2, 0x0e,
- 0xac, 0x96, 0x04, 0x4c, 0x6f, 0x89, 0xf6, 0x53, 0x58, 0xbd, 0xea, 0x67, 0x8a, 0xeb, 0xba, 0xb3,
- 0x2d, 0x98, 0xda, 0xee, 0xc7, 0xf2, 0xfc, 0xe1, 0x37, 0x4d, 0xb0, 0x3a, 0xfa, 0x70, 0x49, 0xb6,
- 0x00, 0xb6, 0x98, 0xf0, 0x0e, 0x43, 0xda, 0x09, 0x25, 0x69, 0x65, 0x87, 0x4e, 0x44, 0x2e, 0x8f,
- 0xb4, 0xed, 0xf9, 0xaf, 0xfe, 0xfe, 0x8f, 0xaf, 0x27, 0x66, 0xec, 0xfa, 0xfa, 0xc9, 0x83, 0x75,
- 0x63, 0xf7, 0x51, 0xe9, 0x1d, 0xf2, 0x18, 0xea, 0x0e, 0xa5, 0xd1, 0xcb, 0xd2, 0x2c, 0x20, 0xcd,
- 0x4d, 0xbb, 0xa1, 0x68, 0x52, 0x43, 0xc5, 0xb3, 0x0d, 0x75, 0x93, 0x3a, 0xb4, 0x13, 0x0d, 0x48,
- 0x23, 0xff, 0x4b, 0xc7, 0x18, 0xcb, 0x22, 0xb2, 0x10, 0xbb, 0xa9, 0x58, 0xb6, 0xb5, 0xf3, 0x68,
- 0xa0, 0x68, 0x76, 0xa0, 0xb9, 0x45, 0xbd, 0x97, 0x26, 0x5a, 0x42, 0xa2, 0x59, 0xbb, 0x95, 0x8b,
- 0xca, 0x30, 0x6d, 0x42, 0x6d, 0x8b, 0x86, 0xf4, 0xda, 0xdd, 0xc9, 0x8c, 0x14, 0x49, 0x1b, 0xc0,
- 0x3c, 0xb4, 0x76, 0x06, 0x92, 0xcc, 0x14, 0x7e, 0xf9, 0xde, 0x15, 0xbd, 0xab, 0xfb, 0x33, 0xb4,
- 0x54, 0x54, 0x1d, 0x68, 0x64, 0xaf, 0xac, 0x8a, 0x8c, 0x14, 0x7e, 0xd1, 0x42, 0xf1, 0x18, 0xdd,
- 0x0a, 0xd2, 0xcd, 0xd9, 0x33, 0x48, 0x97, 0xb3, 0x56, 0x84, 0x3f, 0x85, 0xe9, 0xfc, 0x7b, 0xa9,
- 0xe2, 0x1c, 0x3e, 0x27, 0xe7, 0x35, 0x63, 0xb4, 0xb7, 0x91, 0x76, 0xd1, 0x9e, 0x55, 0xb4, 0x23,
- 0x1c, 0x8a, 0xf9, 0x63, 0xb0, 0xd4, 0x91, 0x6d, 0x23, 0x08, 0x48, 0xb3, 0xf0, 0x23, 0xfa, 0xd5,
- 0x59, 0x65, 0x6c, 0x74, 0x56, 0x81, 0x6a, 0x39, 0x78, 0x5f, 0x7e, 0x11, 0x49, 0x61, 0xd0, 0x86,
- 0x66, 0x8a, 0x67, 0x1f, 0x5a, 0xd9, 0x63, 0xfd, 0xe6, 0x11, 0xf5, 0x8f, 0xc7, 0x12, 0x74, 0x38,
- 0x8c, 0x19, 0xd0, 0x7e, 0x03, 0x09, 0x17, 0x6c, 0xa2, 0x08, 0x8b, 0xf6, 0x8a, 0x74, 0x17, 0xea,
- 0x3a, 0xe7, 0xf6, 0x78, 0xd4, 0xee, 0xe6, 0x26, 0x22, 0xfb, 0xf5, 0x60, 0xac, 0x8b, 0xcb, 0xc8,
- 0x78, 0xcb, 0x9e, 0x1e, 0x26, 0x2c, 0x1a, 0x9b, 0x89, 0x35, 0x99, 0xf7, 0xf2, 0x7c, 0x85, 0x89,
- 0xcd, 0x5b, 0x2b, 0x42, 0x07, 0x9a, 0x9f, 0x50, 0x99, 0x7b, 0xcf, 0x1e, 0x8d, 0x79, 0xf6, 0x82,
- 0x27, 0x37, 0x7b, 0x15, 0x29, 0xe7, 0xed, 0x9b, 0x8a, 0xb2, 0x60, 0xaf, 0x38, 0x7f, 0x04, 0x15,
- 0x87, 0x1e, 0x72, 0xfe, 0xe2, 0x15, 0x3e, 0x87, 0x3c, 0xd3, 0x36, 0xe8, 0x15, 0xae, 0x6c, 0x14,
- 0xc1, 0x33, 0xb8, 0xb9, 0xc9, 0xc3, 0x90, 0xfa, 0xf9, 0xab, 0xe1, 0x8b, 0xb8, 0xd6, 0x90, 0x6b,
- 0xd9, 0x9e, 0x53, 0x5c, 0x63, 0xe6, 0x8a, 0x36, 0x81, 0x85, 0xcd, 0x84, 0x7a, 0x92, 0x1e, 0x24,
- 0x5e, 0xb7, 0xcb, 0xfc, 0x7d, 0xff, 0x88, 0x06, 0x83, 0x90, 0x26, 0x82, 0xdc, 0xb9, 0x5f, 0xf8,
- 0xe7, 0x9d, 0x31, 0xc0, 0x98, 0xb7, 0xb7, 0xd0, 0xdb, 0x9a, 0xbd, 0x82, 0xde, 0x2e, 0x66, 0x35,
- 0x3e, 0x75, 0x86, 0xbd, 0x6e, 0x9f, 0x97, 0xb0, 0x2a, 0x9f, 0x5d, 0x98, 0x2d, 0xf4, 0xe8, 0x27,
- 0x03, 0x3a, 0xa0, 0x82, 0xac, 0x5c, 0xe8, 0x4f, 0x2b, 0xc7, 0x7c, 0xd9, 0xe8, 0x6b, 0xd5, 0x5e,
- 0x18, 0x8b, 0x4f, 0x1b, 0x18, 0x3f, 0x85, 0x5e, 0xfc, 0xc7, 0x7e, 0x2e, 0x60, 0x53, 0x7e, 0xbe,
- 0x0f, 0x33, 0x7a, 0x19, 0xe4, 0x76, 0xb5, 0xcb, 0xd3, 0x74, 0x08, 0xb2, 0x6f, 0xbc, 0x57, 0x7a,
- 0xf4, 0xe0, 0xf3, 0xf5, 0x1e, 0x93, 0x47, 0x83, 0xc3, 0xfb, 0x3e, 0xef, 0xe3, 0xbf, 0x79, 0xf9,
- 0x3c, 0x09, 0xd6, 0xf5, 0x7f, 0x6e, 0xbd, 0x6b, 0xfe, 0x73, 0xeb, 0xe4, 0xe1, 0x7a, 0x8f, 0xa7,
- 0xff, 0x03, 0xb6, 0x57, 0x3a, 0xac, 0xa0, 0xfc, 0xfd, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3c,
- 0x63, 0xa1, 0x96, 0x25, 0x26, 0x00, 0x00,
+ // 4245 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0xcd, 0x73, 0x23, 0x49,
+ 0x56, 0x6f, 0xd9, 0xb2, 0x24, 0x3f, 0x7d, 0x58, 0x4e, 0xb7, 0xbb, 0xfd, 0xd1, 0xd3, 0xed, 0xa9,
+ 0x69, 0x66, 0x7a, 0x87, 0x19, 0x7b, 0xba, 0x67, 0x63, 0x61, 0x86, 0x05, 0x46, 0xb6, 0xd4, 0xb6,
+ 0x18, 0xdb, 0x12, 0x25, 0x75, 0x37, 0xcc, 0xc6, 0x44, 0x6d, 0xb9, 0x2a, 0x25, 0xd7, 0xba, 0x54,
+ 0x59, 0x53, 0x95, 0xf2, 0x07, 0xc7, 0x0d, 0x16, 0x2e, 0x9c, 0x98, 0x80, 0x08, 0xb8, 0x11, 0x5c,
+ 0xb9, 0x70, 0x23, 0x82, 0x23, 0x57, 0x82, 0x0b, 0xff, 0x00, 0x07, 0x6e, 0xdc, 0x39, 0x11, 0x04,
+ 0x91, 0x2f, 0xb3, 0xbe, 0x24, 0xd9, 0xdd, 0x1e, 0x4c, 0x70, 0x71, 0x28, 0xdf, 0xfb, 0xbd, 0xdf,
+ 0xcb, 0x97, 0xf9, 0x32, 0xeb, 0x65, 0x65, 0x19, 0x36, 0xcf, 0x99, 0xcb, 0x4f, 0x4d, 0xc3, 0x0f,
+ 0x18, 0x67, 0xe1, 0x0e, 0xf3, 0xa9, 0xc7, 0x5c, 0xbe, 0x8d, 0x4d, 0x52, 0x54, 0xcd, 0x8d, 0x47,
+ 0x43, 0xc6, 0x86, 0x2e, 0xdd, 0x31, 0x7d, 0x67, 0xc7, 0xf4, 0x3c, 0xc6, 0x4d, 0xee, 0x30, 0x2f,
+ 0x94, 0xb0, 0x8d, 0xad, 0x2c, 0x07, 0xa7, 0xd6, 0xa9, 0xf8, 0x3d, 0x70, 0x5c, 0xaa, 0x10, 0x1b,
+ 0x59, 0x84, 0xc5, 0x46, 0x23, 0xe6, 0x29, 0xdd, 0xe3, 0xac, 0x8e, 0x5e, 0x72, 0xc3, 0x62, 0xde,
+ 0xc0, 0x19, 0x4a, 0xbd, 0xf6, 0xcf, 0x79, 0x80, 0xb6, 0x67, 0x3b, 0x16, 0xfa, 0x24, 0xcf, 0xa1,
+ 0xc8, 0x5c, 0x6e, 0x38, 0x9e, 0xbd, 0x96, 0xdb, 0xca, 0x3d, 0x2b, 0xbf, 0x78, 0xb0, 0x1d, 0x75,
+ 0xba, 0xe3, 0xf2, 0x04, 0x78, 0x70, 0x4f, 0x2f, 0x30, 0x14, 0x90, 0x1f, 0x43, 0xc9, 0xf1, 0xf8,
+ 0x00, 0x6d, 0xe6, 0xd0, 0xe6, 0x61, 0x6c, 0xd3, 0xf6, 0xf8, 0x20, 0x63, 0x54, 0x74, 0xa4, 0x84,
+ 0x34, 0xa0, 0x8a, 0x56, 0xcc, 0xa7, 0x01, 0x9a, 0xce, 0xa3, 0xe9, 0x66, 0xc6, 0xb4, 0xe3, 0xd3,
+ 0x20, 0x63, 0x5e, 0x76, 0x12, 0x29, 0xf9, 0x1d, 0xa8, 0x30, 0x6f, 0x6c, 0xd8, 0x4e, 0x68, 0x21,
+ 0x43, 0x1e, 0x19, 0x36, 0x92, 0x0e, 0x7b, 0xe3, 0xa6, 0x13, 0x5a, 0x19, 0x02, 0x60, 0xb1, 0x10,
+ 0x63, 0xf5, 0xc6, 0x68, 0xba, 0x30, 0x19, 0xab, 0x37, 0x9e, 0x88, 0x15, 0x05, 0x22, 0x56, 0x36,
+ 0xb2, 0x1c, 0xb4, 0x29, 0x4c, 0xc4, 0xda, 0x19, 0x59, 0x4e, 0x36, 0x56, 0x26, 0x25, 0xe4, 0xc7,
+ 0x50, 0xf4, 0xcf, 0xe4, 0xa0, 0x16, 0xd1, 0x68, 0x3d, 0x36, 0xea, 0x9a, 0xd6, 0x19, 0x9d, 0x18,
+ 0x57, 0xff, 0x0c, 0xc7, 0xf5, 0x37, 0x01, 0x7c, 0x16, 0x70, 0x23, 0xe4, 0x26, 0x0f, 0xd7, 0x4a,
+ 0x13, 0xde, 0xba, 0x2c, 0xe0, 0x3d, 0x91, 0x28, 0x21, 0x77, 0xac, 0xf0, 0xe0, 0x9e, 0xbe, 0xe8,
+ 0x2b, 0x49, 0x28, 0x2c, 0x07, 0x2e, 0xbb, 0x50, 0x96, 0x8b, 0x13, 0x96, 0x2f, 0x5d, 0x76, 0x91,
+ 0xb5, 0x1c, 0x28, 0x49, 0x48, 0x7e, 0x03, 0x16, 0x4d, 0xd7, 0x0c, 0x46, 0xd8, 0x57, 0x40, 0xc3,
+ 0xb5, 0xd8, 0xb0, 0x21, 0x34, 0x99, 0xae, 0x96, 0x4c, 0x25, 0xda, 0x2d, 0x40, 0xde, 0x36, 0xb9,
+ 0xa9, 0xfd, 0x47, 0x15, 0x96, 0x26, 0x70, 0x62, 0x9c, 0x5d, 0x16, 0xce, 0xcc, 0xa9, 0x43, 0x16,
+ 0x66, 0x63, 0x77, 0x51, 0x40, 0x9a, 0x50, 0xb3, 0xaf, 0x1c, 0x6f, 0x68, 0x0c, 0xcd, 0xd0, 0x4f,
+ 0x65, 0xd6, 0xa3, 0xd8, 0xb2, 0x29, 0xd4, 0xfb, 0x66, 0xe8, 0x67, 0xec, 0x2b, 0x76, 0x4a, 0x2c,
+ 0x72, 0x4c, 0x4c, 0x70, 0x12, 0xd1, 0x64, 0x8e, 0x75, 0xbc, 0xf1, 0x74, 0x50, 0x65, 0x96, 0x48,
+ 0xc9, 0x1b, 0xb8, 0x2f, 0x28, 0x42, 0x6e, 0x06, 0x7c, 0xec, 0x1b, 0x03, 0xd3, 0x71, 0x53, 0xb9,
+ 0xf6, 0x34, 0xcd, 0xd4, 0x93, 0x98, 0x97, 0xa6, 0xe3, 0x8e, 0x03, 0x9a, 0xa1, 0x5c, 0x66, 0x19,
+ 0xb5, 0x20, 0xfe, 0x06, 0x1e, 0x20, 0xb1, 0x33, 0xf4, 0x4c, 0xd7, 0xb0, 0xe9, 0x30, 0x30, 0x6d,
+ 0x9a, 0xca, 0xc5, 0x0f, 0x32, 0xd4, 0x88, 0x6a, 0x4a, 0x50, 0x86, 0x79, 0x85, 0x4d, 0x6b, 0xc9,
+ 0xcf, 0xe0, 0x21, 0x2e, 0x8c, 0xc0, 0x19, 0x70, 0x83, 0x0d, 0x8c, 0x0b, 0xc7, 0xb3, 0xd9, 0x45,
+ 0x2a, 0x69, 0x33, 0xe4, 0x4d, 0x01, 0xeb, 0x0c, 0xde, 0x20, 0x68, 0x8a, 0x7c, 0x52, 0x4b, 0xfa,
+ 0x20, 0xa2, 0x31, 0x5c, 0x16, 0x86, 0x46, 0xbc, 0x16, 0x64, 0x5a, 0x7f, 0x94, 0xa6, 0x3d, 0x64,
+ 0x61, 0xd8, 0x19, 0x88, 0x45, 0xb1, 0x77, 0x6a, 0x7a, 0x1e, 0x75, 0x33, 0xd4, 0x35, 0xa6, 0x10,
+ 0x6a, 0x89, 0x44, 0xe3, 0x8c, 0xa1, 0x84, 0xc9, 0x38, 0x97, 0x66, 0x8c, 0xb3, 0xc4, 0x5c, 0x3b,
+ 0xce, 0x89, 0x5a, 0x10, 0x77, 0xe4, 0x26, 0xc1, 0x9d, 0x0b, 0xd9, 0x53, 0xb9, 0x1a, 0x7e, 0x3d,
+ 0x4d, 0xd8, 0x0f, 0x4c, 0x2f, 0x1c, 0x39, 0x61, 0xe8, 0x30, 0xaf, 0xed, 0x71, 0x1a, 0x0c, 0x68,
+ 0x40, 0x3d, 0x8b, 0xbe, 0x31, 0x03, 0xcf, 0xf1, 0x86, 0x6a, 0xd7, 0xe8, 0x3b, 0x17, 0xd8, 0xd3,
+ 0x9f, 0xcb, 0xc1, 0x35, 0x2d, 0xee, 0x9c, 0xa3, 0xdf, 0xa4, 0xb3, 0x30, 0x3d, 0x0a, 0x8d, 0x18,
+ 0x36, 0xab, 0xbf, 0x22, 0xe6, 0x2c, 0x42, 0x7a, 0x58, 0x13, 0x1e, 0xfc, 0x80, 0x59, 0x34, 0x0c,
+ 0xc5, 0x2a, 0xa0, 0x41, 0xc0, 0xe4, 0x2e, 0x59, 0x46, 0x17, 0xbf, 0x96, 0x76, 0xd1, 0x8d, 0x71,
+ 0x2d, 0x01, 0xcb, 0x38, 0x58, 0x65, 0xb3, 0xf4, 0x84, 0xc2, 0x7a, 0x32, 0x87, 0x03, 0x23, 0xbc,
+ 0xf2, 0xac, 0x24, 0x8a, 0x0a, 0xba, 0xf8, 0x78, 0x7a, 0x2e, 0xbf, 0xa6, 0x57, 0xbd, 0x2b, 0xcf,
+ 0xba, 0x2e, 0x10, 0x09, 0x8a, 0x10, 0xc2, 0xcd, 0x2b, 0x58, 0xc5, 0x0d, 0x96, 0x8f, 0x0d, 0x9f,
+ 0x79, 0x72, 0x3b, 0x42, 0x17, 0x55, 0x74, 0xf1, 0x7e, 0x66, 0xbb, 0xe5, 0xe3, 0x2e, 0xf3, 0x70,
+ 0x17, 0x9a, 0x9a, 0xd2, 0xac, 0x8e, 0xb8, 0xf0, 0x08, 0xd3, 0x9b, 0x4e, 0xcc, 0xc1, 0x38, 0x90,
+ 0x0b, 0xa8, 0x86, 0xec, 0x3f, 0xca, 0xe4, 0x78, 0x0a, 0x3b, 0xab, 0xff, 0x62, 0x38, 0x66, 0x63,
+ 0xc8, 0x1b, 0x19, 0x44, 0x40, 0x47, 0x8c, 0x53, 0xc3, 0xa6, 0x03, 0x6a, 0xc9, 0xad, 0x7c, 0x09,
+ 0xdd, 0x68, 0x69, 0x37, 0x3a, 0x82, 0x9a, 0x88, 0xc9, 0xf0, 0x13, 0x36, 0xa5, 0x24, 0xa1, 0x0c,
+ 0x03, 0x27, 0x61, 0x48, 0x47, 0x86, 0x4d, 0x5d, 0xc7, 0xa3, 0x32, 0x1c, 0xc1, 0x5f, 0x47, 0xfe,
+ 0xe7, 0xd3, 0xf3, 0xb0, 0xdf, 0x3a, 0x52, 0x4b, 0xaa, 0x99, 0x98, 0x64, 0xdc, 0xad, 0xa9, 0xe9,
+ 0xd8, 0xa7, 0xa3, 0x2c, 0x84, 0x9c, 0xc3, 0x16, 0xe6, 0xd6, 0xe9, 0x55, 0xe8, 0x58, 0xa6, 0x6b,
+ 0xd0, 0xef, 0xc6, 0x8e, 0x3f, 0xa2, 0x1e, 0x4f, 0xe5, 0xd8, 0x32, 0x3a, 0xfe, 0x24, 0x93, 0x63,
+ 0x0a, 0xdf, 0x8a, 0xe0, 0xd3, 0xa9, 0x26, 0x82, 0xb9, 0x16, 0x46, 0x7e, 0x06, 0x2b, 0xe9, 0x8c,
+ 0x33, 0xad, 0x33, 0x74, 0x45, 0xa6, 0x57, 0xa3, 0x8c, 0xb1, 0x61, 0x9d, 0x79, 0xec, 0xc2, 0xa5,
+ 0xf6, 0x90, 0x0a, 0x9e, 0x8c, 0xa7, 0x25, 0x96, 0x42, 0x09, 0x72, 0x06, 0x9b, 0xb2, 0x10, 0x18,
+ 0x0c, 0x8c, 0x80, 0x9a, 0xd6, 0xa9, 0x41, 0x2f, 0x2d, 0x4a, 0x6d, 0x6a, 0xa3, 0x93, 0x15, 0x74,
+ 0xb2, 0x93, 0xad, 0x0b, 0x06, 0xb8, 0xc8, 0xb9, 0x63, 0xba, 0xba, 0xb0, 0x68, 0x29, 0x83, 0x8c,
+ 0xa3, 0x87, 0x4c, 0x22, 0x27, 0x11, 0xf1, 0xd3, 0x6e, 0x1b, 0xaa, 0x99, 0xaa, 0x88, 0xbc, 0x07,
+ 0x80, 0x05, 0x8d, 0x48, 0x75, 0x8a, 0x4f, 0xbb, 0x45, 0x7d, 0x51, 0x48, 0x44, 0xf2, 0x52, 0xed,
+ 0x00, 0x6a, 0xd9, 0x8a, 0x88, 0x3c, 0x84, 0xa2, 0x2c, 0x9e, 0xe4, 0xb3, 0xb1, 0xa8, 0x17, 0xb0,
+ 0x40, 0xb2, 0x27, 0x98, 0xe6, 0x26, 0x99, 0x4e, 0x61, 0x79, 0xaa, 0xbc, 0xb9, 0x9e, 0xec, 0x4b,
+ 0xa8, 0x86, 0x34, 0x70, 0x4c, 0xd7, 0xf0, 0xc6, 0xa3, 0x13, 0x1a, 0xa8, 0xa7, 0xe9, 0x6a, 0x3c,
+ 0x24, 0x3d, 0xd4, 0x1e, 0xa3, 0x52, 0xaf, 0x84, 0xa9, 0x96, 0xf6, 0x7d, 0x1e, 0xaa, 0x99, 0x72,
+ 0xe8, 0x7a, 0x37, 0xab, 0x50, 0xc0, 0xf5, 0x2e, 0x9f, 0xd6, 0x45, 0x7d, 0x41, 0xac, 0xdd, 0xc9,
+ 0x50, 0xe6, 0x27, 0x42, 0x21, 0x4f, 0xa0, 0x6c, 0xda, 0x23, 0xc7, 0x53, 0xfa, 0x05, 0xd4, 0x03,
+ 0x8a, 0x24, 0x60, 0xaa, 0xf7, 0xf9, 0x77, 0xee, 0x3d, 0x39, 0x84, 0x32, 0x6e, 0x6c, 0x01, 0x35,
+ 0x43, 0xe6, 0xe1, 0xe3, 0xaf, 0x96, 0xcd, 0xb7, 0x24, 0xb0, 0xed, 0xec, 0x56, 0xac, 0xa3, 0x89,
+ 0x0e, 0x83, 0xf8, 0xb7, 0xf6, 0xa7, 0x73, 0x70, 0x7f, 0x16, 0x88, 0x7c, 0x00, 0x4f, 0x3a, 0xc7,
+ 0xaf, 0x8c, 0xc6, 0x5e, 0xbf, 0xfd, 0xba, 0xd1, 0x6f, 0x77, 0x8e, 0x8d, 0x97, 0x8d, 0xf6, 0xa1,
+ 0xa1, 0xb7, 0x1a, 0xbd, 0xce, 0xb1, 0x71, 0xdc, 0x39, 0x6e, 0xd5, 0xef, 0x91, 0x0f, 0x41, 0xbb,
+ 0x01, 0xa4, 0x37, 0x8e, 0xf7, 0xdb, 0xc7, 0xfb, 0xf5, 0x1c, 0xf9, 0x09, 0xbc, 0xb8, 0x01, 0xd7,
+ 0x6d, 0xf4, 0x7a, 0x6f, 0x3a, 0x7a, 0xd3, 0x68, 0xbc, 0xea, 0x1f, 0xb4, 0x8e, 0xfb, 0xed, 0x3d,
+ 0xc4, 0xd4, 0xe7, 0x88, 0x06, 0x8f, 0x6f, 0xb0, 0x3b, 0xec, 0xf4, 0xea, 0xf3, 0xe4, 0x7d, 0x78,
+ 0x6f, 0x16, 0x06, 0x65, 0x87, 0x0d, 0xfd, 0xa8, 0x9e, 0xbf, 0x2e, 0x96, 0xde, 0x9b, 0x76, 0x7f,
+ 0xef, 0xc0, 0xe8, 0xbc, 0x6e, 0xe9, 0xf5, 0x05, 0xed, 0xe7, 0x40, 0xa6, 0x0b, 0x74, 0x42, 0x20,
+ 0xcf, 0xaf, 0xfc, 0x28, 0xf1, 0xf1, 0x77, 0x3a, 0x5b, 0xe6, 0x6e, 0xc8, 0xf0, 0xc9, 0xb4, 0xd0,
+ 0x74, 0xa8, 0x65, 0x2b, 0xea, 0x5b, 0xe7, 0x5d, 0x1d, 0xe6, 0xfd, 0x33, 0x8e, 0xcc, 0x15, 0x5d,
+ 0xfc, 0xd4, 0xfe, 0x29, 0x07, 0xf5, 0xc9, 0x8a, 0x9b, 0x6c, 0xc2, 0x22, 0xd2, 0x62, 0xcf, 0x65,
+ 0xf6, 0xe1, 0x81, 0xa6, 0x3f, 0xd1, 0xfb, 0xa9, 0xf5, 0x39, 0xa4, 0x23, 0x2c, 0xd0, 0x63, 0xbf,
+ 0x8b, 0x4a, 0xd2, 0xb6, 0x85, 0x1d, 0x96, 0xe0, 0x8e, 0x2c, 0x3a, 0x8b, 0x7a, 0x41, 0x34, 0xa5,
+ 0x02, 0x8d, 0x3c, 0x86, 0xc9, 0x58, 0xd4, 0x0b, 0xa2, 0x79, 0xcc, 0xc8, 0x03, 0x28, 0x58, 0x8c,
+ 0x9d, 0x39, 0x14, 0x8b, 0xa9, 0x82, 0xae, 0x5a, 0x51, 0x14, 0xf9, 0x24, 0x8a, 0xa7, 0xb0, 0x28,
+ 0xcb, 0x14, 0xd3, 0xba, 0xbe, 0x83, 0xda, 0x4f, 0x61, 0xf1, 0x80, 0x9a, 0x01, 0x3f, 0xa1, 0x26,
+ 0x27, 0x3b, 0xb0, 0x72, 0x1a, 0x35, 0x64, 0x91, 0xc5, 0xc7, 0x01, 0x55, 0x16, 0x24, 0x56, 0xf5,
+ 0x22, 0x8d, 0xf6, 0x77, 0x39, 0x98, 0xef, 0x78, 0xe3, 0x5b, 0x8f, 0xf9, 0xd4, 0x5a, 0x9d, 0x7f,
+ 0xf7, 0xb5, 0x2a, 0x22, 0x75, 0xe4, 0xea, 0x2e, 0xea, 0xe2, 0x27, 0xf9, 0x08, 0x96, 0xd8, 0xc8,
+ 0xb2, 0x0c, 0xea, 0x59, 0xc1, 0x95, 0x2f, 0x66, 0x0b, 0x27, 0xa8, 0xa4, 0xd7, 0x84, 0xb8, 0x15,
+ 0x4b, 0xb5, 0xbf, 0xcf, 0x01, 0xc1, 0x67, 0xc7, 0x50, 0x3c, 0x7e, 0x9a, 0x4e, 0xc8, 0x4d, 0xef,
+ 0x86, 0xc1, 0xb9, 0xae, 0xf7, 0x5f, 0xc0, 0xba, 0x2b, 0x29, 0x0c, 0x75, 0xb2, 0x44, 0x1e, 0xe3,
+ 0x8f, 0x68, 0xc0, 0xd4, 0x3c, 0x3e, 0x50, 0x00, 0xb9, 0xfb, 0xa2, 0xfa, 0x1b, 0x1a, 0x30, 0xf2,
+ 0x19, 0xdc, 0x9f, 0x65, 0xaa, 0xa2, 0x21, 0xd3, 0x56, 0xda, 0xd7, 0x50, 0x14, 0x09, 0x7e, 0x14,
+ 0x0e, 0xef, 0x20, 0xb3, 0x7f, 0x95, 0x83, 0x45, 0xf1, 0x9c, 0xc6, 0xe4, 0xbe, 0x35, 0x5f, 0x2a,
+ 0x29, 0xf3, 0x99, 0xa4, 0xcc, 0x66, 0xf9, 0xc2, 0x64, 0x96, 0x4f, 0xf7, 0xe3, 0x0b, 0xa8, 0xbc,
+ 0xf2, 0x5d, 0xc7, 0x3b, 0x7b, 0x5b, 0x4f, 0x94, 0xe9, 0x5c, 0x62, 0xfa, 0xe7, 0x8b, 0x00, 0x4d,
+ 0x7a, 0xee, 0x58, 0xb4, 0xed, 0x0d, 0x70, 0x3d, 0x9c, 0x53, 0xcf, 0x66, 0x81, 0xda, 0x4d, 0x54,
+ 0x8b, 0xdc, 0x87, 0x85, 0x11, 0xb3, 0xa9, 0xab, 0x9e, 0x89, 0xb2, 0x41, 0x7e, 0x04, 0xf5, 0x53,
+ 0x33, 0xb0, 0x2f, 0xcc, 0x80, 0x1a, 0xe7, 0x34, 0x10, 0xa5, 0xbc, 0xda, 0x52, 0x96, 0x22, 0xf9,
+ 0x6b, 0x29, 0x16, 0xd0, 0x81, 0x13, 0x8c, 0x32, 0xd0, 0xbc, 0x84, 0x46, 0xf2, 0x08, 0xba, 0x09,
+ 0x8b, 0x36, 0xf6, 0x48, 0xf4, 0xbf, 0x2e, 0xb7, 0x06, 0x29, 0x68, 0xdb, 0x62, 0xc6, 0x95, 0x32,
+ 0x9b, 0xf1, 0xcb, 0x88, 0x23, 0x52, 0x97, 0x4e, 0x77, 0x41, 0x27, 0xea, 0x60, 0x31, 0x78, 0x21,
+ 0x96, 0xd9, 0x45, 0xbd, 0xe4, 0x33, 0x4f, 0x1c, 0xe5, 0x43, 0xf2, 0x18, 0x80, 0x53, 0xeb, 0xd4,
+ 0x63, 0x2e, 0x1b, 0x5e, 0x45, 0x4f, 0xc1, 0x44, 0x42, 0xb6, 0xe4, 0x41, 0xc6, 0xb1, 0xe5, 0x61,
+ 0x54, 0xed, 0x1e, 0x80, 0x13, 0x88, 0x67, 0x4b, 0xf2, 0x08, 0x40, 0x21, 0xa8, 0x3a, 0x92, 0x15,
+ 0xf5, 0x12, 0xea, 0x5b, 0x9e, 0x4d, 0x9e, 0x42, 0xcd, 0x74, 0x5d, 0x66, 0x25, 0x0c, 0x25, 0x44,
+ 0x54, 0x50, 0x1a, 0x71, 0x6c, 0x41, 0x25, 0x46, 0x51, 0x75, 0x5c, 0x2a, 0xea, 0xa0, 0x30, 0x82,
+ 0xe7, 0x19, 0xd4, 0x93, 0x94, 0x50, 0x4c, 0x80, 0xa8, 0x5a, 0x9c, 0x18, 0x92, 0xeb, 0x29, 0xd4,
+ 0x52, 0x48, 0xaa, 0x4e, 0x2f, 0x45, 0xbd, 0x12, 0xe3, 0x04, 0x9f, 0x06, 0x55, 0xb5, 0x53, 0x2a,
+ 0xb2, 0x2a, 0x82, 0xca, 0x72, 0xbf, 0x94, 0x4c, 0x8f, 0xa1, 0x1c, 0x61, 0xa8, 0x2a, 0xf0, 0x8b,
+ 0xf2, 0xb5, 0x85, 0xe4, 0xf8, 0x0a, 0x0a, 0x81, 0xe9, 0x0d, 0x69, 0xb8, 0xb6, 0xb4, 0x35, 0xff,
+ 0xac, 0xfc, 0xe2, 0x59, 0xf2, 0x9a, 0x20, 0x4e, 0x28, 0xf5, 0x53, 0xa7, 0x21, 0x1b, 0x07, 0x16,
+ 0xd5, 0x11, 0xaf, 0x2b, 0xbb, 0x8d, 0xbf, 0xc8, 0xc3, 0xfd, 0x59, 0x00, 0xb2, 0x1e, 0xbd, 0xdd,
+ 0xb2, 0xc3, 0xb5, 0xdc, 0xd6, 0xfc, 0xb3, 0xa2, 0x7a, 0x85, 0x65, 0x4f, 0xce, 0xd8, 0xdc, 0xd4,
+ 0x8c, 0xed, 0xc1, 0x82, 0xcf, 0x98, 0x1b, 0xae, 0xcd, 0x63, 0xa7, 0x3e, 0x7d, 0xd7, 0x4e, 0x6d,
+ 0x77, 0x19, 0x73, 0x75, 0x69, 0xbb, 0xf1, 0x5f, 0x73, 0x90, 0x17, 0x6d, 0xf2, 0x7b, 0xa9, 0x67,
+ 0x6b, 0xed, 0xc5, 0x4f, 0x6e, 0x45, 0x86, 0x7f, 0xc4, 0xf3, 0x4c, 0x3d, 0x93, 0x7b, 0x50, 0x0c,
+ 0x4f, 0xcd, 0xc0, 0xf1, 0x86, 0xd8, 0xed, 0xda, 0x8b, 0x2f, 0x6e, 0x47, 0xd7, 0x93, 0xc6, 0xc8,
+ 0x18, 0x31, 0x89, 0x85, 0x29, 0x27, 0x50, 0x6e, 0x94, 0xb2, 0x21, 0xd6, 0x39, 0x55, 0xef, 0x4b,
+ 0x8a, 0xba, 0xf8, 0xa9, 0x35, 0xa0, 0x14, 0x75, 0x87, 0x00, 0x14, 0x44, 0xad, 0xd1, 0x6e, 0xd6,
+ 0xef, 0x91, 0x0a, 0x94, 0x1a, 0x87, 0x87, 0x9d, 0x3d, 0xd1, 0xca, 0x91, 0x1a, 0xc0, 0x7e, 0xeb,
+ 0xa8, 0xdb, 0xd1, 0xfb, 0xa2, 0x3d, 0x47, 0xca, 0x50, 0x7c, 0x79, 0xd8, 0x79, 0x23, 0x1a, 0xf3,
+ 0xda, 0x29, 0x94, 0x53, 0x5d, 0x20, 0x0f, 0x80, 0x34, 0x5b, 0x4d, 0x51, 0x08, 0xb5, 0x9a, 0x46,
+ 0xb7, 0xa5, 0x1b, 0xed, 0xe3, 0xfe, 0xcb, 0xfa, 0x3d, 0xf2, 0x04, 0x36, 0x7b, 0x07, 0x0d, 0xbd,
+ 0xd5, 0x34, 0x76, 0xff, 0xd0, 0x68, 0x1c, 0x1e, 0xa2, 0x1c, 0x7f, 0xf4, 0x5b, 0x7b, 0x07, 0xf5,
+ 0x1c, 0xd9, 0x82, 0x47, 0x33, 0x00, 0xbd, 0xc6, 0x51, 0x4b, 0x22, 0xe6, 0xb4, 0x3f, 0x9e, 0x07,
+ 0xd8, 0x73, 0xcd, 0x30, 0x74, 0x06, 0x0e, 0x0d, 0x70, 0xff, 0x34, 0xb8, 0x1f, 0xef, 0x66, 0x0b,
+ 0xac, 0xef, 0x3b, 0x36, 0x59, 0x81, 0x05, 0x66, 0x9c, 0xc7, 0xbb, 0x6a, 0x9e, 0xbd, 0x76, 0x70,
+ 0xaf, 0x75, 0x24, 0x56, 0x0d, 0x88, 0x13, 0x61, 0x1d, 0xc4, 0xca, 0x21, 0xc9, 0x3b, 0x02, 0xfb,
+ 0x10, 0x8a, 0xcc, 0xf0, 0x4f, 0x1c, 0x1e, 0xaa, 0x4d, 0xb6, 0xc0, 0xba, 0xa2, 0x85, 0xfb, 0xa7,
+ 0x52, 0xa8, 0x72, 0xc1, 0x91, 0x8a, 0x75, 0x28, 0x51, 0x7e, 0x2a, 0x8b, 0x16, 0xb9, 0xd4, 0x8b,
+ 0x94, 0x9f, 0x46, 0x35, 0x8b, 0x1d, 0x72, 0x63, 0x64, 0x5a, 0xb8, 0xc4, 0x2b, 0x7a, 0xc1, 0x0e,
+ 0xf9, 0x91, 0x69, 0x09, 0x45, 0x18, 0x58, 0xa8, 0x58, 0x94, 0x8a, 0x30, 0xb0, 0x84, 0x42, 0x24,
+ 0xb9, 0x2f, 0x5f, 0x11, 0xab, 0xb5, 0x5c, 0x74, 0xfc, 0x2e, 0xbe, 0xa4, 0x5e, 0x05, 0x61, 0x6d,
+ 0x38, 0xbe, 0x5a, 0xbc, 0x0b, 0x76, 0xc8, 0xdb, 0xbe, 0x10, 0x0b, 0x2a, 0xc7, 0x57, 0xfb, 0xd8,
+ 0x42, 0x18, 0x58, 0x6d, 0x5f, 0x10, 0x09, 0xb1, 0x58, 0xdd, 0x6a, 0x1d, 0x0b, 0x8f, 0x62, 0x83,
+ 0x13, 0x2a, 0x41, 0x84, 0x2a, 0xb9, 0x80, 0x45, 0x2f, 0x51, 0xb5, 0x05, 0x15, 0xff, 0x8c, 0x1b,
+ 0xdc, 0x1c, 0xca, 0x78, 0x96, 0xe4, 0x52, 0xf2, 0xcf, 0x78, 0xdf, 0xc4, 0x19, 0xd6, 0x7e, 0x35,
+ 0x0f, 0x8b, 0xa2, 0xf0, 0x66, 0xde, 0xde, 0x08, 0xb7, 0x0c, 0xd3, 0xb6, 0x0d, 0x36, 0xe6, 0x34,
+ 0x10, 0x56, 0x38, 0x19, 0x25, 0xbd, 0x6c, 0xda, 0x76, 0x47, 0xc8, 0xfa, 0xe6, 0x50, 0x6c, 0x53,
+ 0xe2, 0xc8, 0x7e, 0x4e, 0x53, 0xb0, 0x39, 0x59, 0x3b, 0x48, 0x79, 0x8c, 0xdc, 0x82, 0x0a, 0x0f,
+ 0x4c, 0xdf, 0xe0, 0xcc, 0x38, 0x65, 0xa1, 0x4c, 0xdf, 0x92, 0x0e, 0x42, 0xd6, 0x67, 0x07, 0x2c,
+ 0xe4, 0xe4, 0x13, 0x20, 0x01, 0x1d, 0x99, 0xc1, 0x99, 0xe2, 0x92, 0xf3, 0x91, 0x47, 0x5c, 0x5d,
+ 0x6a, 0x90, 0x4d, 0xce, 0x4c, 0x82, 0x76, 0x3c, 0x2f, 0x46, 0x2f, 0xa4, 0xd1, 0x6d, 0xa1, 0x90,
+ 0x68, 0x15, 0x8b, 0x84, 0x8a, 0x4e, 0x16, 0xe2, 0x58, 0x10, 0x95, 0x8d, 0x25, 0x81, 0x15, 0xd3,
+ 0xb1, 0xc4, 0xc8, 0x6d, 0x58, 0xe1, 0x81, 0xe9, 0x85, 0xae, 0xc9, 0xd3, 0xe0, 0x12, 0x82, 0x97,
+ 0x63, 0xd5, 0x6c, 0x7c, 0x32, 0x50, 0x8b, 0x13, 0xf8, 0x68, 0xac, 0xb4, 0x7f, 0xc8, 0x41, 0x41,
+ 0xce, 0x03, 0x79, 0x0a, 0xf3, 0xd6, 0x28, 0x7a, 0xa3, 0x4b, 0x92, 0x97, 0xc4, 0xd1, 0x2c, 0xe9,
+ 0x42, 0x3d, 0x7b, 0x65, 0xa4, 0xb2, 0x7d, 0x3e, 0x93, 0xed, 0xc9, 0xf2, 0xca, 0x4f, 0x2c, 0x2f,
+ 0xb9, 0x64, 0x16, 0xb2, 0x4b, 0x66, 0xf6, 0xca, 0x48, 0xd6, 0x5d, 0x31, 0xb5, 0xee, 0xb4, 0x7f,
+ 0x9b, 0x87, 0xfc, 0x4b, 0x97, 0x5d, 0xe0, 0x83, 0xd0, 0xb2, 0x68, 0x18, 0x1a, 0xe9, 0xca, 0x64,
+ 0x49, 0xaf, 0x48, 0x69, 0x7b, 0x56, 0xa5, 0xb4, 0x14, 0x55, 0x4a, 0xab, 0x50, 0x18, 0x7b, 0x8e,
+ 0x10, 0x97, 0xa5, 0x78, 0xec, 0x39, 0x37, 0x95, 0xfb, 0x9b, 0x80, 0x8f, 0x29, 0x99, 0xd7, 0xb2,
+ 0xca, 0x28, 0x09, 0x01, 0x2e, 0xd4, 0x75, 0x28, 0x45, 0x0f, 0x5b, 0x5c, 0x76, 0x4b, 0x7a, 0x51,
+ 0x3d, 0x68, 0xc9, 0x87, 0xb0, 0xe4, 0x51, 0x7e, 0xc1, 0x30, 0x8b, 0x64, 0x2f, 0x17, 0x10, 0x51,
+ 0x55, 0xe2, 0xf6, 0xac, 0x63, 0x48, 0x01, 0x21, 0xa9, 0x02, 0xed, 0x73, 0x00, 0x2b, 0xde, 0xbd,
+ 0xd4, 0x5b, 0xda, 0x95, 0x78, 0xae, 0x92, 0x8d, 0x4d, 0x4f, 0xc1, 0xc8, 0x47, 0x50, 0x30, 0x71,
+ 0x16, 0xd5, 0xdb, 0xd7, 0xa5, 0x89, 0xc9, 0xd5, 0x95, 0x9a, 0x6c, 0x40, 0xc9, 0x0f, 0x1c, 0x16,
+ 0x38, 0xfc, 0x0a, 0x53, 0x66, 0x49, 0x8f, 0xdb, 0xa9, 0xe3, 0x4c, 0x25, 0x73, 0x9c, 0x49, 0x95,
+ 0x9a, 0xd5, 0x4c, 0xa9, 0xb9, 0x0e, 0xa5, 0x61, 0xc0, 0xc6, 0xbe, 0x88, 0x43, 0xed, 0x0f, 0xd8,
+ 0x96, 0x83, 0x91, 0xbe, 0xf5, 0x12, 0x88, 0x25, 0x44, 0x54, 0x85, 0xb8, 0x2b, 0xa5, 0x6d, 0x5b,
+ 0xeb, 0x43, 0x65, 0xb2, 0xde, 0x92, 0x45, 0x63, 0x34, 0xc9, 0x15, 0xbd, 0x24, 0x05, 0x6d, 0x5b,
+ 0x9c, 0x2d, 0x94, 0x32, 0xf4, 0xa9, 0xe5, 0x0c, 0x1c, 0x4b, 0x15, 0xa3, 0x35, 0x29, 0xee, 0x29,
+ 0xa9, 0xf6, 0x2f, 0x79, 0xa8, 0x65, 0x6f, 0x5b, 0xae, 0xaf, 0x6a, 0xd7, 0xa1, 0x14, 0x5c, 0x1a,
+ 0x27, 0x57, 0x9c, 0x86, 0xc8, 0x56, 0xd0, 0x8b, 0xc1, 0xe5, 0xae, 0x68, 0x8a, 0x99, 0x0a, 0x2e,
+ 0x0d, 0x1f, 0xcb, 0x62, 0x99, 0xf7, 0x05, 0x7d, 0x31, 0xb8, 0x94, 0x75, 0x72, 0x88, 0x6b, 0xfc,
+ 0xd2, 0x18, 0x5b, 0xa6, 0xd8, 0x23, 0x15, 0x28, 0x8f, 0xa0, 0x5a, 0x70, 0xf9, 0x4a, 0x88, 0xb3,
+ 0xc8, 0x51, 0x06, 0xb9, 0x10, 0x21, 0x8f, 0xa6, 0x91, 0x27, 0x19, 0x64, 0x21, 0x42, 0xee, 0x4e,
+ 0x23, 0xe5, 0x2b, 0xc0, 0x08, 0x59, 0x8c, 0x90, 0xf8, 0x12, 0x2f, 0x42, 0xae, 0x43, 0x89, 0x47,
+ 0x11, 0x96, 0x64, 0x84, 0x3c, 0x89, 0x90, 0x27, 0x11, 0x2e, 0xca, 0x08, 0x79, 0x3a, 0x42, 0x3e,
+ 0x19, 0x21, 0x48, 0x1f, 0x7c, 0x2a, 0x42, 0x3e, 0x19, 0x61, 0x39, 0x42, 0x1e, 0x4d, 0x23, 0xb3,
+ 0x11, 0x56, 0x22, 0xe4, 0xee, 0x34, 0x32, 0x1b, 0x61, 0x35, 0x42, 0x66, 0x22, 0xd4, 0xa0, 0x1a,
+ 0x5c, 0x1a, 0x56, 0x60, 0x49, 0x74, 0x88, 0xd9, 0x58, 0xd0, 0xcb, 0xc1, 0xe5, 0x5e, 0x60, 0x21,
+ 0x12, 0x43, 0x3d, 0x71, 0xfc, 0x08, 0xb0, 0x24, 0x43, 0x3d, 0x71, 0x7c, 0xa5, 0x7e, 0x04, 0x8b,
+ 0xdc, 0x19, 0xd1, 0x90, 0x9b, 0x23, 0x1f, 0xcf, 0x0d, 0x45, 0x3d, 0x11, 0x68, 0xff, 0x98, 0x83,
+ 0x5a, 0xf6, 0x12, 0x2e, 0xbd, 0x7f, 0xe4, 0x32, 0xfb, 0xc7, 0x0f, 0x4f, 0xa8, 0x1f, 0x3e, 0x51,
+ 0x37, 0xf7, 0xfe, 0x2b, 0xa8, 0x66, 0x6e, 0xed, 0xae, 0x5f, 0x0c, 0x0f, 0xa0, 0x10, 0x72, 0x93,
+ 0x8f, 0x43, 0x55, 0x1b, 0xab, 0x96, 0xf6, 0x2d, 0xac, 0xcc, 0xb8, 0xbd, 0xbb, 0xf5, 0xa1, 0x35,
+ 0xa1, 0x9f, 0xcf, 0xd0, 0xff, 0xed, 0x1c, 0xbe, 0x0b, 0x98, 0xbc, 0x85, 0xfc, 0x01, 0x6f, 0x2d,
+ 0x5d, 0x16, 0x1a, 0x19, 0x17, 0x8b, 0x2e, 0x0b, 0x7b, 0x28, 0x90, 0xea, 0x93, 0x48, 0x9d, 0x8f,
+ 0xd4, 0x27, 0x4a, 0xfd, 0x0c, 0xea, 0x2e, 0xf3, 0x2d, 0x63, 0xe4, 0x84, 0x31, 0x87, 0x3c, 0xd3,
+ 0xd5, 0x84, 0xfc, 0xc8, 0x09, 0x23, 0xa2, 0xe7, 0xb0, 0xaa, 0x90, 0x2a, 0xe1, 0x22, 0x78, 0x41,
+ 0x9e, 0x23, 0x25, 0x5c, 0x26, 0x9e, 0x32, 0x79, 0x02, 0x65, 0x97, 0x0d, 0x9c, 0x08, 0x58, 0x94,
+ 0xe5, 0x92, 0x10, 0x29, 0xc0, 0xfb, 0x50, 0x71, 0x99, 0x39, 0x8a, 0x11, 0x25, 0x44, 0x94, 0x51,
+ 0x26, 0x21, 0x1a, 0x85, 0xcd, 0x1b, 0xee, 0x2c, 0xef, 0x6c, 0x32, 0xfe, 0x2a, 0x07, 0x1b, 0xd7,
+ 0x5f, 0x60, 0xde, 0x95, 0x1b, 0xf2, 0x39, 0x3c, 0x70, 0x3c, 0x71, 0x98, 0xa7, 0xc6, 0x89, 0x13,
+ 0xdd, 0x65, 0x04, 0x26, 0x8f, 0xde, 0xbf, 0xac, 0x28, 0xed, 0xae, 0x23, 0xaf, 0x24, 0x74, 0x93,
+ 0x53, 0xed, 0x7b, 0xd9, 0xb7, 0x6b, 0xee, 0x3f, 0xef, 0xac, 0x6f, 0xf7, 0x61, 0x01, 0x6f, 0x62,
+ 0xa3, 0x9a, 0x06, 0x1b, 0x82, 0xdd, 0xa3, 0x17, 0x06, 0xfd, 0x2e, 0xaa, 0x6a, 0x0a, 0x1e, 0xbd,
+ 0x68, 0x7d, 0x67, 0x6b, 0xa7, 0xf0, 0xf8, 0xe6, 0xdb, 0xd3, 0x3b, 0x9b, 0x9b, 0xbf, 0xce, 0xc9,
+ 0x1c, 0xb8, 0xe6, 0x3e, 0xf5, 0xff, 0x77, 0x72, 0x7e, 0x99, 0x03, 0xed, 0xed, 0x77, 0xb3, 0xff,
+ 0xb7, 0x93, 0xa4, 0x7d, 0x87, 0x73, 0x71, 0xc3, 0x1d, 0xee, 0xad, 0xfd, 0x3f, 0xc9, 0xde, 0x47,
+ 0xc8, 0x62, 0x31, 0x7d, 0xc5, 0x70, 0x06, 0xef, 0xbf, 0xf5, 0xc2, 0xf5, 0xce, 0x32, 0xa0, 0x0f,
+ 0x44, 0xb7, 0x9d, 0x89, 0xbb, 0x3c, 0x51, 0x6e, 0x05, 0xb6, 0xa3, 0xe6, 0xc9, 0x62, 0x63, 0x8f,
+ 0xa3, 0x97, 0x82, 0x5e, 0x0d, 0x14, 0x78, 0x4f, 0x08, 0xaf, 0xdd, 0xdf, 0xff, 0x32, 0x07, 0x6b,
+ 0xd7, 0xdd, 0xe8, 0xde, 0xba, 0xeb, 0x0d, 0xa8, 0x26, 0x9d, 0x99, 0xf5, 0x0d, 0xc7, 0x74, 0x00,
+ 0x07, 0xf7, 0xf4, 0x72, 0x90, 0x48, 0x77, 0x8b, 0xf8, 0x62, 0x82, 0x87, 0xda, 0x31, 0x3c, 0xba,
+ 0xe9, 0xbe, 0xfc, 0xb6, 0x7d, 0xd3, 0x7e, 0x01, 0x5b, 0x6f, 0xbb, 0x5b, 0xbe, 0xb3, 0xa9, 0xfa,
+ 0x05, 0xac, 0x5f, 0x7b, 0xc1, 0xfc, 0x43, 0x9e, 0x6d, 0xf1, 0xa0, 0x26, 0xa5, 0x83, 0x1a, 0xb2,
+ 0x50, 0xfb, 0x9b, 0x1c, 0x3c, 0x7b, 0xd7, 0xdb, 0xe6, 0x3b, 0x5b, 0x81, 0x9f, 0x02, 0x49, 0xdf,
+ 0x80, 0xab, 0xbe, 0xc9, 0xe5, 0xb8, 0x9c, 0xd2, 0xa8, 0x3e, 0x8e, 0xe0, 0x83, 0x77, 0xb8, 0x97,
+ 0xbe, 0xb3, 0xe1, 0x77, 0x71, 0x37, 0x7a, 0xcb, 0xdd, 0xf4, 0x9d, 0x79, 0xfb, 0xb3, 0x1c, 0x7c,
+ 0xf8, 0x6e, 0xb7, 0xd4, 0x77, 0x36, 0xfc, 0x1b, 0x50, 0x9a, 0xb8, 0xb3, 0x88, 0xdb, 0xda, 0x7f,
+ 0xe6, 0xa0, 0xbc, 0x2f, 0xce, 0x62, 0x47, 0x14, 0xcf, 0x55, 0xef, 0x43, 0xc5, 0x89, 0x2e, 0xa0,
+ 0x22, 0xc7, 0x55, 0xfc, 0x36, 0x4f, 0xca, 0xda, 0x36, 0x69, 0x43, 0x2d, 0x81, 0xe0, 0xe1, 0x57,
+ 0xbe, 0x68, 0x4c, 0x3e, 0x97, 0x48, 0x11, 0x6e, 0xc7, 0xd7, 0x59, 0xf8, 0x46, 0xb1, 0xea, 0xa4,
+ 0x9b, 0xe4, 0x31, 0x94, 0x87, 0x74, 0x64, 0x44, 0x67, 0xdc, 0x79, 0x74, 0x26, 0xce, 0xb8, 0x5d,
+ 0x79, 0xc6, 0x4d, 0x9f, 0x42, 0xf3, 0xa8, 0x8c, 0xdb, 0xda, 0x6f, 0x43, 0x35, 0xc3, 0x4d, 0x8a,
+ 0x30, 0xdf, 0xed, 0x1c, 0xd7, 0xef, 0x91, 0x3a, 0x54, 0x5a, 0xdd, 0xce, 0xb1, 0xf1, 0x7c, 0xdf,
+ 0xe8, 0x36, 0xfa, 0x07, 0xf5, 0x1c, 0x59, 0x86, 0xaa, 0x94, 0x7c, 0xa6, 0x44, 0x73, 0xda, 0x9f,
+ 0xcc, 0xc1, 0x02, 0xf6, 0x33, 0x73, 0x3a, 0x95, 0xe1, 0xc6, 0xa7, 0xd3, 0x9f, 0x42, 0xd1, 0x62,
+ 0xa3, 0x91, 0xa9, 0x3e, 0x52, 0x9b, 0x8a, 0x31, 0x1d, 0x69, 0xb8, 0x27, 0x91, 0x7a, 0x64, 0x42,
+ 0xb6, 0xa1, 0x38, 0x92, 0x2a, 0xf5, 0x9a, 0xf8, 0xfe, 0xac, 0x11, 0xd2, 0x23, 0x50, 0xea, 0x70,
+ 0x9e, 0xbf, 0xf1, 0x70, 0xae, 0x7d, 0x0d, 0x2b, 0x33, 0x1c, 0x93, 0x25, 0x28, 0x37, 0x9a, 0x4d,
+ 0xe3, 0xa8, 0x75, 0xb4, 0xdb, 0xd2, 0x7b, 0xf5, 0x7b, 0x84, 0x40, 0x4d, 0x6f, 0x1d, 0x75, 0x5e,
+ 0xb7, 0x62, 0x59, 0x4e, 0x80, 0x7a, 0xad, 0x7e, 0x2c, 0x98, 0xd3, 0xbe, 0x01, 0x78, 0x6d, 0xba,
+ 0x63, 0xda, 0x35, 0x03, 0x73, 0x44, 0x1e, 0xc3, 0x3c, 0xf3, 0xc6, 0xea, 0xd5, 0x4f, 0x25, 0xf3,
+ 0x01, 0x8c, 0x50, 0x90, 0x4f, 0x60, 0xe1, 0x5c, 0xa0, 0xd5, 0x78, 0x3c, 0xd8, 0x56, 0x5f, 0xa4,
+ 0x22, 0x85, 0x98, 0x86, 0x6d, 0x9c, 0x67, 0x09, 0xd2, 0x8a, 0xb0, 0xd0, 0x1a, 0xf9, 0xfc, 0xea,
+ 0xc5, 0x7f, 0x2f, 0x43, 0xb1, 0x23, 0xb9, 0x48, 0x13, 0xa0, 0xe9, 0x84, 0xe6, 0x89, 0x4b, 0x3b,
+ 0x2e, 0x27, 0xb5, 0xd8, 0x07, 0x22, 0x37, 0x26, 0xda, 0xda, 0x83, 0x5f, 0xfe, 0xeb, 0xbf, 0x7f,
+ 0x3f, 0x57, 0xd7, 0xca, 0x3b, 0xe7, 0xcf, 0x77, 0x94, 0xdd, 0x97, 0xb9, 0x8f, 0xc9, 0x4b, 0x28,
+ 0xeb, 0x94, 0x7a, 0xef, 0x4a, 0xf3, 0x10, 0x69, 0x96, 0xb5, 0x8a, 0xa0, 0x89, 0x0c, 0x05, 0x4f,
+ 0x0b, 0xca, 0xaa, 0x08, 0xa0, 0x1d, 0x6f, 0x4c, 0x32, 0x21, 0x4f, 0xb1, 0xac, 0x21, 0x0b, 0xd1,
+ 0xaa, 0x82, 0xa5, 0x25, 0x9d, 0x7b, 0x63, 0x41, 0x73, 0x00, 0xd5, 0xf8, 0x61, 0xf1, 0x0e, 0x44,
+ 0xeb, 0x48, 0xb4, 0xa2, 0xd5, 0x52, 0x51, 0x29, 0xa6, 0x3d, 0x58, 0x6c, 0x52, 0x97, 0xde, 0xba,
+ 0x3b, 0xb1, 0x91, 0x20, 0x69, 0x03, 0xa8, 0x0b, 0xc8, 0xce, 0x98, 0x93, 0x7a, 0xe6, 0x43, 0xd6,
+ 0xa3, 0x70, 0x78, 0x73, 0x7f, 0x12, 0x4b, 0x41, 0xd5, 0x81, 0x4a, 0x7c, 0xfb, 0x28, 0xc8, 0x48,
+ 0xe6, 0xe3, 0x21, 0x14, 0x4f, 0xd1, 0x6d, 0x22, 0xdd, 0xaa, 0x56, 0x47, 0xba, 0x94, 0xb5, 0x20,
+ 0xfc, 0x03, 0x58, 0x4a, 0xdf, 0x23, 0x0a, 0xce, 0xe4, 0x0e, 0x39, 0xad, 0x99, 0xa2, 0x7d, 0x8c,
+ 0xb4, 0x6b, 0xda, 0x8a, 0xa0, 0x9d, 0xe0, 0x10, 0xcc, 0x5f, 0x41, 0x51, 0x1c, 0xbe, 0x1b, 0xb6,
+ 0x4d, 0xaa, 0x99, 0x6f, 0x62, 0x6f, 0xce, 0x2a, 0x65, 0x23, 0xb3, 0x0a, 0x44, 0x4b, 0xc7, 0x57,
+ 0xaf, 0x6f, 0x23, 0xc9, 0x0c, 0x5a, 0x62, 0x26, 0x78, 0x7a, 0x50, 0x8b, 0x6f, 0xe8, 0xf7, 0x4e,
+ 0xa9, 0x75, 0x36, 0x95, 0xa0, 0xc9, 0x30, 0xc6, 0x40, 0xed, 0x3d, 0x24, 0x7c, 0xa8, 0x11, 0x41,
+ 0x98, 0xb5, 0x17, 0xa4, 0x47, 0x50, 0x96, 0x39, 0xd7, 0x65, 0x5e, 0x7b, 0x90, 0x9a, 0x88, 0x78,
+ 0x1f, 0x9c, 0xea, 0xe2, 0x06, 0x32, 0xde, 0xd7, 0x96, 0x92, 0x84, 0x45, 0x63, 0x35, 0xb1, 0x2a,
+ 0xf3, 0xde, 0x9d, 0x2f, 0x33, 0xb1, 0x69, 0x6b, 0x41, 0xa8, 0x43, 0x75, 0x9f, 0xf2, 0xd4, 0x3d,
+ 0xef, 0x64, 0xcc, 0x2b, 0x33, 0xae, 0xa2, 0xb4, 0x47, 0x48, 0xf9, 0x40, 0x5b, 0x16, 0x94, 0x19,
+ 0x7b, 0xc1, 0xf9, 0xbb, 0x50, 0xd0, 0xe9, 0x09, 0x63, 0x6f, 0x5f, 0xe1, 0xab, 0xc8, 0xb3, 0xa4,
+ 0x81, 0x5c, 0xe1, 0xc2, 0x46, 0x10, 0xbc, 0x82, 0xe5, 0x3d, 0xe6, 0xba, 0xd4, 0x4a, 0xbf, 0xe4,
+ 0x7b, 0x1b, 0xd7, 0x16, 0x72, 0x6d, 0x68, 0xab, 0x82, 0x6b, 0xca, 0x5c, 0xd0, 0x06, 0xf0, 0x70,
+ 0x2f, 0xa0, 0x26, 0xa7, 0xfd, 0xc0, 0x1c, 0x0c, 0x1c, 0xab, 0x67, 0x9d, 0x52, 0x7b, 0xec, 0x8a,
+ 0x6d, 0xfc, 0xc9, 0x76, 0xe6, 0x3b, 0xfe, 0x29, 0xc0, 0x94, 0xb7, 0x0f, 0xd1, 0xdb, 0x96, 0xb6,
+ 0x89, 0xde, 0x66, 0xb3, 0x2a, 0x9f, 0x32, 0xc3, 0xee, 0xda, 0xe7, 0x35, 0xac, 0xc2, 0xe7, 0x00,
+ 0x56, 0x32, 0x3d, 0xfa, 0xfd, 0x31, 0x1d, 0xd3, 0x90, 0x6c, 0xce, 0xf4, 0x27, 0x95, 0x53, 0xbe,
+ 0x34, 0xf4, 0xf5, 0x48, 0x7b, 0x38, 0x15, 0x9f, 0x34, 0x50, 0x7e, 0x32, 0xbd, 0xf8, 0x5f, 0xfb,
+ 0x99, 0xc1, 0x26, 0xfc, 0xfc, 0x16, 0xd4, 0xe5, 0x32, 0x48, 0xd5, 0x59, 0xd7, 0xa7, 0x69, 0x02,
+ 0xd2, 0xee, 0x7d, 0x96, 0x23, 0xdf, 0xc2, 0x6a, 0x97, 0x06, 0x03, 0x16, 0x8c, 0xf0, 0xf1, 0xdb,
+ 0xf1, 0x69, 0x30, 0xc9, 0x80, 0x8a, 0xa9, 0x9e, 0x3d, 0xc5, 0x9e, 0x3d, 0xd6, 0xd6, 0x45, 0xcf,
+ 0x66, 0x52, 0xc8, 0x4d, 0xbb, 0x2c, 0x37, 0x71, 0x59, 0x97, 0xbc, 0x8d, 0x34, 0xb3, 0xb6, 0x53,
+ 0x86, 0x82, 0xaa, 0x0f, 0xe5, 0x7d, 0xca, 0x5b, 0x97, 0x1c, 0x9f, 0xcb, 0x24, 0x89, 0x28, 0x79,
+ 0xd4, 0x6f, 0xdc, 0x8f, 0x9e, 0xdd, 0x3a, 0xe5, 0xe3, 0xc0, 0x43, 0x4d, 0x98, 0x65, 0x4d, 0x71,
+ 0x08, 0xd6, 0x6f, 0xf1, 0xcb, 0x44, 0x79, 0xf8, 0xc3, 0x77, 0x70, 0x3d, 0xca, 0x89, 0x28, 0x01,
+ 0xf0, 0x9f, 0x4e, 0xb2, 0xaa, 0x9b, 0xd7, 0xd4, 0x14, 0x8d, 0xa0, 0xf7, 0x61, 0x7d, 0x9f, 0xf2,
+ 0xc3, 0xd9, 0x1f, 0xe1, 0x64, 0x9f, 0x84, 0x9b, 0xd9, 0xcf, 0x4a, 0x33, 0x9f, 0x06, 0x69, 0xcf,
+ 0xd0, 0x93, 0xa6, 0xbd, 0xa7, 0x42, 0x98, 0xcd, 0x28, 0x3c, 0x9e, 0xc2, 0xea, 0x4c, 0xfd, 0x6d,
+ 0xbc, 0x65, 0xe6, 0x76, 0x26, 0xdb, 0x97, 0xb9, 0x8f, 0x77, 0xbf, 0x85, 0x4d, 0x16, 0x0c, 0x91,
+ 0xc7, 0x62, 0x81, 0xbd, 0x2d, 0xff, 0x75, 0x27, 0xe2, 0xdd, 0xad, 0xbe, 0xc6, 0xb6, 0x28, 0x91,
+ 0x3a, 0x87, 0xfd, 0x6f, 0x76, 0x86, 0x0e, 0x3f, 0x1d, 0x9f, 0x88, 0x09, 0xda, 0x89, 0x4c, 0x76,
+ 0xa4, 0xc9, 0xa7, 0xea, 0xbf, 0x7d, 0xce, 0x3f, 0xdf, 0x19, 0xb2, 0xe8, 0xbf, 0x8e, 0xba, 0xb9,
+ 0xee, 0xdc, 0x49, 0x01, 0x35, 0x9f, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x26, 0x5c, 0xa8,
+ 0x33, 0x99, 0x34, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -3420,6 +4519,12 @@
CreateTrafficQueues(ctx context.Context, in *tech_profile.TrafficQueues, opts ...grpc.CallOption) (*Empty, error)
RemoveTrafficQueues(ctx context.Context, in *tech_profile.TrafficQueues, opts ...grpc.CallOption) (*Empty, error)
EnableIndication(ctx context.Context, in *Empty, opts ...grpc.CallOption) (Openolt_EnableIndicationClient, error)
+ PerformGroupOperation(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error)
+ DeleteGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error)
+ GetExtValue(ctx context.Context, in *ValueParam, opts ...grpc.CallOption) (*common.ReturnValues, error)
+ OnuItuPonAlarmSet(ctx context.Context, in *config.OnuItuPonAlarm, opts ...grpc.CallOption) (*Empty, error)
+ GetLogicalOnuDistanceZero(ctx context.Context, in *Onu, opts ...grpc.CallOption) (*OnuLogicalDistance, error)
+ GetLogicalOnuDistance(ctx context.Context, in *Onu, opts ...grpc.CallOption) (*OnuLogicalDistance, error)
}
type openoltClient struct {
@@ -3642,6 +4747,60 @@
return m, nil
}
+func (c *openoltClient) PerformGroupOperation(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error) {
+ out := new(Empty)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/PerformGroupOperation", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *openoltClient) DeleteGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error) {
+ out := new(Empty)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/DeleteGroup", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *openoltClient) GetExtValue(ctx context.Context, in *ValueParam, opts ...grpc.CallOption) (*common.ReturnValues, error) {
+ out := new(common.ReturnValues)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/GetExtValue", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *openoltClient) OnuItuPonAlarmSet(ctx context.Context, in *config.OnuItuPonAlarm, opts ...grpc.CallOption) (*Empty, error) {
+ out := new(Empty)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/OnuItuPonAlarmSet", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *openoltClient) GetLogicalOnuDistanceZero(ctx context.Context, in *Onu, opts ...grpc.CallOption) (*OnuLogicalDistance, error) {
+ out := new(OnuLogicalDistance)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/GetLogicalOnuDistanceZero", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *openoltClient) GetLogicalOnuDistance(ctx context.Context, in *Onu, opts ...grpc.CallOption) (*OnuLogicalDistance, error) {
+ out := new(OnuLogicalDistance)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/GetLogicalOnuDistance", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// OpenoltServer is the server API for Openolt service.
type OpenoltServer interface {
DisableOlt(context.Context, *Empty) (*Empty, error)
@@ -3665,6 +4824,12 @@
CreateTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*Empty, error)
RemoveTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*Empty, error)
EnableIndication(*Empty, Openolt_EnableIndicationServer) error
+ PerformGroupOperation(context.Context, *Group) (*Empty, error)
+ DeleteGroup(context.Context, *Group) (*Empty, error)
+ GetExtValue(context.Context, *ValueParam) (*common.ReturnValues, error)
+ OnuItuPonAlarmSet(context.Context, *config.OnuItuPonAlarm) (*Empty, error)
+ GetLogicalOnuDistanceZero(context.Context, *Onu) (*OnuLogicalDistance, error)
+ GetLogicalOnuDistance(context.Context, *Onu) (*OnuLogicalDistance, error)
}
func RegisterOpenoltServer(s *grpc.Server, srv OpenoltServer) {
@@ -4052,6 +5217,114 @@
return x.ServerStream.SendMsg(m)
}
+func _Openolt_PerformGroupOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Group)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).PerformGroupOperation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/PerformGroupOperation",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).PerformGroupOperation(ctx, req.(*Group))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Openolt_DeleteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Group)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).DeleteGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/DeleteGroup",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).DeleteGroup(ctx, req.(*Group))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Openolt_GetExtValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ValueParam)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).GetExtValue(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/GetExtValue",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).GetExtValue(ctx, req.(*ValueParam))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Openolt_OnuItuPonAlarmSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(config.OnuItuPonAlarm)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).OnuItuPonAlarmSet(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/OnuItuPonAlarmSet",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).OnuItuPonAlarmSet(ctx, req.(*config.OnuItuPonAlarm))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Openolt_GetLogicalOnuDistanceZero_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Onu)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).GetLogicalOnuDistanceZero(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/GetLogicalOnuDistanceZero",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).GetLogicalOnuDistanceZero(ctx, req.(*Onu))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Openolt_GetLogicalOnuDistance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Onu)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).GetLogicalOnuDistance(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/GetLogicalOnuDistance",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).GetLogicalOnuDistance(ctx, req.(*Onu))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
var _Openolt_serviceDesc = grpc.ServiceDesc{
ServiceName: "openolt.Openolt",
HandlerType: (*OpenoltServer)(nil),
@@ -4136,6 +5409,30 @@
MethodName: "RemoveTrafficQueues",
Handler: _Openolt_RemoveTrafficQueues_Handler,
},
+ {
+ MethodName: "PerformGroupOperation",
+ Handler: _Openolt_PerformGroupOperation_Handler,
+ },
+ {
+ MethodName: "DeleteGroup",
+ Handler: _Openolt_DeleteGroup_Handler,
+ },
+ {
+ MethodName: "GetExtValue",
+ Handler: _Openolt_GetExtValue_Handler,
+ },
+ {
+ MethodName: "OnuItuPonAlarmSet",
+ Handler: _Openolt_OnuItuPonAlarmSet_Handler,
+ },
+ {
+ MethodName: "GetLogicalOnuDistanceZero",
+ Handler: _Openolt_GetLogicalOnuDistanceZero_Handler,
+ },
+ {
+ MethodName: "GetLogicalOnuDistance",
+ Handler: _Openolt_GetLogicalOnuDistance_Handler,
+ },
},
Streams: []grpc.StreamDesc{
{
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
similarity index 79%
rename from vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
index 5a78e1e..7d7c2ba 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
@@ -322,6 +322,7 @@
AllocId uint32 `protobuf:"fixed32,2,opt,name=alloc_id,json=allocId,proto3" json:"alloc_id,omitempty"`
Scheduler *SchedulerConfig `protobuf:"bytes,3,opt,name=scheduler,proto3" json:"scheduler,omitempty"`
TrafficShapingInfo *TrafficShapingInfo `protobuf:"bytes,4,opt,name=traffic_shaping_info,json=trafficShapingInfo,proto3" json:"traffic_shaping_info,omitempty"`
+ TechProfileId uint32 `protobuf:"fixed32,5,opt,name=tech_profile_id,json=techProfileId,proto3" json:"tech_profile_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -380,6 +381,13 @@
return nil
}
+func (m *TrafficScheduler) GetTechProfileId() uint32 {
+ if m != nil {
+ return m.TechProfileId
+ }
+ return 0
+}
+
type TrafficSchedulers struct {
IntfId uint32 `protobuf:"fixed32,1,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
OnuId uint32 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
@@ -812,6 +820,7 @@
UniId uint32 `protobuf:"fixed32,4,opt,name=uni_id,json=uniId,proto3" json:"uni_id,omitempty"`
PortNo uint32 `protobuf:"fixed32,5,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
TrafficQueues []*TrafficQueue `protobuf:"bytes,6,rep,name=traffic_queues,json=trafficQueues,proto3" json:"traffic_queues,omitempty"`
+ TechProfileId uint32 `protobuf:"fixed32,7,opt,name=tech_profile_id,json=techProfileId,proto3" json:"tech_profile_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -877,6 +886,13 @@
return nil
}
+func (m *TrafficQueues) GetTechProfileId() uint32 {
+ if m != nil {
+ return m.TechProfileId
+ }
+ return 0
+}
+
func init() {
proto.RegisterEnum("tech_profile.Direction", Direction_name, Direction_value)
proto.RegisterEnum("tech_profile.SchedulingPolicy", SchedulingPolicy_name, SchedulingPolicy_value)
@@ -898,75 +914,77 @@
func init() { proto.RegisterFile("voltha_protos/tech_profile.proto", fileDescriptor_d019a68bffe14cae) }
var fileDescriptor_d019a68bffe14cae = []byte{
- // 1106 bytes of a gzipped FileDescriptorProto
+ // 1139 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
- 0x14, 0xf6, 0xda, 0x8d, 0x7f, 0x4e, 0x6c, 0x77, 0x33, 0x25, 0xc4, 0xa4, 0x0d, 0x04, 0x97, 0xaa,
- 0x91, 0x11, 0x31, 0x0a, 0x25, 0x37, 0x45, 0xaa, 0xec, 0x26, 0x52, 0x2c, 0xd1, 0x34, 0xdd, 0x04,
- 0x59, 0xe2, 0x82, 0xd5, 0x78, 0x67, 0x6c, 0x8f, 0xb4, 0x9e, 0x59, 0x66, 0xc7, 0x75, 0xd2, 0x2b,
- 0x6e, 0x78, 0x0b, 0x6e, 0x79, 0x01, 0xb8, 0x41, 0x3c, 0x11, 0x2f, 0xc0, 0x3d, 0x9a, 0xd9, 0x5d,
- 0xdb, 0xbb, 0x36, 0x29, 0x54, 0x70, 0x37, 0xe7, 0xdb, 0x6f, 0xce, 0x9c, 0x6f, 0xce, 0xcf, 0x0e,
- 0xec, 0xbf, 0x16, 0xbe, 0x1a, 0x63, 0x37, 0x90, 0x42, 0x89, 0xb0, 0xad, 0xa8, 0x37, 0xd6, 0xeb,
- 0x21, 0xf3, 0xe9, 0xa1, 0xc1, 0x50, 0x75, 0x19, 0xdb, 0x7d, 0x30, 0x12, 0x62, 0xe4, 0xd3, 0x36,
- 0x0e, 0x58, 0x1b, 0x73, 0x2e, 0x14, 0x56, 0x4c, 0xf0, 0x30, 0xe2, 0x36, 0x7f, 0xc8, 0xc3, 0xdd,
- 0x4b, 0x6f, 0x4c, 0xc9, 0xd4, 0xa7, 0xf2, 0xb9, 0xe0, 0x43, 0x36, 0x42, 0x5f, 0x42, 0x85, 0x30,
- 0x49, 0x3d, 0xcd, 0x6b, 0x58, 0xfb, 0xd6, 0x41, 0xfd, 0x68, 0xe7, 0x30, 0x75, 0xce, 0x49, 0xf2,
- 0xd9, 0x59, 0x30, 0xd1, 0x33, 0xa8, 0x61, 0x42, 0x98, 0x5e, 0x63, 0xdf, 0x1d, 0xcc, 0x1a, 0x79,
- 0xb3, 0x75, 0x37, 0xbd, 0xb5, 0x33, 0xa7, 0x74, 0xfb, 0x4e, 0x75, 0xb1, 0xa1, 0x3b, 0x43, 0xbb,
- 0x50, 0x0e, 0x24, 0x13, 0x92, 0xa9, 0x9b, 0x46, 0x61, 0xdf, 0x3a, 0x28, 0x39, 0x73, 0x1b, 0xbd,
- 0x0f, 0xc5, 0x19, 0x65, 0xa3, 0xb1, 0x6a, 0xdc, 0x31, 0x5f, 0x62, 0x0b, 0x75, 0xa0, 0x1a, 0xea,
- 0xf0, 0xdd, 0x40, 0xf8, 0xcc, 0xbb, 0x69, 0x6c, 0x98, 0x33, 0x3f, 0x4c, 0x9f, 0x19, 0x0b, 0x64,
- 0x7c, 0x74, 0x61, 0x58, 0xce, 0xa6, 0xd9, 0x13, 0x19, 0xcd, 0xdf, 0x2c, 0x40, 0x57, 0x12, 0x0f,
- 0x87, 0xcc, 0xbb, 0x1c, 0xe3, 0x80, 0xf1, 0x51, 0x8f, 0x0f, 0x05, 0xb2, 0xa1, 0xe0, 0x31, 0x69,
- 0xf4, 0x97, 0x1c, 0xbd, 0x34, 0xc8, 0x20, 0x34, 0xb2, 0x34, 0x32, 0x08, 0x35, 0x12, 0x30, 0x19,
- 0x07, 0xab, 0x97, 0x06, 0x19, 0x84, 0x71, 0x90, 0x7a, 0xa9, 0x91, 0x11, 0x93, 0x26, 0xb0, 0x92,
- 0xa3, 0x97, 0xe8, 0x0c, 0x00, 0x13, 0xe2, 0x0e, 0x66, 0x2e, 0xe3, 0xa4, 0x51, 0x34, 0x11, 0xb7,
- 0xd2, 0x11, 0xf7, 0xf8, 0x90, 0x4a, 0x49, 0x49, 0x72, 0x5b, 0xdd, 0x7e, 0x8f, 0x13, 0xe6, 0x99,
- 0xd4, 0x39, 0x65, 0x4c, 0x48, 0x77, 0xd6, 0xe3, 0xa4, 0xf9, 0xa7, 0x05, 0x76, 0x12, 0x7a, 0x92,
- 0xc4, 0x77, 0x4d, 0xdf, 0x07, 0x50, 0xc6, 0xbe, 0x2f, 0x3c, 0x97, 0x91, 0x58, 0x62, 0xc9, 0xd8,
- 0x3d, 0x82, 0x9e, 0x42, 0x25, 0x4c, 0xdc, 0x1b, 0xb1, 0x9b, 0x47, 0x7b, 0x6b, 0x6f, 0x38, 0x29,
- 0x21, 0x67, 0xc1, 0x47, 0x0e, 0xbc, 0xa7, 0xa2, 0x10, 0xdd, 0x30, 0xba, 0x5e, 0x97, 0xf1, 0xa1,
- 0x30, 0x57, 0xb4, 0x79, 0xb4, 0x9f, 0xf6, 0xb3, 0x9a, 0x07, 0x07, 0xa9, 0x15, 0xac, 0xf9, 0xbb,
- 0x05, 0x5b, 0x59, 0xdd, 0x21, 0xda, 0x81, 0x12, 0xe3, 0x6a, 0xa8, 0x05, 0x44, 0x59, 0x2b, 0x6a,
- 0xb3, 0x47, 0xd0, 0x36, 0x14, 0x05, 0x9f, 0x2e, 0x84, 0x6d, 0x08, 0x3e, 0x8d, 0xe0, 0x29, 0x67,
- 0x1a, 0x8e, 0xd2, 0xb5, 0x31, 0xe5, 0xac, 0x47, 0xb4, 0x9b, 0x40, 0x48, 0xe5, 0x72, 0x11, 0x27,
- 0xad, 0xa8, 0xcd, 0x73, 0x81, 0x4e, 0xa1, 0x3e, 0x57, 0xa2, 0x4f, 0x0d, 0x1b, 0x85, 0xfd, 0xc2,
- 0xc1, 0x66, 0xb6, 0xda, 0xb2, 0x81, 0x39, 0x35, 0xb5, 0x84, 0x84, 0xcd, 0x63, 0xd8, 0xbe, 0xc2,
- 0xcc, 0x3f, 0x91, 0x22, 0x38, 0x61, 0xa1, 0x87, 0x25, 0x89, 0xfb, 0x6e, 0x0f, 0xe0, 0xfb, 0x29,
- 0x9d, 0x52, 0x37, 0x64, 0x6f, 0x68, 0x2c, 0xa1, 0x62, 0x90, 0x4b, 0xf6, 0x86, 0x36, 0x7f, 0xb4,
- 0xc0, 0x76, 0x28, 0x49, 0xef, 0x79, 0x08, 0xb5, 0x09, 0xe3, 0xae, 0x1a, 0x4b, 0x1a, 0x8e, 0x85,
- 0x9f, 0x28, 0xaf, 0x4e, 0x18, 0xbf, 0x4a, 0x30, 0x43, 0xc2, 0xd7, 0x4b, 0xa4, 0x7c, 0x4c, 0xc2,
- 0xd7, 0x0b, 0xd2, 0x63, 0xb8, 0xab, 0x49, 0x81, 0x14, 0x03, 0x3c, 0x60, 0xfe, 0xa2, 0x09, 0xeb,
- 0x13, 0x7c, 0x7d, 0xb1, 0x40, 0x9b, 0xbf, 0x5a, 0xb0, 0xd5, 0x5f, 0x09, 0xe4, 0x09, 0x6c, 0x8c,
- 0x24, 0xa5, 0x51, 0xc5, 0xad, 0xdc, 0x49, 0x96, 0xee, 0x44, 0x64, 0x74, 0x0c, 0xc5, 0x1b, 0xea,
- 0xfb, 0x22, 0x1a, 0x16, 0x6f, 0xdf, 0x16, 0xb3, 0xd1, 0xe7, 0x50, 0x90, 0x94, 0xc4, 0xb5, 0xf8,
- 0xb6, 0x4d, 0x9a, 0xda, 0xfc, 0x23, 0x0f, 0xb5, 0x74, 0xc4, 0x5d, 0xa8, 0x93, 0x08, 0x48, 0x86,
- 0x47, 0xd4, 0x2c, 0xf7, 0xb3, 0xcd, 0x62, 0x38, 0xf1, 0xe4, 0xa8, 0x91, 0x65, 0x13, 0x7d, 0x07,
- 0x0d, 0x85, 0x99, 0xef, 0x12, 0x29, 0x02, 0x37, 0xf1, 0xe6, 0x19, 0xff, 0xb1, 0xa2, 0x87, 0x99,
- 0xe2, 0x58, 0x97, 0xf9, 0xb3, 0x9c, 0xb3, 0xad, 0xd6, 0x96, 0xc4, 0x39, 0x20, 0x49, 0x49, 0xd6,
- 0xf3, 0x3f, 0x92, 0x7d, 0x96, 0x73, 0x6c, 0x99, 0xcd, 0xd2, 0x2b, 0xb8, 0x37, 0x5b, 0xe3, 0x30,
- 0xea, 0xc5, 0x8f, 0xd2, 0x0e, 0xfb, 0x6b, 0x3c, 0x6e, 0xcd, 0xb2, 0x2e, 0xbb, 0xf6, 0xe2, 0x1a,
- 0x23, 0x6f, 0xcd, 0x9f, 0x0b, 0x50, 0x8d, 0x9b, 0xe0, 0x95, 0xae, 0xde, 0x77, 0x9d, 0x48, 0x7b,
- 0x00, 0x23, 0x3a, 0x31, 0xbd, 0x38, 0x6f, 0xdd, 0x4a, 0x8c, 0xf4, 0x88, 0x1e, 0x58, 0xc1, 0x80,
- 0x29, 0x77, 0x82, 0x03, 0x73, 0x23, 0x15, 0xa7, 0xa4, 0xed, 0x17, 0x38, 0x40, 0x8f, 0xa0, 0x8e,
- 0x69, 0xe8, 0x52, 0xee, 0xc9, 0x9b, 0xc0, 0x9c, 0xaa, 0x15, 0x96, 0x9d, 0x1a, 0xa6, 0xe1, 0xe9,
- 0x1c, 0xfc, 0x0f, 0x7e, 0x1e, 0xa9, 0x7f, 0x56, 0xf1, 0x6f, 0xff, 0x59, 0xa5, 0xd4, 0x3f, 0x6b,
- 0xb5, 0xf0, 0xca, 0xff, 0xba, 0xf0, 0xba, 0xd9, 0x5b, 0x6f, 0x54, 0x4c, 0x0e, 0xd7, 0xfb, 0x88,
- 0x1b, 0x21, 0xf1, 0x11, 0x99, 0xcd, 0x5f, 0x2c, 0xa8, 0x2d, 0xe7, 0xe9, 0xff, 0x9f, 0xa0, 0x9d,
- 0xc5, 0x04, 0x35, 0x73, 0x2d, 0x6c, 0x14, 0xcd, 0x04, 0xdd, 0x5d, 0x3b, 0x41, 0x4d, 0x50, 0xf3,
- 0xe9, 0x19, 0x85, 0xd8, 0xfa, 0x0a, 0x2a, 0xf3, 0x62, 0x41, 0x55, 0x28, 0x7f, 0x73, 0x71, 0x79,
- 0xe5, 0x9c, 0x76, 0x5e, 0xd8, 0x39, 0x54, 0x07, 0x38, 0x79, 0xd9, 0x3f, 0x8f, 0x6d, 0x0b, 0x6d,
- 0x41, 0xad, 0xdb, 0x3b, 0xe9, 0x39, 0xa7, 0xcf, 0xaf, 0x7a, 0x2f, 0xcf, 0x3b, 0x5f, 0xdb, 0xf9,
- 0xd6, 0x53, 0xb0, 0xb3, 0xf9, 0x44, 0x25, 0x28, 0xf4, 0x1d, 0xc7, 0xce, 0x21, 0x04, 0xf5, 0x4b,
- 0x25, 0x99, 0xa7, 0x2e, 0xe2, 0x0c, 0xda, 0x16, 0x02, 0x28, 0x9e, 0xdd, 0x0c, 0x24, 0x23, 0x76,
- 0xbe, 0xc5, 0xa1, 0xba, 0xfc, 0x7a, 0x41, 0xdb, 0xb0, 0xb5, 0x6c, 0xbb, 0xe7, 0x82, 0x53, 0x3b,
- 0x87, 0xee, 0xc1, 0xdd, 0x34, 0xdc, 0xb1, 0x2d, 0x74, 0x1f, 0x76, 0x52, 0x60, 0x97, 0x86, 0xea,
- 0x74, 0x38, 0x14, 0x52, 0xd9, 0xf9, 0x15, 0x47, 0x9d, 0xa9, 0x12, 0x76, 0xa1, 0xf5, 0x6c, 0x3e,
- 0xb1, 0xe2, 0x48, 0xab, 0x50, 0x4e, 0xe6, 0x87, 0x9d, 0x43, 0x35, 0xa8, 0xf4, 0xe7, 0xa6, 0xa5,
- 0x65, 0x38, 0x94, 0xd8, 0x79, 0x54, 0x86, 0x3b, 0xba, 0x75, 0xed, 0x42, 0xeb, 0x27, 0x0b, 0x1e,
- 0xdc, 0xf6, 0x92, 0x40, 0x8f, 0xe0, 0xe3, 0xdb, 0xbe, 0x27, 0x8a, 0x0e, 0xe0, 0x93, 0x5b, 0x69,
- 0x9d, 0x30, 0x9c, 0x4a, 0x4a, 0x6c, 0x0b, 0x7d, 0x0a, 0x8f, 0x6f, 0x65, 0x2e, 0xcb, 0xee, 0x1e,
- 0x7f, 0xfb, 0x64, 0xc4, 0xd4, 0x78, 0x3a, 0x38, 0xf4, 0xc4, 0xa4, 0x2d, 0x02, 0xca, 0x3d, 0x21,
- 0x49, 0x3b, 0x7a, 0xdf, 0x7e, 0x16, 0xbf, 0x6f, 0x5f, 0x1f, 0xb5, 0x47, 0x22, 0xf5, 0xca, 0x1d,
- 0x14, 0xcd, 0xa7, 0x2f, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x92, 0xf8, 0xb6, 0xb7, 0x0a, 0x0b,
- 0x00, 0x00,
+ 0x14, 0xf6, 0xda, 0x8d, 0x7f, 0x4e, 0x6c, 0x67, 0x33, 0x25, 0xc4, 0xa4, 0x0d, 0x18, 0x97, 0xd2,
+ 0xc8, 0x88, 0x18, 0xa5, 0xa5, 0x37, 0x45, 0xaa, 0xec, 0x26, 0x52, 0x56, 0xa2, 0x69, 0xba, 0x09,
+ 0x32, 0xe2, 0x82, 0xd5, 0x7a, 0x67, 0xbc, 0x1e, 0x69, 0x3d, 0xb3, 0xcc, 0x8e, 0xeb, 0xa4, 0x57,
+ 0xdc, 0xf0, 0x16, 0x70, 0xc9, 0x13, 0x70, 0x83, 0x78, 0x14, 0x9e, 0x80, 0xc7, 0x40, 0x33, 0xbb,
+ 0x6b, 0x7b, 0x6d, 0x93, 0x42, 0x45, 0xef, 0xe6, 0x7c, 0xfb, 0x9d, 0x33, 0xe7, 0x7f, 0x16, 0x9a,
+ 0xaf, 0x78, 0x20, 0x47, 0xae, 0x13, 0x0a, 0x2e, 0x79, 0xd4, 0x91, 0xc4, 0x1b, 0xa9, 0xf3, 0x90,
+ 0x06, 0xe4, 0x50, 0x63, 0xa8, 0xba, 0x88, 0xed, 0xdd, 0xf5, 0x39, 0xf7, 0x03, 0xd2, 0x71, 0x43,
+ 0xda, 0x71, 0x19, 0xe3, 0xd2, 0x95, 0x94, 0xb3, 0x28, 0xe6, 0xb6, 0x7e, 0xcc, 0xc3, 0xd6, 0x85,
+ 0x37, 0x22, 0x78, 0x12, 0x10, 0xf1, 0x8c, 0xb3, 0x21, 0xf5, 0xd1, 0x97, 0x50, 0xc1, 0x54, 0x10,
+ 0x4f, 0xf1, 0x1a, 0x46, 0xd3, 0x38, 0xa8, 0x1f, 0xed, 0x1e, 0x66, 0xee, 0x39, 0x4e, 0x3f, 0xdb,
+ 0x73, 0x26, 0x7a, 0x0a, 0x35, 0x17, 0x63, 0xaa, 0xce, 0x6e, 0xe0, 0x0c, 0xa6, 0x8d, 0xbc, 0x56,
+ 0xdd, 0xcb, 0xaa, 0x76, 0x67, 0x94, 0x5e, 0xdf, 0xae, 0xce, 0x15, 0x7a, 0x53, 0xb4, 0x07, 0xe5,
+ 0x50, 0x50, 0x2e, 0xa8, 0xbc, 0x6e, 0x14, 0x9a, 0xc6, 0x41, 0xc9, 0x9e, 0xc9, 0xe8, 0x7d, 0x28,
+ 0x4e, 0x09, 0xf5, 0x47, 0xb2, 0x71, 0x4b, 0x7f, 0x49, 0x24, 0xd4, 0x85, 0x6a, 0xa4, 0xdc, 0x77,
+ 0x42, 0x1e, 0x50, 0xef, 0xba, 0xb1, 0xa1, 0xef, 0xfc, 0x30, 0x7b, 0x67, 0x12, 0x20, 0x65, 0xfe,
+ 0xb9, 0x66, 0xd9, 0x9b, 0x5a, 0x27, 0x16, 0x5a, 0xbf, 0x1b, 0x80, 0x2e, 0x85, 0x3b, 0x1c, 0x52,
+ 0xef, 0x62, 0xe4, 0x86, 0x94, 0xf9, 0x16, 0x1b, 0x72, 0x64, 0x42, 0xc1, 0xa3, 0x42, 0xc7, 0x5f,
+ 0xb2, 0xd5, 0x51, 0x23, 0x83, 0x48, 0x87, 0xa5, 0x90, 0x41, 0xa4, 0x90, 0x90, 0x8a, 0xc4, 0x59,
+ 0x75, 0xd4, 0xc8, 0x20, 0x4a, 0x9c, 0x54, 0x47, 0x85, 0xf8, 0x54, 0x68, 0xc7, 0x4a, 0xb6, 0x3a,
+ 0xa2, 0x53, 0x00, 0x17, 0x63, 0x67, 0x30, 0x75, 0x28, 0xc3, 0x8d, 0xa2, 0xf6, 0xb8, 0x9d, 0xf5,
+ 0xd8, 0x62, 0x43, 0x22, 0x04, 0xc1, 0x69, 0xb6, 0x7a, 0x7d, 0x8b, 0x61, 0xea, 0xe9, 0xd2, 0xd9,
+ 0x65, 0x17, 0xe3, 0xde, 0xd4, 0x62, 0xb8, 0xf5, 0x4b, 0x1e, 0xcc, 0xd4, 0xf5, 0xb4, 0x88, 0x6f,
+ 0x5b, 0xbe, 0x0f, 0xa0, 0xec, 0x06, 0x01, 0xf7, 0x1c, 0x8a, 0x93, 0x10, 0x4b, 0x5a, 0xb6, 0x30,
+ 0x7a, 0x02, 0x95, 0x28, 0x35, 0xaf, 0x83, 0xdd, 0x3c, 0xda, 0x5f, 0x9b, 0xe1, 0xb4, 0x85, 0xec,
+ 0x39, 0x1f, 0xd9, 0xf0, 0x9e, 0x8c, 0x5d, 0x74, 0xa2, 0x38, 0xbd, 0x0e, 0x65, 0x43, 0xae, 0x53,
+ 0xb4, 0x79, 0xd4, 0xcc, 0xda, 0x59, 0xad, 0x83, 0x8d, 0xe4, 0x6a, 0x6d, 0x3e, 0x85, 0xad, 0x45,
+ 0x35, 0xe5, 0x72, 0x9c, 0xdf, 0x9a, 0x82, 0xcf, 0x63, 0xd4, 0xc2, 0xad, 0x3f, 0x0c, 0xd8, 0x5e,
+ 0xce, 0x4f, 0x84, 0x76, 0xa1, 0x44, 0x99, 0x1c, 0x2a, 0xad, 0xb8, 0xba, 0x45, 0x25, 0x5a, 0x18,
+ 0xed, 0x40, 0x91, 0xb3, 0xc9, 0x3c, 0x01, 0x1b, 0x9c, 0x4d, 0x62, 0x78, 0xc2, 0xa8, 0x82, 0xe3,
+ 0xb2, 0x6e, 0x4c, 0x18, 0xb5, 0xb0, 0x32, 0x13, 0x72, 0x21, 0x1d, 0xc6, 0x93, 0xcb, 0x8b, 0x4a,
+ 0x3c, 0xe3, 0xe8, 0x04, 0xea, 0xb3, 0x88, 0xd5, 0xad, 0x51, 0xa3, 0xd0, 0x2c, 0x1c, 0x6c, 0x2e,
+ 0x77, 0xe5, 0xb2, 0x63, 0x76, 0x4d, 0x2e, 0x20, 0x51, 0xeb, 0x31, 0xec, 0x5c, 0xba, 0x34, 0x38,
+ 0x16, 0x3c, 0x3c, 0xa6, 0x91, 0xe7, 0x0a, 0x9c, 0xcc, 0xe7, 0x3e, 0xc0, 0x0f, 0x13, 0x32, 0x21,
+ 0x4e, 0x44, 0x5f, 0x93, 0x24, 0x84, 0x8a, 0x46, 0x2e, 0xe8, 0x6b, 0xd2, 0xfa, 0xc9, 0x00, 0xd3,
+ 0x26, 0x38, 0xab, 0x73, 0x0f, 0x6a, 0x63, 0xca, 0x1c, 0x39, 0x12, 0x24, 0x1a, 0xf1, 0x20, 0x8d,
+ 0xbc, 0x3a, 0xa6, 0xec, 0x32, 0xc5, 0x34, 0xc9, 0xbd, 0x5a, 0x20, 0xe5, 0x13, 0x92, 0x7b, 0x35,
+ 0x27, 0x3d, 0x80, 0x2d, 0x45, 0x0a, 0x05, 0x1f, 0xb8, 0x03, 0x1a, 0xcc, 0x87, 0xb5, 0x3e, 0x76,
+ 0xaf, 0xce, 0xe7, 0x68, 0xeb, 0x37, 0x03, 0xb6, 0xfb, 0x2b, 0x8e, 0x3c, 0x82, 0x0d, 0x5f, 0x10,
+ 0x12, 0x77, 0xe6, 0x4a, 0x4e, 0x96, 0xe9, 0x76, 0x4c, 0x46, 0x8f, 0xa1, 0x78, 0x4d, 0x82, 0x80,
+ 0xc7, 0x4b, 0xe5, 0xcd, 0x6a, 0x09, 0x1b, 0x7d, 0x01, 0x05, 0x41, 0x70, 0xd2, 0xb3, 0x6f, 0x52,
+ 0x52, 0xd4, 0xd6, 0x5f, 0x79, 0xa8, 0x65, 0x3d, 0xee, 0x41, 0x1d, 0xc7, 0x40, 0xba, 0x64, 0xe2,
+ 0xa1, 0xba, 0xb3, 0x3c, 0x54, 0x9a, 0x93, 0x6c, 0x98, 0x1a, 0x5e, 0x14, 0xd1, 0xf7, 0xd0, 0x90,
+ 0x2e, 0x0d, 0x1c, 0x2c, 0x78, 0xe8, 0xa4, 0xd6, 0x3c, 0x6d, 0x3f, 0x89, 0xe8, 0xde, 0x52, 0x73,
+ 0xac, 0xab, 0xfc, 0x69, 0xce, 0xde, 0x91, 0x6b, 0x5b, 0xe2, 0x0c, 0x90, 0x20, 0x78, 0xd9, 0xf2,
+ 0xbf, 0x0a, 0xfb, 0x34, 0x67, 0x9b, 0x62, 0xb9, 0x4a, 0x2f, 0xe1, 0xf6, 0x74, 0x8d, 0xc1, 0x78,
+ 0x66, 0x3f, 0xca, 0x1a, 0xec, 0xaf, 0xb1, 0xb8, 0x3d, 0x5d, 0x36, 0xd9, 0x33, 0xe7, 0x69, 0x8c,
+ 0xad, 0xb5, 0x7e, 0x2d, 0x40, 0x35, 0x19, 0x82, 0x97, 0xaa, 0x7b, 0xdf, 0x76, 0x73, 0xed, 0x03,
+ 0xf8, 0x64, 0xac, 0x67, 0x71, 0x36, 0xba, 0x95, 0x04, 0xb1, 0xb0, 0x5a, 0x6c, 0xe1, 0x80, 0x4a,
+ 0x67, 0xec, 0x86, 0x3a, 0x23, 0x15, 0xbb, 0xa4, 0xe4, 0xe7, 0x6e, 0x88, 0xee, 0x43, 0xdd, 0x25,
+ 0x91, 0x43, 0x98, 0x27, 0xae, 0x43, 0x7d, 0xab, 0x8a, 0xb0, 0x6c, 0xd7, 0x5c, 0x12, 0x9d, 0xcc,
+ 0xc0, 0xff, 0xe1, 0x91, 0xc9, 0xbc, 0x6d, 0xc5, 0x7f, 0x7c, 0xdb, 0x4a, 0x99, 0xb7, 0x6d, 0xb5,
+ 0xf1, 0xca, 0xff, 0xb9, 0xf1, 0x7a, 0xcb, 0x59, 0x6f, 0x54, 0x74, 0x0d, 0xd7, 0xdb, 0x48, 0x06,
+ 0x21, 0xb5, 0x11, 0x8b, 0xad, 0x3f, 0x0d, 0xa8, 0x2d, 0xd6, 0xe9, 0xdd, 0x6f, 0xd0, 0xee, 0x7c,
+ 0x83, 0xea, 0xbd, 0x16, 0x35, 0x8a, 0x7a, 0x83, 0xee, 0xad, 0xdd, 0xa0, 0xda, 0xa9, 0xd9, 0xf6,
+ 0x4c, 0x5c, 0x5c, 0xf3, 0x44, 0x94, 0xd6, 0x3c, 0x11, 0xed, 0xaf, 0xa0, 0x32, 0x6b, 0x2a, 0x54,
+ 0x85, 0xf2, 0x37, 0xe7, 0x17, 0x97, 0xf6, 0x49, 0xf7, 0xb9, 0x99, 0x43, 0x75, 0x80, 0xe3, 0x17,
+ 0xfd, 0xb3, 0x44, 0x36, 0xd0, 0x36, 0xd4, 0x7a, 0xd6, 0xb1, 0x65, 0x9f, 0x3c, 0xbb, 0xb4, 0x5e,
+ 0x9c, 0x75, 0xbf, 0x36, 0xf3, 0xed, 0x27, 0x60, 0x2e, 0xd7, 0x1d, 0x95, 0xa0, 0xd0, 0xb7, 0x6d,
+ 0x33, 0x87, 0x10, 0xd4, 0x2f, 0xa4, 0xa0, 0x9e, 0x3c, 0x4f, 0x2a, 0x6d, 0x1a, 0x08, 0xa0, 0x78,
+ 0x7a, 0x3d, 0x10, 0x14, 0x9b, 0xf9, 0x36, 0x83, 0xea, 0xe2, 0xdf, 0x10, 0xda, 0x81, 0xed, 0x45,
+ 0xd9, 0x39, 0xe3, 0x8c, 0x98, 0x39, 0x74, 0x1b, 0xb6, 0xb2, 0x70, 0xd7, 0x34, 0xd0, 0x1d, 0xd8,
+ 0xcd, 0x80, 0x3d, 0x12, 0xc9, 0x93, 0xe1, 0x90, 0x0b, 0x69, 0xe6, 0x57, 0x0c, 0x75, 0x27, 0x92,
+ 0x9b, 0x85, 0xf6, 0xd3, 0xd9, 0x66, 0x4b, 0x3c, 0xad, 0x42, 0x39, 0xdd, 0x33, 0x66, 0x0e, 0xd5,
+ 0xa0, 0xd2, 0x9f, 0x89, 0x86, 0x0a, 0xc3, 0x26, 0xd8, 0xcc, 0xa3, 0x32, 0xdc, 0x52, 0x23, 0x6e,
+ 0x16, 0xda, 0x3f, 0x1b, 0x70, 0xf7, 0xa6, 0x3f, 0x13, 0x74, 0x1f, 0x3e, 0xbe, 0xe9, 0x7b, 0x1a,
+ 0xd1, 0x01, 0x7c, 0x72, 0x23, 0xad, 0x1b, 0x45, 0x13, 0x41, 0xb0, 0x69, 0xa0, 0xcf, 0xe0, 0xc1,
+ 0x8d, 0xcc, 0xc5, 0xb0, 0x7b, 0xdf, 0x42, 0x93, 0x0b, 0xff, 0x90, 0x87, 0x84, 0x79, 0x5c, 0xe0,
+ 0xc3, 0xf8, 0x47, 0x39, 0xd3, 0x32, 0xdf, 0x3d, 0xf2, 0xa9, 0x1c, 0x4d, 0x06, 0x87, 0x1e, 0x1f,
+ 0x77, 0x52, 0x62, 0x27, 0x26, 0x7e, 0x9e, 0xfc, 0x51, 0xbf, 0x7a, 0xd8, 0xf1, 0x79, 0xe6, 0xbf,
+ 0x7a, 0x50, 0xd4, 0x9f, 0x1e, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x75, 0x37, 0xf5, 0x7c,
+ 0x0b, 0x00, 0x00,
}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 8b82270..54d7b54 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -82,9 +82,11 @@
github.com/opencord/cordctl/pkg/format
# github.com/opencord/omci-sim v0.0.4
github.com/opencord/omci-sim
-# github.com/opencord/voltha-protos/v2 v2.1.2
-github.com/opencord/voltha-protos/v2/go/openolt
-github.com/opencord/voltha-protos/v2/go/tech_profile
+# github.com/opencord/voltha-protos/v3 v3.4.5
+github.com/opencord/voltha-protos/v3/go/common
+github.com/opencord/voltha-protos/v3/go/ext/config
+github.com/opencord/voltha-protos/v3/go/openolt
+github.com/opencord/voltha-protos/v3/go/tech_profile
# github.com/pierrec/lz4 v2.4.1+incompatible
github.com/pierrec/lz4
github.com/pierrec/lz4/internal/xxh32