X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=VNFs%2FDPPD-PROX%2Flog.c;h=2fa63f34ffb3f8cfbf0854a8ba225cffc625a3fc;hb=6f7d67ca5d9deba7424df277e25115253a8da74c;hp=2094c18521594e5d1ab65f6d376f4a4edc20dc1a;hpb=d6e552774d85f07ec1a1195e06842daab3c1ef4f;p=samplevnf.git 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 #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;