Both wireguard-go and quic-go currently use the same syscall logic to check if GSO is available. According to a recent quic-go issue, it's not enough to check for an error, you also need to check the return value: https://github.com/quic-go/quic-go/issues/4446