Lines Matching refs:cur_stream

69 GenerateTCPTimestamp(tcp_stream *cur_stream, uint8_t *tcpopt, uint32_t cur_ts)  in GenerateTCPTimestamp()  argument
76 ts[1] = htonl(cur_stream->rcvvar->ts_recent); in GenerateTCPTimestamp()
80 GenerateTCPOptions(tcp_stream *cur_stream, uint32_t cur_ts, in GenerateTCPOptions() argument
89 mss = cur_stream->sndvar->mss; in GenerateTCPOptions()
112 GenerateTCPTimestamp(cur_stream, tcpopt + i, cur_ts); in GenerateTCPOptions()
120 tcpopt[i++] = cur_stream->sndvar->wscale_mine; in GenerateTCPOptions()
127 GenerateTCPTimestamp(cur_stream, tcpopt + i, cur_ts); in GenerateTCPOptions()
247 SendTCPPacket(struct mtcp_manager *mtcp, tcp_stream *cur_stream, in SendTCPPacket() argument
259 if (payloadlen > cur_stream->sndvar->mss + optlen) { in SendTCPPacket()
264 tcph = (struct tcphdr *)IPOutput(mtcp, cur_stream, in SendTCPPacket()
271 tcph->source = cur_stream->sport; in SendTCPPacket()
272 tcph->dest = cur_stream->dport; in SendTCPPacket()
276 if (cur_stream->snd_nxt != cur_stream->sndvar->iss) { in SendTCPPacket()
278 "snd_nxt: %u, iss: %u\n", cur_stream->id, in SendTCPPacket()
279 cur_stream->snd_nxt, cur_stream->sndvar->iss); in SendTCPPacket()
282 cur_stream->id, cur_stream->snd_nxt, cur_stream->rcv_nxt); in SendTCPPacket()
285 TRACE_FIN("Stream %d: Sending RST.\n", cur_stream->id); in SendTCPPacket()
292 tcph->seq = htonl(cur_stream->snd_nxt - 1); in SendTCPPacket()
295 cur_stream->id, in SendTCPPacket()
296 cur_stream->snd_nxt - 1, cur_stream->sndvar->peer_wnd, in SendTCPPacket()
297 cur_stream->snd_nxt - cur_stream->sndvar->snd_una); in SendTCPPacket()
301 if (cur_stream->sndvar->fss == 0) { in SendTCPPacket()
303 cur_stream->id, cur_stream->closed); in SendTCPPacket()
305 tcph->seq = htonl(cur_stream->sndvar->fss); in SendTCPPacket()
306 cur_stream->sndvar->is_fin_sent = TRUE; in SendTCPPacket()
308 cur_stream->id, cur_stream->snd_nxt, cur_stream->rcv_nxt); in SendTCPPacket()
310 tcph->seq = htonl(cur_stream->snd_nxt); in SendTCPPacket()
315 tcph->ack_seq = htonl(cur_stream->rcv_nxt); in SendTCPPacket()
316 cur_stream->sndvar->ts_lastack_sent = cur_ts; in SendTCPPacket()
317 cur_stream->last_active_ts = cur_ts; in SendTCPPacket()
318 UpdateTimeoutList(mtcp, cur_stream); in SendTCPPacket()
324 wscale = cur_stream->sndvar->wscale_mine; in SendTCPPacket()
327 window32 = cur_stream->rcvvar->rcv_wnd >> wscale; in SendTCPPacket()
331 cur_stream->need_wnd_adv = TRUE; in SendTCPPacket()
334 GenerateTCPOptions(cur_stream, cur_ts, flags, in SendTCPPacket()
353 cur_stream->saddr, in SendTCPPacket()
354 cur_stream->daddr); in SendTCPPacket()
356 cur_stream->snd_nxt += payloadlen; in SendTCPPacket()
359 cur_stream->snd_nxt++; in SendTCPPacket()
364 if (cur_stream->state > TCP_ST_ESTABLISHED) { in SendTCPPacket()
366 payloadlen, cur_stream->snd_nxt); in SendTCPPacket()
370 cur_stream->sndvar->ts_rto = cur_ts + cur_stream->sndvar->rto; in SendTCPPacket()
373 cur_ts, cur_stream->sndvar->rto, cur_stream->sndvar->ts_rto); in SendTCPPacket()
374 AddtoRTOList(mtcp, cur_stream); in SendTCPPacket()
391 struct tcp_stream *recvside_stream = cur_stream->pair_stream; in SendTCPPacket()
392 struct tcp_stream *sendside_stream = cur_stream; in SendTCPPacket()
415 FlushTCPSendingBuffer(mtcp_manager_t mtcp, tcp_stream *cur_stream, uint32_t cur_ts) in FlushTCPSendingBuffer() argument
417 struct tcp_send_vars *sndvar = cur_stream->sndvar; in FlushTCPSendingBuffer()
429 TRACE_ERROR("Stream %d: No send buffer available.\n", cur_stream->id); in FlushTCPSendingBuffer()
444 seq = cur_stream->snd_nxt; in FlushTCPSendingBuffer()
449 cur_stream->id, TCPStateToString(cur_stream), in FlushTCPSendingBuffer()
455 if (cur_stream->state > TCP_ST_ESTABLISHED) { in FlushTCPSendingBuffer()
478 if (cur_stream->state > TCP_ST_ESTABLISHED) { in FlushTCPSendingBuffer()
490 EnqueueACK(mtcp, cur_stream, cur_ts, ACK_OPT_WACK); in FlushTCPSendingBuffer()
498 sndlen = SendTCPPacket(mtcp, cur_stream, cur_ts, in FlushTCPSendingBuffer()
515 SendControlPacket(mtcp_manager_t mtcp, tcp_stream *cur_stream, uint32_t cur_ts) in SendControlPacket() argument
517 struct tcp_send_vars *sndvar = cur_stream->sndvar; in SendControlPacket()
521 switch (cur_stream->state) { in SendControlPacket()
526 cur_stream->snd_nxt = sndvar->iss; in SendControlPacket()
545 flag = (cur_stream->snd_nxt == sndvar->fss) ? in SendControlPacket()
553 cur_stream->id); in SendControlPacket()
557 ret = SendTCPPacket(mtcp, cur_stream, cur_ts, TCP_FLAG_RST, NULL, 0); in SendControlPacket()
559 DestroyTCPStream(mtcp, cur_stream); in SendControlPacket()
563 cur_stream->id); in SendControlPacket()
568 return SendTCPPacket(mtcp, cur_stream, cur_ts, flag, NULL, 0); in SendControlPacket()
575 tcp_stream *cur_stream; in WriteTCPControlList() local
584 cur_stream = TAILQ_FIRST(&sender->control_list); in WriteTCPControlList()
586 while (cur_stream) { in WriteTCPControlList()
591 cnt, cur_stream->id); in WriteTCPControlList()
592 next = TAILQ_NEXT(cur_stream, sndvar->control_link); in WriteTCPControlList()
594 TAILQ_REMOVE(&sender->control_list, cur_stream, sndvar->control_link); in WriteTCPControlList()
597 if (cur_stream->sndvar->on_control_list) { in WriteTCPControlList()
598 cur_stream->sndvar->on_control_list = FALSE; in WriteTCPControlList()
600 ret = SendControlPacket(mtcp, cur_stream, cur_ts); in WriteTCPControlList()
603 cur_stream, sndvar->control_link); in WriteTCPControlList()
604 cur_stream->sndvar->on_control_list = TRUE; in WriteTCPControlList()
610 TRACE_ERROR("Stream %d: not on control list.\n", cur_stream->id); in WriteTCPControlList()
613 if (cur_stream == last) in WriteTCPControlList()
615 cur_stream = next; in WriteTCPControlList()
625 tcp_stream *cur_stream; in WriteTCPDataList() local
632 cur_stream = TAILQ_FIRST(&sender->send_list); in WriteTCPDataList()
634 while (cur_stream) { in WriteTCPDataList()
639 cnt, cur_stream->id); in WriteTCPDataList()
640 next = TAILQ_NEXT(cur_stream, sndvar->send_link); in WriteTCPDataList()
642 TAILQ_REMOVE(&sender->send_list, cur_stream, sndvar->send_link); in WriteTCPDataList()
643 if (cur_stream->sndvar->on_send_list) { in WriteTCPDataList()
648 if (cur_stream->state == TCP_ST_ESTABLISHED) { in WriteTCPDataList()
649 if (cur_stream->sndvar->on_control_list) { in WriteTCPDataList()
654 ret = FlushTCPSendingBuffer(mtcp, cur_stream, cur_ts); in WriteTCPDataList()
656 } else if (cur_stream->state == TCP_ST_CLOSE_WAIT || in WriteTCPDataList()
657 cur_stream->state == TCP_ST_FIN_WAIT_1 || in WriteTCPDataList()
658 cur_stream->state == TCP_ST_LAST_ACK) { in WriteTCPDataList()
659 ret = FlushTCPSendingBuffer(mtcp, cur_stream, cur_ts); in WriteTCPDataList()
662 cur_stream->id, TCPStateToString(cur_stream)); in WriteTCPDataList()
664 DumpStream(mtcp, cur_stream); in WriteTCPDataList()
669 TAILQ_INSERT_TAIL(&sender->send_list, cur_stream, sndvar->send_link); in WriteTCPDataList()
674 cur_stream->sndvar->on_send_list = FALSE; in WriteTCPDataList()
679 if (cur_stream->sndvar->ack_cnt > 0) { in WriteTCPDataList()
680 if (cur_stream->sndvar->ack_cnt > ret) { in WriteTCPDataList()
681 cur_stream->sndvar->ack_cnt -= ret; in WriteTCPDataList()
683 cur_stream->sndvar->ack_cnt = 0; in WriteTCPDataList()
688 if (cur_stream->control_list_waiting) { in WriteTCPDataList()
689 if (!cur_stream->sndvar->on_ack_list) { in WriteTCPDataList()
690 cur_stream->control_list_waiting = FALSE; in WriteTCPDataList()
691 AddtoControlList(mtcp, cur_stream, cur_ts); in WriteTCPDataList()
697 TRACE_ERROR("Stream %d: not on send list.\n", cur_stream->id); in WriteTCPDataList()
699 DumpStream(mtcp, cur_stream); in WriteTCPDataList()
703 if (cur_stream == last) in WriteTCPDataList()
705 cur_stream = next; in WriteTCPDataList()
715 tcp_stream *cur_stream; in WriteTCPACKList() local
723 cur_stream = TAILQ_FIRST(&sender->ack_list); in WriteTCPACKList()
725 while (cur_stream) { in WriteTCPACKList()
730 next = TAILQ_NEXT(cur_stream, sndvar->ack_link); in WriteTCPACKList()
732 if (cur_stream->sndvar->on_ack_list) { in WriteTCPACKList()
736 if (cur_stream->state == TCP_ST_ESTABLISHED || in WriteTCPACKList()
737 cur_stream->state == TCP_ST_CLOSE_WAIT || in WriteTCPACKList()
738 cur_stream->state == TCP_ST_FIN_WAIT_1 || in WriteTCPACKList()
739 cur_stream->state == TCP_ST_FIN_WAIT_2 || in WriteTCPACKList()
740 cur_stream->state == TCP_ST_TIME_WAIT) { in WriteTCPACKList()
744 if ((rb = cur_stream->rcvvar->rcvbuf) && in WriteTCPACKList()
745 TCP_SEQ_LEQ(cur_stream->rcv_nxt, in WriteTCPACKList()
746 (cur_stream->rcvvar->irs + 1) + rb->pile in WriteTCPACKList()
754 cur_stream->id, TCPStateToString(cur_stream), in WriteTCPACKList()
755 cur_stream->snd_nxt, cur_stream->rcv_nxt, in WriteTCPACKList()
756 cur_stream->sndvar->on_control_list); in WriteTCPACKList()
758 DumpStream(mtcp, cur_stream); in WriteTCPACKList()
764 while (cur_stream->sndvar->ack_cnt > 0) { in WriteTCPACKList()
765 ret = SendTCPPacket(mtcp, cur_stream, in WriteTCPACKList()
771 cur_stream->sndvar->ack_cnt--; in WriteTCPACKList()
775 if (cur_stream->sndvar->is_wack) { in WriteTCPACKList()
776 cur_stream->sndvar->is_wack = FALSE; in WriteTCPACKList()
777 ret = SendTCPPacket(mtcp, cur_stream, in WriteTCPACKList()
781 cur_stream->sndvar->is_wack = TRUE; in WriteTCPACKList()
785 if (!(cur_stream->sndvar->ack_cnt || cur_stream->sndvar->is_wack)) { in WriteTCPACKList()
786 cur_stream->sndvar->on_ack_list = FALSE; in WriteTCPACKList()
787 TAILQ_REMOVE(&sender->ack_list, cur_stream, sndvar->ack_link); in WriteTCPACKList()
791 cur_stream->sndvar->on_ack_list = FALSE; in WriteTCPACKList()
792 cur_stream->sndvar->ack_cnt = 0; in WriteTCPACKList()
793 cur_stream->sndvar->is_wack = 0; in WriteTCPACKList()
794 TAILQ_REMOVE(&sender->ack_list, cur_stream, sndvar->ack_link); in WriteTCPACKList()
798 if (cur_stream->control_list_waiting) { in WriteTCPACKList()
799 if (!cur_stream->sndvar->on_send_list) { in WriteTCPACKList()
800 cur_stream->control_list_waiting = FALSE; in WriteTCPACKList()
801 AddtoControlList(mtcp, cur_stream, cur_ts); in WriteTCPACKList()
805 TRACE_ERROR("Stream %d: not on ack list.\n", cur_stream->id); in WriteTCPACKList()
806 TAILQ_REMOVE(&sender->ack_list, cur_stream, sndvar->ack_link); in WriteTCPACKList()
810 "Stream %u: not on ack list.\n", cur_stream->id); in WriteTCPACKList()
811 DumpStream(mtcp, cur_stream); in WriteTCPACKList()
815 if (cur_stream == last) in WriteTCPACKList()
817 cur_stream = next; in WriteTCPACKList()
824 GetSender(mtcp_manager_t mtcp, tcp_stream *cur_stream) in GetSender() argument
826 if (cur_stream->sndvar->nif_out < 0) { in GetSender()
829 } else if (cur_stream->sndvar->nif_out >= g_config.mos->netdev_table->num) { in GetSender()
834 return mtcp->n_sender[cur_stream->sndvar->nif_out]; in GetSender()
839 AddtoControlList(mtcp_manager_t mtcp, tcp_stream *cur_stream, uint32_t cur_ts) in AddtoControlList() argument
843 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in AddtoControlList()
846 ret = SendControlPacket(mtcp, cur_stream, cur_ts); in AddtoControlList()
849 if (!cur_stream->sndvar->on_control_list) { in AddtoControlList()
850 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in AddtoControlList()
853 cur_stream->sndvar->on_control_list = TRUE; in AddtoControlList()
854 TAILQ_INSERT_TAIL(&sender->control_list, cur_stream, sndvar->control_link); in AddtoControlList()
861 if (cur_stream->sndvar->on_control_list) { in AddtoControlList()
862 cur_stream->sndvar->on_control_list = FALSE; in AddtoControlList()
863 TAILQ_REMOVE(&sender->control_list, cur_stream, sndvar->control_link); in AddtoControlList()
871 AddtoSendList(mtcp_manager_t mtcp, tcp_stream *cur_stream) in AddtoSendList() argument
873 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in AddtoSendList()
876 if(!cur_stream->sndvar->sndbuf) { in AddtoSendList()
879 cur_stream->id); in AddtoSendList()
884 if (!cur_stream->sndvar->on_send_list) { in AddtoSendList()
885 cur_stream->sndvar->on_send_list = TRUE; in AddtoSendList()
886 TAILQ_INSERT_TAIL(&sender->send_list, cur_stream, sndvar->send_link); in AddtoSendList()
892 AddtoACKList(mtcp_manager_t mtcp, tcp_stream *cur_stream) in AddtoACKList() argument
894 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in AddtoACKList()
897 if (!cur_stream->sndvar->on_ack_list) { in AddtoACKList()
898 cur_stream->sndvar->on_ack_list = TRUE; in AddtoACKList()
899 TAILQ_INSERT_TAIL(&sender->ack_list, cur_stream, sndvar->ack_link); in AddtoACKList()
905 RemoveFromControlList(mtcp_manager_t mtcp, tcp_stream *cur_stream) in RemoveFromControlList() argument
907 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in RemoveFromControlList()
910 if (cur_stream->sndvar->on_control_list) { in RemoveFromControlList()
911 cur_stream->sndvar->on_control_list = FALSE; in RemoveFromControlList()
912 TAILQ_REMOVE(&sender->control_list, cur_stream, sndvar->control_link); in RemoveFromControlList()
920 RemoveFromSendList(mtcp_manager_t mtcp, tcp_stream *cur_stream) in RemoveFromSendList() argument
922 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in RemoveFromSendList()
925 if (cur_stream->sndvar->on_send_list) { in RemoveFromSendList()
926 cur_stream->sndvar->on_send_list = FALSE; in RemoveFromSendList()
927 TAILQ_REMOVE(&sender->send_list, cur_stream, sndvar->send_link); in RemoveFromSendList()
933 RemoveFromACKList(mtcp_manager_t mtcp, tcp_stream *cur_stream) in RemoveFromACKList() argument
935 struct mtcp_sender *sender = GetSender(mtcp, cur_stream); in RemoveFromACKList()
938 if (cur_stream->sndvar->on_ack_list) { in RemoveFromACKList()
939 cur_stream->sndvar->on_ack_list = FALSE; in RemoveFromACKList()
940 TAILQ_REMOVE(&sender->ack_list, cur_stream, sndvar->ack_link); in RemoveFromACKList()
947 tcp_stream *cur_stream, uint32_t cur_ts, uint8_t opt) in EnqueueACK() argument
949 if (!(cur_stream->state == TCP_ST_ESTABLISHED || in EnqueueACK()
950 cur_stream->state == TCP_ST_CLOSE_WAIT || in EnqueueACK()
951 cur_stream->state == TCP_ST_FIN_WAIT_1 || in EnqueueACK()
952 cur_stream->state == TCP_ST_FIN_WAIT_2)) { in EnqueueACK()
954 cur_stream->id, TCPStateToString(cur_stream)); in EnqueueACK()
958 if (cur_stream->sndvar->ack_cnt < cur_stream->sndvar->ack_cnt + 1) { in EnqueueACK()
959 cur_stream->sndvar->ack_cnt++; in EnqueueACK()
962 if (cur_stream->sndvar->ack_cnt == 0) { in EnqueueACK()
963 cur_stream->sndvar->ack_cnt = 1; in EnqueueACK()
966 cur_stream->sndvar->is_wack = TRUE; in EnqueueACK()
968 AddtoACKList(mtcp, cur_stream); in EnqueueACK()
983 UpdatePassiveSendTCPContext_SynSent(struct tcp_stream *cur_stream, in UpdatePassiveSendTCPContext_SynSent() argument
986 assert(cur_stream); in UpdatePassiveSendTCPContext_SynSent()
990 if (cur_stream->state < TCP_ST_SYN_SENT) { in UpdatePassiveSendTCPContext_SynSent()
991 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext_SynSent()
992 cur_stream->cb_events |= MOS_ON_CONN_START; in UpdatePassiveSendTCPContext_SynSent()
995 cur_stream->sndvar->cwnd = 1; in UpdatePassiveSendTCPContext_SynSent()
996 cur_stream->sndvar->ssthresh = cur_stream->sndvar->mss * 10; in UpdatePassiveSendTCPContext_SynSent()
997 cur_stream->sndvar->ip_id = htons(pctx->p.iph->id); in UpdatePassiveSendTCPContext_SynSent()
998 cur_stream->sndvar->iss = pctx->p.seq; in UpdatePassiveSendTCPContext_SynSent()
999 cur_stream->snd_nxt = pctx->p.seq + 1; in UpdatePassiveSendTCPContext_SynSent()
1000 cur_stream->state = TCP_ST_SYN_SENT; in UpdatePassiveSendTCPContext_SynSent()
1001 cur_stream->last_active_ts = pctx->p.cur_ts; in UpdatePassiveSendTCPContext_SynSent()
1013 UpdatePassiveSendTCPContext(mtcp_manager_t mtcp, struct tcp_stream *cur_stream, in UpdatePassiveSendTCPContext() argument
1018 assert(cur_stream); in UpdatePassiveSendTCPContext()
1022 if (tcph->syn && !tcph->ack && cur_stream->state <= TCP_ST_SYN_SENT) { in UpdatePassiveSendTCPContext()
1024 cur_stream->id, TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1025 UpdatePassiveSendTCPContext_SynSent(cur_stream, pctx); in UpdatePassiveSendTCPContext()
1026 AddtoTimeoutList(mtcp, cur_stream); in UpdatePassiveSendTCPContext()
1031 cur_stream->sndvar->ts_lastack_sent = pctx->p.cur_ts; in UpdatePassiveSendTCPContext()
1032 cur_stream->last_active_ts = pctx->p.cur_ts; in UpdatePassiveSendTCPContext()
1035 cur_stream->snd_nxt = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext()
1039 cur_stream->have_reset = TRUE; in UpdatePassiveSendTCPContext()
1041 cur_stream->state = TCP_ST_CLOSED_RSVD; in UpdatePassiveSendTCPContext()
1042 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext()
1044 cur_stream->id, in UpdatePassiveSendTCPContext()
1045 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1053 switch (cur_stream->state) { in UpdatePassiveSendTCPContext()
1058 if (tcph->ack && TCP_SEQ_GT(pctx->p.seq, cur_stream->sndvar->iss)) { in UpdatePassiveSendTCPContext()
1059 cur_stream->state = TCP_ST_ESTABLISHED; in UpdatePassiveSendTCPContext()
1060 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext()
1061 cur_stream->snd_nxt = pctx->p.seq; in UpdatePassiveSendTCPContext()
1062 cur_stream->rcv_nxt = pctx->p.ack_seq; in UpdatePassiveSendTCPContext()
1072 cur_stream->sndvar->iss = pctx->p.seq; in UpdatePassiveSendTCPContext()
1073 cur_stream->snd_nxt = cur_stream->sndvar->iss + 1; in UpdatePassiveSendTCPContext()
1076 cur_stream->id, pctx->p.seq); in UpdatePassiveSendTCPContext()
1080 cur_stream->state = TCP_ST_ESTABLISHED; in UpdatePassiveSendTCPContext()
1081 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext()
1082 cur_stream->snd_nxt = pctx->p.seq; in UpdatePassiveSendTCPContext()
1083 cur_stream->rcv_nxt = pctx->p.ack_seq; in UpdatePassiveSendTCPContext()
1088 cur_stream->id, in UpdatePassiveSendTCPContext()
1089 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1097 if (tcph->ack && TCP_SEQ_GT(ntohl(tcph->ack_seq), cur_stream->rcv_nxt)) in UpdatePassiveSendTCPContext()
1099 RAISE_DEBUG_EVENT(mtcp, cur_stream, in UpdatePassiveSendTCPContext()
1101 cur_stream->rcv_nxt, ntohl(tcph->ack_seq)); in UpdatePassiveSendTCPContext()
1102 cur_stream->rcv_nxt = ntohl(tcph->ack_seq); in UpdatePassiveSendTCPContext()
1106 cur_stream->state = TCP_ST_FIN_WAIT_1; in UpdatePassiveSendTCPContext()
1107 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext()
1108 cur_stream->sndvar->fss = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext()
1109 cur_stream->sndvar->is_fin_sent = TRUE; in UpdatePassiveSendTCPContext()
1110 cur_stream->snd_nxt++; in UpdatePassiveSendTCPContext()
1112 cur_stream->id, in UpdatePassiveSendTCPContext()
1113 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1122 if (tcph->ack && TCP_SEQ_GT(ntohl(tcph->ack_seq), cur_stream->rcv_nxt)) in UpdatePassiveSendTCPContext()
1124 RAISE_DEBUG_EVENT(mtcp, cur_stream, in UpdatePassiveSendTCPContext()
1126 cur_stream->rcv_nxt, ntohl(tcph->ack_seq)); in UpdatePassiveSendTCPContext()
1127 cur_stream->rcv_nxt = ntohl(tcph->ack_seq); in UpdatePassiveSendTCPContext()
1131 cur_stream->sndvar->fss = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext()
1132 cur_stream->sndvar->is_fin_sent = TRUE; in UpdatePassiveSendTCPContext()
1133 cur_stream->snd_nxt++; in UpdatePassiveSendTCPContext()
1136 if ((tcph->ack) && (ntohl(tcph->ack_seq) == cur_stream->rcv_nxt)) in UpdatePassiveSendTCPContext()
1137 cur_stream->state = TCP_ST_LAST_ACK; in UpdatePassiveSendTCPContext()
1139 cur_stream->state = TCP_ST_CLOSING; in UpdatePassiveSendTCPContext()
1141 cur_stream->cb_events |= MOS_ON_TCP_STATE_CHANGE; in UpdatePassiveSendTCPContext()
1143 cur_stream->id, in UpdatePassiveSendTCPContext()
1144 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1147 cur_stream->id, in UpdatePassiveSendTCPContext()
1148 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1172 cur_stream->id, in UpdatePassiveSendTCPContext()
1173 TCPStateToString(cur_stream)); in UpdatePassiveSendTCPContext()
1183 TCPStateToString(cur_stream), pctx->p.tcph->syn, in UpdatePassiveSendTCPContext()