⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 if-mib

📁 opennms得相关源码 请大家看看
💻
📖 第 1 页 / 共 5 页
字号:
                    /*                     * Another manager got the ifTestEntry -- go                     * try again                     */                    goto try_again;                /*                 * I have the lock                 */                set up any test parameters.                /*                 * This starts the test                 */                set(ifTestType = test_to_run);                wait for test completion by polling ifTestResult                when test completes, agent sets ifTestResult                     agent also sets ifTestStatus = 'notInUse'                retrieve any additional test results, and ifTestId                if (ifTestId == lock_value+1) results are valid              A manager station first retrieves the value of the              appropriate ifTestId and ifTestStatus objects,              periodically repeating the retrieval if necessary,              until the value of ifTestStatus is 'notInUse'.  The              manager station then tries to set the same ifTestId              object to the value it just retrieved, the same              ifTestStatus object to 'inUse', and the corresponding              ifTestOwner object to a value indicating itself.  If              the set operation succeeds then the manager has              obtained ownership of the ifTestEntry, and the value of              the ifTestId object is incremented by the agent (per              the semantics of TestAndIncr).  Failure of the set              operation indicates that some other manager has              obtained ownership of the ifTestEntry.              Once ownership is obtained, any test parameters can be              setup, and then the test is initiated by setting              ifTestType.  On completion of the test, the agent sets              ifTestStatus to 'notInUse'.  Once this occurs, the              manager can retrieve the results.  In the (rare) event              that the invocation of tests by two network managers              were to overlap, then there would be a possibility that              the first test's results might be overwritten by the              second test's results prior to the first results being              read.  This unlikely circumstance can be detected by a              network manager retrieving ifTestId at the same time as              retrieving the test results, and ensuring that the              results are for the desired request.              If ifTestType is not set within an abnormally long              period of time after ownership is obtained, the agent              should time-out the manager, and reset the value of the              ifTestStatus object back to 'notInUse'.  It is              suggested that this time-out period be 5 minutes.              In general, a management station must not retransmit a              request to invoke a test for which it does not receive              a response; instead, it properly inspects an agent's              MIB to determine if the invocation was successful.              Only if the invocation was unsuccessful, is the              invocation request retransmitted.              Some tests may require the interface to be taken off-              line in order to execute them, or may even require the              agent to reboot after completion of the test.  In these              circumstances, communication with the management              station invoking the test may be lost until after              completion of the test.  An agent is not required to              support such tests.  However, if such tests are              supported, then the agent should make every effort to              transmit a response to the request which invoked the              test prior to losing communication.  When the agent is              restored to normal service, the results of the test are              properly made available in the appropriate objects.              Note that this requires that the ifIndex value assigned              to an interface must be unchanged even if the test              causes a reboot.  An agent must reject any test for              which it cannot, perhaps due to resource constraints,              make available at least the minimum amount of              information after that test completes."       ::= { ifMIBObjects 3 }   ifTestEntry OBJECT-TYPE       SYNTAX       IfTestEntry       MAX-ACCESS   not-accessible       STATUS       deprecated       DESCRIPTION               "An entry containing objects for invoking tests on an               interface."       AUGMENTS  { ifEntry }       ::= { ifTestTable 1 }   IfTestEntry ::=       SEQUENCE {           ifTestId           TestAndIncr,           ifTestStatus       INTEGER,           ifTestType         AutonomousType,           ifTestResult       INTEGER,           ifTestCode         OBJECT IDENTIFIER,           ifTestOwner        OwnerString       }   ifTestId         OBJECT-TYPE       SYNTAX       TestAndIncr       MAX-ACCESS   read-write       STATUS      deprecated       DESCRIPTION               "This object identifies the current invocation of the               interface's test."       ::= { ifTestEntry 1 }   ifTestStatus     OBJECT-TYPE       SYNTAX       INTEGER { notInUse(1), inUse(2) }       MAX-ACCESS   read-write       STATUS      deprecated       DESCRIPTION               "This object indicates whether or not some manager               currently has the necessary 'ownership' required to               invoke a test on this interface.  A write to this               object is only successful when it changes its value               from 'notInUse(1)' to 'inUse(2)'.  After completion of               a test, the agent resets the value back to               'notInUse(1)'."       ::= { ifTestEntry 2 }   ifTestType       OBJECT-TYPE       SYNTAX       AutonomousType       MAX-ACCESS   read-write       STATUS      deprecated       DESCRIPTION               "A control variable used to start and stop operator-               initiated interface tests.  Most OBJECT IDENTIFIER               values assigned to tests are defined elsewhere, in               association with specific types of interface.               However, this document assigns a value for a full-               duplex loopback test, and defines the special meanings               of the subject identifier:                   noTest  OBJECT IDENTIFIER ::= { 0 0 }               When the value noTest is written to this object, no               action is taken unless a test is in progress, in which               case the test is aborted.  Writing any other value to               this object is only valid when no test is currently in               progress, in which case the indicated test is               initiated.               When read, this object always returns the most recent               value that ifTestType was set to.  If it has not been               set since the last initialization of the network               management subsystem on the agent, a value of noTest               is returned."       ::= { ifTestEntry 3 }   ifTestResult  OBJECT-TYPE       SYNTAX       INTEGER {                        none(1),          -- no test yet requested                        success(2),                        inProgress(3),                        notSupported(4),                        unAbleToRun(5),   -- due to state of system                        aborted(6),                        failed(7)                    }       MAX-ACCESS   read-only       STATUS      deprecated       DESCRIPTION               "This object contains the result of the most recently               requested test, or the value none(1) if no tests have               been requested since the last reset.  Note that this               facility provides no provision for saving the results               of one test when starting another, as could be               required if used by multiple managers concurrently."       ::= { ifTestEntry 4 }   ifTestCode  OBJECT-TYPE       SYNTAX       OBJECT IDENTIFIER       MAX-ACCESS   read-only       STATUS      deprecated       DESCRIPTION               "This object contains a code which contains more               specific information on the test result, for example               an error-code after a failed test.  Error codes and               other values this object may take are specific to the               type of interface and/or test.  The value may have the               semantics of either the AutonomousType or               InstancePointer textual conventions as defined in RFC               1443.  The identifier:                   testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }               is defined for use if no additional result code is               available."       ::= { ifTestEntry 5 }   ifTestOwner      OBJECT-TYPE       SYNTAX       OwnerString       MAX-ACCESS   read-write       STATUS      deprecated       DESCRIPTION               "The entity which currently has the 'ownership'               required to invoke a test on this interface."       ::= { ifTestEntry 6 }   --   Generic Receive Address Table   --   -- This group of objects is mandatory for all types of   -- interfaces which can receive packets/frames addressed to   -- more than one address.   --   -- This table replaces the ifExtnsRcvAddr table.  The main   -- difference is that this table makes use of the RowStatus   -- textual convention, while ifExtnsRcvAddr did not.   ifRcvAddressTable  OBJECT-TYPE       SYNTAX      SEQUENCE OF IfRcvAddressEntry       MAX-ACCESS  not-accessible       STATUS      current       DESCRIPTION               "This table contains an entry for each address               (broadcast, multicast, or uni-cast) for which the               system will receive packets/frames on a particular               interface, except as follows:               - for an interface operating in promiscuous mode,               entries are only required for those addresses for               which the system would receive frames were it not               operating in promiscuous mode.               - for 802.5 functional addresses, only one entry is               required, for the address which has the functional               address bit ANDed with the bit mask of all functional               addresses for which the interface will accept frames."       ::= { ifMIBObjects 4 }   ifRcvAddressEntry  OBJECT-TYPE       SYNTAX      IfRcvAddressEntry       MAX-ACCESS  not-accessible       STATUS      current       DESCRIPTION               "A list of objects identifying an address for which               the system will accept packets/frames on the               particular interface identified by the index value               ifIndex."       INDEX  { ifIndex, ifRcvAddressAddress }       ::= { ifRcvAddressTable 1 }   IfRcvAddressEntry ::=       SEQUENCE {           ifRcvAddressAddress   PhysAddress,           ifRcvAddressStatus    RowStatus,           ifRcvAddressType      INTEGER       }   ifRcvAddressAddress OBJECT-TYPE       SYNTAX      PhysAddress       MAX-ACCESS  not-accessible       STATUS      current       DESCRIPTION               "An address for which the system will accept               packets/frames on this entry's interface."       ::= { ifRcvAddressEntry 1 }   ifRcvAddressStatus OBJECT-TYPE       SYNTAX      RowStatus       MAX-ACCESS  read-create       STATUS      current       DESCRIPTION               "This object is used to create and delete rows in the               ifRcvAddressTable."       ::= { ifRcvAddressEntry 2 }   ifRcvAddressType OBJECT-TYPE       SYNTAX      INTEGER {                       other(1),                       volatile(2),                       nonVolatile(3)                   }       MAX-ACCESS  read-create       STATUS      current       DESCRIPTION               "This object has the value nonVolatile(3) for those               entries in the table which are valid and will not be               deleted by the next restart of the managed system.               Entries having the value volatile(2) are valid and               exist, but have not been saved, so that will not exist               after the next restart of the managed system.  Entries               having the value other(1) are valid and exist but are               not classified as to whether they will continue to               exist after the next restart."       DEFVAL  { volatile }       ::= { ifRcvAddressEntry 3 }   -- definition of interface-related traps.   linkDown NOTIFICATION-TYPE       OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }       STATUS  current       DESCRIPTION               "A linkDown trap signifies that the SNMPv2 entity,               acting in an agent role, has detected that the               ifOperStatus object for one of its communication links               is about to transition into the down state."       ::= { snmpTraps 3 }   linkUp NOTIFICATION-TYPE       OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }       STATUS  current

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -