2.2.17 Stuck TCP ESTABLISHED sessions

From: Philippe Troin (phil@fifi.org)
Date: Fri Sep 22 2000 - 16:50:47 EDT

  • Next message: Benjamin Herrenschmidt: "Re: [DOC] Debugging early kernel hangs"

    I've seen that in the past, but never had time to investigate. For
    some reasons, TCP sessions get stuck.

    Here'an example with a ssh session:

      1) Netstat says on tantale (note the non-zero Send-Q):
          tcp 0 38364 tantale:ssh neptune:1022 ESTABLISHED

         Netstat says on neptune:
          tcp 0 0 neptune:1022 tantale:22 ESTABLISHED

      2) At this point the session is stuck in the tantale->neptune
         direction although the other direction is still active.

      3) Here's what tcpdump says when I send data (type in one character
         at the ssh session):

          neptune.1022 > tantale.ssh: P 560:580(20) ack 1 win 32120
               <nop,nop,timestamp 298659790 51387478> (DF) [tos 0x10]
          tantale.ssh > neptune.1022: . ack 580 win 32120
               <nop,nop,timestamp 51434902 298659790> (DF) [tos 0x10]

    Both tantale and neptune are configured as firewalls. Both tantale and
    neptune are configured to always defragment.
    Neptune also does masquerading, but in that particular case the
    session is not masqueraded (since started on neptune).

    I fail to understand why tantale does not send back what's in its
    outgoing queue since neptune reports an open window of 32120 bytes.

    Or am I missing something ?

    Phil.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri Sep 22 2000 - 16:54:37 EDT