]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: On shutdown, disable snmp from working
authorDonald Sharp <sharpd@nvidia.com>
Fri, 4 Nov 2022 18:20:57 +0000 (14:20 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 15 Dec 2022 16:14:53 +0000 (11:14 -0500)
When shutting down ensure that any daemon operating with
snmp tells it to stop operating so no more data is sent.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
lib/agentx.c
lib/smux.h

index bdf0d971693577e32a6703d8b35b15f57c420058..5f62459805e4503f1e39e46d724ff7cee5e75b6a 100644 (file)
@@ -32,6 +32,8 @@
 #include "linklist.h"
 #include "lib/version.h"
 #include "lib_errors.h"
+#include "hook.h"
+#include "libfrr.h"
 #include "xref.h"
 
 XREF_SETUP();
@@ -245,6 +247,13 @@ DEFUN (no_agentx,
        return CMD_WARNING_CONFIG_FAILED;
 }
 
+static int smux_disable(void)
+{
+       agentx_enabled = false;
+
+       return 0;
+}
+
 bool smux_enabled(void)
 {
        return agentx_enabled;
@@ -264,6 +273,8 @@ void smux_init(struct thread_master *tm)
        install_node(&agentx_node);
        install_element(CONFIG_NODE, &agentx_enable_cmd);
        install_element(CONFIG_NODE, &no_agentx_cmd);
+
+       hook_register(frr_early_fini, smux_disable);
 }
 
 void smux_agentx_enable(void)
index 27f03b685fb82e38b293c2014b13bbbba22a3328..1d73406a28a1171322be04cfb854b15dd0ed51ed 100644 (file)
@@ -109,6 +109,9 @@ struct index_oid {
 
 #define SNMP_IP6ADDRESS(V) (*var_len = sizeof(struct in6_addr), (uint8_t *)&V)
 
+/*
+ * Check to see if snmp is enabled or not
+ */
 extern bool smux_enabled(void);
 
 extern void smux_init(struct thread_master *tm);