Provided by: libnet-snmp-interfaces-perl_1.4-2_all bug

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-07-06                Net::SNMP::Interfaces::Details(3pm)