Subject RE: [firebird-support] FB 1.5 Connection lost problem
Author Alan McDonald
> Likewise, I use the same tactic to prevent DHCP on the Windows
> servers from
> stealing IP addresses that Firebird clients use.
> Have a look to see what Fedora's settings are for the tcp_keepalive
> parameters. AFAIK, they interact this way:
> tcp_keepalive_time = s
> tcp_keepalive_intvl = i
> tcp_keepalive_probes = p
> As I understand it, after 3 * (s + i) seconds of idle time at that IP
> address, the socket will be considered dead and will be disconnected,
> releasing the IP address back to the pool. (But check this in the
> man files
> and also look in the firebird log for the exact inet error code
> that occurred).
> Once the network connection is gone, the Fb server will detect it
> and begin
> to release the artifacts associated with the dead connection.
> /heLen

Hang on a second - IPs are not handed back to the pool, the socket
connection may be handed to to a connection pool but while that PC is still
switched on and while the network is a tcp type network, that PC will remain
with that IP until the lease on it expires. Before that happens, the DHCP
client will attempt to re-lease it and will keep trying to re-lease it until
such time as you get a warning that your client has failed to re-lease it.
At this time the DHCP server is not contactable or has failed. In either
case all clients are safe to keep their IPs since no new ones will be given
out. The client does not then give up it's IP, it keeps it until you switch
the PC off or you manually release it (ipconfig /release /renew) and it is
either granted a new lease or denied a lease. If denied, you get a local
fallback IP so as an interface is maintained but your network will start to
get flaky at this point when all clients are switched on after having
manually released (not re-leased) their IPs.

Now socket connections based on tcp networks are a different thing. Don't
get them confused, they rely on a transport layer (tcp/ip), they can get
recycled etc but if your machine IPs just got taken away from you at the
whim of some server process wanting to recycle them, networks would fast
become a big mess.