diff --git a/api/bbsim/bbsim.pb.go b/api/bbsim/bbsim.pb.go
index 41683e0..ca04c84 100644
--- a/api/bbsim/bbsim.pb.go
+++ b/api/bbsim/bbsim.pb.go
@@ -7,6 +7,7 @@
 	context "context"
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
+	tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
@@ -129,7 +130,7 @@
 }
 
 func (AlarmType_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{6, 0}
+	return fileDescriptor_ef7750073d18011b, []int{7, 0}
 }
 
 type PONPort struct {
@@ -408,6 +409,45 @@
 	return 0
 }
 
+type ONUTrafficSchedulers struct {
+	TraffSchedulers      *tech_profile.TrafficSchedulers `protobuf:"bytes,1,opt,name=traffSchedulers,proto3" json:"traffSchedulers,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
+	XXX_unrecognized     []byte                          `json:"-"`
+	XXX_sizecache        int32                           `json:"-"`
+}
+
+func (m *ONUTrafficSchedulers) Reset()         { *m = ONUTrafficSchedulers{} }
+func (m *ONUTrafficSchedulers) String() string { return proto.CompactTextString(m) }
+func (*ONUTrafficSchedulers) ProtoMessage()    {}
+func (*ONUTrafficSchedulers) Descriptor() ([]byte, []int) {
+	return fileDescriptor_ef7750073d18011b, []int{4}
+}
+
+func (m *ONUTrafficSchedulers) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ONUTrafficSchedulers.Unmarshal(m, b)
+}
+func (m *ONUTrafficSchedulers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ONUTrafficSchedulers.Marshal(b, m, deterministic)
+}
+func (m *ONUTrafficSchedulers) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ONUTrafficSchedulers.Merge(m, src)
+}
+func (m *ONUTrafficSchedulers) XXX_Size() int {
+	return xxx_messageInfo_ONUTrafficSchedulers.Size(m)
+}
+func (m *ONUTrafficSchedulers) XXX_DiscardUnknown() {
+	xxx_messageInfo_ONUTrafficSchedulers.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ONUTrafficSchedulers proto.InternalMessageInfo
+
+func (m *ONUTrafficSchedulers) GetTraffSchedulers() *tech_profile.TrafficSchedulers {
+	if m != nil {
+		return m.TraffSchedulers
+	}
+	return nil
+}
+
 type ONUs struct {
 	Items                []*ONU   `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -419,7 +459,7 @@
 func (m *ONUs) String() string { return proto.CompactTextString(m) }
 func (*ONUs) ProtoMessage()    {}
 func (*ONUs) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{4}
+	return fileDescriptor_ef7750073d18011b, []int{5}
 }
 
 func (m *ONUs) XXX_Unmarshal(b []byte) error {
@@ -458,7 +498,7 @@
 func (m *ONURequest) String() string { return proto.CompactTextString(m) }
 func (*ONURequest) ProtoMessage()    {}
 func (*ONURequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{5}
+	return fileDescriptor_ef7750073d18011b, []int{6}
 }
 
 func (m *ONURequest) XXX_Unmarshal(b []byte) error {
@@ -496,7 +536,7 @@
 func (m *AlarmType) String() string { return proto.CompactTextString(m) }
 func (*AlarmType) ProtoMessage()    {}
 func (*AlarmType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{6}
+	return fileDescriptor_ef7750073d18011b, []int{7}
 }
 
 func (m *AlarmType) XXX_Unmarshal(b []byte) error {
@@ -529,7 +569,7 @@
 func (m *AlarmParameter) String() string { return proto.CompactTextString(m) }
 func (*AlarmParameter) ProtoMessage()    {}
 func (*AlarmParameter) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{7}
+	return fileDescriptor_ef7750073d18011b, []int{8}
 }
 
 func (m *AlarmParameter) XXX_Unmarshal(b []byte) error {
@@ -565,7 +605,7 @@
 }
 
 // AlarmRequest includes fields common to every alarm,
-// plus an optional list of AlarmParemter list that can be used
+// plus an optional list of AlarmParameter list that can be used
 // to set additional fields in alarms that support them.
 type AlarmRequest struct {
 	AlarmType            string            `protobuf:"bytes,1,opt,name=AlarmType,proto3" json:"AlarmType,omitempty"`
@@ -581,7 +621,7 @@
 func (m *AlarmRequest) String() string { return proto.CompactTextString(m) }
 func (*AlarmRequest) ProtoMessage()    {}
 func (*AlarmRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{8}
+	return fileDescriptor_ef7750073d18011b, []int{9}
 }
 
 func (m *AlarmRequest) XXX_Unmarshal(b []byte) error {
@@ -644,7 +684,7 @@
 func (m *VersionNumber) String() string { return proto.CompactTextString(m) }
 func (*VersionNumber) ProtoMessage()    {}
 func (*VersionNumber) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{9}
+	return fileDescriptor_ef7750073d18011b, []int{10}
 }
 
 func (m *VersionNumber) XXX_Unmarshal(b []byte) error {
@@ -705,7 +745,7 @@
 func (m *LogLevel) String() string { return proto.CompactTextString(m) }
 func (*LogLevel) ProtoMessage()    {}
 func (*LogLevel) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{10}
+	return fileDescriptor_ef7750073d18011b, []int{11}
 }
 
 func (m *LogLevel) XXX_Unmarshal(b []byte) error {
@@ -752,7 +792,7 @@
 func (m *Response) String() string { return proto.CompactTextString(m) }
 func (*Response) ProtoMessage()    {}
 func (*Response) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{11}
+	return fileDescriptor_ef7750073d18011b, []int{12}
 }
 
 func (m *Response) XXX_Unmarshal(b []byte) error {
@@ -799,7 +839,7 @@
 func (m *IgmpRequest) String() string { return proto.CompactTextString(m) }
 func (*IgmpRequest) ProtoMessage()    {}
 func (*IgmpRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{12}
+	return fileDescriptor_ef7750073d18011b, []int{13}
 }
 
 func (m *IgmpRequest) XXX_Unmarshal(b []byte) error {
@@ -844,7 +884,7 @@
 func (m *Empty) String() string { return proto.CompactTextString(m) }
 func (*Empty) ProtoMessage()    {}
 func (*Empty) Descriptor() ([]byte, []int) {
-	return fileDescriptor_ef7750073d18011b, []int{13}
+	return fileDescriptor_ef7750073d18011b, []int{14}
 }
 
 func (m *Empty) XXX_Unmarshal(b []byte) error {
@@ -872,6 +912,7 @@
 	proto.RegisterType((*NNIPort)(nil), "bbsim.NNIPort")
 	proto.RegisterType((*Olt)(nil), "bbsim.Olt")
 	proto.RegisterType((*ONU)(nil), "bbsim.ONU")
+	proto.RegisterType((*ONUTrafficSchedulers)(nil), "bbsim.ONUTrafficSchedulers")
 	proto.RegisterType((*ONUs)(nil), "bbsim.ONUs")
 	proto.RegisterType((*ONURequest)(nil), "bbsim.ONURequest")
 	proto.RegisterType((*AlarmType)(nil), "bbsim.AlarmType")
@@ -887,85 +928,90 @@
 func init() { proto.RegisterFile("api/bbsim/bbsim.proto", fileDescriptor_ef7750073d18011b) }
 
 var fileDescriptor_ef7750073d18011b = []byte{
-	// 1097 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdf, 0x6e, 0xea, 0xc6,
-	0x13, 0x86, 0x80, 0xf9, 0x33, 0x10, 0xe2, 0x4c, 0xfe, 0xfc, 0xac, 0x28, 0xfa, 0x35, 0xb2, 0x4e,
-	0xab, 0x9c, 0xa3, 0x36, 0xa7, 0x27, 0x69, 0xd5, 0x54, 0xea, 0x8d, 0x03, 0x0e, 0x71, 0x0f, 0xb1,
-	0xd1, 0xda, 0x10, 0xe5, 0xca, 0x32, 0xb0, 0x22, 0x96, 0x6c, 0xcc, 0xb1, 0xcd, 0x89, 0xf2, 0x00,
-	0x7d, 0x8e, 0x3e, 0x49, 0xdf, 0xa1, 0x37, 0xbd, 0xed, 0x7b, 0xf4, 0xae, 0x5a, 0x7b, 0x6d, 0x20,
-	0x89, 0x2a, 0xd4, 0x9b, 0xde, 0xa0, 0x9d, 0x6f, 0xbe, 0x6f, 0x76, 0x66, 0x76, 0x77, 0x0c, 0x1c,
-	0x38, 0x73, 0xf7, 0xfd, 0x68, 0x14, 0xb9, 0x7e, 0xfa, 0x7b, 0x36, 0x0f, 0x83, 0x38, 0x40, 0x21,
-	0x31, 0xe4, 0x1f, 0xa0, 0xda, 0x37, 0xf4, 0x7e, 0x10, 0xc6, 0xd8, 0x82, 0x2d, 0xad, 0x23, 0x15,
-	0x4f, 0x8a, 0xa7, 0x02, 0xd9, 0xd2, 0x3a, 0x78, 0x0c, 0x75, 0x63, 0x4e, 0x43, 0x33, 0x76, 0x62,
-	0x2a, 0x6d, 0x9d, 0x14, 0x4f, 0xeb, 0x64, 0x09, 0x30, 0xa1, 0xae, 0x6b, 0xff, 0x42, 0xf8, 0x47,
-	0x11, 0x4a, 0x86, 0xf7, 0x52, 0x25, 0x43, 0xd3, 0xa4, 0xa1, 0xeb, 0x78, 0xfa, 0xc2, 0x1f, 0xd1,
-	0x90, 0x0b, 0xd7, 0xb0, 0xf5, 0xc8, 0xa5, 0x67, 0x91, 0xf1, 0x0d, 0x6c, 0x6b, 0xb3, 0x98, 0x86,
-	0x33, 0xc7, 0x4b, 0x19, 0xe5, 0x84, 0xb1, 0x0e, 0xe2, 0x3b, 0xa8, 0xf1, 0xc4, 0x23, 0x49, 0x38,
-	0x29, 0x9d, 0x36, 0xce, 0x5b, 0x67, 0x69, 0x63, 0x38, 0x4c, 0x72, 0x3f, 0xe3, 0xf2, 0xee, 0x44,
-	0x52, 0x65, 0x8d, 0xcb, 0x61, 0x92, 0xfb, 0xe5, 0xbf, 0x58, 0x5d, 0xfa, 0xe0, 0x3f, 0xab, 0xeb,
-	0x18, 0xea, 0xfd, 0x60, 0xc6, 0x72, 0xd1, 0x3a, 0x92, 0x90, 0x6c, 0xbf, 0x04, 0x10, 0xa1, 0x6c,
-	0x5a, 0xce, 0x54, 0xaa, 0x24, 0x8e, 0x64, 0xcd, 0xb0, 0x36, 0xc3, 0xaa, 0x29, 0xc6, 0xd6, 0x2c,
-	0xca, 0xcd, 0xa3, 0x32, 0x99, 0x84, 0x34, 0x8a, 0xa4, 0x5a, 0x9a, 0x49, 0x0e, 0xe0, 0x21, 0x54,
-	0x58, 0x3c, 0x3d, 0x90, 0xea, 0x89, 0x86, 0x5b, 0xf2, 0x29, 0x94, 0x0d, 0x7d, 0x10, 0xe1, 0x09,
-	0x08, 0x6e, 0x4c, 0xfd, 0x48, 0x2a, 0x26, 0xcd, 0x02, 0xde, 0x2c, 0x43, 0x1f, 0x90, 0xd4, 0x21,
-	0x7f, 0x0b, 0xc0, 0x2c, 0xfa, 0x69, 0x41, 0xa3, 0xf8, 0x45, 0x6f, 0x8a, 0x2f, 0x7b, 0x23, 0xff,
-	0x59, 0x82, 0xba, 0xe2, 0x39, 0xa1, 0x6f, 0x3d, 0xcd, 0xa9, 0xfc, 0x7b, 0x09, 0x04, 0xb6, 0x88,
-	0xb0, 0x0a, 0xa5, 0x9e, 0x61, 0x8a, 0x05, 0x6c, 0x01, 0x74, 0xee, 0x35, 0xbd, 0x6b, 0x77, 0x15,
-	0xb3, 0x2f, 0x16, 0x71, 0x1b, 0xea, 0x86, 0x3e, 0xb0, 0x95, 0x9e, 0x42, 0x6e, 0xc5, 0x2d, 0xfc,
-	0x1f, 0xec, 0x31, 0xd3, 0xb4, 0x14, 0x62, 0x0d, 0xfa, 0xf6, 0xb5, 0xa2, 0xf5, 0x06, 0x44, 0x15,
-	0x4b, 0x78, 0x08, 0x98, 0x38, 0xb4, 0xae, 0xae, 0xf4, 0xec, 0x8e, 0xda, 0x25, 0x4a, 0x47, 0x15,
-	0xcb, 0x99, 0xa0, 0x43, 0xb4, 0x6b, 0xcb, 0x36, 0xae, 0xed, 0x3b, 0x4d, 0xef, 0x18, 0x77, 0xa2,
-	0x80, 0xc7, 0x20, 0x31, 0x47, 0xcf, 0x30, 0x4d, 0x86, 0x1b, 0xb7, 0x6d, 0xcd, 0x6e, 0xdf, 0x28,
-	0xba, 0xae, 0xf6, 0xc4, 0x4a, 0xbe, 0x4f, 0x12, 0xce, 0xcc, 0xf7, 0xa9, 0xe2, 0x5b, 0xf8, 0x92,
-	0x39, 0x2c, 0xa2, 0xe8, 0xe6, 0xad, 0x66, 0x9a, 0x9a, 0xa1, 0xdb, 0x9a, 0x6e, 0xa9, 0xe4, 0x5a,
-	0x25, 0xaa, 0xde, 0x56, 0xed, 0x3b, 0x85, 0xe8, 0x9a, 0xde, 0x15, 0x6b, 0x78, 0x04, 0x87, 0x49,
-	0xea, 0x6d, 0x4b, 0x1b, 0x2a, 0x16, 0x23, 0x66, 0x61, 0xea, 0x28, 0xc1, 0x3e, 0xf3, 0xf5, 0x89,
-	0xd1, 0x56, 0x4d, 0x93, 0xd5, 0xab, 0x12, 0x62, 0x10, 0x11, 0xf0, 0x04, 0x8e, 0x57, 0xf3, 0xfa,
-	0xa8, 0xde, 0xdb, 0xe6, 0xbd, 0xde, 0xce, 0xb5, 0x0d, 0x3c, 0x80, 0x5d, 0xc6, 0xd0, 0xac, 0x81,
-	0xdd, 0x37, 0x74, 0xd6, 0x0b, 0xcb, 0x14, 0x9b, 0xb8, 0x0b, 0xdb, 0x79, 0xa7, 0x98, 0x5c, 0xdc,
-	0x7e, 0x0e, 0x5d, 0x89, 0xad, 0xac, 0xb0, 0x0c, 0xea, 0xb7, 0x6d, 0x56, 0x85, 0xb8, 0x93, 0xf5,
-	0x63, 0xcd, 0xd1, 0xe6, 0x59, 0x89, 0x88, 0xd0, 0x5a, 0xf5, 0x5e, 0x6b, 0xe2, 0x2e, 0xee, 0xc1,
-	0xce, 0x2a, 0xa6, 0xdc, 0x6a, 0x22, 0xca, 0x97, 0xd0, 0x4a, 0xce, 0xb7, 0xef, 0x84, 0x8e, 0x4f,
-	0x63, 0x1a, 0xa2, 0x08, 0xa5, 0x8f, 0xf4, 0x89, 0xdf, 0x06, 0xb6, 0xc4, 0x7d, 0x10, 0x86, 0x8e,
-	0xb7, 0xc8, 0xc6, 0x49, 0x6a, 0xc8, 0xbf, 0x16, 0xa1, 0x99, 0x48, 0xb3, 0xfb, 0x74, 0xbc, 0x72,
-	0x55, 0xb8, 0x7c, 0x09, 0x6c, 0xf4, 0x12, 0x0f, 0xa1, 0xc2, 0x9e, 0xd3, 0x22, 0xe2, 0xcf, 0x90,
-	0x5b, 0xf8, 0x3d, 0x40, 0x9e, 0x5f, 0x24, 0x95, 0x93, 0xeb, 0x7d, 0xc0, 0xaf, 0xf7, 0x7a, 0xf6,
-	0x64, 0x85, 0x28, 0xff, 0x52, 0x84, 0xed, 0x21, 0x0d, 0x23, 0x37, 0x98, 0xf1, 0x0d, 0x24, 0xa8,
-	0x7e, 0x4e, 0x01, 0x9e, 0x60, 0x66, 0xb2, 0xe4, 0x47, 0x0b, 0xd7, 0x9b, 0x58, 0xae, 0x9f, 0x8f,
-	0xcd, 0x1c, 0xc0, 0xff, 0x03, 0x8c, 0x03, 0xdf, 0x77, 0xe3, 0x1b, 0x27, 0x7a, 0xe0, 0xc9, 0xad,
-	0x20, 0x4c, 0x3d, 0x75, 0x63, 0x9e, 0x7b, 0x3a, 0x20, 0x96, 0x80, 0x7c, 0x09, 0xb5, 0x5e, 0x30,
-	0xed, 0xd1, 0xcf, 0xd4, 0x63, 0xbd, 0xf4, 0xd8, 0x82, 0xef, 0x9f, 0x1a, 0xac, 0xf0, 0xb1, 0xe3,
-	0x79, 0xbc, 0x2d, 0x35, 0xc2, 0x2d, 0x59, 0x85, 0x1a, 0xa1, 0xd1, 0x3c, 0x98, 0x45, 0x14, 0xbf,
-	0x80, 0x46, 0x94, 0xc4, 0xb3, 0xc7, 0xc1, 0x84, 0xf2, 0x19, 0x07, 0x29, 0xd4, 0x0e, 0x26, 0x94,
-	0x15, 0xe7, 0xd3, 0x28, 0x72, 0xa6, 0x59, 0x01, 0x99, 0x29, 0x47, 0xd0, 0xd0, 0xa6, 0xfe, 0x3c,
-	0x3b, 0xa8, 0xb7, 0x50, 0x31, 0x66, 0x0b, 0x42, 0x3f, 0x25, 0x41, 0x1a, 0xe7, 0xbb, 0x2b, 0x93,
-	0x22, 0xa5, 0x10, 0x4e, 0xc0, 0x1f, 0xa1, 0x69, 0x2e, 0x46, 0xca, 0x38, 0x76, 0x83, 0xd9, 0xd0,
-	0xf1, 0x92, 0xc0, 0xad, 0xbc, 0xf7, 0xb9, 0x2b, 0x19, 0x0a, 0x64, 0x8d, 0x2a, 0x57, 0x41, 0x50,
-	0xfd, 0x79, 0xfc, 0xf4, 0xee, 0x03, 0xb4, 0xd6, 0x89, 0x58, 0x83, 0xf2, 0xcf, 0x86, 0xa6, 0x8b,
-	0x05, 0xac, 0x83, 0xd0, 0x53, 0x95, 0xa1, 0x2a, 0x16, 0x11, 0xa0, 0xc2, 0xc0, 0xe1, 0x85, 0xb8,
-	0x75, 0xfe, 0x9b, 0x00, 0xc2, 0xd5, 0x95, 0xe9, 0xfa, 0xf8, 0x1e, 0xaa, 0xfc, 0x08, 0xb1, 0xc9,
-	0x77, 0x4d, 0xa2, 0x1e, 0xed, 0x73, 0x6b, 0xed, 0x80, 0xe5, 0x02, 0xbe, 0x81, 0x4a, 0x97, 0xc6,
-	0xec, 0x1b, 0xb7, 0xce, 0xcf, 0xc7, 0xa1, 0x17, 0xcb, 0x05, 0xfc, 0x06, 0xa0, 0x1f, 0x3c, 0xd2,
-	0x30, 0x98, 0xbd, 0x64, 0xee, 0x70, 0x2b, 0xeb, 0xbc, 0x5c, 0xc0, 0x33, 0x68, 0x98, 0x0f, 0x8b,
-	0x78, 0x12, 0x3c, 0x6e, 0xc6, 0xff, 0x1a, 0xea, 0x84, 0x8e, 0x82, 0x20, 0xde, 0x88, 0xfd, 0x15,
-	0x54, 0x59, 0xca, 0x6c, 0x86, 0xaf, 0x73, 0x1b, 0xcb, 0x83, 0x89, 0xe4, 0x02, 0x3b, 0xb7, 0x94,
-	0x87, 0x2f, 0x4f, 0xec, 0x68, 0x65, 0xdc, 0xcb, 0x05, 0xfc, 0x00, 0x0d, 0x93, 0xc6, 0xf9, 0xad,
-	0xcb, 0x36, 0xcd, 0x80, 0xa3, 0xe7, 0x80, 0x5c, 0xc0, 0x8b, 0x95, 0x1a, 0x5f, 0xdf, 0xe2, 0x95,
-	0xd4, 0xcf, 0x97, 0x7d, 0xdc, 0x58, 0xf3, 0x1d, 0x34, 0x09, 0x8d, 0x62, 0x27, 0x8c, 0x55, 0x67,
-	0x1e, 0x78, 0x1b, 0xaa, 0x2e, 0xa0, 0xc1, 0x55, 0x9d, 0x87, 0xf1, 0x7c, 0x43, 0xd1, 0x4f, 0x80,
-	0x26, 0x8d, 0x93, 0x11, 0xa1, 0xcd, 0x26, 0xee, 0xd8, 0x61, 0x77, 0x10, 0xf7, 0x56, 0x47, 0xc7,
-	0x3f, 0xa8, 0x2f, 0x61, 0xa7, 0xfd, 0xe0, 0xcc, 0xa6, 0x94, 0x3d, 0x9e, 0xf4, 0x3b, 0x8f, 0x9c,
-	0xb5, 0xf2, 0x9c, 0x5e, 0x51, 0x8e, 0x2a, 0xc9, 0xdf, 0xbc, 0x8b, 0xbf, 0x03, 0x00, 0x00, 0xff,
-	0xff, 0x8d, 0xb6, 0x31, 0x2d, 0xff, 0x09, 0x00, 0x00,
+	// 1172 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4f, 0x6f, 0xe2, 0x46,
+	0x14, 0x87, 0xf0, 0xff, 0x41, 0x88, 0x33, 0xbb, 0x9b, 0xb5, 0xd2, 0xa8, 0x8b, 0xac, 0x6d, 0x95,
+	0x5d, 0xb5, 0xd9, 0x6e, 0xd2, 0xaa, 0x5b, 0xa9, 0x17, 0x07, 0x1c, 0xe2, 0x86, 0x8c, 0xd1, 0xd8,
+	0x10, 0xe5, 0x64, 0x19, 0x98, 0x80, 0x25, 0x1b, 0xb3, 0xb6, 0x49, 0x94, 0x0f, 0xd0, 0x4b, 0xbf,
+	0x44, 0xbf, 0x52, 0x2f, 0xbd, 0xf6, 0x7b, 0xf4, 0x56, 0x8d, 0x3d, 0x36, 0x38, 0x44, 0x15, 0xea,
+	0xa5, 0x17, 0x34, 0xef, 0xf7, 0x7e, 0xbf, 0x37, 0x6f, 0xde, 0x9b, 0x79, 0x18, 0x5e, 0x59, 0x0b,
+	0xfb, 0xc3, 0x68, 0x14, 0xd8, 0x6e, 0xfc, 0x7b, 0xb2, 0xf0, 0xbd, 0xd0, 0x43, 0xa5, 0xc8, 0x38,
+	0x6c, 0xdd, 0x7b, 0x4e, 0x38, 0xb3, 0xcc, 0x08, 0x0c, 0x3e, 0x84, 0x74, 0x3c, 0x63, 0xeb, 0x3b,
+	0xdb, 0xa1, 0x31, 0x51, 0xfa, 0x11, 0x2a, 0x7d, 0x0d, 0xf7, 0x3d, 0x3f, 0x44, 0x4d, 0xd8, 0x51,
+	0x3b, 0x62, 0xbe, 0x95, 0x3f, 0x2e, 0x91, 0x1d, 0xb5, 0x83, 0x8e, 0xa0, 0xa6, 0x2d, 0xa8, 0xaf,
+	0x87, 0x56, 0x48, 0xc5, 0x9d, 0x56, 0xfe, 0xb8, 0x46, 0x56, 0x00, 0x13, 0x62, 0xac, 0xfe, 0x07,
+	0xe1, 0x9f, 0x79, 0x28, 0x68, 0xce, 0xa6, 0x4a, 0x82, 0x86, 0x4e, 0x7d, 0xdb, 0x72, 0xf0, 0xd2,
+	0x1d, 0x51, 0x9f, 0x0b, 0x33, 0x58, 0x36, 0x72, 0xe1, 0x49, 0x64, 0xf4, 0x16, 0x76, 0xd5, 0x79,
+	0x48, 0xfd, 0xb9, 0xe5, 0xc4, 0x8c, 0x62, 0xc4, 0xc8, 0x82, 0xe8, 0x3d, 0x54, 0x79, 0xe2, 0x81,
+	0x58, 0x6a, 0x15, 0x8e, 0xeb, 0xa7, 0xcd, 0x93, 0xb8, 0x74, 0x1c, 0x26, 0xa9, 0x9f, 0x71, 0x79,
+	0x75, 0x02, 0xb1, 0x9c, 0xe1, 0x72, 0x98, 0xa4, 0x7e, 0xe9, 0x6f, 0x76, 0x2e, 0x3c, 0xf8, 0xdf,
+	0xce, 0x75, 0x04, 0xb5, 0xbe, 0x37, 0x67, 0xb9, 0xa8, 0x1d, 0xb1, 0x14, 0x6d, 0xbf, 0x02, 0x10,
+	0x82, 0xa2, 0x6e, 0x58, 0x53, 0xb1, 0x1c, 0x39, 0xa2, 0x35, 0xc3, 0xda, 0x0c, 0xab, 0xc4, 0x18,
+	0x5b, 0xb3, 0x28, 0x97, 0x0f, 0xf2, 0x64, 0xe2, 0xd3, 0x20, 0x10, 0xab, 0x71, 0x26, 0x29, 0x80,
+	0x0e, 0xa0, 0xcc, 0xe2, 0x61, 0x4f, 0xac, 0x45, 0x1a, 0x6e, 0x49, 0x16, 0xbc, 0xd4, 0xf0, 0xc0,
+	0xf0, 0xad, 0xbb, 0x3b, 0x7b, 0xac, 0x8f, 0x67, 0x74, 0xb2, 0x74, 0xa8, 0x1f, 0x20, 0x15, 0xf6,
+	0x42, 0x06, 0xae, 0xa0, 0xa8, 0x30, 0xf5, 0xd3, 0x37, 0x27, 0x99, 0xbb, 0xb8, 0xa1, 0x24, 0x4f,
+	0x75, 0xd2, 0x31, 0x14, 0x35, 0x3c, 0x08, 0x50, 0x0b, 0x4a, 0x76, 0x48, 0x5d, 0x16, 0x88, 0xf5,
+	0x03, 0x78, 0x3f, 0x34, 0x3c, 0x20, 0xb1, 0x43, 0xfa, 0x0e, 0x80, 0x59, 0xf4, 0xf3, 0x92, 0x06,
+	0xe1, 0x46, 0xf9, 0xf3, 0x9b, 0xe5, 0x97, 0xfe, 0x2a, 0x40, 0x4d, 0x76, 0x2c, 0xdf, 0x35, 0x1e,
+	0x17, 0x54, 0xfa, 0xa3, 0x00, 0x25, 0xb6, 0x08, 0x50, 0x05, 0x0a, 0x3d, 0x4d, 0x17, 0x72, 0xa8,
+	0x09, 0xd0, 0xb9, 0x55, 0x71, 0xd7, 0xec, 0xca, 0x7a, 0x5f, 0xc8, 0xa3, 0x5d, 0xa8, 0x69, 0x78,
+	0x60, 0xca, 0x3d, 0x99, 0x5c, 0x0b, 0x3b, 0xe8, 0x35, 0xbc, 0x60, 0xa6, 0x6e, 0xc8, 0xc4, 0x18,
+	0xf4, 0xcd, 0x0b, 0x59, 0xed, 0x0d, 0x88, 0x22, 0x14, 0xd0, 0x01, 0xa0, 0xc8, 0xa1, 0x76, 0xb1,
+	0xdc, 0x33, 0x3b, 0x4a, 0x97, 0xc8, 0x1d, 0x45, 0x28, 0x26, 0x82, 0x0e, 0x51, 0x2f, 0x0c, 0x53,
+	0xbb, 0x30, 0x6f, 0x54, 0xdc, 0xd1, 0x6e, 0x84, 0x12, 0x3a, 0x02, 0x91, 0x39, 0x7a, 0x9a, 0xae,
+	0x33, 0x5c, 0xbb, 0x6e, 0xab, 0x66, 0xfb, 0x52, 0xc6, 0x58, 0xe9, 0x09, 0xe5, 0x74, 0x9f, 0x28,
+	0x9c, 0x9e, 0xee, 0x53, 0x41, 0xef, 0xe0, 0x2b, 0xe6, 0x30, 0x88, 0x8c, 0xf5, 0x6b, 0x55, 0xd7,
+	0x55, 0x0d, 0x9b, 0x2a, 0x36, 0x14, 0x72, 0xa1, 0x10, 0x05, 0xb7, 0x15, 0xf3, 0x46, 0x26, 0x58,
+	0xc5, 0x5d, 0xa1, 0x8a, 0x0e, 0xe1, 0x20, 0x4a, 0xbd, 0x6d, 0xa8, 0x43, 0xd9, 0x60, 0xc4, 0x24,
+	0x4c, 0x0d, 0x89, 0x51, 0x1b, 0xcd, 0x3e, 0xd1, 0xda, 0x8a, 0xae, 0xb3, 0xf3, 0x2a, 0x84, 0x68,
+	0x44, 0x00, 0xd4, 0x82, 0xa3, 0xf5, 0xbc, 0xae, 0x94, 0x5b, 0x53, 0xbf, 0xc5, 0xed, 0x54, 0x5b,
+	0x47, 0xaf, 0x60, 0x9f, 0x31, 0x54, 0x63, 0x60, 0xf6, 0x35, 0xcc, 0x6a, 0x61, 0xe8, 0x42, 0x03,
+	0xed, 0xc3, 0x6e, 0x5a, 0x29, 0x26, 0x17, 0x76, 0x9f, 0x42, 0xe7, 0x42, 0x33, 0x39, 0x58, 0x02,
+	0xf5, 0xdb, 0x26, 0x3b, 0x85, 0xb0, 0x97, 0xd4, 0x23, 0xe3, 0x68, 0xf3, 0xac, 0x04, 0x84, 0xa0,
+	0xb9, 0xee, 0xbd, 0x50, 0x85, 0x7d, 0xf4, 0x02, 0xf6, 0xd6, 0x31, 0xf9, 0x5a, 0x15, 0x90, 0xf4,
+	0x09, 0x9a, 0x51, 0x7f, 0xfb, 0x96, 0x6f, 0xb9, 0x34, 0xa4, 0x3e, 0x12, 0xa0, 0x70, 0x45, 0x1f,
+	0xf9, 0x6d, 0x60, 0x4b, 0xf4, 0x12, 0x4a, 0x43, 0xcb, 0x59, 0x26, 0x13, 0x2b, 0x36, 0xa4, 0xdf,
+	0xf3, 0xd0, 0x88, 0xa4, 0xc9, 0x7d, 0x3a, 0x5a, 0xbb, 0x2a, 0x5c, 0xbe, 0x02, 0xb6, 0x7a, 0xec,
+	0x07, 0x50, 0x66, 0x2f, 0x76, 0x19, 0xf0, 0x97, 0xce, 0x2d, 0xf4, 0x03, 0x40, 0x9a, 0x5f, 0x20,
+	0x16, 0xa3, 0xeb, 0xfd, 0x8a, 0x5f, 0xef, 0x6c, 0xf6, 0x64, 0x8d, 0x28, 0xfd, 0x9a, 0x87, 0xdd,
+	0x21, 0xf5, 0x03, 0xdb, 0x9b, 0xf3, 0x0d, 0x44, 0xa8, 0xdc, 0xc7, 0x00, 0x4f, 0x30, 0x31, 0x59,
+	0xf2, 0xa3, 0xa5, 0xed, 0x4c, 0x0c, 0xdb, 0x4d, 0x27, 0x73, 0x0a, 0xa0, 0x2f, 0x01, 0xc6, 0x9e,
+	0xeb, 0xda, 0xe1, 0xa5, 0x15, 0xcc, 0x78, 0x72, 0x6b, 0x08, 0x53, 0x4f, 0xed, 0x90, 0xe7, 0x1e,
+	0xcf, 0xa0, 0x15, 0x20, 0x7d, 0x82, 0x6a, 0xcf, 0x9b, 0xf6, 0xe8, 0x3d, 0x75, 0x58, 0x2d, 0x1d,
+	0xb6, 0xe0, 0xfb, 0xc7, 0x06, 0x3b, 0xf8, 0xd8, 0x72, 0x1c, 0x5e, 0x96, 0x2a, 0xe1, 0x96, 0xa4,
+	0x40, 0x95, 0xd0, 0x60, 0xe1, 0xcd, 0x03, 0x8a, 0xde, 0x40, 0x3d, 0x88, 0xe2, 0x99, 0x63, 0x6f,
+	0x42, 0xf9, 0x18, 0x85, 0x18, 0x6a, 0x7b, 0x13, 0xca, 0x0e, 0xe7, 0xd2, 0x20, 0xb0, 0xa6, 0xc9,
+	0x01, 0x12, 0x53, 0x0a, 0xa0, 0xae, 0x4e, 0xdd, 0x45, 0xd2, 0xa8, 0x77, 0x50, 0xd6, 0xe6, 0x4b,
+	0x42, 0x3f, 0xf3, 0x91, 0xb3, 0xbf, 0x36, 0x29, 0x62, 0x0a, 0xe1, 0x04, 0xf4, 0x13, 0x34, 0xf4,
+	0xe5, 0x48, 0x1e, 0x87, 0xb6, 0x37, 0x1f, 0x5a, 0x4e, 0x14, 0xb8, 0x99, 0xd6, 0x3e, 0x75, 0x45,
+	0x43, 0x81, 0x64, 0xa8, 0x52, 0x05, 0x4a, 0x8a, 0xbb, 0x08, 0x1f, 0xdf, 0x7f, 0x84, 0x66, 0x96,
+	0x88, 0xaa, 0x50, 0xfc, 0x45, 0x53, 0xb1, 0x90, 0x43, 0x35, 0x28, 0xf5, 0x14, 0x79, 0xa8, 0x08,
+	0x79, 0x04, 0x50, 0x66, 0xe0, 0xf0, 0x4c, 0xd8, 0x39, 0xfd, 0xad, 0x0c, 0xa5, 0xf3, 0x73, 0xdd,
+	0x76, 0xd1, 0x07, 0xa8, 0xf0, 0x16, 0xa2, 0x06, 0xdf, 0x35, 0x8a, 0x7a, 0xf8, 0x92, 0x5b, 0x99,
+	0x06, 0x4b, 0x39, 0xf4, 0x16, 0xca, 0x5d, 0x1a, 0xb2, 0xbf, 0xd1, 0x2c, 0x3f, 0x1d, 0x87, 0x4e,
+	0x28, 0xe5, 0xd0, 0xb7, 0x00, 0x7d, 0xef, 0x81, 0xfa, 0xde, 0x7c, 0x93, 0xb9, 0xc7, 0xad, 0xa4,
+	0xf2, 0x52, 0x0e, 0x9d, 0x40, 0x5d, 0x9f, 0x2d, 0xc3, 0x89, 0xf7, 0xb0, 0x1d, 0xff, 0x1b, 0xa8,
+	0x11, 0x3a, 0xf2, 0xbc, 0x70, 0x2b, 0xf6, 0xd7, 0x50, 0x61, 0x29, 0xb3, 0x19, 0x9e, 0xe5, 0xd6,
+	0x57, 0x8d, 0x09, 0xa4, 0x1c, 0xeb, 0x5b, 0xcc, 0x43, 0x9b, 0x1d, 0x3b, 0x5c, 0x1b, 0xf7, 0x52,
+	0x0e, 0x7d, 0x84, 0xba, 0x4e, 0xc3, 0xf4, 0xd6, 0x25, 0x9b, 0x26, 0xc0, 0xe1, 0x53, 0x40, 0xca,
+	0xa1, 0xb3, 0xb5, 0x33, 0x3e, 0xbf, 0xc5, 0x33, 0xa9, 0x9f, 0xae, 0xea, 0xb8, 0xb5, 0xe6, 0x7b,
+	0x68, 0x10, 0x1a, 0x84, 0x96, 0x1f, 0x2a, 0xd6, 0xc2, 0x73, 0xb6, 0x54, 0x9d, 0x41, 0x9d, 0xab,
+	0x3a, 0xb3, 0xf1, 0x62, 0x4b, 0xd1, 0xcf, 0x80, 0x74, 0x1a, 0x46, 0x23, 0x42, 0x9d, 0x4f, 0xec,
+	0xb1, 0xc5, 0xee, 0x20, 0x7a, 0xb1, 0x3e, 0x3a, 0xfe, 0x45, 0xfd, 0x09, 0xf6, 0xda, 0x33, 0x6b,
+	0x3e, 0xa5, 0xec, 0xf1, 0xc4, 0x9f, 0x12, 0x88, 0xb3, 0xd6, 0x9e, 0xd3, 0x73, 0xca, 0x2b, 0x78,
+	0xcd, 0x3a, 0x35, 0x5f, 0x6e, 0xfe, 0xf1, 0x3f, 0x93, 0xf8, 0x17, 0x2b, 0x68, 0x83, 0x2f, 0xe5,
+	0x46, 0xe5, 0xe8, 0x7b, 0xf4, 0xec, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x87, 0x16, 0x3d, 0xe3,
+	0xd1, 0x0a, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ context.Context
-var _ grpc.ClientConn
+var _ grpc.ClientConnInterface
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
+const _ = grpc.SupportPackageIsVersion6
 
 // BBSimClient is the client API for BBSim service.
 //
@@ -985,13 +1031,14 @@
 	RestartDhcp(ctx context.Context, in *ONURequest, opts ...grpc.CallOption) (*Response, error)
 	SetAlarmIndication(ctx context.Context, in *AlarmRequest, opts ...grpc.CallOption) (*Response, error)
 	ChangeIgmpState(ctx context.Context, in *IgmpRequest, opts ...grpc.CallOption) (*Response, error)
+	GetOnuTrafficSchedulers(ctx context.Context, in *ONURequest, opts ...grpc.CallOption) (*ONUTrafficSchedulers, error)
 }
 
 type bBSimClient struct {
-	cc *grpc.ClientConn
+	cc grpc.ClientConnInterface
 }
 
-func NewBBSimClient(cc *grpc.ClientConn) BBSimClient {
+func NewBBSimClient(cc grpc.ClientConnInterface) BBSimClient {
 	return &bBSimClient{cc}
 }
 
@@ -1121,6 +1168,15 @@
 	return out, nil
 }
 
+func (c *bBSimClient) GetOnuTrafficSchedulers(ctx context.Context, in *ONURequest, opts ...grpc.CallOption) (*ONUTrafficSchedulers, error) {
+	out := new(ONUTrafficSchedulers)
+	err := c.cc.Invoke(ctx, "/bbsim.BBSim/GetOnuTrafficSchedulers", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // BBSimServer is the server API for BBSim service.
 type BBSimServer interface {
 	Version(context.Context, *Empty) (*VersionNumber, error)
@@ -1137,6 +1193,7 @@
 	RestartDhcp(context.Context, *ONURequest) (*Response, error)
 	SetAlarmIndication(context.Context, *AlarmRequest) (*Response, error)
 	ChangeIgmpState(context.Context, *IgmpRequest) (*Response, error)
+	GetOnuTrafficSchedulers(context.Context, *ONURequest) (*ONUTrafficSchedulers, error)
 }
 
 // UnimplementedBBSimServer can be embedded to have forward compatible implementations.
@@ -1185,6 +1242,9 @@
 func (*UnimplementedBBSimServer) ChangeIgmpState(ctx context.Context, req *IgmpRequest) (*Response, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method ChangeIgmpState not implemented")
 }
+func (*UnimplementedBBSimServer) GetOnuTrafficSchedulers(ctx context.Context, req *ONURequest) (*ONUTrafficSchedulers, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetOnuTrafficSchedulers not implemented")
+}
 
 func RegisterBBSimServer(s *grpc.Server, srv BBSimServer) {
 	s.RegisterService(&_BBSim_serviceDesc, srv)
@@ -1442,6 +1502,24 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _BBSim_GetOnuTrafficSchedulers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ONURequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BBSimServer).GetOnuTrafficSchedulers(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/bbsim.BBSim/GetOnuTrafficSchedulers",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BBSimServer).GetOnuTrafficSchedulers(ctx, req.(*ONURequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _BBSim_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "bbsim.BBSim",
 	HandlerType: (*BBSimServer)(nil),
@@ -1502,6 +1580,10 @@
 			MethodName: "ChangeIgmpState",
 			Handler:    _BBSim_ChangeIgmpState_Handler,
 		},
+		{
+			MethodName: "GetOnuTrafficSchedulers",
+			Handler:    _BBSim_GetOnuTrafficSchedulers_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "api/bbsim/bbsim.proto",
