acceptUDPNoICMP wraps acceptUDP to satisfy udp.ForwarderHandler. A gvisor bump from 9414b50a to 573d5e71 on 2026-02-27 changed udp.ForwarderHandler from func(*ForwarderRequest) to func(*ForwarderRequest) bool, where returning false means unhandled and causes gvisor to send an ICMP port unreachable.
(r *udp.ForwarderRequest)
| 1902 | // handled. Always returning true preserves the old behavior of silently |
| 1903 | // dropping packets we don't service rather than sending ICMP errors. |
| 1904 | func (ns *Impl) acceptUDPNoICMP(r *udp.ForwarderRequest) bool { |
| 1905 | ns.acceptUDP(r) |
| 1906 | return true |
| 1907 | } |
| 1908 | |
| 1909 | func (ns *Impl) acceptUDP(r *udp.ForwarderRequest) { |
| 1910 | sess := r.ID() |