************************************************************************ ifTable README ------------------------------------------------------------------------ This readme file describes the code generated by mib2c (using the MIBs for Dummies (MFD) configuration file). The code generated was generated specifically for the following SNMP table: ifTable Your code will be called when the snmp agent receives requests for the ifTable table. The agent will start by looking for the right row in your existing data to operate on, if one exists. It does this by comparing the index values for each row for the row that it is looking for. The indexes are described in the next segment below, and the looping constructs and requirements are further below. You're expected to have data which is unique to each set of indexes. Configuration Variables ------------------------------------------------------------ Some variables used for code generation may be set to affect the code generation. You may override these variables by setting them in the file default-table-ifTable.m2d, and then re-running mib2c. m2c_table_settable (currently '1') -------------------------------------------------------- This variable determines whether or not code is generated to support MIB object which have an access of read-write or read-create. The default is set based on whether or not the table contains writable objects, but can be over-ridden. Syntax: @eval $m2c_table_settable = 0@ m2c_table_dependencies (currently '1') -------------------------------------------------------- This variable determines whether or not code is generated to support checking dependencies between columns, rows or tables. The default is set based on whether or not the table contains writable objects, but can be over-ridden. Syntax: @eval $m2c_table_dependencies = 0@ m2c_table_row_creation (currently '0') -------------------------------------------------------- This variable determines whether or not code is generated to support checking creation of new rows via SNMP. The default is set based on whether or not the table contains read-create objects, but can be over-ridden. Syntax: @eval $m2c_table_row_creation = 0@ m2c_context_reg (currently 'netsnmp_data_list *') -------------------------------------------------------- This variable contains the structure name to typedef for the ifTable_registration_ptr. During initilization, you will provide a pointer to a structure of this type. This pointer is used as a parameter to many functions so that you have access to your registration data. The default is a netsnmp_data_list pointer, which will allow you to keep multiple pointers tagges by a text name. If you have a new or existing structure you would rather use, you can redefine this variable. To avoid regenerating code, you may also change this typedef directly in the ifTable.h header. Syntax: @eval $m2c_context_reg = "struct my_registration_context@ m2c_data_context (currently 'generated') -------------------------------------------------------- This variable contains the structure name to typedef for the ifTable_data. This typedef is used in the row request context structure for the table, ifTable_rowreq_ctx. The typedef in the primary table context will be used for the data and undo structure types. This structure should contain all the data needed for all the columns in the table. The default is 'generated', which will cuase a new data strcuture to be generated with data members for each column. To avoid regenerating code, you may also change this typedef directly in the ifTable.h header. Syntax: @eval $m2c_data_context = "struct my_data_context"@ m2c_data_allocate (currently '0') -------------------------------------------------------- This variable determines whether or not the data context (see above) requires memory to be allocated. The default generated data structure does not. If you are using a custom data context which needs to allocate memory, override this value and two additional functions will be generated: ifTable_allocate_data ifTable_release_data Syntax: @eval $m2c_data_allocate = 1@ m2c_data_init (currently '0') -------------------------------------------------------- This variable determines whether or not the data context (see above) or any other items you have added to the table context requires initialization. The default generated data structure does not. If you are using a custom data context or have added items needing initialization to the table context, override this value and two additional functions will be generated: ifTable_rowreq_ctx_init ifTable_rowreq_ctx_cleanup Syntax: @eval 0 = 1@ m2c_table_access (currently 'container-cached') ------------------------------------------------------------------ This variable determines which data interface will be use to generate code for looking up data for a given index. The default is the 'unsorted-external' access code, which handles the common case where the data for the table is kept external to the agent and is not sorted by the MIB indexes. Available options can be determined by checking for mib2c configuration files that begin with 'mfd-access-*'. Syntax: @eval $m2c_table_access = "unsorted-external'@ m2c_include_examples (currently '1') ------------------------------------------------------------------ This variable determines whether or not to generate example code. The default is to generate example code. Syntax: @eval $m2c_include_examples = 0@ m2c_data_transient (currently '2') ------------------------------------------------------------------ This variable determines how the generated example code deals with the data during data lookup. See the table readme file for details on how the current table access method interprets this value. In general, a value of 0 indicates persistent data, 1 indicates semi-transient and 2 indicates transient data. Syntax: @eval $m2c_data_transient = 0@ Index(es) for the ifTable table ------------------------------------------------------------ The index(es) for the ifTable table are: ifIndex: Syntax: InterfaceIndex DataType: INTEGER32 C-code type: ASN_INTEGER You should know how to set all these values from your data context, ifTable_data. ************************************************************************ ifTable File Overview ------------------------------------------------------------------------ Several files have been generated to implement the ifTable table. We'll go through these files, one by one, explaining each and letting you know which you need to edit. File: ifTable_data_access.[c|h] ------------------------------------------------------------------------ The ifTable_data_access file contains the interface to your data in it's raw format. These functions are used to locate the row for a particular request. Set index context ----------------- TODO : Set MIB index values FUNC : ifTable_indexes_set container-cached summary ------------------------ The container-cached data access code is for cases when you want to cache your data in the agent/sub-agent. ... to be continued... Updating the Index ------------------ TODO : update index for the raw data FUNC : ifTable_indexes_set WHERE: ifTable_data_access.c This is a convenience function for setting the index context from the native C data. Where necessary, value mapping should be done. This function should update the table index values (found in tbl_idx) for the given raw data. File: ifTable_enums.h ------------------------------------------------------------------------ This file contains macros for mapping enumeration values when the enumerated values defined by the MIB do not match the values used internally. Review this file to see if any values need to be updated. File: ifTable_data_get.c ------------------------------------------------------------------------ Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifDescr_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifType_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifMtu_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifSpeed_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifPhysAddress_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifAdminStatus_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOperStatus_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifLastChange_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInOctets_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInUcastPkts_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInNUcastPkts_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInDiscards_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInErrors_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifInUnknownProtos_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutOctets_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutUcastPkts_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutNUcastPkts_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutDiscards_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutErrors_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifOutQLen_get Get data for column ------------------- TODO : retrieve column data from raw data FUNC : ifSpecific_get File: ifTable_data_set.c ------------------------------------------------------------------------ Purpose : User interface to MIB data This code was generated based on the following assumptions or settings: 1) None of the values for this table have DEPENDENCIES on other objects. DEPENDENCIES on other objects complicates SET request processing. When one or more columns in a table depend on another object (in the same table, or in another table), a DEPENDENCY exists. For example, if you have a table that determine a color with three columns (red, green and blue) that define the percentage of each primary color, the total for the three columns must equal 100 percent. So, in addition to checking that each colums has a valid value between 0 and 100, the total of all three columns must equal 100. Set $m2c_table_dependencies = 0 in default-table-ifTable.m2d and regenerate code if this assumption is incorrect. 2) This table does not support ROW CREATION. Supporting ROW CREATION allows new rows to be created via SNMP requests. Check dependencies ------------------ TODO : check that all dependencies have been satisfied FUNC : ifTable_check_dependencies This function will be called after all the individual columns have been set to their new values. Check for any dependencies between rows or tables in this function. Undo setup ---------- TODO : save data for undo FUNC : ifTable_undo_setup This function will be called before the individual undo_setup functions are called. This is where you should save any undo information which is not directly related to a particular column. This function will only be called once per row. After this function is called, any column which is being set will have it's individual node undo_setup function called. Check value for column ---------------------- TODO : perform additional validations on values for a set request FUNC : ifAdminStatus_check_value The generated code will automatically validate incoming requests against all the requirements specified byt the syntax of the MIB. However, it is often the case that additional requirements are specified in the description of a MIB object. Those type of validations should be checked in this function. Undo setup for column --------------------- TODO : save the value for column FUNC : ifAdminStatus_undo_setup After the table level undo setup function has been called, the individual node undo setup functions will be called for columns which are being set. Set value for column -------------------- TODO : set the value for column FUNC : ifAdminStatus_set After all the validations have been passed, this function will be called to set the new value. Undo value for column --------------------- TODO : undo set for column FUNC : ifAdminStatus_undo If an error occurs after a column has been set, this function will be called to undo the set and restore the previous state. Commit changes -------------- TODO : commit changes FUNC : ifTable_commit After all values have been set, the commit function will be called. ************************************************************************ ifTable Reference ------------------------------------------------------------------------ /********************************************************************** ********************************************************************** *** *** Table ifTable *** ********************************************************************** **********************************************************************/ /* * ifTable is subid 2 of interfaces. * It's status is Current. * OID: .1.3.6.1.2.1.2.2, length: 8 */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifIndex * ifIndex is subid 1 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.1 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 1 hashint 1 * settable 0 * hint: d * * Ranges: 1 - 2147483647; * * It's syntax is InterfaceIndex (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifDescr * ifDescr is subid 2 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.2 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 1 hashint 1 * settable 0 * hint: 255a * * Ranges: 0 - 255; * * It's syntax is DisplayString (based on perltype OCTETSTR) * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char) * This data type requires a length. (Max 255) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifType * ifType is subid 3 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.3 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 1 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * Enum range: 146/256. Values: other(1), regular1822(2), hdh1822(3), ddnX25(4), rfc877x25(5), ethernetCsmacd(6), iso88023Csmacd(7), iso88024TokenBus(8), iso88025TokenRing(9), iso88026Man(10), starLan(11), proteon10Mbit(12), proteon80Mbit(13), hyperchannel(14), fddi(15), lapb(16), sdlc(17), ds1(18), e1(19), basicISDN(20), primaryISDN(21), propPointToPointSerial(22), ppp(23), softwareLoopback(24), eon(25), ethernet3Mbit(26), nsip(27), slip(28), ultra(29), ds3(30), sip(31), frameRelay(32), rs232(33), para(34), arcnet(35), arcnetPlus(36), atm(37), miox25(38), sonet(39), x25ple(40), iso88022llc(41), localTalk(42), smdsDxi(43), frameRelayService(44), v35(45), hssi(46), hippi(47), modem(48), aal5(49), sonetPath(50), sonetVT(51), smdsIcip(52), propVirtual(53), propMultiplexor(54), ieee80212(55), fibreChannel(56), hippiInterface(57), frameRelayInterconnect(58), aflane8023(59), aflane8025(60), cctEmul(61), fastEther(62), isdn(63), v11(64), v36(65), g703at64k(66), g703at2mb(67), qllc(68), fastEtherFX(69), channel(70), ieee80211(71), ibm370parChan(72), escon(73), dlsw(74), isdns(75), isdnu(76), lapd(77), ipSwitch(78), rsrb(79), atmLogical(80), ds0(81), ds0Bundle(82), bsc(83), async(84), cnr(85), iso88025Dtr(86), eplrs(87), arap(88), propCnls(89), hostPad(90), termPad(91), frameRelayMPI(92), x213(93), adsl(94), radsl(95), sdsl(96), vdsl(97), iso88025CRFPInt(98), myrinet(99), voiceEM(100), voiceFXO(101), voiceFXS(102), voiceEncap(103), voiceOverIp(104), atmDxi(105), atmFuni(106), atmIma(107), pppMultilinkBundle(108), ipOverCdlc(109), ipOverClaw(110), stackToStack(111), virtualIpAddress(112), mpc(113), ipOverAtm(114), iso88025Fiber(115), tdlc(116), gigabitEthernet(117), hdlc(118), lapf(119), v37(120), x25mlp(121), x25huntGroup(122), trasnpHdlc(123), interleave(124), fast(125), ip(126), docsCableMaclayer(127), docsCableDownstream(128), docsCableUpstream(129), a12MppSwitch(130), tunnel(131), coffee(132), ces(133), atmSubInterface(134), l2vlan(135), l3ipvlan(136), l3ipxvlan(137), digitalPowerline(138), mediaMailOverIp(139), dtm(140), dcn(141), ipForward(142), msdsl(143), ieee1394(144), if_gsn(145), dvbRccMacLayer(146), dvbRccDownstream(147), dvbRccUpstream(148), atmVirtual(149), mplsTunnel(150), srp(151), voiceOverAtm(152), voiceOverFrameRelay(153), idsl(154), compositeLink(155), ss7SigLink(156), propWirelessP2P(157), frForward(158), rfc1483(159), usb(160), ieee8023adLag(161), bgppolicyaccounting(162), frf16MfrBundle(163), h323Gatekeeper(164), h323Proxy(165), mpls(166), mfSigLink(167), hdsl2(168), shdsl(169), ds1FDL(170), pos(171), dvbAsiIn(172), dvbAsiOut(173), plc(174), nfas(175), tr008(176), gr303RDT(177), gr303IDT(178), isup(179), propDocsWirelessMaclayer(180), propDocsWirelessDownstream(181), propDocsWirelessUpstream(182), hiperlan2(183), propBWAp2Mp(184), sonetOverheadChannel(185), digitalWrapperOverheadChannel(186), aal2(187), radioMAC(188), atmRadio(189), imt(190), mvl(191), reachDSL(192), frDlciEndPt(193), atmVciEndPt(194), opticalChannel(195), opticalTransport(196), propAtm(197), voiceOverCable(198), infiniband(199), teLink(200), q2931(201), virtualTg(202), sipTg(203), sipSig(204), docsCableUpstreamChannel(205), econet(206), pon155(207), pon622(208), bridge(209), linegroup(210), voiceEMFGD(211), voiceFGDEANA(212), voiceDID(213), mpegTransport(214), sixToFour(215), gtp(216), pdnEtherLoop1(217), pdnEtherLoop2(218), opticalChannelGroup(219), homepna(220), gfp(221) * * It's syntax is IANAifType (based on perltype INTEGER) * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifMtu * ifMtu is subid 4 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.4 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is INTEGER32 (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifSpeed * ifSpeed is subid 5 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.5 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is GAUGE (based on perltype GAUGE) * The net-snmp type is ASN_GAUGE. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifPhysAddress * ifPhysAddress is subid 6 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.6 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 1 * settable 0 * hint: 1x: * * * It's syntax is PhysAddress (based on perltype OCTETSTR) * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char) * This data type requires a length. (Max 255) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifAdminStatus * ifAdminStatus is subid 7 of ifEntry. * It's status is Current, and it's access level is ReadWrite. * OID: .1.3.6.1.2.1.2.2.1.7 * Description: 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). * * Attributes: * accessible 1 isscalar 0 enums 1 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 1 * * Enum range: 2/8. Values: up(1), down(2), testing(3) * * It's syntax is INTEGER (based on perltype INTEGER) * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOperStatus * ifOperStatus is subid 8 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.8 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 1 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * Enum range: 5/8. Values: up(1), down(2), testing(3), unknown(4), dormant(5), notPresent(6), lowerLayerDown(7) * * It's syntax is INTEGER (based on perltype INTEGER) * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifLastChange * ifLastChange is subid 9 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.9 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is TICKS (based on perltype TICKS) * The net-snmp type is ASN_TIMETICKS. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInOctets * ifInOctets is subid 10 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.10 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInUcastPkts * ifInUcastPkts is subid 11 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.11 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInNUcastPkts * ifInNUcastPkts is subid 12 of ifEntry. * It's status is Deprecated, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.12 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInDiscards * ifInDiscards is subid 13 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.13 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInErrors * ifInErrors is subid 14 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.14 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifInUnknownProtos * ifInUnknownProtos is subid 15 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.15 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutOctets * ifOutOctets is subid 16 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.16 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutUcastPkts * ifOutUcastPkts is subid 17 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.17 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutNUcastPkts * ifOutNUcastPkts is subid 18 of ifEntry. * It's status is Deprecated, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.18 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutDiscards * ifOutDiscards is subid 19 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.19 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutErrors * ifOutErrors is subid 20 of ifEntry. * It's status is Current, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.20 * Description: 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. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is COUNTER (based on perltype COUNTER) * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifOutQLen * ifOutQLen is subid 21 of ifEntry. * It's status is Deprecated, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.21 * Description: The length of the output packet queue (in packets). * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is GAUGE (based on perltype GAUGE) * The net-snmp type is ASN_GAUGE. The C type decl is u_long (u_long) */ /*--------------------------------------------------------------------- * IF-MIB::ifEntry.ifSpecific * ifSpecific is subid 22 of ifEntry. * It's status is Deprecated, and it's access level is ReadOnly. * OID: .1.3.6.1.2.1.2.2.1.22 * Description: 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 2579. 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 }. * * Attributes: * accessible 1 isscalar 0 enums 0 hasdefval 0 * readable 1 iscolumn 1 ranges 0 hashint 0 * settable 0 * * * It's syntax is OBJECTID (based on perltype OBJECTID) * The net-snmp type is ASN_OBJECT_ID. The C type decl is oid (oid) * This data type requires a length. (Max 255) */