diff options
Diffstat (limited to 'VNFs/DPPD-PROX/log.c')
-rw-r--r-- | VNFs/DPPD-PROX/log.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/VNFs/DPPD-PROX/log.c b/VNFs/DPPD-PROX/log.c index 2094c185..2fa63f34 100644 --- a/VNFs/DPPD-PROX/log.c +++ b/VNFs/DPPD-PROX/log.c @@ -25,6 +25,7 @@ #include <rte_mbuf.h> #include "log.h" +#include "quit.h" #include "display.h" #include "defaults.h" #include "etypes.h" @@ -212,6 +213,10 @@ static int vplog(int lvl, const char *format, va_list ap, const struct rte_mbuf ret--; ret += dump_pkt(buf + ret, sizeof(buf) - ret, mbuf); } + + if (lvl == PROX_LOG_PANIC) + PROX_PANIC(1, "%s", buf); + plog_buf(buf); if (lvl == PROX_LOG_WARN) { @@ -278,6 +283,23 @@ int plog_err(const char *fmt, ...) return ret; } +int plog_err_or_panic(int do_panic, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + if (do_panic) { + ret = vplog(PROX_LOG_PANIC, fmt, ap, NULL, 0); + va_end(ap); + return ret; + } else { + ret = vplog(PROX_LOG_ERR, fmt, ap, NULL, 0); + va_end(ap); + return ret; + } +} + int plogx_err(const char *fmt, ...) { va_list ap; |