Question about tcp keep-alive timer
David Bar
david.bar at gmail.com
Sun Aug 10 20:09:57 UTC 2014
Hi
(Forgive me if this topic has been discussed before. I didn't find it in
the archives)
In tcp_input(), when a packet is received on an established socket the code
re-arms the keep-alive timer, for each packet.
Here:
https://svnweb.freebsd.org/base/release/10.0.0/sys/netinet/tcp_input.c?revision=260789&view=markup#l1518
Isn't this a waste to do this for each packet?
The setting of the timer when the connection becomes established should
suffice if there was a small change in tcp_timer_keep().
If tcp_timer_keep() would first checks if tp->t_rcvtime is recent (newer
than the TT_KEEPIDLE time), and would just re-arm the timer to go off
later, then we would keep the same functionality.
I can't think of any downsides to this idea. Any good reason why this
hasn't been done before?
Thanks,
David Bar
dbar at gmail dot com
More information about the freebsd-net
mailing list