summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.ac2
-rw-r--r--lib/agentx.c7
-rw-r--r--vtysh/Makefile.am4
-rwxr-xr-xvtysh/extract.pl.in3
-rw-r--r--vtysh/vtysh_config.c1
5 files changed, 14 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 919902d93..340b0a953 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1510,6 +1510,8 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
])
+AM_CONDITIONAL(SNMP, test "x$SNMP_METHOD" = "xagentx")
+
dnl ---------------------------
dnl sockaddr and netinet checks
dnl ---------------------------
diff --git a/lib/agentx.c b/lib/agentx.c
index 11d5c9385..e1d8b5404 100644
--- a/lib/agentx.c
+++ b/lib/agentx.c
@@ -134,7 +134,8 @@ agentx_events_update(void)
static struct cmd_node agentx_node =
{
SMUX_NODE,
- "" /* AgentX has no interface. */
+ "", /* AgentX has no interface. */
+ 1
};
/* Logging NetSNMP messages */
@@ -165,7 +166,7 @@ config_write_agentx (struct vty *vty)
{
if (agentx_enabled)
vty_out (vty, "agentx%s", VTY_NEWLINE);
- return 0;
+ return 1;
}
DEFUN (agentx_enable,
@@ -183,7 +184,7 @@ DEFUN (agentx_enable,
return CMD_SUCCESS;
}
vty_out (vty, "SNMP AgentX already enabled%s", VTY_NEWLINE);
- return CMD_WARNING;
+ return CMD_SUCCESS;
}
DEFUN (no_agentx,
diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am
index 8e7a6cede..bb6bbbe87 100644
--- a/vtysh/Makefile.am
+++ b/vtysh/Makefile.am
@@ -118,6 +118,10 @@ vtysh_scan += $(top_srcdir)/eigrpd/eigrp_dump.c
vtysh_scan += $(top_srcdir)/eigrpd/eigrp_vty.c
endif
+if SNMP
+vtysh_scan += $(top_srcdir)/lib/agentx.c
+endif
+
vtysh_cmd_FILES = $(vtysh_scan) \
$(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \
$(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c \
diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
index 169220c77..0ca1451ff 100755
--- a/vtysh/extract.pl.in
+++ b/vtysh/extract.pl.in
@@ -90,6 +90,9 @@ foreach (@ARGV) {
elsif ($file =~ /lib\/filter\.c$/) {
$protocol = "VTYSH_ALL";
}
+ elsif ($file =~ /lib\/agentx\.c$/) {
+ $protocol = "VTYSH_RIPD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ZEBRA";
+ }
elsif ($file =~ /lib\/ns\.c$/) {
$protocol = "VTYSH_ZEBRA";
}
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 06e856934..2a84847aa 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -277,6 +277,7 @@ vtysh_config_parse_line (const char *line)
if (strncmp (line, "log", strlen ("log")) == 0
|| strncmp (line, "hostname", strlen ("hostname")) == 0
|| strncmp (line, "frr", strlen ("frr")) == 0
+ || strncmp (line, "agentx", strlen ("agentx")) == 0
)
config_add_line_uniq (config_top, line);
else