summaryrefslogtreecommitdiff
path: root/MIBS/extreme/EXTREME-PBQOS-MIB
blob: 62449b62ef1f453ac90d9940ff84cf72b618adfa (plain)
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

-- ============================================================================

--
-- Extreme Policy-Based QoS
--

EXTREME-PBQOS-MIB DEFINITIONS ::= BEGIN

	IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter64
                                FROM SNMPv2-SMI
                TruthValue, RowStatus
                                FROM SNMPv2-TC
                ifEntry         FROM IF-MIB
      		OwnerString     FROM RMON-MIB
		DisplayString	FROM RFC1213-MIB 
                extremeAgent, PortList, L4Port
                                FROM EXTREME-BASE-MIB;

        extremeQosPolicy MODULE-IDENTITY
                LAST-UPDATED "9903030000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme QoS Policy configuration objects"
        ::= { extremeAgent 7 }

--
-- ============================================================================
--        Rules
-- ============================================================================
-- 
-- Policy rules are used to define the forwarding behaviour of either data
-- traffic or of signaling messages e.g. RSVP. At the ExtremeWare device <->
-- EEM interface, rules are of the following format:
-- 
-- <rule> ::= <rule_id>, <scope>, <direction>, <filter>, <treatment>
-- 
-- <rule_id> ::= INTEGER
-- <scope> ::= signaled | inband
-- <direction> ::= forward | backward | any
--
-- <filter> ::= <inport> | 
--               <outports>, <filterspec> |
--               <outports>, <iptosspec>
-- 
-- <inport> ::= <physport> | any
-- <outports> ::= <physport>* | any
-- <physport> ::= INTEGER | SLOT:INTEGER
-- 
-- The following fields may be used for classification of traffic into a QoS treatment:
-- - IP destination/range
-- - IP source/range
-- - Incoming IP Type-of-Service/mask/match
-- - transport-layer ProtocolNumber (TCP,UDP,other,any)
-- - TCP/UDP destination port number
-- - TCP/UDP source port number
--
-- These may be used in limited combinations to form compound patterns e.g.
-- IntServ filterspecs based on {IP src/dest, IP protocol number, TCP/UDP
-- src/dest} 5-tuples.
-- 
-- <filterspec> ::= <ipsrcrange> <ipdestrange> <ipproto> <srcport> <dstport>
-- <ipsrcrange> ::= IPADDRESS IPADDRESS
-- <ipdestrange> ::= IPADDRESS IPADDRESS
-- <ipproto> ::= tcp | udp | other | any
-- <srcport> ::= INTEGER(0..65535) | any
-- <dstport> ::= INTEGER(0..65535) | any
-- 
-- <iptosspec> ::= <iptosmatch> <iptosmask>  - match if IPTOS & iptosmask == iptosmatch
-- <iptosmatch> ::= INTEGER 0..255
-- <iptosmask> ::= INTEGER 0..255
-- 
-- N.B. IPTOS support is not available on first generation (1-G) silicon
-- IPTOS values are therefore ignored in EW 5.0.
--
-- Each rule is assigned an identifier, unique within each device. The rule is 
-- tagged as applying to either signaled data flows (i.e. RSVP) or to be
-- applied directly to the data itself. The direction of flow is also specified
-- : these apply to the direction of the *data* flow and indicate whether the
-- rule should be applied to one or both directions of a matching data or
-- signal flow.
--
-- This table specifies which physical input and output ports and what traffic
-- patterns are included in a rule.
-- 
-- Note: these filter fields are in addition to the existing extremeQosByVlanMappingTable 
-- table. ExtremeWare currently has a fixed precedence of filter rules: VLAN has the lowest 
-- precedence, followed by source physicalport, 802.1p, MAC and then IP/TCP/UDP as highest 
-- precedence. This implies that any entry in this extremeQosFilterTable takes precedence over 
-- any VLAN match that might indicate a QoS profile in extremeQosByVlanMappingTable. In addition, 
-- any entry that indicates a <filterspec> that is not "any" takes precedence over a filter 
-- indicating an individual <inport>. Any attempt to write a rule that indicates an individual
-- extremeQosRuleInPort as well as non-DEFVAL value for any of {<ipsrcrange> <ipdestrange> 
-- <ipproto> <srcport> <dstport>} will be rejected by the agent.
-- 
-- In other words, in the language of policy management, there is an implied rule precedence 
-- which is used to resolve conflicts in the case where an incoming data packet could potentially
-- be classified as matching 2 or more rules. Some conflicts can be indicated at the time a 
-- policy rule is applied to the device but others can only be detected and resolved at the
-- time a rule is invoked by an incoming message.
--

	extremeNextAvailableQosRuleIndex OBJECT-TYPE
		SYNTAX	        INTEGER
		MAX-ACCESS	read-only
		STATUS	        current
		DESCRIPTION
		"The value of the next available QoS Rule index. This
		 object is used by an NMS to select an index value 
		 for row-creation in the extremeQosRuleTable. The 
		 current value of this object is changed to a new
		 value when the current value is written to an agent's
		 table. Row creation using the current value of this object
                 allocates a extremeQosRuleIndex.  Note the following:
		
		 1. A newly created row does not have to be active(1)
		    for the agent to allocate the extremeQosRuleIndex.

		 2. Race conditions between multiple NMS's end when
		    a row is created.  Rows are deemed created when
		    a setRequest is successfully committed (i.e.
		    the errorStats is noError(0)).

		3.  An agent that exhausts its supply of extremeQosRuleIndex
		    values returns zero as the value of this
		    object.  This can be used by an NMS as an indication
		    to deleted unused rows and reboot the device."
	::= { extremeQosPolicy 1 }		 

	extremeQosClearIPFdb OBJECT-TYPE
		SYNTAX      TruthValue
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
                      "Setting this to true will clear the hardware IP
                       flow table."
	::= { extremeQosPolicy 4 }

	extremeQosClearFdb OBJECT-TYPE
		SYNTAX      TruthValue
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
                      "Setting this to true will clear the hardware MAC
                       flow table."
	::= { extremeQosPolicy 5 }


        extremeQosRuleTable OBJECT-TYPE
 		SYNTAX  SEQUENCE OF ExtremeQosRuleEntry
		MAX-ACCESS  not-accessible
		STATUS  current
                DESCRIPTION
                "Table of QoS policy rules. Entries that duplicate the exact
                same set of policy conditions are not allowed."
	::= { extremeQosPolicy 2 }

        extremeQosRuleEntry OBJECT-TYPE
		SYNTAX  ExtremeQosRuleEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                "Entry in table of QoS policy rules"
               INDEX { extremeQosRuleIndex } 
	::= { extremeQosRuleTable 1 }

        ExtremeQosRuleEntry ::= SEQUENCE
        {
                extremeQosRuleIndex             INTEGER,
                extremeQosRuleScope             INTEGER,
                extremeQosRuleDirection         INTEGER,
                extremeQosRuleInPort            INTEGER,
                extremeQosRuleInPortMask        PortList,
                extremeQosRuleDestAddrStart     IpAddress,
                extremeQosRuleDestAddrEnd       IpAddress,
                extremeQosRuleSrcAddrStart      IpAddress,
                extremeQosRuleSrcAddrEnd        IpAddress,
                extremeQosRuleProtocol          INTEGER,
                extremeQosRuleDestL4PortStart   L4Port,
                extremeQosRuleSourceL4PortStart L4Port,
                extremeQosRuleTosMask           OCTET STRING,
                extremeQosRuleTosMatch          OCTET STRING,
                extremeQosRuleQosProfileIndex   INTEGER,
                extremeQosRuleOwner             OwnerString,
                extremeQosRuleRowStatus         RowStatus,
                extremeQosRuleDestL4PortEnd     L4Port,
                extremeQosRuleSourceL4PortEnd   L4Port,
		extremeQosRulePrecedence	INTEGER,
		extremeQosRuleCounter           Counter64,
		extremeQosRuleName		DisplayString
        }

        extremeQosRuleIndex  OBJECT-TYPE
		SYNTAX          INTEGER
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"An index into the table of QoS policy pattern
                rules. The index for a manager to use for creating
                new rows is determined by reading the value of 
                extremeNextAvailableQosRuleIndex."
	::= { extremeQosRuleEntry 1 }

        extremeQosRuleScope  OBJECT-TYPE
		SYNTAX  INTEGER { any (1), signaled(2), inband(3) }
		MAX-ACCESS 	read-create
		STATUS  current
		DESCRIPTION
		"The scope of conditions in which this rule applies.
                The value 'signaled' means that the policy rule is
                applied only to QoS signaling messages e.g. RSVP. The
                value 'inband' means that the policy rule is applied
                only to data traffic passing through this node. the
                value 'any' means that the policy is applied to any
                of the above conditions. 

                Only the value 'any' is supported in ExtremeWare 6.0."
                DEFVAL { any }
	::= { extremeQosRuleEntry 2 }

        extremeQosRuleDirection  OBJECT-TYPE
		SYNTAX          INTEGER { any(1), forward(2), backward(3) }
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The direction in which this rule applies. The value
                'forward' means that the rule is applied to data streams
                in the direction specified by the classification pattern.
                The value 'backward' means that the rule is applied in
                the reverse direction. The value 'any' means that the
                rule is applied for traffic in either direction of data
                flow. Note that the direction is applied to where the data 
                flow itself will go, not to the direction of any signaling 
                messages e.g. RSVP.

                Only the value 'forward' is supported in ExtremeWare 6.0."
                DEFVAL { forward }
	::= { extremeQosRuleEntry 3 }

        extremeQosRuleInPort  OBJECT-TYPE
		SYNTAX          INTEGER
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The ifIndex value of the physical switch input port for which 
                this rule applies. Rules that indicate an individual value
                for this object have a lower precedence in ExtremeWare than
                rules that specify IP patterns. Conversely, rules that use IP
                patterns must apply to all physical ports and specify a value
                of 0 for this object.

                Any attempt to write a rule that indicates an individual
                value for this object together with non-default values for any 
                of { extremeQosRuleDestAddrStart, extremeQosRuleDestAddrEnd,
                extremeQosRuleSrcAddrStart, extremeQosRuleSrcAddrEnd,
                extremeQosRuleProtocol, extremeQosRuleDestL4PortStart,
                extremeQosRuleDestL4PortEnd, extremeQosRuleSourceL4PortStart,
                extremeQosRuleSourceL4PortEnd and extremeQosRuleInPortMask }
                will be rejected by the agent."
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 4 }

        extremeQosRuleInPortMask  OBJECT-TYPE
		SYNTAX          PortList
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The list of physical switch input ports which further
	        qualifies an IP flow. This object is an octet string
        	with the MSB of octet 0 indicating port 0 and LSB indicating
		port 7. Similarly, the MSB of octet 1 indicates port 8 and it's 
		LSB indicates port 15 and so on. The port numbers are 0-based.
		This object has no meaning for rules defined on physical ports
		that are not associated with an IP flow. Port based rules can be 
		defined by assigning a non zero value to extremeQosRuleInPort. Any
		attempt to set this value without specifying the source/destination 
		address range and/or source/destination l4 port range will be rejected
                by the agent. For IP flows that apply to all physical ports
                in the switch, this will be a zero length octet string."
	::= { extremeQosRuleEntry 5 }

        extremeQosRuleDestAddrStart  OBJECT-TYPE
		SYNTAX          IpAddress
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The start of the destination IP address range for which this
                 rule applies.If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
	::= { extremeQosRuleEntry 6 }

        extremeQosRuleDestAddrEnd  OBJECT-TYPE
		SYNTAX          IpAddress
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The end of the destination IP address range for which this
                 rule applies. If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
	::= { extremeQosRuleEntry 7 }

        extremeQosRuleSrcAddrStart  OBJECT-TYPE
		SYNTAX          IpAddress
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The start of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
	::= { extremeQosRuleEntry 8 }

        extremeQosRuleSrcAddrEnd  OBJECT-TYPE
		SYNTAX          IpAddress
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The end of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
	::= { extremeQosRuleEntry 9 }

        extremeQosRuleProtocol  OBJECT-TYPE
		SYNTAX          INTEGER { any(1), udp(2), tcp(3), other(4), 
					  tcpPermitEstablished(5), icmp(6) }
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The IP protocol number for which this rule applies. If this 
                object has any value other than 'any' then this rule
                takes precedence over any rule that specifies an individual
                physical input port, a VLAN or any incoming implicit 802.1p
                traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { any }
	::= { extremeQosRuleEntry 10 }

        extremeQosRuleDestL4PortStart  OBJECT-TYPE
		SYNTAX          L4Port
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The destination starting layer 4 port number that would
                be used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

		Any attempt to write an ICMP rule specifying an IP pattern
		with a non-default value for this object will be rejected by the
		agent."
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 11 }

        extremeQosRuleSourceL4PortStart  OBJECT-TYPE
		SYNTAX          L4Port
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The source starting layer 4 port number that would be
                used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

		NOTE: For an ICMP rule that specifies an IP pattern, this 
		object has a different meaning in that it specifies the ICMP Type
		and Code values, in the following manner: The value of the Type must
		be shifted to the left by 8 bits and logical ORed with the value of the 
		Code. The result will be stored in this object. In this case, this 
		object can only contain values between 0 and 65535 inclusive since the 
		ICMP Type and Code values are limited between 0 and 255 each."

                DEFVAL { 0 }
	::= { extremeQosRuleEntry 12 }

        extremeQosRuleTosMask  OBJECT-TYPE
		SYNTAX          OCTET STRING (SIZE (1))
		MAX-ACCESS 	read-create
		STATUS          deprecated
		DESCRIPTION
		"A mask for the incoming IP Type-of-Service field to be applied
                when matching. The value of 0 means that any incoming IP ToS
                field is ignored.

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
	::= { extremeQosRuleEntry 13 }

        extremeQosRuleTosMatch  OBJECT-TYPE
		SYNTAX          OCTET STRING (SIZE (1))
		MAX-ACCESS 	read-create
		STATUS          deprecated
		DESCRIPTION
		"If the value of the incoming IP Type-of-Service field, after 
                applying a mask of extremeQosRuleTosMask, is this value then
                this rule is applied. 

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
	::= { extremeQosRuleEntry 14 }

        extremeQosRuleQosProfileIndex  OBJECT-TYPE
		SYNTAX          INTEGER 
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"A pointer into the extremeQosProfileTable indicating the 
                QoS treatment and actions to be applied to traffic matching
                this rule. A value of 0 means that this traffic will be
                dropped/discarded. The default value is that this traffic
                gets the default QoS treatment and actions."
                DEFVAL { 1 }
	::= { extremeQosRuleEntry 15 }

        extremeQosRuleOwner  OBJECT-TYPE
		SYNTAX          OwnerString(SIZE (0..32))
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
                	"Indicates the identity of the manager that 
			configured this entry."
	::= { extremeQosRuleEntry 16 }

        extremeQosRuleRowStatus  OBJECT-TYPE
		SYNTAX          RowStatus
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		  "The row status for this QoS rule. 

		  This OBJECT can be set to:

				active(1)
				createAndGo(4)
				createAndWait(5)
				destroy(6)

		  The following values may be read:
				active(1)
				notReady(3). "
 	::= { extremeQosRuleEntry 17 }

        extremeQosRuleDestL4PortEnd  OBJECT-TYPE
		SYNTAX          L4Port
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The destination last layer 4 port number that would
                determine the l4 port range to match an IP flow. The value
                of 0 means that all layer 4 information would be ignored
                when matching an IP flow. If this object has any value other
                than 0 then this rule takes precedence over any rule that
                specifies an individual physical input port, a VLAN or any
                incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

		Any attempt to write an ICMP rule specifying an IP pattern
		with a non-default value for this object will be rejected by the
		agent." 
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 18 }

        extremeQosRuleSourceL4PortEnd  OBJECT-TYPE
		SYNTAX          L4Port
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The source last layer 4 port number that would determine
                the l4 port range to match an IP flow. The value of 0 means
                that all layer 4 information would be ignored when matching
                an IP flow. If this object has any value other than 0 then
                this rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

		Any attempt to write an ICMP rule specifying an IP pattern with
		a non-default value for this object will be rejected by the agent."
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 19 }

        extremeQosRulePrecedence  OBJECT-TYPE
		SYNTAX          INTEGER
		MAX-ACCESS 	read-create
		STATUS          current
		DESCRIPTION
		"The precedence used to select one rule over potentially 
                multiple rules that might match an L3/L4 flow. The rule
		with highest precedence  takes precedence over any rule
		that specifies a matching flow, individual physical input
		port, a VLAN or any incoming implicit 802.1p traffic class
		rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 20 }

        extremeQosRuleCounter  OBJECT-TYPE
		SYNTAX          Counter64
		MAX-ACCESS 	read-only
		STATUS          current
		DESCRIPTION
		" " 
                DEFVAL { 0 }
	::= { extremeQosRuleEntry 21 }

	extremeQosRuleName OBJECT-TYPE
		SYNTAX 		DisplayString (SIZE (0..32))
                MAX-ACCESS 	read-create
                STATUS		current
                DESCRIPTION
                "A unique Qos rule name. If this is not specified then the system 
		generates one automatically."
        ::= { extremeQosRuleEntry 22 }

