From: Vincent Bernat Date: Sun, 19 Feb 2017 13:03:18 +0000 (+0100) Subject: interfaces: don't log an hard error when interface is down X-Git-Tag: 0.9.7~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=afd49b83e0caf9d914ace99fc83f590de45edb04;p=thirdparty%2Flldpd.git 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. --- 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)