- /* Check for new data */
- toack = pkb_len ( pkb ) - hlen;
- if ( toack > 0 ) {
- /* Check if expected sequence number */
- if ( conn->rcv_nxt == ntohl ( tcphdr->seq ) ) {
- conn->rcv_nxt += toack;
- conn->tcp_op->newdata ( conn, pkb->data + hlen,
- toack );
- } else {
- DBG ( "Unexpected sequence number %lx (wanted %lx)\n",
- ntohl ( tcphdr->seq ), conn->rcv_nxt );
- }
-
- /* Acknowledge new data */
- conn->tcp_flags |= TCP_ACK;
- if ( !( tcphdr->flags & TCP_ACK ) ) {
- goto send_tcp_nomsg;
- }
- }
-
- /* Process ACK */