public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] RedBoot sends continuous ACKS in TIME_WAIT state.
@ 2001-03-26 17:49 Grant Edwards
  2001-03-26 18:56 ` Mark Salter
  2001-03-27  6:03 ` Grant Edwards
  0 siblings, 2 replies; 7+ messages in thread
From: Grant Edwards @ 2001-03-26 17:49 UTC (permalink / raw)
  To: ecos-discuss

Following __tcp_close() on a socket, the RedBoot TCP stack
exchanges a continuous stream of ACKs with my Linux box.  The
RedBoot socket is in the TIME_WAIT state.  Do we really want to
send out ACKs in TIME_WAIT state?

The socket has a 120000 tick timer set (I presume a 2 minute
2MSL value).  But we're so busy sending ACKs that the system time
never advances.

The sequence of events:

 No. Time        Source     Destination   Protocol Info
   1 0.000000    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [SYN] Seq=3272446793 Ack=0 Win=32120 Len=0
   2 0.000795    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [SYN, ACK] Seq=0 Ack=3272446794 Win=1460 Len=0
   3 0.000878    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [ACK] Seq=3272446794 Ack=1 Win=32120 Len=0
   4 0.011692    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [PSH, ACK] Seq=1 Ack=3272446794 Win=1460 Len=10
   5 0.011763    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [ACK] Seq=3272446794 Ack=11 Win=32120 Len=0
   6 2.285735    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [PSH, ACK] Seq=3272446794 Ack=11 Win=32120 Len=6
   7 2.286991    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [ACK] Seq=11 Ack=3272446800 Win=1460 Len=0
   8 3.303892    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [FIN, ACK] Seq=11 Ack=3272446800 Win=1460 Len=0
   9 3.303974    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [ACK] Seq=3272446800 Ack=12 Win=32120 Len=0
  10 3.304184    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [FIN, ACK] Seq=3272446800 Ack=12 Win=32120 Len=0

Linux should be in the LAST_ACK state, and isn't supposed to
send anything in response to the next ACK.

  11 3.318369    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [ACK] Seq=11 Ack=3272446801 Win=1460 Len=0

RedBoot stack is in the TIME_WAIT state.

Linux ACKs the ACK (why?)

  12 3.318424    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [ACK] Seq=3272446801 Ack=12 Win=32120 Len=0
  13 3.319083    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [ACK] Seq=11 Ack=3272446801 Win=1460 Len=0
  14 3.319116    10.0.0.2     10.0.0.5      TCP      1511 > 9000 [ACK] Seq=3272446801 Ack=12 Win=32120 Len=0
  15 3.319754    10.0.0.5     10.0.0.2      TCP      9000 > 1511 [ACK] Seq=11 Ack=3272446801 Win=1460 Len=0

This continues as fast as they can send ACKs back and forth.

I don't understand why the Linux stack is ACKing ACKs, but
there's not much I can do about that. Does RedBoot really need
to send ACKs in reponse to received ACKs while in the TIME_WAIT
state?

-- 
Grant Edwards
grante@visi.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-03-27 11:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-26 17:49 [ECOS] RedBoot sends continuous ACKS in TIME_WAIT state Grant Edwards
2001-03-26 18:56 ` Mark Salter
2001-03-26 20:00   ` Grant Edwards
2001-03-27  6:03 ` Grant Edwards
2001-03-27  9:59   ` Grant Edwards
2001-03-27 10:31     ` Hugo Tyson
2001-03-27 11:29     ` Mark Salter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).