Graphs |
-
ARP Table");
+
ARP Table$pagp");
+
+
if(mysql_result(mysql_query("SELECT count(*) FROM mac_accounting WHERE interface_id = '".$interface['interface_id']."'"),0)){
diff --git a/includes/functions.php b/includes/functions.php
index 68bf81bf2..06effcceb 100755
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -236,11 +236,11 @@ function interface_rates ($rrd_file) // Returns the last in/out value in RRD
return $rate;
}
-function interface_errors ($rrd_file) // Returns the last in/out errors value in RRD
+function interface_errors ($rrd_file, $period = '-1d') // Returns the last in/out errors value in RRD
{
global $config;
#$rrdfile = $config['rrd_dir'] . "/" . $interface['hostname'] . "/" . $interface['ifIndex'] . ".rrd";
- $cmd = $config['rrdtool']." fetch -s -1d -e -300s $rrd_file AVERAGE | grep : | cut -d\" \" -f 4,5";
+ $cmd = $config['rrdtool']." fetch -s $period -e -300s $rrd_file AVERAGE | grep : | cut -d\" \" -f 4,5";
$data = trim(shell_exec($cmd));
foreach( explode("\n", $data) as $entry) {
list($in, $out) = explode(" ", $entry);
diff --git a/includes/static-config.php b/includes/static-config.php
index e2c16ad36..6bda7188e 100644
--- a/includes/static-config.php
+++ b/includes/static-config.php
@@ -64,4 +64,28 @@ $week = time() - (7 * 24 * 60 * 60);
$month = time() - (31 * 24 * 60 * 60);
$year = time() - (365 * 24 * 60 * 60);
+
+### Update Database between 0.6.0 and 0.6.1 (slight slowdown)
+
+$exists = false;
+$columns = mysql_query("SHOW columns FROM `interfaces`");
+while($c = mysql_fetch_assoc($columns)){
+ if($c['Field'] == "pagpOperationMode"){
+ $pagp = true;
+ break;
+ }
+}
+if(!$pagp) {
+ mysql_query("ALTER TABLE `interfaces` ADD `pagpOperationMode` VARCHAR( 32 ) NULL ,
+ADD `pagpPortState` VARCHAR( 16 ) NULL ,
+ADD `pagpPartnerDeviceId` VARCHAR( 48 ) NULL ,
+ADD `pagpPartnerLearnMethod` VARCHAR( 16 ) NULL ,
+ADD `pagpPartnerIfIndex` INT NULL ,
+ADD `pagpPartnerGroupIfIndex` INT NULL ,
+ADD `pagpPartnerDeviceName` VARCHAR( 128 ) NULL ,
+ADD `pagpEthcOperationMode` VARCHAR( 16 ) NULL ,
+ADD `pagpDeviceId` VARCHAR( 48 ) NULL ,
+ADD `pagpGroupIfIndex` INT NULL");
+}
+
?>
diff --git a/mibs/CISCO-PAGP-MIB.my b/mibs/CISCO-PAGP-MIB.my
new file mode 100644
index 000000000..3c0aac33f
--- /dev/null
+++ b/mibs/CISCO-PAGP-MIB.my
@@ -0,0 +1,1005 @@
+
+CISCO-PAGP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ Counter32,
+ Integer32
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION,
+ MacAddress,
+ TimeStamp,
+ DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF
+ ciscoMgmt
+ FROM CISCO-SMI
+ InterfaceIndexOrZero
+ FROM CISCO-TC
+ ifIndex
+ FROM IF-MIB
+ ;
+
+ciscoPagpMIB MODULE-IDENTITY
+ LAST-UPDATED "200212130000Z"
+ ORGANIZATION "Cisco Systems, Inc."
+ CONTACT-INFO
+ " Cisco Systems
+ Customer Service
+
+ Postal: 170 W Tasman Drive
+ San Jose, CA 95134
+ USA
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-etherchan@cisco.com
+ cs-lan-switch-snmp@cisco.com"
+
+ DESCRIPTION
+ "The MIB module for configuration of Fast Etherchannel
+ and the operation of the Port Aggregation Protocol (PAgP).
+ These features allow two or more physical interfaces to
+ be aggregated together to form a single agport. This
+ agport behaves like a single interface with improved
+ bandwidth and/or availability over each of its component
+ physical interfaces.
+
+ You can monitor interfaces, agports, and related statistics
+ through the ifStackTable and ifTable entries."
+
+ REVISION "200212130000Z"
+ DESCRIPTION "Added a new value vlanIpPort(4) to
+ pagpDistributionProtocol."
+
+ REVISION "200201020000Z"
+ DESCRIPTION "Added port(3) to pagpDistributionProtocol."
+
+ REVISION "9903040000Z"
+ DESCRIPTION "Added two PagpDistribution objects."
+
+ REVISION "9804090000Z"
+ DESCRIPTION "Initial version of this MIB module."
+
+ ::= { ciscoMgmt 98 }
+
+ciscoPagpMIBObjects
+ OBJECT IDENTIFIER ::= { ciscoPagpMIB 1 }
+
+pagpGroupCapabilityConfiguration
+ OBJECT IDENTIFIER ::= { ciscoPagpMIBObjects 1 }
+pagpProtocol
+ OBJECT IDENTIFIER ::= { ciscoPagpMIBObjects 2 }
+
+-- Textual Conventions
+
+PagpGroupCapability ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The group-capability value of an interface. Indicates the
+ ability of the interface to aggregate together with other
+ interfaces to form aggregate links, or agports.
+
+ The value of PagpGroupCapability has no meaning except by
+ comparison (equal or not equal) to other PagpGroupCapability
+ values for different interfaces (ifIndex values) having the
+ same device (pagpDeviceId). If two different interfaces on the
+ same device have the same PagpGroupCapability, then they are
+ capable of being aggregated into the same agport. If they
+ have different PagpGroupCapability values, then they cannot
+ be aggregated together.
+
+ The assignment of PagpGroupCapability values to the variables
+ which use them can be made either by the network administrator
+ or by the managed system, depending on the variable. One
+ easily-used and understood means of assigning
+ PagpGroupCapability values is to use, for each interface's
+ PagpGroupCapability, the lowest ifIndex (in numerical value)
+ of all of the intefaces with which this interface can
+ aggregate. The use of this technique is not required.
+ Therefore, when examining a variable using the
+ PagpGroupCapability, the user must not assume that the values
+ have any meaning, other than by comparison for equality with
+ other interfaces' values on the same device.
+
+ Note also that a single managed system may utilize multiple
+ pagpDeviceId values. PagpGroupCapability values may be
+ compared only among those interfaces with the same
+ pagpDeviceId values."
+ SYNTAX Integer32
+
+PagpEthcOperationMode ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The group-capability configuration operation mode of Fast
+ Etherchannel on this interface:
+
+ off(1) No aggregation of interfaces is allowed.
+
+ manual(2) Aggregation is under control of the
+ pagpGroupCapabilityConfiguration
+ section; no PAgP protocol packets are sent,
+ and any received are ignored.
+
+ pagpOn(3) Aggregation is under control of the PAgP
+ protocol. PAgP packets are sent on the
+ interface and those received are acted upon.
+
+ It is anticipated that further values of this textual convention
+ may be defined as additional aggregation protocols are defined."
+ SYNTAX INTEGER { off(1), manual(2), pagpOn(3) }
+
+PagpPortPriority ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The priority of this interface for use as the active port of
+ an aggregation operating in hot-standby mode. The highest
+ numerical value indicates the most-desirable interface."
+ SYNTAX INTEGER (0..255)
+
+PagpOperationMode ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The group-capability configuration operation mode of the PAgP
+ protocol on this interface:
+
+ desirable(1) aggregation is under control of the PAgP
+ protocol. PAgP packets are sent on the
+ interface and those received are acted upon.
+ If no data packets are received on the
+ interface, then the interface is never attached
+ to an agport and cannot be used for data.
+
+ desirableSilent(2)
+ aggregation is under control of the PAgP
+ protocol. PAgP packets are sent on the
+ interface and those received are acted upon.
+ If no data packets are received on the
+ interface, then after some timeout period, the
+ interface is attached, by itself, to an agport
+ and can thus be used for data transmission.
+
+ automatic(3) aggregation is under control of the PAgP
+ protocol. PAgP packets are not sent on the
+ interface until at least one PAgP packet is
+ received which indicates that the sender is
+ operating in desirable or desirableSilent mode.
+ If no data packets are received on the
+ interface, then the interface is never attached
+ to an agport and cannot be used for data.
+
+ automaticSilent(4)
+ aggregation is under control of the PAgP
+ protocol. PAgP packets are not sent on the
+ interface until at least one PAgP packet is
+ received which indicates that the sender is
+ operating in desirable or desirableSilent mode.
+ If no data packets are received on the
+ interface, then after some timeout period, the
+ interface is attached, by itself, to an agport
+ and can thus be used for data transmission.
+
+ The value of PagpOperationMode takes effect only when the
+ value of pagpEthcOperationMode is pagpOn(3). If
+ pagpEthcOperationMode has any other value, the operation of
+ the PAgP protocol is disabled."
+ SYNTAX INTEGER { desirable(1), desirableSilent(2),
+ automatic(3), automaticSilent(4) }
+
+PagpLearnMethod ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Indicates the ability of this device to determine the input
+ interface of an incoming data packet received on an aggregated
+ interface. This serves as a request to the sending device for
+the
+ use or avoidance of different means of assigning packets to
+ the member interfaces of an aggregation. Three values are
+defined:
+
+ physPort(1) This device claims to be unable to ignore the
+ physical interface on which the packet is
+ received.
+
+ agPort(2) This device claims to be able to ignore the
+ physical interface on which the packet is
+ received.
+
+ undefined(3) The learn method is unknown. This value is
+ not allowed in some variables."
+ SYNTAX INTEGER { physPort(1), agPort(2), undefined(3) }
+
+-- MIB Objects
+
+-- Port Aggregation Protocol and Fast Etherchannel operation variables
+
+-- Per-Interface EtherChannel Variables
+
+pagpEtherChannelTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PagpEtherChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The pagpEtherChannelTable specifies, per physical interface,
+ the Fast Etherchannel operational mode (off, manual, or
+ protocol-controlled) and the capability of the interface to form
+ aggregations. Interfaces that do not support Fast Etherchannel
+ or PAgP do not have an entry in this table, nor do the
+ agports, themselves."
+ ::= { pagpGroupCapabilityConfiguration 1 }
+
+pagpEtherChannelEntry OBJECT-TYPE
+ SYNTAX PagpEtherChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry describes the permitted interface aggregation.
+ Entries are created by the managed system for each interface
+ which supports Fast Etherchannel."
+ INDEX { ifIndex }
+ ::= { pagpEtherChannelTable 1 }
+
+PagpEtherChannelEntry ::= SEQUENCE {
+ pagpEthcOperationMode PagpEthcOperationMode,
+ pagpDeviceId MacAddress,
+ pagpPhysGroupCapability PagpGroupCapability,
+ pagpOperGroupCapability PagpGroupCapability,
+ pagpAdminGroupCapability PagpGroupCapability,
+ pagpPortPriority PagpPortPriority,
+ pagpLearnMethod PagpLearnMethod,
+ pagpGroupIfIndex InterfaceIndexOrZero,
+ pagpDistributionProtocol INTEGER,
+ pagpDistributionAddress INTEGER
+}
+
+pagpEthcOperationMode OBJECT-TYPE
+ SYNTAX PagpEthcOperationMode
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The managed device will refuse a request to set
+ pagpEthcOperationMode to the pagpOn(3) state if the device does
+ not implement the PAgP protocol. The managed device will refuse
+ to set pagpEthcOperationMode to manual(2) or pagpOn(3) if the
+ values in the interface's pagpAdminGroupCapability variable is
+ inconsistent with other interfaces' pagpAdminGroupCapability
+ values."
+ ::= { pagpEtherChannelEntry 1 }
+
+pagpDeviceId OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Uniquely identifies a device which implements Fast
+Etherchannel.
+ The combination of pagpDeviceId and ifIndex must be unique over
+ all interfaces in a network. pagpDeviceId typically identifies
+ a device such as a bridge, router, or file server, but may be
+ used to identify a smaller unit such as a single multi-interface
+ circuit card."
+ ::= { pagpEtherChannelEntry 2 }
+
+pagpPhysGroupCapability OBJECT-TYPE
+ SYNTAX PagpGroupCapability
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The values in pagpPhysGroupCapability indicate the aggregation
+ capability of the underlying hardware.
+
+ The speed, configuration, and status condition of the interface,
+ e.g. ISL protocol on/off, ifOperStatus On/Off,
+full-/half-duplex,
+ etc., does not affect the state of pagpPhysGroupCapability.
+
+ Any number of interfaces with the same value of
+ pagpPhysGroupCapability can be aggregated together manually."
+ ::= { pagpEtherChannelEntry 3 }
+
+pagpOperGroupCapability OBJECT-TYPE
+ SYNTAX PagpGroupCapability
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable informs the system administrator examining the
+Fast
+ Etherchannel MIB of the capabilities of the current state of the
+ interface's hardware to form agports.
+
+ The pagpOperGroupCapability values are adjusted automatically by
+ the managed system to reflect configuration changes, such as
+port
+ speed or duplex mode, which can affect the ability of an
+interface
+ to join agports.
+
+ pagpOperGroupCapability reflects the ability to form
+ aggregations; it does not specify whether the interface is
+ or is not currently a member of such an aggregation.
+
+ pagpOperGroupCapability values are chosen so that no two
+interfaces
+ may be aggregated unless both pagpPhysGroupCapability and
+ pagpAdminGroupCapability permit the aggregation, as well as the
+ current configuration of the interfaces.
+pagpOperGroupCapability
+ may change dynamically, as a result of the operation of
+automatic
+ configuration protocols such as PAgP, in order to prevent
+illegal
+ aggregations.
+
+ When the PAgP protocol is enabled, then pagpOperGroupCapability
+ is the value of the group capability being transmitted on this
+ interface in PAgP packets."
+ ::= { pagpEtherChannelEntry 4 }
+
+pagpAdminGroupCapability OBJECT-TYPE
+ SYNTAX PagpGroupCapability
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "pagpAdminGroupCapability is used by the network administrator
+to
+ control the aggregation of interfaces into agports. The default
+ value of pagpAdminGroupCapability is equal to the value of
+ pagpPhysGroupCapability on that same interface.
+
+ A pagpAdminGroupCapability may be set to restrict which
+interfaces
+ may be aggregated. Any attempt to set an
+ pagpAdminGroupCapability value that permits two interfaces to
+ be aggregated together that are prohibited from being aggregated
+ by the pagpPhysGroupCapability values will be refused.
+
+ A given device may place consistency requirements on
+ pagpAdminGroupCapability values that span multiple interfaces.
+ For example, one may be changing interfaces 1-4 from group
+ capabilities 1, 1, 1, 1 to group capabilities 1, 1, 3, 3. The
+ capability vector 1, 1, 3, 1 may be illegal. The managed device
+ will refuse a request to set a value in an interface's
+ pagpAdminGroupCapability variable if: 1) that new value would
+ result in an illegal combination of values; and 2) the interface
+ being set does not have its pagpEthcOperationMode variable set
+to
+ off(1).
+
+ The pagpEthcOperationMode variable may be used to avoid illegal
+ combinations of pagpAdminGroupCapability values. As long as a
+ given interface's pagpEthcOperationMode is in the off state, any
+ value may be set in that interface's pagpAdminGroupCapability
+ variable. In the above example, the third interface could be
+ disabled, the 3 could be written to the third and fourth
+ interfaces, and the third interfaces re-enabled.
+
+ The operating manuals of the managed device must be consulted to
+ determine the legality of a given combination of
+ pagpAdminGroupCapability values."
+ ::= { pagpEtherChannelEntry 5 }
+
+pagpPortPriority OBJECT-TYPE
+ SYNTAX PagpPortPriority
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The priority of this interface relative to other interfaces
+ when determining which interface is to be used in Hot
+ Standby mode.
+
+ Among all interfaces aggregated together with a single agport,
+ the one with the highest numerical value of pagpPortPriority is
+ selected for use. Default value is 128."
+ ::= { pagpEtherChannelEntry 6 }
+
+pagpLearnMethod OBJECT-TYPE
+ SYNTAX PagpLearnMethod
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This interface's learning method value. Specifies whether this
+ device is able to learn the location of a source MAC address
+based
+ on the agport on which it was received, agPort(2), or on the
+ interface on which it was received, physPort(1). This value is
+ relevant primarily to IEEE 802.1D transparent bridges. If a
+device
+ does not associate recieved source MAC addresses with the
+interface
+ on which it arrived, it should use the value agPort(2).
+
+ The managed device will refuse an attempt to set the value of
+ pagpLearnMethod to undefined(3).
+
+ A particular device may support either physPort, agPort, or
+both."
+ ::= { pagpEtherChannelEntry 7 }
+
+pagpGroupIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If pagpGroupIfIndex is 0, then the inteface is not aggregated
+ to an agport, and is unavailable for normal data reception and
+ transmission.
+
+ If pagpGroupIfIndex equals the interface's own ifIndex, the
+ interface is aggregated to itself, and behaves as a single
+ interface (as if there were no Fast Etherchannel or PAgP).
+
+ If pagpGroupIfIndex has any other value, then it must contain
+the
+ ifIndex of an agport, and the interface is aggregated to that
+ agport.
+
+ The ifType of an agport is propVirtual(53)."
+ ::= { pagpEtherChannelEntry 8 }
+
+pagpDistributionProtocol OBJECT-TYPE
+ SYNTAX INTEGER {
+ ip(1), -- ip address
+ mac(2), -- mac address
+ port(3), -- port number
+ vlanIpPort(4) -- vlan number, ip address
+ -- and port number
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "pagpDistributionProtocol controls the load balancing
+ algorithms used on this interface's agport to distribute
+ outgoing data frames among its component interfaces, such
+ as IP address. Configuring pagpDistributionProtocol on this
+ interface may result in having the same change on the
+ other interfaces due to hardware architecture."
+ ::= { pagpEtherChannelEntry 9 }
+
+pagpDistributionAddress OBJECT-TYPE
+ SYNTAX INTEGER {
+ source(1), -- source address
+ destination(2), -- destination address
+ both(3) -- source and destination address
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "pagpDistributionAddress controls the type of distribution
+ on the configured pagpDistributionProtocol used on this
+ interface's agport to distribute outgoing data frames among its
+ component interfaces. For example if the pagpDistributionProtocol
+ is configured as 'ip(1)' and the pagpDistributionAddress is
+ configured as 'both(3)', then every frame with a given source and destination IP value pairs will be sent on the same interface.
+ Configuring pagpDistributionAddress on this interface may
+ result in having the same change on the other interfaces due to
+ hardware architecture."
+ ::= { pagpEtherChannelEntry 10 }
+
+-- Per-interface PAgP Protocol Control Variables
+
+pagpProtocolConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PagpProtocolConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of per-interface Port Aggregation Protocol variables.
+ Physical interfaces that support Fast Etherchannel and PAgP
+ protocol have an entry in this table. If the value of
+ pagpEthcOperationMode for the corresponding interface is off(1)
+or
+ manual(2), then the the interface does not have any entries in
+ this table."
+ ::= { pagpProtocol 1 }
+
+pagpProtocolConfigEntry OBJECT-TYPE
+ SYNTAX PagpProtocolConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry describes the operational state of the PAgP protocol
+on
+ a particular physical interface. Entries in this table are for
+ interfaces that support both Fast Etherchannel and PAgP
+protocol.
+ The agport itself is not represented in this table."
+ INDEX { ifIndex }
+ ::= { pagpProtocolConfigTable 1 }
+
+PagpProtocolConfigEntry ::= SEQUENCE {
+ pagpOperationMode PagpOperationMode,
+ pagpPortState INTEGER,
+ pagpLastStateChange TimeStamp,
+ pagpHelloFrequency INTEGER,
+ pagpDistributionAlgorithm DisplayString,
+ pagpPartnerCount INTEGER,
+ pagpPartnerDeviceId MacAddress,
+ pagpPartnerLearnMethod PagpLearnMethod,
+ pagpPartnerPortPriority PagpPortPriority,
+ pagpPartnerIfIndex InterfaceIndexOrZero,
+ pagpPartnerGroupCapability PagpGroupCapability,
+ pagpPartnerGroupIfIndex InterfaceIndexOrZero,
+ pagpPartnerDeviceName DisplayString,
+ pagpPartnerPortName DisplayString,
+ pagpPartnerAgportMACAddress MacAddress
+}
+
+pagpOperationMode OBJECT-TYPE
+ SYNTAX PagpOperationMode
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Controls the operational mode of the PAgP protocol on this
+ interface."
+ ::= { pagpProtocolConfigEntry 1 }
+
+pagpPortState OBJECT-TYPE
+ SYNTAX INTEGER {
+ portDown(1),
+ portUp(2),
+ dataReceived(3),
+ upData(4),
+ pagpReceived(5),
+ biDirectional(6),
+ upPagp(7),
+ upMult(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The state of the PAgP state machine on this interface. Values:
+
+ portDown(1) - interface's ifOperStatus is not Up;
+
+ portUp(2) - interface's ifOperStatus is Up, no packets
+ yet received;
+
+ dataReceived(3) - data packets, but no PAgP packets, have been
+ received;
+
+ upData(4) - interface is aggregated, but no PAgP packets
+ have been received;
+
+ pagpReceived(5) - one or more PAgP packets have been received;
+
+ biDirectional(6) - interface has passed PAgP packets in both
+ directions;
+
+ upPagp(7) - interface is aggregated by means of PAgP;
+
+ upMult(8) - interface is aggregated to an agport, but
+ connects to more than one external device."
+ ::= { pagpProtocolConfigEntry 2 }
+
+pagpLastStateChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Value of sysUpTime the last time that pagpPortState changed."
+ ::= { pagpProtocolConfigEntry 3 }
+
+pagpHelloFrequency OBJECT-TYPE
+ SYNTAX INTEGER { fast(1), slow(2) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If pagpHelloFrequency is slow(2), this device uses a 105 second
+ timer on this interface to time out receipt of PAgP packet. If
+ fast(1), this device uses a 3.5 second timer. PAgP uses fast(1)
+ by default. This value is set to slow(2) by action of the PAgP
+ protocol."
+ ::= { pagpProtocolConfigEntry 4 }
+
+pagpDistributionAlgorithm OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "pagpDistributionAlgorithm describes, in human terms, the method
+ used on this interface's agport to distribute outgoing data
+frames
+ among its component interfaces. 'Source MAC address', 'Source
+and
+ Destination MAC addresses', or 'IP flow: Source, Destination,
+ protocol type' might be typical values for
+ pagpDistributionAlgorithm. If the interface is not aggregated
+ with an agport (pagpGroupIfIndex contains either 0 or the
+ interface's own ifIndex), pagpDistributionAlgorithm may contain
+a
+ DisplayString of length 0.
+
+ See the managed device's operation manual to determine the exact
+ meaning of the information supplied in this variable. A device
+ may implement more than one algorithm; selecting among those
+ algorithms is not possible within this MIB.
+
+ The maximum length of this DisplayString is 255 octets."
+ ::= { pagpProtocolConfigEntry 5 }
+
+pagpPartnerCount OBJECT-TYPE
+ SYNTAX INTEGER { none(1), one(2), many(3) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of other devices known to be transmitting PAgP
+packets
+ to this device on this physical interface.
+
+ If pagpPartnerCount contains none(1), then the values of
+ the remainder of the variables in this section are as defined
+ by each variable for this case.
+
+ If pagpPartnerCount contains one(2), then the values of the
+ remainder of the variables in this section are valid.
+
+ If pagpPartnerCount contains many(3), then the values of
+ the remainder of the variables in this section reflect the
+ last PAgP packet received. The values in this section are,
+ in this case, unreliable, as they may change with the receipt
+ of each new PAgP packet on this interface."
+ ::= { pagpProtocolConfigEntry 6 }
+
+pagpPartnerDeviceId OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "MAC Address of the partner, obtained from
+ the PAgP packet last received on this interface. Contains
+ all 0 if pagpPartnerCount contains none(1)."
+ ::= { pagpProtocolConfigEntry 7 }
+
+pagpPartnerLearnMethod OBJECT-TYPE
+ SYNTAX PagpLearnMethod
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the partner's pagpLearnMethod value, obtained from
+ the PAgP packet last received on this interface.
+ undefined(3) if pagpPartnerCount contains none(1)."
+ ::= { pagpProtocolConfigEntry 8 }
+
+pagpPartnerPortPriority OBJECT-TYPE
+ SYNTAX PagpPortPriority
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the partner's pagpPortPriority, obtained from the
+ PAgP packet last received on this interface. 0 if
+ pagpPartnerCount contains none(1)."
+ ::= { pagpProtocolConfigEntry 9 }
+
+pagpPartnerIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the partner's ifIndex value, obtained from the
+ PAgP packet last received on this interface. 0 if
+ pagpPartnerCount contains none(1).
+
+ Use CISCO-CDP-MIB cdpCacheTable to resolve the partner's IP
+ Address and get ifTable information for this ifIndex."
+ ::= { pagpProtocolConfigEntry 10 }
+
+pagpPartnerGroupCapability OBJECT-TYPE
+ SYNTAX PagpGroupCapability
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the partner's pagpOperGroupCapability obtained
+from
+ the PAgP packet last received on this interface. 0 if
+ pagpPartnerCount contains none(1)"
+ ::= { pagpProtocolConfigEntry 11 }
+
+pagpPartnerGroupIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the partner's pagpGroupIfIndex obtained from the
+ PAgP packet last received on this interface. 0 if
+ pagpPartnerCount contains none(1)."
+ ::= { pagpProtocolConfigEntry 12 }
+
+pagpPartnerDeviceName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The DisplayString obtained from the PAgP packet last received
+on
+ this interface. 0-length string if pagpPartnerCount contains
+ none(1), or if no device name has been received.
+
+ The value transmitted in a PAgP information packet should be the
+ sysName value of the device sending the packet.
+
+ The maximum size of this DisplayString is 255 octets."
+ ::= { pagpProtocolConfigEntry 13 }
+
+pagpPartnerPortName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The DisplayString obtained from the PAgP packet last received
+on
+ this interface. 0-length string if pagpPartnerCount contains
+ none(1), or if no port name has been received.
+
+ The value transmitted in a PAgP packet should be the ifName
+ value of the interface on the device sending the packet.
+
+ The maximum size of this DisplayString is 255 octets."
+ ::= { pagpProtocolConfigEntry 14 }
+
+pagpPartnerAgportMACAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The MacAddress obtained from the PAgP packet last received on
+ this interface. All 0 if pagpPartnerCount contains none(1) or
+if
+ no agport MacAddress has been received in a PAgP packet.
+
+ If this value is not all 0, then the device sending the TLV is
+ promising to use this MAC address, and only this MAC address, in
+ all frames it sends on the agport."
+ ::= { pagpProtocolConfigEntry 15 }
+
+
+
+-- per-interface Port Aggregation Protocol operation statistics
+
+pagpProtocolStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PagpProtocolStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of per-interface Port Aggregation Protocol
+ statistics. The entries in this table are
+ present only on an interface that is capable both of
+implementing
+ Fast Etherchannel, and can be controlled by the PAgP protocol.
+ The agport itself is not represented in this table."
+ ::= { pagpProtocol 2 }
+
+pagpProtocolStatsEntry OBJECT-TYPE
+ SYNTAX PagpProtocolStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry describes the accumulated statistics of the PAgP
+ protocol operation on the aggregated interface."
+ INDEX { ifIndex }
+ ::= { pagpProtocolStatsTable 1 }
+
+PagpProtocolStatsEntry ::= SEQUENCE {
+ pagpInPackets Counter32,
+ pagpOutPackets Counter32,
+ pagpInFlushes Counter32,
+ pagpReturnedFlushes Counter32,
+ pagpOutFlushes Counter32,
+ pagpInErrors Counter32
+}
+
+pagpInPackets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of PAgP information packets received on this interface."
+ ::= { pagpProtocolStatsEntry 3 }
+
+pagpOutPackets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of PAgP information packets transmitted on this
+interface."
+ ::= { pagpProtocolStatsEntry 4 }
+
+pagpInFlushes OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of PAgP flush packets received and echoed on this
+ interface not matching any pagpDeviceId belonging to the managed
+ device. This counts PAgP flush packets originated by another
+ device, and indicates that the other device 1) implements the
+PAgP
+ flush feature, and 2) uses that feature to prevent mis-ordering
+ data frames within an ordered stream."
+ ::= { pagpProtocolStatsEntry 5 }
+
+pagpReturnedFlushes OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of PAgP flush packets received on this interface
+ matching some pagpDeviceId belonging to this device. This
+counts
+ PAgP flush packets which were originated by the managed device
+and
+ returned to it by another device, and indicates that 1) the
+ managed device implements the PAgP flush protocol; and 2) the
+ other device correctly returns PAgP flush protocol packets."
+ ::= { pagpProtocolStatsEntry 6 }
+
+pagpOutFlushes OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of PAgP flush packets generated on this interface. Does
+ not count flush packets counted in pagpInFlushes and returned to
+ the sender. If pagpOutFlushes is counting and
+pagpReturnedFlushes
+ is not, the other device may not be returning PAgP flush
+packets."
+ ::= { pagpProtocolStatsEntry 7 }
+
+pagpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of packet received on this interface which were
+identified
+ by the encapsulation as being PAgP packets (of any type, e.g.
+ information or flush), but which were not valid packets because
+ of length, version, number of TLVs, or an illegal value in an
+ enumerated field."
+ ::= { pagpProtocolStatsEntry 8 }
+
+-- Notifications
+-- (none)
+
+-- Conformance information
+
+ciscoPagpMIBConformance
+ OBJECT IDENTIFIER ::= { ciscoPagpMIB 3 }
+
+ciscoPagpMIBCompliances
+ OBJECT IDENTIFIER ::= { ciscoPagpMIBConformance 1 }
+
+ciscoPagpMIBGroups
+ OBJECT IDENTIFIER ::= { ciscoPagpMIBConformance 2 }
+
+-- Conformance
+
+ciscoPagpMIBComplianceV1R1 MODULE-COMPLIANCE
+
+ STATUS obsolete
+ DESCRIPTION
+ "Conformance statement for the Fast Ethernet and Port
+ Aggregation Protocol MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ciscoPagpEthcGroupV1R1}
+
+ GROUP ciscoPagpPagpGroupV1R1
+ DESCRIPTION
+ "This group is mandatory for all interfaces which
+ implement the Port Aggregation Protocol (PAgP), and which
+ the value pagpOn(3) in the pagpEthcOperationMode variable."
+
+ OBJECT pagpEthcOperationMode
+ SYNTAX INTEGER { off(1), manual(2) }
+ DESCRIPTION
+ "Interfaces which do not implement the Port Aggregation
+ Protocol (PAgP) do not require the value pagpOn(3)."
+ ::= { ciscoPagpMIBCompliances 1 }
+
+ciscoPagpMIBComplianceV2R2 MODULE-COMPLIANCE
+
+ STATUS current
+ DESCRIPTION
+ "Conformance statement for the Fast Ethernet and Port
+ Aggregation Protocol MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ciscoPagpEthcGroupV2R2}
+
+ GROUP ciscoPagpPagpGroupV1R1
+ DESCRIPTION
+ "This group is mandatory for all interfaces which
+ implement the Port Aggregation Protocol (PAgP), and which
+ the value pagpOn(3) in the pagpEthcOperationMode variable."
+
+ OBJECT pagpEthcOperationMode
+ SYNTAX INTEGER { off(1), manual(2) }
+ DESCRIPTION
+ "Interfaces which do not implement the Port Aggregation
+ Protocol (PAgP) do not require the value pagpOn(3)."
+ ::= { ciscoPagpMIBCompliances 2 }
+
+-- Units of conformance
+
+ciscoPagpEthcGroupV1R1 OBJECT-GROUP
+ OBJECTS {
+ pagpEthcOperationMode,
+ pagpDeviceId,
+ pagpPhysGroupCapability,
+ pagpOperGroupCapability,
+ pagpAdminGroupCapability,
+ pagpPortPriority,
+ pagpLearnMethod,
+ pagpGroupIfIndex
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "The collection of objects which are used
+ to configure and monitor the Fast Etherchannel
+ operation and interface group-capability."
+ ::= { ciscoPagpMIBGroups 1 }
+
+ciscoPagpPagpGroupV1R1 OBJECT-GROUP
+ OBJECTS {
+ pagpOperationMode,
+ pagpPortState,
+ pagpLastStateChange,
+ pagpHelloFrequency,
+ pagpDistributionAlgorithm,
+ pagpPartnerCount,
+ pagpPartnerDeviceId,
+ pagpPartnerLearnMethod,
+ pagpPartnerPortPriority,
+ pagpPartnerIfIndex,
+ pagpPartnerGroupCapability,
+ pagpPartnerGroupIfIndex,
+ pagpPartnerDeviceName,
+ pagpPartnerPortName,
+ pagpPartnerAgportMACAddress,
+ pagpInPackets,
+ pagpOutPackets,
+ pagpInFlushes,
+ pagpReturnedFlushes,
+ pagpOutFlushes,
+ pagpInErrors
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used
+ to configure and monitor the Port Aggregation Protocol
+ (PAgP) for the automatic negotiation and configuration of
+ Fast Etherchannel."
+ ::= { ciscoPagpMIBGroups 2 }
+
+ciscoPagpEthcGroupV2R2 OBJECT-GROUP
+ OBJECTS {
+ pagpEthcOperationMode,
+ pagpDeviceId,
+ pagpPhysGroupCapability,
+ pagpOperGroupCapability,
+ pagpAdminGroupCapability,
+ pagpPortPriority,
+ pagpLearnMethod,
+ pagpGroupIfIndex,
+ pagpDistributionProtocol,
+ pagpDistributionAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used
+ to configure and monitor the Fast Etherchannel
+ operation and interface group-capability."
+ ::= { ciscoPagpMIBGroups 3 }
+END
+
+
diff --git a/mibs/OLD-CISCO-INTERFACES-MIB.my b/mibs/OLD-CISCO-INTERFACES-MIB.my
new file mode 100644
index 000000000..249795964
--- /dev/null
+++ b/mibs/OLD-CISCO-INTERFACES-MIB.my
@@ -0,0 +1,1405 @@
+-- *****************************************************************
+-- OLD-CISCO-INTERFACES-MIB.my: Cisco Interfaces MIB file
+--
+-- May 1994, Jeffrey T. Johnson
+--
+-- Copyright (c) 1994,1997 by cisco Systems, Inc.
+-- All rights reserved.
+--
+-- *****************************************************************
+--
+
+ OLD-CISCO-INTERFACES-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ Counter
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212
+ DisplayString, ifIndex
+ FROM RFC1213-MIB
+ local
+ FROM CISCO-SMI;
+
+ linterfaces OBJECT IDENTIFIER ::= { local 2 }
+
+
+ -- Local Interface Group
+
+ -- This group is present in all products.
+
+
+ -- Local Interface Table
+
+ -- This group provides additional objects to the table
+ -- defined by RFC1156.
+
+ lifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LifEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of interface entries."
+ ::= { linterfaces 1 }
+
+ lifEntry OBJECT-TYPE
+ SYNTAX LifEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of additional objects in the
+ cisco interface."
+ INDEX { ifIndex }
+ ::= { lifTable 1 }
+
+ LifEntry ::=
+ SEQUENCE {
+ locIfHardType
+ DisplayString,
+ locIfLineProt
+ INTEGER,
+ locIfLastIn
+ INTEGER,
+ locIfLastOut
+ INTEGER,
+ locIfLastOutHang
+ INTEGER,
+ locIfInBitsSec
+ INTEGER,
+ locIfInPktsSec
+ INTEGER,
+ locIfOutBitsSec
+ INTEGER,
+ locIfOutPktsSec
+ INTEGER,
+ locIfInRunts
+ INTEGER,
+ locIfInGiants
+ INTEGER,
+ locIfInCRC
+ INTEGER,
+ locIfInFrame
+ INTEGER,
+ locIfInOverrun
+ INTEGER,
+ locIfInIgnored
+ INTEGER,
+ locIfInAbort
+ INTEGER,
+ locIfResets
+ INTEGER,
+ locIfRestarts
+ INTEGER,
+ locIfKeep
+ INTEGER,
+ locIfReason
+ DisplayString,
+ locIfCarTrans
+ INTEGER,
+ locIfReliab
+ INTEGER,
+ locIfDelay
+ INTEGER,
+ locIfLoad
+ INTEGER,
+ locIfCollisions
+ INTEGER,
+ locIfInputQueueDrops
+ INTEGER,
+ locIfOutputQueueDrops
+ INTEGER,
+ locIfDescr
+ DisplayString,
+ locIfSlowInPkts
+ Counter,
+ locIfSlowOutPkts
+ Counter,
+ locIfSlowInOctets
+ Counter,
+ locIfSlowOutOctets
+ Counter,
+ locIfFastInPkts
+ Counter,
+ locIfFastOutPkts
+ Counter,
+ locIfFastInOctets
+ Counter,
+ locIfFastOutOctets
+ Counter,
+ locIfotherInPkts
+ Counter,
+ locIfotherOutPkts
+ Counter,
+ locIfotherInOctets
+ Counter,
+ locIfotherOutOctets
+ Counter,
+ locIfipInPkts
+ Counter,
+ locIfipOutPkts
+ Counter,
+ locIfipInOctets
+ Counter,
+ locIfipOutOctets
+ Counter,
+ locIfdecnetInPkts
+ Counter,
+ locIfdecnetOutPkts
+ Counter,
+ locIfdecnetInOctets
+ Counter,
+ locIfdecnetOutOctets
+ Counter,
+ locIfxnsInPkts
+ Counter,
+ locIfxnsOutPkts
+ Counter,
+ locIfxnsInOctets
+ Counter,
+ locIfxnsOutOctets
+ Counter,
+ locIfclnsInPkts
+ Counter,
+ locIfclnsOutPkts
+ Counter,
+ locIfclnsInOctets
+ Counter,
+ locIfclnsOutOctets
+ Counter,
+ locIfappletalkInPkts
+ Counter,
+ locIfappletalkOutPkts
+ Counter,
+ locIfappletalkInOctets
+ Counter,
+ locIfappletalkOutOctets
+ Counter,
+ locIfnovellInPkts
+ Counter,
+ locIfnovellOutPkts
+ Counter,
+ locIfnovellInOctets
+ Counter,
+ locIfnovellOutOctets
+ Counter,
+ locIfapolloInPkts
+ Counter,
+ locIfapolloOutPkts
+ Counter,
+ locIfapolloInOctets
+ Counter,
+ locIfapolloOutOctets
+ Counter,
+ locIfvinesInPkts
+ Counter,
+ locIfvinesOutPkts
+ Counter,
+ locIfvinesInOctets
+ Counter,
+ locIfvinesOutOctets
+ Counter,
+ locIfbridgedInPkts
+ Counter,
+ locIfbridgedOutPkts
+ Counter,
+ locIfbridgedInOctets
+ Counter,
+ locIfbridgedOutOctets
+ Counter,
+ locIfsrbInPkts
+ Counter,
+ locIfsrbOutPkts
+ Counter,
+ locIfsrbInOctets
+ Counter,
+ locIfsrbOutOctets
+ Counter,
+ locIfchaosInPkts
+ Counter,
+ locIfchaosOutPkts
+ Counter,
+ locIfchaosInOctets
+ Counter,
+ locIfchaosOutOctets
+ Counter,
+ locIfpupInPkts
+ Counter,
+ locIfpupOutPkts
+ Counter,
+ locIfpupInOctets
+ Counter,
+ locIfpupOutOctets
+ Counter,
+ locIfmopInPkts
+ Counter,
+ locIfmopOutPkts
+ Counter,
+ locIfmopInOctets
+ Counter,
+ locIfmopOutOctets
+ Counter,
+ locIflanmanInPkts
+ Counter,
+ locIflanmanOutPkts
+ Counter,
+ locIflanmanInOctets
+ Counter,
+ locIflanmanOutOctets
+ Counter,
+ locIfstunInPkts
+ Counter,
+ locIfstunOutPkts
+ Counter,
+ locIfstunInOctets
+ Counter,
+ locIfstunOutOctets
+ Counter,
+ locIfspanInPkts
+ Counter,
+ locIfspanOutPkts
+ Counter,
+ locIfspanInOctets
+ Counter,
+ locIfspanOutOctets
+ Counter,
+ locIfarpInPkts
+ Counter,
+ locIfarpOutPkts
+ Counter,
+ locIfarpInOctets
+ Counter,
+ locIfarpOutOctets
+ Counter,
+ locIfprobeInPkts
+ Counter,
+ locIfprobeOutPkts
+ Counter,
+ locIfprobeInOctets
+ Counter,
+ locIfprobeOutOctets
+ Counter,
+ locIfDribbleInputs
+ Counter
+ }
+
+
+ -- The following section describes the components of the
+ -- table.
+
+ locIfHardType OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Returns the type of interface."
+ ::= { lifEntry 1 }
+
+ locIfLineProt OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Boolean whether interface line protocol is
+ up or not."
+ ::= { lifEntry 2 }
+
+ locIfLastIn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Elapsed time in milliseconds since last line
+ protocol input packet was received."
+ ::= { lifEntry 3 }
+
+ locIfLastOut OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Elapsed time in milliseconds since last line
+ protocol output packet was transmitted."
+ ::= { lifEntry 4 }
+
+ locIfLastOutHang OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Elapsed time in milliseconds since last line
+ protocol output packet could not be
+ successfully transmitted."
+ ::= { lifEntry 5 }
+
+ locIfInBitsSec OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Five minute exponentially-decayed moving
+ average of input bits per second."
+ ::= { lifEntry 6 }
+
+ locIfInPktsSec OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Five minute exponentially-decayed moving
+ average of input packets per second."
+ ::= { lifEntry 7 }
+
+ locIfOutBitsSec OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Five minute exponentially-decayed moving
+ average of output bits per second."
+ ::= { lifEntry 8 }
+
+ locIfOutPktsSec OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Five minute exponentially-decayed moving
+ average of output packets per second."
+ ::= { lifEntry 9 }
+
+ locIfInRunts OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of packets input which were smaller
+ then the allowable physical media permitted."
+ ::= { lifEntry 10 }
+
+ locIfInGiants OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of input packets which were larger
+ then the physical media permitted."
+ ::= { lifEntry 11 }
+
+ locIfInCRC OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of input packets which had cyclic
+ redundancy checksum errors."
+ ::= { lifEntry 12 }
+
+ locIfInFrame OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of input packet which were
+ misaligned."
+ ::= { lifEntry 13 }
+
+ locIfInOverrun OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Count of input which arrived too quickly for
+ the to hardware receive."
+ ::= { lifEntry 14 }
+
+ locIfInIgnored OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of input packets which were simply
+ ignored by this interface."
+ ::= { lifEntry 15 }
+
+ locIfInAbort OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of input packets which were aborted."
+ ::= { lifEntry 16 }
+
+ locIfResets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of times the interface internally
+ reset."
+ ::= { lifEntry 17 }
+
+ locIfRestarts OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of times interface needed to be
+ completely restarted."
+ ::= { lifEntry 18 }
+
+ locIfKeep OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Boolean whether keepalives are enabled on
+ this interface."
+ ::= { lifEntry 19 }
+
+ locIfReason OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Reason for interface last status change."
+ ::= { lifEntry 20 }
+
+ locIfCarTrans OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Number of times interface saw the carrier
+ signal transition."
+ ::= { lifEntry 21 }
+
+ locIfReliab OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The reliability of the interface. Used by
+ IGRP."
+ ::= { lifEntry 22 }
+
+ locIfDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The amount of delay in microseconds of the
+ interface. Used by IGRP."
+ ::= { lifEntry 23 }
+
+ locIfLoad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The loading factor of the interface. Used by
+ IGRP."
+ ::= { lifEntry 24 }
+
+ locIfCollisions OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output collisions detected on
+ this interface."
+ ::= { lifEntry 25 }
+
+ locIfInputQueueDrops OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets dropped because the
+ input queue was full."
+ ::= { lifEntry 26 }
+
+ locIfOutputQueueDrops OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets dropped because the
+ output queue was full."
+ ::= { lifEntry 27 }
+
+ locIfDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "User configurable interface description."
+ ::= { lifEntry 28 }
+
+ locIfSlowInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Packet count for Inbound traffic routed with
+ slow switching"
+ ::= { lifEntry 30 }
+
+ locIfSlowOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Packet count for Outbound traffic routed
+ with slow switching"
+ ::= { lifEntry 31 }
+
+ locIfSlowInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Octet count for Inbound traffic routed with
+ slow switching"
+ ::= { lifEntry 32 }
+
+ locIfSlowOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Octet count for Outbound traffic routed with
+ slow switching"
+ ::= { lifEntry 33 }
+
+ locIfFastInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Packet count for Inbound traffic routed with
+ fast switching"
+ ::= { lifEntry 34 }
+
+ locIfFastOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Packet count for Outbound traffic routed
+ with fast switching"
+ ::= { lifEntry 35 }
+
+ locIfFastInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Octet count for Inbound traffic routed with
+ fast switching"
+ ::= { lifEntry 36 }
+
+ locIfFastOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Octet count for Outbound traffic routed with
+ fast switching"
+ ::= { lifEntry 37 }
+
+ locIfotherInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Other protocol input packet count"
+ ::= { lifEntry 38 }
+
+ locIfotherOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Other protocol output packet count"
+ ::= { lifEntry 39 }
+
+ locIfotherInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Other protocol input octet count"
+ ::= { lifEntry 40 }
+
+ locIfotherOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Other protocol output octet count"
+ ::= { lifEntry 41 }
+
+ locIfipInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "ip protocol input packet count"
+ ::= { lifEntry 42 }
+
+ locIfipOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "ip protocol output packet count"
+ ::= { lifEntry 43 }
+
+ locIfipInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "ip protocol input octet count"
+ ::= { lifEntry 44 }
+
+ locIfipOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "ip protocol output octet count"
+ ::= { lifEntry 45 }
+
+ locIfdecnetInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Decnet protocol input packet count"
+ ::= { lifEntry 46 }
+
+ locIfdecnetOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Decnet protocol output packet count"
+ ::= { lifEntry 47 }
+
+ locIfdecnetInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Decnet protocol input byte count"
+ ::= { lifEntry 48 }
+
+ locIfdecnetOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Decnet protocol output byte count"
+ ::= { lifEntry 49 }
+
+ locIfxnsInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "XNS protocol input packet count"
+ ::= { lifEntry 50 }
+
+ locIfxnsOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "XNS protocol output packet count"
+ ::= { lifEntry 51 }
+
+ locIfxnsInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "XNS protocol input byte count"
+ ::= { lifEntry 52 }
+
+ locIfxnsOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "XNS protocol output byte count"
+ ::= { lifEntry 53 }
+
+ locIfclnsInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "CLNS protocol input packet count"
+ ::= { lifEntry 54 }
+
+ locIfclnsOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "CLNS protocol output packet count"
+ ::= { lifEntry 55 }
+
+ locIfclnsInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "CLNS protocol input byte count"
+ ::= { lifEntry 56 }
+
+ locIfclnsOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "CLNS protocol output byte count"
+ ::= { lifEntry 57 }
+
+ locIfappletalkInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Appletalk protocol input packet count"
+ ::= { lifEntry 58 }
+
+ locIfappletalkOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Appletalk protocol output packet count"
+ ::= { lifEntry 59 }
+
+ locIfappletalkInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Appletalk protocol input octet count"
+ ::= { lifEntry 60 }
+
+ locIfappletalkOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Appletalk protocol output octet count"
+ ::= { lifEntry 61 }
+
+ locIfnovellInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Novell protocol input packet count"
+ ::= { lifEntry 62 }
+
+ locIfnovellOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Novell protocol output packet count"
+ ::= { lifEntry 63 }
+
+ locIfnovellInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Novell protocol input octet count"
+ ::= { lifEntry 64 }
+
+ locIfnovellOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Novell protocol output octet count"
+ ::= { lifEntry 65 }
+
+ locIfapolloInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Apollo protocol input packet count"
+ ::= { lifEntry 66 }
+
+ locIfapolloOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Apollo protocol output packet count"
+ ::= { lifEntry 67 }
+
+ locIfapolloInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Apollo protocol input octet count"
+ ::= { lifEntry 68 }
+
+ locIfapolloOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Apollo protocol output octet count"
+ ::= { lifEntry 69 }
+
+ locIfvinesInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Vines protocol input packet count"
+ ::= { lifEntry 70 }
+
+ locIfvinesOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Vines protocol output packet count"
+ ::= { lifEntry 71 }
+
+ locIfvinesInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Vines protocol input octet count"
+ ::= { lifEntry 72 }
+
+ locIfvinesOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Vines protocol output octet count"
+ ::= { lifEntry 73 }
+
+ locIfbridgedInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Bridged protocol input packet count"
+ ::= { lifEntry 74 }
+
+ locIfbridgedOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Bridged protocol output packet count"
+ ::= { lifEntry 75 }
+
+ locIfbridgedInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Bridged protocol input octet count"
+ ::= { lifEntry 76 }
+
+ locIfbridgedOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Bridged protocol output octet count"
+ ::= { lifEntry 77 }
+
+ locIfsrbInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "SRB protocol input packet count"
+ ::= { lifEntry 78 }
+
+ locIfsrbOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "SRB protocol output packet count"
+ ::= { lifEntry 79 }
+
+ locIfsrbInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "SRB protocol input octet count"
+ ::= { lifEntry 80 }
+
+ locIfsrbOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "SRB protocol output octet count"
+ ::= { lifEntry 81 }
+
+ locIfchaosInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Choas protocol input packet count"
+ ::= { lifEntry 82 }
+
+ locIfchaosOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Choas protocol output packet count"
+ ::= { lifEntry 83 }
+
+ locIfchaosInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Choas protocol input octet count"
+ ::= { lifEntry 84 }
+
+ locIfchaosOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Choas protocol output octet count"
+ ::= { lifEntry 85 }
+
+ locIfpupInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "PUP protocol input packet count"
+ ::= { lifEntry 86 }
+
+ locIfpupOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "PUP protocol output packet count"
+ ::= { lifEntry 87 }
+
+ locIfpupInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "PUP protocol input octet count"
+ ::= { lifEntry 88 }
+
+ locIfpupOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "PUP protocol output octet count"
+ ::= { lifEntry 89 }
+
+ locIfmopInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "MOP protocol input packet count"
+ ::= { lifEntry 90 }
+
+ locIfmopOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "MOP protocol output packet count"
+ ::= { lifEntry 91 }
+
+ locIfmopInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "MOP protocol input octet count"
+ ::= { lifEntry 92 }
+
+ locIfmopOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "MOP protocol output octet count"
+ ::= { lifEntry 93 }
+
+ locIflanmanInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "LanMan protocol input packet count"
+ ::= { lifEntry 94 }
+
+ locIflanmanOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "LanMan protocol output packet count"
+ ::= { lifEntry 95 }
+
+ locIflanmanInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "LanMan protocol input octet count"
+ ::= { lifEntry 96 }
+
+ locIflanmanOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "LanMan protocol output octet count"
+ ::= { lifEntry 97 }
+
+ locIfstunInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "STUN protocol input packet count"
+ ::= { lifEntry 98 }
+
+ locIfstunOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "STUN protocol output packet count"
+ ::= { lifEntry 99 }
+
+ locIfstunInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "STUN protocol input octet count"
+ ::= { lifEntry 100 }
+
+ locIfstunOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "STUN protocol output octet count"
+ ::= { lifEntry 101 }
+
+ locIfspanInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Spanning tree input protocol packet count"
+ ::= { lifEntry 102 }
+
+ locIfspanOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Spanning tree output protocol packet count"
+ ::= { lifEntry 103 }
+
+ locIfspanInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Spanning tree input octet packet count"
+ ::= { lifEntry 104 }
+
+ locIfspanOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Spanning tree output octet packet count"
+ ::= { lifEntry 105 }
+
+ locIfarpInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Arp protocol input packet count"
+ ::= { lifEntry 106 }
+
+ locIfarpOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Arp protocol output packet count"
+ ::= { lifEntry 107 }
+
+ locIfarpInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Arp protocol input octet count"
+ ::= { lifEntry 108 }
+
+ locIfarpOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Arp protocol output octet count"
+ ::= { lifEntry 109 }
+
+ locIfprobeInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Probe protocol input packet count"
+ ::= { lifEntry 110 }
+
+ locIfprobeOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Probe protocol output packet count"
+ ::= { lifEntry 111 }
+
+ locIfprobeInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Probe protocol input octet count"
+ ::= { lifEntry 112 }
+
+ locIfprobeOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Probe protocol output octet count"
+ ::= { lifEntry 113 }
+
+ locIfDribbleInputs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets received with the
+ dribble condition present"
+ ::= { lifEntry 114 }
+
+ -- End of table
+
+
+
+ -- Local FSIP card Table, also used for 4T, HSSI, Mx serial
+
+ -- This group provides additional objects to the table
+ -- defined by RFC1156.
+
+ lFSIPTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LFSIPEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of card entries for 4T, HSSI,
+ Mx serial or FSIP."
+ ::= { linterfaces 2 }
+
+ lFSIPEntry OBJECT-TYPE
+ SYNTAX LFSIPEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of objects specific to 4T,
+ HSSI, Mx serial or FSIP."
+ INDEX { locIfFSIPIndex }
+ ::= { lFSIPTable 1 }
+
+ LFSIPEntry ::=
+ SEQUENCE {
+ locIfFSIPIndex
+ INTEGER,
+ locIfFSIPtype
+ INTEGER,
+ locIfFSIPrts
+ INTEGER,
+ locIfFSIPcts
+ INTEGER,
+ locIfFSIPdtr
+ INTEGER,
+ locIfFSIPdcd
+ INTEGER,
+ locIfFSIPdsr
+ INTEGER,
+ locIfFSIPrxClockrate
+ INTEGER,
+ locIfFSIPrxClockrateHi
+ INTEGER,
+ locIfFSIPportType
+ INTEGER
+ }
+
+
+ -- The following section describes the components of the
+ -- table.
+
+ locIfFSIPIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Interface index of this card corresponding
+ to its ifIndex"
+ ::= { lFSIPEntry 1 }
+
+ locIfFSIPtype OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ dte(2),
+ dce(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is this FSIP line DCE or DTE"
+ ::= { lFSIPEntry 2 }
+
+ locIfFSIPrts OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ up(2),
+ down(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is the RTS signal up or down"
+ ::= { lFSIPEntry 3 }
+
+ locIfFSIPcts OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ up(2),
+ down(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is the CTS signal up or down"
+ ::= { lFSIPEntry 4 }
+
+ locIfFSIPdtr OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ up(2),
+ down(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is the DTR signal up or down"
+ ::= { lFSIPEntry 5 }
+
+ locIfFSIPdcd OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ up(2),
+ down(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is the DCD signal up or down"
+ ::= { lFSIPEntry 6 }
+
+ locIfFSIPdsr OBJECT-TYPE
+ SYNTAX INTEGER {
+ notAvailable(1),
+ up(2),
+ down(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Is the DSR signal up or down"
+ ::= { lFSIPEntry 7 }
+
+ locIfFSIPrxClockrate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Received clock rate"
+ ::= { lFSIPEntry 8 }
+
+ locIfFSIPrxClockrateHi OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Use when received clock rate
+ is greater than 2^32 (gigabits)."
+ ::= { lFSIPEntry 9 }
+
+ -- PortType is modeled after rs232PortType
+ -- in RS-232-MIB.my
+
+ locIfFSIPportType OBJECT-TYPE
+ SYNTAX INTEGER {
+ noCable(1),
+ rs232(2),
+ rs422(3),
+ rs423(4),
+ v35(5),
+ x21(6),
+ rs449(7),
+ rs530(8),
+ hssi(9)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Cable Type of 4T, HSSI, Mx serial or FSIP"
+ ::= { lFSIPEntry 10 }
+
+ -- End of table
+
+
+END
diff --git a/new-poller.php b/new-poller.php
index b08747a2b..ab02a8274 100755
--- a/new-poller.php
+++ b/new-poller.php
@@ -13,6 +13,7 @@ function snmp_array($oid, $device, $array, $mib = 0) {
$cmd .= $oid;
$data = trim(shell_exec($cmd));
$device_id = $device['device_id'];
+ echo("Caching: $oid\n");
foreach(explode("\n", $data) as $entry) {
list ($this_oid, $this_value) = split("=", $entry);
list ($this_oid, $this_index) = explode(".", $this_oid);
@@ -26,26 +27,72 @@ function snmp_array($oid, $device, $array, $mib = 0) {
return $array;
}
-
$i = 0;
$device_query = mysql_query("SELECT * FROM `devices` WHERE `ignore` = '0' AND `disabled` = '0' AND `status` = '1' $where ORDER BY device_id DESC");
while ($device = mysql_fetch_array($device_query)) {
- echo($device['hostname'] . "\n");
+ echo("-> " . $device['hostname'] . "\n");
$i++;
- $data_oids = array('ifName','ifDescr','ifAlias', 'ifAdminStatus', 'ifOperStatus', 'ifMtu', 'ifSpeed', 'ifHCSpeed', 'ifType', 'ifPhysAddress');
+
+ // Build SNMP Cache Array
+ $data_oids = array('ifName','ifDescr','ifAlias', 'ifAdminStatus', 'ifOperStatus', 'ifMtu', 'ifSpeed', 'ifHighSpeed', 'ifType', 'ifPhysAddress');
$stat_oids = array('ifHCInOctets', 'ifHCOutOctets', 'ifInErrors', 'ifOutErrors', 'ifInUcastPkts', 'ifOutUcastPkts', 'ifInNUcastPkts', 'ifOutNUcastPkts');
- $cisco_oids = array('locIfHardType', 'vmVlan', 'vlanTrunkPortEncapsulationOperType');
+ $etherlike_oids = array('dot3StatsAlignmentErrors', 'dot3StatsFCSErrors', 'dot3StatsSingleCollisionFrames', 'dot3StatsMultipleCollisionFrames', 'dot3StatsSQETestErrors', 'dot3StatsDeferredTransmissions', 'dot3StatsLateCollisions', 'dot3StatsExcessiveCollisions', 'dot3StatsInternalMacTransmitErrors', 'dot3StatsCarrierSenseErrors', 'dot3StatsFrameTooLongs', 'dot3StatsInternalMacReceiveErrors', 'dot3StatsSymbolErrors', 'dot3StatsDuplexStatus');
+ $cisco_oids = array('locIfHardType', 'vmVlan', 'vlanTrunkPortEncapsulationOperType', 'vlanTrunkPortNativeVlan', 'locIfInRunts', 'locIfInGiants', 'locIfInCRC', 'locIfInFrame', 'locIfInOverrun', 'locIfInIgnored', 'locIfInAbort', 'locIfCollisions', 'locIfInputQueueDrops', 'locIfOutputQueueDrops');
+ $pagp_oids = array('pagpOperationMode', 'pagpPortState', 'pagpPartnerDeviceId', 'pagpPartnerLearnMethod', 'pagpPartnerIfIndex', 'pagpPartnerGroupIfIndex', 'pagpPartnerDeviceName', 'pagpEthcOperationMode', 'pagpDeviceId', 'pagpGroupIfIndex');
foreach ($data_oids as $oid) {
- $array = snmp_array($oid, $device, $array);
+# $array = snmp_array($oid, $device, $array);
}
foreach ($stat_oids as $oid) {
- $array = snmp_array($oid, $device, $array);
+# $array = snmp_array($oid, $device, $array);
+ }
+ foreach ($etherlike_oids as $oid) {
+# $array = snmp_array($oid, $device, $array, "EtherLike-MIB");
}
foreach ($cisco_oids as $oid) {
- $array = snmp_array($oid, $device, $array, "CISCO-SMI:CISCO-VLAN-MEMBERSHIP-MIB:CISCO-VTP-MIB");
+# $array = snmp_array($oid, $device, $array, "CISCO-SMI:CISCO-VLAN-MEMBERSHIP-MIB:CISCO-VTP-MIB:OLD-CISCO-INTERFACES-MIB");
+ }
+ foreach ($pagp_oids as $oid) {
+ $array = snmp_array($oid, $device, $array, "CISCO-PAGP-MIB");
+ }
+ // End Building SNMP Cache Array
+
+ // New interface detection
+ ///// TO DO
+ // End New interface detection
+
+ // Loop interfaces in the DB and update where necessary
+
+ $port_query = mysql_query("SELECT * FROM `interfaces` WHERE `device_id` = '".$device['device_id']."'");
+ while ($port = mysql_fetch_array($port_query)) {
+ echo(" --> " . $port['ifDescr'] . " ");
+ if($array[$device[device_id]][$port[ifIndex]]) { // Check to make sure Port data is cached.
+ $this_port = $array[$device[device_id]][$port[ifIndex]];
+ if($this_port['pagpOperationMode']) { // Check if this port has PAgP enabled.
+ echo($this_port['pagpOperationMode'] ." -> " . $port['pagpOperationMode'] . " ");
+ unset($separator); unset($update);
+ foreach ($pagp_oids as $oid) { // Loop the OIDs
+ if ( $this_port[$oid] != $port[$oid] ) { // If data has changed, build a query
+ $update .= $separator . "`$oid` = '".$this_port[$oid]."'";
+ $separator = ", ";
+ }
+ }
+ if ($update) {
+ $update_query = "UPDATE `interfaces` SET ";
+ $update_query .= $update;
+ $update_query .= " WHERE `interface_id` = '" . $port['interface_id'] . "'";
+ @mysql_query($update_query);
+ echo("PAgP ");
+ unset($separator); unset($update_query); unset($update);
+ }
+ }
+ } else {
+ echo("Port Deleted?"); // Port missing from SNMP cache?
+ }
+ echo("\n");
}
- print_r($array);
+ unset($array);
+ echo("\n");
}
echo("$i devices polled");