summaryrefslogtreecommitdiff
path: root/ripd/rip_snmp.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2016-06-12 17:52:50 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2017-03-25 08:52:36 +0100
commit5986b66b82d2c8a15c9467032d912be07481f07d (patch)
tree500817709850f882497bfc820dd2d0ed3c247f92 /ripd/rip_snmp.c
parent3012671ffadbd839626b5c0b0b1fd36b3698f582 (diff)
*: snmp: convert into modules
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ripd/rip_snmp.c')
-rw-r--r--ripd/rip_snmp.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/ripd/rip_snmp.c b/ripd/rip_snmp.c
index bdae0409d2..06cd3cef6c 100644
--- a/ripd/rip_snmp.c
+++ b/ripd/rip_snmp.c
@@ -21,7 +21,6 @@
#include <zebra.h>
-#ifdef HAVE_SNMP
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
@@ -32,6 +31,8 @@
#include "command.h"
#include "table.h"
#include "smux.h"
+#include "libfrr.h"
+#include "version.h"
#include "ripd/ripd.h"
@@ -587,14 +588,29 @@ rip2PeerTable (struct variable *v, oid name[], size_t *length,
}
/* Register RIPv2-MIB. */
-void
-rip_snmp_init ()
+static int
+rip_snmp_init (struct thread_master *master)
{
rip_ifaddr_table = route_table_init ();
- hook_register(rip_ifaddr_add, rip_snmp_ifaddr_add);
- hook_register(rip_ifaddr_del, rip_snmp_ifaddr_del);
smux_init (master);
REGISTER_MIB("mibII/rip", rip_variables, variable, rip_oid);
+ return 0;
}
-#endif /* HAVE_SNMP */
+
+static int
+rip_snmp_module_init (void)
+{
+ hook_register(rip_ifaddr_add, rip_snmp_ifaddr_add);
+ hook_register(rip_ifaddr_del, rip_snmp_ifaddr_del);
+
+ hook_register(frr_late_init, rip_snmp_init);
+ return 0;
+}
+
+FRR_MODULE_SETUP(
+ .name = "ripd_snmp",
+ .version = FRR_VERSION,
+ .description = "ripd AgentX SNMP module",
+ .init = rip_snmp_module_init,
+)