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