Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Aug 2014 23:09:55 +0300
From:      David Bar <david.bar@gmail.com>
To:        freebsd-net@freebsd.org
Subject:   Question about tcp keep-alive timer
Message-ID:  <CAM4OgwywTtkFQaCiaj1TGxSOZRF9PHGiaKugr-MCUhC3VKNeSg@mail.gmail.com>

index | next in thread | raw e-mail

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM4OgwywTtkFQaCiaj1TGxSOZRF9PHGiaKugr-MCUhC3VKNeSg>