1 QOS-POLICY-802-PIB PIB-DEFINITIONS ::= BEGIN
5 MODULE-IDENTITY, OBJECT-TYPE
7 TruthValue, PhysAddress,
10 RoleCombination, PolicyInstanceId
11 FROM POLICY-FRAMEWORK-PIB
13 FROM QOS-POLICY-IP-PIB;
15 qosPolicy802Pib MODULE-IDENTITY
16 LAST-UPDATED "9906241800Z"
17 ORGANIZATION "IETF RAP WG"
22 San Jose, CA 95134-1706 USA
23 Phone: +1 408 527 8218
24 Email: mfine@cisco.com
28 170 West Tasman Drive,
29 San Jose, CA 95134-1706 USA
30 Phone: +1 408 526 5260
35 4401 Great America Parkway
36 Santa Clara, CA 95054 USA
37 Phone: +1 408 495 2992
38 Email: jseligso@nortelnetworks.com"
40 "The PIB module containing an initial set of policy
41 rule classes that describe the quality of service
42 (QoS) policies supported by devices for IEEE 802-
47 qosPolicy802PibClasses OBJECT IDENTIFIER ::= { qosPolicy802Pib 1 }
50 -- Textual Conventions
57 QosIeee802Cos ::= TEXTUAL-CONVENTION
60 "An integer that is in the range of the IEEE 802 CoS
61 values. This corresponds to the 802.1p priority values."
66 -- General configuration information for the entire domain
69 qos802DomainConfig OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 1 }
72 -- Differentiated Services Code Point Mapping Table
74 -- Supports the mapping of DSCP values to IEEE CoS values.
77 qos802DscpMappingTable OBJECT-TYPE
78 SYNTAX SEQUENCE OF Qos802DscpMappingEntry
82 "Maps each DSCP to an QosIeee802Cos. When configured
83 for the first time, all 64 entries of the table must
84 be specified. Thereafter, instances may be modified but
85 not deleted unless all instances are deleted."
88 priInstNotComplete(1) -- required instances not created
91 ::= { qos802DomainConfig 1 }
93 qos802DscpMappingEntry OBJECT-TYPE
94 SYNTAX Qos802DscpMappingEntry
97 "An instance of the qos802DscpMapping class. A total of 64
98 class instances are constantly maintained after initial device
101 INDEX { qos802DscpMappingId }
102 ::= { qos802DscpMappingTable 1 }
104 Qos802DscpMappingEntry ::= SEQUENCE {
105 qos802DscpMappingId PolicyInstanceId,
106 qos802DscpMappingDscp Dscp,
107 qos802DscpMapping802Cos QosIeee802Cos
110 qos802DscpMappingId OBJECT-TYPE
111 SYNTAX PolicyInstanceId
114 "A unique ID for this policy rule instance."
116 ::= { qos802DscpMappingEntry 1 }
118 qos802DscpMappingDscp OBJECT-TYPE
122 "The DSCP class instance attribute that is used to
123 determine the appropriate layer 2 CoS mappings. DSCP
124 values 0 through 63 (inclusive) are maintained in
127 ::= { qos802DscpMappingEntry 2 }
129 qos802DscpMapping802Cos OBJECT-TYPE
133 "The IEEE 802 CoS value to use when mapping the DSCP
134 value specified by the qos802DscpMappingDscp attribute
137 ::= { qos802DscpMappingEntry 3 }
140 -- Layer 2 CoS-to-DSCP Mapping Table
142 -- Supports the mapping of IEEE CoS values to DSCP values
143 -- for generic QoS traffic classification
146 qos802CosToDscpTable OBJECT-TYPE
147 SYNTAX SEQUENCE OF Qos802CosToDscpEntry
148 POLICY-ACCESS install
151 "Maps each of eight layer 2 CoS values to a DSCP. When
152 configured for the first time, all 8 entries of the table
153 must be specified. Thereafter, instances may be modified
154 but not deleted unless all instances are deleted."
157 priInstNotComplete(1) -- required instances not created
160 ::= { qos802DomainConfig 2 }
162 qos802CosToDscpEntry OBJECT-TYPE
163 SYNTAX Qos802CosToDscpEntry
166 "An instance of the qosCosToDscp class. A total of 8
167 class instances are constantly maintained after initial
168 device configuration."
170 INDEX { qos802CosToDscpId }
171 ::= { qos802CosToDscpTable 1 }
173 Qos802CosToDscpEntry ::= SEQUENCE {
174 qos802CosToDscpId PolicyInstanceId,
175 qos802CosToDscpCos QosIeee802Cos,
176 qos802CosToDscpDscp Dscp
179 qos802CosToDscpId OBJECT-TYPE
180 SYNTAX PolicyInstanceId
184 "A unique index for this policy rule instance."
186 ::= { qos802CosToDscpEntry 1 }
188 qos802CosToDscpCos OBJECT-TYPE
192 "The layer 2 CoS class instance attribute that is used to
193 determine the appropriate DSCP mappings. CoS values 0
194 through 7 (inclusive) are maintained in the table."
196 ::= { qos802CosToDscpEntry 2 }
198 qos802CosToDscpDscp OBJECT-TYPE
202 "The DSCP value to use when mapping the layer 2 CoS value
203 specified by the qosCosToDscp attribute to a DSCP."
205 ::= { qos802CosToDscpEntry 3 }
208 -- The IEEE 802 Classification and Policing Group
211 qos802Qos OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 2 }
214 -- The IEEE 802 ACE Table
216 -- The IEEE 802 ACE Table supports the specification of IEEE
217 -- 802-based (e.g., 802.3) information that is used to perform
218 -- traffic classification.
221 qos802AceTable OBJECT-TYPE
222 SYNTAX SEQUENCE OF Qos802AceEntry
223 POLICY-ACCESS install
226 "IEEE 802-based ACE definitions. A class that contains
227 attributes of IEEE 802 (e.g., 802.3) traffic that form
229 an association that is used to perform traffic
234 qos802AceEntry OBJECT-TYPE
235 SYNTAX Qos802AceEntry
238 "IEEE 802-based ACE definitions. An entry specifies
239 (potentially) several distinct matching components. Each
240 component is tested against the data in a frame
241 individually. An overall match occurs when all of the
242 individual components match the data they are compared
243 against in the frame being processed. A failure of any
244 one test causes the overall match to fail.
246 Wildcards may be specified for those fields that are not
249 INDEX { qos802AceId }
250 ::= { qos802AceTable 1 }
252 Qos802AceEntry ::= SEQUENCE {
253 qos802AceId PolicyInstanceId,
254 qos802AceDstAddr PhysAddress,
255 qos802AceDstAddrMask PhysAddress,
256 qos802AceSrcAddr PhysAddress,
257 qos802AceSrcAddrMask PhysAddress,
258 qos802AceVlanId Integer32,
259 qos802AceVlanTagRequired INTEGER,
260 qos802AceEtherType Integer32,
261 qos802AceUserPriority BITS,
262 qos802AcePermit TruthValue
265 qos802AceId OBJECT-TYPE
266 SYNTAX PolicyInstanceId
269 "An arbitrary integer index that uniquely identifies this
270 802 ACE among all of the 802 ACEs. Note that this identifier
271 is used in instances of the qos802Acl class to associate a
272 802 ACE with a 802 ACL. An active ACE/ACL association
273 prohibits the deletion of the 802 ACE until the ACE/ACL
275 association is terminated. Class instances may not be
278 ::= { qos802AceEntry 1 }
280 qos802AceDstAddr OBJECT-TYPE
284 "The 802 address against which the 802 DA of incoming traffic
285 streams will be compared. Frames whose 802 DA matches the
286 physical address specified by this object, taking into account
287 address wildcarding as specified by the qos802AceDstAddrMask
288 object, are potentially subject to the processing guidelines
289 that are associated with this entry through the related
292 ::= { qos802AceEntry 2 }
294 qos802AceDstAddrMask OBJECT-TYPE
298 "This object specifies the bits in a 802 destination address
299 that should be considered when performing a 802 DA comparison
300 against the address specified in the qos802AceDstAddr object.
302 The value of this object represents a mask that is logically
303 and'ed with the 802 DA in received frames to derive the value
304 to be compared against the qos802AceDstAddr address. A zero
305 bit in the mask thus means that the corresponding bit in the
306 address always matches. The qos802AceDstAddr value must also
307 be masked using this value prior to any comparisons.
309 The length of this object in octets must equal the length in
310 octets of the qos802AceDstAddr. Note that a mask with no bits
311 set (i.e., all zeroes) effectively wildcards the
312 qos802AceDstAddr object."
314 ::= { qos802AceEntry 3 }
316 qos802AceSrcAddr OBJECT-TYPE
321 "The 802 MAC address against which the 802 MAC SA of incoming
322 traffic streams will be compared. Frames whose 802 MAC SA
323 matches the physical address specified by this object,
324 taking into account address wildcarding as specified by the
325 qos802AceSrcAddrMask object, are potentially subject to the
326 processing guidelines that are associated with this entry
327 through the related action class."
329 ::= { qos802AceEntry 4 }
331 qos802AceSrcAddrMask OBJECT-TYPE
335 "This object specifies the bits in a 802 MAC source address
336 that should be considered when performing a 802 MAC SA
337 comparison against the address specified in the
338 qos802AceSrcAddr object.
340 The value of this object represents a mask that is logically
341 and'ed with the 802 MAC SA in received frames to derive the
342 value to be compared against the qos802AceSrcAddr address. A
343 zero bit in the mask thus means that the corresponding bit
344 in the address always matches. The qos802AceSrcAddr value
345 must also be masked using this value prior to any
348 The length of this object in octets must equal the length in
349 octets of the qos802AceSrcAddr. Note that a mask with no bits
350 set (i.e., all zeroes) effectively wildcards the
351 qos802AceSrcAddr object."
353 ::= { qos802AceEntry 5 }
355 qos802AceVlanId OBJECT-TYPE
356 SYNTAX Integer32 (-1 | 1..4094)
359 "The VLAN ID (VID) that uniquely identifies a VLAN
360 within the device. This VLAN may be known or unknown
361 (i.e., traffic associated with this VID has not yet
362 been seen by the device) at the time this entry
365 Setting the qos802AceVlanId object to -1 indicates that
367 VLAN data should not be considered during traffic
370 ::= { qos802AceEntry 6 }
372 qos802AceVlanTagRequired OBJECT-TYPE
375 priorityTaggedPlus(2),
381 "This object indicates whether the presence of an
382 IEEE 802.1Q VLAN tag in data link layer frames must
383 be considered when determining if a given frame
384 matches this 802 ACE entry.
386 A value of 'taggedOnly(1)' means that only frames
387 containing a VLAN tag with a non-Null VID (i.e., a
388 VID in the range 1..4094) will be considered a match.
390 A value of 'priorityTaggedPlus(2)' means that only
391 frames containing a VLAN tag, regardless of the value
392 of the VID, will be considered a match.
394 A value of 'untaggedOnly(3)' indicates that only
395 untagged frames will match this filter component.
397 The presence of a VLAN tag is not taken into
398 consideration in terms of a match if the value is
401 ::= { qos802AceEntry 7 }
403 qos802AceEtherType OBJECT-TYPE
404 SYNTAX Integer32 (-1 | 0..'ffff'h)
407 "This object specifies the value that will be compared
408 against the value contained in the EtherType field of an
409 IEEE 802 frame. Example settings would include 'IP'
410 (0x0800), 'ARP' (0x0806) and 'IPX' (0x8137).
412 Setting the qos802AceEtherTypeMin object to -1 indicates
413 that EtherType data should not be considered during traffic
416 Note that the position of the EtherType field depends on
417 the underlying frame format. For Ethernet-II encapsulation,
418 the EtherType field follows the 802 MAC source address. For
419 802.2 LLC/SNAP encapsulation, the EtherType value follows the
420 Organization Code field in the 802.2 SNAP header. The value
421 that is tested with regard to this filter component therefore
422 depends on the data link layer frame format being used. If
423 this 802 ACE component is active when there is no EtherType
424 field in a frame (e.g., 802.2 LLC), a match is implied."
426 ::= { qos802AceEntry 8 }
428 qos802AceUserPriority OBJECT-TYPE
441 "The set of values, representing the potential range
442 of user priority values, against which the value contained
443 in the user priority field of a tagged 802.1 frame is
444 compared. A test for equality is performed when determining
445 if a match exists between the data in a data link layer
446 frame and the value of this 802 ACE component. Multiple
447 values may be set at one time such that potentially several
448 different user priority values may match this 802 ACE
451 Setting all of the bits that are associated with this
452 object causes all user priority values to match this
453 attribute. This essentially makes any comparisons
454 with regard to user priority values unnecessary. Untagged
455 frames are treated as an implicit match."
457 ::= { qos802AceEntry 9 }
459 qos802AcePermit OBJECT-TYPE
463 "If the frame matches this ACE and the value of this
464 attribute is true, then the matching process terminates
465 and the QoS associated with this 802-based ACE (indirectly
466 through the 802 ACL) is applied to the packet. If the
467 value of this attribute is false, then no more 802 ACEs in
468 this 802 ACL are compared to this packet and matching
469 continues with the first 802-based ACE of the next 802 ACL."
471 ::= { qos802AceEntry 10 }
474 -- The IEEE 802 ACL Definition Table
476 -- The IEEE 802 ACL Definition Table supports the association of
477 -- distinct IEEE 802-based (e.g., 802.3) traffic classification
478 -- specifications into an ordered list.
481 qos802AclDefinitionTable OBJECT-TYPE
482 SYNTAX SEQUENCE OF Qos802AclDefinitionEntry
483 POLICY-ACCESS install
486 "IEEE 802-based ACL definitions. A class that defines a
487 set of 802 ACLs, each of which is comprised of an ordered
491 priPrecedenceConflict(1) -- precedence conflict detected
496 qos802AclDefinitionEntry OBJECT-TYPE
497 SYNTAX Qos802AclDefinitionEntry
500 "IEEE 802-based ACL definitions. An entry specifies an
501 instance of this class that associates an 802 ACE with
503 a given 802 ACL. The evaluation order of distinct 802
504 ACEs that are associated with a specific 802 ACL is
507 INDEX { qos802AclDefinitionId }
508 ::= { qos802AclDefinitionTable 1 }
510 Qos802AclDefinitionEntry ::= SEQUENCE {
511 qos802AclDefinitionId PolicyInstanceId,
512 qos802AclDefinitionAclId PolicyInstanceId,
513 qos802AclDefinitionAceId PolicyInstanceId,
514 qos802AclDefinitionAceOrder Unsigned32
517 qos802AclDefinitionId OBJECT-TYPE
518 SYNTAX PolicyInstanceId
521 "An arbitrary integer index that uniquely identifies this
522 802 ACE / 802 ACL association."
524 ::= { qos802AclDefinitionEntry 1 }
526 qos802AclDefinitionAclId OBJECT-TYPE
527 SYNTAX PolicyInstanceId
530 "An index for this 802 ACL. Each 802 ACL in the device is
531 assigned a unique integer index. There will (potentially) be
532 multiple instances of the qos802AclDefinition class with this
533 identifier, one for each 802 ACE that is associated with the
536 For example, assume that 2 802 ACLs, each comprised of 4 802
537 ACEs, have been installed. The instances of this class may
540 Index AclId AceId AceOrder
551 Note that this identifier is used in instances of the
552 qosAclTarget class to associate an 802 ACL with an interface
553 set and action. An active ACL Target association prohibits
554 the deletion of all of the qos802AclDefinition instances
555 with a given qos802AclDefinitionAclId (i.e., at least one
556 entry for the specific qos802AclDefinitionAclId must be
557 present in this table) until the ACL Target association is
560 ::= { qos802AclDefinitionEntry 2 }
562 qos802AclDefinitionAceId OBJECT-TYPE
563 SYNTAX PolicyInstanceId
566 "This attribute identifies the 802 ACE in the qos802AceTable
567 that is associated with the 802 ACL specified by
568 qos802AclDefinitionAclId object. The corresponding instance
569 in the qos802Ace class must exist prior to being associated
572 Attempting to specify an unknown class instance will result
573 in an appropriate error indication being returned to the
574 entity that is attempting to install the conflicting entry.
575 For example, a 'priUnknown(2)' error indication is returned
576 to the policy server in this situation."
578 ::= { qos802AclDefinitionEntry 3 }
580 qos802AclDefinitionAceOrder OBJECT-TYPE
584 "The precedence of the 802 ACE, identified via the
585 qos802AclDefinitionAceId object, with regard to evaluation
586 order. The precedence determines the order of evaluation of
587 this ACE in relation to related 802 ACEs that are associated
588 with an ACL. An ACE with a given precedence order in the
589 access control list is evaluated before one with a higher-
590 valued precedence order.
592 Precedence values within a group must be unique otherwise
593 instance installation will be prohibited and an error
595 value will be returned.
597 Note that qos802AclDefinitionAceOrder values within a given
598 ACL need not be contiguous."
600 ::= { qos802AclDefinitionEntry 4 }