summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vty/command.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/vty/command.c b/src/vty/command.c
index 6a523216..c55e1648 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -141,12 +141,14 @@ static int cmp_desc(const void *p, const void *q)
static int is_config(struct vty *vty)
{
- /* ask the application */
- if (host.app_info->is_config_node)
+ if (vty->node < CONFIG_NODE)
+ return 0;
+ else if (vty->node >= CONFIG_NODE && vty->node < _LAST_OSMOVTY_NODE)
+ return 1;
+ else if (host.app_info->is_config_node)
return host.app_info->is_config_node(vty, vty->node);
-
- /* Assume that everything above CONFIG_NODE is a config node */
- return vty->node > CONFIG_NODE;
+ else
+ return vty->node > CONFIG_NODE;
}
/* Sort each node's command element according to command string. */