lldp_mib_module.c
Go to the documentation of this file.
1 /**
2  * @file lldp_mib_module.c
3  * @brief LLDP MIB 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  * @author Oryx Embedded SARL (www.oryx-embedded.com)
28  * @version 2.4.4
29  **/
30 
31 //Switch to the appropriate trace level
32 #define TRACE_LEVEL SNMP_TRACE_LEVEL
33 
34 //Dependencies
35 #include "core/net.h"
36 #include "mibs/mib_common.h"
37 #include "mibs/lldp_mib_module.h"
38 #include "mibs/lldp_mib_impl.h"
43 #include "core/crypto.h"
44 #include "encoding/asn1.h"
45 #include "encoding/oid.h"
46 #include "lldp/lldp.h"
47 #include "debug.h"
48 
49 //Check TCP/IP stack configuration
50 #if (LLDP_MIB_SUPPORT == ENABLED)
51 
52 
53 /**
54  * @brief LLDP MIB base
55  **/
56 
58 
59 
60 /**
61  * @brief LLDP MIB objects
62  **/
63 
65 {
66 #if (LLDP_TX_MODE_SUPPORT == ENABLED)
67  //lldpMessageTxInterval object (1.0.8802.1.1.2.1.1.1)
68  {
69  "lldpMessageTxInterval",
70  {40, 196, 98, 1, 1, 2, 1, 1, 1},
71  9,
75  NULL,
76  NULL,
77  sizeof(int32_t),
80  NULL
81  },
82  //lldpMessageTxHoldMultiplier object (1.0.8802.1.1.2.1.1.2)
83  {
84  "lldpMessageTxHoldMultiplier",
85  {40, 196, 98, 1, 1, 2, 1, 1, 2},
86  9,
90  NULL,
91  NULL,
92  sizeof(int32_t),
95  NULL
96  },
97  //lldpReinitDelay object (1.0.8802.1.1.2.1.1.3)
98  {
99  "lldpReinitDelay",
100  {40, 196, 98, 1, 1, 2, 1, 1, 3},
101  9,
105  NULL,
106  NULL,
107  sizeof(int32_t),
110  NULL
111  },
112  //lldpTxDelay object (1.0.8802.1.1.2.1.1.4)
113  {
114  "lldpTxDelay",
115  {40, 196, 98, 1, 1, 2, 1, 1, 4},
116  9,
120  NULL,
121  NULL,
122  sizeof(int32_t),
125  NULL
126  },
127 #endif
128 #if (LLDP_RX_MODE_SUPPORT == ENABLED)
129  //lldpNotificationInterval object (1.0.8802.1.1.2.1.1.5)
130  {
131  "lldpNotificationInterval",
132  {40, 196, 98, 1, 1, 2, 1, 1, 5},
133  9,
137  NULL,
138  NULL,
139  sizeof(int32_t),
142  NULL
143  },
144 #endif
145 #if (LLDP_TX_MODE_SUPPORT == ENABLED)
146  //lldpPortConfigAdminStatus object (1.0.8802.1.1.2.1.1.6.1.2)
147  {
148  "lldpPortConfigAdminStatus",
149  {40, 196, 98, 1, 1, 2, 1, 1, 6, 1, 2},
150  11,
154  NULL,
155  NULL,
156  sizeof(int32_t),
160  },
161 #endif
162 #if (LLDP_RX_MODE_SUPPORT == ENABLED)
163  //lldpPortConfigNotificationEnable object (1.0.8802.1.1.2.1.1.6.1.3)
164  {
165  "lldpPortConfigNotificationEnable",
166  {40, 196, 98, 1, 1, 2, 1, 1, 6, 1, 3},
167  11,
171  NULL,
172  NULL,
173  sizeof(int32_t),
177  },
178 #endif
179 #if (LLDP_TX_MODE_SUPPORT == ENABLED)
180  //lldpPortConfigTLVsTxEnable object (1.0.8802.1.1.2.1.1.6.1.4)
181  {
182  "lldpPortConfigTLVsTxEnable",
183  {40, 196, 98, 1, 1, 2, 1, 1, 6, 1, 4},
184  11,
188  NULL,
189  NULL,
190  0,
194  },
195  //lldpConfigManAddrPortsTxEnable object (1.0.8802.1.1.2.1.1.7.1.1)
196  {
197  "lldpConfigManAddrPortsTxEnable",
198  {40, 196, 98, 1, 1, 2, 1, 1, 7, 1, 1},
199  11,
203  NULL,
204  NULL,
205  0,
209  },
210 #endif
211 #if (LLDP_RX_MODE_SUPPORT == ENABLED)
212  //lldpStatsRemTablesLastChangeTime object (1.0.8802.1.1.2.1.2.1)
213  {
214  "lldpStatsRemTablesLastChangeTime",
215  {40, 196, 98, 1, 1, 2, 1, 2, 1},
216  9,
220  NULL,
221  NULL,
222  sizeof(uint32_t),
223  NULL,
225  NULL
226  },
227  //lldpStatsRemTablesInserts object (1.0.8802.1.1.2.1.2.2)
228  {
229  "lldpStatsRemTablesInserts",
230  {40, 196, 98, 1, 1, 2, 1, 2, 2},
231  9,
235  NULL,
236  NULL,
237  sizeof(uint32_t),
238  NULL,
240  NULL
241  },
242  //lldpStatsRemTablesDeletes object (1.0.8802.1.1.2.1.2.3)
243  {
244  "lldpStatsRemTablesDeletes",
245  {40, 196, 98, 1, 1, 2, 1, 2, 3},
246  9,
250  NULL,
251  NULL,
252  sizeof(uint32_t),
253  NULL,
255  NULL
256  },
257  //lldpStatsRemTablesDrops object (1.0.8802.1.1.2.1.2.4)
258  {
259  "lldpStatsRemTablesDrops",
260  {40, 196, 98, 1, 1, 2, 1, 2, 4},
261  9,
265  NULL,
266  NULL,
267  sizeof(uint32_t),
268  NULL,
270  NULL
271  },
272  //lldpStatsRemTablesAgeouts object (1.0.8802.1.1.2.1.2.5)
273  {
274  "lldpStatsRemTablesAgeouts",
275  {40, 196, 98, 1, 1, 2, 1, 2, 5},
276  9,
280  NULL,
281  NULL,
282  sizeof(uint32_t),
283  NULL,
285  NULL
286  },
287 #endif
288 #if (LLDP_TX_MODE_SUPPORT == ENABLED)
289  //lldpStatsTxPortFramesTotal object (1.0.8802.1.1.2.1.2.6.1.2)
290  {
291  "lldpStatsTxPortFramesTotal",
292  {40, 196, 98, 1, 1, 2, 1, 2, 6, 1, 2},
293  11,
297  NULL,
298  NULL,
299  sizeof(uint32_t),
300  NULL,
303  },
304 #endif
305 #if (LLDP_RX_MODE_SUPPORT == ENABLED)
306  //lldpStatsRxPortFramesDiscardedTotal object (1.0.8802.1.1.2.1.2.7.1.2)
307  {
308  "lldpStatsRxPortFramesDiscardedTotal",
309  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 2},
310  11,
314  NULL,
315  NULL,
316  sizeof(uint32_t),
317  NULL,
320  },
321  //lldpStatsRxPortFramesErrors object (1.0.8802.1.1.2.1.2.7.1.3)
322  {
323  "lldpStatsRxPortFramesErrors",
324  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 3},
325  11,
329  NULL,
330  NULL,
331  sizeof(uint32_t),
332  NULL,
335  },
336  //lldpStatsRxPortFramesTotal object (1.0.8802.1.1.2.1.2.7.1.4)
337  {
338  "lldpStatsRxPortFramesTotal",
339  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 4},
340  11,
344  NULL,
345  NULL,
346  sizeof(uint32_t),
347  NULL,
350  },
351  //lldpStatsRxPortTLVsDiscardedTotal object (1.0.8802.1.1.2.1.2.7.1.5)
352  {
353  "lldpStatsRxPortTLVsDiscardedTotal",
354  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 5},
355  11,
359  NULL,
360  NULL,
361  sizeof(uint32_t),
362  NULL,
365  },
366  //lldpStatsRxPortTLVsUnrecognizedTotal object (1.0.8802.1.1.2.1.2.7.1.6)
367  {
368  "lldpStatsRxPortTLVsUnrecognizedTotal",
369  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 6},
370  11,
374  NULL,
375  NULL,
376  sizeof(uint32_t),
377  NULL,
380  },
381  //lldpStatsRxPortAgeoutsTotal object (1.0.8802.1.1.2.1.2.7.1.7)
382  {
383  "lldpStatsRxPortAgeoutsTotal",
384  {40, 196, 98, 1, 1, 2, 1, 2, 7, 1, 7},
385  11,
389  NULL,
390  NULL,
391  sizeof(uint32_t),
392  NULL,
395  },
396 #endif
397 #if (LLDP_TX_MODE_SUPPORT == ENABLED)
398  //lldpLocChassisIdSubtype object (1.0.8802.1.1.2.1.3.1)
399  {
400  "lldpLocChassisIdSubtype",
401  {40, 196, 98, 1, 1, 2, 1, 3, 1},
402  9,
406  NULL,
407  NULL,
408  sizeof(int32_t),
409  NULL,
411  NULL
412  },
413  //lldpLocChassisId object (1.0.8802.1.1.2.1.3.2)
414  {
415  "lldpLocChassisId",
416  {40, 196, 98, 1, 1, 2, 1, 3, 2},
417  9,
421  NULL,
422  NULL,
423  0,
424  NULL,
426  NULL
427  },
428  //lldpLocSysName object (1.0.8802.1.1.2.1.3.3)
429  {
430  "lldpLocSysName",
431  {40, 196, 98, 1, 1, 2, 1, 3, 3},
432  9,
436  NULL,
437  NULL,
438  0,
439  NULL,
441  NULL
442  },
443  //lldpLocSysDesc object (1.0.8802.1.1.2.1.3.4)
444  {
445  "lldpLocSysDesc",
446  {40, 196, 98, 1, 1, 2, 1, 3, 4},
447  9,
451  NULL,
452  NULL,
453  0,
454  NULL,
456  NULL
457  },
458  //lldpLocSysCapSupported object (1.0.8802.1.1.2.1.3.5)
459  {
460  "lldpLocSysCapSupported",
461  {40, 196, 98, 1, 1, 2, 1, 3, 5},
462  9,
466  NULL,
467  NULL,
468  0,
469  NULL,
471  NULL
472  },
473  //lldpLocSysCapEnabled object (1.0.8802.1.1.2.1.3.6)
474  {
475  "lldpLocSysCapEnabled",
476  {40, 196, 98, 1, 1, 2, 1, 3, 6},
477  9,
481  NULL,
482  NULL,
483  0,
484  NULL,
486  NULL
487  },
488  //lldpLocPortIdSubtype object (1.0.8802.1.1.2.1.3.7.1.2)
489  {
490  "lldpLocPortIdSubtype",
491  {40, 196, 98, 1, 1, 2, 1, 3, 7, 1, 2},
492  11,
496  NULL,
497  NULL,
498  sizeof(int32_t),
499  NULL,
502  },
503  //lldpLocPortId object (1.0.8802.1.1.2.1.3.7.1.3)
504  {
505  "lldpLocPortId",
506  {40, 196, 98, 1, 1, 2, 1, 3, 7, 1, 3},
507  11,
511  NULL,
512  NULL,
513  0,
514  NULL,
517  },
518  //lldpLocPortDesc object (1.0.8802.1.1.2.1.3.7.1.4)
519  {
520  "lldpLocPortDesc",
521  {40, 196, 98, 1, 1, 2, 1, 3, 7, 1, 4},
522  11,
526  NULL,
527  NULL,
528  0,
529  NULL,
532  },
533  //lldpLocManAddrLen object (1.0.8802.1.1.2.1.3.8.1.3)
534  {
535  "lldpLocManAddrLen",
536  {40, 196, 98, 1, 1, 2, 1, 3, 8, 1, 3},
537  11,
541  NULL,
542  NULL,
543  sizeof(int32_t),
544  NULL,
547  },
548  //lldpLocManAddrIfSubtype object (1.0.8802.1.1.2.1.3.8.1.4)
549  {
550  "lldpLocManAddrIfSubtype",
551  {40, 196, 98, 1, 1, 2, 1, 3, 8, 1, 4},
552  11,
556  NULL,
557  NULL,
558  sizeof(int32_t),
559  NULL,
562  },
563  //lldpLocManAddrIfId object (1.0.8802.1.1.2.1.3.8.1.5)
564  {
565  "lldpLocManAddrIfId",
566  {40, 196, 98, 1, 1, 2, 1, 3, 8, 1, 5},
567  11,
571  NULL,
572  NULL,
573  sizeof(int32_t),
574  NULL,
577  },
578  //lldpLocManAddrOID object (1.0.8802.1.1.2.1.3.8.1.6)
579  {
580  "lldpLocManAddrOID",
581  {40, 196, 98, 1, 1, 2, 1, 3, 8, 1, 6},
582  11,
586  NULL,
587  NULL,
588  0,
589  NULL,
592  },
593 #endif
594 #if (LLDP_RX_MODE_SUPPORT == ENABLED)
595  //lldpRemChassisIdSubtype object (1.0.8802.1.1.2.1.4.1.1.4)
596  {
597  "lldpRemChassisIdSubtype",
598  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 4},
599  11,
603  NULL,
604  NULL,
605  sizeof(int32_t),
606  NULL,
609  },
610  //lldpRemChassisId object (1.0.8802.1.1.2.1.4.1.1.5)
611  {
612  "lldpRemChassisId",
613  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 5},
614  11,
618  NULL,
619  NULL,
620  0,
621  NULL,
624  },
625  //lldpRemPortIdSubtype object (1.0.8802.1.1.2.1.4.1.1.6)
626  {
627  "lldpRemPortIdSubtype",
628  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 6},
629  11,
633  NULL,
634  NULL,
635  sizeof(int32_t),
636  NULL,
639  },
640  //lldpRemPortId object (1.0.8802.1.1.2.1.4.1.1.7)
641  {
642  "lldpRemPortId",
643  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 7},
644  11,
648  NULL,
649  NULL,
650  0,
651  NULL,
654  },
655  //lldpRemPortDesc object (1.0.8802.1.1.2.1.4.1.1.8)
656  {
657  "lldpRemPortDesc",
658  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 8},
659  11,
663  NULL,
664  NULL,
665  0,
666  NULL,
669  },
670  //lldpRemSysName object (1.0.8802.1.1.2.1.4.1.1.9)
671  {
672  "lldpRemSysName",
673  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 9},
674  11,
678  NULL,
679  NULL,
680  0,
681  NULL,
684  },
685  //lldpRemSysDesc object (1.0.8802.1.1.2.1.4.1.1.10)
686  {
687  "lldpRemSysDesc",
688  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 10},
689  11,
693  NULL,
694  NULL,
695  0,
696  NULL,
699  },
700  //lldpRemSysCapSupported object (1.0.8802.1.1.2.1.4.1.1.11)
701  {
702  "lldpRemSysCapSupported",
703  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 11},
704  11,
708  NULL,
709  NULL,
710  0,
711  NULL,
714  },
715  //lldpRemSysCapEnabled object (1.0.8802.1.1.2.1.4.1.1.12)
716  {
717  "lldpRemSysCapEnabled",
718  {40, 196, 98, 1, 1, 2, 1, 4, 1, 1, 12},
719  11,
723  NULL,
724  NULL,
725  0,
726  NULL,
729  },
730  //lldpRemManAddrIfSubtype object (1.0.8802.1.1.2.1.4.2.1.3)
731  {
732  "lldpRemManAddrIfSubtype",
733  {40, 196, 98, 1, 1, 2, 1, 4, 2, 1, 3},
734  11,
738  NULL,
739  NULL,
740  sizeof(int32_t),
741  NULL,
744  },
745  //lldpRemManAddrIfId object (1.0.8802.1.1.2.1.4.2.1.4)
746  {
747  "lldpRemManAddrIfId",
748  {40, 196, 98, 1, 1, 2, 1, 4, 2, 1, 4},
749  11,
753  NULL,
754  NULL,
755  sizeof(int32_t),
756  NULL,
759  },
760  //lldpRemManAddrOID object (1.0.8802.1.1.2.1.4.2.1.5)
761  {
762  "lldpRemManAddrOID",
763  {40, 196, 98, 1, 1, 2, 1, 4, 2, 1, 5},
764  11,
768  NULL,
769  NULL,
770  0,
771  NULL,
774  },
775  //lldpRemUnknownTLVInfo object (1.0.8802.1.1.2.1.4.3.1.2)
776  {
777  "lldpRemUnknownTLVInfo",
778  {40, 196, 98, 1, 1, 2, 1, 4, 3, 1, 2},
779  11,
783  NULL,
784  NULL,
785  0,
786  NULL,
789  },
790  //lldpRemOrgDefInfo object (1.0.8802.1.1.2.1.4.4.1.4)
791  {
792  "lldpRemOrgDefInfo",
793  {40, 196, 98, 1, 1, 2, 1, 4, 4, 1, 4},
794  11,
798  NULL,
799  NULL,
800  0,
801  NULL,
804  }
805 #endif
806 };
807 
808 
809 /**
810  * @brief LLDP MIB module
811  **/
812 
814 {
815  "LLDP-MIB",
816  {40, 196, 98, 1, 1, 2},
817  6,
820  lldpMibInit,
821  NULL,
822  NULL,
823  lldpMibLock,
825 };
826 
827 #endif
error_t lldpMibGetNextLldpLocPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpLocPortEntry object.
error_t lldpMibGetNextLldpRemManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpRemManAddrEntry object.
LLDP MIB module implementation (lldpLocalSystemData subtree)
error_t lldpMibGetLldpLocSysCapSupported(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocSysCapSupported object value.
error_t lldpMibGetLldpMessageTxHoldMultiplier(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpMessageTxHoldMultiplier object value.
OID (Object Identifier)
error_t lldpMibGetNextLldpLocManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpLocManAddrEntry object.
error_t lldpMibGetLldpLocChassisIdSubtype(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocChassisIdSubtype object value.
error_t lldpMibGetLldpStatsRemTablesInserts(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRemTablesInserts object value.
error_t lldpMibGetLldpStatsRemTablesAgeouts(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRemTablesAgeouts object value.
error_t lldpMibGetLldpLocSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocSysName object value.
@ MIB_ACCESS_READ_ONLY
Definition: mib_common.h:79
error_t lldpMibGetLldpRemOrgDefInfoEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpRemOrgDefInfoEntry object value.
error_t lldpMibGetLldpMessageTxInterval(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpMessageTxInterval object value.
LLDP MIB module implementation (lldpRemoteSystemsData subtree)
error_t lldpMibGetNextLldpConfigManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpConfigManAddrEntry object.
error_t lldpMibGetNextLldpPortConfigEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpPortConfigEntry object.
error_t lldpMibSetLldpNotificationInterval(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpNotificationInterval object value.
error_t lldpMibSetLldpReinitDelay(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpReinitDelay object value.
const MibObject lldpMibObjects[]
LLDP MIB objects.
error_t lldpMibGetLldpRemUnknownTLVEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpRemUnknownTLVEntry object value.
@ MIB_ACCESS_READ_WRITE
Definition: mib_common.h:80
@ MIB_TYPE_COUNTER32
Definition: mib_common.h:61
error_t lldpMibGetLldpReinitDelay(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpReinitDelay object value.
@ MIB_TYPE_GAUGE32
Definition: mib_common.h:62
error_t lldpMibGetLldpLocChassisId(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocChassisId object value.
error_t lldpMibGetLldpPortConfigEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpPortConfigEntry object value.
LLDP MIB module.
#define ASN1_CLASS_UNIVERSAL
Definition: asn1.h:52
error_t lldpMibGetNextLldpStatsRxPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpStatsRxPortEntry object.
error_t lldpMibSetLldpPortConfigEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpPortConfigEntry object value.
error_t lldpMibGetLldpStatsRemTablesDrops(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRemTablesDrops object value.
General definitions for cryptographic algorithms.
error_t lldpMibGetLldpTxDelay(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpTxDelay object value.
error_t lldpMibGetNextLldpRemUnknownTLVEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpRemUnknownTLVEntry object.
error_t lldpMibGetNextLldpRemOrgDefInfoEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpRemOrgDefInfoEntry object.
error_t lldpMibGetLldpRemManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpRemManAddrEntry object value.
error_t lldpMibGetLldpLocPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocPortEntry object value.
void lldpMibLock(void)
Lock LLDP MIB base.
Definition: lldp_mib_impl.c:71
error_t lldpMibGetLldpStatsTxPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsTxPortEntry object value.
MIB module.
Definition: mib_common.h:292
error_t lldpMibGetLldpRemEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpRemEntry object value.
error_t lldpMibGetLldpStatsRemTablesLastChangeTime(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRemTablesLastChangeTime object value.
error_t lldpMibGetNextLldpRemEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpRemEntry object.
error_t lldpMibGetLldpStatsRxPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRxPortEntry object value.
error_t lldpMibGetLldpLocSysDesc(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocSysDesc object value.
@ ASN1_TYPE_OCTET_STRING
Definition: asn1.h:72
@ ASN1_TYPE_INTEGER
Definition: asn1.h:70
LLDP MIB module implementation (lldpConfiguration subtree)
error_t lldpMibSetLldpConfigManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpConfigManAddrEntry object value.
@ MIB_TYPE_TIME_TICKS
Definition: mib_common.h:64
Common definitions for MIB modules.
error_t lldpMibInit(void)
LLDP MIB module initialization.
Definition: lldp_mib_impl.c:54
error_t lldpMibGetLldpNotificationInterval(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpNotificationInterval object value.
error_t lldpMibGetLldpConfigManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpConfigManAddrEntry object value.
LLDP MIB base.
#define MibObject
Definition: mib_common.h:46
error_t lldpMibGetLldpLocSysCapEnabled(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocSysCapEnabled object value.
@ ASN1_TYPE_OBJECT_IDENTIFIER
Definition: asn1.h:74
error_t lldpMibSetLldpTxDelay(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpTxDelay object value.
LldpMibBase lldpMibBase
LLDP MIB base.
error_t lldpMibSetLldpMessageTxInterval(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpMessageTxInterval object value.
error_t lldpMibSetLldpMessageTxHoldMultiplier(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set lldpMessageTxHoldMultiplier object value.
LLDP (Link Layer Discovery Protocol)
error_t lldpMibGetNextLldpStatsTxPortEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next lldpStatsTxPortEntry object.
error_t lldpMibGetLldpStatsRemTablesDeletes(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpStatsRemTablesDeletes object value.
TCP/IP stack core.
LLDP MIB module implementation.
#define ASN1_CLASS_APPLICATION
Definition: asn1.h:53
void lldpMibUnlock(void)
Unlock LLDP MIB base.
Definition: lldp_mib_impl.c:82
const MibModule lldpMibModule
LLDP MIB module.
LLDP MIB module implementation (lldpStatistics subtree)
Debugging facilities.
error_t lldpMibGetLldpLocManAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get lldpLocManAddrEntry object value.
ASN.1 (Abstract Syntax Notation One)
#define arraysize(a)
Definition: os_port.h:71