mirror of
https://github.com/moby/moby.git
synced 2026-08-09 17:39:58 +00:00
When the proxy forwards a UDP datagram to a backend that isn't listening, the kernel queues an ICMP port-unreachable error on the connected socket. This error is returned on the *next* Write() call, not the one that triggered it. As a result, a subsequent write carrying new data silently fails and the datagram is never sent to the backend. The replyLoop already handles this for reads (goto again on ECONNREFUSED). Apply the same treatment to writes in Run() and retry the write when the error is ECONNREFUSED. Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>