aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/013-parallel-syncs
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-29 15:02:18 +0100
committereunhhu <[email protected]>2026-09-29 15:02:18 +0100
commit0f074f2b1e26e0cdc4e17b785eda2e06ef13e5a8 (patch)
tree61e4efaf523c6c53169eba80bf7916b0728745f3 /research/experiments/013-parallel-syncs
parentaee9eada19eb54203d776a61958e75e296767c0e (diff)
downloadpure-0f074f2b1e26e0cdc4e17b785eda2e06ef13e5a8.tar.gz
pure-0f074f2b1e26e0cdc4e17b785eda2e06ef13e5a8.zip
Answer a link's packet from the address it came to
The listener's socket takes packets to any address of the node, and its answers went out from whichever address the system chose for the way back. A sender whose socket is connected to another of the node's addresses (a node with many, or a name that points at a second one) takes answers only from the address it sent to: it heard none, and its records went on arriving unacknowledged. Now the listener asks for the address each packet came to (IP_PKTINFO; IPv4 as ::ffff:a.b.c.d on a socket of both) and answers from it. The path a receiver keeps for a run is both addresses (48 bytes, not 28): a packet that comes to another of the node's addresses moves it, and is checked, as one from elsewhere is. Found by a receiver moved to 127.0.0.2 (the check that follows).
Diffstat (limited to 'research/experiments/013-parallel-syncs')
0 files changed, 0 insertions, 0 deletions