netdev
[Top] [All Lists]

Re: Deadlock problem with TCP v6?

To: Pekka Savola <pekkas@xxxxxxxxxx>
Subject: Re: Deadlock problem with TCP v6?
From: "Nivedita Singhvi" <nivedita@xxxxxxxxxx>
Date: Thu, 14 Mar 2002 08:20:57 -0800
Cc: netdev@xxxxxxxxxxx
Importance: Normal
Sender: owner-netdev@xxxxxxxxxxx
Sensitivity:



Pekka,

You dont say where you were running the trace.

> - Linux 2.4.9 (at least) works (the same system)
>
> - Linux 2.4.9, 2.4.12, 2.4.18 and other versions
> do work from some other topological locations: it
> seems that this happens only if the latency between
> the boxes is very low.
>
> Perhaps some TCP specilist can shed some light on this?

There is nothing inherently wrong in the flow of
events, although there is  a loss of a packet.




> 17:12:51.254612 2001:708:10:10:250:4ff:fe6a:db55.1046 >
> 2001:708:10:f::c1a6:45.http: S [tcp sum ok]
> 3514706145:3514706145(0) win 5760 <mss 1440,sackOK,
> timestamp 100174 0,nop,wscale 0> (len 40, hlim 64)

> 17:12:51.259395 2001:708:10:f::c1a6:45.http >
> 2001:708:10:10:250:4ff:fe6a:db55.1046: S [tcp sum ok]
> 2663223199:2663223199(0) ack 3514706146 win 65535
> <mss 1440,nop,wscale 1,nop,nop,timestamp 218472648
> 100174> (len 40, hlim 61)

> 17:12:51.259457 2001:708:10:10:250:4ff:fe6a:db55.1046 >
> 2001:708:10:f::c1a6:45.http: . [tcp sum ok] 1:1(0)
> ack 1 win 5760 <nop,nop,timestamp 100175 218472648>
> (len 32, hlim 64)

      Normal 3 way handshake

> 17:12:51.260802 2001:708:10:10:250:4ff:fe6a:db55.1046 >
> 2001:708:10:f::c1a6:45.http: P 1:537(536) ack 1
> win 5760 <nop,nop,timestamp 100175 218472648>
> (len 568, hlim 64)

      Linux client sends the get request, bytes 1:536

> 17:12:51.468662 2001:708:10:10:250:4ff:fe6a:db55.1046 >
> 2001:708:10:f::c1a6:45.http: P 1:537(536) ack 1
> win 5760 <nop,nop,timestamp 100196 218472648>
> (len 568, hlim 64)

      ~200ms seconds later, the retransmission timer
      goes off at the Linux client, not having received
      an ack in reply so far. It resends the data
      (1:536 bytes).

> 17:12:51.474158 2001:708:10:f::c1a6:45.http >
> 2001:708:10:10:250:4ff:fe6a:db55.1046: . [tcp sum ok]
> 2857:2857(0) ack 537 win 32844 <nop,nop,timestamp
> 218472670 100196> [flowlabel 0x60695] (len 32, hlim 61)

      Freebsd almost immediately sends an ack back
      for the 536 bytes, which means it got the
      retransmitted data packet.

      I'm not sure why you see nothing more in the
      trace here - you should see the http send from
      the freebsd box.

Any thoughts?  Does this appear to be a FreeBSD or Linux problem?  (I'd be
tempted to say Linux, because it works in some versions but not others.)

--
Pekka Savola                 "Tell me of difficulties surmounted,
Netcore Oy                   not those you stumble over and fall"
Systems. Networks. Security.  -- Robert Jordan: A Crown of Swords





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