Branch: refs/heads/dont-spin-enetunreach Home: https://github.com/kronosnet/kronosnet Commit: 5a11955f722dc950ab5fffaf074c8942d13bf86d https://github.com/kronosnet/kronosnet/commit/5a11955f722dc950ab5fffaf074c89... 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 doing 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.