netdev
[Top] [All Lists]

Re: BUG in tcp_timer.c:tcp_retransmit_timer()

To: "David S. Miller" <davem@xxxxxxxxxx>
Subject: Re: BUG in tcp_timer.c:tcp_retransmit_timer()
From: Nagendra Singh Tomar <nagendra_tomar@xxxxxxxxxxx>
Date: Tue, 30 Mar 2004 02:10:45 +0530 (IST)
Cc: "Tomar, Nagendra" <nagendra_tomar@xxxxxxxxxxx>, <linux-net@xxxxxxxxxxxxxxx>, <netdev@xxxxxxxxxxx>
In-reply-to: <20040329215057.3fd40210.davem@redhat.com>
Organization: Adaptec
Reply-to: "Tomar, Nagendra" <nagendra_tomar@xxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Mon, 29 Mar 2004, David S. Miller wrote:

> On Mon, 29 Mar 2004 22:54:14 +0530 (IST)
> Nagendra Singh Tomar <nagendra_tomar@xxxxxxxxxxx> wrote:
> 
> >     Thats right. But what about the other cases of retransmission 
> > failures for which we are having a negative return (-ENOMEM, -EAGAIN, 
> > -EHOSTUNREACH etc). Even for these cases its not a good idea to 
> > artificially increment tp->retransmits, lest in some extreme case we might 
> > timeout a connection without a single packet going on the wire.
> 
> That's just like the packet getting dropped at the next hop,
> and not the case this branch of code intends to deal with.
> 

I understand your point, but we should try our best to retransmit uptill 
the "max retransmission count". Packets can be dropped at any hop, 
but thats excatly why TCP doess a large number of retransmissions, 
before giving up. Whats wrong in having the check as 

if (tcp_retransmit_skb(sk, skb_peek(&sk->write_queue)) != 0)

so that we take care of both the cases. Does it have any bad effects ?



Thanx,
tomar


-- You have moved the mouse. Windows must be restarted for the 
   changes to take effect.


<Prev in Thread] Current Thread [Next in Thread>