blob: 4c6d4b3aa4aa15130e584bf34416a87ac11b0d5a [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: voltha_protos/tech_profile.proto
package tech_profile
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_ "google.golang.org/genproto/googleapis/api/annotations"
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 Direction int32
const (
Direction_UPSTREAM Direction = 0
Direction_DOWNSTREAM Direction = 1
Direction_BIDIRECTIONAL Direction = 2
)
var Direction_name = map[int32]string{
0: "UPSTREAM",
1: "DOWNSTREAM",
2: "BIDIRECTIONAL",
}
var Direction_value = map[string]int32{
"UPSTREAM": 0,
"DOWNSTREAM": 1,
"BIDIRECTIONAL": 2,
}
func (x Direction) String() string {
return proto.EnumName(Direction_name, int32(x))
}
func (Direction) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{0}
}
type SchedulingPolicy int32
const (
SchedulingPolicy_WRR SchedulingPolicy = 0
SchedulingPolicy_StrictPriority SchedulingPolicy = 1
SchedulingPolicy_Hybrid SchedulingPolicy = 2
)
var SchedulingPolicy_name = map[int32]string{
0: "WRR",
1: "StrictPriority",
2: "Hybrid",
}
var SchedulingPolicy_value = map[string]int32{
"WRR": 0,
"StrictPriority": 1,
"Hybrid": 2,
}
func (x SchedulingPolicy) String() string {
return proto.EnumName(SchedulingPolicy_name, int32(x))
}
func (SchedulingPolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{1}
}
type AdditionalBW int32
const (
AdditionalBW_AdditionalBW_None AdditionalBW = 0
AdditionalBW_AdditionalBW_NA AdditionalBW = 1
AdditionalBW_AdditionalBW_BestEffort AdditionalBW = 2
AdditionalBW_AdditionalBW_Auto AdditionalBW = 3
)
var AdditionalBW_name = map[int32]string{
0: "AdditionalBW_None",
1: "AdditionalBW_NA",
2: "AdditionalBW_BestEffort",
3: "AdditionalBW_Auto",
}
var AdditionalBW_value = map[string]int32{
"AdditionalBW_None": 0,
"AdditionalBW_NA": 1,
"AdditionalBW_BestEffort": 2,
"AdditionalBW_Auto": 3,
}
func (x AdditionalBW) String() string {
return proto.EnumName(AdditionalBW_name, int32(x))
}
func (AdditionalBW) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{2}
}
type DiscardPolicy int32
const (
DiscardPolicy_TailDrop DiscardPolicy = 0
DiscardPolicy_WTailDrop DiscardPolicy = 1
DiscardPolicy_Red DiscardPolicy = 2
DiscardPolicy_WRed DiscardPolicy = 3
)
var DiscardPolicy_name = map[int32]string{
0: "TailDrop",
1: "WTailDrop",
2: "Red",
3: "WRed",
}
var DiscardPolicy_value = map[string]int32{
"TailDrop": 0,
"WTailDrop": 1,
"Red": 2,
"WRed": 3,
}
func (x DiscardPolicy) String() string {
return proto.EnumName(DiscardPolicy_name, int32(x))
}
func (DiscardPolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{3}
}
type InferredAdditionBWIndication int32
const (
InferredAdditionBWIndication_InferredAdditionBWIndication_None InferredAdditionBWIndication = 0
InferredAdditionBWIndication_InferredAdditionBWIndication_Assured InferredAdditionBWIndication = 1
InferredAdditionBWIndication_InferredAdditionBWIndication_BestEffort InferredAdditionBWIndication = 2
)
var InferredAdditionBWIndication_name = map[int32]string{
0: "InferredAdditionBWIndication_None",
1: "InferredAdditionBWIndication_Assured",
2: "InferredAdditionBWIndication_BestEffort",
}
var InferredAdditionBWIndication_value = map[string]int32{
"InferredAdditionBWIndication_None": 0,
"InferredAdditionBWIndication_Assured": 1,
"InferredAdditionBWIndication_BestEffort": 2,
}
func (x InferredAdditionBWIndication) String() string {
return proto.EnumName(InferredAdditionBWIndication_name, int32(x))
}
func (InferredAdditionBWIndication) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{4}
}
type SchedulerConfig struct {
Direction Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=tech_profile.Direction" json:"direction,omitempty"`
AdditionalBw AdditionalBW `protobuf:"varint,2,opt,name=additional_bw,json=additionalBw,proto3,enum=tech_profile.AdditionalBW" json:"additional_bw,omitempty"`
Priority uint32 `protobuf:"fixed32,3,opt,name=priority,proto3" json:"priority,omitempty"`
Weight uint32 `protobuf:"fixed32,4,opt,name=weight,proto3" json:"weight,omitempty"`
SchedPolicy SchedulingPolicy `protobuf:"varint,5,opt,name=sched_policy,json=schedPolicy,proto3,enum=tech_profile.SchedulingPolicy" json:"sched_policy,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SchedulerConfig) Reset() { *m = SchedulerConfig{} }
func (m *SchedulerConfig) String() string { return proto.CompactTextString(m) }
func (*SchedulerConfig) ProtoMessage() {}
func (*SchedulerConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{0}
}
func (m *SchedulerConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SchedulerConfig.Unmarshal(m, b)
}
func (m *SchedulerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SchedulerConfig.Marshal(b, m, deterministic)
}
func (m *SchedulerConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_SchedulerConfig.Merge(m, src)
}
func (m *SchedulerConfig) XXX_Size() int {
return xxx_messageInfo_SchedulerConfig.Size(m)
}
func (m *SchedulerConfig) XXX_DiscardUnknown() {
xxx_messageInfo_SchedulerConfig.DiscardUnknown(m)
}
var xxx_messageInfo_SchedulerConfig proto.InternalMessageInfo
func (m *SchedulerConfig) GetDirection() Direction {
if m != nil {
return m.Direction
}
return Direction_UPSTREAM
}
func (m *SchedulerConfig) GetAdditionalBw() AdditionalBW {
if m != nil {
return m.AdditionalBw
}
return AdditionalBW_AdditionalBW_None
}
func (m *SchedulerConfig) GetPriority() uint32 {
if m != nil {
return m.Priority
}
return 0
}
func (m *SchedulerConfig) GetWeight() uint32 {
if m != nil {
return m.Weight
}
return 0
}
func (m *SchedulerConfig) GetSchedPolicy() SchedulingPolicy {
if m != nil {
return m.SchedPolicy
}
return SchedulingPolicy_WRR
}
type TrafficShapingInfo struct {
Cir uint32 `protobuf:"fixed32,1,opt,name=cir,proto3" json:"cir,omitempty"`
Cbs uint32 `protobuf:"fixed32,2,opt,name=cbs,proto3" json:"cbs,omitempty"`
Pir uint32 `protobuf:"fixed32,3,opt,name=pir,proto3" json:"pir,omitempty"`
Pbs uint32 `protobuf:"fixed32,4,opt,name=pbs,proto3" json:"pbs,omitempty"`
Gir uint32 `protobuf:"fixed32,5,opt,name=gir,proto3" json:"gir,omitempty"`
AddBwInd InferredAdditionBWIndication `protobuf:"varint,6,opt,name=add_bw_ind,json=addBwInd,proto3,enum=tech_profile.InferredAdditionBWIndication" json:"add_bw_ind,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TrafficShapingInfo) Reset() { *m = TrafficShapingInfo{} }
func (m *TrafficShapingInfo) String() string { return proto.CompactTextString(m) }
func (*TrafficShapingInfo) ProtoMessage() {}
func (*TrafficShapingInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{1}
}
func (m *TrafficShapingInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TrafficShapingInfo.Unmarshal(m, b)
}
func (m *TrafficShapingInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TrafficShapingInfo.Marshal(b, m, deterministic)
}
func (m *TrafficShapingInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_TrafficShapingInfo.Merge(m, src)
}
func (m *TrafficShapingInfo) XXX_Size() int {
return xxx_messageInfo_TrafficShapingInfo.Size(m)
}
func (m *TrafficShapingInfo) XXX_DiscardUnknown() {
xxx_messageInfo_TrafficShapingInfo.DiscardUnknown(m)
}
var xxx_messageInfo_TrafficShapingInfo proto.InternalMessageInfo
func (m *TrafficShapingInfo) GetCir() uint32 {
if m != nil {
return m.Cir
}
return 0
}
func (m *TrafficShapingInfo) GetCbs() uint32 {
if m != nil {
return m.Cbs
}
return 0
}
func (m *TrafficShapingInfo) GetPir() uint32 {
if m != nil {
return m.Pir
}
return 0
}
func (m *TrafficShapingInfo) GetPbs() uint32 {
if m != nil {
return m.Pbs
}
return 0
}
func (m *TrafficShapingInfo) GetGir() uint32 {
if m != nil {
return m.Gir
}
return 0
}
func (m *TrafficShapingInfo) GetAddBwInd() InferredAdditionBWIndication {
if m != nil {
return m.AddBwInd
}
return InferredAdditionBWIndication_InferredAdditionBWIndication_None
}
type TrafficScheduler struct {
Direction Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=tech_profile.Direction" json:"direction,omitempty"`
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TrafficScheduler) Reset() { *m = TrafficScheduler{} }
func (m *TrafficScheduler) String() string { return proto.CompactTextString(m) }
func (*TrafficScheduler) ProtoMessage() {}
func (*TrafficScheduler) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{2}
}
func (m *TrafficScheduler) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TrafficScheduler.Unmarshal(m, b)
}
func (m *TrafficScheduler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TrafficScheduler.Marshal(b, m, deterministic)
}
func (m *TrafficScheduler) XXX_Merge(src proto.Message) {
xxx_messageInfo_TrafficScheduler.Merge(m, src)
}
func (m *TrafficScheduler) XXX_Size() int {
return xxx_messageInfo_TrafficScheduler.Size(m)
}
func (m *TrafficScheduler) XXX_DiscardUnknown() {
xxx_messageInfo_TrafficScheduler.DiscardUnknown(m)
}
var xxx_messageInfo_TrafficScheduler proto.InternalMessageInfo
func (m *TrafficScheduler) GetDirection() Direction {
if m != nil {
return m.Direction
}
return Direction_UPSTREAM
}
func (m *TrafficScheduler) GetAllocId() uint32 {
if m != nil {
return m.AllocId
}
return 0
}
func (m *TrafficScheduler) GetScheduler() *SchedulerConfig {
if m != nil {
return m.Scheduler
}
return nil
}
func (m *TrafficScheduler) GetTrafficShapingInfo() *TrafficShapingInfo {
if m != nil {
return m.TrafficShapingInfo
}
return nil
}
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"`
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"`
TrafficScheds []*TrafficScheduler `protobuf:"bytes,3,rep,name=traffic_scheds,json=trafficScheds,proto3" json:"traffic_scheds,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TrafficSchedulers) Reset() { *m = TrafficSchedulers{} }
func (m *TrafficSchedulers) String() string { return proto.CompactTextString(m) }
func (*TrafficSchedulers) ProtoMessage() {}
func (*TrafficSchedulers) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{3}
}
func (m *TrafficSchedulers) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TrafficSchedulers.Unmarshal(m, b)
}
func (m *TrafficSchedulers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TrafficSchedulers.Marshal(b, m, deterministic)
}
func (m *TrafficSchedulers) XXX_Merge(src proto.Message) {
xxx_messageInfo_TrafficSchedulers.Merge(m, src)
}
func (m *TrafficSchedulers) XXX_Size() int {
return xxx_messageInfo_TrafficSchedulers.Size(m)
}
func (m *TrafficSchedulers) XXX_DiscardUnknown() {
xxx_messageInfo_TrafficSchedulers.DiscardUnknown(m)
}
var xxx_messageInfo_TrafficSchedulers proto.InternalMessageInfo
func (m *TrafficSchedulers) GetIntfId() uint32 {
if m != nil {
return m.IntfId
}
return 0
}
func (m *TrafficSchedulers) GetOnuId() uint32 {
if m != nil {
return m.OnuId
}
return 0
}
func (m *TrafficSchedulers) GetUniId() uint32 {
if m != nil {
return m.UniId
}
return 0
}
func (m *TrafficSchedulers) GetPortNo() uint32 {
if m != nil {
return m.PortNo
}
return 0
}
func (m *TrafficSchedulers) GetTrafficScheds() []*TrafficScheduler {
if m != nil {
return m.TrafficScheds
}
return nil
}
type TailDropDiscardConfig struct {
QueueSize uint32 `protobuf:"fixed32,1,opt,name=queue_size,json=queueSize,proto3" json:"queue_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TailDropDiscardConfig) Reset() { *m = TailDropDiscardConfig{} }
func (m *TailDropDiscardConfig) String() string { return proto.CompactTextString(m) }
func (*TailDropDiscardConfig) ProtoMessage() {}
func (*TailDropDiscardConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{4}
}
func (m *TailDropDiscardConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TailDropDiscardConfig.Unmarshal(m, b)
}
func (m *TailDropDiscardConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TailDropDiscardConfig.Marshal(b, m, deterministic)
}
func (m *TailDropDiscardConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TailDropDiscardConfig.Merge(m, src)
}
func (m *TailDropDiscardConfig) XXX_Size() int {
return xxx_messageInfo_TailDropDiscardConfig.Size(m)
}
func (m *TailDropDiscardConfig) XXX_DiscardUnknown() {
xxx_messageInfo_TailDropDiscardConfig.DiscardUnknown(m)
}
var xxx_messageInfo_TailDropDiscardConfig proto.InternalMessageInfo
func (m *TailDropDiscardConfig) GetQueueSize() uint32 {
if m != nil {
return m.QueueSize
}
return 0
}
type RedDiscardConfig struct {
MinThreshold uint32 `protobuf:"fixed32,1,opt,name=min_threshold,json=minThreshold,proto3" json:"min_threshold,omitempty"`
MaxThreshold uint32 `protobuf:"fixed32,2,opt,name=max_threshold,json=maxThreshold,proto3" json:"max_threshold,omitempty"`
MaxProbability uint32 `protobuf:"fixed32,3,opt,name=max_probability,json=maxProbability,proto3" json:"max_probability,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RedDiscardConfig) Reset() { *m = RedDiscardConfig{} }
func (m *RedDiscardConfig) String() string { return proto.CompactTextString(m) }
func (*RedDiscardConfig) ProtoMessage() {}
func (*RedDiscardConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{5}
}
func (m *RedDiscardConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedDiscardConfig.Unmarshal(m, b)
}
func (m *RedDiscardConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedDiscardConfig.Marshal(b, m, deterministic)
}
func (m *RedDiscardConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedDiscardConfig.Merge(m, src)
}
func (m *RedDiscardConfig) XXX_Size() int {
return xxx_messageInfo_RedDiscardConfig.Size(m)
}
func (m *RedDiscardConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RedDiscardConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RedDiscardConfig proto.InternalMessageInfo
func (m *RedDiscardConfig) GetMinThreshold() uint32 {
if m != nil {
return m.MinThreshold
}
return 0
}
func (m *RedDiscardConfig) GetMaxThreshold() uint32 {
if m != nil {
return m.MaxThreshold
}
return 0
}
func (m *RedDiscardConfig) GetMaxProbability() uint32 {
if m != nil {
return m.MaxProbability
}
return 0
}
type WRedDiscardConfig struct {
Green *RedDiscardConfig `protobuf:"bytes,1,opt,name=green,proto3" json:"green,omitempty"`
Yellow *RedDiscardConfig `protobuf:"bytes,2,opt,name=yellow,proto3" json:"yellow,omitempty"`
Red *RedDiscardConfig `protobuf:"bytes,3,opt,name=red,proto3" json:"red,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WRedDiscardConfig) Reset() { *m = WRedDiscardConfig{} }
func (m *WRedDiscardConfig) String() string { return proto.CompactTextString(m) }
func (*WRedDiscardConfig) ProtoMessage() {}
func (*WRedDiscardConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{6}
}
func (m *WRedDiscardConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WRedDiscardConfig.Unmarshal(m, b)
}
func (m *WRedDiscardConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WRedDiscardConfig.Marshal(b, m, deterministic)
}
func (m *WRedDiscardConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_WRedDiscardConfig.Merge(m, src)
}
func (m *WRedDiscardConfig) XXX_Size() int {
return xxx_messageInfo_WRedDiscardConfig.Size(m)
}
func (m *WRedDiscardConfig) XXX_DiscardUnknown() {
xxx_messageInfo_WRedDiscardConfig.DiscardUnknown(m)
}
var xxx_messageInfo_WRedDiscardConfig proto.InternalMessageInfo
func (m *WRedDiscardConfig) GetGreen() *RedDiscardConfig {
if m != nil {
return m.Green
}
return nil
}
func (m *WRedDiscardConfig) GetYellow() *RedDiscardConfig {
if m != nil {
return m.Yellow
}
return nil
}
func (m *WRedDiscardConfig) GetRed() *RedDiscardConfig {
if m != nil {
return m.Red
}
return nil
}
type DiscardConfig struct {
DiscardPolicy DiscardPolicy `protobuf:"varint,1,opt,name=discard_policy,json=discardPolicy,proto3,enum=tech_profile.DiscardPolicy" json:"discard_policy,omitempty"`
// Types that are valid to be assigned to DiscardConfig:
// *DiscardConfig_TailDropDiscardConfig
// *DiscardConfig_RedDiscardConfig
// *DiscardConfig_WredDiscardConfig
DiscardConfig isDiscardConfig_DiscardConfig `protobuf_oneof:"discard_config"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DiscardConfig) Reset() { *m = DiscardConfig{} }
func (m *DiscardConfig) String() string { return proto.CompactTextString(m) }
func (*DiscardConfig) ProtoMessage() {}
func (*DiscardConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{7}
}
func (m *DiscardConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DiscardConfig.Unmarshal(m, b)
}
func (m *DiscardConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DiscardConfig.Marshal(b, m, deterministic)
}
func (m *DiscardConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_DiscardConfig.Merge(m, src)
}
func (m *DiscardConfig) XXX_Size() int {
return xxx_messageInfo_DiscardConfig.Size(m)
}
func (m *DiscardConfig) XXX_DiscardUnknown() {
xxx_messageInfo_DiscardConfig.DiscardUnknown(m)
}
var xxx_messageInfo_DiscardConfig proto.InternalMessageInfo
func (m *DiscardConfig) GetDiscardPolicy() DiscardPolicy {
if m != nil {
return m.DiscardPolicy
}
return DiscardPolicy_TailDrop
}
type isDiscardConfig_DiscardConfig interface {
isDiscardConfig_DiscardConfig()
}
type DiscardConfig_TailDropDiscardConfig struct {
TailDropDiscardConfig *TailDropDiscardConfig `protobuf:"bytes,2,opt,name=tail_drop_discard_config,json=tailDropDiscardConfig,proto3,oneof"`
}
type DiscardConfig_RedDiscardConfig struct {
RedDiscardConfig *RedDiscardConfig `protobuf:"bytes,3,opt,name=red_discard_config,json=redDiscardConfig,proto3,oneof"`
}
type DiscardConfig_WredDiscardConfig struct {
WredDiscardConfig *WRedDiscardConfig `protobuf:"bytes,4,opt,name=wred_discard_config,json=wredDiscardConfig,proto3,oneof"`
}
func (*DiscardConfig_TailDropDiscardConfig) isDiscardConfig_DiscardConfig() {}
func (*DiscardConfig_RedDiscardConfig) isDiscardConfig_DiscardConfig() {}
func (*DiscardConfig_WredDiscardConfig) isDiscardConfig_DiscardConfig() {}
func (m *DiscardConfig) GetDiscardConfig() isDiscardConfig_DiscardConfig {
if m != nil {
return m.DiscardConfig
}
return nil
}
func (m *DiscardConfig) GetTailDropDiscardConfig() *TailDropDiscardConfig {
if x, ok := m.GetDiscardConfig().(*DiscardConfig_TailDropDiscardConfig); ok {
return x.TailDropDiscardConfig
}
return nil
}
func (m *DiscardConfig) GetRedDiscardConfig() *RedDiscardConfig {
if x, ok := m.GetDiscardConfig().(*DiscardConfig_RedDiscardConfig); ok {
return x.RedDiscardConfig
}
return nil
}
func (m *DiscardConfig) GetWredDiscardConfig() *WRedDiscardConfig {
if x, ok := m.GetDiscardConfig().(*DiscardConfig_WredDiscardConfig); ok {
return x.WredDiscardConfig
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*DiscardConfig) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*DiscardConfig_TailDropDiscardConfig)(nil),
(*DiscardConfig_RedDiscardConfig)(nil),
(*DiscardConfig_WredDiscardConfig)(nil),
}
}
type TrafficQueue struct {
Direction Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=tech_profile.Direction" json:"direction,omitempty"`
GemportId uint32 `protobuf:"fixed32,2,opt,name=gemport_id,json=gemportId,proto3" json:"gemport_id,omitempty"`
PbitMap string `protobuf:"bytes,3,opt,name=pbit_map,json=pbitMap,proto3" json:"pbit_map,omitempty"`
AesEncryption bool `protobuf:"varint,4,opt,name=aes_encryption,json=aesEncryption,proto3" json:"aes_encryption,omitempty"`
SchedPolicy SchedulingPolicy `protobuf:"varint,5,opt,name=sched_policy,json=schedPolicy,proto3,enum=tech_profile.SchedulingPolicy" json:"sched_policy,omitempty"`
Priority uint32 `protobuf:"fixed32,6,opt,name=priority,proto3" json:"priority,omitempty"`
Weight uint32 `protobuf:"fixed32,7,opt,name=weight,proto3" json:"weight,omitempty"`
DiscardPolicy DiscardPolicy `protobuf:"varint,8,opt,name=discard_policy,json=discardPolicy,proto3,enum=tech_profile.DiscardPolicy" json:"discard_policy,omitempty"`
DiscardConfig *DiscardConfig `protobuf:"bytes,9,opt,name=discard_config,json=discardConfig,proto3" json:"discard_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TrafficQueue) Reset() { *m = TrafficQueue{} }
func (m *TrafficQueue) String() string { return proto.CompactTextString(m) }
func (*TrafficQueue) ProtoMessage() {}
func (*TrafficQueue) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{8}
}
func (m *TrafficQueue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TrafficQueue.Unmarshal(m, b)
}
func (m *TrafficQueue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TrafficQueue.Marshal(b, m, deterministic)
}
func (m *TrafficQueue) XXX_Merge(src proto.Message) {
xxx_messageInfo_TrafficQueue.Merge(m, src)
}
func (m *TrafficQueue) XXX_Size() int {
return xxx_messageInfo_TrafficQueue.Size(m)
}
func (m *TrafficQueue) XXX_DiscardUnknown() {
xxx_messageInfo_TrafficQueue.DiscardUnknown(m)
}
var xxx_messageInfo_TrafficQueue proto.InternalMessageInfo
func (m *TrafficQueue) GetDirection() Direction {
if m != nil {
return m.Direction
}
return Direction_UPSTREAM
}
func (m *TrafficQueue) GetGemportId() uint32 {
if m != nil {
return m.GemportId
}
return 0
}
func (m *TrafficQueue) GetPbitMap() string {
if m != nil {
return m.PbitMap
}
return ""
}
func (m *TrafficQueue) GetAesEncryption() bool {
if m != nil {
return m.AesEncryption
}
return false
}
func (m *TrafficQueue) GetSchedPolicy() SchedulingPolicy {
if m != nil {
return m.SchedPolicy
}
return SchedulingPolicy_WRR
}
func (m *TrafficQueue) GetPriority() uint32 {
if m != nil {
return m.Priority
}
return 0
}
func (m *TrafficQueue) GetWeight() uint32 {
if m != nil {
return m.Weight
}
return 0
}
func (m *TrafficQueue) GetDiscardPolicy() DiscardPolicy {
if m != nil {
return m.DiscardPolicy
}
return DiscardPolicy_TailDrop
}
func (m *TrafficQueue) GetDiscardConfig() *DiscardConfig {
if m != nil {
return m.DiscardConfig
}
return nil
}
type TrafficQueues 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"`
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TrafficQueues) Reset() { *m = TrafficQueues{} }
func (m *TrafficQueues) String() string { return proto.CompactTextString(m) }
func (*TrafficQueues) ProtoMessage() {}
func (*TrafficQueues) Descriptor() ([]byte, []int) {
return fileDescriptor_d019a68bffe14cae, []int{9}
}
func (m *TrafficQueues) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TrafficQueues.Unmarshal(m, b)
}
func (m *TrafficQueues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TrafficQueues.Marshal(b, m, deterministic)
}
func (m *TrafficQueues) XXX_Merge(src proto.Message) {
xxx_messageInfo_TrafficQueues.Merge(m, src)
}
func (m *TrafficQueues) XXX_Size() int {
return xxx_messageInfo_TrafficQueues.Size(m)
}
func (m *TrafficQueues) XXX_DiscardUnknown() {
xxx_messageInfo_TrafficQueues.DiscardUnknown(m)
}
var xxx_messageInfo_TrafficQueues proto.InternalMessageInfo
func (m *TrafficQueues) GetIntfId() uint32 {
if m != nil {
return m.IntfId
}
return 0
}
func (m *TrafficQueues) GetOnuId() uint32 {
if m != nil {
return m.OnuId
}
return 0
}
func (m *TrafficQueues) GetUniId() uint32 {
if m != nil {
return m.UniId
}
return 0
}
func (m *TrafficQueues) GetPortNo() uint32 {
if m != nil {
return m.PortNo
}
return 0
}
func (m *TrafficQueues) GetTrafficQueues() []*TrafficQueue {
if m != nil {
return m.TrafficQueues
}
return nil
}
func init() {
proto.RegisterEnum("tech_profile.Direction", Direction_name, Direction_value)
proto.RegisterEnum("tech_profile.SchedulingPolicy", SchedulingPolicy_name, SchedulingPolicy_value)
proto.RegisterEnum("tech_profile.AdditionalBW", AdditionalBW_name, AdditionalBW_value)
proto.RegisterEnum("tech_profile.DiscardPolicy", DiscardPolicy_name, DiscardPolicy_value)
proto.RegisterEnum("tech_profile.InferredAdditionBWIndication", InferredAdditionBWIndication_name, InferredAdditionBWIndication_value)
proto.RegisterType((*SchedulerConfig)(nil), "tech_profile.SchedulerConfig")
proto.RegisterType((*TrafficShapingInfo)(nil), "tech_profile.TrafficShapingInfo")
proto.RegisterType((*TrafficScheduler)(nil), "tech_profile.TrafficScheduler")
proto.RegisterType((*TrafficSchedulers)(nil), "tech_profile.TrafficSchedulers")
proto.RegisterType((*TailDropDiscardConfig)(nil), "tech_profile.TailDropDiscardConfig")
proto.RegisterType((*RedDiscardConfig)(nil), "tech_profile.RedDiscardConfig")
proto.RegisterType((*WRedDiscardConfig)(nil), "tech_profile.WRedDiscardConfig")
proto.RegisterType((*DiscardConfig)(nil), "tech_profile.DiscardConfig")
proto.RegisterType((*TrafficQueue)(nil), "tech_profile.TrafficQueue")
proto.RegisterType((*TrafficQueues)(nil), "tech_profile.TrafficQueues")
}
func init() { proto.RegisterFile("voltha_protos/tech_profile.proto", fileDescriptor_d019a68bffe14cae) }
var fileDescriptor_d019a68bffe14cae = []byte{
// 1103 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, 0xd4, 0xa4, 0x0d, 0x04, 0x97, 0xaa,
0x91, 0x11, 0x09, 0xa4, 0xd0, 0x9b, 0x22, 0x55, 0x76, 0x13, 0x29, 0x96, 0x68, 0x9a, 0x4e, 0x82,
0x2c, 0x71, 0xc1, 0x6a, 0xbc, 0x33, 0xb6, 0x47, 0x5a, 0xcf, 0x2c, 0xb3, 0x63, 0x9c, 0xf4, 0x8a,
0x1b, 0xde, 0x82, 0x5b, 0x5e, 0x00, 0x6e, 0x10, 0x4f, 0xc4, 0x0b, 0x70, 0x8f, 0x66, 0x76, 0xd7,
0xf6, 0xda, 0x26, 0x85, 0x0a, 0xee, 0xe6, 0x7c, 0xfb, 0xcd, 0x99, 0xf3, 0xcd, 0xf9, 0xd9, 0x81,
0xbd, 0xef, 0x65, 0xa0, 0x47, 0xc4, 0x0b, 0x95, 0xd4, 0x32, 0x3a, 0xd4, 0xcc, 0x1f, 0x99, 0xf5,
0x80, 0x07, 0xec, 0xc0, 0x62, 0xa8, 0xba, 0x88, 0xed, 0xdc, 0x1f, 0x4a, 0x39, 0x0c, 0xd8, 0x21,
0x09, 0xf9, 0x21, 0x11, 0x42, 0x6a, 0xa2, 0xb9, 0x14, 0x51, 0xcc, 0x6d, 0xfe, 0x90, 0x87, 0xdb,
0x17, 0xfe, 0x88, 0xd1, 0x49, 0xc0, 0xd4, 0x73, 0x29, 0x06, 0x7c, 0x88, 0xbe, 0x80, 0x0a, 0xe5,
0x8a, 0xf9, 0x86, 0xd7, 0x70, 0xf6, 0x9c, 0xfd, 0xfa, 0xd1, 0xdd, 0x83, 0xcc, 0x39, 0xc7, 0xe9,
0x67, 0x3c, 0x67, 0xa2, 0x67, 0x50, 0x23, 0x94, 0x72, 0xb3, 0x26, 0x81, 0xd7, 0x9f, 0x36, 0xf2,
0x76, 0xeb, 0x4e, 0x76, 0x6b, 0x7b, 0x46, 0xe9, 0xf4, 0x70, 0x75, 0xbe, 0xa1, 0x33, 0x45, 0x3b,
0x50, 0x0e, 0x15, 0x97, 0x8a, 0xeb, 0xeb, 0x46, 0x61, 0xcf, 0xd9, 0x2f, 0xe1, 0x99, 0x8d, 0xde,
0x85, 0xe2, 0x94, 0xf1, 0xe1, 0x48, 0x37, 0x6e, 0xd9, 0x2f, 0x89, 0x85, 0xda, 0x50, 0x8d, 0x4c,
0xf8, 0x5e, 0x28, 0x03, 0xee, 0x5f, 0x37, 0x36, 0xec, 0x99, 0xef, 0x67, 0xcf, 0x4c, 0x04, 0x72,
0x31, 0x3c, 0xb7, 0x2c, 0xbc, 0x69, 0xf7, 0xc4, 0x46, 0xf3, 0x37, 0x07, 0xd0, 0xa5, 0x22, 0x83,
0x01, 0xf7, 0x2f, 0x46, 0x24, 0xe4, 0x62, 0xd8, 0x15, 0x03, 0x89, 0x5c, 0x28, 0xf8, 0x5c, 0x59,
0xfd, 0x25, 0x6c, 0x96, 0x16, 0xe9, 0x47, 0x56, 0x96, 0x41, 0xfa, 0x91, 0x41, 0x42, 0xae, 0x92,
0x60, 0xcd, 0xd2, 0x22, 0xfd, 0x28, 0x09, 0xd2, 0x2c, 0x0d, 0x32, 0xe4, 0xca, 0x06, 0x56, 0xc2,
0x66, 0x89, 0x4e, 0x01, 0x08, 0xa5, 0x5e, 0x7f, 0xea, 0x71, 0x41, 0x1b, 0x45, 0x1b, 0x71, 0x2b,
0x1b, 0x71, 0x57, 0x0c, 0x98, 0x52, 0x8c, 0xa6, 0xb7, 0xd5, 0xe9, 0x75, 0x05, 0xe5, 0xbe, 0x4d,
0x1d, 0x2e, 0x13, 0x4a, 0x3b, 0xd3, 0xae, 0xa0, 0xcd, 0x3f, 0x1d, 0x70, 0xd3, 0xd0, 0xd3, 0x24,
0xbe, 0x6d, 0xfa, 0xde, 0x83, 0x32, 0x09, 0x02, 0xe9, 0x7b, 0x9c, 0x26, 0x12, 0x4b, 0xd6, 0xee,
0x52, 0xf4, 0x14, 0x2a, 0x51, 0xea, 0xde, 0x8a, 0xdd, 0x3c, 0xda, 0x5d, 0x7b, 0xc3, 0x69, 0x09,
0xe1, 0x39, 0x1f, 0x61, 0x78, 0x47, 0xc7, 0x21, 0x7a, 0x51, 0x7c, 0xbd, 0x1e, 0x17, 0x03, 0x69,
0xaf, 0x68, 0xf3, 0x68, 0x2f, 0xeb, 0x67, 0x35, 0x0f, 0x18, 0xe9, 0x15, 0xac, 0xf9, 0xbb, 0x03,
0x5b, 0xcb, 0xba, 0x23, 0x74, 0x17, 0x4a, 0x5c, 0xe8, 0x81, 0x11, 0x10, 0x67, 0xad, 0x68, 0xcc,
0x2e, 0x45, 0xdb, 0x50, 0x94, 0x62, 0x32, 0x17, 0xb6, 0x21, 0xc5, 0x24, 0x86, 0x27, 0x82, 0x1b,
0x38, 0x4e, 0xd7, 0xc6, 0x44, 0xf0, 0x2e, 0x35, 0x6e, 0x42, 0xa9, 0xb4, 0x27, 0x64, 0x92, 0xb4,
0xa2, 0x31, 0xcf, 0x24, 0x3a, 0x81, 0xfa, 0x4c, 0x89, 0x39, 0x35, 0x6a, 0x14, 0xf6, 0x0a, 0xfb,
0x9b, 0xcb, 0xd5, 0xb6, 0x1c, 0x18, 0xae, 0xe9, 0x05, 0x24, 0x6a, 0x3e, 0x81, 0xed, 0x4b, 0xc2,
0x83, 0x63, 0x25, 0xc3, 0x63, 0x1e, 0xf9, 0x44, 0xd1, 0xa4, 0xef, 0x76, 0x01, 0xbe, 0x9b, 0xb0,
0x09, 0xf3, 0x22, 0xfe, 0x9a, 0x25, 0x12, 0x2a, 0x16, 0xb9, 0xe0, 0xaf, 0x59, 0xf3, 0x47, 0x07,
0x5c, 0xcc, 0x68, 0x76, 0xcf, 0x03, 0xa8, 0x8d, 0xb9, 0xf0, 0xf4, 0x48, 0xb1, 0x68, 0x24, 0x83,
0x54, 0x79, 0x75, 0xcc, 0xc5, 0x65, 0x8a, 0x59, 0x12, 0xb9, 0x5a, 0x20, 0xe5, 0x13, 0x12, 0xb9,
0x9a, 0x93, 0x1e, 0xc1, 0x6d, 0x43, 0x0a, 0x95, 0xec, 0x93, 0x3e, 0x0f, 0xe6, 0x4d, 0x58, 0x1f,
0x93, 0xab, 0xf3, 0x39, 0xda, 0xfc, 0xd5, 0x81, 0xad, 0xde, 0x4a, 0x20, 0x9f, 0xc3, 0xc6, 0x50,
0x31, 0x16, 0x57, 0xdc, 0xca, 0x9d, 0x2c, 0xd3, 0x71, 0x4c, 0x46, 0x4f, 0xa0, 0x78, 0xcd, 0x82,
0x40, 0xc6, 0xc3, 0xe2, 0xcd, 0xdb, 0x12, 0x36, 0xfa, 0x14, 0x0a, 0x8a, 0xd1, 0xa4, 0x16, 0xdf,
0xb4, 0xc9, 0x50, 0x9b, 0x7f, 0xe4, 0xa1, 0x96, 0x8d, 0xb8, 0x03, 0x75, 0x1a, 0x03, 0xe9, 0xf0,
0x88, 0x9b, 0xe5, 0xde, 0x72, 0xb3, 0x58, 0x4e, 0x32, 0x39, 0x6a, 0x74, 0xd1, 0x44, 0xdf, 0x42,
0x43, 0x13, 0x1e, 0x78, 0x54, 0xc9, 0xd0, 0x4b, 0xbd, 0xf9, 0xd6, 0x7f, 0xa2, 0xe8, 0xc1, 0x52,
0x71, 0xac, 0xcb, 0xfc, 0x69, 0x0e, 0x6f, 0xeb, 0xb5, 0x25, 0x71, 0x06, 0x48, 0x31, 0xba, 0xec,
0xf9, 0x1f, 0xc9, 0x3e, 0xcd, 0x61, 0x57, 0x2d, 0x67, 0xe9, 0x15, 0xdc, 0x99, 0xae, 0x71, 0x18,
0xf7, 0xe2, 0x07, 0x59, 0x87, 0xbd, 0x35, 0x1e, 0xb7, 0xa6, 0xcb, 0x2e, 0x3b, 0xee, 0xfc, 0x1a,
0x63, 0x6f, 0xcd, 0x9f, 0x0b, 0x50, 0x4d, 0x9a, 0xe0, 0x95, 0xa9, 0xde, 0xb7, 0x9d, 0x48, 0xbb,
0x00, 0x43, 0x36, 0xb6, 0xbd, 0x38, 0x6b, 0xdd, 0x4a, 0x82, 0x74, 0xa9, 0x19, 0x58, 0x61, 0x9f,
0x6b, 0x6f, 0x4c, 0x42, 0x7b, 0x23, 0x15, 0x5c, 0x32, 0xf6, 0x0b, 0x12, 0xa2, 0x87, 0x50, 0x27,
0x2c, 0xf2, 0x98, 0xf0, 0xd5, 0x75, 0x68, 0x4f, 0x35, 0x0a, 0xcb, 0xb8, 0x46, 0x58, 0x74, 0x32,
0x03, 0xff, 0x83, 0x9f, 0x47, 0xe6, 0x9f, 0x55, 0xfc, 0xdb, 0x7f, 0x56, 0x29, 0xf3, 0xcf, 0x5a,
0x2d, 0xbc, 0xf2, 0xbf, 0x2e, 0xbc, 0xce, 0xf2, 0xad, 0x37, 0x2a, 0x36, 0x87, 0xeb, 0x7d, 0x24,
0x8d, 0x90, 0xfa, 0x88, 0xcd, 0xe6, 0x2f, 0x0e, 0xd4, 0x16, 0xf3, 0xf4, 0xff, 0x4f, 0xd0, 0xf6,
0x7c, 0x82, 0xda, 0xb9, 0x16, 0x35, 0x8a, 0x76, 0x82, 0xee, 0xac, 0x9d, 0xa0, 0x36, 0xa8, 0xd9,
0xf4, 0x8c, 0x43, 0x6c, 0x7d, 0x09, 0x95, 0x59, 0xb1, 0xa0, 0x2a, 0x94, 0xbf, 0x3e, 0xbf, 0xb8,
0xc4, 0x27, 0xed, 0x17, 0x6e, 0x0e, 0xd5, 0x01, 0x8e, 0x5f, 0xf6, 0xce, 0x12, 0xdb, 0x41, 0x5b,
0x50, 0xeb, 0x74, 0x8f, 0xbb, 0xf8, 0xe4, 0xf9, 0x65, 0xf7, 0xe5, 0x59, 0xfb, 0x2b, 0x37, 0xdf,
0x7a, 0x0a, 0xee, 0x72, 0x3e, 0x51, 0x09, 0x0a, 0x3d, 0x8c, 0xdd, 0x1c, 0x42, 0x50, 0xbf, 0xd0,
0x8a, 0xfb, 0xfa, 0x3c, 0xc9, 0xa0, 0xeb, 0x20, 0x80, 0xe2, 0xe9, 0x75, 0x5f, 0x71, 0xea, 0xe6,
0x5b, 0x02, 0xaa, 0x8b, 0xaf, 0x17, 0xb4, 0x0d, 0x5b, 0x8b, 0xb6, 0x77, 0x26, 0x05, 0x73, 0x73,
0xe8, 0x0e, 0xdc, 0xce, 0xc2, 0x6d, 0xd7, 0x41, 0xf7, 0xe0, 0x6e, 0x06, 0xec, 0xb0, 0x48, 0x9f,
0x0c, 0x06, 0x52, 0x69, 0x37, 0xbf, 0xe2, 0xa8, 0x3d, 0xd1, 0xd2, 0x2d, 0xb4, 0x9e, 0xcd, 0x26,
0x56, 0x12, 0x69, 0x15, 0xca, 0xe9, 0xfc, 0x70, 0x73, 0xa8, 0x06, 0x95, 0xde, 0xcc, 0x74, 0x8c,
0x0c, 0xcc, 0xa8, 0x9b, 0x47, 0x65, 0xb8, 0x65, 0x5a, 0xd7, 0x2d, 0xb4, 0x7e, 0x72, 0xe0, 0xfe,
0x4d, 0x2f, 0x09, 0xf4, 0x10, 0x3e, 0xbc, 0xe9, 0x7b, 0xaa, 0x68, 0x1f, 0x3e, 0xba, 0x91, 0xd6,
0x8e, 0xa2, 0x89, 0x62, 0xd4, 0x75, 0xd0, 0xc7, 0xf0, 0xe8, 0x46, 0xe6, 0xa2, 0xec, 0xce, 0xe3,
0x6f, 0x3e, 0x1b, 0x72, 0x3d, 0x9a, 0xf4, 0x0f, 0x7c, 0x39, 0x3e, 0x94, 0x21, 0x13, 0xbe, 0x54,
0xf4, 0x30, 0x7e, 0xdf, 0x7e, 0x92, 0xbc, 0x6f, 0x87, 0x32, 0xf3, 0xc4, 0xed, 0x17, 0x2d, 0xfe,
0xf8, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5f, 0x7b, 0x91, 0x72, 0x07, 0x0b, 0x00, 0x00,
}