-- ================================================================================
-- Treatment/Action/QoSProfile
-- ================================================================================
-- 
-- Several parameters are accessible, to a greater or lesser extent, for 
-- specifying the treatment received by traffic that is classified as matching
-- a static rule.
-- 
-- The following can be thought of as represented by a "per-hop behaviour" in 
-- IETF DiffServ terminology or by a "QoS Profile" in Extreme terminology:
--      - relative priority
--      - minimum guaranteed bandwidth
--      - maximum limit on bandwidth
--      - limit on peak bandwidth
--      - reserved buffer allocation
--      - maximum limit on buffer allocation
--      - filter/drop
-- 
-- In addition, the following actions can also be thought of as a part of the
-- treatment:
--      - trap to policy server
--      - outgoing IP TOS/mark/mask
--      - outgoing 802.1p mark
-- 
-- A set of parameters specify the scheduling characteristics of per-class 
-- queues and the marking of traffic that exits those queues. The term
-- "flowspec" is used loosely here although it has many of the characteristics
-- of an IntServ flowspec.
-- 
-- <treatment> ::= drop | <qos_profile>
--
-- <qos_profile> ::= <flowspec>, <action>
-- 
-- <flowspec> ::= <tokenBucket> | <absoluteBw> | <percentBw>, <buffers>, <priority>
-- <tokenBucket> ::= peakBW, sustBW, bucketSize
-- <absoluteBW> ::= minBW, maxPeakBW, maxSustBW
-- <percentBW> ::= minBWpercent, maxSustBWpercent, maxPeakBWpercent
-- <buffers> ::= maxQueueLength, minBufferAlloc
-- <priority> ::= relativePriority
-- 
-- <action> ::= <trap_to_server>, <mark_iptos>, <mark_8021p>
-- <trap_to_server> ::= TRUE | FALSE
-- <mark_iptos> ::= new_set_pattern, new_clear_pattern
-- <mark_8021p> ::= INTEGER 0..7 | unchanged
-- 
-- On any device using first-generation silicon, additional 
-- parameters are hard coded:
-- 
-- mark_iptos = 0,0   (i.e. IPTOS unchanged)
-- 
-- Note: for the ExtremeWare 4.0 release, some of the parameters are not 
-- exposed for modification through this interface: these are represented as
-- read-only - 6.0 behaviour is currently undefined. 
--
-- In particular, hard-coded values for the following are used in 4.0:
--    maxPeakBWpercent ::= line rate or 100%
--    maxQueueLength ::= infinite or something approaching total buffers in
--                       the device
--    minBufferAlloc ::= fixed at compile time <insert EW4.0 defaults>
--    mark_8021p ::= for packets entering untagged: 0, 2, 4 or 6 depending on
--                   queue number for packets entering tagged: unchanged.
--
-- 
-- Existing table:
--
-- extremeQosProfileTable INDEX { extremeQosProfileIndex} SEQUENCE OF
-- {
--      extremeQosProfileIndex	        INTEGER ,
--      extremeQosProfileName	        DisplayString,
--	extremeQosProfileMinBw	        INTEGER (0..100),
--	extremeQosProfileMaxBw		INTEGER (0..100),
--	extremeQosProfilePriority	INTEGER {low, normal, medium, high}
--	extremeQosProfileRowStatus	RowStatus
-- }
--
-- Added the following "flowspec" columns to extremeQosProfileTable:
--
--        extremeQosProfileMinBwBps             INTEGER,
--        extremeQosProfileMaxSustBwBps         INTEGER,
--        extremeQosProfileMaxPeakBwBps         INTEGER,
--        extremeQosProfileBucketSizeOctets     INTEGER,
--        extremeQosProfileMaxPeakBwPercent     INTEGER (0..100),
--        extremeQosProfileMaxQueueLengthOctets INTEGER,
--        extremeQosProfileMinBufferAllocOctets INTEGER
--
-- Added the following "action" columns to extremeQosProfileTable:
-- 
--        extremeTrapToServer     TruthValue,     - send trap to policy server
--        extremeMarkIpTosSet     OCTET STRING (SIZE (1)),
--        extremeMarkIpTosClear   OCTET STRING (SIZE (1)),
--        extremeMark8021p        INTEGER (0..7) or unchanged(8)  - see above



