From afd49b83e0caf9d914ace99fc83f590de45edb04 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Sun, 19 Feb 2017 14:03:18 +0100 Subject: [PATCH] interfaces: don't log an hard error when interface is down When an interface transitions to the down state, we may be woken up. We don't want to pollute the logs with errors in this case. --- src/daemon/interfaces-bpf.c | 11 ++++++++--- src/daemon/interfaces-linux.c | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/daemon/interfaces-bpf.c b/src/daemon/interfaces-bpf.c index efee5087..d9d193ba 100644 --- a/src/daemon/interfaces-bpf.c +++ b/src/daemon/interfaces-bpf.c @@ -88,9 +88,14 @@ ifbpf_eth_recv(struct lldpd *cfg, /* We assume we have only receive one packet (unbuffered mode). Dunno if * this is correct. */ if (read(fd, bpfbuf->data, bpfbuf->len) == -1) { - log_warn("interfaces", "error while receiving frame on %s", - hardware->h_ifname); - hardware->h_rx_discarded_cnt++; + if (errno == ENETDOWN) { + log_debug("interfaces", "error while receiving frame on %s (network down)", + hardware->h_ifname); + } else { + log_warn("interfaces", "error while receiving frame on %s", + hardware->h_ifname); + hardware->h_rx_discarded_cnt++; + } return -1; } bh = (struct bpf_hdr*)bpfbuf->data; diff --git a/src/daemon/interfaces-linux.c b/src/daemon/interfaces-linux.c index fb48b699..6b571f7f 100644 --- a/src/daemon/interfaces-linux.c +++ b/src/daemon/interfaces-linux.c @@ -113,9 +113,14 @@ retry: retry++; goto retry; } - log_warn("interfaces", "error while receiving frame on %s (retry: %d)", - hardware->h_ifname, retry); - hardware->h_rx_discarded_cnt++; + if (errno == ENETDOWN) { + log_debug("interfaces", "error while receiving frame on %s (network down)", + hardware->h_ifname); + } else { + log_warn("interfaces", "error while receiving frame on %s (retry: %d)", + hardware->h_ifname, retry); + hardware->h_rx_discarded_cnt++; + } return -1; } if (from->sll_pkttype == PACKET_OUTGOING) -- 2.47.2