Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers mib2_module.c Source File

mib2_module.c

Go to the documentation of this file.
00001 /**
00002  * @file mib2_module.c
00003  * @brief MIB-II module
00004  *
00005  * @section License
00006  *
00007  * Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
00008  *
00009  * This file is part of CycloneTCP Open.
00010  *
00011  * This program is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU General Public License
00013  * as published by the Free Software Foundation; either version 2
00014  * of the License, or (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU General Public License
00022  * along with this program; if not, write to the Free Software Foundation,
00023  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00024  *
00025  * @section Description
00026  *
00027  * The second version of the Management Information Base (MIB-II) is used to
00028  * manage TCP/IP-based hosts. Refer to the following RFCs for complete details:
00029  * - RFC 1156: MIB for Network Management of TCP/IP-based internets
00030  * - RFC 1213: MIB for Network Management of TCP/IP-based internets (version 2)
00031  * - RFC 2863: The Interfaces Group MIB
00032  * - RFC 4293: MIB for the Internet Protocol (IP)
00033  * - RFC 4292: IP Forwarding Table MIB
00034  * - RFC 4022: MIB for the Transmission Control Protocol (TCP)
00035  * - RFC 4113: MIB for the User Datagram Protocol (UDP)
00036  * - RFC 3418: MIB for the Simple Network Management Protocol (SNMP)
00037  * - RFC 4004: Textual Conventions for Internet Network Addresses
00038  *
00039  * @author Oryx Embedded SARL (www.oryx-embedded.com)
00040  * @version 1.7.6
00041  **/
00042 
00043 //Switch to the appropriate trace level
00044 #define TRACE_LEVEL SNMP_TRACE_LEVEL
00045 
00046 //Dependencies
00047 #include "core/net.h"
00048 #include "mibs/mib2_module.h"
00049 #include "mibs/mib2_impl.h"
00050 #include "crypto.h"
00051 #include "asn1.h"
00052 #include "oid.h"
00053 #include "debug.h"
00054 
00055 //Check TCP/IP stack configuration
00056 #if (MIB2_SUPPORT == ENABLED)
00057 
00058 
00059 /**
00060  * @brief MIB-II base
00061  **/
00062 
00063 Mib2Base mib2Base;
00064 
00065 
00066 /**
00067  * @brief MIB-II objects
00068  **/
00069 
00070 const MibObject mib2Objects[] =
00071 {
00072    //System group
00073    {
00074       "sysDescr",
00075       {43, 6, 1, 2, 1, 1, 1},
00076       7,
00077       ASN1_CLASS_UNIVERSAL,
00078       ASN1_TYPE_OCTET_STRING,
00079       MIB_ACCESS_READ_ONLY,
00080 #if (MIB2_SYS_DESCR_SIZE > 0)
00081       &mib2Base.sysGroup.sysDescr,
00082       &mib2Base.sysGroup.sysDescrLen,
00083       MIB2_SYS_DESCR_SIZE,
00084       NULL,
00085       NULL,
00086       NULL
00087 #else
00088       NULL,
00089       NULL,
00090       0,
00091       NULL,
00092       mib2GetSysDescr,
00093       NULL
00094 #endif
00095    },
00096    {
00097       "sysObjectID",
00098       {43, 6, 1, 2, 1, 1, 2},
00099       7,
00100       ASN1_CLASS_UNIVERSAL,
00101       ASN1_TYPE_OBJECT_IDENTIFIER,
00102       MIB_ACCESS_READ_ONLY,
00103 #if (MIB2_SYS_OBJECT_ID_SIZE > 0)
00104       &mib2Base.sysGroup.sysObjectID,
00105       &mib2Base.sysGroup.sysObjectIDLen,
00106       MIB2_SYS_OBJECT_ID_SIZE,
00107       NULL,
00108       NULL,
00109       NULL
00110 #else
00111       NULL,
00112       NULL,
00113       0,
00114       NULL,
00115       mib2GetSysObjectID,
00116       NULL
00117 #endif
00118    },
00119    {
00120       "sysUpTime",
00121       {43, 6, 1, 2, 1, 1, 3},
00122       7,
00123       ASN1_CLASS_APPLICATION,
00124       MIB_TYPE_TIME_TICKS,
00125       MIB_ACCESS_READ_ONLY,
00126       NULL,
00127       NULL,
00128       sizeof(uint32_t),
00129       NULL,
00130       mib2GetSysUpTime,
00131       NULL
00132    },
00133    {
00134       "sysContact",
00135       {43, 6, 1, 2, 1, 1, 4},
00136       7,
00137       ASN1_CLASS_UNIVERSAL,
00138       ASN1_TYPE_OCTET_STRING,
00139       MIB_ACCESS_READ_WRITE,
00140 #if (MIB2_SYS_CONTACT_SIZE > 0)
00141       &mib2Base.sysGroup.sysContact,
00142       &mib2Base.sysGroup.sysContactLen,
00143       MIB2_SYS_CONTACT_SIZE,
00144       NULL,
00145       NULL,
00146       NULL
00147 #else
00148       NULL,
00149       NULL,
00150       0,
00151       mib2SetSysContact,
00152       mib2GetSysContact,
00153       NULL
00154 #endif
00155    },
00156    {
00157       "sysName",
00158       {43, 6, 1, 2, 1, 1, 5},
00159       7,
00160       ASN1_CLASS_UNIVERSAL,
00161       ASN1_TYPE_OCTET_STRING,
00162       MIB_ACCESS_READ_WRITE,
00163 #if (MIB2_SYS_NAME_SIZE > 0)
00164       &mib2Base.sysGroup.sysName,
00165       &mib2Base.sysGroup.sysNameLen,
00166       MIB2_SYS_NAME_SIZE,
00167       NULL,
00168       NULL,
00169       NULL
00170 #else
00171       NULL,
00172       NULL,
00173       0,
00174       mib2SetSysName,
00175       mib2GetSysName,
00176       NULL
00177 #endif
00178    },
00179    {
00180       "sysLocation",
00181       {43, 6, 1, 2, 1, 1, 6},
00182       7,
00183       ASN1_CLASS_UNIVERSAL,
00184       ASN1_TYPE_OCTET_STRING,
00185       MIB_ACCESS_READ_WRITE,
00186 #if (MIB2_SYS_LOCATION_SIZE > 0)
00187       &mib2Base.sysGroup.sysLocation,
00188       &mib2Base.sysGroup.sysLocationLen,
00189       MIB2_SYS_LOCATION_SIZE,
00190       NULL,
00191       NULL,
00192       NULL
00193 #else
00194       NULL,
00195       NULL,
00196       0,
00197       mib2SetSysLocation,
00198       mib2GetSysLocation,
00199       NULL
00200 #endif
00201    },
00202    {
00203       "sysServices",
00204       {43, 6, 1, 2, 1, 1, 7},
00205       7,
00206       ASN1_CLASS_UNIVERSAL,
00207       ASN1_TYPE_INTEGER,
00208       MIB_ACCESS_READ_ONLY,
00209       &mib2Base.sysGroup.sysServices,
00210       NULL,
00211       sizeof(int32_t),
00212       NULL,
00213       NULL,
00214       NULL
00215    },
00216    //Interfaces group
00217    {
00218       "ifNumber",
00219       {43, 6, 1, 2, 1, 2, 1},
00220       7,
00221       ASN1_CLASS_UNIVERSAL,
00222       ASN1_TYPE_INTEGER,
00223       MIB_ACCESS_READ_ONLY,
00224       &mib2Base.ifGroup.ifNumber,
00225       NULL,
00226       sizeof(int32_t),
00227       NULL,
00228       NULL,
00229       NULL
00230    },
00231    //Interfaces table
00232    {
00233       "ifIndex",
00234       {43, 6, 1, 2, 1, 2, 2, 1, 1},
00235       9,
00236       ASN1_CLASS_UNIVERSAL,
00237       ASN1_TYPE_INTEGER,
00238       MIB_ACCESS_READ_ONLY,
00239       NULL,
00240       NULL,
00241       sizeof(int32_t),
00242       NULL,
00243       mib2GetIfEntry,
00244       mib2GetNextIfEntry
00245    },
00246    {
00247       "ifDescr",
00248       {43, 6, 1, 2, 1, 2, 2, 1, 2},
00249       9,
00250       ASN1_CLASS_UNIVERSAL,
00251       ASN1_TYPE_OCTET_STRING,
00252       MIB_ACCESS_READ_ONLY,
00253       NULL,
00254       NULL,
00255       MIB2_IF_DESCR_SIZE,
00256       NULL,
00257       mib2GetIfEntry,
00258       mib2GetNextIfEntry
00259    },
00260    {
00261       "ifType",
00262       {43, 6, 1, 2, 1, 2, 2, 1, 3},
00263       9,
00264       ASN1_CLASS_UNIVERSAL,
00265       ASN1_TYPE_INTEGER,
00266       MIB_ACCESS_READ_ONLY,
00267       NULL,
00268       NULL,
00269       sizeof(int32_t),
00270       NULL,
00271       mib2GetIfEntry,
00272       mib2GetNextIfEntry
00273    },
00274    {
00275       "ifMtu",
00276       {43, 6, 1, 2, 1, 2, 2, 1, 4},
00277       9,
00278       ASN1_CLASS_UNIVERSAL,
00279       ASN1_TYPE_INTEGER,
00280       MIB_ACCESS_READ_ONLY,
00281       NULL,
00282       NULL,
00283       sizeof(int32_t),
00284       NULL,
00285       mib2GetIfEntry,
00286       mib2GetNextIfEntry
00287    },
00288    {
00289       "ifSpeed",
00290       {43, 6, 1, 2, 1, 2, 2, 1, 5},
00291       9,
00292       ASN1_CLASS_APPLICATION,
00293       MIB_TYPE_GAUGE32,
00294       MIB_ACCESS_READ_ONLY,
00295       NULL,
00296       NULL,
00297       sizeof(uint32_t),
00298       NULL,
00299       mib2GetIfEntry,
00300       mib2GetNextIfEntry
00301    },
00302    {
00303       "ifPhysAddress",
00304       {43, 6, 1, 2, 1, 2, 2, 1, 6},
00305       9,
00306       ASN1_CLASS_UNIVERSAL,
00307       ASN1_TYPE_OCTET_STRING,
00308       MIB_ACCESS_READ_ONLY,
00309       NULL,
00310       NULL,
00311       MIB2_PHYS_ADDRESS_SIZE,
00312       NULL,
00313       mib2GetIfEntry,
00314       mib2GetNextIfEntry
00315    },
00316    {
00317       "ifAdminStatus",
00318       {43, 6, 1, 2, 1, 2, 2, 1, 7},
00319       9,
00320       ASN1_CLASS_UNIVERSAL,
00321       ASN1_TYPE_INTEGER,
00322       MIB_ACCESS_READ_ONLY,
00323       NULL,
00324       NULL,
00325       sizeof(int32_t),
00326       NULL,
00327       mib2GetIfEntry,
00328       mib2GetNextIfEntry
00329    },
00330    {
00331       "ifOperStatus",
00332       {43, 6, 1, 2, 1, 2, 2, 1, 8},
00333       9,
00334       ASN1_CLASS_UNIVERSAL,
00335       ASN1_TYPE_INTEGER,
00336       MIB_ACCESS_READ_ONLY,
00337       NULL,
00338       NULL,
00339       sizeof(int32_t),
00340       NULL,
00341       mib2GetIfEntry,
00342       mib2GetNextIfEntry
00343    },
00344    {
00345       "ifLastChange",
00346       {43, 6, 1, 2, 1, 2, 2, 1, 9},
00347       9,
00348       ASN1_CLASS_APPLICATION,
00349       MIB_TYPE_TIME_TICKS,
00350       MIB_ACCESS_READ_ONLY,
00351       NULL,
00352       NULL,
00353       sizeof(uint32_t),
00354       NULL,
00355       mib2GetIfEntry,
00356       mib2GetNextIfEntry
00357    },
00358    {
00359       "ifInOctets",
00360       {43, 6, 1, 2, 1, 2, 2, 1, 10},
00361       9,
00362       ASN1_CLASS_APPLICATION,
00363       MIB_TYPE_COUNTER32,
00364       MIB_ACCESS_READ_ONLY,
00365       NULL,
00366       NULL,
00367       sizeof(uint32_t),
00368       NULL,
00369       mib2GetIfEntry,
00370       mib2GetNextIfEntry
00371    },
00372    {
00373       "ifInUcastPkts",
00374       {43, 6, 1, 2, 1, 2, 2, 1, 11},
00375       9,
00376       ASN1_CLASS_APPLICATION,
00377       MIB_TYPE_COUNTER32,
00378       MIB_ACCESS_READ_ONLY,
00379       NULL,
00380       NULL,
00381       sizeof(uint32_t),
00382       NULL,
00383       mib2GetIfEntry,
00384       mib2GetNextIfEntry
00385    },
00386    {
00387       "ifInNUcastPkts",
00388       {43, 6, 1, 2, 1, 2, 2, 1, 12},
00389       9,
00390       ASN1_CLASS_APPLICATION,
00391       MIB_TYPE_COUNTER32,
00392       MIB_ACCESS_READ_ONLY,
00393       NULL,
00394       NULL,
00395       sizeof(uint32_t),
00396       NULL,
00397       mib2GetIfEntry,
00398       mib2GetNextIfEntry
00399    },
00400    {
00401       "ifInDiscards",
00402       {43, 6, 1, 2, 1, 2, 2, 1, 13},
00403       9,
00404       ASN1_CLASS_APPLICATION,
00405       MIB_TYPE_COUNTER32,
00406       MIB_ACCESS_READ_ONLY,
00407       NULL,
00408       NULL,
00409       sizeof(uint32_t),
00410       NULL,
00411       mib2GetIfEntry,
00412       mib2GetNextIfEntry
00413    },
00414    {
00415       "ifInErrors",
00416       {43, 6, 1, 2, 1, 2, 2, 1, 14},
00417       9,
00418       ASN1_CLASS_APPLICATION,
00419       MIB_TYPE_COUNTER32,
00420       MIB_ACCESS_READ_ONLY,
00421       NULL,
00422       NULL,
00423       sizeof(uint32_t),
00424       NULL,
00425       mib2GetIfEntry,
00426       mib2GetNextIfEntry
00427    },
00428    {
00429       "ifInUnknownProtos",
00430       {43, 6, 1, 2, 1, 2, 2, 1, 15},
00431       9,
00432       ASN1_CLASS_APPLICATION,
00433       MIB_TYPE_COUNTER32,
00434       MIB_ACCESS_READ_ONLY,
00435       NULL,
00436       NULL,
00437       sizeof(uint32_t),
00438       NULL,
00439       mib2GetIfEntry,
00440       mib2GetNextIfEntry
00441    },
00442    {
00443       "ifOutOctets",
00444       {43, 6, 1, 2, 1, 2, 2, 1, 16},
00445       9,
00446       ASN1_CLASS_APPLICATION,
00447       MIB_TYPE_COUNTER32,
00448       MIB_ACCESS_READ_ONLY,
00449       NULL,
00450       NULL,
00451       sizeof(uint32_t),
00452       NULL,
00453       mib2GetIfEntry,
00454       mib2GetNextIfEntry
00455    },
00456    {
00457       "ifOutUcastPkts",
00458       {43, 6, 1, 2, 1, 2, 2, 1, 17},
00459       9,
00460       ASN1_CLASS_APPLICATION,
00461       MIB_TYPE_COUNTER32,
00462       MIB_ACCESS_READ_ONLY,
00463       NULL,
00464       NULL,
00465       sizeof(uint32_t),
00466       NULL,
00467       mib2GetIfEntry,
00468       mib2GetNextIfEntry
00469    },
00470    {
00471       "ifOutNUcastPkts",
00472       {43, 6, 1, 2, 1, 2, 2, 1, 18},
00473       9,
00474       ASN1_CLASS_APPLICATION,
00475       MIB_TYPE_COUNTER32,
00476       MIB_ACCESS_READ_ONLY,
00477       NULL,
00478       NULL,
00479       sizeof(uint32_t),
00480       NULL,
00481       mib2GetIfEntry,
00482       mib2GetNextIfEntry
00483    },
00484    {
00485       "ifOutDiscards",
00486       {43, 6, 1, 2, 1, 2, 2, 1, 19},
00487       9,
00488       ASN1_CLASS_APPLICATION,
00489       MIB_TYPE_COUNTER32,
00490       MIB_ACCESS_READ_ONLY,
00491       NULL,
00492       NULL,
00493       sizeof(uint32_t),
00494       NULL,
00495       mib2GetIfEntry,
00496       mib2GetNextIfEntry
00497    },
00498    {
00499       "ifOutErrors",
00500       {43, 6, 1, 2, 1, 2, 2, 1, 20},
00501       9,
00502       ASN1_CLASS_APPLICATION,
00503       MIB_TYPE_COUNTER32,
00504       MIB_ACCESS_READ_ONLY,
00505       NULL,
00506       NULL,
00507       sizeof(uint32_t),
00508       NULL,
00509       mib2GetIfEntry,
00510       mib2GetNextIfEntry
00511    },
00512    {
00513       "ifOutQLen",
00514       {43, 6, 1, 2, 1, 2, 2, 1, 21},
00515       9,
00516       ASN1_CLASS_APPLICATION,
00517       MIB_TYPE_GAUGE32,
00518       MIB_ACCESS_READ_ONLY,
00519       NULL,
00520       NULL,
00521       sizeof(uint32_t),
00522       NULL,
00523       mib2GetIfEntry,
00524       mib2GetNextIfEntry
00525    },
00526    {
00527       "ifSpecific",
00528       {43, 6, 1, 2, 1, 2, 2, 1, 22},
00529       9,
00530       ASN1_CLASS_UNIVERSAL,
00531       ASN1_TYPE_OBJECT_IDENTIFIER,
00532       MIB_ACCESS_READ_ONLY,
00533       NULL,
00534       NULL,
00535       MIB2_IF_SPECIFIC_SIZE,
00536       NULL,
00537       mib2GetIfEntry,
00538       mib2GetNextIfEntry
00539    },
00540 #if (IPV4_SUPPORT == ENABLED)
00541    //IP group
00542    {
00543       "ipForwarding",
00544       {43, 6, 1, 2, 1, 4, 1},
00545       7,
00546       ASN1_CLASS_UNIVERSAL,
00547       ASN1_TYPE_INTEGER,
00548       MIB_ACCESS_READ_WRITE,
00549       &mib2Base.ipGroup.ipForwarding,
00550       NULL,
00551       sizeof(int32_t),
00552       NULL,
00553       NULL,
00554       NULL
00555    },
00556    {
00557       "ipDefaultTTL",
00558       {43, 6, 1, 2, 1, 4, 2},
00559       7,
00560       ASN1_CLASS_UNIVERSAL,
00561       ASN1_TYPE_INTEGER,
00562       MIB_ACCESS_READ_WRITE,
00563       &mib2Base.ipGroup.ipDefaultTTL,
00564       NULL,
00565       sizeof(int32_t),
00566       NULL,
00567       NULL,
00568       NULL
00569    },
00570    {
00571       "ipInReceives",
00572       {43, 6, 1, 2, 1, 4, 3},
00573       7,
00574       ASN1_CLASS_APPLICATION,
00575       MIB_TYPE_COUNTER32,
00576       MIB_ACCESS_READ_ONLY,
00577       &mib2Base.ipGroup.ipInReceives,
00578       NULL,
00579       sizeof(uint32_t),
00580       NULL,
00581       NULL,
00582       NULL
00583    },
00584    {
00585       "ipInHdrErrors",
00586       {43, 6, 1, 2, 1, 4, 4},
00587       7,
00588       ASN1_CLASS_APPLICATION,
00589       MIB_TYPE_COUNTER32,
00590       MIB_ACCESS_READ_ONLY,
00591       &mib2Base.ipGroup.ipInHdrErrors,
00592       NULL,
00593       sizeof(uint32_t),
00594       NULL,
00595       NULL,
00596       NULL
00597    },
00598    {
00599       "ipInAddrErrors",
00600       {43, 6, 1, 2, 1, 4, 5},
00601       7,
00602       ASN1_CLASS_APPLICATION,
00603       MIB_TYPE_COUNTER32,
00604       MIB_ACCESS_READ_ONLY,
00605       &mib2Base.ipGroup.ipInAddrErrors,
00606       NULL,
00607       sizeof(uint32_t),
00608       NULL,
00609       NULL,
00610       NULL
00611    },
00612    {
00613       "ipForwDatagrams",
00614       {43, 6, 1, 2, 1, 4, 6},
00615       7,
00616       ASN1_CLASS_APPLICATION,
00617       MIB_TYPE_COUNTER32,
00618       MIB_ACCESS_READ_ONLY,
00619       &mib2Base.ipGroup.ipForwDatagrams,
00620       NULL,
00621       sizeof(uint32_t),
00622       NULL,
00623       NULL,
00624       NULL
00625    },
00626    {
00627       "ipInUnknownProtos",
00628       {43, 6, 1, 2, 1, 4, 7},
00629       7,
00630       ASN1_CLASS_APPLICATION,
00631       MIB_TYPE_COUNTER32,
00632       MIB_ACCESS_READ_ONLY,
00633       &mib2Base.ipGroup.ipInUnknownProtos,
00634       NULL,
00635       sizeof(uint32_t),
00636       NULL,
00637       NULL,
00638       NULL
00639    },
00640    {
00641       "ipInDiscards",
00642       {43, 6, 1, 2, 1, 4, 8},
00643       7,
00644       ASN1_CLASS_APPLICATION,
00645       MIB_TYPE_COUNTER32,
00646       MIB_ACCESS_READ_ONLY,
00647       &mib2Base.ipGroup.ipInDiscards,
00648       NULL,
00649       sizeof(uint32_t),
00650       NULL,
00651       NULL,
00652       NULL
00653    },
00654    {
00655       "ipInDelivers",
00656       {43, 6, 1, 2, 1, 4, 9},
00657       7,
00658       ASN1_CLASS_APPLICATION,
00659       MIB_TYPE_COUNTER32,
00660       MIB_ACCESS_READ_ONLY,
00661       &mib2Base.ipGroup.ipInDelivers,
00662       NULL,
00663       sizeof(uint32_t),
00664       NULL,
00665       NULL,
00666       NULL
00667    },
00668    {
00669       "ipOutRequests",
00670       {43, 6, 1, 2, 1, 4, 10},
00671       7,
00672       ASN1_CLASS_APPLICATION,
00673       MIB_TYPE_COUNTER32,
00674       MIB_ACCESS_READ_ONLY,
00675       &mib2Base.ipGroup.ipOutRequests,
00676       NULL,
00677       sizeof(uint32_t),
00678       NULL,
00679       NULL,
00680       NULL
00681    },
00682    {
00683       "ipOutDiscards",
00684       {43, 6, 1, 2, 1, 4, 11},
00685       7,
00686       ASN1_CLASS_APPLICATION,
00687       MIB_TYPE_COUNTER32,
00688       MIB_ACCESS_READ_ONLY,
00689       &mib2Base.ipGroup.ipOutDiscards,
00690       NULL,
00691       sizeof(uint32_t),
00692       NULL,
00693       NULL,
00694       NULL
00695    },
00696    {
00697       "ipOutNoRoutes",
00698       {43, 6, 1, 2, 1, 4, 12},
00699       7,
00700       ASN1_CLASS_APPLICATION,
00701       MIB_TYPE_COUNTER32,
00702       MIB_ACCESS_READ_ONLY,
00703       &mib2Base.ipGroup.ipOutNoRoutes,
00704       NULL,
00705       sizeof(uint32_t),
00706       NULL,
00707       NULL,
00708       NULL
00709    },
00710    {
00711       "ipReasmTimeout",
00712       {43, 6, 1, 2, 1, 4, 13},
00713       7,
00714       ASN1_CLASS_UNIVERSAL,
00715       ASN1_TYPE_INTEGER,
00716       MIB_ACCESS_READ_ONLY,
00717       &mib2Base.ipGroup.ipReasmTimeout,
00718       NULL,
00719       sizeof(int32_t),
00720       NULL,
00721       NULL,
00722       NULL
00723    },
00724    {
00725       "ipReasmReqds",
00726       {43, 6, 1, 2, 1, 4, 14},
00727       7,
00728       ASN1_CLASS_APPLICATION,
00729       MIB_TYPE_COUNTER32,
00730       MIB_ACCESS_READ_ONLY,
00731       &mib2Base.ipGroup.ipReasmReqds,
00732       NULL,
00733       sizeof(uint32_t),
00734       NULL,
00735       NULL,
00736       NULL
00737    },
00738    {
00739       "ipReasmOKs",
00740       {43, 6, 1, 2, 1, 4, 15},
00741       7,
00742       ASN1_CLASS_APPLICATION,
00743       MIB_TYPE_COUNTER32,
00744       MIB_ACCESS_READ_ONLY,
00745       &mib2Base.ipGroup.ipReasmOKs,
00746       NULL,
00747       sizeof(uint32_t),
00748       NULL,
00749       NULL,
00750       NULL
00751    },
00752    {
00753       "ipReasmFails",
00754       {43, 6, 1, 2, 1, 4, 16},
00755       7,
00756       ASN1_CLASS_APPLICATION,
00757       MIB_TYPE_COUNTER32,
00758       MIB_ACCESS_READ_ONLY,
00759       &mib2Base.ipGroup.ipReasmFails,
00760       NULL,
00761       sizeof(uint32_t),
00762       NULL,
00763       NULL,
00764       NULL
00765    },
00766    {
00767       "ipFragOKs",
00768       {43, 6, 1, 2, 1, 4, 17},
00769       7,
00770       ASN1_CLASS_APPLICATION,
00771       MIB_TYPE_COUNTER32,
00772       MIB_ACCESS_READ_ONLY,
00773       &mib2Base.ipGroup.ipFragOKs,
00774       NULL,
00775       sizeof(uint32_t),
00776       NULL,
00777       NULL,
00778       NULL
00779    },
00780    {
00781       "ipFragFails",
00782       {43, 6, 1, 2, 1, 4, 18},
00783       7,
00784       ASN1_CLASS_APPLICATION,
00785       MIB_TYPE_COUNTER32,
00786       MIB_ACCESS_READ_ONLY,
00787       &mib2Base.ipGroup.ipFragFails,
00788       NULL,
00789       sizeof(uint32_t),
00790       NULL,
00791       NULL,
00792       NULL
00793    },
00794    {
00795       "ipFragCreates",
00796       {43, 6, 1, 2, 1, 4, 19},
00797       7,
00798       ASN1_CLASS_APPLICATION,
00799       MIB_TYPE_COUNTER32,
00800       MIB_ACCESS_READ_ONLY,
00801       &mib2Base.ipGroup.ipFragCreates,
00802       NULL,
00803       sizeof(uint32_t),
00804       NULL,
00805       NULL,
00806       NULL
00807    },
00808    //IP address table
00809    {
00810       "ipAdEntAddr",
00811       {43, 6, 1, 2, 1, 4, 20, 1, 1},
00812       9,
00813       ASN1_CLASS_APPLICATION,
00814       MIB_TYPE_IP_ADDRESS,
00815       MIB_ACCESS_READ_ONLY,
00816       NULL,
00817       NULL,
00818       MIB2_IP_ADDRESS_SIZE,
00819       NULL,
00820       mib2GetIpAddrEntry,
00821       mib2GetNextIpAddrEntry
00822    },
00823    {
00824       "ipAdEntIfIndex",
00825       {43, 6, 1, 2, 1, 4, 20, 1, 2},
00826       9,
00827       ASN1_CLASS_UNIVERSAL,
00828       ASN1_TYPE_INTEGER,
00829       MIB_ACCESS_READ_ONLY,
00830       NULL,
00831       NULL,
00832       sizeof(int32_t),
00833       NULL,
00834       mib2GetIpAddrEntry,
00835       mib2GetNextIpAddrEntry
00836    },
00837    {
00838       "ipAdEntNetMask",
00839       {43, 6, 1, 2, 1, 4, 20, 1, 3},
00840       9,
00841       ASN1_CLASS_APPLICATION,
00842       MIB_TYPE_IP_ADDRESS,
00843       MIB_ACCESS_READ_ONLY,
00844       NULL,
00845       NULL,
00846       MIB2_IP_ADDRESS_SIZE,
00847       NULL,
00848       mib2GetIpAddrEntry,
00849       mib2GetNextIpAddrEntry
00850    },
00851    {
00852       "ipAdEntBcastAddr",
00853       {43, 6, 1, 2, 1, 4, 20, 1, 4},
00854       9,
00855       ASN1_CLASS_UNIVERSAL,
00856       ASN1_TYPE_INTEGER,
00857       MIB_ACCESS_READ_ONLY,
00858       NULL,
00859       NULL,
00860       sizeof(int32_t),
00861       NULL,
00862       mib2GetIpAddrEntry,
00863       mib2GetNextIpAddrEntry
00864    },
00865    {
00866       "ipAdEntReasmMaxSize",
00867       {43, 6, 1, 2, 1, 4, 20, 1, 5},
00868       9,
00869       ASN1_CLASS_UNIVERSAL,
00870       ASN1_TYPE_INTEGER,
00871       MIB_ACCESS_READ_ONLY,
00872       NULL,
00873       NULL,
00874       sizeof(int32_t),
00875       NULL,
00876       mib2GetIpAddrEntry,
00877       mib2GetNextIpAddrEntry
00878    },
00879    //IP address translation table
00880    {
00881       "ipNetToMediaIfIndex",
00882       {43, 6, 1, 2, 1, 4, 22, 1, 1},
00883       9,
00884       ASN1_CLASS_UNIVERSAL,
00885       ASN1_TYPE_INTEGER,
00886       MIB_ACCESS_READ_WRITE,
00887       NULL,
00888       NULL,
00889       sizeof(int32_t),
00890       mib2SetIpNetToMediaEntry,
00891       mib2GetIpNetToMediaEntry,
00892       mib2GetNextIpNetToMediaEntry
00893    },
00894    {
00895       "ipNetToMediaPhysAddress",
00896       {43, 6, 1, 2, 1, 4, 22, 1, 2},
00897       9,
00898       ASN1_CLASS_UNIVERSAL,
00899       ASN1_TYPE_OCTET_STRING,
00900       MIB_ACCESS_READ_WRITE,
00901       NULL,
00902       NULL,
00903       MIB2_PHYS_ADDRESS_SIZE,
00904       mib2SetIpNetToMediaEntry,
00905       mib2GetIpNetToMediaEntry,
00906       mib2GetNextIpNetToMediaEntry
00907    },
00908    {
00909       "ipNetToMediaNetAddress",
00910       {43, 6, 1, 2, 1, 4, 22, 1, 3},
00911       9,
00912       ASN1_CLASS_APPLICATION,
00913       MIB_TYPE_IP_ADDRESS,
00914       MIB_ACCESS_READ_WRITE,
00915       NULL,
00916       NULL,
00917       MIB2_IP_ADDRESS_SIZE,
00918       mib2SetIpNetToMediaEntry,
00919       mib2GetIpNetToMediaEntry,
00920       mib2GetNextIpNetToMediaEntry
00921    },
00922    {
00923       "ipNetToMediaType",
00924       {43, 6, 1, 2, 1, 4, 22, 1, 4},
00925       9,
00926       ASN1_CLASS_UNIVERSAL,
00927       ASN1_TYPE_INTEGER,
00928       MIB_ACCESS_READ_WRITE,
00929       NULL,
00930       NULL,
00931       sizeof(int32_t),
00932       mib2SetIpNetToMediaEntry,
00933       mib2GetIpNetToMediaEntry,
00934       mib2GetNextIpNetToMediaEntry
00935    },
00936    //Additional IP objects
00937    {
00938       "ipRoutingDiscards",
00939       {43, 6, 1, 2, 1, 4, 23},
00940       7,
00941       ASN1_CLASS_APPLICATION,
00942       MIB_TYPE_COUNTER32,
00943       MIB_ACCESS_READ_ONLY,
00944       &mib2Base.ipGroup.ipRoutingDiscards,
00945       NULL,
00946       sizeof(uint32_t),
00947       NULL,
00948       NULL,
00949       NULL
00950    },
00951    //ICMP group
00952    {
00953       "icmpInMsgs",
00954       {43, 6, 1, 2, 1, 5, 1},
00955       7,
00956       ASN1_CLASS_APPLICATION,
00957       MIB_TYPE_COUNTER32,
00958       MIB_ACCESS_READ_ONLY,
00959       &mib2Base.icmpGroup.icmpInMsgs,
00960       NULL,
00961       sizeof(uint32_t),
00962       NULL,
00963       NULL,
00964       NULL
00965    },
00966    {
00967       "icmpInErrors",
00968       {43, 6, 1, 2, 1, 5, 2},
00969       7,
00970       ASN1_CLASS_APPLICATION,
00971       MIB_TYPE_COUNTER32,
00972       MIB_ACCESS_READ_ONLY,
00973       &mib2Base.icmpGroup.icmpInErrors,
00974       NULL,
00975       sizeof(uint32_t),
00976       NULL,
00977       NULL,
00978       NULL
00979    },
00980    {
00981       "icmpInDestUnreachs",
00982       {43, 6, 1, 2, 1, 5, 3},
00983       7,
00984       ASN1_CLASS_APPLICATION,
00985       MIB_TYPE_COUNTER32,
00986       MIB_ACCESS_READ_ONLY,
00987       &mib2Base.icmpGroup.icmpInDestUnreachs,
00988       NULL,
00989       sizeof(uint32_t),
00990       NULL,
00991       NULL,
00992       NULL
00993    },
00994    {
00995       "icmpInTimeExcds",
00996       {43, 6, 1, 2, 1, 5, 4},
00997       7,
00998       ASN1_CLASS_APPLICATION,
00999       MIB_TYPE_COUNTER32,
01000       MIB_ACCESS_READ_ONLY,
01001       &mib2Base.icmpGroup.icmpInTimeExcds,
01002       NULL,
01003       sizeof(uint32_t),
01004       NULL,
01005       NULL,
01006       NULL
01007    },
01008    {
01009       "icmpInParmProbs",
01010       {43, 6, 1, 2, 1, 5, 5},
01011       7,
01012       ASN1_CLASS_APPLICATION,
01013       MIB_TYPE_COUNTER32,
01014       MIB_ACCESS_READ_ONLY,
01015       &mib2Base.icmpGroup.icmpInParmProbs,
01016       NULL,
01017       sizeof(uint32_t),
01018       NULL,
01019       NULL,
01020       NULL
01021    },
01022    {
01023       "icmpInSrcQuenchs",
01024       {43, 6, 1, 2, 1, 5, 6},
01025       7,
01026       ASN1_CLASS_APPLICATION,
01027       MIB_TYPE_COUNTER32,
01028       MIB_ACCESS_READ_ONLY,
01029       &mib2Base.icmpGroup.icmpInSrcQuenchs,
01030       NULL,
01031       sizeof(uint32_t),
01032       NULL,
01033       NULL,
01034       NULL
01035    },
01036    {
01037       "icmpInRedirects",
01038       {43, 6, 1, 2, 1, 5, 7},
01039       7,
01040       ASN1_CLASS_APPLICATION,
01041       MIB_TYPE_COUNTER32,
01042       MIB_ACCESS_READ_ONLY,
01043       &mib2Base.icmpGroup.icmpInRedirects,
01044       NULL,
01045       sizeof(uint32_t),
01046       NULL,
01047       NULL,
01048       NULL
01049    },
01050    {
01051       "icmpInEchos",
01052       {43, 6, 1, 2, 1, 5, 8},
01053       7,
01054       ASN1_CLASS_APPLICATION,
01055       MIB_TYPE_COUNTER32,
01056       MIB_ACCESS_READ_ONLY,
01057       &mib2Base.icmpGroup.icmpInEchos,
01058       NULL,
01059       sizeof(uint32_t),
01060       NULL,
01061       NULL,
01062       NULL
01063    },
01064    {
01065       "icmpInEchoReps",
01066       {43, 6, 1, 2, 1, 5, 9},
01067       7,
01068       ASN1_CLASS_APPLICATION,
01069       MIB_TYPE_COUNTER32,
01070       MIB_ACCESS_READ_ONLY,
01071       &mib2Base.icmpGroup.icmpInEchoReps,
01072       NULL,
01073       sizeof(uint32_t),
01074       NULL,
01075       NULL,
01076       NULL
01077    },
01078    {
01079       "icmpInTimestamps",
01080       {43, 6, 1, 2, 1, 5, 10},
01081       7,
01082       ASN1_CLASS_APPLICATION,
01083       MIB_TYPE_COUNTER32,
01084       MIB_ACCESS_READ_ONLY,
01085       &mib2Base.icmpGroup.icmpInTimestamps,
01086       NULL,
01087       sizeof(uint32_t),
01088       NULL,
01089       NULL,
01090       NULL
01091    },
01092    {
01093       "icmpInTimestampReps",
01094       {43, 6, 1, 2, 1, 5, 11},
01095       7,
01096       ASN1_CLASS_APPLICATION,
01097       MIB_TYPE_COUNTER32,
01098       MIB_ACCESS_READ_ONLY,
01099       &mib2Base.icmpGroup.icmpInTimestampReps,
01100       NULL,
01101       sizeof(uint32_t),
01102       NULL,
01103       NULL,
01104       NULL
01105    },
01106    {
01107       "icmpInAddrMasks",
01108       {43, 6, 1, 2, 1, 5, 12},
01109       7,
01110       ASN1_CLASS_APPLICATION,
01111       MIB_TYPE_COUNTER32,
01112       MIB_ACCESS_READ_ONLY,
01113       &mib2Base.icmpGroup.icmpInAddrMasks,
01114       NULL,
01115       sizeof(uint32_t),
01116       NULL,
01117       NULL,
01118       NULL
01119    },
01120    {
01121       "icmpInAddrMaskReps",
01122       {43, 6, 1, 2, 1, 5, 13},
01123       7,
01124       ASN1_CLASS_APPLICATION,
01125       MIB_TYPE_COUNTER32,
01126       MIB_ACCESS_READ_ONLY,
01127       &mib2Base.icmpGroup.icmpInAddrMaskReps,
01128       NULL,
01129       sizeof(uint32_t),
01130       NULL,
01131       NULL,
01132       NULL
01133    },
01134    {
01135       "icmpOutMsgs",
01136       {43, 6, 1, 2, 1, 5, 14},
01137       7,
01138       ASN1_CLASS_APPLICATION,
01139       MIB_TYPE_COUNTER32,
01140       MIB_ACCESS_READ_ONLY,
01141       &mib2Base.icmpGroup.icmpOutMsgs,
01142       NULL,
01143       sizeof(uint32_t),
01144       NULL,
01145       NULL,
01146       NULL
01147    },
01148    {
01149       "icmpOutErrors",
01150       {43, 6, 1, 2, 1, 5, 15},
01151       7,
01152       ASN1_CLASS_APPLICATION,
01153       MIB_TYPE_COUNTER32,
01154       MIB_ACCESS_READ_ONLY,
01155       &mib2Base.icmpGroup.icmpOutErrors,
01156       NULL,
01157       sizeof(uint32_t),
01158       NULL,
01159       NULL,
01160       NULL
01161    },
01162    {
01163       "icmpOutDestUnreachs",
01164       {43, 6, 1, 2, 1, 5, 16},
01165       7,
01166       ASN1_CLASS_APPLICATION,
01167       MIB_TYPE_COUNTER32,
01168       MIB_ACCESS_READ_ONLY,
01169       &mib2Base.icmpGroup.icmpOutDestUnreachs,
01170       NULL,
01171       sizeof(uint32_t),
01172       NULL,
01173       NULL,
01174       NULL
01175    },
01176    {
01177       "icmpOutTimeExcds",
01178       {43, 6, 1, 2, 1, 5, 17},
01179       7,
01180       ASN1_CLASS_APPLICATION,
01181       MIB_TYPE_COUNTER32,
01182       MIB_ACCESS_READ_ONLY,
01183       &mib2Base.icmpGroup.icmpOutTimeExcds,
01184       NULL,
01185       sizeof(uint32_t),
01186       NULL,
01187       NULL,
01188       NULL
01189    },
01190    {
01191       "icmpOutParmProbs",
01192       {43, 6, 1, 2, 1, 5, 18},
01193       7,
01194       ASN1_CLASS_APPLICATION,
01195       MIB_TYPE_COUNTER32,
01196       MIB_ACCESS_READ_ONLY,
01197       &mib2Base.icmpGroup.icmpOutParmProbs,
01198       NULL,
01199       sizeof(uint32_t),
01200       NULL,
01201       NULL,
01202       NULL
01203    },
01204    {
01205       "icmpOutSrcQuenchs",
01206       {43, 6, 1, 2, 1, 5, 19},
01207       7,
01208       ASN1_CLASS_APPLICATION,
01209       MIB_TYPE_COUNTER32,
01210       MIB_ACCESS_READ_ONLY,
01211       &mib2Base.icmpGroup.icmpOutSrcQuenchs,
01212       NULL,
01213       sizeof(uint32_t),
01214       NULL,
01215       NULL,
01216       NULL
01217    },
01218    {
01219       "icmpOutRedirects",
01220       {43, 6, 1, 2, 1, 5, 20},
01221       7,
01222       ASN1_CLASS_APPLICATION,
01223       MIB_TYPE_COUNTER32,
01224       MIB_ACCESS_READ_ONLY,
01225       &mib2Base.icmpGroup.icmpOutRedirects,
01226       NULL,
01227       sizeof(uint32_t),
01228       NULL,
01229       NULL,
01230       NULL
01231    },
01232    {
01233       "icmpOutEchos",
01234       {43, 6, 1, 2, 1, 5, 21},
01235       7,
01236       ASN1_CLASS_APPLICATION,
01237       MIB_TYPE_COUNTER32,
01238       MIB_ACCESS_READ_ONLY,
01239       &mib2Base.icmpGroup.icmpOutEchos,
01240       NULL,
01241       sizeof(uint32_t),
01242       NULL,
01243       NULL,
01244       NULL
01245    },
01246    {
01247       "icmpOutEchoReps",
01248       {43, 6, 1, 2, 1, 5, 22},
01249       7,
01250       ASN1_CLASS_APPLICATION,
01251       MIB_TYPE_COUNTER32,
01252       MIB_ACCESS_READ_ONLY,
01253       &mib2Base.icmpGroup.icmpOutEchoReps,
01254       NULL,
01255       sizeof(uint32_t),
01256       NULL,
01257       NULL,
01258       NULL
01259    },
01260    {
01261       "icmpOutTimestamps",
01262       {43, 6, 1, 2, 1, 5, 23},
01263       7,
01264       ASN1_CLASS_APPLICATION,
01265       MIB_TYPE_COUNTER32,
01266       MIB_ACCESS_READ_ONLY,
01267       &mib2Base.icmpGroup.icmpOutTimestamps,
01268       NULL,
01269       sizeof(uint32_t),
01270       NULL,
01271       NULL,
01272       NULL
01273    },
01274    {
01275       "icmpOutTimestampReps",
01276       {43, 6, 1, 2, 1, 5, 24},
01277       7,
01278       ASN1_CLASS_APPLICATION,
01279       MIB_TYPE_COUNTER32,
01280       MIB_ACCESS_READ_ONLY,
01281       &mib2Base.icmpGroup.icmpOutTimestampReps,
01282       NULL,
01283       sizeof(uint32_t),
01284       NULL,
01285       NULL,
01286       NULL
01287    },
01288    {
01289       "icmpOutAddrMasks",
01290       {43, 6, 1, 2, 1, 5, 25},
01291       7,
01292       ASN1_CLASS_APPLICATION,
01293       MIB_TYPE_COUNTER32,
01294       MIB_ACCESS_READ_ONLY,
01295       &mib2Base.icmpGroup.icmpOutAddrMasks,
01296       NULL,
01297       sizeof(uint32_t),
01298       NULL,
01299       NULL,
01300       NULL
01301    },
01302    {
01303       "icmpOutAddrMaskReps",
01304       {43, 6, 1, 2, 1, 5, 26},
01305       7,
01306       ASN1_CLASS_APPLICATION,
01307       MIB_TYPE_COUNTER32,
01308       MIB_ACCESS_READ_ONLY,
01309       &mib2Base.icmpGroup.icmpOutAddrMaskReps,
01310       NULL,
01311       sizeof(uint32_t),
01312       NULL,
01313       NULL,
01314       NULL
01315    },
01316 #endif
01317 #if (TCP_SUPPORT == ENABLED)
01318    //TCP group
01319    {
01320       "tcpRtoAlgorithm",
01321       {43, 6, 1, 2, 1, 6, 1},
01322       7,
01323       ASN1_CLASS_UNIVERSAL,
01324       ASN1_TYPE_INTEGER,
01325       MIB_ACCESS_READ_ONLY,
01326       &mib2Base.tcpGroup.tcpRtoAlgorithm,
01327       NULL,
01328       sizeof(int32_t),
01329       NULL,
01330       NULL,
01331       NULL
01332    },
01333    {
01334       "tcpRtoMin",
01335       {43, 6, 1, 2, 1, 6, 2},
01336       7,
01337       ASN1_CLASS_UNIVERSAL,
01338       ASN1_TYPE_INTEGER,
01339       MIB_ACCESS_READ_ONLY,
01340       &mib2Base.tcpGroup.tcpRtoMin,
01341       NULL,
01342       sizeof(int32_t),
01343       NULL,
01344       NULL,
01345       NULL
01346    },
01347    {
01348       "tcpRtoMax",
01349       {43, 6, 1, 2, 1, 6, 3},
01350       7,
01351       ASN1_CLASS_UNIVERSAL,
01352       ASN1_TYPE_INTEGER,
01353       MIB_ACCESS_READ_ONLY,
01354       &mib2Base.tcpGroup.tcpRtoMax,
01355       NULL,
01356       sizeof(int32_t),
01357       NULL,
01358       NULL,
01359       NULL
01360    },
01361    {
01362       "tcpMaxConn",
01363       {43, 6, 1, 2, 1, 6, 4},
01364       7,
01365       ASN1_CLASS_UNIVERSAL,
01366       ASN1_TYPE_INTEGER,
01367       MIB_ACCESS_READ_ONLY,
01368       &mib2Base.tcpGroup.tcpMaxConn,
01369       NULL,
01370       sizeof(int32_t),
01371       NULL,
01372       NULL,
01373       NULL
01374    },
01375    {
01376       "tcpActiveOpens",
01377       {43, 6, 1, 2, 1, 6, 5},
01378       7,
01379       ASN1_CLASS_APPLICATION,
01380       MIB_TYPE_COUNTER32,
01381       MIB_ACCESS_READ_ONLY,
01382       &mib2Base.tcpGroup.tcpActiveOpens,
01383       NULL,
01384       sizeof(uint32_t),
01385       NULL,
01386       NULL,
01387       NULL
01388    },
01389    {
01390       "tcpPassiveOpens",
01391       {43, 6, 1, 2, 1, 6, 6},
01392       7,
01393       ASN1_CLASS_APPLICATION,
01394       MIB_TYPE_COUNTER32,
01395       MIB_ACCESS_READ_ONLY,
01396       &mib2Base.tcpGroup.tcpPassiveOpens,
01397       NULL,
01398       sizeof(uint32_t),
01399       NULL,
01400       NULL,
01401       NULL
01402    },
01403    {
01404       "tcpAttemptFails",
01405       {43, 6, 1, 2, 1, 6, 7},
01406       7,
01407       ASN1_CLASS_APPLICATION,
01408       MIB_TYPE_COUNTER32,
01409       MIB_ACCESS_READ_ONLY,
01410       &mib2Base.tcpGroup.tcpAttemptFails,
01411       NULL,
01412       sizeof(uint32_t),
01413       NULL,
01414       NULL,
01415       NULL
01416    },
01417    {
01418       "tcpEstabResets",
01419       {43, 6, 1, 2, 1, 6, 8},
01420       7,
01421       ASN1_CLASS_APPLICATION,
01422       MIB_TYPE_COUNTER32,
01423       MIB_ACCESS_READ_ONLY,
01424       &mib2Base.tcpGroup.tcpEstabResets,
01425       NULL,
01426       sizeof(uint32_t),
01427       NULL,
01428       NULL,
01429       NULL
01430    },
01431    {
01432       "tcpCurrEstab",
01433       {43, 6, 1, 2, 1, 6, 9},
01434       7,
01435       ASN1_CLASS_APPLICATION,
01436       MIB_TYPE_GAUGE32,
01437       MIB_ACCESS_READ_ONLY,
01438       &mib2Base.tcpGroup.tcpCurrEstab,
01439       NULL,
01440       sizeof(uint32_t),
01441       NULL,
01442       NULL,
01443       NULL
01444    },
01445    {
01446       "tcpInSegs",
01447       {43, 6, 1, 2, 1, 6, 10},
01448       7,
01449       ASN1_CLASS_APPLICATION,
01450       MIB_TYPE_COUNTER32,
01451       MIB_ACCESS_READ_ONLY,
01452       &mib2Base.tcpGroup.tcpInSegs,
01453       NULL,
01454       sizeof(uint32_t),
01455       NULL,
01456       NULL,
01457       NULL
01458    },
01459    {
01460       "tcpOutSegs",
01461       {43, 6, 1, 2, 1, 6, 11},
01462       7,
01463       ASN1_CLASS_APPLICATION,
01464       MIB_TYPE_COUNTER32,
01465       MIB_ACCESS_READ_ONLY,
01466       &mib2Base.tcpGroup.tcpOutSegs,
01467       NULL,
01468       sizeof(uint32_t),
01469       NULL,
01470       NULL,
01471       NULL
01472    },
01473    {
01474       "tcpRetransSegs",
01475       {43, 6, 1, 2, 1, 6, 12},
01476       7,
01477       ASN1_CLASS_APPLICATION,
01478       MIB_TYPE_COUNTER32,
01479       MIB_ACCESS_READ_ONLY,
01480       &mib2Base.tcpGroup.tcpRetransSegs,
01481       NULL,
01482       sizeof(uint32_t),
01483       NULL,
01484       NULL,
01485       NULL
01486    },
01487    //TCP connection table
01488    {
01489       "tcpConnState",
01490       {43, 6, 1, 2, 1, 6, 13, 1, 1},
01491       9,
01492       ASN1_CLASS_UNIVERSAL,
01493       ASN1_TYPE_INTEGER,
01494       MIB_ACCESS_READ_WRITE,
01495       NULL,
01496       NULL,
01497       sizeof(int32_t),
01498       mib2SetTcpConnEntry,
01499       mib2GetTcpConnEntry,
01500       mib2GetNextTcpConnEntry
01501    },
01502    {
01503       "tcpConnLocalAddress",
01504       {43, 6, 1, 2, 1, 6, 13, 1, 2},
01505       9,
01506       ASN1_CLASS_APPLICATION,
01507       MIB_TYPE_IP_ADDRESS,
01508       MIB_ACCESS_READ_ONLY,
01509       NULL,
01510       NULL,
01511       MIB2_IP_ADDRESS_SIZE,
01512       NULL,
01513       mib2GetTcpConnEntry,
01514       mib2GetNextTcpConnEntry
01515    },
01516    {
01517       "tcpConnLocalPort",
01518       {43, 6, 1, 2, 1, 6, 13, 1, 3},
01519       9,
01520       ASN1_CLASS_UNIVERSAL,
01521       ASN1_TYPE_INTEGER,
01522       MIB_ACCESS_READ_ONLY,
01523       NULL,
01524       NULL,
01525       sizeof(int32_t),
01526       NULL,
01527       mib2GetTcpConnEntry,
01528       mib2GetNextTcpConnEntry
01529    },
01530    {
01531       "tcpConnRemAddress",
01532       {43, 6, 1, 2, 1, 6, 13, 1, 4},
01533       9,
01534       ASN1_CLASS_APPLICATION,
01535       MIB_TYPE_IP_ADDRESS,
01536       MIB_ACCESS_READ_ONLY,
01537       NULL,
01538       NULL,
01539       MIB2_IP_ADDRESS_SIZE,
01540       NULL,
01541       mib2GetTcpConnEntry,
01542       mib2GetNextTcpConnEntry
01543    },
01544    {
01545       "tcpConnRemPort",
01546       {43, 6, 1, 2, 1, 6, 13, 1, 5},
01547       9,
01548       ASN1_CLASS_UNIVERSAL,
01549       ASN1_TYPE_INTEGER,
01550       MIB_ACCESS_READ_ONLY,
01551       NULL,
01552       NULL,
01553       sizeof(int32_t),
01554       NULL,
01555       mib2GetTcpConnEntry,
01556       mib2GetNextTcpConnEntry
01557    },
01558    //Additional TCP objects
01559    {
01560       "tcpInErrs",
01561       {43, 6, 1, 2, 1, 6, 14},
01562       7,
01563       ASN1_CLASS_APPLICATION,
01564       MIB_TYPE_COUNTER32,
01565       MIB_ACCESS_READ_ONLY,
01566       &mib2Base.tcpGroup.tcpInErrs,
01567       NULL,
01568       sizeof(uint32_t),
01569       NULL,
01570       NULL,
01571       NULL
01572    },
01573    {
01574       "tcpOutRsts",
01575       {43, 6, 1, 2, 1, 6, 15},
01576       7,
01577       ASN1_CLASS_APPLICATION,
01578       MIB_TYPE_COUNTER32,
01579       MIB_ACCESS_READ_ONLY,
01580       &mib2Base.tcpGroup.tcpOutRsts,
01581       NULL,
01582       sizeof(uint32_t),
01583       NULL,
01584       NULL,
01585       NULL
01586    },
01587    {
01588       "tcpHCInSegs",
01589       {43, 6, 1, 2, 1, 6, 17},
01590       7,
01591       ASN1_CLASS_APPLICATION,
01592       MIB_TYPE_COUNTER64,
01593       MIB_ACCESS_READ_ONLY,
01594       &mib2Base.tcpGroup.tcpHCInSegs,
01595       NULL,
01596       sizeof(uint64_t),
01597       NULL,
01598       NULL,
01599       NULL
01600    },
01601    {
01602       "tcpHCOutSegs",
01603       {43, 6, 1, 2, 1, 6, 18},
01604       7,
01605       ASN1_CLASS_APPLICATION,
01606       MIB_TYPE_COUNTER64,
01607       MIB_ACCESS_READ_ONLY,
01608       &mib2Base.tcpGroup.tcpHCOutSegs,
01609       NULL,
01610       sizeof(uint64_t),
01611       NULL,
01612       NULL,
01613       NULL
01614    },
01615 #endif
01616 #if (UDP_SUPPORT == ENABLED)
01617    //UDP group
01618    {
01619       "udpInDatagrams",
01620       {43, 6, 1, 2, 1, 7, 1},
01621       7,
01622       ASN1_CLASS_APPLICATION,
01623       MIB_TYPE_COUNTER32,
01624       MIB_ACCESS_READ_ONLY,
01625       &mib2Base.udpGroup.udpInDatagrams,
01626       NULL,
01627       sizeof(uint32_t),
01628       NULL,
01629       NULL,
01630       NULL
01631    },
01632    {
01633       "udpNoPorts",
01634       {43, 6, 1, 2, 1, 7, 2},
01635       7,
01636       ASN1_CLASS_APPLICATION,
01637       MIB_TYPE_COUNTER32,
01638       MIB_ACCESS_READ_ONLY,
01639       &mib2Base.udpGroup.udpNoPorts,
01640       NULL,
01641       sizeof(uint32_t),
01642       NULL,
01643       NULL,
01644       NULL
01645    },
01646    {
01647       "udpInErrors",
01648       {43, 6, 1, 2, 1, 7, 3},
01649       7,
01650       ASN1_CLASS_APPLICATION,
01651       MIB_TYPE_COUNTER32,
01652       MIB_ACCESS_READ_ONLY,
01653       &mib2Base.udpGroup.udpInErrors,
01654       NULL,
01655       sizeof(uint32_t),
01656       NULL,
01657       NULL,
01658       NULL
01659    },
01660    {
01661       "udpOutDatagrams",
01662       {43, 6, 1, 2, 1, 7, 4},
01663       7,
01664       ASN1_CLASS_APPLICATION,
01665       MIB_TYPE_COUNTER32,
01666       MIB_ACCESS_READ_ONLY,
01667       &mib2Base.udpGroup.udpOutDatagrams,
01668       NULL,
01669       sizeof(uint32_t),
01670       NULL,
01671       NULL,
01672       NULL
01673    },
01674    //UDP listener table
01675    {
01676       "udpLocalAddress",
01677       {43, 6, 1, 2, 1, 7, 5, 1, 1},
01678       9,
01679       ASN1_CLASS_APPLICATION,
01680       MIB_TYPE_IP_ADDRESS,
01681       MIB_ACCESS_READ_ONLY,
01682       NULL,
01683       NULL,
01684       MIB2_IP_ADDRESS_SIZE,
01685       NULL,
01686       mib2GetUdpEntry,
01687       mib2GetNextUdpEntry
01688    },
01689    {
01690       "udpLocalPort",
01691       {43, 6, 1, 2, 1, 7, 5, 1, 2},
01692       9,
01693       ASN1_CLASS_UNIVERSAL,
01694       ASN1_TYPE_INTEGER,
01695       MIB_ACCESS_READ_ONLY,
01696       NULL,
01697       NULL,
01698       sizeof(int32_t),
01699       NULL,
01700       mib2GetUdpEntry,
01701       mib2GetNextUdpEntry
01702    },
01703    //Additional UDP objects
01704    {
01705       "udpHCInDatagrams",
01706       {43, 6, 1, 2, 1, 7, 8},
01707       7,
01708       ASN1_CLASS_APPLICATION,
01709       MIB_TYPE_COUNTER64,
01710       MIB_ACCESS_READ_ONLY,
01711       &mib2Base.udpGroup.udpHCInDatagrams,
01712       NULL,
01713       sizeof(uint64_t),
01714       NULL,
01715       NULL,
01716       NULL
01717    },
01718    {
01719       "udpHCOutDatagrams",
01720       {43, 6, 1, 2, 1, 7, 9},
01721       7,
01722       ASN1_CLASS_APPLICATION,
01723       MIB_TYPE_COUNTER64,
01724       MIB_ACCESS_READ_ONLY,
01725       &mib2Base.udpGroup.udpHCOutDatagrams,
01726       NULL,
01727       sizeof(uint64_t),
01728       NULL,
01729       NULL,
01730       NULL
01731    },
01732 #endif
01733    //SNMP group
01734    {
01735       "snmpInPkts",
01736       {43, 6, 1, 2, 1, 11, 1},
01737       7,
01738       ASN1_CLASS_APPLICATION,
01739       MIB_TYPE_COUNTER32,
01740       MIB_ACCESS_READ_ONLY,
01741       &mib2Base.snmpGroup.snmpInPkts,
01742       NULL,
01743       sizeof(uint32_t),
01744       NULL,
01745       NULL,
01746       NULL
01747    },
01748    {
01749       "snmpOutPkts",
01750       {43, 6, 1, 2, 1, 11, 2},
01751       7,
01752       ASN1_CLASS_APPLICATION,
01753       MIB_TYPE_COUNTER32,
01754       MIB_ACCESS_READ_ONLY,
01755       &mib2Base.snmpGroup.snmpOutPkts,
01756       NULL,
01757       sizeof(uint32_t),
01758       NULL,
01759       NULL,
01760       NULL
01761    },
01762    {
01763       "snmpInBadVersions",
01764       {43, 6, 1, 2, 1, 11, 3},
01765       7,
01766       ASN1_CLASS_APPLICATION,
01767       MIB_TYPE_COUNTER32,
01768       MIB_ACCESS_READ_ONLY,
01769       &mib2Base.snmpGroup.snmpInBadVersions,
01770       NULL,
01771       sizeof(uint32_t),
01772       NULL,
01773       NULL,
01774       NULL
01775    },
01776    {
01777       "snmpInBadCommunityNames",
01778       {43, 6, 1, 2, 1, 11, 4},
01779       7,
01780       ASN1_CLASS_APPLICATION,
01781       MIB_TYPE_COUNTER32,
01782       MIB_ACCESS_READ_ONLY,
01783       &mib2Base.snmpGroup.snmpInBadCommunityNames,
01784       NULL,
01785       sizeof(uint32_t),
01786       NULL,
01787       NULL,
01788       NULL
01789    },
01790    {
01791       "snmpInBadCommunityUses",
01792       {43, 6, 1, 2, 1, 11, 5},
01793       7,
01794       ASN1_CLASS_APPLICATION,
01795       MIB_TYPE_COUNTER32,
01796       MIB_ACCESS_READ_ONLY,
01797       &mib2Base.snmpGroup.snmpInBadCommunityUses,
01798       NULL,
01799       sizeof(uint32_t),
01800       NULL,
01801       NULL,
01802       NULL
01803    },
01804    {
01805       "snmpInASNParseErrs",
01806       {43, 6, 1, 2, 1, 11, 6},
01807       7,
01808       ASN1_CLASS_APPLICATION,
01809       MIB_TYPE_COUNTER32,
01810       MIB_ACCESS_READ_ONLY,
01811       &mib2Base.snmpGroup.snmpInASNParseErrs,
01812       NULL,
01813       sizeof(uint32_t),
01814       NULL,
01815       NULL,
01816       NULL
01817    },
01818    {
01819       "snmpInTooBigs",
01820       {43, 6, 1, 2, 1, 11, 8},
01821       7,
01822       ASN1_CLASS_APPLICATION,
01823       MIB_TYPE_COUNTER32,
01824       MIB_ACCESS_READ_ONLY,
01825       &mib2Base.snmpGroup.snmpInTooBigs,
01826       NULL,
01827       sizeof(uint32_t),
01828       NULL,
01829       NULL,
01830       NULL
01831    },
01832    {
01833       "snmpInNoSuchNames",
01834       {43, 6, 1, 2, 1, 11, 9},
01835       7,
01836       ASN1_CLASS_APPLICATION,
01837       MIB_TYPE_COUNTER32,
01838       MIB_ACCESS_READ_ONLY,
01839       &mib2Base.snmpGroup.snmpInNoSuchNames,
01840       NULL,
01841       sizeof(uint32_t),
01842       NULL,
01843       NULL,
01844       NULL
01845    },
01846    {
01847       "snmpInBadValues",
01848       {43, 6, 1, 2, 1, 11, 10},
01849       7,
01850       ASN1_CLASS_APPLICATION,
01851       MIB_TYPE_COUNTER32,
01852       MIB_ACCESS_READ_ONLY,
01853       &mib2Base.snmpGroup.snmpInBadValues,
01854       NULL,
01855       sizeof(uint32_t),
01856       NULL,
01857       NULL,
01858       NULL
01859    },
01860    {
01861       "snmpInReadOnlys",
01862       {43, 6, 1, 2, 1, 11, 11},
01863       7,
01864       ASN1_CLASS_APPLICATION,
01865       MIB_TYPE_COUNTER32,
01866       MIB_ACCESS_READ_ONLY,
01867       &mib2Base.snmpGroup.snmpInReadOnlys,
01868       NULL,
01869       sizeof(uint32_t),
01870       NULL,
01871       NULL,
01872       NULL
01873    },
01874    {
01875       "snmpInGenErrs",
01876       {43, 6, 1, 2, 1, 11, 12},
01877       7,
01878       ASN1_CLASS_APPLICATION,
01879       MIB_TYPE_COUNTER32,
01880       MIB_ACCESS_READ_ONLY,
01881       &mib2Base.snmpGroup.snmpInGenErrs,
01882       NULL,
01883       sizeof(uint32_t),
01884       NULL,
01885       NULL,
01886       NULL
01887    },
01888    {
01889       "snmpInTotalReqVars",
01890       {43, 6, 1, 2, 1, 11, 13},
01891       7,
01892       ASN1_CLASS_APPLICATION,
01893       MIB_TYPE_COUNTER32,
01894       MIB_ACCESS_READ_ONLY,
01895       &mib2Base.snmpGroup.snmpInTotalReqVars,
01896       NULL,
01897       sizeof(uint32_t),
01898       NULL,
01899       NULL,
01900       NULL
01901    },
01902    {
01903       "snmpInTotalSetVars",
01904       {43, 6, 1, 2, 1, 11, 14},
01905       7,
01906       ASN1_CLASS_APPLICATION,
01907       MIB_TYPE_COUNTER32,
01908       MIB_ACCESS_READ_ONLY,
01909       &mib2Base.snmpGroup.snmpInTotalSetVars,
01910       NULL,
01911       sizeof(uint32_t),
01912       NULL,
01913       NULL,
01914       NULL
01915    },
01916    {
01917       "snmpInGetRequests",
01918       {43, 6, 1, 2, 1, 11, 15},
01919       7,
01920       ASN1_CLASS_APPLICATION,
01921       MIB_TYPE_COUNTER32,
01922       MIB_ACCESS_READ_ONLY,
01923       &mib2Base.snmpGroup.snmpInGetRequests,
01924       NULL,
01925       sizeof(uint32_t),
01926       NULL,
01927       NULL,
01928       NULL
01929    },
01930    {
01931       "snmpInGetNexts",
01932       {43, 6, 1, 2, 1, 11, 16},
01933       7,
01934       ASN1_CLASS_APPLICATION,
01935       MIB_TYPE_COUNTER32,
01936       MIB_ACCESS_READ_ONLY,
01937       &mib2Base.snmpGroup.snmpInGetNexts,
01938       NULL,
01939       sizeof(uint32_t),
01940       NULL,
01941       NULL,
01942       NULL
01943    },
01944    {
01945       "snmpInSetRequests",
01946       {43, 6, 1, 2, 1, 11, 17},
01947       7,
01948       ASN1_CLASS_APPLICATION,
01949       MIB_TYPE_COUNTER32,
01950       MIB_ACCESS_READ_ONLY,
01951       &mib2Base.snmpGroup.snmpInSetRequests,
01952       NULL,
01953       sizeof(uint32_t),
01954       NULL,
01955       NULL,
01956       NULL
01957    },
01958    {
01959       "snmpInGetResponses",
01960       {43, 6, 1, 2, 1, 11, 18},
01961       7,
01962       ASN1_CLASS_APPLICATION,
01963       MIB_TYPE_COUNTER32,
01964       MIB_ACCESS_READ_ONLY,
01965       &mib2Base.snmpGroup.snmpInGetResponses,
01966       NULL,
01967       sizeof(uint32_t),
01968       NULL,
01969       NULL,
01970       NULL
01971    },
01972    {
01973       "snmpInTraps",
01974       {43, 6, 1, 2, 1, 11, 19},
01975       7,
01976       ASN1_CLASS_APPLICATION,
01977       MIB_TYPE_COUNTER32,
01978       MIB_ACCESS_READ_ONLY,
01979       &mib2Base.snmpGroup.snmpInTraps,
01980       NULL,
01981       sizeof(uint32_t),
01982       NULL,
01983       NULL,
01984       NULL
01985    },
01986    {
01987       "snmpOutTooBigs",
01988       {43, 6, 1, 2, 1, 11, 20},
01989       7,
01990       ASN1_CLASS_APPLICATION,
01991       MIB_TYPE_COUNTER32,
01992       MIB_ACCESS_READ_ONLY,
01993       &mib2Base.snmpGroup.snmpOutTooBigs,
01994       NULL,
01995       sizeof(uint32_t),
01996       NULL,
01997       NULL,
01998       NULL
01999    },
02000    {
02001       "snmpOutNoSuchNames",
02002       {43, 6, 1, 2, 1, 11, 21},
02003       7,
02004       ASN1_CLASS_APPLICATION,
02005       MIB_TYPE_COUNTER32,
02006       MIB_ACCESS_READ_ONLY,
02007       &mib2Base.snmpGroup.snmpOutNoSuchNames,
02008       NULL,
02009       sizeof(uint32_t),
02010       NULL,
02011       NULL,
02012       NULL
02013    },
02014    {
02015       "snmpOutBadValues",
02016       {43, 6, 1, 2, 1, 11, 22},
02017       7,
02018       ASN1_CLASS_APPLICATION,
02019       MIB_TYPE_COUNTER32,
02020       MIB_ACCESS_READ_ONLY,
02021       &mib2Base.snmpGroup.snmpOutBadValues,
02022       NULL,
02023       sizeof(uint32_t),
02024       NULL,
02025       NULL,
02026       NULL
02027    },
02028    {
02029       "snmpOutGenErrs",
02030       {43, 6, 1, 2, 1, 11, 24},
02031       7,
02032       ASN1_CLASS_APPLICATION,
02033       MIB_TYPE_COUNTER32,
02034       MIB_ACCESS_READ_ONLY,
02035       &mib2Base.snmpGroup.snmpOutGenErrs,
02036       NULL,
02037       sizeof(uint32_t),
02038       NULL,
02039       NULL,
02040       NULL
02041    },
02042    {
02043       "snmpOutGetRequests",
02044       {43, 6, 1, 2, 1, 11, 25},
02045       7,
02046       ASN1_CLASS_APPLICATION,
02047       MIB_TYPE_COUNTER32,
02048       MIB_ACCESS_READ_ONLY,
02049       &mib2Base.snmpGroup.snmpOutGetRequests,
02050       NULL,
02051       sizeof(uint32_t),
02052       NULL,
02053       NULL,
02054       NULL
02055    },
02056    {
02057       "snmpOutGetNexts",
02058       {43, 6, 1, 2, 1, 11, 26},
02059       7,
02060       ASN1_CLASS_APPLICATION,
02061       MIB_TYPE_COUNTER32,
02062       MIB_ACCESS_READ_ONLY,
02063       &mib2Base.snmpGroup.snmpOutGetNexts,
02064       NULL,
02065       sizeof(uint32_t),
02066       NULL,
02067       NULL,
02068       NULL
02069    },
02070    {
02071       "snmpOutSetRequests",
02072       {43, 6, 1, 2, 1, 11, 27},
02073       7,
02074       ASN1_CLASS_APPLICATION,
02075       MIB_TYPE_COUNTER32,
02076       MIB_ACCESS_READ_ONLY,
02077       &mib2Base.snmpGroup.snmpOutSetRequests,
02078       NULL,
02079       sizeof(uint32_t),
02080       NULL,
02081       NULL,
02082       NULL
02083    },
02084    {
02085       "snmpOutGetResponses",
02086       {43, 6, 1, 2, 1, 11, 28},
02087       7,
02088       ASN1_CLASS_APPLICATION,
02089       MIB_TYPE_COUNTER32,
02090       MIB_ACCESS_READ_ONLY,
02091       &mib2Base.snmpGroup.snmpOutGetResponses,
02092       NULL,
02093       sizeof(uint32_t),
02094       NULL,
02095       NULL,
02096       NULL
02097    },
02098    {
02099       "snmpOutTraps",
02100       {43, 6, 1, 2, 1, 11, 29},
02101       7,
02102       ASN1_CLASS_APPLICATION,
02103       MIB_TYPE_COUNTER32,
02104       MIB_ACCESS_READ_ONLY,
02105       &mib2Base.snmpGroup.snmpOutTraps,
02106       NULL,
02107       sizeof(uint32_t),
02108       NULL,
02109       NULL,
02110       NULL
02111    },
02112    {
02113       "snmpEnableAuthenTraps",
02114       {43, 6, 1, 2, 1, 11, 30},
02115       7,
02116       ASN1_CLASS_UNIVERSAL,
02117       ASN1_TYPE_INTEGER,
02118       MIB_ACCESS_READ_WRITE,
02119       &mib2Base.snmpGroup.snmpEnableAuthenTraps,
02120       NULL,
02121       sizeof(int32_t),
02122       NULL,
02123       NULL,
02124       NULL
02125    }
02126 };
02127 
02128 
02129 /**
02130  * @brief MIB-II module
02131  **/
02132 
02133 const MibModule mib2Module =
02134 {
02135    mib2Objects,
02136    arraysize(mib2Objects),
02137    mib2Init,
02138    mib2Lock,
02139    mib2Unlock
02140 };
02141 
02142 #endif
02143