Provided by: libnet-snmp-interfaces-perl_1.4-3_all 

NAME
Net::SNMP::Interfaces::Details - Object methods to obtain interface data.
SYNOPSIS
$in_octets = $interface->ifInOctets();
DESCRIPTION
This class represents an individual interface as discovered by Net::SNMP::Interfaces. Although it is
possible to call the constructor directly it is primarily intended that these objects should be returned
by methods of Net::SNMP::Interfaces.
METHODS
new HASH $args
The constructor for the class. User code should probably never need to call the constructor directly
as Net::SNMP::Interface::Details objects are returned by the Net::SNMP::Interfaces methods
all_interfaces() and interface().
There are three mandatory arguments:
Session
A valid Net::SNMP object which will be used to make the requests for the interface information.
This Net::SNMP object should currently only be of the blocking variety as no provision has been
made for non-blocking requests at present.
Index
The SNMP ifTable index for this interface.
Name
The name of this interface (e.g. 'eth0' ).
The Name and Index arguments should have previously been obtained by SNMP requests to the same host
as the Session object has been created for.
name
Returns the name of this interface.
index
Returns the index of this interface.
session
Returns the Net::SNMP session object that is being used to make requests for this interface. This
probably is not needed but is here for completeness' sake.
error
Returns the text of the last error returned from SNMP session - will only be meaningful if the last
method call returned undef to indicate that an error had occurred.
IANAifType
Converts from an IANAifType integer value as will be returned by ifType to its text equivalent.
The remainder of the methods are named after the literal names for the SNMP entries for network
interfaces. The following descriptions are taken from the IF-MIB with some additional comment from the
author where necessary. If an error occurs in the SNMP session these methods will return undef and the
text of the error message can be determined by calling the error() method.
ifIndex
A unique value, greater than zero, for each interface. It is recommended that values are assigned
contiguously starting from 1. The value for each interface sub-layer must remain constant at least
from one re-initialization of the entity's network management system to the next re-initialization.
ifDescr
A textual string containing information about the interface. This string should include the name of
the manufacturer, the product name and the version of the interface hardware/software.
(In practice this will be name of the interface e.g. 'eth0')
ifType
The type of interface. Additional values for ifType are assigned by the Internet Assigned Numbers
Authority (IANA), through updating the syntax of the IANAifType textual convention.
ifMtu
The size of the largest packet which can be sent/received on the interface, specified in octets. For
interfaces that are used for transmitting network datagrams, this is the size of the largest network
datagram that can be sent on the interface.
ifSpeed
An estimate of the interface's current bandwidth in bits per second. For interfaces which do not
vary in bandwidth or for those where no accurate estimation can be made, this object should contain
the nominal bandwidth. If the bandwidth of the interface is greater than the maximum value
reportable by this object then this object should report its maximum value (4,294,967,295) and
ifHighSpeed must be used to report the interace's speed. For a sub-layer which has no concept of
bandwidth, this object should be zero.
ifPhysAddress
The interface's address at its protocol sub-layer. For example, for an 802.x interface, this object
normally contains a MAC address. The interface's media-specific MIB must define the bit and byte
ordering and the format of the value of this object. For interfaces which do not have such an
address (e.g., a serial line), this object should contain an octet string of zero length.
ifAdminStatus
The desired state of the interface. The testing(3) state indicates that no operational packets can
be passed. When a managed system initializes, all interfaces start with ifAdminStatus in the down(2)
state. As a result of either explicit management action or per configuration information retained by
the managed system, ifAdminStatus is then changed to either the up(1) or testing(3) states (or
remains in the down(2) state).
ifOperStatus
The current operational state of the interface. The testing(3) state indicates that no operational
packets can be passed. If ifAdminStatus is down(2) then ifOperStatus should be down(2). If
ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready
to transmit and receive network traffic; it should change to dormant(5) if the interface is waiting
for external actions (such as a serial line waiting for an incoming connection); it should remain in
the down(2) state if and only if there is a fault that prevents it from going to the up(1) state; it
should remain in the notPresent(6) state if the interface has missing (typically, hardware)
components.
ifLastChange
The value of sysUpTime at the time the interface entered its current operational state. If the
current state was entered prior to the last re-initialization of the local network management
subsystem, then this object contains a zero value.
ifInOctets
The total number of octets received on the interface, including framing characters. Discontinuities
in the value of this counter can occur at re-initialization of the management system, and at other
times as indicated by the value of ifCounterDiscontinuityTime.
ifInUcastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were not addressed
to a multicast or broadcast address at this sub-layer. Discontinuities in the value of this counter
can occur at re-initialization of the management system, and at other times as indicated by the value
of ifCounterDiscontinuityTime.
ifInNUcastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were addressed to a
multicast or broadcast address at this sub-layer. Discontinuities in the value of this counter can
occur at re-initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime. This object is deprecated in favour of ifInMulticastPkts and
ifInBroadcastPkts.
ifInDiscards
The number of inbound packets which were chosen to be discarded even though no errors had been
detected to prevent their being deliverable to a higher-layer protocol. One possible reason for
discarding such a packet could be to free up buffer space. Discontinuities in the value of this
counter can occur at re-initialization of the management system, and at other times as indicated by
the value of ifCounterDiscontinuityTime.
ifInErrors
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them
from being deliverable to a higher-layer protocol. For character-oriented or fixed-length
interfaces, the number of inbound transmission units that contained errors preventing them from being
deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at
re-initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifInUnknownProtos
For packet-oriented interfaces, the number of packets received via the interface which were discarded
because of an unknown or unsupported protocol. For character-oriented or fixed-length interfaces
that support protocol multiplexing the number of transmission units received via the interface which
were discarded because of an unknown or unsupported protocol. For any interface that does not
support protocol multiplexing, this counter will always be 0. Discontinuities in the value of this
counter can occur at re-initialization of the management system, and at other times as indicated by
the value of ifCounterDiscontinuityTime.
ifOutOctets
The total number of octets transmitted out of the interface, including framing characters.
Discontinuities in the value of this counter can occur at re-initialization of the management system,
and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifOutUcastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were not
addressed to a multicast or broadcast address at this sub-layer, including those that were discarded
or not sent. Discontinuities in the value of this counter can occur at re-initialization of the
management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifOutNUcastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were
addressed to a multicast or broadcast address at this sub-layer, including those that were discarded
or not sent. Discontinuities in the value of this counter can occur at re-initialization of the
management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. This
object is deprecated in favour of ifOutMulticastPkts and ifOutBroadcastPkts.
ifOutDiscards
The number of outbound packets which were chosen to be discarded even though no errors had been
detected to prevent their being transmitted. One possible reason for discarding such a packet could
be to free up buffer space. Discontinuities in the value of this counter can occur at re-
initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifOutErrors
For packet-oriented interfaces, the number of outbound packets that could not be transmitted because
of errors. For character-oriented or fixed-length interfaces, the number of outbound transmission
units that could not be transmitted because of errors. Discontinuities in the value of this counter
can occur at re-initialization of the management system, and at other times as indicated by the value
of ifCounterDiscontinuityTime.
ifOutQLen
The length of the output packet queue (in packets). This object has been deprecated as of rfc2863.
ifSpecific
A reference to MIB definitions specific to the particular media being used to realize the interface.
It is recommended that this value point to an instance of a MIB object in the media-specific MIB,
i.e., that this object have the semantics associated with the InstancePointer textual convention
defined in RFC 1903. In fact, it is recommended that the media- specific MIB specify what value
ifSpecific should/can take for values of ifType. If no MIB definitions specific to the particular
media are available, the value should be set to the OBJECT IDENTIFIER { 0 0 }.
These next methods are from the ifXTable as described in rfc2863:
This table contains objects that have been added to the Interface
MIB as a result of the Interface Evolution effort, or replacements
for objects of the original (MIB-II) ifTable that were deprecated
because the semantics of said objects have significantly changed.
This table also contains objects that were previously in the
ifExtnsTable.
These methods may not be available from all network elements and in those cases they will return undef.
ifName
The textual name of the interface. The value of this object should be the name of the interface as
assigned by the local device and should be suitable for use in commands entered at the device's
`console'. This might be a text name, such as `le0' or a simple port number, such as `1', depending
on the interface naming syntax of the device. If several entries in the ifTable together represent a
single interface as named by the device, then each will have the same value of ifName. Note that for
an agent which responds to SNMP queries concerning an interface on some other (proxied) device, then
the value of ifName for such an interface is the proxied device's local name for it. If there is no
local name, or this object is otherwise not applicable, then this object contains a zero-length
string.
ifInMulticastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were addressed to a
multicast address at this sub-layer. For a MAC layer protocol, this includes both Group and
Functional addresses. Discontinuities in the value of this counter can occur at re-initialization of
the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifInBroadcastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were addressed to a
broadcast address at this sub-layer. Discontinuities in the value of this counter can occur at re-
initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifOutMulticastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were
addressed to a multicast address at this sub-layer, including those that were discarded or not sent.
For a MAC layer protocol, this includes both Group and Functional addresses. Discontinuities in the
value of this counter can occur at re-initialization of the management system, and at other times as
indicated by the value of ifCounterDiscontinuityTime.
ifOutBroadcastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were
addressed to a broadcast address at this sub-layer, including those that were discarded or not sent.
Discontinuities in the value of this counter can occur at re-initialization of the management system,
and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifHCInOctets
The total number of octets received on the interface, including framing characters. This object is a
64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-
initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifHCInUcastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were not addressed
to a multicast or broadcast address at this sub-layer. This object is a 64-bit version of
ifInUcastPkts. Discontinuities in the value of this counter can occur at re-initialization of the
management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifHCInMulticastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were addressed to a
multicast address at this sub-layer. For a MAC layer protocol, this includes both Group and
Functional addresses. This object is a 64-bit version of ifInMulticastPkts. Discontinuities in the
value of this counter can occur at re-initialization of the management system, and at other times as
indicated by the value of ifCounterDiscontinuityTime.
ifHCInBroadcastPkts
The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were addressed to a
broadcast address at this sub-layer. This object is a 64-bit version of ifInBroadcastPkts.
Discontinuities in the value of this counter can occur at re-initialization of the management system,
and at other times as indicated by the value of ifCounterDiscontinuityTime.
ifHCOutOctets
The total number of octets transmitted out of the interface, including framing characters. This
object is a 64-bit version of ifOutOctets. Discontinuities in the value of this counter can occur at
re-initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifHCOutUcastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were not
addressed to a multicast or broadcast address at this sub-layer, including those that were discarded
or not sent. This object is a 64-bit version of ifOutUcastPkts. Discontinuities in the value of
this counter can occur at re-initialization of the management system, and at other times as indicated
by the value of ifCounterDiscontinuityTime.
ifHCOutMulticastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were
addressed to a multicast address at this sub-layer, including those that were discarded or not sent.
For a MAC layer protocol, this includes both Group and Functional addresses. This object is a 64-bit
version of ifOutMulticastPkts. Discontinuities in the value of this counter can occur at re-
initialization of the management system, and at other times as indicated by the value of
ifCounterDiscontinuityTime.
ifHCOutBroadcastPkts
The total number of packets that higher-level protocols requested be transmitted, and which were
addressed to a broadcast address at this sub-layer, including those that were discarded or not sent.
This object is a 64-bit version of ifOutBroadcastPkts. Discontinuities in the value of this counter
can occur at re-initialization of the management system, and at other times as indicated by the value
of ifCounterDiscontinuityTime.
ifLinkUpDownTrapEnable
Indicates whether linkUp/linkDown traps should be generated for this interface. By default, this
object should have the value enabled(1) for interfaces which do not operate on 'top' of any other
interface (as defined in the ifStackTable), and disabled(2) otherwise.
ifHighSpeed
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this
object reports a value of `n' then the speed of the interface is somewhere in the range of
`n-500,000' to `n+499,999'. For interfaces which do not vary in bandwidth or for those where no
accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer
which has no concept of bandwidth, this object should be zero.
ifPromiscuousMode
This object has a value of false(2) if this interface only accepts packets/frames that are addressed
to this station. This object has a value of true(1) when the station accepts all packets/frames
transmitted on the media. The value true(1) is only legal on certain types of media. If legal,
setting this object to a value of true(1) may require the interface to be reset before becoming
effective. The value of ifPromiscuousMode does not affect the reception of broadcast and multicast
packets/frames by the interface.
ifConnectorPresent
This object has the value 'true(1)' if the interface sublayer has a physical connector and the value
'false(2)' otherwise.
ifAlias
This object is an 'alias' name for the interface as specified by a network manager, and provides a
non-volatile 'handle' for the interface. On the first instantiation of an interface, the value of
ifAlias associated with that interface is the zero-length string. As and when a value is written
into an instance of ifAlias through a network management set operation, then the agent must retain
the supplied value in the ifAlias instance associated with the same interface for as long as that
interface remains instantiated, including across all re- initializations/reboots of the network
management system, including those which result in a change of the interface's ifIndex value. An
example of the value which a network manager might store in this object for a WAN interface is the
(Telco's) circuit number/identifier of the interface. Some agents may support write-access only for
interfaces having particular values of ifType. An agent which supports write access to this object
is required to keep the value in non-volatile storage, but it may limit the length of new values
depending on how much storage is already occupied by the current values for other interfaces.
ifCounterDiscontinuityTime
The value of sysUpTime on the most recent occasion at which any one or more of this interface's
counters suffered a discontinuity. The relevant counters are the specific instances associated with
this interface of any Counter32 or Counter64 object contained in the ifTable or ifXTable. If no such
discontinuities have occurred since the last re- initialization of the local management subsystem,
then this object contains a zero value.
AUTHOR
Jonathan Stowe >jns@gellyfish.com<
COPYRIGHT
Copyright (c) Jonathan Stowe 2000. All rights reserved. This is free software it can be distributed
and/or modified under the same terms as Perl itself.
SEE ALSO
perl(1), Net::SNMP, Net::SNMP::Interfaces.
perl v5.40.1 2025-08-15 Net::SNMP::Interfaces::Details(3pm)