Signed-off-by: Anders Selhammer <anders.selham...@est.tech>
---
 snmp4lptp.c | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/snmp4lptp.c b/snmp4lptp.c
index c70aefa..50426cc 100644
--- a/snmp4lptp.c
+++ b/snmp4lptp.c
@@ -31,8 +31,13 @@
 #include "util.h"
 
 #define SNMP_NFD 1
+
 static struct pmc *pmc;
 
+struct snmp_mibs {
+       void *ptpbase;
+};
+
 struct ptp_message* snmp4lptp_run_pmc(char *cmd)
 {
        struct pollfd pollfd[SNMP_NFD];
@@ -83,18 +88,29 @@ static int open_pmc(struct config *cfg)
        return pmc ? 0 : -1;
 }
 
-static int open_snmp()
+static int open_snmp(struct snmp_mibs *mibs)
 {
        snmp_enable_calllog();
        netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID,
                               NETSNMP_DS_AGENT_ROLE, 1);
        init_agent("linuxptpAgent");
 
+       if (init_ptpbase_mib(mibs->ptpbase)) {
+               return -1;
+       }
+
        init_snmp("linuxptpAgent");
 
        return 0;
 }
 
+static void free_snmp_mibs(struct snmp_mibs *mibs)
+{
+       if (mibs->ptpbase) {
+               free_ptpbase_mib(mibs->ptpbase);
+       }
+}
+
 static void usage(char *progname)
 {
        fprintf(stderr,
@@ -110,6 +126,7 @@ static void usage(char *progname)
 int main(int argc, char *argv[])
 {
        char *config = NULL, *progname;
+       struct snmp_mibs mibs = {0};
        int c, err = 0, index;
        struct option *opts;
        struct config *cfg;
@@ -176,7 +193,7 @@ int main(int argc, char *argv[])
                goto pmc_out;
        }
 
-       if (open_snmp()) {
+       if (open_snmp(&mibs)) {
                err = -1;
                goto snmp_out;
        }
@@ -188,6 +205,7 @@ int main(int argc, char *argv[])
        snmp_shutdown("linuxptpAgent");
 
 snmp_out:
+        free_snmp_mibs(&mibs);
        pmc_destroy(pmc);
        msg_cleanup();
 pmc_out:
-- 
1.8.3.1



_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to