Branch: refs/heads/dont-spin-enetunreach Home: https://github.com/kronosnet/kronosnet Commit: e961b6bed9f3f2e3fee9720a984eb795d2bc31bb https://github.com/kronosnet/kronosnet/commit/e961b6bed9f3f2e3fee9720a984eb7... Author: Christine Caulfield ccaulfie@redhat.com Date: 2020-01-24 (Fri, 24 Jan 2020)
Changed paths: M libknet/transport_udp.c
Log Message: ----------- [udp] don't make socket spin if a network I/F is down
UDP treats ENETUNREACH as a temporary error and just retries, but this causes the TX thread to spin just down sendto() therefore blocking all other traffic.
(To reproduce this try starting corosync with 2 links configured in corosync/conf but only one of them configured to the 'right' address - it will spin in a tight loop and need to be killed with -9)
SCTP does not seem to suffer from this.