mib2_module.c
Go to the documentation of this file.
1 /**
2  * @file mib2_module.c
3  * @brief MIB-II module
4  *
5  * @section License
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  *
9  * Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
10  *
11  * This file is part of CycloneTCP Open.
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software Foundation,
25  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26  *
27  * @section Description
28  *
29  * The second version of the Management Information Base (MIB-II) is used to
30  * manage TCP/IP-based hosts. Refer to the following RFCs for complete details:
31  * - RFC 1156: MIB for Network Management of TCP/IP-based internets
32  * - RFC 1213: MIB for Network Management of TCP/IP-based internets (version 2)
33  *
34  * @author Oryx Embedded SARL (www.oryx-embedded.com)
35  * @version 2.4.0
36  **/
37 
38 //Switch to the appropriate trace level
39 #define TRACE_LEVEL SNMP_TRACE_LEVEL
40 
41 //Dependencies
42 #include "core/net.h"
43 #include "mibs/mib2_module.h"
44 #include "mibs/mib2_impl.h"
45 #include "mibs/mib2_impl_sys.h"
46 #include "mibs/mib2_impl_if.h"
47 #include "mibs/mib2_impl_ip.h"
48 #include "mibs/mib2_impl_tcp.h"
49 #include "mibs/mib2_impl_udp.h"
50 #include "core/crypto.h"
51 #include "encoding/asn1.h"
52 #include "encoding/oid.h"
53 #include "debug.h"
54 
55 //Check TCP/IP stack configuration
56 #if (MIB2_SUPPORT == ENABLED)
57 
58 
59 /**
60  * @brief MIB-II base
61  **/
62 
64 
65 
66 /**
67  * @brief MIB-II objects
68  **/
69 
71 {
72 #if (MIB2_SYS_GROUP_SUPPORT == ENABLED)
73  //sysDescr object (1.3.6.1.2.1.1.1)
74  {
75  "sysDescr",
76  {43, 6, 1, 2, 1, 1, 1},
77  7,
81 #if (MIB2_SYS_DESCR_SIZE > 0)
85  NULL,
86  NULL,
87  NULL
88 #else
89  NULL,
90  NULL,
91  0,
92  NULL,
93  mib2GetSysDescr,
94  NULL
95 #endif
96  },
97  //sysObjectID object (1.3.6.1.2.1.1.2)
98  {
99  "sysObjectID",
100  {43, 6, 1, 2, 1, 1, 2},
101  7,
105 #if (MIB2_SYS_OBJECT_ID_SIZE > 0)
109  NULL,
110  NULL,
111  NULL
112 #else
113  NULL,
114  NULL,
115  0,
116  NULL,
118  NULL
119 #endif
120  },
121  //sysUpTime object (1.3.6.1.2.1.1.3)
122  {
123  "sysUpTime",
124  {43, 6, 1, 2, 1, 1, 3},
125  7,
129  NULL,
130  NULL,
131  sizeof(uint32_t),
132  NULL,
134  NULL
135  },
136  //sysContact object (1.3.6.1.2.1.1.4)
137  {
138  "sysContact",
139  {43, 6, 1, 2, 1, 1, 4},
140  7,
144 #if (MIB2_SYS_CONTACT_SIZE > 0)
148  NULL,
149  NULL,
150  NULL
151 #else
152  NULL,
153  NULL,
154  0,
157  NULL
158 #endif
159  },
160  //sysName object (1.3.6.1.2.1.1.5)
161  {
162  "sysName",
163  {43, 6, 1, 2, 1, 1, 5},
164  7,
168 #if (MIB2_SYS_NAME_SIZE > 0)
172  NULL,
173  NULL,
174  NULL
175 #else
176  NULL,
177  NULL,
178  0,
181  NULL
182 #endif
183  },
184  //sysLocation object (1.3.6.1.2.1.1.6)
185  {
186  "sysLocation",
187  {43, 6, 1, 2, 1, 1, 6},
188  7,
192 #if (MIB2_SYS_LOCATION_SIZE > 0)
196  NULL,
197  NULL,
198  NULL
199 #else
200  NULL,
201  NULL,
202  0,
205  NULL
206 #endif
207  },
208  //sysServices object (1.3.6.1.2.1.1.7)
209  {
210  "sysServices",
211  {43, 6, 1, 2, 1, 1, 7},
212  7,
217  NULL,
218  sizeof(int32_t),
219  NULL,
220  NULL,
221  NULL
222  },
223 #endif
224 #if (MIB2_IF_GROUP_SUPPORT == ENABLED)
225  //ifNumber object (1.3.6.1.2.1.2.1)
226  {
227  "ifNumber",
228  {43, 6, 1, 2, 1, 2, 1},
229  7,
234  NULL,
235  sizeof(int32_t),
236  NULL,
237  NULL,
238  NULL
239  },
240  //ifIndex object (1.3.6.1.2.1.2.2.1.1)
241  {
242  "ifIndex",
243  {43, 6, 1, 2, 1, 2, 2, 1, 1},
244  9,
248  NULL,
249  NULL,
250  sizeof(int32_t),
251  NULL,
254  },
255  //ifDescr object (1.3.6.1.2.1.2.2.1.2)
256  {
257  "ifDescr",
258  {43, 6, 1, 2, 1, 2, 2, 1, 2},
259  9,
263  NULL,
264  NULL,
265  0,
266  NULL,
269  },
270  //ifType object (1.3.6.1.2.1.2.2.1.3)
271  {
272  "ifType",
273  {43, 6, 1, 2, 1, 2, 2, 1, 3},
274  9,
278  NULL,
279  NULL,
280  sizeof(int32_t),
281  NULL,
284  },
285  //ifMtu object (1.3.6.1.2.1.2.2.1.4)
286  {
287  "ifMtu",
288  {43, 6, 1, 2, 1, 2, 2, 1, 4},
289  9,
293  NULL,
294  NULL,
295  sizeof(int32_t),
296  NULL,
299  },
300  //ifSpeed object (1.3.6.1.2.1.2.2.1.5)
301  {
302  "ifSpeed",
303  {43, 6, 1, 2, 1, 2, 2, 1, 5},
304  9,
308  NULL,
309  NULL,
310  sizeof(uint32_t),
311  NULL,
314  },
315 #if (ETH_SUPPORT == ENABLED)
316  //ifPhysAddress object (1.3.6.1.2.1.2.2.1.6)
317  {
318  "ifPhysAddress",
319  {43, 6, 1, 2, 1, 2, 2, 1, 6},
320  9,
324  NULL,
325  NULL,
327  NULL,
330  },
331 #endif
332  //ifAdminStatus object (1.3.6.1.2.1.2.2.1.7)
333  {
334  "ifAdminStatus",
335  {43, 6, 1, 2, 1, 2, 2, 1, 7},
336  9,
340  NULL,
341  NULL,
342  sizeof(int32_t),
346  },
347  //ifOperStatus object (1.3.6.1.2.1.2.2.1.8)
348  {
349  "ifOperStatus",
350  {43, 6, 1, 2, 1, 2, 2, 1, 8},
351  9,
355  NULL,
356  NULL,
357  sizeof(int32_t),
358  NULL,
361  },
362  //ifLastChange object (1.3.6.1.2.1.2.2.1.9)
363  {
364  "ifLastChange",
365  {43, 6, 1, 2, 1, 2, 2, 1, 9},
366  9,
370  NULL,
371  NULL,
372  sizeof(uint32_t),
373  NULL,
376  },
377  //ifInOctets object (1.3.6.1.2.1.2.2.1.10)
378  {
379  "ifInOctets",
380  {43, 6, 1, 2, 1, 2, 2, 1, 10},
381  9,
385  NULL,
386  NULL,
387  sizeof(uint32_t),
388  NULL,
391  },
392  //ifInUcastPkts object (1.3.6.1.2.1.2.2.1.11)
393  {
394  "ifInUcastPkts",
395  {43, 6, 1, 2, 1, 2, 2, 1, 11},
396  9,
400  NULL,
401  NULL,
402  sizeof(uint32_t),
403  NULL,
406  },
407  //ifInNUcastPkts object (1.3.6.1.2.1.2.2.1.12)
408  {
409  "ifInNUcastPkts",
410  {43, 6, 1, 2, 1, 2, 2, 1, 12},
411  9,
415  NULL,
416  NULL,
417  sizeof(uint32_t),
418  NULL,
421  },
422  //ifInDiscards object (1.3.6.1.2.1.2.2.1.13)
423  {
424  "ifInDiscards",
425  {43, 6, 1, 2, 1, 2, 2, 1, 13},
426  9,
430  NULL,
431  NULL,
432  sizeof(uint32_t),
433  NULL,
436  },
437  //ifInErrors object (1.3.6.1.2.1.2.2.1.14)
438  {
439  "ifInErrors",
440  {43, 6, 1, 2, 1, 2, 2, 1, 14},
441  9,
445  NULL,
446  NULL,
447  sizeof(uint32_t),
448  NULL,
451  },
452  //ifInUnknownProtos object (1.3.6.1.2.1.2.2.1.15)
453  {
454  "ifInUnknownProtos",
455  {43, 6, 1, 2, 1, 2, 2, 1, 15},
456  9,
460  NULL,
461  NULL,
462  sizeof(uint32_t),
463  NULL,
466  },
467  //ifOutOctets object (1.3.6.1.2.1.2.2.1.16)
468  {
469  "ifOutOctets",
470  {43, 6, 1, 2, 1, 2, 2, 1, 16},
471  9,
475  NULL,
476  NULL,
477  sizeof(uint32_t),
478  NULL,
481  },
482  //ifOutUcastPkts object (1.3.6.1.2.1.2.2.1.17)
483  {
484  "ifOutUcastPkts",
485  {43, 6, 1, 2, 1, 2, 2, 1, 17},
486  9,
490  NULL,
491  NULL,
492  sizeof(uint32_t),
493  NULL,
496  },
497  //ifOutNUcastPkts object (1.3.6.1.2.1.2.2.1.18)
498  {
499  "ifOutNUcastPkts",
500  {43, 6, 1, 2, 1, 2, 2, 1, 18},
501  9,
505  NULL,
506  NULL,
507  sizeof(uint32_t),
508  NULL,
511  },
512  //ifOutDiscards object (1.3.6.1.2.1.2.2.1.19)
513  {
514  "ifOutDiscards",
515  {43, 6, 1, 2, 1, 2, 2, 1, 19},
516  9,
520  NULL,
521  NULL,
522  sizeof(uint32_t),
523  NULL,
526  },
527  //ifOutErrors object (1.3.6.1.2.1.2.2.1.20)
528  {
529  "ifOutErrors",
530  {43, 6, 1, 2, 1, 2, 2, 1, 20},
531  9,
535  NULL,
536  NULL,
537  sizeof(uint32_t),
538  NULL,
541  },
542  //ifOutQLen object (1.3.6.1.2.1.2.2.1.21)
543  {
544  "ifOutQLen",
545  {43, 6, 1, 2, 1, 2, 2, 1, 21},
546  9,
550  NULL,
551  NULL,
552  sizeof(uint32_t),
553  NULL,
556  },
557  //ifSpecific object (1.3.6.1.2.1.2.2.1.22)
558  {
559  "ifSpecific",
560  {43, 6, 1, 2, 1, 2, 2, 1, 22},
561  9,
565  NULL,
566  NULL,
568  NULL,
571  },
572 #endif
573 #if (MIB2_IP_GROUP_SUPPORT == ENABLED)
574  //ipForwarding object (1.3.6.1.2.1.4.1)
575  {
576  "ipForwarding",
577  {43, 6, 1, 2, 1, 4, 1},
578  7,
583  NULL,
584  sizeof(int32_t),
585  NULL,
586  NULL,
587  NULL
588  },
589  //ipDefaultTTL object (1.3.6.1.2.1.4.2)
590  {
591  "ipDefaultTTL",
592  {43, 6, 1, 2, 1, 4, 2},
593  7,
598  NULL,
599  sizeof(int32_t),
600  NULL,
601  NULL,
602  NULL
603  },
604  //ipInReceives object (1.3.6.1.2.1.4.3)
605  {
606  "ipInReceives",
607  {43, 6, 1, 2, 1, 4, 3},
608  7,
613  NULL,
614  sizeof(uint32_t),
615  NULL,
616  NULL,
617  NULL
618  },
619  //ipInHdrErrors object (1.3.6.1.2.1.4.4)
620  {
621  "ipInHdrErrors",
622  {43, 6, 1, 2, 1, 4, 4},
623  7,
628  NULL,
629  sizeof(uint32_t),
630  NULL,
631  NULL,
632  NULL
633  },
634  //ipInAddrErrors object (1.3.6.1.2.1.4.5)
635  {
636  "ipInAddrErrors",
637  {43, 6, 1, 2, 1, 4, 5},
638  7,
643  NULL,
644  sizeof(uint32_t),
645  NULL,
646  NULL,
647  NULL
648  },
649  //ipForwDatagrams object (1.3.6.1.2.1.4.6)
650  {
651  "ipForwDatagrams",
652  {43, 6, 1, 2, 1, 4, 6},
653  7,
658  NULL,
659  sizeof(uint32_t),
660  NULL,
661  NULL,
662  NULL
663  },
664  //ipInUnknownProtos object (1.3.6.1.2.1.4.7)
665  {
666  "ipInUnknownProtos",
667  {43, 6, 1, 2, 1, 4, 7},
668  7,
673  NULL,
674  sizeof(uint32_t),
675  NULL,
676  NULL,
677  NULL
678  },
679  //ipInDiscards object (1.3.6.1.2.1.4.8)
680  {
681  "ipInDiscards",
682  {43, 6, 1, 2, 1, 4, 8},
683  7,
688  NULL,
689  sizeof(uint32_t),
690  NULL,
691  NULL,
692  NULL
693  },
694  //ipInDelivers object (1.3.6.1.2.1.4.9)
695  {
696  "ipInDelivers",
697  {43, 6, 1, 2, 1, 4, 9},
698  7,
703  NULL,
704  sizeof(uint32_t),
705  NULL,
706  NULL,
707  NULL
708  },
709  //ipOutRequests object (1.3.6.1.2.1.4.10)
710  {
711  "ipOutRequests",
712  {43, 6, 1, 2, 1, 4, 10},
713  7,
718  NULL,
719  sizeof(uint32_t),
720  NULL,
721  NULL,
722  NULL
723  },
724  //ipOutDiscards object (1.3.6.1.2.1.4.11)
725  {
726  "ipOutDiscards",
727  {43, 6, 1, 2, 1, 4, 11},
728  7,
733  NULL,
734  sizeof(uint32_t),
735  NULL,
736  NULL,
737  NULL
738  },
739  //ipOutNoRoutes object (1.3.6.1.2.1.4.12)
740  {
741  "ipOutNoRoutes",
742  {43, 6, 1, 2, 1, 4, 12},
743  7,
748  NULL,
749  sizeof(uint32_t),
750  NULL,
751  NULL,
752  NULL
753  },
754  //ipReasmTimeout object (1.3.6.1.2.1.4.13)
755  {
756  "ipReasmTimeout",
757  {43, 6, 1, 2, 1, 4, 13},
758  7,
763  NULL,
764  sizeof(int32_t),
765  NULL,
766  NULL,
767  NULL
768  },
769  //ipReasmReqds object (1.3.6.1.2.1.4.14)
770  {
771  "ipReasmReqds",
772  {43, 6, 1, 2, 1, 4, 14},
773  7,
778  NULL,
779  sizeof(uint32_t),
780  NULL,
781  NULL,
782  NULL
783  },
784  //ipReasmOKs object (1.3.6.1.2.1.4.15)
785  {
786  "ipReasmOKs",
787  {43, 6, 1, 2, 1, 4, 15},
788  7,
793  NULL,
794  sizeof(uint32_t),
795  NULL,
796  NULL,
797  NULL
798  },
799  //ipReasmFails object (1.3.6.1.2.1.4.16)
800  {
801  "ipReasmFails",
802  {43, 6, 1, 2, 1, 4, 16},
803  7,
808  NULL,
809  sizeof(uint32_t),
810  NULL,
811  NULL,
812  NULL
813  },
814  //ipFragOKs object (1.3.6.1.2.1.4.17)
815  {
816  "ipFragOKs",
817  {43, 6, 1, 2, 1, 4, 17},
818  7,
823  NULL,
824  sizeof(uint32_t),
825  NULL,
826  NULL,
827  NULL
828  },
829  //ipFragFails object (1.3.6.1.2.1.4.18)
830  {
831  "ipFragFails",
832  {43, 6, 1, 2, 1, 4, 18},
833  7,
838  NULL,
839  sizeof(uint32_t),
840  NULL,
841  NULL,
842  NULL
843  },
844  //ipFragCreates object (1.3.6.1.2.1.4.19)
845  {
846  "ipFragCreates",
847  {43, 6, 1, 2, 1, 4, 19},
848  7,
853  NULL,
854  sizeof(uint32_t),
855  NULL,
856  NULL,
857  NULL
858  },
859  //ipAdEntAddr object (1.3.6.1.2.1.4.20.1.1)
860  {
861  "ipAdEntAddr",
862  {43, 6, 1, 2, 1, 4, 20, 1, 1},
863  9,
867  NULL,
868  NULL,
870  NULL,
873  },
874  //ipAdEntIfIndex object (1.3.6.1.2.1.4.20.1.2)
875  {
876  "ipAdEntIfIndex",
877  {43, 6, 1, 2, 1, 4, 20, 1, 2},
878  9,
882  NULL,
883  NULL,
884  sizeof(int32_t),
885  NULL,
888  },
889  //ipAdEntNetMask object (1.3.6.1.2.1.4.20.1.3)
890  {
891  "ipAdEntNetMask",
892  {43, 6, 1, 2, 1, 4, 20, 1, 3},
893  9,
897  NULL,
898  NULL,
900  NULL,
903  },
904  //ipAdEntBcastAddr object (1.3.6.1.2.1.4.20.1.4)
905  {
906  "ipAdEntBcastAddr",
907  {43, 6, 1, 2, 1, 4, 20, 1, 4},
908  9,
912  NULL,
913  NULL,
914  sizeof(int32_t),
915  NULL,
918  },
919  //ipAdEntReasmMaxSize object (1.3.6.1.2.1.4.20.1.5)
920  {
921  "ipAdEntReasmMaxSize",
922  {43, 6, 1, 2, 1, 4, 20, 1, 5},
923  9,
927  NULL,
928  NULL,
929  sizeof(int32_t),
930  NULL,
933  },
934  //ipNetToMediaIfIndex object (1.3.6.1.2.1.4.22.1.1)
935  {
936  "ipNetToMediaIfIndex",
937  {43, 6, 1, 2, 1, 4, 22, 1, 1},
938  9,
942  NULL,
943  NULL,
944  sizeof(int32_t),
948  },
949  //ipNetToMediaPhysAddress object (1.3.6.1.2.1.4.22.1.2)
950  {
951  "ipNetToMediaPhysAddress",
952  {43, 6, 1, 2, 1, 4, 22, 1, 2},
953  9,
957  NULL,
958  NULL,
963  },
964  //ipNetToMediaNetAddress object (1.3.6.1.2.1.4.22.1.3)
965  {
966  "ipNetToMediaNetAddress",
967  {43, 6, 1, 2, 1, 4, 22, 1, 3},
968  9,
972  NULL,
973  NULL,
978  },
979  //ipNetToMediaType object (1.3.6.1.2.1.4.22.1.4)
980  {
981  "ipNetToMediaType",
982  {43, 6, 1, 2, 1, 4, 22, 1, 4},
983  9,
987  NULL,
988  NULL,
989  sizeof(int32_t),
993  },
994  //ipRoutingDiscards object (1.3.6.1.2.1.4.23)
995  {
996  "ipRoutingDiscards",
997  {43, 6, 1, 2, 1, 4, 23},
998  7,
1003  NULL,
1004  sizeof(uint32_t),
1005  NULL,
1006  NULL,
1007  NULL
1008  },
1009 #endif
1010 #if (MIB2_ICMP_GROUP_SUPPORT == ENABLED)
1011  //icmpInMsgs object (1.3.6.1.2.1.5.1)
1012  {
1013  "icmpInMsgs",
1014  {43, 6, 1, 2, 1, 5, 1},
1015  7,
1020  NULL,
1021  sizeof(uint32_t),
1022  NULL,
1023  NULL,
1024  NULL
1025  },
1026  //icmpInErrors object (1.3.6.1.2.1.5.2)
1027  {
1028  "icmpInErrors",
1029  {43, 6, 1, 2, 1, 5, 2},
1030  7,
1035  NULL,
1036  sizeof(uint32_t),
1037  NULL,
1038  NULL,
1039  NULL
1040  },
1041  //icmpInDestUnreachs object (1.3.6.1.2.1.5.3)
1042  {
1043  "icmpInDestUnreachs",
1044  {43, 6, 1, 2, 1, 5, 3},
1045  7,
1050  NULL,
1051  sizeof(uint32_t),
1052  NULL,
1053  NULL,
1054  NULL
1055  },
1056  //icmpInTimeExcds object (1.3.6.1.2.1.5.4)
1057  {
1058  "icmpInTimeExcds",
1059  {43, 6, 1, 2, 1, 5, 4},
1060  7,
1065  NULL,
1066  sizeof(uint32_t),
1067  NULL,
1068  NULL,
1069  NULL
1070  },
1071  //icmpInParmProbs object (1.3.6.1.2.1.5.5)
1072  {
1073  "icmpInParmProbs",
1074  {43, 6, 1, 2, 1, 5, 5},
1075  7,
1080  NULL,
1081  sizeof(uint32_t),
1082  NULL,
1083  NULL,
1084  NULL
1085  },
1086  //icmpInSrcQuenchs object (1.3.6.1.2.1.5.6)
1087  {
1088  "icmpInSrcQuenchs",
1089  {43, 6, 1, 2, 1, 5, 6},
1090  7,
1095  NULL,
1096  sizeof(uint32_t),
1097  NULL,
1098  NULL,
1099  NULL
1100  },
1101  //icmpInRedirects object (1.3.6.1.2.1.5.7)
1102  {
1103  "icmpInRedirects",
1104  {43, 6, 1, 2, 1, 5, 7},
1105  7,
1110  NULL,
1111  sizeof(uint32_t),
1112  NULL,
1113  NULL,
1114  NULL
1115  },
1116  //icmpInEchos object (1.3.6.1.2.1.5.8)
1117  {
1118  "icmpInEchos",
1119  {43, 6, 1, 2, 1, 5, 8},
1120  7,
1125  NULL,
1126  sizeof(uint32_t),
1127  NULL,
1128  NULL,
1129  NULL
1130  },
1131  //icmpInEchoReps object (1.3.6.1.2.1.5.9)
1132  {
1133  "icmpInEchoReps",
1134  {43, 6, 1, 2, 1, 5, 9},
1135  7,
1140  NULL,
1141  sizeof(uint32_t),
1142  NULL,
1143  NULL,
1144  NULL
1145  },
1146  //icmpInTimestamps object (1.3.6.1.2.1.5.10)
1147  {
1148  "icmpInTimestamps",
1149  {43, 6, 1, 2, 1, 5, 10},
1150  7,
1155  NULL,
1156  sizeof(uint32_t),
1157  NULL,
1158  NULL,
1159  NULL
1160  },
1161  //icmpInTimestampReps object (1.3.6.1.2.1.5.11)
1162  {
1163  "icmpInTimestampReps",
1164  {43, 6, 1, 2, 1, 5, 11},
1165  7,
1170  NULL,
1171  sizeof(uint32_t),
1172  NULL,
1173  NULL,
1174  NULL
1175  },
1176  //icmpInAddrMasks object (1.3.6.1.2.1.5.12)
1177  {
1178  "icmpInAddrMasks",
1179  {43, 6, 1, 2, 1, 5, 12},
1180  7,
1185  NULL,
1186  sizeof(uint32_t),
1187  NULL,
1188  NULL,
1189  NULL
1190  },
1191  //icmpInAddrMaskReps object (1.3.6.1.2.1.5.13)
1192  {
1193  "icmpInAddrMaskReps",
1194  {43, 6, 1, 2, 1, 5, 13},
1195  7,
1200  NULL,
1201  sizeof(uint32_t),
1202  NULL,
1203  NULL,
1204  NULL
1205  },
1206  //icmpOutMsgs object (1.3.6.1.2.1.5.14)
1207  {
1208  "icmpOutMsgs",
1209  {43, 6, 1, 2, 1, 5, 14},
1210  7,
1215  NULL,
1216  sizeof(uint32_t),
1217  NULL,
1218  NULL,
1219  NULL
1220  },
1221  //icmpOutErrors object (1.3.6.1.2.1.5.15)
1222  {
1223  "icmpOutErrors",
1224  {43, 6, 1, 2, 1, 5, 15},
1225  7,
1230  NULL,
1231  sizeof(uint32_t),
1232  NULL,
1233  NULL,
1234  NULL
1235  },
1236  //icmpOutDestUnreachs object (1.3.6.1.2.1.5.16)
1237  {
1238  "icmpOutDestUnreachs",
1239  {43, 6, 1, 2, 1, 5, 16},
1240  7,
1245  NULL,
1246  sizeof(uint32_t),
1247  NULL,
1248  NULL,
1249  NULL
1250  },
1251  //icmpOutTimeExcds object (1.3.6.1.2.1.5.17)
1252  {
1253  "icmpOutTimeExcds",
1254  {43, 6, 1, 2, 1, 5, 17},
1255  7,
1260  NULL,
1261  sizeof(uint32_t),
1262  NULL,
1263  NULL,
1264  NULL
1265  },
1266  //icmpOutParmProbs object (1.3.6.1.2.1.5.18)
1267  {
1268  "icmpOutParmProbs",
1269  {43, 6, 1, 2, 1, 5, 18},
1270  7,
1275  NULL,
1276  sizeof(uint32_t),
1277  NULL,
1278  NULL,
1279  NULL
1280  },
1281  //icmpOutSrcQuenchs object (1.3.6.1.2.1.5.19)
1282  {
1283  "icmpOutSrcQuenchs",
1284  {43, 6, 1, 2, 1, 5, 19},
1285  7,
1290  NULL,
1291  sizeof(uint32_t),
1292  NULL,
1293  NULL,
1294  NULL
1295  },
1296  //icmpOutRedirects object (1.3.6.1.2.1.5.20)
1297  {
1298  "icmpOutRedirects",
1299  {43, 6, 1, 2, 1, 5, 20},
1300  7,
1305  NULL,
1306  sizeof(uint32_t),
1307  NULL,
1308  NULL,
1309  NULL
1310  },
1311  //icmpOutEchos object (1.3.6.1.2.1.5.21)
1312  {
1313  "icmpOutEchos",
1314  {43, 6, 1, 2, 1, 5, 21},
1315  7,
1320  NULL,
1321  sizeof(uint32_t),
1322  NULL,
1323  NULL,
1324  NULL
1325  },
1326  //icmpOutEchoReps object (1.3.6.1.2.1.5.22)
1327  {
1328  "icmpOutEchoReps",
1329  {43, 6, 1, 2, 1, 5, 22},
1330  7,
1335  NULL,
1336  sizeof(uint32_t),
1337  NULL,
1338  NULL,
1339  NULL
1340  },
1341  //icmpOutTimestamps object (1.3.6.1.2.1.5.23)
1342  {
1343  "icmpOutTimestamps",
1344  {43, 6, 1, 2, 1, 5, 23},
1345  7,
1350  NULL,
1351  sizeof(uint32_t),
1352  NULL,
1353  NULL,
1354  NULL
1355  },
1356  //icmpOutTimestampReps object (1.3.6.1.2.1.5.24)
1357  {
1358  "icmpOutTimestampReps",
1359  {43, 6, 1, 2, 1, 5, 24},
1360  7,
1365  NULL,
1366  sizeof(uint32_t),
1367  NULL,
1368  NULL,
1369  NULL
1370  },
1371  //icmpOutAddrMasks object (1.3.6.1.2.1.5.25)
1372  {
1373  "icmpOutAddrMasks",
1374  {43, 6, 1, 2, 1, 5, 25},
1375  7,
1380  NULL,
1381  sizeof(uint32_t),
1382  NULL,
1383  NULL,
1384  NULL
1385  },
1386  //icmpOutAddrMaskReps object (1.3.6.1.2.1.5.26)
1387  {
1388  "icmpOutAddrMaskReps",
1389  {43, 6, 1, 2, 1, 5, 26},
1390  7,
1395  NULL,
1396  sizeof(uint32_t),
1397  NULL,
1398  NULL,
1399  NULL
1400  },
1401 #endif
1402 #if (MIB2_TCP_GROUP_SUPPORT == ENABLED)
1403  //tcpRtoAlgorithm object (1.3.6.1.2.1.6.1)
1404  {
1405  "tcpRtoAlgorithm",
1406  {43, 6, 1, 2, 1, 6, 1},
1407  7,
1412  NULL,
1413  sizeof(int32_t),
1414  NULL,
1415  NULL,
1416  NULL
1417  },
1418  //tcpRtoMin object (1.3.6.1.2.1.6.2)
1419  {
1420  "tcpRtoMin",
1421  {43, 6, 1, 2, 1, 6, 2},
1422  7,
1427  NULL,
1428  sizeof(int32_t),
1429  NULL,
1430  NULL,
1431  NULL
1432  },
1433  //tcpRtoMax object (1.3.6.1.2.1.6.3)
1434  {
1435  "tcpRtoMax",
1436  {43, 6, 1, 2, 1, 6, 3},
1437  7,
1442  NULL,
1443  sizeof(int32_t),
1444  NULL,
1445  NULL,
1446  NULL
1447  },
1448  //tcpMaxConn object (1.3.6.1.2.1.6.4)
1449  {
1450  "tcpMaxConn",
1451  {43, 6, 1, 2, 1, 6, 4},
1452  7,
1457  NULL,
1458  sizeof(int32_t),
1459  NULL,
1460  NULL,
1461  NULL
1462  },
1463  //tcpActiveOpens object (1.3.6.1.2.1.6.5)
1464  {
1465  "tcpActiveOpens",
1466  {43, 6, 1, 2, 1, 6, 5},
1467  7,
1472  NULL,
1473  sizeof(uint32_t),
1474  NULL,
1475  NULL,
1476  NULL
1477  },
1478  //tcpPassiveOpens object (1.3.6.1.2.1.6.6)
1479  {
1480  "tcpPassiveOpens",
1481  {43, 6, 1, 2, 1, 6, 6},
1482  7,
1487  NULL,
1488  sizeof(uint32_t),
1489  NULL,
1490  NULL,
1491  NULL
1492  },
1493  //tcpAttemptFails object (1.3.6.1.2.1.6.7)
1494  {
1495  "tcpAttemptFails",
1496  {43, 6, 1, 2, 1, 6, 7},
1497  7,
1502  NULL,
1503  sizeof(uint32_t),
1504  NULL,
1505  NULL,
1506  NULL
1507  },
1508  //tcpEstabResets object (1.3.6.1.2.1.6.8)
1509  {
1510  "tcpEstabResets",
1511  {43, 6, 1, 2, 1, 6, 8},
1512  7,
1517  NULL,
1518  sizeof(uint32_t),
1519  NULL,
1520  NULL,
1521  NULL
1522  },
1523  //tcpCurrEstab object (1.3.6.1.2.1.6.9)
1524  {
1525  "tcpCurrEstab",
1526  {43, 6, 1, 2, 1, 6, 9},
1527  7,
1531  NULL,
1532  NULL,
1533  sizeof(uint32_t),
1534  NULL,
1536  NULL
1537  },
1538  //tcpInSegs object (1.3.6.1.2.1.6.10)
1539  {
1540  "tcpInSegs",
1541  {43, 6, 1, 2, 1, 6, 10},
1542  7,
1547  NULL,
1548  sizeof(uint32_t),
1549  NULL,
1550  NULL,
1551  NULL
1552  },
1553  //tcpOutSegs object (1.3.6.1.2.1.6.11)
1554  {
1555  "tcpOutSegs",
1556  {43, 6, 1, 2, 1, 6, 11},
1557  7,
1562  NULL,
1563  sizeof(uint32_t),
1564  NULL,
1565  NULL,
1566  NULL
1567  },
1568  //tcpRetransSegs object (1.3.6.1.2.1.6.12)
1569  {
1570  "tcpRetransSegs",
1571  {43, 6, 1, 2, 1, 6, 12},
1572  7,
1577  NULL,
1578  sizeof(uint32_t),
1579  NULL,
1580  NULL,
1581  NULL
1582  },
1583  //tcpConnState object (1.3.6.1.2.1.6.13.1.1)
1584  {
1585  "tcpConnState",
1586  {43, 6, 1, 2, 1, 6, 13, 1, 1},
1587  9,
1591  NULL,
1592  NULL,
1593  sizeof(int32_t),
1597  },
1598  //tcpConnLocalAddress object (1.3.6.1.2.1.6.13.1.2)
1599  {
1600  "tcpConnLocalAddress",
1601  {43, 6, 1, 2, 1, 6, 13, 1, 2},
1602  9,
1606  NULL,
1607  NULL,
1609  NULL,
1612  },
1613  //tcpConnLocalPort object (1.3.6.1.2.1.6.13.1.3)
1614  {
1615  "tcpConnLocalPort",
1616  {43, 6, 1, 2, 1, 6, 13, 1, 3},
1617  9,
1621  NULL,
1622  NULL,
1623  sizeof(int32_t),
1624  NULL,
1627  },
1628  //tcpConnRemAddress object (1.3.6.1.2.1.6.13.1.4)
1629  {
1630  "tcpConnRemAddress",
1631  {43, 6, 1, 2, 1, 6, 13, 1, 4},
1632  9,
1636  NULL,
1637  NULL,
1639  NULL,
1642  },
1643  //tcpConnRemPort object (1.3.6.1.2.1.6.13.1.5)
1644  {
1645  "tcpConnRemPort",
1646  {43, 6, 1, 2, 1, 6, 13, 1, 5},
1647  9,
1651  NULL,
1652  NULL,
1653  sizeof(int32_t),
1654  NULL,
1657  },
1658  //tcpInErrs object (1.3.6.1.2.1.6.14)
1659  {
1660  "tcpInErrs",
1661  {43, 6, 1, 2, 1, 6, 14},
1662  7,
1667  NULL,
1668  sizeof(uint32_t),
1669  NULL,
1670  NULL,
1671  NULL
1672  },
1673  //tcpOutRsts object (1.3.6.1.2.1.6.15)
1674  {
1675  "tcpOutRsts",
1676  {43, 6, 1, 2, 1, 6, 15},
1677  7,
1682  NULL,
1683  sizeof(uint32_t),
1684  NULL,
1685  NULL,
1686  NULL
1687  },
1688 #endif
1689 #if (MIB2_UDP_GROUP_SUPPORT == ENABLED)
1690  //udpInDatagrams object (1.3.6.1.2.1.7.1)
1691  {
1692  "udpInDatagrams",
1693  {43, 6, 1, 2, 1, 7, 1},
1694  7,
1699  NULL,
1700  sizeof(uint32_t),
1701  NULL,
1702  NULL,
1703  NULL
1704  },
1705  //udpNoPorts object (1.3.6.1.2.1.7.2)
1706  {
1707  "udpNoPorts",
1708  {43, 6, 1, 2, 1, 7, 2},
1709  7,
1714  NULL,
1715  sizeof(uint32_t),
1716  NULL,
1717  NULL,
1718  NULL
1719  },
1720  //udpInErrors object (1.3.6.1.2.1.7.3)
1721  {
1722  "udpInErrors",
1723  {43, 6, 1, 2, 1, 7, 3},
1724  7,
1729  NULL,
1730  sizeof(uint32_t),
1731  NULL,
1732  NULL,
1733  NULL
1734  },
1735  //udpOutDatagrams object (1.3.6.1.2.1.7.4)
1736  {
1737  "udpOutDatagrams",
1738  {43, 6, 1, 2, 1, 7, 4},
1739  7,
1744  NULL,
1745  sizeof(uint32_t),
1746  NULL,
1747  NULL,
1748  NULL
1749  },
1750  //udpLocalAddress object (1.3.6.1.2.1.7.5.1.1)
1751  {
1752  "udpLocalAddress",
1753  {43, 6, 1, 2, 1, 7, 5, 1, 1},
1754  9,
1758  NULL,
1759  NULL,
1761  NULL,
1764  },
1765  //udpLocalPort object (1.3.6.1.2.1.7.5.1.2)
1766  {
1767  "udpLocalPort",
1768  {43, 6, 1, 2, 1, 7, 5, 1, 2},
1769  9,
1773  NULL,
1774  NULL,
1775  sizeof(int32_t),
1776  NULL,
1779  },
1780 #endif
1781 #if (MIB2_SNMP_GROUP_SUPPORT == ENABLED)
1782  //snmpInPkts object (1.3.6.1.2.1.11.1)
1783  {
1784  "snmpInPkts",
1785  {43, 6, 1, 2, 1, 11, 1},
1786  7,
1791  NULL,
1792  sizeof(uint32_t),
1793  NULL,
1794  NULL,
1795  NULL
1796  },
1797  //snmpOutPkts object (1.3.6.1.2.1.11.2)
1798  {
1799  "snmpOutPkts",
1800  {43, 6, 1, 2, 1, 11, 2},
1801  7,
1806  NULL,
1807  sizeof(uint32_t),
1808  NULL,
1809  NULL,
1810  NULL
1811  },
1812  //snmpInBadVersions object (1.3.6.1.2.1.11.3)
1813  {
1814  "snmpInBadVersions",
1815  {43, 6, 1, 2, 1, 11, 3},
1816  7,
1821  NULL,
1822  sizeof(uint32_t),
1823  NULL,
1824  NULL,
1825  NULL
1826  },
1827  //snmpInBadCommunityNames object (1.3.6.1.2.1.11.4)
1828  {
1829  "snmpInBadCommunityNames",
1830  {43, 6, 1, 2, 1, 11, 4},
1831  7,
1836  NULL,
1837  sizeof(uint32_t),
1838  NULL,
1839  NULL,
1840  NULL
1841  },
1842  //snmpInBadCommunityUses object (1.3.6.1.2.1.11.5)
1843  {
1844  "snmpInBadCommunityUses",
1845  {43, 6, 1, 2, 1, 11, 5},
1846  7,
1851  NULL,
1852  sizeof(uint32_t),
1853  NULL,
1854  NULL,
1855  NULL
1856  },
1857  //snmpInASNParseErrs object (1.3.6.1.2.1.11.6)
1858  {
1859  "snmpInASNParseErrs",
1860  {43, 6, 1, 2, 1, 11, 6},
1861  7,
1866  NULL,
1867  sizeof(uint32_t),
1868  NULL,
1869  NULL,
1870  NULL
1871  },
1872  //snmpInTooBigs object (1.3.6.1.2.1.11.8)
1873  {
1874  "snmpInTooBigs",
1875  {43, 6, 1, 2, 1, 11, 8},
1876  7,
1881  NULL,
1882  sizeof(uint32_t),
1883  NULL,
1884  NULL,
1885  NULL
1886  },
1887  //snmpInNoSuchNames object (1.3.6.1.2.1.11.9)
1888  {
1889  "snmpInNoSuchNames",
1890  {43, 6, 1, 2, 1, 11, 9},
1891  7,
1896  NULL,
1897  sizeof(uint32_t),
1898  NULL,
1899  NULL,
1900  NULL
1901  },
1902  //snmpInBadValues object (1.3.6.1.2.1.11.10)
1903  {
1904  "snmpInBadValues",
1905  {43, 6, 1, 2, 1, 11, 10},
1906  7,
1911  NULL,
1912  sizeof(uint32_t),
1913  NULL,
1914  NULL,
1915  NULL
1916  },
1917  //snmpInReadOnlys object (1.3.6.1.2.1.11.11)
1918  {
1919  "snmpInReadOnlys",
1920  {43, 6, 1, 2, 1, 11, 11},
1921  7,
1926  NULL,
1927  sizeof(uint32_t),
1928  NULL,
1929  NULL,
1930  NULL
1931  },
1932  //snmpInGenErrs object (1.3.6.1.2.1.11.12)
1933  {
1934  "snmpInGenErrs",
1935  {43, 6, 1, 2, 1, 11, 12},
1936  7,
1941  NULL,
1942  sizeof(uint32_t),
1943  NULL,
1944  NULL,
1945  NULL
1946  },
1947  //snmpInTotalReqVars object (1.3.6.1.2.1.11.13)
1948  {
1949  "snmpInTotalReqVars",
1950  {43, 6, 1, 2, 1, 11, 13},
1951  7,
1956  NULL,
1957  sizeof(uint32_t),
1958  NULL,
1959  NULL,
1960  NULL
1961  },
1962  //snmpInTotalSetVars object (1.3.6.1.2.1.11.14)
1963  {
1964  "snmpInTotalSetVars",
1965  {43, 6, 1, 2, 1, 11, 14},
1966  7,
1971  NULL,
1972  sizeof(uint32_t),
1973  NULL,
1974  NULL,
1975  NULL
1976  },
1977  //snmpInGetRequests object (1.3.6.1.2.1.11.15)
1978  {
1979  "snmpInGetRequests",
1980  {43, 6, 1, 2, 1, 11, 15},
1981  7,
1986  NULL,
1987  sizeof(uint32_t),
1988  NULL,
1989  NULL,
1990  NULL
1991  },
1992  //snmpInGetNexts object (1.3.6.1.2.1.11.16)
1993  {
1994  "snmpInGetNexts",
1995  {43, 6, 1, 2, 1, 11, 16},
1996  7,
2001  NULL,
2002  sizeof(uint32_t),
2003  NULL,
2004  NULL,
2005  NULL
2006  },
2007  //snmpInSetRequests object (1.3.6.1.2.1.11.17)
2008  {
2009  "snmpInSetRequests",
2010  {43, 6, 1, 2, 1, 11, 17},
2011  7,
2016  NULL,
2017  sizeof(uint32_t),
2018  NULL,
2019  NULL,
2020  NULL
2021  },
2022  //snmpInGetResponses object (1.3.6.1.2.1.11.18)
2023  {
2024  "snmpInGetResponses",
2025  {43, 6, 1, 2, 1, 11, 18},
2026  7,
2031  NULL,
2032  sizeof(uint32_t),
2033  NULL,
2034  NULL,
2035  NULL
2036  },
2037  //snmpInTraps object (1.3.6.1.2.1.11.19)
2038  {
2039  "snmpInTraps",
2040  {43, 6, 1, 2, 1, 11, 19},
2041  7,
2046  NULL,
2047  sizeof(uint32_t),
2048  NULL,
2049  NULL,
2050  NULL
2051  },
2052  //snmpOutTooBigs object (1.3.6.1.2.1.11.20)
2053  {
2054  "snmpOutTooBigs",
2055  {43, 6, 1, 2, 1, 11, 20},
2056  7,
2061  NULL,
2062  sizeof(uint32_t),
2063  NULL,
2064  NULL,
2065  NULL
2066  },
2067  //snmpOutNoSuchNames object (1.3.6.1.2.1.11.21)
2068  {
2069  "snmpOutNoSuchNames",
2070  {43, 6, 1, 2, 1, 11, 21},
2071  7,
2076  NULL,
2077  sizeof(uint32_t),
2078  NULL,
2079  NULL,
2080  NULL
2081  },
2082  //snmpOutBadValues object (1.3.6.1.2.1.11.22)
2083  {
2084  "snmpOutBadValues",
2085  {43, 6, 1, 2, 1, 11, 22},
2086  7,
2091  NULL,
2092  sizeof(uint32_t),
2093  NULL,
2094  NULL,
2095  NULL
2096  },
2097  //snmpOutGenErrs object (1.3.6.1.2.1.11.24)
2098  {
2099  "snmpOutGenErrs",
2100  {43, 6, 1, 2, 1, 11, 24},
2101  7,
2106  NULL,
2107  sizeof(uint32_t),
2108  NULL,
2109  NULL,
2110  NULL
2111  },
2112  //snmpOutGetRequests object (1.3.6.1.2.1.11.25)
2113  {
2114  "snmpOutGetRequests",
2115  {43, 6, 1, 2, 1, 11, 25},
2116  7,
2121  NULL,
2122  sizeof(uint32_t),
2123  NULL,
2124  NULL,
2125  NULL
2126  },
2127  //snmpOutGetNexts object (1.3.6.1.2.1.11.26)
2128  {
2129  "snmpOutGetNexts",
2130  {43, 6, 1, 2, 1, 11, 26},
2131  7,
2136  NULL,
2137  sizeof(uint32_t),
2138  NULL,
2139  NULL,
2140  NULL
2141  },
2142  //snmpOutSetRequests object (1.3.6.1.2.1.11.27)
2143  {
2144  "snmpOutSetRequests",
2145  {43, 6, 1, 2, 1, 11, 27},
2146  7,
2151  NULL,
2152  sizeof(uint32_t),
2153  NULL,
2154  NULL,
2155  NULL
2156  },
2157  //snmpOutGetResponses object (1.3.6.1.2.1.11.28)
2158  {
2159  "snmpOutGetResponses",
2160  {43, 6, 1, 2, 1, 11, 28},
2161  7,
2166  NULL,
2167  sizeof(uint32_t),
2168  NULL,
2169  NULL,
2170  NULL
2171  },
2172  //snmpOutTraps object (1.3.6.1.2.1.11.29)
2173  {
2174  "snmpOutTraps",
2175  {43, 6, 1, 2, 1, 11, 29},
2176  7,
2181  NULL,
2182  sizeof(uint32_t),
2183  NULL,
2184  NULL,
2185  NULL
2186  },
2187  //snmpEnableAuthenTraps object (1.3.6.1.2.1.11.30)
2188  {
2189  "snmpEnableAuthenTraps",
2190  {43, 6, 1, 2, 1, 11, 30},
2191  7,
2196  NULL,
2197  sizeof(int32_t),
2198  NULL,
2199  NULL,
2200  NULL
2201  }
2202 #endif
2203 };
2204 
2205 
2206 /**
2207  * @brief MIB-II module
2208  **/
2209 
2211 {
2212  "RFC1213-MIB",
2213  {43, 6, 1, 2, 1},
2214  5,
2215  mib2Objects,
2217  mib2Init,
2218  NULL,
2219  NULL,
2220  NULL,
2221  NULL
2222 };
2223 
2224 #endif
ASN.1 (Abstract Syntax Notation One)
@ ASN1_TYPE_OBJECT_IDENTIFIER
Definition: asn1.h:74
@ ASN1_TYPE_OCTET_STRING
Definition: asn1.h:72
@ ASN1_TYPE_INTEGER
Definition: asn1.h:70
#define ASN1_CLASS_APPLICATION
Definition: asn1.h:53
#define ASN1_CLASS_UNIVERSAL
Definition: asn1.h:52
General definitions for cryptographic algorithms.
Debugging facilities.
error_t mib2Init(void)
MIB-II module initialization.
Definition: mib2_impl.c:53
MIB-II module implementation.
error_t mib2GetNextIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ifEntry object.
Definition: mib2_impl_if.c:370
error_t mib2SetIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ifEntry object value.
Definition: mib2_impl_if.c:61
error_t mib2GetIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ifEntry object value.
Definition: mib2_impl_if.c:79
MIB-II module implementation (Interface group)
error_t mib2SetIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipNetToMediaEntry object value.
Definition: mib2_impl_ip.c:272
error_t mib2GetNextIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipNetToMediaEntry object.
Definition: mib2_impl_ip.c:395
error_t mib2GetNextIpAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddrEntry object.
Definition: mib2_impl_ip.c:166
error_t mib2GetIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipNetToMediaEntry object value.
Definition: mib2_impl_ip.c:290
error_t mib2GetIpAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddrEntry object value.
Definition: mib2_impl_ip.c:60
MIB-II module implementation (IP group)
error_t mib2GetSysUpTime(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get sysUpTime object value.
Definition: mib2_impl_sys.c:59
MIB-II module implementation (System group)
error_t mib2GetSysObjectID(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2GetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2SetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
error_t mib2GetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2GetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2SetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
error_t mib2SetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
error_t mib2SetTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set tcpConnEntry object value.
error_t mib2GetTcpCurrEstab(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get tcpCurrEstab object value.
Definition: mib2_impl_tcp.c:59
error_t mib2GetNextTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next tcpConnEntry object.
error_t mib2GetTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get tcpConnEntry object value.
MIB-II module implementation (TCP group)
error_t mib2GetNextUdpEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next udpEntry object.
error_t mib2GetUdpEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get udpEntry object value.
Definition: mib2_impl_udp.c:59
MIB-II module implementation (UDP group)
const MibObject mib2Objects[]
MIB-II objects.
Definition: mib2_module.c:70
Mib2Base mib2Base
MIB-II base.
Definition: mib2_module.c:63
const MibModule mib2Module
MIB-II module.
Definition: mib2_module.c:2210
MIB-II module.
#define MIB2_PHYS_ADDRESS_SIZE
Definition: mib2_module.h:141
#define MIB2_IP_ADDRESS_SIZE
Definition: mib2_module.h:148
#define MIB2_SYS_LOCATION_SIZE
Definition: mib2_module.h:127
#define MIB2_SYS_DESCR_SIZE
Definition: mib2_module.h:99
#define MIB2_SYS_CONTACT_SIZE
Definition: mib2_module.h:113
#define MIB2_SYS_OBJECT_ID_SIZE
Definition: mib2_module.h:106
#define MIB2_SYS_NAME_SIZE
Definition: mib2_module.h:120
#define MIB2_IF_SPECIFIC_SIZE
Definition: mib2_module.h:134
#define MibObject
Definition: mib_common.h:46
@ MIB_ACCESS_READ_ONLY
Definition: mib_common.h:79
@ MIB_ACCESS_READ_WRITE
Definition: mib_common.h:80
@ MIB_TYPE_TIME_TICKS
Definition: mib_common.h:64
@ MIB_TYPE_COUNTER32
Definition: mib_common.h:61
@ MIB_TYPE_IP_ADDRESS
Definition: mib_common.h:60
@ MIB_TYPE_GAUGE32
Definition: mib_common.h:62
TCP/IP stack core.
OID (Object Identifier)
#define arraysize(a)
Definition: os_port.h:71
MIB-II base.
Definition: mib2_module.h:542
Mib2IcmpGroup icmpGroup
Definition: mib2_module.h:553
Mib2TcpGroup tcpGroup
Definition: mib2_module.h:556
Mib2UdpGroup udpGroup
Definition: mib2_module.h:559
Mib2SnmpGroup snmpGroup
Definition: mib2_module.h:562
Mib2SysGroup sysGroup
Definition: mib2_module.h:544
Mib2IfGroup ifGroup
Definition: mib2_module.h:547
Mib2IpGroup ipGroup
Definition: mib2_module.h:550
uint32_t icmpOutTimestampReps
Definition: mib2_module.h:459
uint32_t icmpOutTimestamps
Definition: mib2_module.h:458
uint32_t icmpInTimeExcds
Definition: mib2_module.h:439
uint32_t icmpOutEchoReps
Definition: mib2_module.h:457
uint32_t icmpInAddrMaskReps
Definition: mib2_module.h:448
uint32_t icmpOutEchos
Definition: mib2_module.h:456
uint32_t icmpInRedirects
Definition: mib2_module.h:442
uint32_t icmpOutTimeExcds
Definition: mib2_module.h:452
uint32_t icmpInEchoReps
Definition: mib2_module.h:444
uint32_t icmpOutRedirects
Definition: mib2_module.h:455
uint32_t icmpInEchos
Definition: mib2_module.h:443
uint32_t icmpOutAddrMasks
Definition: mib2_module.h:460
uint32_t icmpOutDestUnreachs
Definition: mib2_module.h:451
uint32_t icmpInTimestampReps
Definition: mib2_module.h:446
uint32_t icmpOutSrcQuenchs
Definition: mib2_module.h:454
uint32_t icmpInTimestamps
Definition: mib2_module.h:445
uint32_t icmpOutErrors
Definition: mib2_module.h:450
uint32_t icmpInAddrMasks
Definition: mib2_module.h:447
uint32_t icmpInMsgs
Definition: mib2_module.h:436
uint32_t icmpInDestUnreachs
Definition: mib2_module.h:438
uint32_t icmpInSrcQuenchs
Definition: mib2_module.h:441
uint32_t icmpInErrors
Definition: mib2_module.h:437
uint32_t icmpOutParmProbs
Definition: mib2_module.h:453
uint32_t icmpOutAddrMaskReps
Definition: mib2_module.h:461
uint32_t icmpOutMsgs
Definition: mib2_module.h:449
uint32_t icmpInParmProbs
Definition: mib2_module.h:440
int32_t ifNumber
Definition: mib2_module.h:396
uint32_t ipForwDatagrams
Definition: mib2_module.h:412
int32_t ipForwarding
Definition: mib2_module.h:407
uint32_t ipInReceives
Definition: mib2_module.h:409
uint32_t ipInDiscards
Definition: mib2_module.h:414
int32_t ipDefaultTTL
Definition: mib2_module.h:408
uint32_t ipOutRequests
Definition: mib2_module.h:416
uint32_t ipReasmFails
Definition: mib2_module.h:422
uint32_t ipFragCreates
Definition: mib2_module.h:425
uint32_t ipInAddrErrors
Definition: mib2_module.h:411
uint32_t ipInUnknownProtos
Definition: mib2_module.h:413
uint32_t ipFragFails
Definition: mib2_module.h:424
int32_t ipReasmTimeout
Definition: mib2_module.h:419
uint32_t ipInHdrErrors
Definition: mib2_module.h:410
uint32_t ipFragOKs
Definition: mib2_module.h:423
uint32_t ipReasmReqds
Definition: mib2_module.h:420
uint32_t ipInDelivers
Definition: mib2_module.h:415
uint32_t ipRoutingDiscards
Definition: mib2_module.h:426
uint32_t ipOutDiscards
Definition: mib2_module.h:417
uint32_t ipReasmOKs
Definition: mib2_module.h:421
uint32_t ipOutNoRoutes
Definition: mib2_module.h:418
uint32_t snmpInPkts
Definition: mib2_module.h:506
uint32_t snmpInTotalSetVars
Definition: mib2_module.h:518
uint32_t snmpInReadOnlys
Definition: mib2_module.h:515
uint32_t snmpOutGetRequests
Definition: mib2_module.h:528
uint32_t snmpInBadCommunityUses
Definition: mib2_module.h:510
uint32_t snmpInASNParseErrs
Definition: mib2_module.h:511
uint32_t snmpOutGenErrs
Definition: mib2_module.h:527
uint32_t snmpOutPkts
Definition: mib2_module.h:507
uint32_t snmpInNoSuchNames
Definition: mib2_module.h:513
uint32_t snmpInGetNexts
Definition: mib2_module.h:520
uint32_t snmpInBadVersions
Definition: mib2_module.h:508
uint32_t snmpInTooBigs
Definition: mib2_module.h:512
uint32_t snmpInTraps
Definition: mib2_module.h:523
uint32_t snmpOutSetRequests
Definition: mib2_module.h:530
uint32_t snmpInBadCommunityNames
Definition: mib2_module.h:509
uint32_t snmpInGenErrs
Definition: mib2_module.h:516
uint32_t snmpOutGetResponses
Definition: mib2_module.h:531
uint32_t snmpInBadValues
Definition: mib2_module.h:514
uint32_t snmpInGetRequests
Definition: mib2_module.h:519
uint32_t snmpOutBadValues
Definition: mib2_module.h:526
uint32_t snmpOutTooBigs
Definition: mib2_module.h:524
uint32_t snmpOutNoSuchNames
Definition: mib2_module.h:525
int32_t snmpEnableAuthenTraps
Definition: mib2_module.h:533
uint32_t snmpOutGetNexts
Definition: mib2_module.h:529
uint32_t snmpInSetRequests
Definition: mib2_module.h:521
uint32_t snmpOutTraps
Definition: mib2_module.h:532
uint32_t snmpInGetResponses
Definition: mib2_module.h:522
uint32_t snmpInTotalReqVars
Definition: mib2_module.h:517
char_t sysContact[MIB2_SYS_CONTACT_SIZE]
Definition: mib2_module.h:351
size_t sysDescrLen
Definition: mib2_module.h:343
size_t sysNameLen
Definition: mib2_module.h:356
char_t sysDescr[MIB2_SYS_DESCR_SIZE]
Definition: mib2_module.h:342
size_t sysContactLen
Definition: mib2_module.h:352
char_t sysLocation[MIB2_SYS_LOCATION_SIZE]
Definition: mib2_module.h:359
char_t sysName[MIB2_SYS_NAME_SIZE]
Definition: mib2_module.h:355
size_t sysLocationLen
Definition: mib2_module.h:360
int32_t sysServices
Definition: mib2_module.h:362
uint8_t sysObjectID[MIB2_SYS_OBJECT_ID_SIZE]
Definition: mib2_module.h:346
size_t sysObjectIDLen
Definition: mib2_module.h:347
uint32_t tcpEstabResets
Definition: mib2_module.h:478
uint32_t tcpOutRsts
Definition: mib2_module.h:483
uint32_t tcpActiveOpens
Definition: mib2_module.h:475
uint32_t tcpAttemptFails
Definition: mib2_module.h:477
uint32_t tcpOutSegs
Definition: mib2_module.h:480
uint32_t tcpRetransSegs
Definition: mib2_module.h:481
int32_t tcpMaxConn
Definition: mib2_module.h:474
int32_t tcpRtoMax
Definition: mib2_module.h:473
int32_t tcpRtoMin
Definition: mib2_module.h:472
uint32_t tcpInErrs
Definition: mib2_module.h:482
uint32_t tcpPassiveOpens
Definition: mib2_module.h:476
uint32_t tcpInSegs
Definition: mib2_module.h:479
int32_t tcpRtoAlgorithm
Definition: mib2_module.h:471
uint32_t udpNoPorts
Definition: mib2_module.h:494
uint32_t udpInDatagrams
Definition: mib2_module.h:493
uint32_t udpInErrors
Definition: mib2_module.h:495
uint32_t udpOutDatagrams
Definition: mib2_module.h:496
MIB module.
Definition: mib_common.h:292