-- ===========================================================================
--        Capabilities
-- ===========================================================================

        extremeQosCapabilitiesTable OBJECT-TYPE
 		SYNTAX  SEQUENCE OF ExtremeQosCapabilitiesEntry
		MAX-ACCESS  not-accessible
		STATUS  current
                DESCRIPTION
                "Table of per-port QoS policy capabilities. An entry only
                 exists in this table for ifTable entries representing
                 physical ports. On a modular system with mixed capability
                 silicon it is necessary to indicate the QoS capabilities to
                 a manager."
	::= { extremeQosPolicy 3 }

        extremeQosCapabilitiesEntry OBJECT-TYPE
		SYNTAX  ExtremeQosCapabilitiesEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                "Entry in table of QoS policy capabilities for a given switch
                 port."
                AUGMENTS { ifEntry }
	::= { extremeQosCapabilitiesTable 1 }

        ExtremeQosCapabilitiesEntry ::= SEQUENCE
        {
                extremeQosCapMarkIpTosCapable         TruthValue,
                extremeQosCapMatchIpTosCapable        TruthValue
        }

        extremeQosCapMarkIpTosCapable  OBJECT-TYPE
		SYNTAX          TruthValue
		MAX-ACCESS 	read-only
		STATUS          current
		DESCRIPTION
		"This port is capable of supporting policies that involve
                the changing of IP TOS octet values."
	::= { extremeQosCapabilitiesEntry 1 }

        extremeQosCapMatchIpTosCapable  OBJECT-TYPE
		SYNTAX          TruthValue
		MAX-ACCESS 	read-only
		STATUS          current
		DESCRIPTION
		"This port is capable of supporting policies that involve
                packet classification based on matching of IP TOS octet 
                values."
	::= { extremeQosCapabilitiesEntry 2 }

END