forked from CiscoDevNet/ydk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docs_qos_mib.go
2169 lines (1837 loc) · 140 KB
/
docs_qos_mib.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// This is the management information for
// Quality Of Service (QOS) for DOCSIS 1.1.
package docs_qos_mib
import (
"fmt"
"github.com/CiscoDevNet/ydk-go/ydk"
"github.com/CiscoDevNet/ydk-go/ydk/types"
"github.com/CiscoDevNet/ydk-go/ydk/types/yfilter"
"github.com/CiscoDevNet/ydk-go/ydk/models/cisco_ios_xe"
"reflect"
)
func init() {
ydk.YLogDebug(fmt.Sprintf("Registering top level entities for package docs_qos_mib"))
ydk.RegisterEntity("{urn:ietf:params:xml:ns:yang:smiv2:DOCS-QOS-MIB DOCS-QOS-MIB}", reflect.TypeOf(DOCSQOSMIB{}))
ydk.RegisterEntity("DOCS-QOS-MIB:DOCS-QOS-MIB", reflect.TypeOf(DOCSQOSMIB{}))
}
// IfDirection represents Cable Modem Termination System.
type IfDirection string
const (
IfDirection_downstream IfDirection = "downstream"
IfDirection_upstream IfDirection = "upstream"
)
// SchedulingType represents Sets.
type SchedulingType string
const (
SchedulingType_undefined SchedulingType = "undefined"
SchedulingType_bestEffort SchedulingType = "bestEffort"
SchedulingType_nonRealTimePollingService SchedulingType = "nonRealTimePollingService"
SchedulingType_realTimePollingService SchedulingType = "realTimePollingService"
SchedulingType_unsolictedGrantServiceWithAD SchedulingType = "unsolictedGrantServiceWithAD"
SchedulingType_unsolictedGrantService SchedulingType = "unsolictedGrantService"
)
// DOCSQOSMIB
type DOCSQOSMIB struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// This table describes the packet classification configured on the CM or
// CMTS. The model is that a packet either received as input from an
// interface or transmitted for output on an interface may be compared
// against an ordered list of rules pertaining to the packet contents. Each
// rule is a row of this table. A matching rule provides a service flow id to
// to which the packet is classified. All rules need to match for a packet to
// match a classifier. The objects in this row correspond to a set of
// Classifier Encoding parameters in a DOCSIS MAC management message. The
// docsQosPktClassBitMap indicates which particular parameters were present in
// the classifier as signalled in the DOCSIS message. If the referenced
// parameter was not present in the signalled DOCSIS 1.1 Classifier, the
// corresponding object in this row reports a value as specified in the
// DESCRIPTION section.
DocsQosPktClassTable DOCSQOSMIB_DocsQosPktClassTable
// This table describes the set of DOCSIS 1.1 QOS parameters defined in a
// managed device. The ifIndex index specifies a DOCSIS MAC Domain. The
// docsQosServiceFlowId index specifies a particular Service Flow. The
// docsQosParamSetType index indicates whether the active, admitted, or
// provisioned QOS Parameter Set is being described by the row. Only the QOS
// Parameter Sets of Docsis 1.1 service flows are represented in this table.
// Docsis 1.0 QOS service profiles are not represented in this table. Each
// row corresponds to a DOCSIS QOS Parameter Set as signaled via DOCSIS MAC
// management messages. Each object in the row corresponds to one or part of
// one DOCSIS 1.1 Service Flow Encoding. The docsQosParamSetBitMap object in
// the row indicates which particular parameters were signalled in the
// original registration or dynamic service request message that created the
// QOS Parameter Set. In many cases, even if a QOS Parameter Set parameter
// was not signalled, the DOCSIS specification calls for a default value to be
// used. That default value is reported as the value of the corresponding
// object in this row. Many objects are not applicable depending on the
// service flow direction or upstream scheduling type. The object value
// reported in this case is specified in the DESCRIPTION clause.
DocsQosParamSetTable DOCSQOSMIB_DocsQosParamSetTable
// This table describes the set of Docsis-QOS Service Flows in a managed
// device. .
DocsQosServiceFlowTable DOCSQOSMIB_DocsQosServiceFlowTable
// This table describes statistics associated with the Service Flows in a
// managed device. .
DocsQosServiceFlowStatsTable DOCSQOSMIB_DocsQosServiceFlowStatsTable
// This table describes statistics associated with upstream service flows.
// All counted frames must be received without an FCS error.
DocsQosUpstreamStatsTable DOCSQOSMIB_DocsQosUpstreamStatsTable
// This table describes statistics associated with the Dynamic Service Flows
// in a managed device. .
DocsQosDynamicServiceStatsTable DOCSQOSMIB_DocsQosDynamicServiceStatsTable
// This table contains a log of the disconnected Service Flows in a managed
// device.
DocsQosServiceFlowLogTable DOCSQOSMIB_DocsQosServiceFlowLogTable
// This table describes the set of Docsis-QOS Service Classes in a CMTS. .
DocsQosServiceClassTable DOCSQOSMIB_DocsQosServiceClassTable
// This table describes the set of Docsis-QOS Service Class Policies. This
// table is an adjunct to the docsDevFilterPolicy table. Entries in
// docsDevFilterPolicy table can point to specific rows in this table. This
// table permits mapping a packet to a service class name of an active service
// flow so long as a classifier does not exist at a higher priority.
DocsQosServiceClassPolicyTable DOCSQOSMIB_DocsQosServiceClassPolicyTable
// This table describes set of payload header suppression entries.
DocsQosPHSTable DOCSQOSMIB_DocsQosPHSTable
// This table provide for referencing the service flows associated with a
// particular cable modem. This allows for indexing into other docsQos tables
// that are indexed by docsQosServiceFlowId and ifIndex.
DocsQosCmtsMacToSrvFlowTable DOCSQOSMIB_DocsQosCmtsMacToSrvFlowTable
}
func (dOCSQOSMIB *DOCSQOSMIB) GetEntityData() *types.CommonEntityData {
dOCSQOSMIB.EntityData.YFilter = dOCSQOSMIB.YFilter
dOCSQOSMIB.EntityData.YangName = "DOCS-QOS-MIB"
dOCSQOSMIB.EntityData.BundleName = "cisco_ios_xe"
dOCSQOSMIB.EntityData.ParentYangName = "DOCS-QOS-MIB"
dOCSQOSMIB.EntityData.SegmentPath = "DOCS-QOS-MIB:DOCS-QOS-MIB"
dOCSQOSMIB.EntityData.AbsolutePath = dOCSQOSMIB.EntityData.SegmentPath
dOCSQOSMIB.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
dOCSQOSMIB.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
dOCSQOSMIB.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
dOCSQOSMIB.EntityData.Children = types.NewOrderedMap()
dOCSQOSMIB.EntityData.Children.Append("docsQosPktClassTable", types.YChild{"DocsQosPktClassTable", &dOCSQOSMIB.DocsQosPktClassTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosParamSetTable", types.YChild{"DocsQosParamSetTable", &dOCSQOSMIB.DocsQosParamSetTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosServiceFlowTable", types.YChild{"DocsQosServiceFlowTable", &dOCSQOSMIB.DocsQosServiceFlowTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosServiceFlowStatsTable", types.YChild{"DocsQosServiceFlowStatsTable", &dOCSQOSMIB.DocsQosServiceFlowStatsTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosUpstreamStatsTable", types.YChild{"DocsQosUpstreamStatsTable", &dOCSQOSMIB.DocsQosUpstreamStatsTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosDynamicServiceStatsTable", types.YChild{"DocsQosDynamicServiceStatsTable", &dOCSQOSMIB.DocsQosDynamicServiceStatsTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosServiceFlowLogTable", types.YChild{"DocsQosServiceFlowLogTable", &dOCSQOSMIB.DocsQosServiceFlowLogTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosServiceClassTable", types.YChild{"DocsQosServiceClassTable", &dOCSQOSMIB.DocsQosServiceClassTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosServiceClassPolicyTable", types.YChild{"DocsQosServiceClassPolicyTable", &dOCSQOSMIB.DocsQosServiceClassPolicyTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosPHSTable", types.YChild{"DocsQosPHSTable", &dOCSQOSMIB.DocsQosPHSTable})
dOCSQOSMIB.EntityData.Children.Append("docsQosCmtsMacToSrvFlowTable", types.YChild{"DocsQosCmtsMacToSrvFlowTable", &dOCSQOSMIB.DocsQosCmtsMacToSrvFlowTable})
dOCSQOSMIB.EntityData.Leafs = types.NewOrderedMap()
dOCSQOSMIB.EntityData.YListKeys = []string {}
return &(dOCSQOSMIB.EntityData)
}
// DOCSQOSMIB_DocsQosPktClassTable
// This table describes the packet classification
// configured on the CM or CMTS.
// The model is that a packet either received
// as input from an interface or transmitted
// for output on an interface may be compared
// against an ordered list of rules pertaining to
// the packet contents. Each rule is a row of this
// table. A matching rule provides a service flow
// id to to which the packet is classified.
// All rules need to match for a packet to match
// a classifier.
//
// The objects in this row correspond to a set of
// Classifier Encoding parameters in a DOCSIS
// MAC management message. The docsQosPktClassBitMap
// indicates which particular parameters were present
// in the classifier as signalled in the DOCSIS message.
// If the referenced parameter was not present
// in the signalled DOCSIS 1.1 Classifier, the
// corresponding object in this row reports a
// value as specified in the DESCRIPTION section.
type DOCSQOSMIB_DocsQosPktClassTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in this table provides a single packet classifier rule. The index
// ifIndex is an ifType of docsCableMaclayer(127). The type is slice of
// DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry.
DocsQosPktClassEntry []*DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry
}
func (docsQosPktClassTable *DOCSQOSMIB_DocsQosPktClassTable) GetEntityData() *types.CommonEntityData {
docsQosPktClassTable.EntityData.YFilter = docsQosPktClassTable.YFilter
docsQosPktClassTable.EntityData.YangName = "docsQosPktClassTable"
docsQosPktClassTable.EntityData.BundleName = "cisco_ios_xe"
docsQosPktClassTable.EntityData.ParentYangName = "DOCS-QOS-MIB"
docsQosPktClassTable.EntityData.SegmentPath = "docsQosPktClassTable"
docsQosPktClassTable.EntityData.AbsolutePath = "DOCS-QOS-MIB:DOCS-QOS-MIB/" + docsQosPktClassTable.EntityData.SegmentPath
docsQosPktClassTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
docsQosPktClassTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
docsQosPktClassTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
docsQosPktClassTable.EntityData.Children = types.NewOrderedMap()
docsQosPktClassTable.EntityData.Children.Append("docsQosPktClassEntry", types.YChild{"DocsQosPktClassEntry", nil})
for i := range docsQosPktClassTable.DocsQosPktClassEntry {
docsQosPktClassTable.EntityData.Children.Append(types.GetSegmentPath(docsQosPktClassTable.DocsQosPktClassEntry[i]), types.YChild{"DocsQosPktClassEntry", docsQosPktClassTable.DocsQosPktClassEntry[i]})
}
docsQosPktClassTable.EntityData.Leafs = types.NewOrderedMap()
docsQosPktClassTable.EntityData.YListKeys = []string {}
return &(docsQosPktClassTable.EntityData)
}
// DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry
// An entry in this table provides a single packet
// classifier rule. The index ifIndex is an ifType
// of docsCableMaclayer(127).
type DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// This attribute is a key. The type is string with range: 1..4294967295.
// Refers to
// docs_qos_mib.DOCSQOSMIB_DocsQosServiceFlowTable_DocsQosServiceFlowEntry_DocsQosServiceFlowId
DocsQosServiceFlowId interface{}
// This attribute is a key. Index assigned to packet classifier entry by the
// CMTS which is unique per service flow. The type is interface{} with range:
// 1..65535.
DocsQosPktClassId interface{}
// Indicates the direction to which the classifier is applied. The type is
// IfDirection.
DocsQosPktClassDirection interface{}
// The value specifies the order of evaluation of the classifiers. The higher
// the value the higher the priority. The value of 0 is used as default in
// provisioned service flows classifiers. The default value of 64 is used for
// dynamic service flow classifiers. If the referenced parameter is not
// present in a classifier, this object reports the default value as defined
// above. The type is interface{} with range: 0..255.
DocsQosPktClassPriority interface{}
// The low value of a range of TOS byte values. If the referenced parameter is
// not present in a classifier, this object reports the value of 0. The type
// is string with length: 1..1.
DocsQosPktClassIpTosLow interface{}
// The 8-bit high value of a range of TOS byte values. If the referenced
// parameter is not present in a classifier, this object reports the value of
// 0. The type is string with length: 1..1.
DocsQosPktClassIpTosHigh interface{}
// The mask value is bitwise ANDed with TOS byte in an IP packet and this
// value is used check range checking of TosLow and TosHigh. If the
// referenced parameter is not present in a classifier, this object reports
// the value of 0. The type is string with length: 1..1.
DocsQosPktClassIpTosMask interface{}
// This object indicates the value of the IP Protocol field required for IP
// packets to match this rule. The value 256 matches traffic with any IP
// Protocol value. The value 257 by convention matches both TCP and UDP. If
// the referenced parameter is not present in a classifier, this object
// reports the value of 258. The type is interface{} with range: 0..258.
DocsQosPktClassIpProtocol interface{}
// This object is deprecated in favor of the object pair
// docsQosPktClassInetSourceAddrType and docsQosPktClassInetSourceAddr. Agents
// that choose to implement this object MUST report an address that matches
// docsQosPktClassInetSourceAddr object as long as
// docsQosPktClassInetSourceAddrType is ipv4(1). Otherwise, the value of this
// object shall be 0.0.0.0. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
DocsQosPktClassIpSourceAddr interface{}
// This object is deprecated in favor of the object pair
// docsQosPktClassInetSourceMaskType and docsQosPktClassInetSourceMask. Agents
// that choose to implement this object MUST report an address that matches
// docsQosPktClassInetSourceMask object as long as
// docsQosPktClassInetSourceMaskType is ipv4(1). Otherwise, the value of this
// object shall be 255.255.255.255. SNMP mangers should note that agent
// implementation of previous versions of this MIB report 0.0.0.0 as the value
// when the reference parameter is not present, rather than 255.255.255.255.
// The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
DocsQosPktClassIpSourceMask interface{}
// This object is deprecated in favor of the object pair
// docsQosPktClassInetDestAddrType and docsQosPktClassInetDestAddr. Agents
// that choose to implement this object MUST report an address that matches
// docsQosPktClassInetDestAddr object as long as
// docsQosPktClassInetDestAddrType is ipv4(1). Otherwise, the value of this
// object shall be 0.0.0.0. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
DocsQosPktClassIpDestAddr interface{}
// This object is deprecated in favor of the object pair
// docsQosPktClassInetDestMaskType and docsQosPktClassInetDestMask. Agents
// that choose to implement this object MUST report an address that matches
// docsQosPktClassInetDestMask object as long as
// docsQosPktClassInetDestMaskType is ipv4(1). Otherwise, the value of this
// object shall be 255.255.255.255. SNMP mangers should note that agent
// implementation of previous versions of this MIB report 0.0.0.0 as the value
// when the reference parameter is not present, rather than 255.255.255.255.
// The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
DocsQosPktClassIpDestMask interface{}
// This object specifies the low end inclusive range of TCP/UDP source port
// numbers to which a packet is compared. This object is irrelevant for
// non-TCP/UDP IP packets. If the referenced parameter is not present in a
// classifier, this object reports the value of 0. The type is interface{}
// with range: 0..65535.
DocsQosPktClassSourcePortStart interface{}
// This object specifies the high end inclusive range of TCP/UDP source port
// numbers to which a packet is compared. This object is irrelevant for
// non-TCP/UDP IP packets. If the referenced parameter is not present in a
// classifier, this object reports the value of 65535. The type is
// interface{} with range: 0..65535.
DocsQosPktClassSourcePortEnd interface{}
// This object specifies the low end inclusive range of TCP/UDP destination
// port numbers to which a packet is compared. If the referenced parameter is
// not present in a classifier, this object reports the value of 0. The type
// is interface{} with range: 0..65535.
DocsQosPktClassDestPortStart interface{}
// This object specifies the high end inclusive range of TCP/UDP destination
// port numbers to which a packet is compared. If the referenced parameter is
// not present in a classifier, this object reports the value of 65535. The
// type is interface{} with range: 0..65535.
DocsQosPktClassDestPortEnd interface{}
// An Ethernet packet matches an entry when its destination MAC address
// bitwise ANDed with docsQosPktClassDestMacMask equals the value of
// docsQosPktClassDestMacAddr. If the referenced parameter is not present in
// a classifier, this object reports the value of '000000000000'H. The type
// is string with pattern: [0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}.
DocsQosPktClassDestMacAddr interface{}
// An Ethernet packet matches an entry when its destination MAC address
// bitwise ANDed with docsQosPktClassDestMacMask equals the value of
// docsQosPktClassDestMacAddr. If the referenced parameter is not present in
// a classifier, this object reports the value of '000000000000'H. The type
// is string with pattern: [0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}.
DocsQosPktClassDestMacMask interface{}
// An Ethernet packet matches this entry when its source MAC address equals
// the value of this object. If the referenced parameter is not present in a
// classifier, this object reports the value of 'FFFFFFFFFFFF'H. The type is
// string with pattern: [0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}.
DocsQosPktClassSourceMacAddr interface{}
// This object indicates the format of the layer 3 protocol id in the
// Ethernet packet. A value of none(0) means that the rule does not use the
// layer 3 protocol type as a matching criteria. A value of ethertype(1)
// means that the rule applies only to frames which contains an EtherType
// value. Ethertype values are contained in packets using the Dec-Intel-Xerox
// (DIX) encapsulation or the RFC1042 Sub-Network Access Protocol (SNAP)
// encapsulation formats. A value of dsap(2) means that the rule applies only
// to frames using the IEEE802.3 encapsulation format with a Destination
// Service Access Point (DSAP) other than 0xAA (which is reserved for SNAP).
// A value of mac(3) means that the rule applies only to MAC management
// messages for MAC management messages. A value of all(4) means that the
// rule matches all Ethernet packets. If the Ethernet frame contains an
// 802.1P/Q Tag header (i.e. EtherType 0x8100), this object applies to the
// embedded EtherType field within the 802.1P/Q header. If the referenced
// parameter is not present in a classifier, this object reports the value of
// 0. The type is DocsQosPktClassEnetProtocolType.
DocsQosPktClassEnetProtocolType interface{}
// If docsQosEthPktClassProtocolType is none(0), this object is ignored when
// considering whether a packet matches the current rule. If
// dosQosPktClassEnetProtocolType is ethertype(1), this object gives the
// 16-bit value of the EtherType that the packet must match in order to match
// the rule. If docsQosPktClassEnetProtocolType is dsap(2), the lower 8 bits
// of this object's value must match the DSAP byte of the packet in order to
// match the rule. If docsQosPktClassEnetProtocolType is mac(3), the lower 8
// bits of this object value represent a lower bound (inclusive) of MAC
// management message type codes matched, and the upper 8 bits of this object
// value represent the upper bound (inclusive) of matched MAC message type
// codes. Certain message type codes are excluded from matching, as specified
// in the reference. If the Ethernet frame contains an 802.1P/Q Tag header
// (i.e. EtherType 0x8100), this object applies to the embedded EtherType
// field within the 802.1P/Q header. If the referenced parameter is not
// present in the classifier, the value of this object is reported as 0. The
// type is interface{} with range: 0..65535.
DocsQosPktClassEnetProtocol interface{}
// This object is obsolete. The type is interface{} with range: 0..1.
DocsQosPktClassUserPriApplies interface{}
// This object applies only to Ethernet frames using the 802.1P/Q tag header
// (indicated with EtherType 0x8100). Such frames include a 16-bit Tag that
// contains a 3 bit Priority field and a 12 bit VLAN number. Tagged Ethernet
// packets must have a 3-bit Priority field within the range of
// docsQosPktClassPriLow and docsQosPktClassPriHigh in order to match this
// rule. If the referenced parameter is not present in the classifier, the
// value of this object is reported as 0. The type is interface{} with range:
// 0..7.
DocsQosPktClassUserPriLow interface{}
// This object applies only to Ethernet frames using the 802.1P/Qtag header
// (indicated with EtherType 0x8100). Such frames include a 16-bit Tag that
// contains a 3 bit Priority field and a 12 bit VLAN number. Tagged Ethernet
// packets must have a 3-bit Priority field within the range of
// docsQosPktClassPriLow and docsQosPktClassPriHigh in order to match this
// rule. If the referenced parameter is not present in the classifier, the
// value of this object is reported as 7. The type is interface{} with range:
// 0..7.
DocsQosPktClassUserPriHigh interface{}
// This object applies only to Ethernet frames using the 802.1P/Q tag header.
// If this object's value is nonzero, tagged packets must have a VLAN
// Identifier that matches the value in order to match the rule. Only the
// least significant 12 bits of this object's value are valid. If the
// referenced parameter is not present in the classifier, the value of this
// object is reported as 0. The type is interface{} with range: 0..4095.
DocsQosPktClassVlanId interface{}
// This object indicates whether or not the classifier is enabled to classify
// packets to a Service Flow. If the referenced parameter is not present in
// the classifier, the value of this object is reported as active(1). The
// type is DocsQosPktClassState.
DocsQosPktClassState interface{}
// This object counts the number of packets that have been classified using
// this entry. The type is interface{} with range: 0..4294967295.
DocsQosPktClassPkts interface{}
// This object indicates which parameter encodings were actually present in
// the DOCSIS packet classifier encoding signaled in the DOCSIS message that
// created or modified the classifier. Note that Dynamic Service Change
// messages have replace semantics, so that all non-default parameters must be
// present whether the classifier is being created or changed. A bit of of
// this object is set to 1 if the parameter indicated by the comment was
// present in the classifier encoding, and 0 otherwise. Note that BITS are
// encoded most significant bit first, so that if e.g. bits 6 and 7 are set,
// this object is encoded as the octet string '030000'H. The type is
// map[string]bool.
DocsQosPktClassBitMap interface{}
// The type of the internet address for docsQosPktClassInetSourceAddr. This
// type must be the same as the docsQosPktClassInetSourceMaskType. If the
// referenced parameter is not present in a classifier, this object reports
// the value of ipv4(1). The type is InetAddressType.
DocsQosPktClassInetSourceAddrType interface{}
// This object specifies the value of the IP Source Address required for
// packets to match this rule. An IP packet matches the rule when the packet
// ip source address bitwise ANDed with the docsQosPktClassInetSourceMask
// value equals the docsQosPktClassInetSourceAddr value. If the referenced
// parameter is not present in a classifier, this object reports the value of
// '00000000'H. The type is string with length: 0..255.
DocsQosPktClassInetSourceAddr interface{}
// The type of the internet address for docsQosPktClassInetSourceMask. This
// type must be the same as the docsQosPktClassInetSourceAddrType. If the
// referenced parameter is not present in a classifier, this object reports
// the value of ipv4(1). The type is InetAddressType.
DocsQosPktClassInetSourceMaskType interface{}
// This object specifies which bits of a packet's IP Source Address that are
// compared to match this rule. An IP packet matches the rule when the packet
// source address bitwise ANDed with the docsQosPktClassInetSourceMask value
// equals the docsQosIpPktClassInetSourceAddr value. If the referenced
// parameter is not present in a classifier, this object reports the value of
// 'FFFFFFFF'H. The type is string with length: 0..255.
DocsQosPktClassInetSourceMask interface{}
// The type of the internet address for docsQosPktClassInetDestAddr. This type
// must be the same as the docsQosPktClassInetDestMaskType. If the referenced
// parameter is not present in a classifier, this object reports the value of
// ipv4(1). The type is InetAddressType.
DocsQosPktClassInetDestAddrType interface{}
// This object specifies the value of the IP Destination Address required for
// packets to match this rule. An IP packet matches the rule when the packet
// ip destination address bitwise ANDed with the docsQosPktClassInetDestMask
// value equals the docsQosPktClassInetDestAddr value. If the referenced
// parameter is not present in a classifier, this object reports the value of
// '00000000'H. The type is string with length: 0..255.
DocsQosPktClassInetDestAddr interface{}
// The type of the internet address for docsQosPktClassInetDestMask. This type
// must be the same as the docsQosPktClassInetDestAddrType. If the referenced
// parameter is not present in a classifier, this object reports the value of
// ipv4(1). The type is InetAddressType.
DocsQosPktClassInetDestMaskType interface{}
// This object specifies which bits of a packet's IP Destination Address that
// are compared to match this rule. An IP packet matches the rule when the
// packet destination address bitwise ANDed with the
// docsQosPktClassInetDestMask value equals the docsQosIpPktClassInetDestAddr
// value. If the referenced parameter is not present in a classifier, this
// object reports the value of 'FFFFFFFF'H. The type is string with length:
// 0..255.
DocsQosPktClassInetDestMask interface{}
}
func (docsQosPktClassEntry *DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry) GetEntityData() *types.CommonEntityData {
docsQosPktClassEntry.EntityData.YFilter = docsQosPktClassEntry.YFilter
docsQosPktClassEntry.EntityData.YangName = "docsQosPktClassEntry"
docsQosPktClassEntry.EntityData.BundleName = "cisco_ios_xe"
docsQosPktClassEntry.EntityData.ParentYangName = "docsQosPktClassTable"
docsQosPktClassEntry.EntityData.SegmentPath = "docsQosPktClassEntry" + types.AddKeyToken(docsQosPktClassEntry.IfIndex, "ifIndex") + types.AddKeyToken(docsQosPktClassEntry.DocsQosServiceFlowId, "docsQosServiceFlowId") + types.AddKeyToken(docsQosPktClassEntry.DocsQosPktClassId, "docsQosPktClassId")
docsQosPktClassEntry.EntityData.AbsolutePath = "DOCS-QOS-MIB:DOCS-QOS-MIB/docsQosPktClassTable/" + docsQosPktClassEntry.EntityData.SegmentPath
docsQosPktClassEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
docsQosPktClassEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
docsQosPktClassEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
docsQosPktClassEntry.EntityData.Children = types.NewOrderedMap()
docsQosPktClassEntry.EntityData.Leafs = types.NewOrderedMap()
docsQosPktClassEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", docsQosPktClassEntry.IfIndex})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosServiceFlowId", types.YLeaf{"DocsQosServiceFlowId", docsQosPktClassEntry.DocsQosServiceFlowId})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassId", types.YLeaf{"DocsQosPktClassId", docsQosPktClassEntry.DocsQosPktClassId})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassDirection", types.YLeaf{"DocsQosPktClassDirection", docsQosPktClassEntry.DocsQosPktClassDirection})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassPriority", types.YLeaf{"DocsQosPktClassPriority", docsQosPktClassEntry.DocsQosPktClassPriority})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpTosLow", types.YLeaf{"DocsQosPktClassIpTosLow", docsQosPktClassEntry.DocsQosPktClassIpTosLow})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpTosHigh", types.YLeaf{"DocsQosPktClassIpTosHigh", docsQosPktClassEntry.DocsQosPktClassIpTosHigh})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpTosMask", types.YLeaf{"DocsQosPktClassIpTosMask", docsQosPktClassEntry.DocsQosPktClassIpTosMask})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpProtocol", types.YLeaf{"DocsQosPktClassIpProtocol", docsQosPktClassEntry.DocsQosPktClassIpProtocol})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpSourceAddr", types.YLeaf{"DocsQosPktClassIpSourceAddr", docsQosPktClassEntry.DocsQosPktClassIpSourceAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpSourceMask", types.YLeaf{"DocsQosPktClassIpSourceMask", docsQosPktClassEntry.DocsQosPktClassIpSourceMask})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpDestAddr", types.YLeaf{"DocsQosPktClassIpDestAddr", docsQosPktClassEntry.DocsQosPktClassIpDestAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassIpDestMask", types.YLeaf{"DocsQosPktClassIpDestMask", docsQosPktClassEntry.DocsQosPktClassIpDestMask})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassSourcePortStart", types.YLeaf{"DocsQosPktClassSourcePortStart", docsQosPktClassEntry.DocsQosPktClassSourcePortStart})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassSourcePortEnd", types.YLeaf{"DocsQosPktClassSourcePortEnd", docsQosPktClassEntry.DocsQosPktClassSourcePortEnd})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassDestPortStart", types.YLeaf{"DocsQosPktClassDestPortStart", docsQosPktClassEntry.DocsQosPktClassDestPortStart})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassDestPortEnd", types.YLeaf{"DocsQosPktClassDestPortEnd", docsQosPktClassEntry.DocsQosPktClassDestPortEnd})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassDestMacAddr", types.YLeaf{"DocsQosPktClassDestMacAddr", docsQosPktClassEntry.DocsQosPktClassDestMacAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassDestMacMask", types.YLeaf{"DocsQosPktClassDestMacMask", docsQosPktClassEntry.DocsQosPktClassDestMacMask})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassSourceMacAddr", types.YLeaf{"DocsQosPktClassSourceMacAddr", docsQosPktClassEntry.DocsQosPktClassSourceMacAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassEnetProtocolType", types.YLeaf{"DocsQosPktClassEnetProtocolType", docsQosPktClassEntry.DocsQosPktClassEnetProtocolType})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassEnetProtocol", types.YLeaf{"DocsQosPktClassEnetProtocol", docsQosPktClassEntry.DocsQosPktClassEnetProtocol})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassUserPriApplies", types.YLeaf{"DocsQosPktClassUserPriApplies", docsQosPktClassEntry.DocsQosPktClassUserPriApplies})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassUserPriLow", types.YLeaf{"DocsQosPktClassUserPriLow", docsQosPktClassEntry.DocsQosPktClassUserPriLow})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassUserPriHigh", types.YLeaf{"DocsQosPktClassUserPriHigh", docsQosPktClassEntry.DocsQosPktClassUserPriHigh})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassVlanId", types.YLeaf{"DocsQosPktClassVlanId", docsQosPktClassEntry.DocsQosPktClassVlanId})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassState", types.YLeaf{"DocsQosPktClassState", docsQosPktClassEntry.DocsQosPktClassState})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassPkts", types.YLeaf{"DocsQosPktClassPkts", docsQosPktClassEntry.DocsQosPktClassPkts})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassBitMap", types.YLeaf{"DocsQosPktClassBitMap", docsQosPktClassEntry.DocsQosPktClassBitMap})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetSourceAddrType", types.YLeaf{"DocsQosPktClassInetSourceAddrType", docsQosPktClassEntry.DocsQosPktClassInetSourceAddrType})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetSourceAddr", types.YLeaf{"DocsQosPktClassInetSourceAddr", docsQosPktClassEntry.DocsQosPktClassInetSourceAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetSourceMaskType", types.YLeaf{"DocsQosPktClassInetSourceMaskType", docsQosPktClassEntry.DocsQosPktClassInetSourceMaskType})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetSourceMask", types.YLeaf{"DocsQosPktClassInetSourceMask", docsQosPktClassEntry.DocsQosPktClassInetSourceMask})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetDestAddrType", types.YLeaf{"DocsQosPktClassInetDestAddrType", docsQosPktClassEntry.DocsQosPktClassInetDestAddrType})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetDestAddr", types.YLeaf{"DocsQosPktClassInetDestAddr", docsQosPktClassEntry.DocsQosPktClassInetDestAddr})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetDestMaskType", types.YLeaf{"DocsQosPktClassInetDestMaskType", docsQosPktClassEntry.DocsQosPktClassInetDestMaskType})
docsQosPktClassEntry.EntityData.Leafs.Append("docsQosPktClassInetDestMask", types.YLeaf{"DocsQosPktClassInetDestMask", docsQosPktClassEntry.DocsQosPktClassInetDestMask})
docsQosPktClassEntry.EntityData.YListKeys = []string {"IfIndex", "DocsQosServiceFlowId", "DocsQosPktClassId"}
return &(docsQosPktClassEntry.EntityData)
}
// DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType represents in a classifier, this object reports the value of 0.
type DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType string
const (
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType_none DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType = "none"
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType_ethertype DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType = "ethertype"
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType_dsap DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType = "dsap"
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType_mac DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType = "mac"
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType_all DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassEnetProtocolType = "all"
)
// DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState represents as active(1).
type DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState string
const (
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState_active DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState = "active"
DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState_inactive DOCSQOSMIB_DocsQosPktClassTable_DocsQosPktClassEntry_DocsQosPktClassState = "inactive"
)
// DOCSQOSMIB_DocsQosParamSetTable
// This table describes the set of DOCSIS 1.1 QOS
// parameters defined in a managed device.
//
// The ifIndex index specifies a DOCSIS MAC Domain.
// The docsQosServiceFlowId index specifies a particular
// Service Flow.
// The docsQosParamSetType index indicates whether
// the active, admitted, or provisioned QOS Parameter
// Set is being described by the row.
//
// Only the QOS Parameter Sets of Docsis 1.1 service
// flows are represented in this table. Docsis 1.0
// QOS service profiles are not represented in this
// table.
//
// Each row corresponds to a DOCSIS QOS Parameter Set
// as signaled via DOCSIS MAC management messages.
// Each object in the row corresponds to one or
// part of one DOCSIS 1.1 Service Flow Encoding.
// The docsQosParamSetBitMap object in the row indicates
// which particular parameters were signalled in
// the original registration or dynamic service
// request message that created the QOS Parameter Set.
//
// In many cases, even if a QOS Parameter Set parameter
// was not signalled, the DOCSIS specification calls
// for a default value to be used. That default value
// is reported as the value of the corresponding object
// in this row.
//
// Many objects are not applicable depending on
// the service flow direction or upstream scheduling
// type. The object value reported in this case
// is specified in the DESCRIPTION clause.
type DOCSQOSMIB_DocsQosParamSetTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// A unique set of QOS parameters. The type is slice of
// DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry.
DocsQosParamSetEntry []*DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry
}
func (docsQosParamSetTable *DOCSQOSMIB_DocsQosParamSetTable) GetEntityData() *types.CommonEntityData {
docsQosParamSetTable.EntityData.YFilter = docsQosParamSetTable.YFilter
docsQosParamSetTable.EntityData.YangName = "docsQosParamSetTable"
docsQosParamSetTable.EntityData.BundleName = "cisco_ios_xe"
docsQosParamSetTable.EntityData.ParentYangName = "DOCS-QOS-MIB"
docsQosParamSetTable.EntityData.SegmentPath = "docsQosParamSetTable"
docsQosParamSetTable.EntityData.AbsolutePath = "DOCS-QOS-MIB:DOCS-QOS-MIB/" + docsQosParamSetTable.EntityData.SegmentPath
docsQosParamSetTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
docsQosParamSetTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
docsQosParamSetTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
docsQosParamSetTable.EntityData.Children = types.NewOrderedMap()
docsQosParamSetTable.EntityData.Children.Append("docsQosParamSetEntry", types.YChild{"DocsQosParamSetEntry", nil})
for i := range docsQosParamSetTable.DocsQosParamSetEntry {
docsQosParamSetTable.EntityData.Children.Append(types.GetSegmentPath(docsQosParamSetTable.DocsQosParamSetEntry[i]), types.YChild{"DocsQosParamSetEntry", docsQosParamSetTable.DocsQosParamSetEntry[i]})
}
docsQosParamSetTable.EntityData.Leafs = types.NewOrderedMap()
docsQosParamSetTable.EntityData.YListKeys = []string {}
return &(docsQosParamSetTable.EntityData)
}
// DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry
// A unique set of QOS parameters.
type DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// This attribute is a key. The type is string with range: 1..4294967295.
// Refers to
// docs_qos_mib.DOCSQOSMIB_DocsQosServiceFlowTable_DocsQosServiceFlowEntry_DocsQosServiceFlowId
DocsQosServiceFlowId interface{}
// This attribute is a key. Defines the type of the QOS parameter set defined
// by this row. active(1) indicates the Active QOS parameter set, describing
// the service currently being provided by the Docsis MAC domain to the
// service flow. admitted(2) indicates the Admitted QOS Parameter Set,
// describing services reserved by by the Docsis MAC domain for use by the
// service flow. provisioned (3) describes the QOS Parameter Set defined in
// the DOCSIS CM Configuration file for the service flow. The type is
// DocsQosParamSetType.
DocsQosParamSetType interface{}
// Refers to the Service Class Name that the parameter set values were
// derived. If the referenced parameter is not present in the corresponding
// DOCSIS QOS Parameter Set, the default value of this object is a zero
// length string. The type is string.
DocsQosParamSetServiceClassName interface{}
// The relative priority of a service flow. Higher numbers indicate higher
// priority. This priority should only be used to differentiate service flow
// with identical parameter sets. If the referenced parameter is not present
// in the corresponding DOCSIS QOS Parameter Set, the default value of this
// object is 0. If the parameter is not applicable, the reported value is 0.
// The type is interface{} with range: 0..7.
DocsQosParamSetPriority interface{}
// Maximum sustained traffic rate allowed for this service flow in bits/sec.
// Must count all MAC frame data PDU from the bytes following the MAC header
// HCS to the end of the CRC. The number of bytes forwarded is limited during
// any time interval. The value 0 means no maximum traffic rate is enforced.
// This object applies to both upstream and downstream service flows. If the
// referenced parameter is not present in the corresponding DOCSIS QOS
// Parameter Set, the default value of this object is 0. If the parameter is
// not applicable, it is reported as 0. The type is interface{} with range:
// 0..4294967295.
DocsQosParamSetMaxTrafficRate interface{}
// Specifies the token bucket size in bytes for this parameter set. The value
// is calculated from the byte following the MAC header HCS to the end of
// the CRC. This object is applied in conjunction with
// docsQosParamSetMaxTrafficRate to calculate maximum sustained traffic rate.
// If the referenced parameter is not present in the corresponding DOCSIS QOS
// Parameter Set, the default value of this object for scheduling types
// bestEffort (2), nonRealTimePollingService(3), and realTimePollingService(4)
// is 1522. If this parameter is not applicable, it is reported as 0. The
// type is interface{} with range: 0..4294967295.
DocsQosParamSetMaxTrafficBurst interface{}
// Specifies the guaranteed minimum rate in bits/sec for this parameter set.
// The value is calculated from the byte following the MAC header HCS to the
// end of the CRC. The default value of 0 has the meaning that no bandwidth
// is reserved. If the referenced parameter is not present in the
// corresponding DOCSIS QOS Parameter Set, the default value of this object is
// 0. If the parameter is not applicable, it is reported as 0. The type is
// interface{} with range: 0..4294967295.
DocsQosParamSetMinReservedRate interface{}
// Specifies an assumed minimum packet size in bytes for which the
// docsQosParamSetMinReservedRate will be provided. The value is calculated
// from the byte following the MAC header HCS to the end of the CRC. If
// the referenced parameter is omitted from a DOCSIS QOS parameter set, the
// default value is CMTS implementation dependent. In this case, the CMTS
// reports the default value it is using and the CM reports a value of 0. If
// the referenced parameter is not applicable to the direction or scheduling
// type of the service flow, both CMTS and CM report this object's value as 0.
// The type is interface{} with range: 0..65535.
DocsQosParamSetMinReservedPkt interface{}
// Specifies the maximum duration in seconds that resources remain unused on
// an active service flow before CMTS signals that both active and admitted
// parameters set are null. The default value of 0 signifies an infinite
// amount of time. If the referenced parameter is not present in the
// corresponding DOCSIS QOS Parameter Set, the default value of this object is
// 0. The type is interface{} with range: 0..65535. Units are seconds.
DocsQosParamSetActiveTimeout interface{}
// Specifies the maximum duration in seconds that resources remain in
// admitted state before resources must be released. The value of 0 signifies
// an infinite amount of time. If the referenced parameter is not present in
// the corresponding DOCSIS QOS Parameter Set, the default value of this
// object is 200. The type is interface{} with range: 0..65535. Units are
// seconds.
DocsQosParamSetAdmittedTimeout interface{}
// Specifies the maximum concatenated burst in bytes which an upstream
// service flow is allowed. The value is calculated from the FC byte of the
// Concatenation MAC Header to the last CRC byte in of the last concatenated
// MAC frame, inclusive. The value of 0 specifies no maximum burst. If the
// referenced parameter is not present in the corresponding DOCSIS QOS
// Parameter Set, the default value of this object is 0. If the parameter is
// not applicable, this object's value is reported as 0. The type is
// interface{} with range: 0..65535.
DocsQosParamSetMaxConcatBurst interface{}
// Specifies the upstream scheduling service used for upstream service flow.
// If the referenced parameter is not present in the corresponding DOCSIS QOS
// Parameter Set of an upstream service flow, the default value of this object
// is bestEffort(2). For QOS parameter sets of downstream service flows, this
// object's value is reported as undefined(1). The type is SchedulingType.
DocsQosParamSetSchedulingType interface{}
// Specifies the nominal interval in microseconds between successive unicast
// request opportunities on an upstream service flow. This object applies
// only to upstream service flows with schedulingType of value
// nonRealTimePollingService(3), realTimePollingService(4), and
// unsolictedGrantServiceWithAD(5). The parameter is mandatory for
// realTimePollingService(4). If the parameter is omitted with
// nonRealTimePollingService(3), the CMTS uses an implementation dependent
// value. If the parameter is omitted with unsolictedGrantServiceWithAD(5),
// the CMTS uses as a default value the value of the Nominal Grant Interval
// parameter. In all cases, the CMTS reports the value it is using when the
// parameter is applicable. The CM reports the signaled parameter value if
// it was signaled, and 0 otherwise. If the referenced parameter is not
// applicable to the direction or scheduling type of the corresponding DOCSIS
// QOS Parameter Set, both CMTS and CM report this object's value as 0. The
// type is interface{} with range: 0..4294967295. Units are microseconds.
DocsQosParamSetNomPollInterval interface{}
// Specifies the maximum amount of time in microseconds that the unicast
// request interval may be delayed from the nominal periodic schedule on an
// upstream service flow. This parameter is applicable only to upstream
// service flows with a Schedulingtype of realTimePollingService(4) or
// unsolictedGrantServiceWithAD(5). If the referenced parameter is applicable
// but not present in the corresponding DOCSIS QOS Parameter Set, the CMTS
// uses an implementation dependent value and reports the value it is using.
// The CM reports a value of 0 in this case. If the parameter is not
// applicable to the direction or upstream scheduling type of the service
// flow, both CMTS and CM report this object's value as 0. The type is
// interface{} with range: 0..4294967295. Units are microseconds.
DocsQosParamSetTolPollJitter interface{}
// Specifies the unsolicited grant size in bytes. The grant size includes the
// entire MAC frame data PDU from the Frame Control byte to end of the MAC
// frame. The referenced parameter is applicable only for upstream flows
// with a SchedulingType of of unsolicitedGrantServicewithAD(5) or
// unsolicitedGrantService(6), and is mandatory when applicable. Both CMTS and
// CM report the signaled value of the parameter in this case.
// If the referenced parameter is not applicable to the direction or
// scheduling type of the corresponding DOCSIS QOS Parameter Set, both CMTS
// and CM report this object's value as 0. The type is interface{} with range:
// 0..65535.
DocsQosParamSetUnsolicitGrantSize interface{}
// Specifies the nominal interval in microseconds between successive data
// grant opportunities on an upstream service flow. The referenced parameter
// is applicable only for upstream flows with a SchedulingType of of
// unsolicitedGrantServicewithAD(5) or unsolicitedGrantService(6), and is
// mandatory when applicable. Both CMTS and CM report the signaled value of
// the parameter in this case. If the referenced parameter is not applicable
// to the direction or scheduling type of the corresponding DOCSIS QOS
// Parameter Set, both CMTS and CM report this object's value as 0. The type
// is interface{} with range: 0..4294967295. Units are microseconds.
DocsQosParamSetNomGrantInterval interface{}
// Specifies the maximum amount of time in microseconds that the transmission
// opportunities may be delayed from the nominal periodic schedule. The
// referenced parameter is applicable only for upstream flows with a
// SchedulingType of of unsolicitedGrantServicewithAD(5) or
// unsolicitedGrantService(6), and is mandatory when applicable. Both CMTS and
// CM report the signaled value of the parameter in this case. If the
// referenced parameter is not applicable to the direction or scheduling type
// of the corresponding DOCSIS QOS Parameter Set, both CMTS and CM report this
// object's value as 0. The type is interface{} with range: 0..4294967295.
// Units are microseconds.
DocsQosParamSetTolGrantJitter interface{}
// Specifies the number of data grants per Nominal Grant Interval
// (docsQosParamSetNomGrantInterval). The referenced parameter is applicable
// only for upstream flows with a SchedulingType of of
// unsolicitedGrantServicewithAD(5) or unsolicitedGrantService(6), and is
// mandatory when applicable. Both CMTS and CM report the signaled value of
// the parameter in this case. If the referenced parameter is not applicable
// to the direction or scheduling type of the corresponding DOCSIS QOS
// Parameter Set, both CMTS and CM report this object's value as 0. The type
// is interface{} with range: 0..127.
DocsQosParamSetGrantsPerInterval interface{}
// Specifies the AND mask for IP TOS byte for overwriting IP packets TOS
// value. The IP packets TOS byte is bitwise ANDed with
// docsQosParamSetTosAndMask and result is bitwise ORed with
// docsQosParamSetTosORMask and result is written to IP packet TOS byte. A
// value of 'FF'H for docsQosParamSetTosAndMask and a value of '00'H for
// docsQosParamSetTosOrMask means that IP Packet TOS byte is not overwritten.
// Even though the this object is only enforced by the Cable Modem Termination
// System (CMTS), Cable Modems must report the value as signaled in the
// referenced parameter. This combination is reported if the referenced
// parameter is not present in a QOS Parameter Set. The type is string with
// length: 1..1.
DocsQosParamSetTosAndMask interface{}
// Specifies the OR mask for IP TOS byte. See the description of
// docsQosParamSetTosAndMask for further details. The type is string with
// length: 1..1.
DocsQosParamSetTosOrMask interface{}
// Specifies the maximum latency between the reception of a packet by the CMTS
// on its NSI and the forwarding of the packet to the RF interface. A value
// of 0 signifies no maximum latency enforced. This object only applies to
// downstream service flows. If the referenced parameter is not present in
// the corresponding downstream DOCSIS QOS Parameter Set, the default value
// is 0. This parameter is not applicable to upstream DOCSIS QOS Parameter
// Sets, and its value is reported as 0 in this case. The type is interface{}
// with range: 0..4294967295. Units are microseconds.
DocsQosParamSetMaxLatency interface{}
// Specifies which transmit interval opportunities the CM omits for upstream
// transmission requests and packet transmissions. This object takes its
// default value for downstream service flows. Unless otherwise indicated, a
// bit value of 1 means that a CM must *not* use that opportunity for
// upstream transmission. Calling bit 0 the least significant bit of the
// least significant (4th) octet, and increasing bit number with significance,
// the bit definitions are as defined below: broadcastReqOpp(0): all CMs
// broadcast request opportunities priorityReqMulticastReq(1): priority
// request multicast request opportunities reqDataForReq(2):
// request/data opportunities for requests reqDataForData(3):
// request/data opportunities for data piggybackReqWithData(4):
// piggyback requests with data concatenateData(5): concatenate data
// fragmentData(6): fragment data suppresspayloadheaders(7):
// suppress payload headers dropPktsExceedUGSize(8): A value of 1 mean
// that service flow must drop packet that do not fit in the Unsolicited
// Grant size If the referenced parameter is not present in a QOS Parameter
// Set, the value of this object is reported as '00000000'H. The type is
// string with length: 4..4.
DocsQosParamSetRequestPolicyOct interface{}
// This object indicates the set of QOS Parameter Set parameters actually
// signaled in the DOCSIS registration or dynamic service request message
// that created or modified the QOS Parameter Set. A bit is set to 1 when the
// parameter described by the indicated reference section is present in the
// original request. Note that when Service Class names are expanded, the
// registration or dynamic response message may contain parameters as expanded
// by the CMTS based on a stored service class. These expanded parameters are
// *not* indicated by a 1 bit in this object. Note that even though some QOS
// Parameter Set parameters may not be signalled in a message (so that the
// paramater's bit in this object is 0) the DOCSIS specification calls for
// default values to be used. These default values are reported as the
// corresponding object's value in the row. Note that BITS objects are
// encoded most significant bit first. For example, if bits 1 and 16 are set,
// the value of this object is the octet string '400080'H. The type is
// map[string]bool.
DocsQosParamSetBitMap interface{}
}
func (docsQosParamSetEntry *DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry) GetEntityData() *types.CommonEntityData {
docsQosParamSetEntry.EntityData.YFilter = docsQosParamSetEntry.YFilter
docsQosParamSetEntry.EntityData.YangName = "docsQosParamSetEntry"
docsQosParamSetEntry.EntityData.BundleName = "cisco_ios_xe"
docsQosParamSetEntry.EntityData.ParentYangName = "docsQosParamSetTable"
docsQosParamSetEntry.EntityData.SegmentPath = "docsQosParamSetEntry" + types.AddKeyToken(docsQosParamSetEntry.IfIndex, "ifIndex") + types.AddKeyToken(docsQosParamSetEntry.DocsQosServiceFlowId, "docsQosServiceFlowId") + types.AddKeyToken(docsQosParamSetEntry.DocsQosParamSetType, "docsQosParamSetType")
docsQosParamSetEntry.EntityData.AbsolutePath = "DOCS-QOS-MIB:DOCS-QOS-MIB/docsQosParamSetTable/" + docsQosParamSetEntry.EntityData.SegmentPath
docsQosParamSetEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
docsQosParamSetEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
docsQosParamSetEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
docsQosParamSetEntry.EntityData.Children = types.NewOrderedMap()
docsQosParamSetEntry.EntityData.Leafs = types.NewOrderedMap()
docsQosParamSetEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", docsQosParamSetEntry.IfIndex})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosServiceFlowId", types.YLeaf{"DocsQosServiceFlowId", docsQosParamSetEntry.DocsQosServiceFlowId})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetType", types.YLeaf{"DocsQosParamSetType", docsQosParamSetEntry.DocsQosParamSetType})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetServiceClassName", types.YLeaf{"DocsQosParamSetServiceClassName", docsQosParamSetEntry.DocsQosParamSetServiceClassName})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetPriority", types.YLeaf{"DocsQosParamSetPriority", docsQosParamSetEntry.DocsQosParamSetPriority})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMaxTrafficRate", types.YLeaf{"DocsQosParamSetMaxTrafficRate", docsQosParamSetEntry.DocsQosParamSetMaxTrafficRate})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMaxTrafficBurst", types.YLeaf{"DocsQosParamSetMaxTrafficBurst", docsQosParamSetEntry.DocsQosParamSetMaxTrafficBurst})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMinReservedRate", types.YLeaf{"DocsQosParamSetMinReservedRate", docsQosParamSetEntry.DocsQosParamSetMinReservedRate})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMinReservedPkt", types.YLeaf{"DocsQosParamSetMinReservedPkt", docsQosParamSetEntry.DocsQosParamSetMinReservedPkt})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetActiveTimeout", types.YLeaf{"DocsQosParamSetActiveTimeout", docsQosParamSetEntry.DocsQosParamSetActiveTimeout})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetAdmittedTimeout", types.YLeaf{"DocsQosParamSetAdmittedTimeout", docsQosParamSetEntry.DocsQosParamSetAdmittedTimeout})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMaxConcatBurst", types.YLeaf{"DocsQosParamSetMaxConcatBurst", docsQosParamSetEntry.DocsQosParamSetMaxConcatBurst})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetSchedulingType", types.YLeaf{"DocsQosParamSetSchedulingType", docsQosParamSetEntry.DocsQosParamSetSchedulingType})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetNomPollInterval", types.YLeaf{"DocsQosParamSetNomPollInterval", docsQosParamSetEntry.DocsQosParamSetNomPollInterval})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetTolPollJitter", types.YLeaf{"DocsQosParamSetTolPollJitter", docsQosParamSetEntry.DocsQosParamSetTolPollJitter})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetUnsolicitGrantSize", types.YLeaf{"DocsQosParamSetUnsolicitGrantSize", docsQosParamSetEntry.DocsQosParamSetUnsolicitGrantSize})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetNomGrantInterval", types.YLeaf{"DocsQosParamSetNomGrantInterval", docsQosParamSetEntry.DocsQosParamSetNomGrantInterval})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetTolGrantJitter", types.YLeaf{"DocsQosParamSetTolGrantJitter", docsQosParamSetEntry.DocsQosParamSetTolGrantJitter})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetGrantsPerInterval", types.YLeaf{"DocsQosParamSetGrantsPerInterval", docsQosParamSetEntry.DocsQosParamSetGrantsPerInterval})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetTosAndMask", types.YLeaf{"DocsQosParamSetTosAndMask", docsQosParamSetEntry.DocsQosParamSetTosAndMask})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetTosOrMask", types.YLeaf{"DocsQosParamSetTosOrMask", docsQosParamSetEntry.DocsQosParamSetTosOrMask})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetMaxLatency", types.YLeaf{"DocsQosParamSetMaxLatency", docsQosParamSetEntry.DocsQosParamSetMaxLatency})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetRequestPolicyOct", types.YLeaf{"DocsQosParamSetRequestPolicyOct", docsQosParamSetEntry.DocsQosParamSetRequestPolicyOct})
docsQosParamSetEntry.EntityData.Leafs.Append("docsQosParamSetBitMap", types.YLeaf{"DocsQosParamSetBitMap", docsQosParamSetEntry.DocsQosParamSetBitMap})
docsQosParamSetEntry.EntityData.YListKeys = []string {"IfIndex", "DocsQosServiceFlowId", "DocsQosParamSetType"}
return &(docsQosParamSetEntry.EntityData)
}
// DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType represents the service flow.
type DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType string
const (
DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType_active DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType = "active"
DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType_admitted DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType = "admitted"
DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType_provisioned DOCSQOSMIB_DocsQosParamSetTable_DocsQosParamSetEntry_DocsQosParamSetType = "provisioned"
)
// DOCSQOSMIB_DocsQosServiceFlowTable
// This table describes the set of Docsis-QOS
// Service Flows in a managed device.
type DOCSQOSMIB_DocsQosServiceFlowTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// Describes a service flow. An entry in the table exists for each Service
// Flow ID. The ifIndex is an ifType of docsCableMaclayer(127). The type is
// slice of DOCSQOSMIB_DocsQosServiceFlowTable_DocsQosServiceFlowEntry.
DocsQosServiceFlowEntry []*DOCSQOSMIB_DocsQosServiceFlowTable_DocsQosServiceFlowEntry
}
func (docsQosServiceFlowTable *DOCSQOSMIB_DocsQosServiceFlowTable) GetEntityData() *types.CommonEntityData {
docsQosServiceFlowTable.EntityData.YFilter = docsQosServiceFlowTable.YFilter
docsQosServiceFlowTable.EntityData.YangName = "docsQosServiceFlowTable"
docsQosServiceFlowTable.EntityData.BundleName = "cisco_ios_xe"
docsQosServiceFlowTable.EntityData.ParentYangName = "DOCS-QOS-MIB"
docsQosServiceFlowTable.EntityData.SegmentPath = "docsQosServiceFlowTable"
docsQosServiceFlowTable.EntityData.AbsolutePath = "DOCS-QOS-MIB:DOCS-QOS-MIB/" + docsQosServiceFlowTable.EntityData.SegmentPath
docsQosServiceFlowTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
docsQosServiceFlowTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
docsQosServiceFlowTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
docsQosServiceFlowTable.EntityData.Children = types.NewOrderedMap()
docsQosServiceFlowTable.EntityData.Children.Append("docsQosServiceFlowEntry", types.YChild{"DocsQosServiceFlowEntry", nil})
for i := range docsQosServiceFlowTable.DocsQosServiceFlowEntry {
docsQosServiceFlowTable.EntityData.Children.Append(types.GetSegmentPath(docsQosServiceFlowTable.DocsQosServiceFlowEntry[i]), types.YChild{"DocsQosServiceFlowEntry", docsQosServiceFlowTable.DocsQosServiceFlowEntry[i]})
}
docsQosServiceFlowTable.EntityData.Leafs = types.NewOrderedMap()
docsQosServiceFlowTable.EntityData.YListKeys = []string {}
return &(docsQosServiceFlowTable.EntityData)
}
// DOCSQOSMIB_DocsQosServiceFlowTable_DocsQosServiceFlowEntry
// Describes a service flow.
// An entry in the table exists for each
// Service Flow ID. The ifIndex is an