Skip to content
  1. Jun 20, 2016
    • Jakub Łągwa's avatar
      While working with version 7.10 I discovered a problem in TCP stack that could... · 338b9150
      Jakub Łągwa authored
      While working with version 7.10 I discovered a problem in TCP stack that could be observed on high network load. Generally speaking, the problem is that RST flag is set in unnecessary case, in which between loss of some TCP packet and its proper retransmission, another packets had been successfully sent. The scenario is as follows:  NuttX did not receive ACK for some sent packet, so it has been probably lost somewhere. But before its retransmission starts, NuttX is correctly issuing next TCP packets, with sequence numbers increasing properly. When the retransmission of previously lost packet finally succeeds, tcp_input receives the accumulated ACK value, which acknowledges also the packets sent in the meantime (i.e. between unsuccessful sending of lost packet and its proper retransmission). However, variable unackseq is still set to conn->isn + conn->sent, which is truth only if no further packets transmission occurred in the meantime.  Because of incorrect (in such specific case) unackseq value, few lines further condition if (ackseq <= unackseq)is not met, and, as a result, we are going to reset label.
      338b9150
    • Gregory Nutt's avatar
      Update ChangeLog · d5b8869b
      Gregory Nutt authored
      d5b8869b
    • Gregory Nutt's avatar
      Update some cmoments · fa365e85
      Gregory Nutt authored
      fa365e85
    • Stefan Kolb's avatar
      a6823286
    • Gregory Nutt's avatar
    • Gregory Nutt's avatar
      ullinfo (vs ulinf) · 8021354e
      Gregory Nutt authored
      8021354e
  2. Jun 19, 2016
  3. Jun 18, 2016