keepalive (copy from keep_forward)