1DIFFSERV-MIB DEFINITIONS ::= BEGIN 2 3 IMPORTS 4 Unsigned32, Counter64, MODULE-IDENTITY, OBJECT-TYPE, 5 OBJECT-IDENTITY, zeroDotZero, mib-2 6 FROM SNMPv2-SMI 7 TEXTUAL-CONVENTION, RowStatus, RowPointer, 8 StorageType, AutonomousType 9 FROM SNMPv2-TC 10 MODULE-COMPLIANCE, OBJECT-GROUP 11 FROM SNMPv2-CONF 12 ifIndex, InterfaceIndexOrZero 13 FROM IF-MIB 14 InetAddressType, InetAddress, InetAddressPrefixLength, 15 InetPortNumber 16 FROM INET-ADDRESS-MIB 17 BurstSize 18 FROM INTEGRATED-SERVICES-MIB 19 Dscp, DscpOrAny 20 FROM DIFFSERV-DSCP-TC; 21 22diffServMib MODULE-IDENTITY 23 LAST-UPDATED "200202070000Z" 24 ORGANIZATION "IETF Differentiated Services WG" 25 CONTACT-INFO 26 " Fred Baker 27 Cisco Systems 28 1121 Via Del Rey 29 Santa Barbara, CA 93117, USA 30 E-mail: fred@cisco.com 31 32 Kwok Ho Chan 33 Nortel Networks 34 600 Technology Park Drive 35 Billerica, MA 01821, USA 36 E-mail: khchan@nortelnetworks.com 37 38 Andrew Smith 39 Harbour Networks 40 Jiuling Building 41 42 43 21 North Xisanhuan Ave. 44 Beijing, 100089, PRC 45 E-mail: ah_smith@acm.org 46 47 Differentiated Services Working Group: 48 diffserv@ietf.org" 49 DESCRIPTION 50 "This MIB defines the objects necessary to manage a device that 51 uses the Differentiated Services Architecture described in RFC 52 2475. The Conceptual Model of a Differentiated Services Router 53 provides supporting information on how such a router is modeled." 54 REVISION "200202070000Z" 55 DESCRIPTION 56 "Initial version, published as RFC 3289." 57 ::= { mib-2 97 } 58 59diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 } 60diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 } 61diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 } 62 63IndexInteger ::= TEXTUAL-CONVENTION 64 DISPLAY-HINT "d" 65 STATUS current 66 DESCRIPTION 67 "An integer which may be used as a table index." 68 SYNTAX Unsigned32 (1..4294967295) 69 70IndexIntegerNextFree ::= TEXTUAL-CONVENTION 71 DISPLAY-HINT "d" 72 STATUS current 73 DESCRIPTION 74 "An integer which may be used as a new Index in a table. 75 76 The special value of 0 indicates that no more new entries can be 77 created in the relevant table. 78 79 When a MIB is used for configuration, an object with this SYNTAX 80 always contains a legal value (if non-zero) for an index that is 81 not currently used in the relevant table. The Command Generator 82 (Network Management Application) reads this variable and uses the 83 (non-zero) value read when creating a new row with an SNMP SET. 84 When the SET is performed, the Command Responder (agent) must 85 determine whether the value is indeed still unused; Two Network 86 Management Applications may attempt to create a row 87 (configuration entry) simultaneously and use the same value. If 88 it is currently unused, the SET succeeds and the Command 89 Responder (agent) changes the value of this object, according to 90 an implementation-specific algorithm. If the value is in use, 91 92 93 94 however, the SET fails. The Network Management Application must 95 then re-read this variable to obtain a new usable value. 96 97 An OBJECT-TYPE definition using this SYNTAX MUST specify the 98 relevant table for which the object is providing this 99 functionality." 100 SYNTAX Unsigned32 (0..4294967295) 101 102IfDirection ::= TEXTUAL-CONVENTION 103 STATUS current 104 DESCRIPTION 105 "IfDirection specifies a direction of data travel on an 106 interface. 'inbound' traffic is operated on during reception from 107 the interface, while 'outbound' traffic is operated on prior to 108 transmission on the interface." 109 SYNTAX INTEGER { 110 inbound(1), -- ingress interface 111 outbound(2) -- egress interface 112} 113 114-- 115-- Data Path 116-- 117 118diffServDataPath OBJECT IDENTIFIER ::= { diffServMIBObjects 1 } 119 120-- 121-- Data Path Table 122-- 123-- The Data Path Table enumerates the Differentiated Services 124-- Functional Data Paths within this device. Each entry in this table 125-- is indexed by ifIndex and ifDirection. Each entry provides the 126-- first Differentiated Services Functional Data Path Element to 127-- process data flowing along specific data path. This table should 128-- have at most two entries for each interface capable of 129-- Differentiated Services processing on this device: ingress and 130-- egress. 131 132-- Note that Differentiated Services Functional Data Path Elements 133-- linked together using their individual next pointers and anchored by 134-- an entry of the diffServDataPathTable constitute a functional data 135-- path. 136-- 137 138diffServDataPathTable OBJECT-TYPE 139 SYNTAX SEQUENCE OF DiffServDataPathEntry 140 MAX-ACCESS not-accessible 141 STATUS current 142 143 144 145 DESCRIPTION 146 "The data path table contains RowPointers indicating the start of 147 the functional data path for each interface and traffic direction 148 in this device. These may merge, or be separated into parallel 149 data paths." 150 ::= { diffServDataPath 1 } 151 152diffServDataPathEntry OBJECT-TYPE 153 SYNTAX DiffServDataPathEntry 154 MAX-ACCESS not-accessible 155 STATUS current 156 DESCRIPTION 157 "An entry in the data path table indicates the start of a single 158 Differentiated Services Functional Data Path in this device. 159 160 These are associated with individual interfaces, logical or 161 physical, and therefore are instantiated by ifIndex. Therefore, 162 the interface index must have been assigned, according to the 163 procedures applicable to that, before it can be meaningfully 164 used. Generally, this means that the interface must exist. 165 166 When diffServDataPathStorage is of type nonVolatile, however, 167 this may reflect the configuration for an interface whose ifIndex 168 has been assigned but for which the supporting implementation is 169 not currently present." 170 INDEX { ifIndex, diffServDataPathIfDirection } 171 ::= { diffServDataPathTable 1 } 172 173DiffServDataPathEntry ::= SEQUENCE { 174 diffServDataPathIfDirection IfDirection, 175 diffServDataPathStart RowPointer, 176 diffServDataPathStorage StorageType, 177 diffServDataPathStatus RowStatus 178} 179 180diffServDataPathIfDirection OBJECT-TYPE 181 SYNTAX IfDirection 182 MAX-ACCESS not-accessible 183 STATUS current 184 DESCRIPTION 185 "IfDirection specifies whether the reception or transmission path 186 for this interface is in view." 187 ::= { diffServDataPathEntry 1 } 188 189diffServDataPathStart OBJECT-TYPE 190 SYNTAX RowPointer 191 MAX-ACCESS read-create 192 STATUS current 193 194 195 196 DESCRIPTION 197 "This selects the first Differentiated Services Functional Data 198 Path Element to handle traffic for this data path. This 199 RowPointer should point to an instance of one of: 200 diffServClfrEntry 201 diffServMeterEntry 202 diffServActionEntry 203 diffServAlgDropEntry 204 diffServQEntry 205 206 A value of zeroDotZero in this attribute indicates that no 207 Differentiated Services treatment is performed on traffic of this 208 data path. A pointer with the value zeroDotZero normally 209 terminates a functional data path. 210 211 Setting this to point to a target that does not exist results in 212 an inconsistentValue error. If the row pointed to is removed or 213 becomes inactive by other means, the treatment is as if this 214 attribute contains a value of zeroDotZero." 215 ::= { diffServDataPathEntry 2 } 216 217diffServDataPathStorage OBJECT-TYPE 218 SYNTAX StorageType 219 MAX-ACCESS read-create 220 STATUS current 221 DESCRIPTION 222 "The storage type for this conceptual row. Conceptual rows 223 having the value 'permanent' need not allow write-access to any 224 columnar objects in the row." 225 DEFVAL { nonVolatile } 226 ::= { diffServDataPathEntry 3 } 227 228diffServDataPathStatus OBJECT-TYPE 229 SYNTAX RowStatus 230 MAX-ACCESS read-create 231 STATUS current 232 DESCRIPTION 233 "The status of this conceptual row. All writable objects in this 234 row may be modified at any time." 235 ::= { diffServDataPathEntry 4 } 236 237-- 238-- Classifiers 239-- 240 241diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 } 242 243-- 244 245 246 247-- Classifier Table 248-- 249-- The Classifier Table allows multiple classifier elements, of same or 250-- different types, to be used together. A classifier must completely 251-- classify all packets presented to it. This means that all traffic 252-- presented to a classifier must match at least one classifier element 253-- within the classifier, with the classifier element parameters 254-- specified by a filter. 255 256-- If there is ambiguity between classifier elements of different 257-- classifier, classifier linkage order indicates their precedence; the 258-- first classifier in the link is applied to the traffic first. 259 260-- Entries in the classifier element table serves as the anchor for 261-- each classification pattern, defined in filter table entries. Each 262-- classifier element table entry also specifies the subsequent 263-- downstream Differentiated Services Functional Data Path Element when 264-- the classification pattern is satisfied. Each entry in the 265-- classifier element table describes one branch of the fan-out 266-- characteristic of a classifier indicated in the Informal 267-- Differentiated Services Model section 4.1. A classifier is composed 268-- of one or more classifier elements. 269 270diffServClfrNextFree OBJECT-TYPE 271 SYNTAX IndexIntegerNextFree 272 MAX-ACCESS read-only 273 STATUS current 274 DESCRIPTION 275 "This object contains an unused value for diffServClfrId, or a 276 zero to indicate that none exist." 277 ::= { diffServClassifier 1 } 278 279diffServClfrTable OBJECT-TYPE 280 SYNTAX SEQUENCE OF DiffServClfrEntry 281 MAX-ACCESS not-accessible 282 STATUS current 283 DESCRIPTION 284 "This table enumerates all the diffserv classifier functional 285 data path elements of this device. The actual classification 286 definitions are defined in diffServClfrElementTable entries 287 belonging to each classifier. 288 289 An entry in this table, pointed to by a RowPointer specifying an 290 instance of diffServClfrStatus, is frequently used as the name 291 for a set of classifier elements, which all use the index 292 diffServClfrId. Per the semantics of the classifier element 293 table, these entries constitute one or more unordered sets of 294 tests which may be simultaneously applied to a message to 295 296 297 298 classify it. 299 300 The primary function of this table is to ensure that the value of 301 diffServClfrId is unique before attempting to use it in creating 302 a diffServClfrElementEntry. Therefore, the diffServClfrEntry must 303 be created on the same SET as the diffServClfrElementEntry, or 304 before the diffServClfrElementEntry is created." 305 ::= { diffServClassifier 2 } 306 307diffServClfrEntry OBJECT-TYPE 308 SYNTAX DiffServClfrEntry 309 MAX-ACCESS not-accessible 310 STATUS current 311 DESCRIPTION 312 "An entry in the classifier table describes a single classifier. 313 All classifier elements belonging to the same classifier use the 314 classifier's diffServClfrId as part of their index." 315 INDEX { diffServClfrId } 316 ::= { diffServClfrTable 1 } 317 318DiffServClfrEntry ::= SEQUENCE { 319 diffServClfrId IndexInteger, 320 diffServClfrStorage StorageType, 321 diffServClfrStatus RowStatus 322} 323 324diffServClfrId OBJECT-TYPE 325 SYNTAX IndexInteger 326 MAX-ACCESS not-accessible 327 STATUS current 328 DESCRIPTION 329 "An index that enumerates the classifier entries. Managers 330 should obtain new values for row creation in this table by 331 reading diffServClfrNextFree." 332 ::= { diffServClfrEntry 1 } 333 334diffServClfrStorage OBJECT-TYPE 335 SYNTAX StorageType 336 MAX-ACCESS read-create 337 STATUS current 338 DESCRIPTION 339 "The storage type for this conceptual row. Conceptual rows 340 having the value 'permanent' need not allow write-access to any 341 columnar objects in the row." 342 DEFVAL { nonVolatile } 343 ::= { diffServClfrEntry 2 } 344 345diffServClfrStatus OBJECT-TYPE 346 347 348 349 SYNTAX RowStatus 350 MAX-ACCESS read-create 351 STATUS current 352 DESCRIPTION 353 "The status of this conceptual row. All writable objects in this 354 row may be modified at any time. Setting this variable to 355 'destroy' when the MIB contains one or more RowPointers pointing 356 to it results in destruction being delayed until the row is no 357 longer used." 358 ::= { diffServClfrEntry 3 } 359 360-- 361-- Classifier Element Table 362-- 363diffServClfrElementNextFree OBJECT-TYPE 364 SYNTAX IndexIntegerNextFree 365 MAX-ACCESS read-only 366 STATUS current 367 DESCRIPTION 368 "This object contains an unused value for diffServClfrElementId, 369 or a zero to indicate that none exist." 370 ::= { diffServClassifier 3 } 371 372diffServClfrElementTable OBJECT-TYPE 373 SYNTAX SEQUENCE OF DiffServClfrElementEntry 374 MAX-ACCESS not-accessible 375 STATUS current 376 DESCRIPTION 377 "The classifier element table enumerates the relationship between 378 classification patterns and subsequent downstream Differentiated 379 Services Functional Data Path elements. 380 diffServClfrElementSpecific points to a filter that specifies the 381 classification parameters. A classifier may use filter tables of 382 different types together. 383 384 One example of a filter table defined in this MIB is 385 diffServMultiFieldClfrTable, for IP Multi-Field Classifiers 386 (MFCs). Such an entry might identify anything from a single 387 micro-flow (an identifiable sub-session packet stream directed 388 from one sending transport to the receiving transport or 389 transports), or aggregates of those such as the traffic from a 390 host, traffic for an application, or traffic between two hosts 391 using an application and a given DSCP. The standard Behavior 392 Aggregate used in the Differentiated Services Architecture is 393 encoded as a degenerate case of such an aggregate - the traffic 394 using a particular DSCP value. 395 396 Filter tables for other filter types may be defined elsewhere." 397 398 399 400 ::= { diffServClassifier 4 } 401 402diffServClfrElementEntry OBJECT-TYPE 403 SYNTAX DiffServClfrElementEntry 404 MAX-ACCESS not-accessible 405 STATUS current 406 DESCRIPTION 407 "An entry in the classifier element table describes a single 408 element of the classifier." 409 INDEX { diffServClfrId, diffServClfrElementId } 410 ::= { diffServClfrElementTable 1 } 411 412DiffServClfrElementEntry ::= SEQUENCE { 413 diffServClfrElementId IndexInteger, 414 diffServClfrElementPrecedence Unsigned32, 415 diffServClfrElementNext RowPointer, 416 diffServClfrElementSpecific RowPointer, 417 diffServClfrElementStorage StorageType, 418 diffServClfrElementStatus RowStatus 419} 420 421diffServClfrElementId OBJECT-TYPE 422 SYNTAX IndexInteger 423 MAX-ACCESS not-accessible 424 STATUS current 425 DESCRIPTION 426 "An index that enumerates the Classifier Element entries. 427 Managers obtain new values for row creation in this table by 428 reading diffServClfrElementNextFree." 429 ::= { diffServClfrElementEntry 1 } 430 431diffServClfrElementPrecedence OBJECT-TYPE 432 SYNTAX Unsigned32 (1..4294967295) 433 MAX-ACCESS read-create 434 STATUS current 435 DESCRIPTION 436 "The relative order in which classifier elements are applied: 437 higher numbers represent classifier element with higher 438 precedence. Classifier elements with the same order must be 439 unambiguous i.e. they must define non-overlapping patterns, and 440 are considered to be applied simultaneously to the traffic 441 stream. Classifier elements with different order may overlap in 442 their filters: the classifier element with the highest order 443 that matches is taken. 444 445 On a given interface, there must be a complete classifier in 446 place at all times in the ingress direction. This means one or 447 more filters must match any possible pattern. There is no such 448 449 450 451 requirement in the egress direction." 452 ::= { diffServClfrElementEntry 2 } 453 454diffServClfrElementNext OBJECT-TYPE 455 SYNTAX RowPointer 456 MAX-ACCESS read-create 457 STATUS current 458 DESCRIPTION 459 "This attribute provides one branch of the fan-out functionality 460 of a classifier described in the Informal Differentiated Services 461 Model section 4.1. 462 463 This selects the next Differentiated Services Functional Data 464 Path Element to handle traffic for this data path. This 465 RowPointer should point to an instance of one of: 466 diffServClfrEntry 467 diffServMeterEntry 468 diffServActionEntry 469 diffServAlgDropEntry 470 diffServQEntry 471 472 A value of zeroDotZero in this attribute indicates no further 473 Differentiated Services treatment is performed on traffic of this 474 data path. The use of zeroDotZero is the normal usage for the 475 last functional data path element of the current data path. 476 477 Setting this to point to a target that does not exist results in 478 an inconsistentValue error. If the row pointed to is removed or 479 becomes inactive by other means, the treatment is as if this 480 attribute contains a value of zeroDotZero." 481 482 ::= { diffServClfrElementEntry 3 } 483 484diffServClfrElementSpecific OBJECT-TYPE 485 SYNTAX RowPointer 486 MAX-ACCESS read-create 487 STATUS current 488 DESCRIPTION 489 "A pointer to a valid entry in another table, filter table, that 490 describes the applicable classification parameters, e.g. an entry 491 in diffServMultiFieldClfrTable. 492 493 The value zeroDotZero is interpreted to match anything not 494 matched by another classifier element - only one such entry may 495 exist for each classifier. 496 497 Setting this to point to a target that does not exist results in 498 an inconsistentValue error. If the row pointed to is removed or 499 500 501 502 becomes inactive by other means, the element is ignored." 503 ::= { diffServClfrElementEntry 4 } 504 505diffServClfrElementStorage OBJECT-TYPE 506 SYNTAX StorageType 507 MAX-ACCESS read-create 508 STATUS current 509 DESCRIPTION 510 "The storage type for this conceptual row. Conceptual rows 511 having the value 'permanent' need not allow write-access to any 512 columnar objects in the row." 513 DEFVAL { nonVolatile } 514 ::= { diffServClfrElementEntry 5 } 515 516diffServClfrElementStatus OBJECT-TYPE 517 SYNTAX RowStatus 518 MAX-ACCESS read-create 519 STATUS current 520 DESCRIPTION 521 "The status of this conceptual row. All writable objects in this 522 row may be modified at any time. Setting this variable to 523 'destroy' when the MIB contains one or more RowPointers pointing 524 to it results in destruction being delayed until the row is no 525 longer used." 526 ::= { diffServClfrElementEntry 6 } 527 528-- 529-- IP Multi-field Classification Table 530-- 531-- Classification based on six different fields in the IP header. 532-- Functional Data Paths may share definitions by using the same entry. 533-- 534 535diffServMultiFieldClfrNextFree OBJECT-TYPE 536 SYNTAX IndexIntegerNextFree 537 MAX-ACCESS read-only 538 STATUS current 539 DESCRIPTION 540 "This object contains an unused value for 541 diffServMultiFieldClfrId, or a zero to indicate that none exist." 542 ::= { diffServClassifier 5 } 543 544diffServMultiFieldClfrTable OBJECT-TYPE 545 SYNTAX SEQUENCE OF DiffServMultiFieldClfrEntry 546 MAX-ACCESS not-accessible 547 STATUS current 548 DESCRIPTION 549 "A table of IP Multi-field Classifier filter entries that a 550 551 552 553 system may use to identify IP traffic." 554 ::= { diffServClassifier 6 } 555 556diffServMultiFieldClfrEntry OBJECT-TYPE 557 SYNTAX DiffServMultiFieldClfrEntry 558 MAX-ACCESS not-accessible 559 STATUS current 560 DESCRIPTION 561 "An IP Multi-field Classifier entry describes a single filter." 562 INDEX { diffServMultiFieldClfrId } 563 ::= { diffServMultiFieldClfrTable 1 } 564 565DiffServMultiFieldClfrEntry ::= SEQUENCE { 566 diffServMultiFieldClfrId IndexInteger, 567 diffServMultiFieldClfrAddrType InetAddressType, 568 diffServMultiFieldClfrDstAddr InetAddress, 569 diffServMultiFieldClfrDstPrefixLength InetAddressPrefixLength, 570 diffServMultiFieldClfrSrcAddr InetAddress, 571 diffServMultiFieldClfrSrcPrefixLength InetAddressPrefixLength, 572 diffServMultiFieldClfrDscp DscpOrAny, 573 diffServMultiFieldClfrFlowId Unsigned32, 574 diffServMultiFieldClfrProtocol Unsigned32, 575 diffServMultiFieldClfrDstL4PortMin InetPortNumber, 576 diffServMultiFieldClfrDstL4PortMax InetPortNumber, 577 diffServMultiFieldClfrSrcL4PortMin InetPortNumber, 578 diffServMultiFieldClfrSrcL4PortMax InetPortNumber, 579 diffServMultiFieldClfrStorage StorageType, 580 diffServMultiFieldClfrStatus RowStatus 581} 582 583diffServMultiFieldClfrId OBJECT-TYPE 584 SYNTAX IndexInteger 585 MAX-ACCESS not-accessible 586 STATUS current 587 DESCRIPTION 588 "An index that enumerates the MultiField Classifier filter 589 entries. Managers obtain new values for row creation in this 590 table by reading diffServMultiFieldClfrNextFree." 591 592 ::= { diffServMultiFieldClfrEntry 1 } 593 594diffServMultiFieldClfrAddrType OBJECT-TYPE 595 SYNTAX InetAddressType 596 MAX-ACCESS read-create 597 STATUS current 598 DESCRIPTION 599 "The type of IP address used by this classifier entry. While 600 other types of addresses are defined in the InetAddressType 601 602 603 604 textual convention, and DNS names, a classifier can only look at 605 packets on the wire. Therefore, this object is limited to IPv4 606 and IPv6 addresses." 607 ::= { diffServMultiFieldClfrEntry 2 } 608 609diffServMultiFieldClfrDstAddr OBJECT-TYPE 610 SYNTAX InetAddress 611 MAX-ACCESS read-create 612 STATUS current 613 DESCRIPTION 614 "The IP address to match against the packet's destination IP 615 address. This may not be a DNS name, but may be an IPv4 or IPv6 616 prefix. diffServMultiFieldClfrDstPrefixLength indicates the 617 number of bits that are relevant." 618 ::= { diffServMultiFieldClfrEntry 3 } 619 620diffServMultiFieldClfrDstPrefixLength OBJECT-TYPE 621 SYNTAX InetAddressPrefixLength 622 UNITS "bits" 623 MAX-ACCESS read-create 624 STATUS current 625 DESCRIPTION 626 "The length of the CIDR Prefix carried in 627 diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0 628 indicates a match of any address; a length of 32 indicates a 629 match of a single host address, and a length between 0 and 32 630 indicates the use of a CIDR Prefix. IPv6 is similar, except that 631 prefix lengths range from 0..128." 632 DEFVAL { 0 } 633 ::= { diffServMultiFieldClfrEntry 4 } 634 635diffServMultiFieldClfrSrcAddr OBJECT-TYPE 636 SYNTAX InetAddress 637 MAX-ACCESS read-create 638 STATUS current 639 DESCRIPTION 640 "The IP address to match against the packet's source IP address. 641 This may not be a DNS name, but may be an IPv4 or IPv6 prefix. 642 diffServMultiFieldClfrSrcPrefixLength indicates the number of 643 bits that are relevant." 644 ::= { diffServMultiFieldClfrEntry 5 } 645 646diffServMultiFieldClfrSrcPrefixLength OBJECT-TYPE 647 SYNTAX InetAddressPrefixLength 648 UNITS "bits" 649 MAX-ACCESS read-create 650 STATUS current 651 DESCRIPTION 652 653 654 655 "The length of the CIDR Prefix carried in 656 diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0 657 indicates a match of any address; a length of 32 indicates a 658 match of a single host address, and a length between 0 and 32 659 indicates the use of a CIDR Prefix. IPv6 is similar, except that 660 prefix lengths range from 0..128." 661 DEFVAL { 0 } 662 ::= { diffServMultiFieldClfrEntry 6 } 663 664diffServMultiFieldClfrDscp OBJECT-TYPE 665 SYNTAX DscpOrAny 666 MAX-ACCESS read-create 667 STATUS current 668 DESCRIPTION 669 "The value that the DSCP in the packet must have to match this 670 entry. A value of -1 indicates that a specific DSCP value has not 671 been defined and thus all DSCP values are considered a match." 672 DEFVAL { -1 } 673 ::= { diffServMultiFieldClfrEntry 7 } 674 675diffServMultiFieldClfrFlowId OBJECT-TYPE 676 SYNTAX Unsigned32 (0..1048575) 677 MAX-ACCESS read-create 678 STATUS current 679 DESCRIPTION 680 "The flow identifier in an IPv6 header." 681 ::= { diffServMultiFieldClfrEntry 8 } 682 683diffServMultiFieldClfrProtocol OBJECT-TYPE 684 SYNTAX Unsigned32 (0..255) 685 MAX-ACCESS read-create 686 STATUS current 687 DESCRIPTION 688 "The IP protocol to match against the IPv4 protocol number or the 689 IPv6 Next- Header number in the packet. A value of 255 means 690 match all. Note the protocol number of 255 is reserved by IANA, 691 and Next-Header number of 0 is used in IPv6." 692 DEFVAL { 255 } 693 ::= { diffServMultiFieldClfrEntry 9 } 694 695diffServMultiFieldClfrDstL4PortMin OBJECT-TYPE 696 SYNTAX InetPortNumber 697 MAX-ACCESS read-create 698 STATUS current 699 DESCRIPTION 700 "The minimum value that the layer-4 destination port number in 701 the packet must have in order to match this classifier entry." 702 DEFVAL { 0 } 703 704 705 706 ::= { diffServMultiFieldClfrEntry 10 } 707 708diffServMultiFieldClfrDstL4PortMax OBJECT-TYPE 709 SYNTAX InetPortNumber 710 MAX-ACCESS read-create 711 STATUS current 712 DESCRIPTION 713 "The maximum value that the layer-4 destination port number in 714 the packet must have in order to match this classifier entry. 715 This value must be equal to or greater than the value specified 716 for this entry in diffServMultiFieldClfrDstL4PortMin." 717 DEFVAL { 65535 } 718 ::= { diffServMultiFieldClfrEntry 11 } 719 720diffServMultiFieldClfrSrcL4PortMin OBJECT-TYPE 721 SYNTAX InetPortNumber 722 MAX-ACCESS read-create 723 STATUS current 724 DESCRIPTION 725 "The minimum value that the layer-4 source port number in the 726 packet must have in order to match this classifier entry." 727 DEFVAL { 0 } 728 ::= { diffServMultiFieldClfrEntry 12 } 729 730diffServMultiFieldClfrSrcL4PortMax OBJECT-TYPE 731 SYNTAX InetPortNumber 732 MAX-ACCESS read-create 733 STATUS current 734 DESCRIPTION 735 "The maximum value that the layer-4 source port number in the 736 packet must have in order to match this classifier entry. This 737 value must be equal to or greater than the value specified for 738 this entry in diffServMultiFieldClfrSrcL4PortMin." 739 DEFVAL { 65535 } 740 ::= { diffServMultiFieldClfrEntry 13 } 741 742diffServMultiFieldClfrStorage OBJECT-TYPE 743 SYNTAX StorageType 744 MAX-ACCESS read-create 745 STATUS current 746 DESCRIPTION 747 "The storage type for this conceptual row. Conceptual rows 748 having the value 'permanent' need not allow write-access to any 749 columnar objects in the row." 750 DEFVAL { nonVolatile } 751 ::= { diffServMultiFieldClfrEntry 14 } 752 753diffServMultiFieldClfrStatus OBJECT-TYPE 754 755 756 757 SYNTAX RowStatus 758 MAX-ACCESS read-create 759 STATUS current 760 DESCRIPTION 761 "The status of this conceptual row. All writable objects in this 762 row may be modified at any time. Setting this variable to 763 'destroy' when the MIB contains one or more RowPointers pointing 764 to it results in destruction being delayed until the row is no 765 longer used." 766 ::= { diffServMultiFieldClfrEntry 15 } 767 768-- 769-- Meters 770-- 771 772diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 } 773 774-- 775-- This MIB supports a variety of Meters. It includes a specific 776-- definition for Token Bucket Meter, which are but one type of 777-- specification. Other metering parameter sets can be defined in other 778-- MIBs. 779 780-- Multiple meter elements may be logically cascaded using their 781-- diffServMeterSucceedNext and diffServMeterFailNext pointers if 782-- required. One example of this might be for an AF PHB implementation 783-- that uses multiple level conformance meters. 784 785-- Cascading of individual meter elements in the MIB is intended to be 786-- functionally equivalent to multiple level conformance determination 787-- of a packet. The sequential nature of the representation is merely 788-- a notational convenience for this MIB. 789 790-- srTCM meters (RFC 2697) can be specified using two sets of 791-- diffServMeterEntry and diffServTBParamEntry. The first set specifies 792-- the Committed Information Rate and Committed Burst Size 793-- token-bucket. The second set specifies the Excess Burst Size 794-- token-bucket. 795 796-- trTCM meters (RFC 2698) can be specified using two sets of 797-- diffServMeterEntry and diffServTBParamEntry. The first set specifies 798-- the Committed Information Rate and Committed Burst Size 799-- token-bucket. The second set specifies the Peak Information Rate 800-- and Peak Burst Size token-bucket. 801 802-- tswTCM meters (RFC 2859) can be specified using two sets of 803-- diffServMeterEntry and diffServTBParamEntry. The first set specifies 804-- the Committed Target Rate token-bucket. The second set specifies 805 806 807 808-- the Peak Target Rate token-bucket. diffServTBParamInterval in each 809-- token bucket reflects the Average Interval. 810-- 811 812diffServMeterNextFree OBJECT-TYPE 813 SYNTAX IndexIntegerNextFree 814 MAX-ACCESS read-only 815 STATUS current 816 DESCRIPTION 817 "This object contains an unused value for diffServMeterId, or a 818 zero to indicate that none exist." 819 ::= { diffServMeter 1 } 820 821diffServMeterTable OBJECT-TYPE 822 SYNTAX SEQUENCE OF DiffServMeterEntry 823 MAX-ACCESS not-accessible 824 STATUS current 825 DESCRIPTION 826 "This table enumerates specific meters that a system may use to 827 police a stream of traffic. The traffic stream to be metered is 828 determined by the Differentiated Services Functional Data Path 829 Element(s) upstream of the meter i.e. by the object(s) that point 830 to each entry in this table. This may include all traffic on an 831 interface. 832 833 Specific meter details are to be found in table entry referenced 834 by diffServMeterSpecific." 835 ::= { diffServMeter 2 } 836 837diffServMeterEntry OBJECT-TYPE 838 SYNTAX DiffServMeterEntry 839 MAX-ACCESS not-accessible 840 STATUS current 841 DESCRIPTION 842 "An entry in the meter table describes a single conformance level 843 of a meter." 844 INDEX { diffServMeterId } 845 ::= { diffServMeterTable 1 } 846 847DiffServMeterEntry ::= SEQUENCE { 848 diffServMeterId IndexInteger, 849 diffServMeterSucceedNext RowPointer, 850 diffServMeterFailNext RowPointer, 851 diffServMeterSpecific RowPointer, 852 diffServMeterStorage StorageType, 853 diffServMeterStatus RowStatus 854} 855 856 857 858 859diffServMeterId OBJECT-TYPE 860 SYNTAX IndexInteger 861 MAX-ACCESS not-accessible 862 STATUS current 863 DESCRIPTION 864 "An index that enumerates the Meter entries. Managers obtain new 865 values for row creation in this table by reading 866 diffServMeterNextFree." 867 ::= { diffServMeterEntry 1 } 868 869diffServMeterSucceedNext OBJECT-TYPE 870 SYNTAX RowPointer 871 MAX-ACCESS read-create 872 STATUS current 873 DESCRIPTION 874 "If the traffic does conform, this selects the next 875 Differentiated Services Functional Data Path element to handle 876 traffic for this data path. This RowPointer should point to an 877 instance of one of: 878 diffServClfrEntry 879 diffServMeterEntry 880 diffServActionEntry 881 diffServAlgDropEntry 882 diffServQEntry 883 884 A value of zeroDotZero in this attribute indicates that no 885 further Differentiated Services treatment is performed on traffic 886 of this data path. The use of zeroDotZero is the normal usage for 887 the last functional data path element of the current data path. 888 889 Setting this to point to a target that does not exist results in 890 an inconsistentValue error. If the row pointed to is removed or 891 becomes inactive by other means, the treatment is as if this 892 attribute contains a value of zeroDotZero." 893 DEFVAL { zeroDotZero } 894 ::= { diffServMeterEntry 2 } 895 896diffServMeterFailNext OBJECT-TYPE 897 SYNTAX RowPointer 898 MAX-ACCESS read-create 899 STATUS current 900 DESCRIPTION 901 "If the traffic does not conform, this selects the next 902 Differentiated Services Functional Data Path element to handle 903 traffic for this data path. This RowPointer should point to an 904 instance of one of: 905 diffServClfrEntry 906 diffServMeterEntry 907 908 909 910 diffServActionEntry 911 diffServAlgDropEntry 912 diffServQEntry 913 914 A value of zeroDotZero in this attribute indicates no further 915 Differentiated Services treatment is performed on traffic of this 916 data path. The use of zeroDotZero is the normal usage for the 917 last functional data path element of the current data path. 918 919 Setting this to point to a target that does not exist results in 920 an inconsistentValue error. If the row pointed to is removed or 921 becomes inactive by other means, the treatment is as if this 922 attribute contains a value of zeroDotZero." 923 DEFVAL { zeroDotZero } 924 ::= { diffServMeterEntry 3 } 925 926diffServMeterSpecific OBJECT-TYPE 927 SYNTAX RowPointer 928 MAX-ACCESS read-create 929 STATUS current 930 DESCRIPTION 931 "This indicates the behavior of the meter by pointing to an entry 932 containing detailed parameters. Note that entries in that 933 specific table must be managed explicitly. 934 935 For example, diffServMeterSpecific may point to an entry in 936 diffServTBParamTable, which contains an instance of a single set 937 of Token Bucket parameters. 938 939 Setting this to point to a target that does not exist results in 940 an inconsistentValue error. If the row pointed to is removed or 941 becomes inactive by other means, the meter always succeeds." 942 ::= { diffServMeterEntry 4 } 943 944diffServMeterStorage OBJECT-TYPE 945 SYNTAX StorageType 946 MAX-ACCESS read-create 947 STATUS current 948 DESCRIPTION 949 "The storage type for this conceptual row. Conceptual rows 950 having the value 'permanent' need not allow write-access to any 951 columnar objects in the row." 952 DEFVAL { nonVolatile } 953 ::= { diffServMeterEntry 5 } 954 955diffServMeterStatus OBJECT-TYPE 956 SYNTAX RowStatus 957 MAX-ACCESS read-create 958 959 960 961 STATUS current 962 DESCRIPTION 963 "The status of this conceptual row. All writable objects in this 964 row may be modified at any time. Setting this variable to 965 'destroy' when the MIB contains one or more RowPointers pointing 966 to it results in destruction being delayed until the row is no 967 longer used." 968 ::= { diffServMeterEntry 6 } 969 970-- 971-- Token Bucket Parameter Table 972-- 973 974diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 } 975 976-- Each entry in the Token Bucket Parameter Table parameterize a single 977-- token bucket. Multiple token buckets can be used together to 978-- parameterize multiple levels of conformance. 979 980-- Note that an entry in the Token Bucket Parameter Table can be shared 981-- by multiple diffServMeterTable entries. 982-- 983 984diffServTBParamNextFree OBJECT-TYPE 985 SYNTAX IndexIntegerNextFree 986 MAX-ACCESS read-only 987 STATUS current 988 DESCRIPTION 989 "This object contains an unused value for diffServTBParamId, or a 990 zero to indicate that none exist." 991 ::= { diffServTBParam 1 } 992 993diffServTBParamTable OBJECT-TYPE 994 SYNTAX SEQUENCE OF DiffServTBParamEntry 995 MAX-ACCESS not-accessible 996 STATUS current 997 DESCRIPTION 998 "This table enumerates a single set of token bucket meter 999 parameters that a system may use to police a stream of traffic. 1000 Such meters are modeled here as having a single rate and a single 1001 burst size. Multiple entries are used when multiple rates/burst 1002 sizes are needed." 1003 ::= { diffServTBParam 2 } 1004 1005diffServTBParamEntry OBJECT-TYPE 1006 SYNTAX DiffServTBParamEntry 1007 MAX-ACCESS not-accessible 1008 STATUS current 1009 1010 1011 1012 DESCRIPTION 1013 "An entry that describes a single set of token bucket 1014 parameters." 1015 INDEX { diffServTBParamId } 1016 ::= { diffServTBParamTable 1 } 1017 1018DiffServTBParamEntry ::= SEQUENCE { 1019 diffServTBParamId IndexInteger, 1020 diffServTBParamType AutonomousType, 1021 diffServTBParamRate Unsigned32, 1022 diffServTBParamBurstSize BurstSize, 1023 diffServTBParamInterval Unsigned32, 1024 diffServTBParamStorage StorageType, 1025 diffServTBParamStatus RowStatus 1026} 1027 1028diffServTBParamId OBJECT-TYPE 1029 SYNTAX IndexInteger 1030 MAX-ACCESS not-accessible 1031 STATUS current 1032 DESCRIPTION 1033 "An index that enumerates the Token Bucket Parameter entries. 1034 Managers obtain new values for row creation in this table by 1035 reading diffServTBParamNextFree." 1036 ::= { diffServTBParamEntry 1 } 1037 1038diffServTBParamType OBJECT-TYPE 1039 SYNTAX AutonomousType 1040 MAX-ACCESS read-create 1041 STATUS current 1042 DESCRIPTION 1043 "The Metering algorithm associated with the Token Bucket 1044 parameters. zeroDotZero indicates this is unknown. 1045 1046 Standard values for generic algorithms: 1047 diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, 1048 diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, 1049 diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and 1050 diffServTBParamTswTCM are specified in this MIB as OBJECT- 1051 IDENTITYs; additional values may be further specified in other 1052 MIBs." 1053 ::= { diffServTBParamEntry 2 } 1054 1055diffServTBParamRate OBJECT-TYPE 1056 SYNTAX Unsigned32 (1..4294967295) 1057 UNITS "kilobits per second" 1058 MAX-ACCESS read-create 1059 STATUS current 1060 1061 1062 1063 DESCRIPTION 1064 "The token-bucket rate, in kilobits per second (kbps). This 1065 attribute is used for: 1066 1. CIR in RFC 2697 for srTCM 1067 2. CIR and PIR in RFC 2698 for trTCM 1068 3. CTR and PTR in RFC 2859 for TSWTCM 1069 4. AverageRate in RFC 3290." 1070 ::= { diffServTBParamEntry 3 } 1071 1072diffServTBParamBurstSize OBJECT-TYPE 1073 SYNTAX BurstSize 1074 UNITS "Bytes" 1075 MAX-ACCESS read-create 1076 STATUS current 1077 DESCRIPTION 1078 "The maximum number of bytes in a single transmission burst. This 1079 attribute is used for: 1080 1. CBS and EBS in RFC 2697 for srTCM 1081 2. CBS and PBS in RFC 2698 for trTCM 1082 3. Burst Size in RFC 3290." 1083 ::= { diffServTBParamEntry 4 } 1084 1085diffServTBParamInterval OBJECT-TYPE 1086 SYNTAX Unsigned32 (1..4294967295) 1087 UNITS "microseconds" 1088 MAX-ACCESS read-create 1089 STATUS current 1090 DESCRIPTION 1091 "The time interval used with the token bucket. For: 1092 1. Average Rate Meter, the Informal Differentiated Services Model 1093 section 5.2.1, - Delta. 1094 2. Simple Token Bucket Meter, the Informal Differentiated 1095 Services Model section 5.1, - time interval t. 1096 3. RFC 2859 TSWTCM, - AVG_INTERVAL. 1097 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time 1098 interval." 1099 ::= { diffServTBParamEntry 5 } 1100 1101diffServTBParamStorage OBJECT-TYPE 1102 SYNTAX StorageType 1103 MAX-ACCESS read-create 1104 STATUS current 1105 DESCRIPTION 1106 "The storage type for this conceptual row. Conceptual rows 1107 having the value 'permanent' need not allow write-access to any 1108 columnar objects in the row." 1109 DEFVAL { nonVolatile } 1110 ::= { diffServTBParamEntry 6 } 1111 1112 1113 1114diffServTBParamStatus OBJECT-TYPE 1115 SYNTAX RowStatus 1116 MAX-ACCESS read-create 1117 STATUS current 1118 DESCRIPTION 1119 "The status of this conceptual row. All writable objects in this 1120 row may be modified at any time. Setting this variable to 1121 'destroy' when the MIB contains one or more RowPointers pointing 1122 to it results in destruction being delayed until the row is no 1123 longer used." 1124 ::= { diffServTBParamEntry 7 } 1125 1126-- 1127-- OIDs for diffServTBParamType definitions. 1128-- 1129 1130diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 } 1131 1132diffServTBParamSimpleTokenBucket OBJECT-IDENTITY 1133 STATUS current 1134 DESCRIPTION 1135 "Two Parameter Token Bucket Meter as described in the Informal 1136 Differentiated Services Model section 5.2.3." 1137 ::= { diffServTBMeters 1 } 1138 1139diffServTBParamAvgRate OBJECT-IDENTITY 1140 STATUS current 1141 DESCRIPTION 1142 "Average Rate Meter as described in the Informal Differentiated 1143 Services Model section 5.2.1." 1144 ::= { diffServTBMeters 2 } 1145 1146diffServTBParamSrTCMBlind OBJECT-IDENTITY 1147 STATUS current 1148 DESCRIPTION 1149 "Single Rate Three Color Marker Metering as defined by RFC 2697, 1150 in the `Color Blind' mode as described by the RFC." 1151 REFERENCE 1152 "RFC 2697" 1153 ::= { diffServTBMeters 3 } 1154 1155diffServTBParamSrTCMAware OBJECT-IDENTITY 1156 STATUS current 1157 DESCRIPTION 1158 "Single Rate Three Color Marker Metering as defined by RFC 2697, 1159 in the `Color Aware' mode as described by the RFC." 1160 REFERENCE 1161 "RFC 2697" 1162 1163 1164 1165 ::= { diffServTBMeters 4 } 1166 1167diffServTBParamTrTCMBlind OBJECT-IDENTITY 1168 STATUS current 1169 DESCRIPTION 1170 "Two Rate Three Color Marker Metering as defined by RFC 2698, in 1171 the `Color Blind' mode as described by the RFC." 1172 REFERENCE 1173 "RFC 2698" 1174 ::= { diffServTBMeters 5 } 1175 1176diffServTBParamTrTCMAware OBJECT-IDENTITY 1177 STATUS current 1178 DESCRIPTION 1179 "Two Rate Three Color Marker Metering as defined by RFC 2698, in 1180 the `Color Aware' mode as described by the RFC." 1181 REFERENCE 1182 "RFC 2698" 1183 ::= { diffServTBMeters 6 } 1184 1185diffServTBParamTswTCM OBJECT-IDENTITY 1186 STATUS current 1187 DESCRIPTION 1188 "Time Sliding Window Three Color Marker Metering as defined by 1189 RFC 2859." 1190 REFERENCE 1191 "RFC 2859" 1192 ::= { diffServTBMeters 7 } 1193 1194-- 1195-- Actions 1196-- 1197 1198diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 5 } 1199 1200-- 1201-- The Action Table allows enumeration of the different types of 1202-- actions to be applied to a traffic flow. 1203-- 1204 1205diffServActionNextFree OBJECT-TYPE 1206 SYNTAX IndexIntegerNextFree 1207 MAX-ACCESS read-only 1208 STATUS current 1209 DESCRIPTION 1210 "This object contains an unused value for diffServActionId, or a 1211 zero to indicate that none exist." 1212 ::= { diffServAction 1 } 1213 1214 1215 1216diffServActionTable OBJECT-TYPE 1217 SYNTAX SEQUENCE OF DiffServActionEntry 1218 MAX-ACCESS not-accessible 1219 STATUS current 1220 DESCRIPTION 1221 "The Action Table enumerates actions that can be performed to a 1222 stream of traffic. Multiple actions can be concatenated. For 1223 example, traffic exiting from a meter may be counted, marked, and 1224 potentially dropped before entering a queue. 1225 1226 Specific actions are indicated by diffServActionSpecific which 1227 points to an entry of a specific action type parameterizing the 1228 action in detail." 1229 ::= { diffServAction 2 } 1230 1231diffServActionEntry OBJECT-TYPE 1232 SYNTAX DiffServActionEntry 1233 MAX-ACCESS not-accessible 1234 STATUS current 1235 DESCRIPTION 1236 "Each entry in the action table allows description of one 1237 specific action to be applied to traffic." 1238 INDEX { diffServActionId } 1239 ::= { diffServActionTable 1 } 1240 1241DiffServActionEntry ::= SEQUENCE { 1242 diffServActionId IndexInteger, 1243 diffServActionInterface InterfaceIndexOrZero, 1244 diffServActionNext RowPointer, 1245 diffServActionSpecific RowPointer, 1246 diffServActionStorage StorageType, 1247 diffServActionStatus RowStatus 1248} 1249 1250diffServActionId OBJECT-TYPE 1251 SYNTAX IndexInteger 1252 MAX-ACCESS not-accessible 1253 STATUS current 1254 DESCRIPTION 1255 "An index that enumerates the Action entries. Managers obtain 1256 new values for row creation in this table by reading 1257 diffServActionNextFree." 1258 ::= { diffServActionEntry 1 } 1259 1260diffServActionInterface OBJECT-TYPE 1261 SYNTAX InterfaceIndexOrZero 1262 MAX-ACCESS read-create 1263 STATUS current 1264 1265 1266 1267 DESCRIPTION 1268 "The interface index (value of ifIndex) that this action occurs 1269 on. This may be derived from the diffServDataPathStartEntry's 1270 index by extension through the various RowPointers. However, as 1271 this may be difficult for a network management station, it is 1272 placed here as well. If this is indeterminate, the value is 1273 zero. 1274 1275 This is of especial relevance when reporting the counters which 1276 may apply to traffic crossing an interface: 1277 diffServCountActOctets, 1278 diffServCountActPkts, 1279 diffServAlgDropOctets, 1280 diffServAlgDropPkts, 1281 diffServAlgRandomDropOctets, and 1282 diffServAlgRandomDropPkts. 1283 1284 It is also especially relevant to the queue and scheduler which 1285 may be subsequently applied." 1286 ::= { diffServActionEntry 2 } 1287 1288diffServActionNext OBJECT-TYPE 1289 SYNTAX RowPointer 1290 MAX-ACCESS read-create 1291 STATUS current 1292 DESCRIPTION 1293 "This selects the next Differentiated Services Functional Data 1294 Path Element to handle traffic for this data path. This 1295 RowPointer should point to an instance of one of: 1296 diffServClfrEntry 1297 diffServMeterEntry 1298 diffServActionEntry 1299 diffServAlgDropEntry 1300 diffServQEntry 1301 1302 A value of zeroDotZero in this attribute indicates no further 1303 Differentiated Services treatment is performed on traffic of this 1304 data path. The use of zeroDotZero is the normal usage for the 1305 last functional data path element of the current data path. 1306 1307 Setting this to point to a target that does not exist results in 1308 an inconsistentValue error. If the row pointed to is removed or 1309 becomes inactive by other means, the treatment is as if this 1310 attribute contains a value of zeroDotZero." 1311 DEFVAL { zeroDotZero } 1312 ::= { diffServActionEntry 3 } 1313 1314diffServActionSpecific OBJECT-TYPE 1315 1316 1317 1318 SYNTAX RowPointer 1319 MAX-ACCESS read-create 1320 STATUS current 1321 DESCRIPTION 1322 "A pointer to an object instance providing additional information 1323 for the type of action indicated by this action table entry. 1324 1325 For the standard actions defined by this MIB module, this should 1326 point to either a diffServDscpMarkActEntry or a 1327 diffServCountActEntry. For other actions, it may point to an 1328 object instance defined in some other MIB. 1329 1330 Setting this to point to a target that does not exist results in 1331 an inconsistentValue error. If the row pointed to is removed or 1332 becomes inactive by other means, the Meter should be treated as 1333 if it were not present. This may lead to incorrect policy 1334 behavior." 1335 ::= { diffServActionEntry 4 } 1336 1337diffServActionStorage OBJECT-TYPE 1338 SYNTAX StorageType 1339 MAX-ACCESS read-create 1340 STATUS current 1341 DESCRIPTION 1342 "The storage type for this conceptual row. Conceptual rows 1343 having the value 'permanent' need not allow write-access to any 1344 columnar objects in the row." 1345 DEFVAL { nonVolatile } 1346 ::= { diffServActionEntry 5 } 1347 1348diffServActionStatus OBJECT-TYPE 1349 SYNTAX RowStatus 1350 MAX-ACCESS read-create 1351 STATUS current 1352 DESCRIPTION 1353 "The status of this conceptual row. All writable objects in this 1354 row may be modified at any time. Setting this variable to 1355 'destroy' when the MIB contains one or more RowPointers pointing 1356 to it results in destruction being delayed until the row is no 1357 longer used." 1358 ::= { diffServActionEntry 6 } 1359 1360-- DSCP Mark Action Table 1361-- 1362-- Rows of this table are pointed to by diffServActionSpecific to 1363-- provide detailed parameters specific to the DSCP Mark action. 1364-- 1365-- A single entry in this table can be shared by multiple 1366 1367 1368 1369-- diffServActionTable entries. 1370-- 1371 1372diffServDscpMarkActTable OBJECT-TYPE 1373 SYNTAX SEQUENCE OF DiffServDscpMarkActEntry 1374 MAX-ACCESS not-accessible 1375 STATUS current 1376 DESCRIPTION 1377 "This table enumerates specific DSCPs used for marking or 1378 remarking the DSCP field of IP packets. The entries of this table 1379 may be referenced by a diffServActionSpecific attribute." 1380 ::= { diffServAction 3 } 1381 1382diffServDscpMarkActEntry OBJECT-TYPE 1383 SYNTAX DiffServDscpMarkActEntry 1384 MAX-ACCESS not-accessible 1385 STATUS current 1386 DESCRIPTION 1387 "An entry in the DSCP mark action table that describes a single 1388 DSCP used for marking." 1389 INDEX { diffServDscpMarkActDscp } 1390 ::= { diffServDscpMarkActTable 1 } 1391 1392DiffServDscpMarkActEntry ::= SEQUENCE { 1393 diffServDscpMarkActDscp Dscp 1394} 1395 1396diffServDscpMarkActDscp OBJECT-TYPE 1397 SYNTAX Dscp 1398 MAX-ACCESS read-only 1399 STATUS current 1400 DESCRIPTION 1401 "The DSCP that this Action will store into the DSCP field of the 1402 subject. It is quite possible that the only packets subject to 1403 this Action are already marked with this DSCP. Note also that 1404 Differentiated Services processing may result in packet being 1405 marked on both ingress to a network and on egress from it, and 1406 that ingress and egress can occur in the same router." 1407 ::= { diffServDscpMarkActEntry 1 } 1408 1409-- 1410-- Count Action Table 1411-- 1412-- Because the MIB structure allows multiple cascading 1413-- diffServActionEntry be used to describe multiple actions for a data 1414-- path, the counter became an optional action type. In normal 1415-- implementation, either a data path has counters or it does not, as 1416-- opposed to being configurable. The management entity may choose to 1417 1418 1419 1420-- read the counter or not. Hence it is recommended for implementation 1421-- that have counters to always configure the count action as the first 1422-- of multiple actions. 1423-- 1424 1425diffServCountActNextFree OBJECT-TYPE 1426 SYNTAX IndexIntegerNextFree 1427 MAX-ACCESS read-only 1428 STATUS current 1429 DESCRIPTION 1430 "This object contains an unused value for 1431 diffServCountActId, or a zero to indicate that none exist." 1432 ::= { diffServAction 4 } 1433 1434diffServCountActTable OBJECT-TYPE 1435 SYNTAX SEQUENCE OF DiffServCountActEntry 1436 MAX-ACCESS not-accessible 1437 STATUS current 1438 DESCRIPTION 1439 "This table contains counters for all the traffic passing through 1440 an action element." 1441 ::= { diffServAction 5 } 1442 1443diffServCountActEntry OBJECT-TYPE 1444 SYNTAX DiffServCountActEntry 1445 MAX-ACCESS not-accessible 1446 STATUS current 1447 DESCRIPTION 1448 "An entry in the count action table describes a single set of 1449 traffic counters." 1450 INDEX { diffServCountActId } 1451 ::= { diffServCountActTable 1 } 1452 1453DiffServCountActEntry ::= SEQUENCE { 1454 diffServCountActId IndexInteger, 1455 diffServCountActOctets Counter64, 1456 diffServCountActPkts Counter64, 1457 diffServCountActStorage StorageType, 1458 diffServCountActStatus RowStatus 1459} 1460 1461diffServCountActId OBJECT-TYPE 1462 SYNTAX IndexInteger 1463 MAX-ACCESS not-accessible 1464 STATUS current 1465 DESCRIPTION 1466 "An index that enumerates the Count Action entries. Managers 1467 obtain new values for row creation in this table by reading 1468 1469 1470 1471 diffServCountActNextFree." 1472 ::= { diffServCountActEntry 1 } 1473 1474diffServCountActOctets OBJECT-TYPE 1475 SYNTAX Counter64 1476 MAX-ACCESS read-only 1477 STATUS current 1478 DESCRIPTION 1479 "The number of octets at the Action data path element. 1480 1481 Discontinuities in the value of this counter can occur at re- 1482 initialization of the management system and at other times as 1483 indicated by the value of ifCounterDiscontinuityTime on the 1484 relevant interface." 1485 ::= { diffServCountActEntry 2 } 1486 1487diffServCountActPkts OBJECT-TYPE 1488 SYNTAX Counter64 1489 MAX-ACCESS read-only 1490 STATUS current 1491 DESCRIPTION 1492 "The number of packets at the Action data path element. 1493 1494 Discontinuities in the value of this counter can occur at re- 1495 initialization of the management system and at other times as 1496 indicated by the value of ifCounterDiscontinuityTime on the 1497 relevant interface." 1498 ::= { diffServCountActEntry 3 } 1499 1500diffServCountActStorage OBJECT-TYPE 1501 SYNTAX StorageType 1502 MAX-ACCESS read-create 1503 STATUS current 1504 DESCRIPTION 1505 "The storage type for this conceptual row. Conceptual rows 1506 having the value 'permanent' need not allow write-access to any 1507 columnar objects in the row." 1508 DEFVAL { nonVolatile } 1509 ::= { diffServCountActEntry 4 } 1510 1511diffServCountActStatus OBJECT-TYPE 1512 SYNTAX RowStatus 1513 MAX-ACCESS read-create 1514 STATUS current 1515 DESCRIPTION 1516 "The status of this conceptual row. All writable objects in this 1517 row may be modified at any time. Setting this variable to 1518 'destroy' when the MIB contains one or more RowPointers pointing 1519 1520 1521 1522 to it results in destruction being delayed until the row is no 1523 longer used." 1524 ::= { diffServCountActEntry 5 } 1525 1526-- 1527-- Algorithmic Drop Table 1528-- 1529 1530diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 } 1531 1532diffServAlgDropNextFree OBJECT-TYPE 1533 SYNTAX IndexIntegerNextFree 1534 MAX-ACCESS read-only 1535 STATUS current 1536 DESCRIPTION 1537 "This object contains an unused value for diffServAlgDropId, or a 1538 zero to indicate that none exist." 1539 ::= { diffServAlgDrop 1 } 1540 1541diffServAlgDropTable OBJECT-TYPE 1542 SYNTAX SEQUENCE OF DiffServAlgDropEntry 1543 MAX-ACCESS not-accessible 1544 STATUS current 1545 DESCRIPTION 1546 "The algorithmic drop table contains entries describing an 1547 element that drops packets according to some algorithm." 1548 ::= { diffServAlgDrop 2 } 1549 1550diffServAlgDropEntry OBJECT-TYPE 1551 SYNTAX DiffServAlgDropEntry 1552 MAX-ACCESS not-accessible 1553 STATUS current 1554 DESCRIPTION 1555 "An entry describes a process that drops packets according to 1556 some algorithm. Further details of the algorithm type are to be 1557 found in diffServAlgDropType and with more detail parameter entry 1558 pointed to by diffServAlgDropSpecific when necessary." 1559 INDEX { diffServAlgDropId } 1560 ::= { diffServAlgDropTable 1 } 1561 1562DiffServAlgDropEntry ::= SEQUENCE { 1563 diffServAlgDropId IndexInteger, 1564 diffServAlgDropType INTEGER, 1565 diffServAlgDropNext RowPointer, 1566 diffServAlgDropQMeasure RowPointer, 1567 diffServAlgDropQThreshold Unsigned32, 1568 diffServAlgDropSpecific RowPointer, 1569 diffServAlgDropOctets Counter64, 1570 1571 1572 1573 diffServAlgDropPkts Counter64, 1574 diffServAlgRandomDropOctets Counter64, 1575 diffServAlgRandomDropPkts Counter64, 1576 diffServAlgDropStorage StorageType, 1577 diffServAlgDropStatus RowStatus 1578} 1579 1580diffServAlgDropId OBJECT-TYPE 1581 SYNTAX IndexInteger 1582 MAX-ACCESS not-accessible 1583 STATUS current 1584 DESCRIPTION 1585 "An index that enumerates the Algorithmic Dropper entries. 1586 Managers obtain new values for row creation in this table by 1587 reading diffServAlgDropNextFree." 1588 ::= { diffServAlgDropEntry 1 } 1589 1590diffServAlgDropType OBJECT-TYPE 1591 SYNTAX INTEGER { 1592 other(1), 1593 tailDrop(2), 1594 headDrop(3), 1595 randomDrop(4), 1596 alwaysDrop(5) 1597} 1598 MAX-ACCESS read-create 1599 STATUS current 1600 DESCRIPTION 1601 "The type of algorithm used by this dropper. The value other(1) 1602 requires further specification in some other MIB module. 1603 1604 In the tailDrop(2) algorithm, diffServAlgDropQThreshold 1605 represents the maximum depth of the queue, pointed to by 1606 diffServAlgDropQMeasure, beyond which all newly arriving packets 1607 will be dropped. 1608 1609 In the headDrop(3) algorithm, if a packet arrives when the 1610 current depth of the queue, pointed to by 1611 diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets 1612 currently at the head of the queue are dropped to make room for 1613 the new packet to be enqueued at the tail of the queue. 1614 1615 In the randomDrop(4) algorithm, on packet arrival, an Active 1616 Queue Management algorithm is executed which may randomly drop a 1617 packet. This algorithm may be proprietary, and it may drop either 1618 the arriving packet or another packet in the queue. 1619 diffServAlgDropSpecific points to a diffServRandomDropEntry that 1620 describes the algorithm. For this algorithm, 1621 1622 1623 1624 diffServAlgDropQThreshold is understood to be the absolute 1625 maximum size of the queue and additional parameters are described 1626 in diffServRandomDropTable. 1627 1628 The alwaysDrop(5) algorithm is as its name specifies; always 1629 drop. In this case, the other configuration values in this Entry 1630 are not meaningful; There is no useful 'next' processing step, 1631 there is no queue, and parameters describing the queue are not 1632 useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure, 1633 and diffServAlgDropSpecific are all zeroDotZero." 1634 ::= { diffServAlgDropEntry 2 } 1635 1636diffServAlgDropNext OBJECT-TYPE 1637 SYNTAX RowPointer 1638 MAX-ACCESS read-create 1639 STATUS current 1640 DESCRIPTION 1641 "This selects the next Differentiated Services Functional Data 1642 Path Element to handle traffic for this data path. This 1643 RowPointer should point to an instance of one of: 1644 diffServClfrEntry 1645 diffServMeterEntry 1646 diffServActionEntry 1647 diffServQEntry 1648 1649 A value of zeroDotZero in this attribute indicates no further 1650 Differentiated Services treatment is performed on traffic of this 1651 data path. The use of zeroDotZero is the normal usage for the 1652 last functional data path element of the current data path. 1653 1654 When diffServAlgDropType is alwaysDrop(5), this object is 1655 ignored. 1656 1657 Setting this to point to a target that does not exist results in 1658 an inconsistentValue error. If the row pointed to is removed or 1659 becomes inactive by other means, the treatment is as if this 1660 attribute contains a value of zeroDotZero." 1661 ::= { diffServAlgDropEntry 3 } 1662 1663diffServAlgDropQMeasure OBJECT-TYPE 1664 SYNTAX RowPointer 1665 MAX-ACCESS read-create 1666 STATUS current 1667 DESCRIPTION 1668 "Points to an entry in the diffServQTable to indicate the queue 1669 that a drop algorithm is to monitor when deciding whether to drop 1670 a packet. If the row pointed to does not exist, the algorithmic 1671 dropper element is considered inactive. 1672 1673 1674 1675 Setting this to point to a target that does not exist results in 1676 an inconsistentValue error. If the row pointed to is removed or 1677 becomes inactive by other means, the treatment is as if this 1678 attribute contains a value of zeroDotZero." 1679 ::= { diffServAlgDropEntry 4 } 1680 1681diffServAlgDropQThreshold OBJECT-TYPE 1682 SYNTAX Unsigned32 (1..4294967295) 1683 UNITS "Bytes" 1684 MAX-ACCESS read-create 1685 STATUS current 1686 DESCRIPTION 1687 "A threshold on the depth in bytes of the queue being measured at 1688 which a trigger is generated to the dropping algorithm, unless 1689 diffServAlgDropType is alwaysDrop(5) where this object is 1690 ignored. 1691 1692 For the tailDrop(2) or headDrop(3) algorithms, this represents 1693 the depth of the queue, pointed to by diffServAlgDropQMeasure, at 1694 which the drop action will take place. Other algorithms will need 1695 to define their own semantics for this threshold." 1696 ::= { diffServAlgDropEntry 5 } 1697 1698diffServAlgDropSpecific OBJECT-TYPE 1699 SYNTAX RowPointer 1700 MAX-ACCESS read-create 1701 STATUS current 1702 DESCRIPTION 1703 "Points to a table entry that provides further detail regarding a 1704 drop algorithm. 1705 1706 Entries with diffServAlgDropType equal to other(1) may have this 1707 point to a table defined in another MIB module. 1708 1709 Entries with diffServAlgDropType equal to randomDrop(4) must have 1710 this point to an entry in diffServRandomDropTable. 1711 1712 For all other algorithms specified in this MIB, this should take 1713 the value zeroDotZero. 1714 1715 The diffServAlgDropType is authoritative for the type of the drop 1716 algorithm and the specific parameters for the drop algorithm 1717 needs to be evaluated based on the diffServAlgDropType. 1718 1719 Setting this to point to a target that does not exist results in 1720 an inconsistentValue error. If the row pointed to is removed or 1721 becomes inactive by other means, the treatment is as if this 1722 attribute contains a value of zeroDotZero." 1723 1724 1725 1726 ::= { diffServAlgDropEntry 6 } 1727 1728diffServAlgDropOctets OBJECT-TYPE 1729 SYNTAX Counter64 1730 MAX-ACCESS read-only 1731 STATUS current 1732 DESCRIPTION 1733 "The number of octets that have been deterministically dropped by 1734 this drop process. 1735 1736 Discontinuities in the value of this counter can occur at re- 1737 initialization of the management system and at other times as 1738 indicated by the value of ifCounterDiscontinuityTime on the 1739 relevant interface." 1740 ::= { diffServAlgDropEntry 7 } 1741 1742diffServAlgDropPkts OBJECT-TYPE 1743 SYNTAX Counter64 1744 MAX-ACCESS read-only 1745 STATUS current 1746 DESCRIPTION 1747 "The number of packets that have been deterministically dropped 1748 by this drop process. 1749 1750 Discontinuities in the value of this counter can occur at re- 1751 initialization of the management system and at other times as 1752 indicated by the value of ifCounterDiscontinuityTime on the 1753 relevant interface." 1754 ::= { diffServAlgDropEntry 8 } 1755 1756diffServAlgRandomDropOctets OBJECT-TYPE 1757 SYNTAX Counter64 1758 MAX-ACCESS read-only 1759 STATUS current 1760 DESCRIPTION 1761 "The number of octets that have been randomly dropped by this 1762 drop process. This counter applies, therefore, only to random 1763 droppers. 1764 1765 Discontinuities in the value of this counter can occur at re- 1766 initialization of the management system and at other times as 1767 indicated by the value of ifCounterDiscontinuityTime on the 1768 relevant interface." 1769 ::= { diffServAlgDropEntry 9 } 1770 1771diffServAlgRandomDropPkts OBJECT-TYPE 1772 SYNTAX Counter64 1773 MAX-ACCESS read-only 1774 1775 1776 1777 STATUS current 1778 DESCRIPTION 1779 "The number of packets that have been randomly dropped by this 1780 drop process. This counter applies, therefore, only to random 1781 droppers. 1782 1783 Discontinuities in the value of this counter can occur at re- 1784 initialization of the management system and at other times as 1785 indicated by the value of ifCounterDiscontinuityTime on the 1786 relevant interface." 1787 ::= { diffServAlgDropEntry 10 } 1788 1789diffServAlgDropStorage OBJECT-TYPE 1790 SYNTAX StorageType 1791 MAX-ACCESS read-create 1792 STATUS current 1793 DESCRIPTION 1794 "The storage type for this conceptual row. Conceptual rows 1795 having the value 'permanent' need not allow write-access to any 1796 columnar objects in the row." 1797 DEFVAL { nonVolatile } 1798 ::= { diffServAlgDropEntry 11 } 1799 1800diffServAlgDropStatus OBJECT-TYPE 1801 SYNTAX RowStatus 1802 MAX-ACCESS read-create 1803 STATUS current 1804 DESCRIPTION 1805 "The status of this conceptual row. All writable objects in this 1806 row may be modified at any time. Setting this variable to 1807 'destroy' when the MIB contains one or more RowPointers pointing 1808 to it results in destruction being delayed until the row is no 1809 longer used." 1810 ::= { diffServAlgDropEntry 12 } 1811 1812-- 1813-- Random Drop Table 1814-- 1815 1816diffServRandomDropNextFree OBJECT-TYPE 1817 SYNTAX IndexIntegerNextFree 1818 MAX-ACCESS read-only 1819 STATUS current 1820 DESCRIPTION 1821 "This object contains an unused value for diffServRandomDropId, 1822 or a zero to indicate that none exist." 1823 ::= { diffServAlgDrop 3 } 1824 1825 1826 1827 1828diffServRandomDropTable OBJECT-TYPE 1829 SYNTAX SEQUENCE OF DiffServRandomDropEntry 1830 MAX-ACCESS not-accessible 1831 STATUS current 1832 DESCRIPTION 1833 "The random drop table contains entries describing a process that 1834 drops packets randomly. Entries in this table are pointed to by 1835 diffServAlgDropSpecific." 1836 ::= { diffServAlgDrop 4 } 1837 1838diffServRandomDropEntry OBJECT-TYPE 1839 SYNTAX DiffServRandomDropEntry 1840 MAX-ACCESS not-accessible 1841 STATUS current 1842 DESCRIPTION 1843 "An entry describes a process that drops packets according to a 1844 random algorithm." 1845 INDEX { diffServRandomDropId } 1846 ::= { diffServRandomDropTable 1 } 1847 1848DiffServRandomDropEntry ::= SEQUENCE { 1849 diffServRandomDropId IndexInteger, 1850 diffServRandomDropMinThreshBytes Unsigned32, 1851 diffServRandomDropMinThreshPkts Unsigned32, 1852 diffServRandomDropMaxThreshBytes Unsigned32, 1853 diffServRandomDropMaxThreshPkts Unsigned32, 1854 diffServRandomDropProbMax Unsigned32, 1855 diffServRandomDropWeight Unsigned32, 1856 diffServRandomDropSamplingRate Unsigned32, 1857 diffServRandomDropStorage StorageType, 1858 diffServRandomDropStatus RowStatus 1859} 1860 1861diffServRandomDropId OBJECT-TYPE 1862 SYNTAX IndexInteger 1863 MAX-ACCESS not-accessible 1864 STATUS current 1865 DESCRIPTION 1866 "An index that enumerates the Random Drop entries. Managers 1867 obtain new values for row creation in this table by reading 1868 diffServRandomDropNextFree." 1869 ::= { diffServRandomDropEntry 1 } 1870 1871diffServRandomDropMinThreshBytes OBJECT-TYPE 1872 SYNTAX Unsigned32 (1..4294967295) 1873 UNITS "bytes" 1874 MAX-ACCESS read-create 1875 STATUS current 1876 1877 1878 1879 DESCRIPTION 1880 "The average queue depth in bytes, beyond which traffic has a 1881 non-zero probability of being dropped. Changes in this variable 1882 may or may not be reflected in the reported value of 1883 diffServRandomDropMinThreshPkts." 1884 ::= { diffServRandomDropEntry 2 } 1885 1886diffServRandomDropMinThreshPkts OBJECT-TYPE 1887 SYNTAX Unsigned32 (1..4294967295) 1888 UNITS "packets" 1889 MAX-ACCESS read-create 1890 STATUS current 1891 DESCRIPTION 1892 "The average queue depth in packets, beyond which traffic has a 1893 non-zero probability of being dropped. Changes in this variable 1894 may or may not be reflected in the reported value of 1895 diffServRandomDropMinThreshBytes." 1896 ::= { diffServRandomDropEntry 3 } 1897 1898diffServRandomDropMaxThreshBytes OBJECT-TYPE 1899 SYNTAX Unsigned32 (1..4294967295) 1900 UNITS "bytes" 1901 MAX-ACCESS read-create 1902 STATUS current 1903 DESCRIPTION 1904 "The average queue depth beyond which traffic has a probability 1905 indicated by diffServRandomDropProbMax of being dropped or 1906 marked. Note that this differs from the physical queue limit, 1907 which is stored in diffServAlgDropQThreshold. Changes in this 1908 variable may or may not be reflected in the reported value of 1909 diffServRandomDropMaxThreshPkts." 1910 ::= { diffServRandomDropEntry 4 } 1911 1912diffServRandomDropMaxThreshPkts OBJECT-TYPE 1913 SYNTAX Unsigned32 (1..4294967295) 1914 UNITS "packets" 1915 MAX-ACCESS read-create 1916 STATUS current 1917 DESCRIPTION 1918 "The average queue depth beyond which traffic has a probability 1919 indicated by diffServRandomDropProbMax of being dropped or 1920 marked. Note that this differs from the physical queue limit, 1921 which is stored in diffServAlgDropQThreshold. Changes in this 1922 variable may or may not be reflected in the reported value of 1923 diffServRandomDropMaxThreshBytes." 1924 ::= { diffServRandomDropEntry 5 } 1925 1926diffServRandomDropProbMax OBJECT-TYPE 1927 1928 1929 1930 SYNTAX Unsigned32 (0..1000) 1931 MAX-ACCESS read-create 1932 STATUS current 1933 DESCRIPTION 1934 "The worst case random drop probability, expressed in drops per 1935 thousand packets. 1936 1937 For example, if in the worst case every arriving packet may be 1938 dropped (100%) for a period, this has the value 1000. 1939 Alternatively, if in the worst case only one percent (1%) of 1940 traffic may be dropped, it has the value 10." 1941 ::= { diffServRandomDropEntry 6 } 1942 1943diffServRandomDropWeight OBJECT-TYPE 1944 SYNTAX Unsigned32 (0..65536) 1945 MAX-ACCESS read-create 1946 STATUS current 1947 DESCRIPTION 1948 "The weighting of past history in affecting the Exponentially 1949 Weighted Moving Average function that calculates the current 1950 average queue depth. The equation uses 1951 diffServRandomDropWeight/65536 as the coefficient for the new 1952 sample in the equation, and (65536 - 1953 diffServRandomDropWeight)/65536 as the coefficient of the old 1954 value. 1955 1956 Implementations may limit the values of diffServRandomDropWeight 1957 to a subset of the possible range of values, such as powers of 1958 two. Doing this would facilitate implementation of the 1959 Exponentially Weighted Moving Average using shift instructions or 1960 registers." 1961 ::= { diffServRandomDropEntry 7 } 1962 1963diffServRandomDropSamplingRate OBJECT-TYPE 1964 SYNTAX Unsigned32 (0..1000000) 1965 MAX-ACCESS read-create 1966 STATUS current 1967 DESCRIPTION 1968 "The number of times per second the queue is sampled for queue 1969 average calculation. A value of zero is used to mean that the 1970 queue is sampled approximately each time a packet is enqueued (or 1971 dequeued)." 1972 ::= { diffServRandomDropEntry 8 } 1973 1974diffServRandomDropStorage OBJECT-TYPE 1975 SYNTAX StorageType 1976 MAX-ACCESS read-create 1977 STATUS current 1978 1979 1980 1981 DESCRIPTION 1982 "The storage type for this conceptual row. Conceptual rows 1983 having the value 'permanent' need not allow write-access to any 1984 columnar objects in the row." 1985 DEFVAL { nonVolatile } 1986 ::= { diffServRandomDropEntry 9 } 1987 1988diffServRandomDropStatus OBJECT-TYPE 1989 SYNTAX RowStatus 1990 MAX-ACCESS read-create 1991 STATUS current 1992 DESCRIPTION 1993 "The status of this conceptual row. All writable objects in this 1994 row may be modified at any time. Setting this variable to 1995 'destroy' when the MIB contains one or more RowPointers pointing 1996 to it results in destruction being delayed until the row is no 1997 longer used." 1998 ::= { diffServRandomDropEntry 10 } 1999 2000-- 2001-- Queue Table 2002-- 2003 2004diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 } 2005 2006-- 2007-- An entry of diffServQTable represents a FIFO queue Differentiated 2008-- Services Functional Data Path element as described in the Informal 2009-- Differentiated Services Model section 7.1.1. Note that the 2010-- specification of scheduling parameters for a queue as part of the 2011-- input to a scheduler functional data path element as described in 2012-- the Informal Differentiated Services Model section 7.1.2. This 2013-- allows building of hierarchical queuing/scheduling. A queue 2014-- therefore has these attributes: 2015-- 2016-- 1. Which scheduler will service this queue, diffServQNext. 2017-- 2. How the scheduler will service this queue, with respect 2018-- to all the other queues the same scheduler needs to service, 2019-- diffServQMinRate. 2020-- 2021-- Note that upstream Differentiated Services Functional Data Path 2022-- elements may point to a shared diffServQTable entry as described 2023-- in the Informal Differentiated Services Model section 7.1.1. 2024-- 2025 2026diffServQNextFree OBJECT-TYPE 2027 SYNTAX IndexIntegerNextFree 2028 MAX-ACCESS read-only 2029 2030 2031 2032 STATUS current 2033 DESCRIPTION 2034 "This object contains an unused value for diffServQId, or a zero 2035 to indicate that none exist." 2036 ::= { diffServQueue 1 } 2037 2038diffServQTable OBJECT-TYPE 2039 SYNTAX SEQUENCE OF DiffServQEntry 2040 MAX-ACCESS not-accessible 2041 STATUS current 2042 DESCRIPTION 2043 "The Queue Table enumerates the individual queues. Note that the 2044 MIB models queuing systems as composed of individual queues, one 2045 per class of traffic, even though they may in fact be structured 2046 as classes of traffic scheduled using a common calendar queue, or 2047 in other ways." 2048 ::= { diffServQueue 2 } 2049 2050diffServQEntry OBJECT-TYPE 2051 SYNTAX DiffServQEntry 2052 MAX-ACCESS not-accessible 2053 STATUS current 2054 DESCRIPTION 2055 "An entry in the Queue Table describes a single queue or class of 2056 traffic." 2057 INDEX { diffServQId } 2058 ::= { diffServQTable 1 } 2059 2060DiffServQEntry ::= SEQUENCE { 2061 diffServQId IndexInteger, 2062 diffServQNext RowPointer, 2063 diffServQMinRate RowPointer, 2064 diffServQMaxRate RowPointer, 2065 diffServQStorage StorageType, 2066 diffServQStatus RowStatus 2067} 2068 2069diffServQId OBJECT-TYPE 2070 SYNTAX IndexInteger 2071 MAX-ACCESS not-accessible 2072 STATUS current 2073 DESCRIPTION 2074 "An index that enumerates the Queue entries. Managers obtain new 2075 values for row creation in this table by reading 2076 diffServQNextFree." 2077 ::= { diffServQEntry 1 } 2078 2079diffServQNext OBJECT-TYPE 2080 2081 2082 2083 SYNTAX RowPointer 2084 MAX-ACCESS read-create 2085 STATUS current 2086 DESCRIPTION 2087 "This selects the next Differentiated Services Scheduler. The 2088 RowPointer must point to a diffServSchedulerEntry. 2089 2090 A value of zeroDotZero in this attribute indicates an incomplete 2091 diffServQEntry instance. In such a case, the entry has no 2092 operational effect, since it has no parameters to give it 2093 meaning. 2094 2095 Setting this to point to a target that does not exist results in 2096 an inconsistentValue error. If the row pointed to is removed or 2097 becomes inactive by other means, the treatment is as if this 2098 attribute contains a value of zeroDotZero." 2099 ::= { diffServQEntry 2 } 2100 2101diffServQMinRate OBJECT-TYPE 2102 SYNTAX RowPointer 2103 MAX-ACCESS read-create 2104 STATUS current 2105 DESCRIPTION 2106 "This RowPointer indicates the diffServMinRateEntry that the 2107 scheduler, pointed to by diffServQNext, should use to service 2108 this queue. 2109 2110 If the row pointed to is zeroDotZero, the minimum rate and 2111 priority is unspecified. 2112 2113 Setting this to point to a target that does not exist results in 2114 an inconsistentValue error. If the row pointed to is removed or 2115 becomes inactive by other means, the treatment is as if this 2116 attribute contains a value of zeroDotZero." 2117 ::= { diffServQEntry 3 } 2118 2119diffServQMaxRate OBJECT-TYPE 2120 SYNTAX RowPointer 2121 MAX-ACCESS read-create 2122 STATUS current 2123 DESCRIPTION 2124 "This RowPointer indicates the diffServMaxRateEntry that the 2125 scheduler, pointed to by diffServQNext, should use to service 2126 this queue. 2127 2128 If the row pointed to is zeroDotZero, the maximum rate is the 2129 line speed of the interface. 2130 2131 2132 2133 2134 Setting this to point to a target that does not exist results in 2135 an inconsistentValue error. If the row pointed to is removed or 2136 becomes inactive by other means, the treatment is as if this 2137 attribute contains a value of zeroDotZero." 2138 ::= { diffServQEntry 4 } 2139 2140diffServQStorage OBJECT-TYPE 2141 SYNTAX StorageType 2142 MAX-ACCESS read-create 2143 STATUS current 2144 DESCRIPTION 2145 "The storage type for this conceptual row. Conceptual rows 2146 having the value 'permanent' need not allow write-access to any 2147 columnar objects in the row." 2148 DEFVAL { nonVolatile } 2149 ::= { diffServQEntry 5 } 2150 2151diffServQStatus OBJECT-TYPE 2152 SYNTAX RowStatus 2153 MAX-ACCESS read-create 2154 STATUS current 2155 DESCRIPTION 2156 "The status of this conceptual row. All writable objects in this 2157 row may be modified at any time. Setting this variable to 2158 'destroy' when the MIB contains one or more RowPointers pointing 2159 to it results in destruction being delayed until the row is no 2160 longer used." 2161 ::= { diffServQEntry 6 } 2162 2163-- 2164-- Scheduler Table 2165-- 2166 2167diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 } 2168 2169-- 2170-- A Scheduler Entry represents a packet scheduler, such as a priority 2171-- scheduler or a WFQ scheduler. It provides flexibility for multiple 2172-- scheduling algorithms, each servicing multiple queues, to be used on 2173-- the same logical/physical interface. 2174-- 2175-- Note that upstream queues or schedulers specify several of the 2176-- scheduler's parameters. These must be properly specified if the 2177-- scheduler is to behave as expected. 2178-- 2179-- The diffServSchedulerMaxRate attribute specifies the parameters when 2180-- a scheduler's output is sent to another scheduler. This is used in 2181-- building hierarchical queues or schedulers. 2182 2183 2184 2185-- 2186-- More discussion of the scheduler functional data path element is in 2187-- the Informal Differentiated Services Model section 7.1.2. 2188-- 2189 2190diffServSchedulerNextFree OBJECT-TYPE 2191 SYNTAX IndexIntegerNextFree 2192 MAX-ACCESS read-only 2193 STATUS current 2194 DESCRIPTION 2195 "This object contains an unused value for diffServSchedulerId, or 2196 a zero to indicate that none exist." 2197 ::= { diffServScheduler 1 } 2198 2199diffServSchedulerTable OBJECT-TYPE 2200 SYNTAX SEQUENCE OF DiffServSchedulerEntry 2201 MAX-ACCESS not-accessible 2202 STATUS current 2203 DESCRIPTION 2204 "The Scheduler Table enumerates packet schedulers. Multiple 2205 scheduling algorithms can be used on a given data path, with each 2206 algorithm described by one diffServSchedulerEntry." 2207 ::= { diffServScheduler 2 } 2208 2209diffServSchedulerEntry OBJECT-TYPE 2210 SYNTAX DiffServSchedulerEntry 2211 MAX-ACCESS not-accessible 2212 STATUS current 2213 DESCRIPTION 2214 "An entry in the Scheduler Table describing a single instance of 2215 a scheduling algorithm." 2216 INDEX { diffServSchedulerId } 2217 ::= { diffServSchedulerTable 1 } 2218 2219DiffServSchedulerEntry ::= SEQUENCE { 2220 diffServSchedulerId IndexInteger, 2221 diffServSchedulerNext RowPointer, 2222 diffServSchedulerMethod AutonomousType, 2223 diffServSchedulerMinRate RowPointer, 2224 diffServSchedulerMaxRate RowPointer, 2225 diffServSchedulerStorage StorageType, 2226 diffServSchedulerStatus RowStatus 2227} 2228 2229diffServSchedulerId OBJECT-TYPE 2230 SYNTAX IndexInteger 2231 MAX-ACCESS not-accessible 2232 STATUS current 2233 2234 2235 2236 DESCRIPTION 2237 "An index that enumerates the Scheduler entries. Managers obtain 2238 new values for row creation in this table by reading 2239 diffServSchedulerNextFree." 2240 ::= { diffServSchedulerEntry 1 } 2241 2242diffServSchedulerNext OBJECT-TYPE 2243 SYNTAX RowPointer 2244 MAX-ACCESS read-create 2245 STATUS current 2246 DESCRIPTION 2247 "This selects the next Differentiated Services Functional Data 2248 Path Element to handle traffic for this data path. This normally 2249 is null (zeroDotZero), or points to a diffServSchedulerEntry or a 2250 diffServQEntry. 2251 2252 However, this RowPointer may also point to an instance of: 2253 diffServClfrEntry, 2254 diffServMeterEntry, 2255 diffServActionEntry, 2256 diffServAlgDropEntry. 2257 2258 It would point another diffServSchedulerEntry when implementing 2259 multiple scheduler methods for the same data path, such as having 2260 one set of queues scheduled by WRR and that group participating 2261 in a priority scheduling system in which other queues compete 2262 with it in that way. It might also point to a second scheduler 2263 in a hierarchical scheduling system. 2264 2265 If the row pointed to is zeroDotZero, no further Differentiated 2266 Services treatment is performed on traffic of this data path. 2267 2268 Setting this to point to a target that does not exist results in 2269 an inconsistentValue error. If the row pointed to is removed or 2270 becomes inactive by other means, the treatment is as if this 2271 attribute contains a value of zeroDotZero." 2272 DEFVAL { zeroDotZero } 2273 ::= { diffServSchedulerEntry 2 } 2274 2275diffServSchedulerMethod OBJECT-TYPE 2276 SYNTAX AutonomousType 2277 MAX-ACCESS read-create 2278 STATUS current 2279 DESCRIPTION 2280 "The scheduling algorithm used by this Scheduler. zeroDotZero 2281 indicates that this is unknown. Standard values for generic 2282 algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and 2283 diffServSchedulerWFQ are specified in this MIB; additional values 2284 2285 2286 2287 may be further specified in other MIBs." 2288 ::= { diffServSchedulerEntry 3 } 2289 2290diffServSchedulerMinRate OBJECT-TYPE 2291 SYNTAX RowPointer 2292 MAX-ACCESS read-create 2293 STATUS current 2294 DESCRIPTION 2295 "This RowPointer indicates the entry in diffServMinRateTable 2296 which indicates the priority or minimum output rate from this 2297 scheduler. This attribute is used only when there is more than 2298 one level of scheduler. 2299 2300 When it has the value zeroDotZero, it indicates that no minimum 2301 rate or priority is imposed. 2302 2303 Setting this to point to a target that does not exist results in 2304 an inconsistentValue error. If the row pointed to is removed or 2305 becomes inactive by other means, the treatment is as if this 2306 attribute contains a value of zeroDotZero." 2307 DEFVAL { zeroDotZero } 2308 ::= { diffServSchedulerEntry 4 } 2309 2310diffServSchedulerMaxRate OBJECT-TYPE 2311 SYNTAX RowPointer 2312 MAX-ACCESS read-create 2313 STATUS current 2314 DESCRIPTION 2315 "This RowPointer indicates the entry in diffServMaxRateTable 2316 which indicates the maximum output rate from this scheduler. 2317 When more than one maximum rate applies (eg, when a multi-rate 2318 shaper is in view), it points to the first of those rate entries. 2319 This attribute is used only when there is more than one level of 2320 scheduler. 2321 2322 When it has the value zeroDotZero, it indicates that no maximum 2323 rate is imposed. 2324 2325 Setting this to point to a target that does not exist results in 2326 an inconsistentValue error. If the row pointed to is removed or 2327 becomes inactive by other means, the treatment is as if this 2328 attribute contains a value of zeroDotZero." 2329 DEFVAL { zeroDotZero } 2330 ::= { diffServSchedulerEntry 5 } 2331 2332diffServSchedulerStorage OBJECT-TYPE 2333 SYNTAX StorageType 2334 MAX-ACCESS read-create 2335 2336 2337 2338 STATUS current 2339 DESCRIPTION 2340 "The storage type for this conceptual row. Conceptual rows 2341 having the value 'permanent' need not allow write-access to any 2342 columnar objects in the row." 2343 DEFVAL { nonVolatile } 2344 ::= { diffServSchedulerEntry 6 } 2345 2346diffServSchedulerStatus OBJECT-TYPE 2347 SYNTAX RowStatus 2348 MAX-ACCESS read-create 2349 STATUS current 2350 DESCRIPTION 2351 "The status of this conceptual row. All writable objects in this 2352 row may be modified at any time. Setting this variable to 2353 'destroy' when the MIB contains one or more RowPointers pointing 2354 to it results in destruction being delayed until the row is no 2355 longer used." 2356 ::= { diffServSchedulerEntry 7 } 2357 2358-- 2359-- OIDs for diffServTBParamType definitions. 2360-- 2361 2362diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 } 2363 2364diffServSchedulerPriority OBJECT-IDENTITY 2365 STATUS current 2366 DESCRIPTION 2367 "For use with diffServSchedulerMethod to indicate the Priority 2368 scheduling method. This is defined as an algorithm in which the 2369 presence of data in a queue or set of queues absolutely precludes 2370 dequeue from another queue or set of queues of lower priority. 2371 Note that attributes from diffServMinRateEntry of the 2372 queues/schedulers feeding this scheduler are used when 2373 determining the next packet to schedule." 2374 ::= { diffServSchedulers 1 } 2375 2376diffServSchedulerWRR OBJECT-IDENTITY 2377 STATUS current 2378 DESCRIPTION 2379 "For use with diffServSchedulerMethod to indicate the Weighted 2380 Round Robin scheduling method, defined as any algorithm in which 2381 a set of queues are visited in a fixed order, and varying amounts 2382 of traffic are removed from each queue in turn to implement an 2383 average output rate by class. Notice attributes from 2384 diffServMinRateEntry of the queues/schedulers feeding this 2385 scheduler are used when determining the next packet to schedule." 2386 2387 2388 2389 ::= { diffServSchedulers 2 } 2390 2391diffServSchedulerWFQ OBJECT-IDENTITY 2392 STATUS current 2393 DESCRIPTION 2394 "For use with diffServSchedulerMethod to indicate the Weighted 2395 Fair Queuing scheduling method, defined as any algorithm in which 2396 a set of queues are conceptually visited in some order, to 2397 implement an average output rate by class. Notice attributes from 2398 diffServMinRateEntry of the queues/schedulers feeding this 2399 scheduler are used when determining the next packet to schedule." 2400 ::= { diffServSchedulers 3 } 2401 2402-- 2403-- Minimum Rate Parameters Table 2404-- 2405-- The parameters used by a scheduler for its inputs or outputs are 2406-- maintained separately from the Queue or Scheduler table entries for 2407-- reusability reasons and so that they may be used by both queues and 2408-- schedulers. This follows the approach for separation of data path 2409-- elements from parameterization that is used throughout this MIB. 2410-- Use of these Minimum Rate Parameter Table entries by Queues and 2411-- Schedulers allows the modeling of hierarchical scheduling systems. 2412-- 2413-- Specifically, a Scheduler has one or more inputs and one output. 2414-- Any queue feeding a scheduler, or any scheduler which feeds a second 2415-- scheduler, might specify a minimum transfer rate by pointing to an 2416-- Minimum Rate Parameter Table entry. 2417-- 2418-- The diffServMinRatePriority/Abs/Rel attributes are used as 2419-- parameters to the work-conserving portion of a scheduler: 2420-- "work-conserving" implies that the scheduler can continue to emit 2421-- data as long as there is data available at its input(s). This has 2422-- the effect of guaranteeing a certain priority relative to other 2423-- scheduler inputs and/or a certain minimum proportion of the 2424-- available output bandwidth. Properly configured, this means a 2425-- certain minimum rate, which may be exceeded should traffic be 2426-- available should there be spare bandwidth after all other classes 2427-- have had opportunities to consume their own minimum rates. 2428-- 2429 2430diffServMinRateNextFree OBJECT-TYPE 2431 SYNTAX IndexIntegerNextFree 2432 MAX-ACCESS read-only 2433 STATUS current 2434 DESCRIPTION 2435 "This object contains an unused value for diffServMinRateId, or a 2436 zero to indicate that none exist." 2437 2438 2439 2440 ::= { diffServScheduler 3 } 2441 2442diffServMinRateTable OBJECT-TYPE 2443 SYNTAX SEQUENCE OF DiffServMinRateEntry 2444 MAX-ACCESS not-accessible 2445 STATUS current 2446 DESCRIPTION 2447 "The Minimum Rate Parameters Table enumerates individual sets of 2448 scheduling parameter that can be used/reused by Queues and 2449 Schedulers." 2450 ::= { diffServScheduler 4 } 2451 2452diffServMinRateEntry OBJECT-TYPE 2453 SYNTAX DiffServMinRateEntry 2454 MAX-ACCESS not-accessible 2455 STATUS current 2456 DESCRIPTION 2457 "An entry in the Minimum Rate Parameters Table describes a single 2458 set of scheduling parameters for use by one or more queues or 2459 schedulers." 2460 INDEX { diffServMinRateId } 2461 ::= { diffServMinRateTable 1 } 2462 2463DiffServMinRateEntry ::= SEQUENCE { 2464 diffServMinRateId IndexInteger, 2465 diffServMinRatePriority Unsigned32, 2466 diffServMinRateAbsolute Unsigned32, 2467 diffServMinRateRelative Unsigned32, 2468 diffServMinRateStorage StorageType, 2469 diffServMinRateStatus RowStatus 2470} 2471 2472diffServMinRateId OBJECT-TYPE 2473 SYNTAX IndexInteger 2474 MAX-ACCESS not-accessible 2475 STATUS current 2476 DESCRIPTION 2477 "An index that enumerates the Scheduler Parameter entries. 2478 Managers obtain new values for row creation in this table by 2479 reading diffServMinRateNextFree." 2480 ::= { diffServMinRateEntry 1 } 2481 2482diffServMinRatePriority OBJECT-TYPE 2483 SYNTAX Unsigned32 (1..4294967295) 2484 MAX-ACCESS read-create 2485 STATUS current 2486 DESCRIPTION 2487 "The priority of this input to the associated scheduler, relative 2488 2489 2490 2491 to the scheduler's other inputs. A queue or scheduler with a 2492 larger numeric value will be served before another with a smaller 2493 numeric value." 2494 ::= { diffServMinRateEntry 2 } 2495 2496diffServMinRateAbsolute OBJECT-TYPE 2497 SYNTAX Unsigned32 (1..4294967295) 2498 UNITS "kilobits per second" 2499 MAX-ACCESS read-create 2500 STATUS current 2501 DESCRIPTION 2502 "The minimum absolute rate, in kilobits/sec, that a downstream 2503 scheduler element should allocate to this queue. If the value is 2504 zero, then there is effectively no minimum rate guarantee. If the 2505 value is non-zero, the scheduler will assure the servicing of 2506 this queue to at least this rate. 2507 2508 Note that this attribute value and that of 2509 diffServMinRateRelative are coupled: changes to one will affect 2510 the value of the other. They are linked by the following 2511 equation, in that setting one will change the other: 2512 2513 diffServMinRateRelative = 2514 (diffServMinRateAbsolute*1000000)/ifSpeed 2515 2516 or, if appropriate: 2517 2518 diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" 2519 REFERENCE 2520 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" 2521 ::= { diffServMinRateEntry 3 } 2522 2523diffServMinRateRelative OBJECT-TYPE 2524 SYNTAX Unsigned32 (1..4294967295) 2525 MAX-ACCESS read-create 2526 STATUS current 2527 DESCRIPTION 2528 "The minimum rate that a downstream scheduler element should 2529 allocate to this queue, relative to the maximum rate of the 2530 interface as reported by ifSpeed or ifHighSpeed, in units of 2531 1/1000 of 1. If the value is zero, then there is effectively no 2532 minimum rate guarantee. If the value is non-zero, the scheduler 2533 will assure the servicing of this queue to at least this rate. 2534 2535 Note that this attribute value and that of 2536 diffServMinRateAbsolute are coupled: changes to one will affect 2537 the value of the other. They are linked by the following 2538 equation, in that setting one will change the other: 2539 2540 2541 2542 diffServMinRateRelative = 2543 (diffServMinRateAbsolute*1000000)/ifSpeed 2544 2545 or, if appropriate: 2546 2547 diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" 2548 REFERENCE 2549 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" 2550 ::= { diffServMinRateEntry 4 } 2551 2552diffServMinRateStorage OBJECT-TYPE 2553 SYNTAX StorageType 2554 MAX-ACCESS read-create 2555 STATUS current 2556 DESCRIPTION 2557 "The storage type for this conceptual row. Conceptual rows 2558 having the value 'permanent' need not allow write-access to any 2559 columnar objects in the row." 2560 DEFVAL { nonVolatile } 2561 ::= { diffServMinRateEntry 5 } 2562 2563diffServMinRateStatus OBJECT-TYPE 2564 SYNTAX RowStatus 2565 MAX-ACCESS read-create 2566 STATUS current 2567 DESCRIPTION 2568 "The status of this conceptual row. All writable objects in this 2569 row may be modified at any time. Setting this variable to 2570 'destroy' when the MIB contains one or more RowPointers pointing 2571 to it results in destruction being delayed until the row is no 2572 longer used." 2573 ::= { diffServMinRateEntry 6 } 2574 2575-- 2576-- Maximum Rate Parameter Table 2577-- 2578-- The parameters used by a scheduler for its inputs or outputs are 2579-- maintained separately from the Queue or Scheduler table entries for 2580-- reusability reasons and so that they may be used by both queues and 2581-- schedulers. This follows the approach for separation of data path 2582-- elements from parameterization that is used throughout this MIB. 2583-- Use of these Maximum Rate Parameter Table entries by Queues and 2584-- Schedulers allows the modeling of hierarchical scheduling systems. 2585-- 2586-- Specifically, a Scheduler has one or more inputs and one output. 2587-- Any queue feeding a scheduler, or any scheduler which feeds a second 2588-- scheduler, might specify a maximum transfer rate by pointing to a 2589-- Maximum Rate Parameter Table entry. Multi-rate shapers, such as a 2590 2591 2592 2593-- Dual Leaky Bucket algorithm, specify their rates using multiple 2594-- Maximum Rate Parameter Entries with the same diffServMaxRateId but 2595-- different diffServMaxRateLevels. 2596-- 2597-- The diffServMaxRateLevel/Abs/Rel attributes are used as 2598-- parameters to the non-work-conserving portion of a scheduler: 2599-- non-work-conserving implies that the scheduler may sometimes not 2600-- emit a packet, even if there is data available at its input(s). 2601-- This has the effect of limiting the servicing of the queue/scheduler 2602-- input or output, in effect performing shaping of the packet stream 2603-- passing through the queue/scheduler, as described in the Informal 2604-- Differentiated Services Model section 7.2. 2605-- 2606 2607diffServMaxRateNextFree OBJECT-TYPE 2608 SYNTAX IndexIntegerNextFree 2609 MAX-ACCESS read-only 2610 STATUS current 2611 DESCRIPTION 2612 "This object contains an unused value for diffServMaxRateId, or a 2613 zero to indicate that none exist." 2614 ::= { diffServScheduler 5 } 2615 2616diffServMaxRateTable OBJECT-TYPE 2617 SYNTAX SEQUENCE OF DiffServMaxRateEntry 2618 MAX-ACCESS not-accessible 2619 STATUS current 2620 DESCRIPTION 2621 "The Maximum Rate Parameter Table enumerates individual sets of 2622 scheduling parameter that can be used/reused by Queues and 2623 Schedulers." 2624 ::= { diffServScheduler 6 } 2625 2626diffServMaxRateEntry OBJECT-TYPE 2627 SYNTAX DiffServMaxRateEntry 2628 MAX-ACCESS not-accessible 2629 STATUS current 2630 DESCRIPTION 2631 "An entry in the Maximum Rate Parameter Table describes a single 2632 set of scheduling parameters for use by one or more queues or 2633 schedulers." 2634 INDEX { diffServMaxRateId, diffServMaxRateLevel } 2635 ::= { diffServMaxRateTable 1 } 2636 2637DiffServMaxRateEntry ::= SEQUENCE { 2638 diffServMaxRateId IndexInteger, 2639 diffServMaxRateLevel Unsigned32, 2640 diffServMaxRateAbsolute Unsigned32, 2641 2642 2643 2644 diffServMaxRateRelative Unsigned32, 2645 diffServMaxRateThreshold BurstSize, 2646 diffServMaxRateStorage StorageType, 2647 diffServMaxRateStatus RowStatus 2648} 2649 2650diffServMaxRateId OBJECT-TYPE 2651 SYNTAX IndexInteger 2652 MAX-ACCESS not-accessible 2653 STATUS current 2654 DESCRIPTION 2655 "An index that enumerates the Maximum Rate Parameter entries. 2656 Managers obtain new values for row creation in this table by 2657 reading diffServMaxRateNextFree." 2658 ::= { diffServMaxRateEntry 1 } 2659 2660diffServMaxRateLevel OBJECT-TYPE 2661 SYNTAX Unsigned32 (1..32) 2662 MAX-ACCESS not-accessible 2663 STATUS current 2664 DESCRIPTION 2665 "An index that indicates which level of a multi-rate shaper is 2666 being given its parameters. A multi-rate shaper has some number 2667 of rate levels. Frame Relay's dual rate specification refers to a 2668 'committed' and an 'excess' rate; ATM's dual rate specification 2669 refers to a 'mean' and a 'peak' rate. This table is generalized 2670 to support an arbitrary number of rates. The committed or mean 2671 rate is level 1, the peak rate (if any) is the highest level rate 2672 configured, and if there are other rates they are distributed in 2673 monotonically increasing order between them." 2674 ::= { diffServMaxRateEntry 2 } 2675 2676diffServMaxRateAbsolute OBJECT-TYPE 2677 SYNTAX Unsigned32 (1..4294967295) 2678 UNITS "kilobits per second" 2679 MAX-ACCESS read-create 2680 STATUS current 2681 DESCRIPTION 2682 "The maximum rate in kilobits/sec that a downstream scheduler 2683 element should allocate to this queue. If the value is zero, then 2684 there is effectively no maximum rate limit and that the scheduler 2685 should attempt to be work conserving for this queue. If the value 2686 is non-zero, the scheduler will limit the servicing of this queue 2687 to, at most, this rate in a non-work-conserving manner. 2688 2689 Note that this attribute value and that of 2690 diffServMaxRateRelative are coupled: changes to one will affect 2691 the value of the other. They are linked by the following 2692 2693 2694 2695 equation, in that setting one will change the other: 2696 2697 diffServMaxRateRelative = 2698 (diffServMaxRateAbsolute*1000000)/ifSpeed 2699 2700 or, if appropriate: 2701 2702 diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" 2703 REFERENCE 2704 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" 2705 ::= { diffServMaxRateEntry 3 } 2706 2707diffServMaxRateRelative OBJECT-TYPE 2708 SYNTAX Unsigned32 (1..4294967295) 2709 MAX-ACCESS read-create 2710 STATUS current 2711 DESCRIPTION 2712 "The maximum rate that a downstream scheduler element should 2713 allocate to this queue, relative to the maximum rate of the 2714 interface as reported by ifSpeed or ifHighSpeed, in units of 2715 1/1000 of 1. If the value is zero, then there is effectively no 2716 maximum rate limit and the scheduler should attempt to be work 2717 conserving for this queue. If the value is non-zero, the 2718 scheduler will limit the servicing of this queue to, at most, 2719 this rate in a non-work-conserving manner. 2720 2721 Note that this attribute value and that of 2722 diffServMaxRateAbsolute are coupled: changes to one will affect 2723 the value of the other. They are linked by the following 2724 equation, in that setting one will change the other: 2725 2726 diffServMaxRateRelative = 2727 (diffServMaxRateAbsolute*1000000)/ifSpeed 2728 2729 or, if appropriate: 2730 2731 diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" 2732 REFERENCE 2733 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" 2734 ::= { diffServMaxRateEntry 4 } 2735 2736diffServMaxRateThreshold OBJECT-TYPE 2737 SYNTAX BurstSize 2738 UNITS "Bytes" 2739 MAX-ACCESS read-create 2740 STATUS current 2741 DESCRIPTION 2742 "The number of bytes of queue depth at which the rate of a 2743 2744 2745 2746 multi-rate scheduler will increase to the next output rate. In 2747 the last conceptual row for such a shaper, this threshold is 2748 ignored and by convention is zero." 2749 REFERENCE 2750 "Adaptive rate Shaper, RFC 2963" 2751 ::= { diffServMaxRateEntry 5 } 2752 2753diffServMaxRateStorage OBJECT-TYPE 2754 SYNTAX StorageType 2755 MAX-ACCESS read-create 2756 STATUS current 2757 DESCRIPTION 2758 "The storage type for this conceptual row. Conceptual rows 2759 having the value 'permanent' need not allow write-access to any 2760 columnar objects in the row." 2761 DEFVAL { nonVolatile } 2762 ::= { diffServMaxRateEntry 6 } 2763 2764diffServMaxRateStatus OBJECT-TYPE 2765 SYNTAX RowStatus 2766 MAX-ACCESS read-create 2767 STATUS current 2768 DESCRIPTION 2769 "The status of this conceptual row. All writable objects in this 2770 row may be modified at any time. Setting this variable to 2771 'destroy' when the MIB contains one or more RowPointers pointing 2772 to it results in destruction being delayed until the row is no 2773 longer used." 2774 ::= { diffServMaxRateEntry 7 } 2775 2776-- 2777-- MIB Compliance statements. 2778-- 2779 2780diffServMIBCompliances OBJECT IDENTIFIER ::= 2781 { diffServMIBConformance 1 } 2782diffServMIBGroups OBJECT IDENTIFIER ::= 2783 { diffServMIBConformance 2 } 2784 2785diffServMIBFullCompliance MODULE-COMPLIANCE 2786 STATUS current 2787 DESCRIPTION 2788 "When this MIB is implemented with support for read-create, then 2789 such an implementation can claim full compliance. Such devices 2790 can then be both monitored and configured with this MIB." 2791 2792 MODULE IF-MIB -- The interfaces MIB, RFC2863 2793 MANDATORY-GROUPS { 2794 2795 2796 2797 ifCounterDiscontinuityGroup 2798 } 2799 2800 MODULE -- This Module 2801 MANDATORY-GROUPS { 2802 diffServMIBDataPathGroup, diffServMIBClfrGroup, 2803 diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, 2804 diffServMIBActionGroup, diffServMIBAlgDropGroup, 2805 diffServMIBQGroup, diffServMIBSchedulerGroup, 2806 diffServMIBMaxRateGroup, diffServMIBMinRateGroup, 2807 diffServMIBCounterGroup 2808 } 2809 2810 GROUP diffServMIBMeterGroup 2811 DESCRIPTION 2812 "This group is mandatory for devices that implement metering 2813 functions." 2814 2815 GROUP diffServMIBTBParamGroup 2816 DESCRIPTION 2817 "This group is mandatory for devices that implement token-bucket 2818 metering functions." 2819 2820 GROUP diffServMIBDscpMarkActGroup 2821 DESCRIPTION 2822 "This group is mandatory for devices that implement DSCP-Marking 2823 functions." 2824 2825 GROUP diffServMIBRandomDropGroup 2826 DESCRIPTION 2827 "This group is mandatory for devices that implement Random Drop 2828 functions." 2829 2830 OBJECT diffServDataPathStatus 2831 SYNTAX RowStatus { active(1) } 2832 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2833 DESCRIPTION 2834 "Support for createAndWait and notInService is not required." 2835 2836 OBJECT diffServClfrStatus 2837 SYNTAX RowStatus { active(1) } 2838 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2839 DESCRIPTION 2840 "Support for createAndWait and notInService is not required." 2841 2842 OBJECT diffServClfrElementStatus 2843 SYNTAX RowStatus { active(1) } 2844 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2845 2846 2847 2848 DESCRIPTION 2849 "Support for createAndWait and notInService is not required." 2850 2851 OBJECT diffServMultiFieldClfrAddrType 2852 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 2853 DESCRIPTION 2854 "An implementation is only required to support IPv4 and IPv6 2855 addresses." 2856 2857 OBJECT diffServMultiFieldClfrDstAddr 2858 SYNTAX InetAddress (SIZE(0|4|16)) 2859 DESCRIPTION 2860 "An implementation is only required to support IPv4 and globally 2861 unique IPv6 addresses." 2862 2863 OBJECT diffServAlgDropStatus 2864 SYNTAX RowStatus { active(1) } 2865 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2866 DESCRIPTION 2867 "Support for createAndWait and notInService is not required." 2868 2869 OBJECT diffServRandomDropStatus 2870 SYNTAX RowStatus { active(1) } 2871 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2872 DESCRIPTION 2873 "Support for createAndWait and notInService is not required." 2874 2875 OBJECT diffServQStatus 2876 SYNTAX RowStatus { active(1) } 2877 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2878 DESCRIPTION 2879 "Support for createAndWait and notInService is not required." 2880 2881 OBJECT diffServSchedulerStatus 2882 SYNTAX RowStatus { active(1) } 2883 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2884 DESCRIPTION 2885 "Support for createAndWait and notInService is not required." 2886 2887 OBJECT diffServMinRateStatus 2888 SYNTAX RowStatus { active(1) } 2889 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2890 DESCRIPTION 2891 "Support for createAndWait and notInService is not required." 2892 2893 OBJECT diffServMaxRateStatus 2894 SYNTAX RowStatus { active(1) } 2895 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } 2896 2897 2898 2899 DESCRIPTION 2900 "Support for createAndWait and notInService is not required." 2901 2902 ::= { diffServMIBCompliances 1 } 2903 2904-- 2905-- Read-Only Compliance 2906-- 2907 2908diffServMIBReadOnlyCompliance MODULE-COMPLIANCE 2909 STATUS current 2910 DESCRIPTION 2911 "When this MIB is implemented without support for read-create 2912 (i.e. in read-only mode), then such an implementation can claim 2913 read-only compliance. Such a device can then be monitored but can 2914 not be configured with this MIB." 2915 2916 MODULE IF-MIB -- The interfaces MIB, RFC2863 2917 MANDATORY-GROUPS { 2918 ifCounterDiscontinuityGroup 2919 } 2920 2921 MODULE -- This Module 2922 MANDATORY-GROUPS { 2923 diffServMIBDataPathGroup, diffServMIBClfrGroup, 2924 diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, 2925 diffServMIBActionGroup, diffServMIBAlgDropGroup, 2926 diffServMIBQGroup, diffServMIBSchedulerGroup, 2927 diffServMIBMaxRateGroup, diffServMIBMinRateGroup, 2928 diffServMIBCounterGroup 2929 } 2930 2931 GROUP diffServMIBMeterGroup 2932 DESCRIPTION 2933 "This group is mandatory for devices that implement metering 2934 functions." 2935 2936 GROUP diffServMIBTBParamGroup 2937 DESCRIPTION 2938 "This group is mandatory for devices that implement token-bucket 2939 metering functions." 2940 2941 GROUP diffServMIBDscpMarkActGroup 2942 DESCRIPTION 2943 "This group is mandatory for devices that implement DSCP-Marking 2944 functions." 2945 2946 GROUP diffServMIBRandomDropGroup 2947 2948 2949 2950 DESCRIPTION 2951 "This group is mandatory for devices that implement Random Drop 2952 functions." 2953 2954 OBJECT diffServDataPathStart 2955 MIN-ACCESS read-only 2956 DESCRIPTION 2957 "Write access is not required." 2958 2959 OBJECT diffServDataPathStorage 2960 MIN-ACCESS read-only 2961 DESCRIPTION 2962 "Write access is not required." 2963 2964 OBJECT diffServDataPathStatus 2965 SYNTAX RowStatus { active(1) } 2966 MIN-ACCESS read-only 2967 DESCRIPTION 2968 "Write access is not required, and active is the only status that 2969 needs to be supported." 2970 2971 OBJECT diffServClfrNextFree 2972 MIN-ACCESS not-accessible 2973 DESCRIPTION 2974 "Object not needed when diffServClfrTable is implemented read- 2975 only" 2976 2977 OBJECT diffServClfrStorage 2978 MIN-ACCESS read-only 2979 DESCRIPTION 2980 "Write access is not required." 2981 2982 OBJECT diffServClfrStatus 2983 SYNTAX RowStatus { active(1) } 2984 MIN-ACCESS read-only 2985 DESCRIPTION 2986 "Write access is not required, and active is the only status that 2987 needs to be supported." 2988 2989 OBJECT diffServClfrElementNextFree 2990 MIN-ACCESS not-accessible 2991 DESCRIPTION 2992 "Object not needed when diffServClfrelementTable is implemented 2993 read-only" 2994 2995 OBJECT diffServClfrElementPrecedence 2996 MIN-ACCESS read-only 2997 DESCRIPTION 2998 2999 3000 3001 "Write access is not required." 3002 3003 OBJECT diffServClfrElementNext 3004 MIN-ACCESS read-only 3005 DESCRIPTION 3006 "Write access is not required." 3007 3008 OBJECT diffServClfrElementSpecific 3009 MIN-ACCESS read-only 3010 DESCRIPTION 3011 "Write access is not required." 3012 3013 OBJECT diffServClfrElementStorage 3014 MIN-ACCESS read-only 3015 DESCRIPTION 3016 "Write access is not required." 3017 3018 OBJECT diffServClfrElementStatus 3019 SYNTAX RowStatus { active(1) } 3020 MIN-ACCESS read-only 3021 DESCRIPTION 3022 "Write access is not required, and active is the only status that 3023 needs to be supported." 3024 3025 OBJECT diffServMultiFieldClfrNextFree 3026 MIN-ACCESS not-accessible 3027 DESCRIPTION 3028 "Object is not needed when diffServMultiFieldClfrTable is 3029 implemented in read-only mode." 3030 3031 OBJECT diffServMultiFieldClfrAddrType 3032 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3033 MIN-ACCESS read-only 3034 DESCRIPTION 3035 "Write access is not required. An implementation is only required 3036 to support IPv4 and IPv6 addresses." 3037 3038 OBJECT diffServMultiFieldClfrDstAddr 3039 SYNTAX InetAddress (SIZE(0|4|16)) 3040 MIN-ACCESS read-only 3041 DESCRIPTION 3042 "Write access is not required. An implementation is only required 3043 to support IPv4 and globally unique IPv6 addresses." 3044 3045 OBJECT diffServMultiFieldClfrDstPrefixLength 3046 MIN-ACCESS read-only 3047 DESCRIPTION 3048 "Write access is not required." 3049 3050 3051 3052 OBJECT diffServMultiFieldClfrSrcAddr 3053 MIN-ACCESS read-only 3054 DESCRIPTION 3055 "Write access is not required. An implementation is only required 3056 to support IPv4 and globally unique IPv6 addresses." 3057 3058 OBJECT diffServMultiFieldClfrSrcPrefixLength 3059 MIN-ACCESS read-only 3060 DESCRIPTION 3061 "Write access is not required." 3062 3063 OBJECT diffServMultiFieldClfrDscp 3064 MIN-ACCESS read-only 3065 DESCRIPTION 3066 "Write access is not required." 3067 3068 OBJECT diffServMultiFieldClfrFlowId 3069 MIN-ACCESS read-only 3070 DESCRIPTION 3071 "Write access is not required." 3072 3073 OBJECT diffServMultiFieldClfrProtocol 3074 MIN-ACCESS read-only 3075 DESCRIPTION 3076 "Write access is not required." 3077 3078 OBJECT diffServMultiFieldClfrDstL4PortMin 3079 MIN-ACCESS read-only 3080 DESCRIPTION 3081 "Write access is not required." 3082 3083 OBJECT diffServMultiFieldClfrDstL4PortMax 3084 MIN-ACCESS read-only 3085 DESCRIPTION 3086 "Write access is not required." 3087 3088 OBJECT diffServMultiFieldClfrSrcL4PortMin 3089 MIN-ACCESS read-only 3090 DESCRIPTION 3091 "Write access is not required." 3092 3093 OBJECT diffServMultiFieldClfrSrcL4PortMax 3094 MIN-ACCESS read-only 3095 DESCRIPTION 3096 "Write access is not required." 3097 3098 OBJECT diffServMultiFieldClfrStorage 3099 MIN-ACCESS read-only 3100 3101 3102 3103 DESCRIPTION 3104 "Write access is not required." 3105 3106 OBJECT diffServMultiFieldClfrStatus 3107 MIN-ACCESS read-only 3108 DESCRIPTION 3109 "Write access is not required, createAndWait and notInService 3110 support is not required." 3111 3112 OBJECT diffServMeterNextFree 3113 MIN-ACCESS not-accessible 3114 DESCRIPTION 3115 "Object is not needed when diffServMultiFieldClfrTable is 3116 implemented in read-only mode." 3117 3118 OBJECT diffServMeterSucceedNext 3119 MIN-ACCESS read-only 3120 DESCRIPTION 3121 "Write access is not required." 3122 3123 OBJECT diffServMeterFailNext 3124 MIN-ACCESS read-only 3125 DESCRIPTION 3126 "Write access is not required." 3127 3128 OBJECT diffServMeterSpecific 3129 MIN-ACCESS read-only 3130 DESCRIPTION 3131 "Write access is not required." 3132 3133 OBJECT diffServMeterStorage 3134 MIN-ACCESS read-only 3135 DESCRIPTION 3136 "Write access is not required." 3137 3138 OBJECT diffServMeterStatus 3139 SYNTAX RowStatus { active(1) } 3140 MIN-ACCESS read-only 3141 DESCRIPTION 3142 "Write access is not required, and active is the only status that 3143 needs to be supported." 3144 3145 OBJECT diffServTBParamNextFree 3146 MIN-ACCESS not-accessible 3147 DESCRIPTION 3148 "Object is not needed when diffServTBParamTable is implemented in 3149 read-only mode." 3150 3151 3152 3153 3154 OBJECT diffServTBParamType 3155 MIN-ACCESS read-only 3156 DESCRIPTION 3157 "Write access is not required." 3158 3159 OBJECT diffServTBParamRate 3160 MIN-ACCESS read-only 3161 DESCRIPTION 3162 "Write access is not required." 3163 3164 OBJECT diffServTBParamBurstSize 3165 MIN-ACCESS read-only 3166 DESCRIPTION 3167 "Write access is not required." 3168 3169 OBJECT diffServTBParamInterval 3170 MIN-ACCESS read-only 3171 DESCRIPTION 3172 "Write access is not required." 3173 3174 OBJECT diffServTBParamStorage 3175 MIN-ACCESS read-only 3176 DESCRIPTION 3177 "Write access is not required." 3178 3179 OBJECT diffServTBParamStatus 3180 SYNTAX RowStatus { active(1) } 3181 MIN-ACCESS read-only 3182 DESCRIPTION 3183 "Write access is not required, and active is the only status that 3184 needs to be supported." 3185 3186 OBJECT diffServActionNextFree 3187 MIN-ACCESS not-accessible 3188 DESCRIPTION 3189 "Object is not needed when diffServActionTable is implemented in 3190 read-only mode." 3191 3192 OBJECT diffServActionInterface 3193 MIN-ACCESS read-only 3194 DESCRIPTION 3195 "Write access is not required." 3196 3197 OBJECT diffServActionNext 3198 MIN-ACCESS read-only 3199 DESCRIPTION 3200 "Write access is not required." 3201 3202 3203 3204 3205 OBJECT diffServActionSpecific 3206 MIN-ACCESS read-only 3207 DESCRIPTION 3208 "Write access is not required." 3209 3210 OBJECT diffServActionStorage 3211 MIN-ACCESS read-only 3212 DESCRIPTION 3213 "Write access is not required." 3214 3215 OBJECT diffServActionStatus 3216 SYNTAX RowStatus { active(1) } 3217 MIN-ACCESS read-only 3218 DESCRIPTION 3219 "Write access is not required, and active is the only status that 3220 needs to be supported." 3221 3222 OBJECT diffServCountActNextFree 3223 MIN-ACCESS not-accessible 3224 DESCRIPTION 3225 "Object is not needed when diffServCountActTable is implemented 3226 in read-only mode." 3227 3228 OBJECT diffServCountActStorage 3229 MIN-ACCESS read-only 3230 DESCRIPTION 3231 "Write access is not required." 3232 3233 OBJECT diffServCountActStatus 3234 SYNTAX RowStatus { active(1) } 3235 MIN-ACCESS read-only 3236 DESCRIPTION 3237 "Write access is not required, and active is the only status that 3238 needs to be supported." 3239 3240 OBJECT diffServAlgDropNextFree 3241 MIN-ACCESS not-accessible 3242 DESCRIPTION 3243 "Object is not needed when diffServAlgDropTable is implemented in 3244 read-only mode." 3245 3246 OBJECT diffServAlgDropType 3247 MIN-ACCESS read-only 3248 DESCRIPTION 3249 "Write access is not required." 3250 3251 OBJECT diffServAlgDropNext 3252 MIN-ACCESS read-only 3253 3254 3255 3256 DESCRIPTION 3257 "Write access is not required." 3258 3259 OBJECT diffServAlgDropQMeasure 3260 MIN-ACCESS read-only 3261 DESCRIPTION 3262 "Write access is not required." 3263 3264 OBJECT diffServAlgDropQThreshold 3265 MIN-ACCESS read-only 3266 DESCRIPTION 3267 "Write access is not required." 3268 3269 OBJECT diffServAlgDropSpecific 3270 MIN-ACCESS read-only 3271 DESCRIPTION 3272 "Write access is not required." 3273 3274 OBJECT diffServAlgDropStorage 3275 MIN-ACCESS read-only 3276 DESCRIPTION 3277 "Write access is not required." 3278 3279 OBJECT diffServAlgDropStatus 3280 SYNTAX RowStatus { active(1) } 3281 MIN-ACCESS read-only 3282 DESCRIPTION 3283 "Write access is not required, and active is the only status that 3284 needs to be supported." 3285 3286 OBJECT diffServRandomDropNextFree 3287 MIN-ACCESS not-accessible 3288 DESCRIPTION 3289 "Object is not needed when diffServRandomDropTable is implemented 3290 in read-only mode." 3291 3292 OBJECT diffServRandomDropMinThreshBytes 3293 MIN-ACCESS read-only 3294 DESCRIPTION 3295 "Write access is not required." 3296 3297 OBJECT diffServRandomDropMinThreshPkts 3298 MIN-ACCESS read-only 3299 DESCRIPTION 3300 "Write access is not required." 3301 3302 OBJECT diffServRandomDropMaxThreshBytes 3303 MIN-ACCESS read-only 3304 3305 3306 3307 DESCRIPTION 3308 "Write access is not required." 3309 3310 OBJECT diffServRandomDropMaxThreshPkts 3311 MIN-ACCESS read-only 3312 DESCRIPTION 3313 "Write access is not required." 3314 3315 OBJECT diffServRandomDropProbMax 3316 MIN-ACCESS read-only 3317 DESCRIPTION 3318 "Write access is not required." 3319 3320 OBJECT diffServRandomDropWeight 3321 MIN-ACCESS read-only 3322 DESCRIPTION 3323 "Write access is not required." 3324 3325 OBJECT diffServRandomDropSamplingRate 3326 MIN-ACCESS read-only 3327 DESCRIPTION 3328 "Write access is not required." 3329 3330 OBJECT diffServRandomDropStorage 3331 MIN-ACCESS read-only 3332 DESCRIPTION 3333 "Write access is not required." 3334 3335 OBJECT diffServRandomDropStatus 3336 SYNTAX RowStatus { active(1) } 3337 MIN-ACCESS read-only 3338 DESCRIPTION 3339 "Write access is not required, and active is the only status that 3340 needs to be supported." 3341 3342 OBJECT diffServQNextFree 3343 MIN-ACCESS not-accessible 3344 DESCRIPTION 3345 "Object is not needed when diffServQTable is implemented in 3346 read-only mode." 3347 3348 OBJECT diffServQNext 3349 MIN-ACCESS read-only 3350 DESCRIPTION 3351 "Write access is not required." 3352 3353 OBJECT diffServQMinRate 3354 MIN-ACCESS read-only 3355 3356 3357 3358 DESCRIPTION 3359 "Write access is not required." 3360 3361 OBJECT diffServQMaxRate 3362 MIN-ACCESS read-only 3363 DESCRIPTION 3364 "Write access is not required." 3365 3366 OBJECT diffServQStorage 3367 MIN-ACCESS read-only 3368 DESCRIPTION 3369 "Write access is not required." 3370 3371 OBJECT diffServQStatus 3372 SYNTAX RowStatus { active(1) } 3373 MIN-ACCESS read-only 3374 DESCRIPTION 3375 "Write access is not required, and active is the only status that 3376 needs to be supported." 3377 3378 OBJECT diffServSchedulerNextFree 3379 MIN-ACCESS not-accessible 3380 DESCRIPTION 3381 "Object is not needed when diffServSchedulerTable is implemented 3382 in read-only mode." 3383 3384 OBJECT diffServSchedulerNext 3385 MIN-ACCESS read-only 3386 DESCRIPTION 3387 "Write access is not required." 3388 3389 OBJECT diffServSchedulerMethod 3390 MIN-ACCESS read-only 3391 DESCRIPTION 3392 "Write access is not required." 3393 3394 OBJECT diffServSchedulerMinRate 3395 MIN-ACCESS read-only 3396 DESCRIPTION 3397 "Write access is not required." 3398 3399 OBJECT diffServSchedulerMaxRate 3400 MIN-ACCESS read-only 3401 DESCRIPTION 3402 "Write access is not required." 3403 3404 OBJECT diffServSchedulerStorage 3405 MIN-ACCESS read-only 3406 3407 3408 3409 DESCRIPTION 3410 "Write access is not required." 3411 3412 OBJECT diffServSchedulerStatus 3413 SYNTAX RowStatus { active(1) } 3414 MIN-ACCESS read-only 3415 DESCRIPTION 3416 "Write access is not required, and active is the only status that 3417 needs to be supported." 3418 3419 OBJECT diffServMinRateNextFree 3420 MIN-ACCESS not-accessible 3421 DESCRIPTION 3422 "Object is not needed when diffServMinRateTable is implemented in 3423 read-only mode." 3424 3425 OBJECT diffServMinRatePriority 3426 MIN-ACCESS read-only 3427 DESCRIPTION 3428 "Write access is not required." 3429 3430 OBJECT diffServMinRateAbsolute 3431 MIN-ACCESS read-only 3432 DESCRIPTION 3433 "Write access is not required." 3434 3435 OBJECT diffServMinRateRelative 3436 MIN-ACCESS read-only 3437 DESCRIPTION 3438 "Write access is not required." 3439 3440 OBJECT diffServMinRateStorage 3441 MIN-ACCESS read-only 3442 DESCRIPTION 3443 "Write access is not required." 3444 3445 OBJECT diffServMinRateStatus 3446 SYNTAX RowStatus { active(1) } 3447 MIN-ACCESS read-only 3448 DESCRIPTION 3449 "Write access is not required, and active is the only status that 3450 needs to be supported." 3451 3452 OBJECT diffServMaxRateNextFree 3453 MIN-ACCESS not-accessible 3454 DESCRIPTION 3455 "Object is not needed when diffServMaxrateTable is implemented in 3456 read-only mode." 3457 3458 3459 3460 OBJECT diffServMaxRateAbsolute 3461 MIN-ACCESS read-only 3462 DESCRIPTION 3463 "Write access is not required." 3464 3465 OBJECT diffServMaxRateRelative 3466 MIN-ACCESS read-only 3467 DESCRIPTION 3468 "Write access is not required." 3469 3470 OBJECT diffServMaxRateThreshold 3471 MIN-ACCESS read-only 3472 DESCRIPTION 3473 "Write access is not required." 3474 3475 OBJECT diffServMaxRateStorage 3476 MIN-ACCESS read-only 3477 DESCRIPTION 3478 "Write access is not required." 3479 3480 OBJECT diffServMaxRateStatus 3481 SYNTAX RowStatus { active(1) } 3482 MIN-ACCESS read-only 3483 DESCRIPTION 3484 "Write access is not required, and active is the only status that 3485 needs to be supported." 3486 3487 ::= { diffServMIBCompliances 2 } 3488 3489diffServMIBDataPathGroup OBJECT-GROUP 3490 OBJECTS { 3491 diffServDataPathStart, diffServDataPathStorage, 3492 diffServDataPathStatus 3493 } 3494 STATUS current 3495 DESCRIPTION 3496 "The Data Path Group defines the MIB Objects that describe a 3497 functional data path." 3498 ::= { diffServMIBGroups 1 } 3499 3500diffServMIBClfrGroup OBJECT-GROUP 3501 OBJECTS { 3502 diffServClfrNextFree, diffServClfrStorage, 3503 diffServClfrStatus 3504 } 3505 STATUS current 3506 DESCRIPTION 3507 "The Classifier Group defines the MIB Objects that describe the 3508 3509 3510 3511 list the starts of individual classifiers." 3512 ::= { diffServMIBGroups 2 } 3513 3514diffServMIBClfrElementGroup OBJECT-GROUP 3515 OBJECTS { 3516 diffServClfrElementNextFree, 3517 diffServClfrElementPrecedence, diffServClfrElementNext, 3518 diffServClfrElementSpecific, diffServClfrElementStorage, 3519 diffServClfrElementStatus 3520 } 3521 STATUS current 3522 DESCRIPTION 3523 "The Classifier Element Group defines the MIB Objects that 3524 describe the classifier elements that make up a generic 3525 classifier." 3526 ::= { diffServMIBGroups 3 } 3527 3528diffServMIBMultiFieldClfrGroup OBJECT-GROUP 3529 OBJECTS { 3530 diffServMultiFieldClfrNextFree, 3531 diffServMultiFieldClfrAddrType, 3532 diffServMultiFieldClfrDstAddr, 3533 diffServMultiFieldClfrDstPrefixLength, 3534 diffServMultiFieldClfrFlowId, 3535 diffServMultiFieldClfrSrcAddr, 3536 diffServMultiFieldClfrSrcPrefixLength, 3537 diffServMultiFieldClfrDscp, 3538 diffServMultiFieldClfrProtocol, 3539 diffServMultiFieldClfrDstL4PortMin, 3540 diffServMultiFieldClfrDstL4PortMax, 3541 diffServMultiFieldClfrSrcL4PortMin, 3542 diffServMultiFieldClfrSrcL4PortMax, 3543 diffServMultiFieldClfrStorage, 3544 diffServMultiFieldClfrStatus 3545 } 3546 STATUS current 3547 DESCRIPTION 3548 "The Multi-field Classifier Group defines the MIB Objects that 3549 describe a classifier element for matching on various fields of 3550 an IP and upper-layer protocol header." 3551 ::= { diffServMIBGroups 4 } 3552 3553diffServMIBMeterGroup OBJECT-GROUP 3554 OBJECTS { 3555 diffServMeterNextFree, diffServMeterSucceedNext, 3556 diffServMeterFailNext, diffServMeterSpecific, 3557 diffServMeterStorage, diffServMeterStatus 3558 } 3559 3560 3561 3562 STATUS current 3563 DESCRIPTION 3564 "The Meter Group defines the objects used in describing a generic 3565 meter element." 3566 ::= { diffServMIBGroups 5 } 3567 3568diffServMIBTBParamGroup OBJECT-GROUP 3569 OBJECTS { 3570 diffServTBParamNextFree, diffServTBParamType, 3571 diffServTBParamRate, diffServTBParamBurstSize, 3572 diffServTBParamInterval, diffServTBParamStorage, 3573 diffServTBParamStatus 3574 } 3575 STATUS current 3576 DESCRIPTION 3577 "The Token-Bucket Meter Group defines the objects used in 3578 describing a token bucket meter element." 3579 ::= { diffServMIBGroups 6 } 3580 3581diffServMIBActionGroup OBJECT-GROUP 3582 OBJECTS { 3583 diffServActionNextFree, diffServActionNext, 3584 diffServActionSpecific, diffServActionStorage, 3585 diffServActionInterface, diffServActionStatus 3586 } 3587 STATUS current 3588 DESCRIPTION 3589 "The Action Group defines the objects used in describing a 3590 generic action element." 3591 ::= { diffServMIBGroups 7 } 3592 3593diffServMIBDscpMarkActGroup OBJECT-GROUP 3594 OBJECTS { 3595 diffServDscpMarkActDscp 3596 } 3597 STATUS current 3598 DESCRIPTION 3599 "The DSCP Mark Action Group defines the objects used in 3600 describing a DSCP Marking Action element." 3601 ::= { diffServMIBGroups 8 } 3602 3603diffServMIBCounterGroup OBJECT-GROUP 3604 OBJECTS { 3605 diffServCountActOctets, diffServCountActPkts, 3606 diffServAlgDropOctets, diffServAlgDropPkts, 3607 diffServAlgRandomDropOctets, diffServAlgRandomDropPkts, 3608 diffServCountActStorage, diffServCountActStatus, 3609 diffServCountActNextFree 3610 3611 3612 3613 } 3614 STATUS current 3615 DESCRIPTION 3616 "A collection of objects providing information specific to 3617 packet-oriented network interfaces." 3618 ::= { diffServMIBGroups 9 } 3619 3620diffServMIBAlgDropGroup OBJECT-GROUP 3621 OBJECTS { 3622 diffServAlgDropNextFree, diffServAlgDropType, 3623 diffServAlgDropNext, diffServAlgDropQMeasure, 3624 diffServAlgDropQThreshold, diffServAlgDropSpecific, 3625 diffServAlgDropStorage, diffServAlgDropStatus 3626 } 3627 STATUS current 3628 DESCRIPTION 3629 "The Algorithmic Drop Group contains the objects that describe 3630 algorithmic dropper operation and configuration." 3631 ::= { diffServMIBGroups 10 } 3632 3633diffServMIBRandomDropGroup OBJECT-GROUP 3634 OBJECTS { 3635 diffServRandomDropNextFree, 3636 diffServRandomDropMinThreshBytes, 3637 diffServRandomDropMinThreshPkts, 3638 diffServRandomDropMaxThreshBytes, 3639 diffServRandomDropMaxThreshPkts, 3640 diffServRandomDropProbMax, 3641 diffServRandomDropWeight, 3642 diffServRandomDropSamplingRate, 3643 diffServRandomDropStorage, 3644 diffServRandomDropStatus 3645 } 3646 STATUS current 3647 DESCRIPTION 3648 "The Random Drop Group augments the Algorithmic Drop Group for 3649 random dropper operation and configuration." 3650 ::= { diffServMIBGroups 11 } 3651 3652diffServMIBQGroup OBJECT-GROUP 3653 3654 OBJECTS { 3655 diffServQNextFree, diffServQNext, diffServQMinRate, 3656 diffServQMaxRate, diffServQStorage, diffServQStatus 3657 } 3658 STATUS current 3659 DESCRIPTION 3660 "The Queue Group contains the objects that describe an 3661 3662 3663 3664 interface's queues." 3665 ::= { diffServMIBGroups 12 } 3666 3667diffServMIBSchedulerGroup OBJECT-GROUP 3668 OBJECTS { 3669 diffServSchedulerNextFree, diffServSchedulerNext, 3670 diffServSchedulerMethod, diffServSchedulerMinRate, 3671 diffServSchedulerMaxRate, diffServSchedulerStorage, 3672 diffServSchedulerStatus 3673 } 3674 STATUS current 3675 DESCRIPTION 3676 "The Scheduler Group contains the objects that describe packet 3677 schedulers on interfaces." 3678 ::= { diffServMIBGroups 13 } 3679 3680diffServMIBMinRateGroup OBJECT-GROUP 3681 OBJECTS { 3682 diffServMinRateNextFree, diffServMinRatePriority, 3683 diffServMinRateAbsolute, diffServMinRateRelative, 3684 diffServMinRateStorage, diffServMinRateStatus 3685 } 3686 STATUS current 3687 DESCRIPTION 3688 "The Minimum Rate Parameter Group contains the objects that 3689 describe packet schedulers' minimum rate or priority guarantees." 3690 ::= { diffServMIBGroups 14 } 3691 3692diffServMIBMaxRateGroup OBJECT-GROUP 3693 OBJECTS { 3694 diffServMaxRateNextFree, diffServMaxRateAbsolute, 3695 diffServMaxRateRelative, diffServMaxRateThreshold, 3696 diffServMaxRateStorage, diffServMaxRateStatus 3697 } 3698 STATUS current 3699 DESCRIPTION 3700 "The Maximum Rate Parameter Group contains the objects that 3701 describe packet schedulers' maximum rate guarantees." 3702 ::= { diffServMIBGroups 15 } 3703 3704END 3705