1IF-MIB DEFINITIONS ::= BEGIN 2 3IMPORTS 4 MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64, 5 Integer32, TimeTicks, mib-2, 6 NOTIFICATION-TYPE FROM SNMPv2-SMI 7 TEXTUAL-CONVENTION, DisplayString, 8 PhysAddress, TruthValue, RowStatus, 9 TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC 10 MODULE-COMPLIANCE, OBJECT-GROUP, 11 NOTIFICATION-GROUP FROM SNMPv2-CONF 12 snmpTraps FROM SNMPv2-MIB 13 IANAifType FROM IANAifType-MIB; 14 15ifMIB MODULE-IDENTITY 16 LAST-UPDATED "200006140000Z" 17 ORGANIZATION "IETF Interfaces MIB Working Group" 18 CONTACT-INFO 19 " Keith McCloghrie 20 Cisco Systems, Inc. 21 170 West Tasman Drive 22 San Jose, CA 95134-1706 23 US 24 25 408-526-5260 26 kzm@cisco.com" 27 DESCRIPTION 28 "The MIB module to describe generic objects for network 29 interface sub-layers. This MIB is an updated version of 30 MIB-II's ifTable, and incorporates the extensions defined in 31 RFC 1229." 32 33 REVISION "200006140000Z" 34 DESCRIPTION 35 "Clarifications agreed upon by the Interfaces MIB WG, and 36 published as RFC 2863." 37 REVISION "199602282155Z" 38 DESCRIPTION 39 "Revisions made by the Interfaces MIB WG, and published in 40 RFC 2233." 41 REVISION "199311082155Z" 42 DESCRIPTION 43 "Initial revision, published as part of RFC 1573." 44 ::= { mib-2 31 } 45 46ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 } 47 48interfaces OBJECT IDENTIFIER ::= { mib-2 2 } 49 50-- 51-- Textual Conventions 52-- 53 54-- OwnerString has the same semantics as used in RFC 1271 55 56OwnerString ::= TEXTUAL-CONVENTION 57 DISPLAY-HINT "255a" 58 STATUS deprecated 59 DESCRIPTION 60 "This data type is used to model an administratively 61 assigned name of the owner of a resource. This information 62 is taken from the NVT ASCII character set. It is suggested 63 that this name contain one or more of the following: ASCII 64 form of the manager station's transport address, management 65 station name (e.g., domain name), network management 66 personnel's name, location, or phone number. In some cases 67 the agent itself will be the owner of an entry. In these 68 cases, this string shall be set to a string starting with 69 'agent'." 70 SYNTAX OCTET STRING (SIZE(0..255)) 71 72-- InterfaceIndex contains the semantics of ifIndex and should be used 73-- for any objects defined in other MIB modules that need these semantics. 74 75InterfaceIndex ::= TEXTUAL-CONVENTION 76 DISPLAY-HINT "d" 77 STATUS current 78 DESCRIPTION 79 "A unique value, greater than zero, for each interface or 80 interface sub-layer in the managed system. It is 81 recommended that values are assigned contiguously starting 82 from 1. The value for each interface sub-layer must remain 83 constant at least from one re-initialization of the entity's 84 network management system to the next re-initialization." 85 SYNTAX Integer32 (1..2147483647) 86 87InterfaceIndexOrZero ::= TEXTUAL-CONVENTION 88 DISPLAY-HINT "d" 89 STATUS current 90 DESCRIPTION 91 "This textual convention is an extension of the 92 InterfaceIndex convention. The latter defines a greater 93 than zero value used to identify an interface or interface 94 sub-layer in the managed system. This extension permits the 95 additional value of zero. the value zero is object-specific 96 and must therefore be defined as part of the description of 97 any object which uses this syntax. Examples of the usage of 98 zero might include situations where interface was unknown, 99 or when none or all interfaces need to be referenced." 100 SYNTAX Integer32 (0..2147483647) 101 102ifNumber OBJECT-TYPE 103 SYNTAX Integer32 104 MAX-ACCESS read-only 105 STATUS current 106 DESCRIPTION 107 "The number of network interfaces (regardless of their 108 current state) present on this system." 109 ::= { interfaces 1 } 110 111ifTableLastChange OBJECT-TYPE 112 SYNTAX TimeTicks 113 MAX-ACCESS read-only 114 STATUS current 115 DESCRIPTION 116 "The value of sysUpTime at the time of the last creation or 117 deletion of an entry in the ifTable. If the number of 118 entries has been unchanged since the last re-initialization 119 of the local network management subsystem, then this object 120 contains a zero value." 121 ::= { ifMIBObjects 5 } 122 123-- the Interfaces table 124 125-- The Interfaces table contains information on the entity's 126 127-- interfaces. Each sub-layer below the internetwork-layer 128-- of a network interface is considered to be an interface. 129 130ifTable OBJECT-TYPE 131 SYNTAX SEQUENCE OF IfEntry 132 MAX-ACCESS not-accessible 133 STATUS current 134 DESCRIPTION 135 "A list of interface entries. The number of entries is 136 given by the value of ifNumber." 137 ::= { interfaces 2 } 138 139ifEntry OBJECT-TYPE 140 SYNTAX IfEntry 141 MAX-ACCESS not-accessible 142 STATUS current 143 DESCRIPTION 144 "An entry containing management information applicable to a 145 particular interface." 146 INDEX { ifIndex } 147 ::= { ifTable 1 } 148 149IfEntry ::= 150 SEQUENCE { 151 ifIndex InterfaceIndex, 152 ifDescr DisplayString, 153 ifType IANAifType, 154 ifMtu Integer32, 155 ifSpeed Gauge32, 156 ifPhysAddress PhysAddress, 157 ifAdminStatus INTEGER, 158 ifOperStatus INTEGER, 159 ifLastChange TimeTicks, 160 ifInOctets Counter32, 161 ifInUcastPkts Counter32, 162 ifInNUcastPkts Counter32, -- deprecated 163 ifInDiscards Counter32, 164 ifInErrors Counter32, 165 ifInUnknownProtos Counter32, 166 ifOutOctets Counter32, 167 ifOutUcastPkts Counter32, 168 ifOutNUcastPkts Counter32, -- deprecated 169 ifOutDiscards Counter32, 170 ifOutErrors Counter32, 171 ifOutQLen Gauge32, -- deprecated 172 ifSpecific OBJECT IDENTIFIER -- deprecated 173 } 174 175ifIndex OBJECT-TYPE 176 SYNTAX InterfaceIndex 177 MAX-ACCESS read-only 178 STATUS current 179 DESCRIPTION 180 "A unique value, greater than zero, for each interface. It 181 is recommended that values are assigned contiguously 182 starting from 1. The value for each interface sub-layer 183 must remain constant at least from one re-initialization of 184 the entity's network management system to the next re- 185 initialization." 186 ::= { ifEntry 1 } 187 188ifDescr OBJECT-TYPE 189 SYNTAX DisplayString (SIZE (0..255)) 190 MAX-ACCESS read-only 191 STATUS current 192 DESCRIPTION 193 "A textual string containing information about the 194 interface. This string should include the name of the 195 manufacturer, the product name and the version of the 196 interface hardware/software." 197 ::= { ifEntry 2 } 198 199ifType OBJECT-TYPE 200 SYNTAX IANAifType 201 MAX-ACCESS read-only 202 STATUS current 203 DESCRIPTION 204 "The type of interface. Additional values for ifType are 205 assigned by the Internet Assigned Numbers Authority (IANA), 206 through updating the syntax of the IANAifType textual 207 convention." 208 ::= { ifEntry 3 } 209 210ifMtu OBJECT-TYPE 211 SYNTAX Integer32 212 MAX-ACCESS read-only 213 STATUS current 214 DESCRIPTION 215 "The size of the largest packet which can be sent/received 216 on the interface, specified in octets. For interfaces that 217 are used for transmitting network datagrams, this is the 218 size of the largest network datagram that can be sent on the 219 interface." 220 ::= { ifEntry 4 } 221 222ifSpeed OBJECT-TYPE 223 SYNTAX Gauge32 224 MAX-ACCESS read-only 225 STATUS current 226 DESCRIPTION 227 "An estimate of the interface's current bandwidth in bits 228 per second. For interfaces which do not vary in bandwidth 229 or for those where no accurate estimation can be made, this 230 object should contain the nominal bandwidth. If the 231 bandwidth of the interface is greater than the maximum value 232 reportable by this object then this object should report its 233 maximum value (4,294,967,295) and ifHighSpeed must be used 234 to report the interace's speed. For a sub-layer which has 235 no concept of bandwidth, this object should be zero." 236 ::= { ifEntry 5 } 237 238ifPhysAddress OBJECT-TYPE 239 SYNTAX PhysAddress 240 MAX-ACCESS read-only 241 STATUS current 242 DESCRIPTION 243 "The interface's address at its protocol sub-layer. For 244 example, for an 802.x interface, this object normally 245 contains a MAC address. The interface's media-specific MIB 246 must define the bit and byte ordering and the format of the 247 value of this object. For interfaces which do not have such 248 an address (e.g., a serial line), this object should contain 249 an octet string of zero length." 250 ::= { ifEntry 6 } 251 252ifAdminStatus OBJECT-TYPE 253 SYNTAX INTEGER { 254 up(1), -- ready to pass packets 255 down(2), 256 testing(3) -- in some test mode 257 } 258 MAX-ACCESS read-write 259 STATUS current 260 DESCRIPTION 261 "The desired state of the interface. The testing(3) state 262 indicates that no operational packets can be passed. When a 263 managed system initializes, all interfaces start with 264 ifAdminStatus in the down(2) state. As a result of either 265 explicit management action or per configuration information 266 retained by the managed system, ifAdminStatus is then 267 changed to either the up(1) or testing(3) states (or remains 268 in the down(2) state)." 269 ::= { ifEntry 7 } 270 271ifOperStatus OBJECT-TYPE 272 SYNTAX INTEGER { 273 up(1), -- ready to pass packets 274 down(2), 275 testing(3), -- in some test mode 276 unknown(4), -- status can not be determined 277 -- for some reason. 278 dormant(5), 279 notPresent(6), -- some component is missing 280 lowerLayerDown(7) -- down due to state of 281 -- lower-layer interface(s) 282 } 283 MAX-ACCESS read-only 284 STATUS current 285 DESCRIPTION 286 "The current operational state of the interface. The 287 testing(3) state indicates that no operational packets can 288 be passed. If ifAdminStatus is down(2) then ifOperStatus 289 should be down(2). If ifAdminStatus is changed to up(1) 290 then ifOperStatus should change to up(1) if the interface is 291 ready to transmit and receive network traffic; it should 292 change to dormant(5) if the interface is waiting for 293 external actions (such as a serial line waiting for an 294 incoming connection); it should remain in the down(2) state 295 if and only if there is a fault that prevents it from going 296 to the up(1) state; it should remain in the notPresent(6) 297 state if the interface has missing (typically, hardware) 298 components." 299 ::= { ifEntry 8 } 300 301ifLastChange OBJECT-TYPE 302 SYNTAX TimeTicks 303 MAX-ACCESS read-only 304 STATUS current 305 DESCRIPTION 306 "The value of sysUpTime at the time the interface entered 307 its current operational state. If the current state was 308 entered prior to the last re-initialization of the local 309 network management subsystem, then this object contains a 310 zero value." 311 ::= { ifEntry 9 } 312 313ifInOctets OBJECT-TYPE 314 SYNTAX Counter32 315 MAX-ACCESS read-only 316 STATUS current 317 DESCRIPTION 318 "The total number of octets received on the interface, 319 including framing characters. 320 321 Discontinuities in the value of this counter can occur at 322 re-initialization of the management system, and at other 323 times as indicated by the value of 324 ifCounterDiscontinuityTime." 325 ::= { ifEntry 10 } 326 327ifInUcastPkts OBJECT-TYPE 328 SYNTAX Counter32 329 MAX-ACCESS read-only 330 STATUS current 331 DESCRIPTION 332 "The number of packets, delivered by this sub-layer to a 333 higher (sub-)layer, which were not addressed to a multicast 334 or broadcast address at this sub-layer. 335 336 Discontinuities in the value of this counter can occur at 337 re-initialization of the management system, and at other 338 times as indicated by the value of 339 ifCounterDiscontinuityTime." 340 ::= { ifEntry 11 } 341 342ifInNUcastPkts OBJECT-TYPE 343 SYNTAX Counter32 344 MAX-ACCESS read-only 345 STATUS deprecated 346 DESCRIPTION 347 "The number of packets, delivered by this sub-layer to a 348 higher (sub-)layer, which were addressed to a multicast or 349 broadcast address at this sub-layer. 350 351 Discontinuities in the value of this counter can occur at 352 re-initialization of the management system, and at other 353 times as indicated by the value of 354 ifCounterDiscontinuityTime. 355 356 This object is deprecated in favour of ifInMulticastPkts and 357 ifInBroadcastPkts." 358 ::= { ifEntry 12 } 359 360ifInDiscards OBJECT-TYPE 361 SYNTAX Counter32 362 MAX-ACCESS read-only 363 STATUS current 364 DESCRIPTION 365 "The number of inbound packets which were chosen to be 366 discarded even though no errors had been detected to prevent 367 368 their being deliverable to a higher-layer protocol. One 369 possible reason for discarding such a packet could be to 370 free up buffer space. 371 372 Discontinuities in the value of this counter can occur at 373 re-initialization of the management system, and at other 374 times as indicated by the value of 375 ifCounterDiscontinuityTime." 376 ::= { ifEntry 13 } 377 378ifInErrors OBJECT-TYPE 379 SYNTAX Counter32 380 MAX-ACCESS read-only 381 STATUS current 382 DESCRIPTION 383 "For packet-oriented interfaces, the number of inbound 384 packets that contained errors preventing them from being 385 deliverable to a higher-layer protocol. For character- 386 oriented or fixed-length interfaces, the number of inbound 387 transmission units that contained errors preventing them 388 from being deliverable to a higher-layer protocol. 389 390 Discontinuities in the value of this counter can occur at 391 re-initialization of the management system, and at other 392 times as indicated by the value of 393 ifCounterDiscontinuityTime." 394 ::= { ifEntry 14 } 395 396ifInUnknownProtos OBJECT-TYPE 397 SYNTAX Counter32 398 MAX-ACCESS read-only 399 STATUS current 400 DESCRIPTION 401 "For packet-oriented interfaces, the number of packets 402 received via the interface which were discarded because of 403 an unknown or unsupported protocol. For character-oriented 404 or fixed-length interfaces that support protocol 405 multiplexing the number of transmission units received via 406 the interface which were discarded because of an unknown or 407 unsupported protocol. For any interface that does not 408 support protocol multiplexing, this counter will always be 409 0. 410 411 Discontinuities in the value of this counter can occur at 412 re-initialization of the management system, and at other 413 times as indicated by the value of 414 ifCounterDiscontinuityTime." 415 ::= { ifEntry 15 } 416 417ifOutOctets OBJECT-TYPE 418 SYNTAX Counter32 419 MAX-ACCESS read-only 420 STATUS current 421 DESCRIPTION 422 "The total number of octets transmitted out of the 423 interface, including framing characters. 424 425 Discontinuities in the value of this counter can occur at 426 re-initialization of the management system, and at other 427 times as indicated by the value of 428 ifCounterDiscontinuityTime." 429 ::= { ifEntry 16 } 430 431ifOutUcastPkts OBJECT-TYPE 432 SYNTAX Counter32 433 MAX-ACCESS read-only 434 STATUS current 435 DESCRIPTION 436 "The total number of packets that higher-level protocols 437 requested be transmitted, and which were not addressed to a 438 multicast or broadcast address at this sub-layer, including 439 those that were discarded or not sent. 440 441 Discontinuities in the value of this counter can occur at 442 re-initialization of the management system, and at other 443 times as indicated by the value of 444 ifCounterDiscontinuityTime." 445 ::= { ifEntry 17 } 446 447ifOutNUcastPkts OBJECT-TYPE 448 SYNTAX Counter32 449 MAX-ACCESS read-only 450 STATUS deprecated 451 DESCRIPTION 452 "The total number of packets that higher-level protocols 453 requested be transmitted, and which were addressed to a 454 multicast or broadcast address at this sub-layer, including 455 those that were discarded or not sent. 456 457 Discontinuities in the value of this counter can occur at 458 re-initialization of the management system, and at other 459 times as indicated by the value of 460 ifCounterDiscontinuityTime. 461 462 This object is deprecated in favour of ifOutMulticastPkts 463 and ifOutBroadcastPkts." 464 ::= { ifEntry 18 } 465 466ifOutDiscards OBJECT-TYPE 467 SYNTAX Counter32 468 MAX-ACCESS read-only 469 STATUS current 470 DESCRIPTION 471 "The number of outbound packets which were chosen to be 472 discarded even though no errors had been detected to prevent 473 their being transmitted. One possible reason for discarding 474 such a packet could be to free up buffer space. 475 476 Discontinuities in the value of this counter can occur at 477 re-initialization of the management system, and at other 478 times as indicated by the value of 479 ifCounterDiscontinuityTime." 480 ::= { ifEntry 19 } 481 482ifOutErrors OBJECT-TYPE 483 SYNTAX Counter32 484 MAX-ACCESS read-only 485 STATUS current 486 DESCRIPTION 487 "For packet-oriented interfaces, the number of outbound 488 packets that could not be transmitted because of errors. 489 For character-oriented or fixed-length interfaces, the 490 number of outbound transmission units that could not be 491 transmitted because of errors. 492 493 Discontinuities in the value of this counter can occur at 494 re-initialization of the management system, and at other 495 times as indicated by the value of 496 ifCounterDiscontinuityTime." 497 ::= { ifEntry 20 } 498 499ifOutQLen OBJECT-TYPE 500 SYNTAX Gauge32 501 MAX-ACCESS read-only 502 STATUS deprecated 503 DESCRIPTION 504 "The length of the output packet queue (in packets)." 505 ::= { ifEntry 21 } 506 507ifSpecific OBJECT-TYPE 508 SYNTAX OBJECT IDENTIFIER 509 MAX-ACCESS read-only 510 STATUS deprecated 511 DESCRIPTION 512 "A reference to MIB definitions specific to the particular 513 media being used to realize the interface. It is 514 515 recommended that this value point to an instance of a MIB 516 object in the media-specific MIB, i.e., that this object 517 have the semantics associated with the InstancePointer 518 textual convention defined in RFC 2579. In fact, it is 519 recommended that the media-specific MIB specify what value 520 ifSpecific should/can take for values of ifType. If no MIB 521 definitions specific to the particular media are available, 522 the value should be set to the OBJECT IDENTIFIER { 0 0 }." 523 ::= { ifEntry 22 } 524 525-- 526-- Extension to the interface table 527-- 528-- This table replaces the ifExtnsTable table. 529-- 530 531ifXTable OBJECT-TYPE 532 SYNTAX SEQUENCE OF IfXEntry 533 MAX-ACCESS not-accessible 534 STATUS current 535 DESCRIPTION 536 "A list of interface entries. The number of entries is 537 given by the value of ifNumber. This table contains 538 additional objects for the interface table." 539 ::= { ifMIBObjects 1 } 540 541ifXEntry OBJECT-TYPE 542 SYNTAX IfXEntry 543 MAX-ACCESS not-accessible 544 STATUS current 545 DESCRIPTION 546 "An entry containing additional management information 547 applicable to a particular interface." 548 AUGMENTS { ifEntry } 549 ::= { ifXTable 1 } 550 551IfXEntry ::= 552 SEQUENCE { 553 ifName DisplayString, 554 ifInMulticastPkts Counter32, 555 ifInBroadcastPkts Counter32, 556 ifOutMulticastPkts Counter32, 557 ifOutBroadcastPkts Counter32, 558 ifHCInOctets Counter64, 559 ifHCInUcastPkts Counter64, 560 ifHCInMulticastPkts Counter64, 561 ifHCInBroadcastPkts Counter64, 562 ifHCOutOctets Counter64, 563 ifHCOutUcastPkts Counter64, 564 ifHCOutMulticastPkts Counter64, 565 ifHCOutBroadcastPkts Counter64, 566 ifLinkUpDownTrapEnable INTEGER, 567 ifHighSpeed Gauge32, 568 ifPromiscuousMode TruthValue, 569 ifConnectorPresent TruthValue, 570 ifAlias DisplayString, 571 ifCounterDiscontinuityTime TimeStamp 572 } 573 574ifName OBJECT-TYPE 575 SYNTAX DisplayString 576 MAX-ACCESS read-only 577 STATUS current 578 DESCRIPTION 579 "The textual name of the interface. The value of this 580 object should be the name of the interface as assigned by 581 the local device and should be suitable for use in commands 582 entered at the device's `console'. This might be a text 583 name, such as `le0' or a simple port number, such as `1', 584 depending on the interface naming syntax of the device. If 585 several entries in the ifTable together represent a single 586 interface as named by the device, then each will have the 587 same value of ifName. Note that for an agent which responds 588 to SNMP queries concerning an interface on some other 589 (proxied) device, then the value of ifName for such an 590 interface is the proxied device's local name for it. 591 592 If there is no local name, or this object is otherwise not 593 applicable, then this object contains a zero-length string." 594 ::= { ifXEntry 1 } 595 596ifInMulticastPkts OBJECT-TYPE 597 SYNTAX Counter32 598 MAX-ACCESS read-only 599 STATUS current 600 DESCRIPTION 601 "The number of packets, delivered by this sub-layer to a 602 higher (sub-)layer, which were addressed to a multicast 603 address at this sub-layer. For a MAC layer protocol, this 604 includes both Group and Functional addresses. 605 606 Discontinuities in the value of this counter can occur at 607 re-initialization of the management system, and at other 608 609 times as indicated by the value of 610 ifCounterDiscontinuityTime." 611 ::= { ifXEntry 2 } 612 613ifInBroadcastPkts OBJECT-TYPE 614 SYNTAX Counter32 615 MAX-ACCESS read-only 616 STATUS current 617 DESCRIPTION 618 "The number of packets, delivered by this sub-layer to a 619 higher (sub-)layer, which were addressed to a broadcast 620 address at this sub-layer. 621 622 Discontinuities in the value of this counter can occur at 623 re-initialization of the management system, and at other 624 times as indicated by the value of 625 ifCounterDiscontinuityTime." 626 ::= { ifXEntry 3 } 627 628ifOutMulticastPkts OBJECT-TYPE 629 SYNTAX Counter32 630 MAX-ACCESS read-only 631 STATUS current 632 DESCRIPTION 633 "The total number of packets that higher-level protocols 634 requested be transmitted, and which were addressed to a 635 multicast address at this sub-layer, including those that 636 were discarded or not sent. For a MAC layer protocol, this 637 includes both Group and Functional addresses. 638 639 Discontinuities in the value of this counter can occur at 640 re-initialization of the management system, and at other 641 times as indicated by the value of 642 ifCounterDiscontinuityTime." 643 ::= { ifXEntry 4 } 644 645ifOutBroadcastPkts OBJECT-TYPE 646 SYNTAX Counter32 647 MAX-ACCESS read-only 648 STATUS current 649 DESCRIPTION 650 "The total number of packets that higher-level protocols 651 requested be transmitted, and which were addressed to a 652 broadcast address at this sub-layer, including those that 653 were discarded or not sent. 654 655 Discontinuities in the value of this counter can occur at 656 re-initialization of the management system, and at other 657 658 times as indicated by the value of 659 ifCounterDiscontinuityTime." 660 ::= { ifXEntry 5 } 661 662-- 663-- High Capacity Counter objects. These objects are all 664-- 64 bit versions of the "basic" ifTable counters. These 665-- objects all have the same basic semantics as their 32-bit 666-- counterparts, however, their syntax has been extended 667-- to 64 bits. 668-- 669 670ifHCInOctets OBJECT-TYPE 671 SYNTAX Counter64 672 MAX-ACCESS read-only 673 STATUS current 674 DESCRIPTION 675 "The total number of octets received on the interface, 676 including framing characters. This object is a 64-bit 677 version of ifInOctets. 678 679 Discontinuities in the value of this counter can occur at 680 re-initialization of the management system, and at other 681 times as indicated by the value of 682 ifCounterDiscontinuityTime." 683 ::= { ifXEntry 6 } 684 685ifHCInUcastPkts OBJECT-TYPE 686 SYNTAX Counter64 687 MAX-ACCESS read-only 688 STATUS current 689 DESCRIPTION 690 "The number of packets, delivered by this sub-layer to a 691 higher (sub-)layer, which were not addressed to a multicast 692 or broadcast address at this sub-layer. This object is a 693 64-bit version of ifInUcastPkts. 694 695 Discontinuities in the value of this counter can occur at 696 re-initialization of the management system, and at other 697 times as indicated by the value of 698 ifCounterDiscontinuityTime." 699 ::= { ifXEntry 7 } 700 701ifHCInMulticastPkts OBJECT-TYPE 702 SYNTAX Counter64 703 MAX-ACCESS read-only 704 STATUS current 705 DESCRIPTION 706 "The number of packets, delivered by this sub-layer to a 707 higher (sub-)layer, which were addressed to a multicast 708 address at this sub-layer. For a MAC layer protocol, this 709 includes both Group and Functional addresses. This object 710 is a 64-bit version of ifInMulticastPkts. 711 712 Discontinuities in the value of this counter can occur at 713 re-initialization of the management system, and at other 714 times as indicated by the value of 715 ifCounterDiscontinuityTime." 716 ::= { ifXEntry 8 } 717 718ifHCInBroadcastPkts OBJECT-TYPE 719 SYNTAX Counter64 720 MAX-ACCESS read-only 721 STATUS current 722 DESCRIPTION 723 "The number of packets, delivered by this sub-layer to a 724 higher (sub-)layer, which were addressed to a broadcast 725 address at this sub-layer. This object is a 64-bit version 726 of ifInBroadcastPkts. 727 728 Discontinuities in the value of this counter can occur at 729 re-initialization of the management system, and at other 730 times as indicated by the value of 731 ifCounterDiscontinuityTime." 732 ::= { ifXEntry 9 } 733 734ifHCOutOctets OBJECT-TYPE 735 SYNTAX Counter64 736 MAX-ACCESS read-only 737 STATUS current 738 DESCRIPTION 739 "The total number of octets transmitted out of the 740 interface, including framing characters. This object is a 741 64-bit version of ifOutOctets. 742 743 Discontinuities in the value of this counter can occur at 744 re-initialization of the management system, and at other 745 times as indicated by the value of 746 ifCounterDiscontinuityTime." 747 ::= { ifXEntry 10 } 748 749ifHCOutUcastPkts OBJECT-TYPE 750 SYNTAX Counter64 751 MAX-ACCESS read-only 752 STATUS current 753 DESCRIPTION 754 "The total number of packets that higher-level protocols 755 requested be transmitted, and which were not addressed to a 756 multicast or broadcast address at this sub-layer, including 757 those that were discarded or not sent. This object is a 758 64-bit version of ifOutUcastPkts. 759 760 Discontinuities in the value of this counter can occur at 761 re-initialization of the management system, and at other 762 times as indicated by the value of 763 ifCounterDiscontinuityTime." 764 ::= { ifXEntry 11 } 765 766ifHCOutMulticastPkts OBJECT-TYPE 767 SYNTAX Counter64 768 MAX-ACCESS read-only 769 STATUS current 770 DESCRIPTION 771 "The total number of packets that higher-level protocols 772 requested be transmitted, and which were addressed to a 773 multicast address at this sub-layer, including those that 774 were discarded or not sent. For a MAC layer protocol, this 775 includes both Group and Functional addresses. This object 776 is a 64-bit version of ifOutMulticastPkts. 777 778 Discontinuities in the value of this counter can occur at 779 re-initialization of the management system, and at other 780 times as indicated by the value of 781 ifCounterDiscontinuityTime." 782 ::= { ifXEntry 12 } 783 784ifHCOutBroadcastPkts OBJECT-TYPE 785 SYNTAX Counter64 786 MAX-ACCESS read-only 787 STATUS current 788 DESCRIPTION 789 "The total number of packets that higher-level protocols 790 requested be transmitted, and which were addressed to a 791 broadcast address at this sub-layer, including those that 792 were discarded or not sent. This object is a 64-bit version 793 of ifOutBroadcastPkts. 794 795 Discontinuities in the value of this counter can occur at 796 re-initialization of the management system, and at other 797 times as indicated by the value of 798 ifCounterDiscontinuityTime." 799 ::= { ifXEntry 13 } 800 801ifLinkUpDownTrapEnable OBJECT-TYPE 802 SYNTAX INTEGER { enabled(1), disabled(2) } 803 MAX-ACCESS read-write 804 STATUS current 805 DESCRIPTION 806 "Indicates whether linkUp/linkDown traps should be generated 807 for this interface. 808 809 By default, this object should have the value enabled(1) for 810 interfaces which do not operate on 'top' of any other 811 interface (as defined in the ifStackTable), and disabled(2) 812 otherwise." 813 ::= { ifXEntry 14 } 814 815ifHighSpeed OBJECT-TYPE 816 SYNTAX Gauge32 817 MAX-ACCESS read-only 818 STATUS current 819 DESCRIPTION 820 "An estimate of the interface's current bandwidth in units 821 of 1,000,000 bits per second. If this object reports a 822 value of `n' then the speed of the interface is somewhere in 823 the range of `n-500,000' to `n+499,999'. For interfaces 824 which do not vary in bandwidth or for those where no 825 accurate estimation can be made, this object should contain 826 the nominal bandwidth. For a sub-layer which has no concept 827 of bandwidth, this object should be zero." 828 ::= { ifXEntry 15 } 829 830ifPromiscuousMode OBJECT-TYPE 831 SYNTAX TruthValue 832 MAX-ACCESS read-write 833 STATUS current 834 DESCRIPTION 835 "This object has a value of false(2) if this interface only 836 accepts packets/frames that are addressed to this station. 837 This object has a value of true(1) when the station accepts 838 all packets/frames transmitted on the media. The value 839 true(1) is only legal on certain types of media. If legal, 840 setting this object to a value of true(1) may require the 841 interface to be reset before becoming effective. 842 843 The value of ifPromiscuousMode does not affect the reception 844 of broadcast and multicast packets/frames by the interface." 845 ::= { ifXEntry 16 } 846 847ifConnectorPresent OBJECT-TYPE 848 SYNTAX TruthValue 849 MAX-ACCESS read-only 850 STATUS current 851 DESCRIPTION 852 "This object has the value 'true(1)' if the interface 853 sublayer has a physical connector and the value 'false(2)' 854 otherwise." 855 ::= { ifXEntry 17 } 856 857ifAlias OBJECT-TYPE 858 SYNTAX DisplayString (SIZE(0..64)) 859 MAX-ACCESS read-write 860 STATUS current 861 DESCRIPTION 862 "This object is an 'alias' name for the interface as 863 specified by a network manager, and provides a non-volatile 864 'handle' for the interface. 865 866 On the first instantiation of an interface, the value of 867 ifAlias associated with that interface is the zero-length 868 string. As and when a value is written into an instance of 869 ifAlias through a network management set operation, then the 870 agent must retain the supplied value in the ifAlias instance 871 associated with the same interface for as long as that 872 interface remains instantiated, including across all re- 873 initializations/reboots of the network management system, 874 including those which result in a change of the interface's 875 ifIndex value. 876 877 An example of the value which a network manager might store 878 in this object for a WAN interface is the (Telco's) circuit 879 number/identifier of the interface. 880 881 Some agents may support write-access only for interfaces 882 having particular values of ifType. An agent which supports 883 write access to this object is required to keep the value in 884 non-volatile storage, but it may limit the length of new 885 values depending on how much storage is already occupied by 886 the current values for other interfaces." 887 ::= { ifXEntry 18 } 888 889ifCounterDiscontinuityTime OBJECT-TYPE 890 SYNTAX TimeStamp 891 MAX-ACCESS read-only 892 STATUS current 893 DESCRIPTION 894 "The value of sysUpTime on the most recent occasion at which 895 any one or more of this interface's counters suffered a 896 discontinuity. The relevant counters are the specific 897 instances associated with this interface of any Counter32 or 898 899 Counter64 object contained in the ifTable or ifXTable. If 900 no such discontinuities have occurred since the last re- 901 initialization of the local management subsystem, then this 902 object contains a zero value." 903 ::= { ifXEntry 19 } 904 905-- The Interface Stack Group 906-- 907-- Implementation of this group is optional, but strongly recommended 908-- for all systems 909-- 910 911ifStackTable OBJECT-TYPE 912 SYNTAX SEQUENCE OF IfStackEntry 913 MAX-ACCESS not-accessible 914 STATUS current 915 DESCRIPTION 916 "The table containing information on the relationships 917 between the multiple sub-layers of network interfaces. In 918 particular, it contains information on which sub-layers run 919 'on top of' which other sub-layers, where each sub-layer 920 corresponds to a conceptual row in the ifTable. For 921 example, when the sub-layer with ifIndex value x runs over 922 the sub-layer with ifIndex value y, then this table 923 contains: 924 925 ifStackStatus.x.y=active 926 927 For each ifIndex value, I, which identifies an active 928 interface, there are always at least two instantiated rows 929 in this table associated with I. For one of these rows, I 930 is the value of ifStackHigherLayer; for the other, I is the 931 value of ifStackLowerLayer. (If I is not involved in 932 multiplexing, then these are the only two rows associated 933 with I.) 934 935 For example, two rows exist even for an interface which has 936 no others stacked on top or below it: 937 938 ifStackStatus.0.x=active 939 ifStackStatus.x.0=active " 940 ::= { ifMIBObjects 2 } 941 942ifStackEntry OBJECT-TYPE 943 SYNTAX IfStackEntry 944 MAX-ACCESS not-accessible 945 STATUS current 946 DESCRIPTION 947 "Information on a particular relationship between two sub- 948 layers, specifying that one sub-layer runs on 'top' of the 949 other sub-layer. Each sub-layer corresponds to a conceptual 950 row in the ifTable." 951 INDEX { ifStackHigherLayer, ifStackLowerLayer } 952 ::= { ifStackTable 1 } 953 954IfStackEntry ::= 955 SEQUENCE { 956 ifStackHigherLayer InterfaceIndexOrZero, 957 ifStackLowerLayer InterfaceIndexOrZero, 958 ifStackStatus RowStatus 959 } 960 961ifStackHigherLayer OBJECT-TYPE 962 SYNTAX InterfaceIndexOrZero 963 MAX-ACCESS not-accessible 964 STATUS current 965 DESCRIPTION 966 "The value of ifIndex corresponding to the higher sub-layer 967 of the relationship, i.e., the sub-layer which runs on 'top' 968 of the sub-layer identified by the corresponding instance of 969 ifStackLowerLayer. If there is no higher sub-layer (below 970 the internetwork layer), then this object has the value 0." 971 ::= { ifStackEntry 1 } 972 973ifStackLowerLayer OBJECT-TYPE 974 SYNTAX InterfaceIndexOrZero 975 MAX-ACCESS not-accessible 976 STATUS current 977 DESCRIPTION 978 "The value of ifIndex corresponding to the lower sub-layer 979 of the relationship, i.e., the sub-layer which runs 'below' 980 the sub-layer identified by the corresponding instance of 981 ifStackHigherLayer. If there is no lower sub-layer, then 982 this object has the value 0." 983 ::= { ifStackEntry 2 } 984 985ifStackStatus OBJECT-TYPE 986 SYNTAX RowStatus 987 MAX-ACCESS read-create 988 STATUS current 989 DESCRIPTION 990 "The status of the relationship between two sub-layers. 991 992 Changing the value of this object from 'active' to 993 'notInService' or 'destroy' will likely have consequences up 994 and down the interface stack. Thus, write access to this 995 object is likely to be inappropriate for some types of 996 interfaces, and many implementations will choose not to 997 support write-access for any type of interface." 998 ::= { ifStackEntry 3 } 999 1000ifStackLastChange OBJECT-TYPE 1001 SYNTAX TimeTicks 1002 MAX-ACCESS read-only 1003 STATUS current 1004 DESCRIPTION 1005 "The value of sysUpTime at the time of the last change of 1006 the (whole) interface stack. A change of the interface 1007 stack is defined to be any creation, deletion, or change in 1008 value of any instance of ifStackStatus. If the interface 1009 stack has been unchanged since the last re-initialization of 1010 the local network management subsystem, then this object 1011 contains a zero value." 1012 ::= { ifMIBObjects 6 } 1013 1014-- Generic Receive Address Table 1015-- 1016-- This group of objects is mandatory for all types of 1017-- interfaces which can receive packets/frames addressed to 1018-- more than one address. 1019-- 1020-- This table replaces the ifExtnsRcvAddr table. The main 1021-- difference is that this table makes use of the RowStatus 1022-- textual convention, while ifExtnsRcvAddr did not. 1023 1024ifRcvAddressTable OBJECT-TYPE 1025 SYNTAX SEQUENCE OF IfRcvAddressEntry 1026 MAX-ACCESS not-accessible 1027 STATUS current 1028 DESCRIPTION 1029 "This table contains an entry for each address (broadcast, 1030 multicast, or uni-cast) for which the system will receive 1031 packets/frames on a particular interface, except as follows: 1032 1033 - for an interface operating in promiscuous mode, entries 1034 are only required for those addresses for which the system 1035 would receive frames were it not operating in promiscuous 1036 mode. 1037 1038 - for 802.5 functional addresses, only one entry is 1039 required, for the address which has the functional address 1040 bit ANDed with the bit mask of all functional addresses for 1041 which the interface will accept frames. 1042 1043 A system is normally able to use any unicast address which 1044 corresponds to an entry in this table as a source address." 1045 ::= { ifMIBObjects 4 } 1046 1047ifRcvAddressEntry OBJECT-TYPE 1048 SYNTAX IfRcvAddressEntry 1049 MAX-ACCESS not-accessible 1050 STATUS current 1051 DESCRIPTION 1052 "A list of objects identifying an address for which the 1053 system will accept packets/frames on the particular 1054 interface identified by the index value ifIndex." 1055 INDEX { ifIndex, ifRcvAddressAddress } 1056 ::= { ifRcvAddressTable 1 } 1057 1058IfRcvAddressEntry ::= 1059 SEQUENCE { 1060 ifRcvAddressAddress PhysAddress, 1061 ifRcvAddressStatus RowStatus, 1062 ifRcvAddressType INTEGER 1063 } 1064 1065ifRcvAddressAddress OBJECT-TYPE 1066 SYNTAX PhysAddress 1067 MAX-ACCESS not-accessible 1068 STATUS current 1069 DESCRIPTION 1070 "An address for which the system will accept packets/frames 1071 on this entry's interface." 1072 ::= { ifRcvAddressEntry 1 } 1073 1074ifRcvAddressStatus OBJECT-TYPE 1075 SYNTAX RowStatus 1076 MAX-ACCESS read-create 1077 STATUS current 1078 DESCRIPTION 1079 "This object is used to create and delete rows in the 1080 ifRcvAddressTable." 1081 ::= { ifRcvAddressEntry 2 } 1082 1083ifRcvAddressType OBJECT-TYPE 1084 SYNTAX INTEGER { 1085 1086 other(1), 1087 volatile(2), 1088 nonVolatile(3) 1089 } 1090 MAX-ACCESS read-create 1091 STATUS current 1092 DESCRIPTION 1093 "This object has the value nonVolatile(3) for those entries 1094 in the table which are valid and will not be deleted by the 1095 next restart of the managed system. Entries having the 1096 value volatile(2) are valid and exist, but have not been 1097 saved, so that will not exist after the next restart of the 1098 managed system. Entries having the value other(1) are valid 1099 and exist but are not classified as to whether they will 1100 continue to exist after the next restart." 1101 DEFVAL { volatile } 1102 ::= { ifRcvAddressEntry 3 } 1103 1104-- definition of interface-related traps. 1105 1106linkDown NOTIFICATION-TYPE 1107 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } 1108 STATUS current 1109 DESCRIPTION 1110 "A linkDown trap signifies that the SNMP entity, acting in 1111 an agent role, has detected that the ifOperStatus object for 1112 one of its communication links is about to enter the down 1113 state from some other state (but not from the notPresent 1114 state). This other state is indicated by the included value 1115 of ifOperStatus." 1116 ::= { snmpTraps 3 } 1117 1118linkUp NOTIFICATION-TYPE 1119 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } 1120 STATUS current 1121 DESCRIPTION 1122 "A linkUp trap signifies that the SNMP entity, acting in an 1123 agent role, has detected that the ifOperStatus object for 1124 one of its communication links left the down state and 1125 transitioned into some other state (but not into the 1126 notPresent state). This other state is indicated by the 1127 included value of ifOperStatus." 1128 ::= { snmpTraps 4 } 1129 1130-- conformance information 1131 1132ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 } 1133 1134ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 } 1135ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 } 1136 1137-- compliance statements 1138 1139ifCompliance3 MODULE-COMPLIANCE 1140 STATUS current 1141 DESCRIPTION 1142 "The compliance statement for SNMP entities which have 1143 network interfaces." 1144 1145 MODULE -- this module 1146 MANDATORY-GROUPS { ifGeneralInformationGroup, 1147 linkUpDownNotificationsGroup } 1148 1149-- The groups: 1150-- ifFixedLengthGroup 1151-- ifHCFixedLengthGroup 1152-- ifPacketGroup 1153-- ifHCPacketGroup 1154-- ifVHCPacketGroup 1155-- are mutually exclusive; at most one of these groups is implemented 1156-- for a particular interface. When any of these groups is implemented 1157-- for a particular interface, then ifCounterDiscontinuityGroup must 1158-- also be implemented for that interface. 1159 1160 GROUP ifFixedLengthGroup 1161 DESCRIPTION 1162 "This group is mandatory for those network interfaces which 1163 are character-oriented or transmit data in fixed-length 1164 transmission units, and for which the value of the 1165 corresponding instance of ifSpeed is less than or equal to 1166 20,000,000 bits/second." 1167 1168 GROUP ifHCFixedLengthGroup 1169 DESCRIPTION 1170 "This group is mandatory for those network interfaces which 1171 are character-oriented or transmit data in fixed-length 1172 transmission units, and for which the value of the 1173 corresponding instance of ifSpeed is greater than 20,000,000 1174 bits/second." 1175 1176 GROUP ifPacketGroup 1177 DESCRIPTION 1178 "This group is mandatory for those network interfaces which 1179 are packet-oriented, and for which the value of the 1180 corresponding instance of ifSpeed is less than or equal to 1181 20,000,000 bits/second." 1182 1183 GROUP ifHCPacketGroup 1184 DESCRIPTION 1185 "This group is mandatory only for those network interfaces 1186 which are packet-oriented and for which the value of the 1187 corresponding instance of ifSpeed is greater than 20,000,000 1188 bits/second but less than or equal to 650,000,000 1189 bits/second." 1190 1191 GROUP ifVHCPacketGroup 1192 DESCRIPTION 1193 "This group is mandatory only for those network interfaces 1194 which are packet-oriented and for which the value of the 1195 corresponding instance of ifSpeed is greater than 1196 650,000,000 bits/second." 1197 1198 GROUP ifCounterDiscontinuityGroup 1199 DESCRIPTION 1200 "This group is mandatory for those network interfaces that 1201 are required to maintain counters (i.e., those for which one 1202 of the ifFixedLengthGroup, ifHCFixedLengthGroup, 1203 ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is 1204 mandatory)." 1205 1206 GROUP ifRcvAddressGroup 1207 DESCRIPTION 1208 "The applicability of this group MUST be defined by the 1209 media-specific MIBs. Media-specific MIBs must define the 1210 exact meaning, use, and semantics of the addresses in this 1211 group." 1212 1213 OBJECT ifLinkUpDownTrapEnable 1214 MIN-ACCESS read-only 1215 DESCRIPTION 1216 "Write access is not required." 1217 1218 OBJECT ifPromiscuousMode 1219 MIN-ACCESS read-only 1220 DESCRIPTION 1221 "Write access is not required." 1222 1223 OBJECT ifAdminStatus 1224 SYNTAX INTEGER { up(1), down(2) } 1225 MIN-ACCESS read-only 1226 DESCRIPTION 1227 "Write access is not required, nor is support for the value 1228 testing(3)." 1229 1230 OBJECT ifAlias 1231 MIN-ACCESS read-only 1232 DESCRIPTION 1233 "Write access is not required." 1234 ::= { ifCompliances 3 } 1235 1236-- units of conformance 1237 1238ifGeneralInformationGroup OBJECT-GROUP 1239 OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress, 1240 ifAdminStatus, ifOperStatus, ifLastChange, 1241 ifLinkUpDownTrapEnable, ifConnectorPresent, 1242 ifHighSpeed, ifName, ifNumber, ifAlias, 1243 ifTableLastChange } 1244 STATUS current 1245 DESCRIPTION 1246 "A collection of objects providing information applicable to 1247 all network interfaces." 1248 ::= { ifGroups 10 } 1249 1250-- the following five groups are mutually exclusive; at most 1251-- one of these groups is implemented for any interface 1252 1253ifFixedLengthGroup OBJECT-GROUP 1254 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, 1255 ifInErrors, ifOutErrors } 1256 STATUS current 1257 DESCRIPTION 1258 "A collection of objects providing information specific to 1259 non-high speed (non-high speed interfaces transmit and 1260 receive at speeds less than or equal to 20,000,000 1261 bits/second) character-oriented or fixed-length-transmission 1262 network interfaces." 1263 ::= { ifGroups 2 } 1264 1265ifHCFixedLengthGroup OBJECT-GROUP 1266 OBJECTS { ifHCInOctets, ifHCOutOctets, 1267 ifInOctets, ifOutOctets, ifInUnknownProtos, 1268 ifInErrors, ifOutErrors } 1269 STATUS current 1270 DESCRIPTION 1271 "A collection of objects providing information specific to 1272 high speed (greater than 20,000,000 bits/second) character- 1273 oriented or fixed-length-transmission network interfaces." 1274 ::= { ifGroups 3 } 1275 1276ifPacketGroup OBJECT-GROUP 1277 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, 1278 ifInErrors, ifOutErrors, 1279 ifMtu, ifInUcastPkts, ifInMulticastPkts, 1280 ifInBroadcastPkts, ifInDiscards, 1281 ifOutUcastPkts, ifOutMulticastPkts, 1282 ifOutBroadcastPkts, ifOutDiscards, 1283 ifPromiscuousMode } 1284 STATUS current 1285 DESCRIPTION 1286 "A collection of objects providing information specific to 1287 non-high speed (non-high speed interfaces transmit and 1288 receive at speeds less than or equal to 20,000,000 1289 bits/second) packet-oriented network interfaces." 1290 ::= { ifGroups 4 } 1291 1292ifHCPacketGroup OBJECT-GROUP 1293 OBJECTS { ifHCInOctets, ifHCOutOctets, 1294 ifInOctets, ifOutOctets, ifInUnknownProtos, 1295 ifInErrors, ifOutErrors, 1296 ifMtu, ifInUcastPkts, ifInMulticastPkts, 1297 ifInBroadcastPkts, ifInDiscards, 1298 ifOutUcastPkts, ifOutMulticastPkts, 1299 ifOutBroadcastPkts, ifOutDiscards, 1300 ifPromiscuousMode } 1301 STATUS current 1302 DESCRIPTION 1303 "A collection of objects providing information specific to 1304 high speed (greater than 20,000,000 bits/second but less 1305 than or equal to 650,000,000 bits/second) packet-oriented 1306 network interfaces." 1307 ::= { ifGroups 5 } 1308 1309ifVHCPacketGroup OBJECT-GROUP 1310 OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts, 1311 ifHCInBroadcastPkts, ifHCOutUcastPkts, 1312 ifHCOutMulticastPkts, ifHCOutBroadcastPkts, 1313 ifHCInOctets, ifHCOutOctets, 1314 ifInOctets, ifOutOctets, ifInUnknownProtos, 1315 ifInErrors, ifOutErrors, 1316 ifMtu, ifInUcastPkts, ifInMulticastPkts, 1317 ifInBroadcastPkts, ifInDiscards, 1318 ifOutUcastPkts, ifOutMulticastPkts, 1319 ifOutBroadcastPkts, ifOutDiscards, 1320 ifPromiscuousMode } 1321 STATUS current 1322 DESCRIPTION 1323 "A collection of objects providing information specific to 1324 higher speed (greater than 650,000,000 bits/second) packet- 1325 oriented network interfaces." 1326 ::= { ifGroups 6 } 1327 1328ifRcvAddressGroup OBJECT-GROUP 1329 OBJECTS { ifRcvAddressStatus, ifRcvAddressType } 1330 STATUS current 1331 DESCRIPTION 1332 "A collection of objects providing information on the 1333 multiple addresses which an interface receives." 1334 ::= { ifGroups 7 } 1335 1336ifStackGroup2 OBJECT-GROUP 1337 OBJECTS { ifStackStatus, ifStackLastChange } 1338 STATUS current 1339 DESCRIPTION 1340 "A collection of objects providing information on the 1341 layering of MIB-II interfaces." 1342 ::= { ifGroups 11 } 1343 1344ifCounterDiscontinuityGroup OBJECT-GROUP 1345 OBJECTS { ifCounterDiscontinuityTime } 1346 STATUS current 1347 DESCRIPTION 1348 "A collection of objects providing information specific to 1349 interface counter discontinuities." 1350 ::= { ifGroups 13 } 1351 1352linkUpDownNotificationsGroup NOTIFICATION-GROUP 1353 NOTIFICATIONS { linkUp, linkDown } 1354 STATUS current 1355 DESCRIPTION 1356 "The notifications which indicate specific changes in the 1357 value of ifOperStatus." 1358 ::= { ifGroups 14 } 1359 1360-- Deprecated Definitions - Objects 1361 1362-- 1363-- The Interface Test Table 1364-- 1365-- This group of objects is optional. However, a media-specific 1366 1367-- MIB may make implementation of this group mandatory. 1368-- 1369-- This table replaces the ifExtnsTestTable 1370-- 1371 1372ifTestTable OBJECT-TYPE 1373 SYNTAX SEQUENCE OF IfTestEntry 1374 MAX-ACCESS not-accessible 1375 STATUS deprecated 1376 DESCRIPTION 1377 "This table contains one entry per interface. It defines 1378 objects which allow a network manager to instruct an agent 1379 to test an interface for various faults. Tests for an 1380 interface are defined in the media-specific MIB for that 1381 interface. After invoking a test, the object ifTestResult 1382 can be read to determine the outcome. If an agent can not 1383 perform the test, ifTestResult is set to so indicate. The 1384 object ifTestCode can be used to provide further test- 1385 specific or interface-specific (or even enterprise-specific) 1386 information concerning the outcome of the test. Only one 1387 test can be in progress on each interface at any one time. 1388 If one test is in progress when another test is invoked, the 1389 second test is rejected. Some agents may reject a test when 1390 a prior test is active on another interface. 1391 1392 Before starting a test, a manager-station must first obtain 1393 'ownership' of the entry in the ifTestTable for the 1394 interface to be tested. This is accomplished with the 1395 ifTestId and ifTestStatus objects as follows: 1396 1397 try_again: 1398 get (ifTestId, ifTestStatus) 1399 while (ifTestStatus != notInUse) 1400 /* 1401 * Loop while a test is running or some other 1402 * manager is configuring a test. 1403 */ 1404 short delay 1405 get (ifTestId, ifTestStatus) 1406 } 1407 1408 /* 1409 * Is not being used right now -- let's compete 1410 * to see who gets it. 1411 */ 1412 lock_value = ifTestId 1413 1414 if ( set(ifTestId = lock_value, ifTestStatus = inUse, 1415 ifTestOwner = 'my-IP-address') == FAILURE) 1416 /* 1417 * Another manager got the ifTestEntry -- go 1418 * try again 1419 */ 1420 goto try_again; 1421 1422 /* 1423 * I have the lock 1424 */ 1425 set up any test parameters. 1426 1427 /* 1428 * This starts the test 1429 */ 1430 set(ifTestType = test_to_run); 1431 1432 wait for test completion by polling ifTestResult 1433 1434 when test completes, agent sets ifTestResult 1435 agent also sets ifTestStatus = 'notInUse' 1436 1437 retrieve any additional test results, and ifTestId 1438 1439 if (ifTestId == lock_value+1) results are valid 1440 1441 A manager station first retrieves the value of the 1442 appropriate ifTestId and ifTestStatus objects, periodically 1443 repeating the retrieval if necessary, until the value of 1444 ifTestStatus is 'notInUse'. The manager station then tries 1445 to set the same ifTestId object to the value it just 1446 retrieved, the same ifTestStatus object to 'inUse', and the 1447 corresponding ifTestOwner object to a value indicating 1448 itself. If the set operation succeeds then the manager has 1449 obtained ownership of the ifTestEntry, and the value of the 1450 ifTestId object is incremented by the agent (per the 1451 semantics of TestAndIncr). Failure of the set operation 1452 indicates that some other manager has obtained ownership of 1453 the ifTestEntry. 1454 1455 Once ownership is obtained, any test parameters can be 1456 setup, and then the test is initiated by setting ifTestType. 1457 On completion of the test, the agent sets ifTestStatus to 1458 'notInUse'. Once this occurs, the manager can retrieve the 1459 results. In the (rare) event that the invocation of tests 1460 by two network managers were to overlap, then there would be 1461 a possibility that the first test's results might be 1462 overwritten by the second test's results prior to the first 1463 1464 results being read. This unlikely circumstance can be 1465 detected by a network manager retrieving ifTestId at the 1466 same time as retrieving the test results, and ensuring that 1467 the results are for the desired request. 1468 1469 If ifTestType is not set within an abnormally long period of 1470 time after ownership is obtained, the agent should time-out 1471 the manager, and reset the value of the ifTestStatus object 1472 back to 'notInUse'. It is suggested that this time-out 1473 period be 5 minutes. 1474 1475 In general, a management station must not retransmit a 1476 request to invoke a test for which it does not receive a 1477 response; instead, it properly inspects an agent's MIB to 1478 determine if the invocation was successful. Only if the 1479 invocation was unsuccessful, is the invocation request 1480 retransmitted. 1481 1482 Some tests may require the interface to be taken off-line in 1483 order to execute them, or may even require the agent to 1484 reboot after completion of the test. In these 1485 circumstances, communication with the management station 1486 invoking the test may be lost until after completion of the 1487 test. An agent is not required to support such tests. 1488 However, if such tests are supported, then the agent should 1489 make every effort to transmit a response to the request 1490 which invoked the test prior to losing communication. When 1491 the agent is restored to normal service, the results of the 1492 test are properly made available in the appropriate objects. 1493 Note that this requires that the ifIndex value assigned to 1494 an interface must be unchanged even if the test causes a 1495 reboot. An agent must reject any test for which it cannot, 1496 perhaps due to resource constraints, make available at least 1497 the minimum amount of information after that test 1498 completes." 1499 ::= { ifMIBObjects 3 } 1500 1501ifTestEntry OBJECT-TYPE 1502 SYNTAX IfTestEntry 1503 MAX-ACCESS not-accessible 1504 STATUS deprecated 1505 DESCRIPTION 1506 "An entry containing objects for invoking tests on an 1507 interface." 1508 AUGMENTS { ifEntry } 1509 ::= { ifTestTable 1 } 1510 1511IfTestEntry ::= 1512 1513 SEQUENCE { 1514 ifTestId TestAndIncr, 1515 ifTestStatus INTEGER, 1516 ifTestType AutonomousType, 1517 ifTestResult INTEGER, 1518 ifTestCode OBJECT IDENTIFIER, 1519 ifTestOwner OwnerString 1520 } 1521 1522ifTestId OBJECT-TYPE 1523 SYNTAX TestAndIncr 1524 MAX-ACCESS read-write 1525 STATUS deprecated 1526 DESCRIPTION 1527 "This object identifies the current invocation of the 1528 interface's test." 1529 ::= { ifTestEntry 1 } 1530 1531ifTestStatus OBJECT-TYPE 1532 SYNTAX INTEGER { notInUse(1), inUse(2) } 1533 MAX-ACCESS read-write 1534 STATUS deprecated 1535 DESCRIPTION 1536 "This object indicates whether or not some manager currently 1537 has the necessary 'ownership' required to invoke a test on 1538 this interface. A write to this object is only successful 1539 when it changes its value from 'notInUse(1)' to 'inUse(2)'. 1540 After completion of a test, the agent resets the value back 1541 to 'notInUse(1)'." 1542 ::= { ifTestEntry 2 } 1543 1544ifTestType OBJECT-TYPE 1545 SYNTAX AutonomousType 1546 MAX-ACCESS read-write 1547 STATUS deprecated 1548 DESCRIPTION 1549 "A control variable used to start and stop operator- 1550 initiated interface tests. Most OBJECT IDENTIFIER values 1551 assigned to tests are defined elsewhere, in association with 1552 specific types of interface. However, this document assigns 1553 a value for a full-duplex loopback test, and defines the 1554 special meanings of the subject identifier: 1555 1556 noTest OBJECT IDENTIFIER ::= { 0 0 } 1557 1558 When the value noTest is written to this object, no action 1559 is taken unless a test is in progress, in which case the 1560 test is aborted. Writing any other value to this object is 1561 1562 only valid when no test is currently in progress, in which 1563 case the indicated test is initiated. 1564 1565 When read, this object always returns the most recent value 1566 that ifTestType was set to. If it has not been set since 1567 the last initialization of the network management subsystem 1568 on the agent, a value of noTest is returned." 1569 ::= { ifTestEntry 3 } 1570 1571ifTestResult OBJECT-TYPE 1572 SYNTAX INTEGER { 1573 none(1), -- no test yet requested 1574 success(2), 1575 inProgress(3), 1576 notSupported(4), 1577 unAbleToRun(5), -- due to state of system 1578 aborted(6), 1579 failed(7) 1580 } 1581 MAX-ACCESS read-only 1582 STATUS deprecated 1583 DESCRIPTION 1584 "This object contains the result of the most recently 1585 requested test, or the value none(1) if no tests have been 1586 requested since the last reset. Note that this facility 1587 provides no provision for saving the results of one test 1588 when starting another, as could be required if used by 1589 multiple managers concurrently." 1590 ::= { ifTestEntry 4 } 1591 1592ifTestCode OBJECT-TYPE 1593 SYNTAX OBJECT IDENTIFIER 1594 MAX-ACCESS read-only 1595 STATUS deprecated 1596 DESCRIPTION 1597 "This object contains a code which contains more specific 1598 information on the test result, for example an error-code 1599 after a failed test. Error codes and other values this 1600 object may take are specific to the type of interface and/or 1601 test. The value may have the semantics of either the 1602 AutonomousType or InstancePointer textual conventions as 1603 defined in RFC 2579. The identifier: 1604 1605 testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } 1606 1607 is defined for use if no additional result code is 1608 available." 1609 ::= { ifTestEntry 5 } 1610 1611ifTestOwner OBJECT-TYPE 1612 SYNTAX OwnerString 1613 MAX-ACCESS read-write 1614 STATUS deprecated 1615 DESCRIPTION 1616 "The entity which currently has the 'ownership' required to 1617 invoke a test on this interface." 1618 ::= { ifTestEntry 6 } 1619 1620-- Deprecated Definitions - Groups 1621 1622ifGeneralGroup OBJECT-GROUP 1623 OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress, 1624 ifAdminStatus, ifOperStatus, ifLastChange, 1625 ifLinkUpDownTrapEnable, ifConnectorPresent, 1626 ifHighSpeed, ifName } 1627 STATUS deprecated 1628 DESCRIPTION 1629 "A collection of objects deprecated in favour of 1630 ifGeneralInformationGroup." 1631 ::= { ifGroups 1 } 1632 1633ifTestGroup OBJECT-GROUP 1634 OBJECTS { ifTestId, ifTestStatus, ifTestType, 1635 ifTestResult, ifTestCode, ifTestOwner } 1636 STATUS deprecated 1637 DESCRIPTION 1638 "A collection of objects providing the ability to invoke 1639 tests on an interface." 1640 ::= { ifGroups 8 } 1641 1642ifStackGroup OBJECT-GROUP 1643 OBJECTS { ifStackStatus } 1644 STATUS deprecated 1645 DESCRIPTION 1646 "The previous collection of objects providing information on 1647 the layering of MIB-II interfaces." 1648 ::= { ifGroups 9 } 1649 1650ifOldObjectsGroup OBJECT-GROUP 1651 OBJECTS { ifInNUcastPkts, ifOutNUcastPkts, 1652 ifOutQLen, ifSpecific } 1653 STATUS deprecated 1654 DESCRIPTION 1655 "The collection of objects deprecated from the original MIB- 1656 II interfaces group." 1657 ::= { ifGroups 12 } 1658 1659-- Deprecated Definitions - Compliance 1660 1661ifCompliance MODULE-COMPLIANCE 1662 STATUS deprecated 1663 DESCRIPTION 1664 "A compliance statement defined in a previous version of 1665 this MIB module, for SNMP entities which have network 1666 interfaces." 1667 1668 MODULE -- this module 1669 MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup } 1670 1671 GROUP ifFixedLengthGroup 1672 DESCRIPTION 1673 "This group is mandatory for all network interfaces which 1674 are character-oriented or transmit data in fixed-length 1675 transmission units." 1676 1677 GROUP ifHCFixedLengthGroup 1678 DESCRIPTION 1679 "This group is mandatory only for those network interfaces 1680 which are character-oriented or transmit data in fixed- 1681 length transmission units, and for which the value of the 1682 corresponding instance of ifSpeed is greater than 20,000,000 1683 bits/second." 1684 1685 GROUP ifPacketGroup 1686 DESCRIPTION 1687 "This group is mandatory for all network interfaces which 1688 are packet-oriented." 1689 1690 GROUP ifHCPacketGroup 1691 DESCRIPTION 1692 "This group is mandatory only for those network interfaces 1693 which are packet-oriented and for which the value of the 1694 corresponding instance of ifSpeed is greater than 1695 650,000,000 bits/second." 1696 1697 GROUP ifTestGroup 1698 DESCRIPTION 1699 "This group is optional. Media-specific MIBs which require 1700 interface tests are strongly encouraged to use this group 1701 for invoking tests and reporting results. A medium specific 1702 MIB which has mandatory tests may make implementation of 1703 1704 this group mandatory." 1705 1706 GROUP ifRcvAddressGroup 1707 DESCRIPTION 1708 "The applicability of this group MUST be defined by the 1709 media-specific MIBs. Media-specific MIBs must define the 1710 exact meaning, use, and semantics of the addresses in this 1711 group." 1712 1713 OBJECT ifLinkUpDownTrapEnable 1714 MIN-ACCESS read-only 1715 DESCRIPTION 1716 "Write access is not required." 1717 1718 OBJECT ifPromiscuousMode 1719 MIN-ACCESS read-only 1720 DESCRIPTION 1721 "Write access is not required." 1722 1723 OBJECT ifStackStatus 1724 SYNTAX INTEGER { active(1) } -- subset of RowStatus 1725 MIN-ACCESS read-only 1726 DESCRIPTION 1727 "Write access is not required, and only one of the six 1728 enumerated values for the RowStatus textual convention need 1729 be supported, specifically: active(1)." 1730 1731 OBJECT ifAdminStatus 1732 SYNTAX INTEGER { up(1), down(2) } 1733 MIN-ACCESS read-only 1734 DESCRIPTION 1735 "Write access is not required, nor is support for the value 1736 testing(3)." 1737 ::= { ifCompliances 1 } 1738 1739ifCompliance2 MODULE-COMPLIANCE 1740 STATUS deprecated 1741 DESCRIPTION 1742 "A compliance statement defined in a previous version of 1743 this MIB module, for SNMP entities which have network 1744 interfaces." 1745 1746 MODULE -- this module 1747 MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2, 1748 ifCounterDiscontinuityGroup } 1749 1750 GROUP ifFixedLengthGroup 1751 DESCRIPTION 1752 "This group is mandatory for all network interfaces which 1753 are character-oriented or transmit data in fixed-length 1754 transmission units." 1755 1756 GROUP ifHCFixedLengthGroup 1757 DESCRIPTION 1758 "This group is mandatory only for those network interfaces 1759 which are character-oriented or transmit data in fixed- 1760 length transmission units, and for which the value of the 1761 corresponding instance of ifSpeed is greater than 20,000,000 1762 bits/second." 1763 1764 GROUP ifPacketGroup 1765 DESCRIPTION 1766 "This group is mandatory for all network interfaces which 1767 are packet-oriented." 1768 1769 GROUP ifHCPacketGroup 1770 DESCRIPTION 1771 "This group is mandatory only for those network interfaces 1772 which are packet-oriented and for which the value of the 1773 corresponding instance of ifSpeed is greater than 1774 650,000,000 bits/second." 1775 1776 GROUP ifRcvAddressGroup 1777 DESCRIPTION 1778 "The applicability of this group MUST be defined by the 1779 media-specific MIBs. Media-specific MIBs must define the 1780 exact meaning, use, and semantics of the addresses in this 1781 group." 1782 1783 OBJECT ifLinkUpDownTrapEnable 1784 MIN-ACCESS read-only 1785 DESCRIPTION 1786 "Write access is not required." 1787 1788 OBJECT ifPromiscuousMode 1789 MIN-ACCESS read-only 1790 DESCRIPTION 1791 "Write access is not required." 1792 1793 OBJECT ifStackStatus 1794 SYNTAX INTEGER { active(1) } -- subset of RowStatus 1795 MIN-ACCESS read-only 1796 DESCRIPTION 1797 "Write access is not required, and only one of the six 1798 enumerated values for the RowStatus textual convention need 1799 be supported, specifically: active(1)." 1800 1801 OBJECT ifAdminStatus 1802 SYNTAX INTEGER { up(1), down(2) } 1803 MIN-ACCESS read-only 1804 DESCRIPTION 1805 "Write access is not required, nor is support for the value 1806 testing(3)." 1807 1808 OBJECT ifAlias 1809 MIN-ACCESS read-only 1810 DESCRIPTION 1811 "Write access is not required." 1812 ::= { ifCompliances 2 } 1813 1814END 1815