-- ============================================================================ -- AT-INTERFACE.MIB, Allied Telesis enterprise MIB: Interfaces -- -- Extracted from ATROUTER.MIB of pre 2.9.1 release -- -- June 2006, Stan Xiang -- Upgraded to SMIv2 compliance -- -- Copyright (c) 2006 by Allied Telesis, Inc. -- All rights reserved. -- -- ============================================================================ AT-INTERFACES-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE FROM SNMPv2-SMI DisplayString FROM SNMPv2-TC ifName, InterfaceIndexOrZero FROM IF-MIB traps, atRouter FROM AT-SMI-MIB ; arInterfaces MODULE-IDENTITY LAST-UPDATED "200606140000Z" ORGANIZATION "Allied Telesis, Inc." CONTACT-INFO " http://www.alliedtelesis.com" DESCRIPTION "subtree beneath which interface ids are assigned.." REVISION "200606140000Z" DESCRIPTION "Initial version of this MIB module." ::= { atRouter 5 } -- Generic traps igmpTraps OBJECT-IDENTITY STATUS current DESCRIPTION "object id for igmp traps." ::= { traps 1 } igmpGeneralQueryNotReceivedEvent NOTIFICATION-TYPE OBJECTS { ifName } STATUS current DESCRIPTION "Triggered when no general IGMP-Query message is received within a user-defined time period on a specific interface." ::= { igmpTraps 1 } -- Router interfaces tables. -- A router consists of a number of "boards". Each board may have a -- number of "positions", each of which contains a single router -- interface. Each boards may also have a number of "slots", which are -- places which can take other boards. Thus the physical construction -- of a router may be seen as a tree whose nodes are boards and -- interfaces, and whose links are positions and slots. -- For example, an AR720 with a single Ethernet ICM in Bay 1 has the -- following tree: -- Bd:AR720 base board -- === P1 === Int: Asyn0 -- === P2 === Int: Asyn1 -- === P3 === Int: Eth0 -- === S1 (Bay0) === -- === S2 (Bay1) === Bd:Ethernet ICM === P1 === Int: Eth1 -- === S3 (MAC) === -- The function of the interface MIB tables is to represent this tree -- and to map elements in this tree to other MIB variables. Note that -- any given board has a fixed configuration of positions and slots, -- it is what is contained in the slots that give different hardware -- configurations. -- The highest index of boards in this router. Boards will have indices -- from 1 to the value of this object. There may be gaps in the -- sequence if the router has hot-swap capability. If the router has no -- hot-swap capability, or no swapping has taken place since boot, the -- sequence of boards will have no gaps. arBoardMaxIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum index of boards in the board table. Index 1 is reserved for the main system board of the router." ::= { arInterfaces 1 } -- Router boards table. This table describes all of the physical boards -- present in this router. A board is defined as a separate circuit -- board with its own serial number. arBoardTable OBJECT-TYPE SYNTAX SEQUENCE OF ArBoardEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of boards in the AR router." ::= { arInterfaces 2 } arBoardEntry OBJECT-TYPE SYNTAX ArBoardEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single entry in the board table. Each entry consists of information about one board in the router." INDEX { arBoardIndex } ::= { arBoardTable 1 } ArBoardEntry ::= SEQUENCE { arBoardIndex INTEGER, arBoardId OBJECT IDENTIFIER, arBoardName DisplayString, arBoardRevision DisplayString, arBoardSerialNumber DisplayString, arBoardTotalSlots INTEGER, arBoardTotalPositions INTEGER } arBoardIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the board in the board table. Index 1 is reserved for the main system board of the router. Other boards will take index numbers as they are initialised at router startup, or for routers with hot-swap capability, as boards are added to and removed from the router." ::= { arBoardEntry 1 } arBoardId OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The type of board in this board entry. The values of this object are taken from the pprXxx object IDs under the boards sub-tree." ::= { arBoardEntry 2 } arBoardName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the board in this board entry. This is a readable string which identifies the board to the manager." ::= { arBoardEntry 3 } arBoardRevision OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The manufacturing revision of the board in this board entry. This string has the format Xm-n, where X is P for prototype, or M for manufacturing, m is the major revision number for this board, and n is the field upgrade revision number for this board." ::= { arBoardEntry 4 } arBoardSerialNumber OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The serial number of the board in this board entry. Serial numbers are strings of decimal numbers up to 10 digits in length. Each and every serial number is globally unique. It is possible for the serial number of a board to be invalid. In this case the value returned for this object will be '*** Invalid ***'" ::= { arBoardEntry 5 } arBoardTotalSlots OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The number of slots on this board. Each slot from 1 to the value of this object may be empty or occupied by another board. By searching the arSlotTable with this board's board index and all values of slot index from 1 to the value of this object, a tree of the boards in this router can be built. The value 0 for this object means that it has no slots." ::= { arBoardEntry 6 } arBoardTotalPositions OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The number of positions on this board. Each position from 1 to the value of this object contains a single router interface. Note that positions are different from slots. An position contains an actual interface while a slot contains a different board which itself may contain interfaces in its positions." ::= { arBoardEntry 7 } -- Router board slot table. This table is indexed by board index and -- slot index and gives the board index of the board occupying the -- given slot in the given board. arSlotTable OBJECT-TYPE SYNTAX SEQUENCE OF ArSlotEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of slots in the router, indexed by board index and slot index." ::= { arInterfaces 3 } arSlotEntry OBJECT-TYPE SYNTAX ArSlotEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single entry in the board slot table." INDEX { arSlotBoardIndex, arSlotSlotIndex } ::= { arSlotTable 1 } ArSlotEntry ::= SEQUENCE { arSlotBoardIndex INTEGER, arSlotSlotIndex INTEGER, arSlotHeldBoardIndex INTEGER, arSlotDescription DisplayString } arSlotBoardIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the board for this slot entry. Index 1 is reserved for the main system board of the router." ::= { arSlotEntry 1 } arSlotSlotIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the slot for this slot entry. Indices start from 1 and are specific to each different board type. There are no gaps in the sequence of slot indices. The maximum value for slot index is given by the value of arBoardTotalSlots for this board." ::= { arSlotEntry 2 } arSlotHeldBoardIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the board held in the slot for this slot entry. This is an index into the arBoardTable. A value of 0 for this object means that the slot is not populated." ::= { arSlotEntry 3 } arSlotDescription OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A description for this slot entry. This is a textual description which gives the manager a clue as to what the slot for this entry is. For example, the slots on an AR 720 have descriptions 'Bay0', 'Bay1' and 'MAC'." ::= { arSlotEntry 4 } -- Router interfaces table. This table has an entry for each physical -- interface on the router. The indices for this table are the router -- board index and a board position index. arInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF ArInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of physical interfaces in the AR router." ::= { arInterfaces 4 } arInterfaceEntry OBJECT-TYPE SYNTAX ArInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single entry in the interface table. Each entry consists of information about one interface in the router, and is indexed by the board index and the position of the interface on the board." INDEX { arInterfaceBoardIndex, arInterfacePosition } ::= { arInterfaceTable 1 } ArInterfaceEntry ::= SEQUENCE { arInterfaceBoardIndex INTEGER, arInterfacePosition INTEGER, arInterfaceIfIndex InterfaceIndexOrZero, arInterfaceName DisplayString, arInterfaceFullName DisplayString } arInterfaceBoardIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the board in the board table which contains this interface. Index 1 is reserved for the main system board of the router." ::= { arInterfaceEntry 1 } arInterfacePosition OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The position of the interface on the board. Each board type will have well-known positions which are the interfaces provided by the board. The number of positions on a given board is given by the object arBoardTotalPositions for this board." ::= { arInterfaceEntry 2 } arInterfaceIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The ifIndex for the interface represented by this entry of the interfaces table. This is the ifIndex of the ifEntry used to represent the physical interface. The value 0 is used for interfaces which don't have an ifIndex." ::= { arInterfaceEntry 3 } arInterfaceName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this interface. This is the name that the manager can use to refer to this interface in entering router commands." ::= { arInterfaceEntry 4 } arInterfaceFullName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The fully qualified name for this interface. This identifies the path that must be followed to reach the interface. This name can be used in router commands. In routers don't support fully qualified names, this is the same as arInterfaceName." ::= { arInterfaceEntry 5 } -- ================================================================================= -- Router interface extension table. This table extends ifTable to allow interface variables -- not covered in the standard MIB. Current variables include: -- 1. 512s moving averages of interface throughput, bps and pps. arIfXTable OBJECT-TYPE SYNTAX SEQUENCE OF ArIfXEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of interface statistics for the AR router. This table extends the ifTable." ::= { arInterfaces 5 } arIfXEntry OBJECT-TYPE SYNTAX ArIfXEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single entry in the interface extension table. Each entry consists of extra interface information not covered in standard MIBs. The index for this table is ifIndex, the same as for ifTable." INDEX { arIfXIndex } ::= { arIfXTable 1 } ArIfXEntry ::= SEQUENCE { arIfXIndex INTEGER, arIfXAverageInputBitsSecond INTEGER, arIfXAverageInputPacketsSecond INTEGER, arIfXAverageOutputBitsSecond INTEGER, arIfXAverageOutputPacketsSecond INTEGER } arIfXIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the ifTable." ::= { arIfXEntry 1 } arIfXAverageInputBitsSecond OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The average number of bits received per second on all interfaces over the past 8.5 minutes. The average is calculated by an 8.5 minute (512s) decaying average, which is updated every 4 seconds using the following formula: X' = 127/128X + 1/128i where X' is the new average X is the old average i is the most recent poll result The times and multiplier factors have been chosen to give the simplest possible calculation using bit shifting operations." ::= { arIfXEntry 2 } arIfXAverageInputPacketsSecond OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The average number of packets received per second on all interfaces over the past 8.5 minutes. See the description for arIfXAverageInputBitsSecond for details of the way in which the average is calculated." ::= { arIfXEntry 3 } arIfXAverageOutputBitsSecond OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The average number of bits sent per second on all interfaces over the past 8.5 minutes. See the description for arIfXAverageInputBitsSecond for details of the way in which the average is calculated." ::= { arIfXEntry 4 } arIfXAverageOutputPacketsSecond OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The average number of bits sent per second on all interfaces over the past 8.5 minutes. See the description for arIfXAverageInputBitsSecond for details of the way in which the average is calculated." ::= { arIfXEntry 5 } END