HomeClusterLabs Projects

IPv6addr: expect ping/pong delay

Description

IPv6addr: expect ping/pong delay

Under heavy network load, the echo response to an echo request that was
just sent may not immediately be available for reading, with
recvmsg(MSG_DONTWAIT) failing with EAGAIN. This leads to occasional
false positive "not running" events.

This wraps the recvmsg() within a poll() loop with a short timeout (10
ms) and retries reading the echo response up to 3 times, in case poll()
was interrupted by some other event (e.g. EINTR).

Closes #1855

Details

Provenance
Richard Fuchs <rfuchs@sipwise.com>Authored on Mar 30 2023, 7:37 AM
Parents
rR7749441662ba: ZFS: add non-blocking check if pool was imported (#1853)
Branches
Unknown
Tags
Unknown

Event Timeline

Richard Fuchs <rfuchs@sipwise.com> committed rR729aec1924a7: IPv6addr: expect ping/pong delay (authored by Richard Fuchs <rfuchs@sipwise.com>).Mar 30 2023, 7:37 AM