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