summaryrefslogtreecommitdiff
path: root/lib/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/log.c')
-rw-r--r--lib/log.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/log.c b/lib/log.c
index fb7b33dcf9..49c69efc8a 100644
--- a/lib/log.c
+++ b/lib/log.c
@@ -55,6 +55,7 @@ const char *zlog_proto_names[] =
"ISIS",
"PIM",
"MASC",
+ "RFP",
NULL,
};
@@ -258,6 +259,44 @@ vzlog (struct zlog *zl, int priority, const char *format, va_list args)
errno = original_errno;
}
+int
+vzlog_test (struct zlog *zl, int priority)
+{
+ /* If zlog is not specified, use default one. */
+ if (zl == NULL)
+ zl = zlog_default;
+
+ /* When zlog_default is also NULL, use stderr for logging. */
+ if (zl == NULL)
+ {
+ return 1;
+ }
+
+ /* Syslog output */
+ if (priority <= zl->maxlvl[ZLOG_DEST_SYSLOG])
+ {
+ return 1;
+ }
+
+ /* File output. */
+ if ((priority <= zl->maxlvl[ZLOG_DEST_FILE]) && zl->fp)
+ {
+ return 1;
+ }
+
+ /* stdout output. */
+ if (priority <= zl->maxlvl[ZLOG_DEST_STDOUT])
+ {
+ return 1;
+ }
+
+ /* Terminal monitor. */
+ if (priority <= zl->maxlvl[ZLOG_DEST_MONITOR])
+ return 1;
+
+ return 0;
+}
+
static char *
str_append(char *dst, int len, const char *src)
{
@@ -680,6 +719,7 @@ _zlog_assert_failed (const char *assertion, const char *file,
assertion,file,line,(function ? function : "?"));
zlog_backtrace(LOG_CRIT);
zlog_thread_info(LOG_CRIT);
+ log_memstats_stderr ("log");
abort();
}
@@ -941,6 +981,10 @@ static const struct zebra_desc_table command_types[] = {
DESC_ENTRY (ZEBRA_IPV4_NEXTHOP_LOOKUP_MRIB),
DESC_ENTRY (ZEBRA_MPLS_LABELS_ADD),
DESC_ENTRY (ZEBRA_MPLS_LABELS_DELETE),
+ DESC_ENTRY (ZEBRA_IPV4_NEXTHOP_ADD),
+ DESC_ENTRY (ZEBRA_IPV4_NEXTHOP_DELETE),
+ DESC_ENTRY (ZEBRA_IPV6_NEXTHOP_ADD),
+ DESC_ENTRY (ZEBRA_IPV6_NEXTHOP_DELETE),
};
#undef DESC_ENTRY
@@ -1029,6 +1073,10 @@ proto_redistnum(int afi, const char *s)
return ZEBRA_ROUTE_BGP;
else if (strncmp (s, "ta", 2) == 0)
return ZEBRA_ROUTE_TABLE;
+ else if (strncmp (s, "v", 1) == 0)
+ return ZEBRA_ROUTE_VNC;
+ else if (strncmp (s, "vd", 1) == 0)
+ return ZEBRA_ROUTE_VNC_DIRECT;
}
if (afi == AFI_IP6)
{
@@ -1048,6 +1096,10 @@ proto_redistnum(int afi, const char *s)
return ZEBRA_ROUTE_BGP;
else if (strncmp (s, "ta", 2) == 0)
return ZEBRA_ROUTE_TABLE;
+ else if (strncmp (s, "v", 1) == 0)
+ return ZEBRA_ROUTE_VNC;
+ else if (strncmp (s, "vd", 1) == 0)
+ return ZEBRA_ROUTE_VNC_DIRECT;
}
return -1;
}