diff --git a/overlay_interface.c b/overlay_interface.c index d60f6fe0..34cfebe2 100644 --- a/overlay_interface.c +++ b/overlay_interface.c @@ -945,12 +945,13 @@ int overlay_broadcast_ensemble(struct network_destination *destination, struct o bytes, (size_t)len, 0, &destination->address.addr, destination->address.addrlen); if (sent == -1){ - WHYF_perror("sendto(fd=%d,len=%zu,addr=%s) on interface %s", - interface->alarm.poll.fd, - (size_t)len, - alloca_socket_address(&destination->address), - interface->name - ); + if (errno!=EAGAIN && errno!=EWOULDBLOCK && errno!=ENOENT && errno!=ENOTDIR) + WHYF_perror("sendto(fd=%d,len=%zu,addr=%s) on interface %s", + interface->alarm.poll.fd, + (size_t)len, + alloca_socket_address(&destination->address), + interface->name + ); // close the interface if we had any error while sending broadcast packets, // unicast packets should not bring the interface down // TODO mark unicast destination as failed?