diff options
| author | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-16 18:02:07 -0400 | 
|---|---|---|
| committer | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-16 18:02:07 -0400 | 
| commit | 0405ba1ccfa5630ce16802e2d74bc799972fb613 (patch) | |
| tree | 8f46cc1abf298093aef8c644b1673523d3a08873 /ext/lwip/src/core/tcp_in.c | |
| parent | b96c08f35c2afd07daf261451daad7004c73f42d (diff) | |
| download | infinitytier-0405ba1ccfa5630ce16802e2d74bc799972fb613.tar.gz infinitytier-0405ba1ccfa5630ce16802e2d74bc799972fb613.zip  | |
Misc changes
Diffstat (limited to 'ext/lwip/src/core/tcp_in.c')
| -rw-r--r-- | ext/lwip/src/core/tcp_in.c | 54 | 
1 files changed, 27 insertions, 27 deletions
diff --git a/ext/lwip/src/core/tcp_in.c b/ext/lwip/src/core/tcp_in.c index 4ec971ac..051869ff 100644 --- a/ext/lwip/src/core/tcp_in.c +++ b/ext/lwip/src/core/tcp_in.c @@ -6,7 +6,7 @@   *   * These functions are generally called in the order (ip_input() ->)   * tcp_input() -> * tcp_process() -> tcp_receive() (-> application). - *  + *   */  /* @@ -166,7 +166,7 @@ tcp_input(struct pbuf *p, struct netif *inp)       for an active connection. */    prev = NULL; -   +    for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {      LWIP_ASSERT("tcp_input: active pcb->state != CLOSED", pcb->state != CLOSED);      LWIP_ASSERT("tcp_input: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); @@ -253,7 +253,7 @@ tcp_input(struct pbuf *p, struct netif *inp)                /* put this listening pcb at the head of the listening list */          tcp_listen_pcbs.listen_pcbs = lpcb;        } -     +        LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packed for LISTENing connection.\n"));        tcp_listen_input(lpcb);        pbuf_free(p); @@ -588,7 +588,7 @@ tcp_process(struct tcp_pcb *pcb)          acceptable = 1;        }      } else { -      if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,  +      if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,                            pcb->rcv_nxt+pcb->rcv_wnd)) {          acceptable = 1;        } @@ -609,12 +609,12 @@ tcp_process(struct tcp_pcb *pcb)      }    } -  if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) {  +  if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) {      /* Cope with new connection attempt after remote end crashed */      tcp_ack_now(pcb);      return ERR_OK;    } -   +    if ((pcb->flags & TF_RXCLOSED) == 0) {      /* Update the PCB (in)activity timer unless rx is closed (see tcp_shutdown) */      pcb->tmr = tcp_ticks; @@ -892,7 +892,7 @@ tcp_receive(struct tcp_pcb *pcb)  #if TCP_WND_DEBUG      } else {        if (pcb->snd_wnd != tcphdr->wnd) { -        LWIP_DEBUGF(TCP_WND_DEBUG,  +        LWIP_DEBUGF(TCP_WND_DEBUG,                      ("tcp_receive: no window update lastack %"U32_F" ackno %"                       U32_F" wl1 %"U32_F" seqno %"U32_F" wl2 %"U32_F"\n",                       pcb->lastack, ackno, pcb->snd_wl1, seqno, pcb->snd_wl2)); @@ -902,17 +902,17 @@ tcp_receive(struct tcp_pcb *pcb)      /* (From Stevens TCP/IP Illustrated Vol II, p970.) Its only a       * duplicate ack if: -     * 1) It doesn't ACK new data  -     * 2) length of received packet is zero (i.e. no payload)  -     * 3) the advertised window hasn't changed  +     * 1) It doesn't ACK new data +     * 2) length of received packet is zero (i.e. no payload) +     * 3) the advertised window hasn't changed       * 4) There is outstanding unacknowledged data (retransmission timer running)       * 5) The ACK is == biggest ACK sequence number so far seen (snd_una) -     *  -     * If it passes all five, should process as a dupack:  -     * a) dupacks < 3: do nothing  -     * b) dupacks == 3: fast retransmit  -     * c) dupacks > 3: increase cwnd  -     *  +     * +     * If it passes all five, should process as a dupack: +     * a) dupacks < 3: do nothing +     * b) dupacks == 3: fast retransmit +     * c) dupacks > 3: increase cwnd +     *       * If it only passes 1-3, should reset dupack counter (and add to       * stats, which we don't do in lwIP)       * @@ -1053,7 +1053,7 @@ tcp_receive(struct tcp_pcb *pcb)         ->unsent list after a retransmission, so these segments may         in fact have been sent once. */      while (pcb->unsent != NULL && -           TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) +  +           TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) +                             TCP_TCPLEN(pcb->unsent), pcb->snd_nxt)) {        LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: removing %"U32_F":%"U32_F" from pcb->unsent\n",                                      ntohl(pcb->unsent->tcphdr->seqno), ntohl(pcb->unsent->tcphdr->seqno) + @@ -1065,7 +1065,7 @@ tcp_receive(struct tcp_pcb *pcb)        if (pcb->unsent == NULL) {          pcb->unsent_oversize = 0;        } -#endif /* TCP_OVERSIZE */  +#endif /* TCP_OVERSIZE */        LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_receive: queuelen %"U16_F" ... ", (u16_t)pcb->snd_queuelen));        LWIP_ASSERT("pcb->snd_queuelen >= pbuf_clen(next->p)", (pcb->snd_queuelen >= pbuf_clen(next->p)));        /* Prevent ACK for FIN to generate a sent event */ @@ -1211,7 +1211,7 @@ tcp_receive(struct tcp_pcb *pcb)      /* The sequence number must be within the window (above rcv_nxt         and below rcv_nxt + rcv_wnd) in order to be further         processed. */ -    if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,  +    if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,                          pcb->rcv_nxt + pcb->rcv_wnd - 1)){        if (pcb->rcv_nxt == seqno) {          /* The incoming segment is the next in sequence. We check if @@ -1220,12 +1220,12 @@ tcp_receive(struct tcp_pcb *pcb)          tcplen = TCP_TCPLEN(&inseg);          if (tcplen > pcb->rcv_wnd) { -          LWIP_DEBUGF(TCP_INPUT_DEBUG,  +          LWIP_DEBUGF(TCP_INPUT_DEBUG,                        ("tcp_receive: other end overran receive window"                         "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n",                         seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd));            if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { -            /* Must remove the FIN from the header as we're trimming  +            /* Must remove the FIN from the header as we're trimming               * that byte of sequence-space from the packet */              TCPH_FLAGS_SET(inseg.tcphdr, TCPH_FLAGS(inseg.tcphdr) &~ TCP_FIN);            } @@ -1245,7 +1245,7 @@ tcp_receive(struct tcp_pcb *pcb)             - inseq overlaps with ooseq */          if (pcb->ooseq != NULL) {            if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { -            LWIP_DEBUGF(TCP_INPUT_DEBUG,  +            LWIP_DEBUGF(TCP_INPUT_DEBUG,                          ("tcp_receive: received in-order FIN, binning ooseq queue\n"));              /* Received in-order FIN means anything that was received               * out of order must now have been received in-order, so @@ -1352,7 +1352,7 @@ tcp_receive(struct tcp_pcb *pcb)              recv_flags |= TF_GOT_FIN;              if (pcb->state == ESTABLISHED) { /* force passive close or we can move to active close */                pcb->state = CLOSE_WAIT; -            }  +            }            }            pcb->ooseq = cseg->next; @@ -1465,12 +1465,12 @@ tcp_receive(struct tcp_pcb *pcb)                    }                    /* check if the remote side overruns our receive window */                    if ((u32_t)tcplen + seqno > pcb->rcv_nxt + (u32_t)pcb->rcv_wnd) { -                    LWIP_DEBUGF(TCP_INPUT_DEBUG,  +                    LWIP_DEBUGF(TCP_INPUT_DEBUG,                                  ("tcp_receive: other end overran receive window"                                   "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n",                                   seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd));                      if (TCPH_FLAGS(next->next->tcphdr) & TCP_FIN) { -                      /* Must remove the FIN from the header as we're trimming  +                      /* Must remove the FIN from the header as we're trimming                         * that byte of sequence-space from the packet */                        TCPH_FLAGS_SET(next->next->tcphdr, TCPH_FLAGS(next->next->tcphdr) &~ TCP_FIN);                      } @@ -1531,7 +1531,7 @@ tcp_receive(struct tcp_pcb *pcb)  }  /** - * Parses the options contained in the incoming segment.  + * Parses the options contained in the incoming segment.   *   * Called from tcp_listen_input() and tcp_process().   * Currently, only the MSS option is supported! @@ -1588,7 +1588,7 @@ tcp_parseopt(struct tcp_pcb *pcb)            return;          }          /* TCP timestamp option with valid length */ -        tsval = (opts[c+2]) | (opts[c+3] << 8) |  +        tsval = (opts[c+2]) | (opts[c+3] << 8) |            (opts[c+4] << 16) | (opts[c+5] << 24);          if (flags & TCP_SYN) {            pcb->ts_recent = ntohl(tsval);  | 
