1 QOS-POLICY-802-PIB PIB-DEFINITIONS ::= BEGIN
6 MODULE-IDENTITY, OBJECT-TYPE
8 TruthValue, PhysAddress,
12 FROM POLICY-FRAMEWORK-PIB
14 FROM QOS-POLICY-IP-PIB
20 qosPolicy802Pib MODULE-IDENTITY
21 SUBJECT-CATEGORIES { all } -- to be assigned
22 LAST-UPDATED "9906241800Z"
23 ORGANIZATION "IETF RAP WG"
28 San Jose, CA 95134-1706 USA
29 Phone: +1 408 527 8218
30 Email: mfine@cisco.com
34 170 West Tasman Drive,
35 San Jose, CA 95134-1706 USA
36 Phone: +1 408 526 5260
41 4401 Great America Parkway
42 Santa Clara, CA 95054 USA
43 Phone: +1 408 495 2992
44 Email: jseligso@nortelnetworks.com"
46 "The PIB module containing an initial set of policy
47 rule classes that describe the quality of service
48 (QoS) policies supported by devices for IEEE 802-
51 ::= { ibrpib 5 } -- to be assigned !
53 qosPolicy802PibClasses OBJECT IDENTIFIER ::= { qosPolicy802Pib 1 }
56 -- Textual Conventions
63 QosIeee802Cos ::= TEXTUAL-CONVENTION
66 "An integer that is in the range of the IEEE 802 CoS
67 values. This corresponds to the 802.1p priority values."
72 -- General configuration information for the entire domain
75 qos802DomainConfig OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 1 }
78 -- Differentiated Services Code Point Mapping Table
80 -- Supports the mapping of DSCP values to IEEE CoS values.
83 qos802DscpMappingTable OBJECT-TYPE
84 SYNTAX SEQUENCE OF Qos802DscpMappingEntry
88 "Maps each DSCP to an QosIeee802Cos. When configured
89 for the first time, all 64 entries of the table must
90 be specified. Thereafter, instances may be modified but
91 not deleted unless all instances are deleted."
94 priInstNotComplete(1) -- required instances not created
97 ::= { qos802DomainConfig 1 }
99 qos802DscpMappingEntry OBJECT-TYPE
100 SYNTAX Qos802DscpMappingEntry
103 "An instance of the qos802DscpMapping class. A total of 64
104 class instances are constantly maintained after initial device
107 PIB-INDEX { qos802DscpMappingId }
108 ::= { qos802DscpMappingTable 1 }
110 Qos802DscpMappingEntry ::= SEQUENCE {
111 qos802DscpMappingId InstanceId,
112 qos802DscpMappingDscp Dscp,
113 qos802DscpMapping802Cos QosIeee802Cos
116 qos802DscpMappingId OBJECT-TYPE
120 "A unique ID for this policy rule instance."
122 ::= { qos802DscpMappingEntry 1 }
124 qos802DscpMappingDscp OBJECT-TYPE
128 "The DSCP class instance attribute that is used to
129 determine the appropriate layer 2 CoS mappings. DSCP
130 values 0 through 63 (inclusive) are maintained in
133 ::= { qos802DscpMappingEntry 2 }
135 qos802DscpMapping802Cos OBJECT-TYPE
139 "The IEEE 802 CoS value to use when mapping the DSCP
140 value specified by the qos802DscpMappingDscp attribute
143 ::= { qos802DscpMappingEntry 3 }
146 -- Layer 2 CoS-to-DSCP Mapping Table
148 -- Supports the mapping of IEEE CoS values to DSCP values
149 -- for generic QoS traffic classification
152 qos802CosToDscpTable OBJECT-TYPE
153 SYNTAX SEQUENCE OF Qos802CosToDscpEntry
157 "Maps each of eight layer 2 CoS values to a DSCP. When
158 configured for the first time, all 8 entries of the table
159 must be specified. Thereafter, instances may be modified
160 but not deleted unless all instances are deleted."
163 priInstNotComplete(1) -- required instances not created
166 ::= { qos802DomainConfig 2 }
168 qos802CosToDscpEntry OBJECT-TYPE
169 SYNTAX Qos802CosToDscpEntry
172 "An instance of the qosCosToDscp class. A total of 8
173 class instances are constantly maintained after initial
174 device configuration."
176 PIB-INDEX { qos802CosToDscpId }
177 ::= { qos802CosToDscpTable 1 }
179 Qos802CosToDscpEntry ::= SEQUENCE {
180 qos802CosToDscpId InstanceId,
181 qos802CosToDscpCos QosIeee802Cos,
182 qos802CosToDscpDscp Dscp
185 qos802CosToDscpId OBJECT-TYPE
190 "A unique index for this policy rule instance."
192 ::= { qos802CosToDscpEntry 1 }
194 qos802CosToDscpCos OBJECT-TYPE
198 "The layer 2 CoS class instance attribute that is used to
199 determine the appropriate DSCP mappings. CoS values 0
200 through 7 (inclusive) are maintained in the table."
202 ::= { qos802CosToDscpEntry 2 }
204 qos802CosToDscpDscp OBJECT-TYPE
208 "The DSCP value to use when mapping the layer 2 CoS value
209 specified by the qosCosToDscp attribute to a DSCP."
211 ::= { qos802CosToDscpEntry 3 }
214 -- The IEEE 802 Classification and Policing Group
217 qos802Qos OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 2 }
220 -- The IEEE 802 ACE Table
222 -- The IEEE 802 ACE Table supports the specification of IEEE
223 -- 802-based (e.g., 802.3) information that is used to perform
224 -- traffic classification.
227 qos802AceTable OBJECT-TYPE
228 SYNTAX SEQUENCE OF Qos802AceEntry
232 "IEEE 802-based ACE definitions. A class that contains
233 attributes of IEEE 802 (e.g., 802.3) traffic that form
235 an association that is used to perform traffic
240 qos802AceEntry OBJECT-TYPE
241 SYNTAX Qos802AceEntry
244 "IEEE 802-based ACE definitions. An entry specifies
245 (potentially) several distinct matching components. Each
246 component is tested against the data in a frame
247 individually. An overall match occurs when all of the
248 individual components match the data they are compared
249 against in the frame being processed. A failure of any
250 one test causes the overall match to fail.
252 Wildcards may be specified for those fields that are not
255 PIB-INDEX { qos802AceId }
256 ::= { qos802AceTable 1 }
258 Qos802AceEntry ::= SEQUENCE {
259 qos802AceId InstanceId,
260 qos802AceDstAddr PhysAddress,
261 qos802AceDstAddrMask PhysAddress,
262 qos802AceSrcAddr PhysAddress,
263 qos802AceSrcAddrMask PhysAddress,
264 qos802AceVlanId Integer32,
265 qos802AceVlanTagRequired INTEGER,
266 qos802AceEtherType Integer32,
267 qos802AceUserPriority BITS,
268 qos802AcePermit TruthValue
271 qos802AceId OBJECT-TYPE
275 "An arbitrary integer index that uniquely identifies this
276 802 ACE among all of the 802 ACEs. Note that this identifier
277 is used in instances of the qos802Acl class to associate a
278 802 ACE with a 802 ACL. An active ACE/ACL association
279 prohibits the deletion of the 802 ACE until the ACE/ACL
281 association is terminated. Class instances may not be
284 ::= { qos802AceEntry 1 }
286 qos802AceDstAddr OBJECT-TYPE
290 "The 802 address against which the 802 DA of incoming traffic
291 streams will be compared. Frames whose 802 DA matches the
292 physical address specified by this object, taking into account
293 address wildcarding as specified by the qos802AceDstAddrMask
294 object, are potentially subject to the processing guidelines
295 that are associated with this entry through the related
298 ::= { qos802AceEntry 2 }
300 qos802AceDstAddrMask OBJECT-TYPE
304 "This object specifies the bits in a 802 destination address
305 that should be considered when performing a 802 DA comparison
306 against the address specified in the qos802AceDstAddr object.
308 The value of this object represents a mask that is logically
309 and'ed with the 802 DA in received frames to derive the value
310 to be compared against the qos802AceDstAddr address. A zero
311 bit in the mask thus means that the corresponding bit in the
312 address always matches. The qos802AceDstAddr value must also
313 be masked using this value prior to any comparisons.
315 The length of this object in octets must equal the length in
316 octets of the qos802AceDstAddr. Note that a mask with no bits
317 set (i.e., all zeroes) effectively wildcards the
318 qos802AceDstAddr object."
320 ::= { qos802AceEntry 3 }
322 qos802AceSrcAddr OBJECT-TYPE
327 "The 802 MAC address against which the 802 MAC SA of incoming
328 traffic streams will be compared. Frames whose 802 MAC SA
329 matches the physical address specified by this object,
330 taking into account address wildcarding as specified by the
331 qos802AceSrcAddrMask object, are potentially subject to the
332 processing guidelines that are associated with this entry
333 through the related action class."
335 ::= { qos802AceEntry 4 }
337 qos802AceSrcAddrMask OBJECT-TYPE
341 "This object specifies the bits in a 802 MAC source address
342 that should be considered when performing a 802 MAC SA
343 comparison against the address specified in the
344 qos802AceSrcAddr object.
346 The value of this object represents a mask that is logically
347 and'ed with the 802 MAC SA in received frames to derive the
348 value to be compared against the qos802AceSrcAddr address. A
349 zero bit in the mask thus means that the corresponding bit
350 in the address always matches. The qos802AceSrcAddr value
351 must also be masked using this value prior to any
354 The length of this object in octets must equal the length in
355 octets of the qos802AceSrcAddr. Note that a mask with no bits
356 set (i.e., all zeroes) effectively wildcards the
357 qos802AceSrcAddr object."
359 ::= { qos802AceEntry 5 }
361 qos802AceVlanId OBJECT-TYPE
362 SYNTAX Integer32 (-1 | 1..4094)
365 "The VLAN ID (VID) that uniquely identifies a VLAN
366 within the device. This VLAN may be known or unknown
367 (i.e., traffic associated with this VID has not yet
368 been seen by the device) at the time this entry
371 Setting the qos802AceVlanId object to -1 indicates that
373 VLAN data should not be considered during traffic
376 ::= { qos802AceEntry 6 }
378 qos802AceVlanTagRequired OBJECT-TYPE
381 priorityTaggedPlus(2),
387 "This object indicates whether the presence of an
388 IEEE 802.1Q VLAN tag in data link layer frames must
389 be considered when determining if a given frame
390 matches this 802 ACE entry.
392 A value of 'taggedOnly(1)' means that only frames
393 containing a VLAN tag with a non-Null VID (i.e., a
394 VID in the range 1..4094) will be considered a match.
396 A value of 'priorityTaggedPlus(2)' means that only
397 frames containing a VLAN tag, regardless of the value
398 of the VID, will be considered a match.
400 A value of 'untaggedOnly(3)' indicates that only
401 untagged frames will match this filter component.
403 The presence of a VLAN tag is not taken into
404 consideration in terms of a match if the value is
407 ::= { qos802AceEntry 7 }
409 qos802AceEtherType OBJECT-TYPE
410 SYNTAX Integer32 (-1 | 0..'ffff'h)
413 "This object specifies the value that will be compared
414 against the value contained in the EtherType field of an
415 IEEE 802 frame. Example settings would include 'IP'
416 (0x0800), 'ARP' (0x0806) and 'IPX' (0x8137).
418 Setting the qos802AceEtherTypeMin object to -1 indicates
419 that EtherType data should not be considered during traffic
422 Note that the position of the EtherType field depends on
423 the underlying frame format. For Ethernet-II encapsulation,
424 the EtherType field follows the 802 MAC source address. For
425 802.2 LLC/SNAP encapsulation, the EtherType value follows the
426 Organization Code field in the 802.2 SNAP header. The value
427 that is tested with regard to this filter component therefore
428 depends on the data link layer frame format being used. If
429 this 802 ACE component is active when there is no EtherType
430 field in a frame (e.g., 802.2 LLC), a match is implied."
432 ::= { qos802AceEntry 8 }
434 qos802AceUserPriority OBJECT-TYPE
447 "The set of values, representing the potential range
448 of user priority values, against which the value contained
449 in the user priority field of a tagged 802.1 frame is
450 compared. A test for equality is performed when determining
451 if a match exists between the data in a data link layer
452 frame and the value of this 802 ACE component. Multiple
453 values may be set at one time such that potentially several
454 different user priority values may match this 802 ACE
457 Setting all of the bits that are associated with this
458 object causes all user priority values to match this
459 attribute. This essentially makes any comparisons
460 with regard to user priority values unnecessary. Untagged
461 frames are treated as an implicit match."
463 ::= { qos802AceEntry 9 }
465 qos802AcePermit OBJECT-TYPE
469 "If the frame matches this ACE and the value of this
470 attribute is true, then the matching process terminates
471 and the QoS associated with this 802-based ACE (indirectly
472 through the 802 ACL) is applied to the packet. If the
473 value of this attribute is false, then no more 802 ACEs in
474 this 802 ACL are compared to this packet and matching
475 continues with the first 802-based ACE of the next 802 ACL."
477 ::= { qos802AceEntry 10 }
480 -- The IEEE 802 ACL Definition Table
482 -- The IEEE 802 ACL Definition Table supports the association of
483 -- distinct IEEE 802-based (e.g., 802.3) traffic classification
484 -- specifications into an ordered list.
487 qos802AclDefinitionTable OBJECT-TYPE
488 SYNTAX SEQUENCE OF Qos802AclDefinitionEntry
492 "IEEE 802-based ACL definitions. A class that defines a
493 set of 802 ACLs, each of which is comprised of an ordered
497 priPrecedenceConflict(1) -- precedence conflict detected
502 qos802AclDefinitionEntry OBJECT-TYPE
503 SYNTAX Qos802AclDefinitionEntry
506 "IEEE 802-based ACL definitions. An entry specifies an
507 instance of this class that associates an 802 ACE with
509 a given 802 ACL. The evaluation order of distinct 802
510 ACEs that are associated with a specific 802 ACL is
513 PIB-INDEX { qos802AclDefinitionId }
514 ::= { qos802AclDefinitionTable 1 }
516 Qos802AclDefinitionEntry ::= SEQUENCE {
517 qos802AclDefinitionId InstanceId,
518 qos802AclDefinitionAclId InstanceId,
519 qos802AclDefinitionAceId InstanceId,
520 qos802AclDefinitionAceOrder Unsigned32
523 qos802AclDefinitionId OBJECT-TYPE
527 "An arbitrary integer index that uniquely identifies this
528 802 ACE / 802 ACL association."
530 ::= { qos802AclDefinitionEntry 1 }
532 qos802AclDefinitionAclId OBJECT-TYPE
536 "An index for this 802 ACL. Each 802 ACL in the device is
537 assigned a unique integer index. There will (potentially) be
538 multiple instances of the qos802AclDefinition class with this
539 identifier, one for each 802 ACE that is associated with the
542 For example, assume that 2 802 ACLs, each comprised of 4 802
543 ACEs, have been installed. The instances of this class may
546 Index AclId AceId AceOrder
557 Note that this identifier is used in instances of the
558 qosAclTarget class to associate an 802 ACL with an interface
559 set and action. An active ACL Target association prohibits
560 the deletion of all of the qos802AclDefinition instances
561 with a given qos802AclDefinitionAclId (i.e., at least one
562 entry for the specific qos802AclDefinitionAclId must be
563 present in this table) until the ACL Target association is
566 ::= { qos802AclDefinitionEntry 2 }
568 qos802AclDefinitionAceId OBJECT-TYPE
572 "This attribute identifies the 802 ACE in the qos802AceTable
573 that is associated with the 802 ACL specified by
574 qos802AclDefinitionAclId object. The corresponding instance
575 in the qos802Ace class must exist prior to being associated
578 Attempting to specify an unknown class instance will result
579 in an appropriate error indication being returned to the
580 entity that is attempting to install the conflicting entry.
581 For example, a 'priUnknown(2)' error indication is returned
582 to the policy server in this situation."
584 ::= { qos802AclDefinitionEntry 3 }
586 qos802AclDefinitionAceOrder OBJECT-TYPE
590 "The precedence of the 802 ACE, identified via the
591 qos802AclDefinitionAceId object, with regard to evaluation
592 order. The precedence determines the order of evaluation of
593 this ACE in relation to related 802 ACEs that are associated
594 with an ACL. An ACE with a given precedence order in the
595 access control list is evaluated before one with a higher-
596 valued precedence order.
598 Precedence values within a group must be unique otherwise
599 instance installation will be prohibited and an error
601 value will be returned.
603 Note that qos802AclDefinitionAceOrder values within a given
604 ACL need not be contiguous."
606 ::= { qos802AclDefinitionEntry 4 }