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