diff options
Diffstat (limited to 'zebra/rt_netlink.c')
-rw-r--r-- | zebra/rt_netlink.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 94573aa5..4f4ebb7a 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -245,11 +245,26 @@ netlink_parse_info (int (*filter) (struct sockaddr_nl *, struct nlmsghdr *), nl->name); return -1; } - zlog (NULL, LOG_ERR, "%s error: %s, type=%s(%u), seq=%u, pid=%d", - nl->name, strerror (-err->error), - lookup (nlmsg_str, err->msg.nlmsg_type), - err->msg.nlmsg_type, err->msg.nlmsg_seq, + + /* Deal with Error Noise - MAG*/ + { + int loglvl = LOG_ERR; + int errnum = err->error; + int msg_type = err->msg.nlmsg_type; + + if (nl == &netlink_cmd + && (-errnum == ENODEV || -errnum == ESRCH) + && (msg_type == RTM_NEWROUTE + || msg_type == RTM_DELROUTE)) + loglvl = LOG_DEBUG; + + zlog (NULL, loglvl, "%s error: %s, type=%s(%u), " + "seq=%u, pid=%d", + nl->name, strerror (-errnum), + lookup (nlmsg_str, msg_type), + msg_type, err->msg.nlmsg_seq, err->msg.nlmsg_pid); + } /* ret = -1; continue; |