*: Allow agentx to be displayed as part of vtysh

Modify code so that that vtysh can now accept the
agentx command for snmp support

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-05-05 15:28:38 -04:00
parent 6281320446
commit 62ff928b37
5 changed files with 14 additions and 3 deletions

View file

@ -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 ---------------------------

View file

@ -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,

View file

@ -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 \

View file

@ -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";
}

View file

@ -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