Lines Matching refs:sndvar

89 		mss = cur_stream->sndvar->mss;  in GenerateTCPOptions()
120 tcpopt[i++] = cur_stream->sndvar->wscale_mine; in GenerateTCPOptions()
259 if (payloadlen > cur_stream->sndvar->mss + optlen) { in SendTCPPacket()
276 if (cur_stream->snd_nxt != cur_stream->sndvar->iss) { in SendTCPPacket()
279 cur_stream->snd_nxt, cur_stream->sndvar->iss); 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()
305 tcph->seq = htonl(cur_stream->sndvar->fss); in SendTCPPacket()
306 cur_stream->sndvar->is_fin_sent = TRUE; in SendTCPPacket()
316 cur_stream->sndvar->ts_lastack_sent = cur_ts; in SendTCPPacket()
324 wscale = cur_stream->sndvar->wscale_mine; 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()
417 struct tcp_send_vars *sndvar = cur_stream->sndvar; in FlushTCPSendingBuffer() local
418 const uint32_t maxlen = sndvar->mss - CalculateOptionLength(TCP_FLAG_ACK); in FlushTCPSendingBuffer()
428 if (!sndvar->sndbuf) { in FlushTCPSendingBuffer()
434 SBUF_LOCK(&sndvar->write_lock); in FlushTCPSendingBuffer()
436 if (sndvar->sndbuf->len == 0) { in FlushTCPSendingBuffer()
441 window = MIN(sndvar->cwnd, sndvar->peer_wnd); in FlushTCPSendingBuffer()
446 if (TCP_SEQ_LT(seq, sndvar->sndbuf->head_seq)) { in FlushTCPSendingBuffer()
450 seq, sndvar->sndbuf->head_seq); in FlushTCPSendingBuffer()
454 buffered_len = sndvar->sndbuf->head_seq + sndvar->sndbuf->len - seq; in FlushTCPSendingBuffer()
457 "buffered_len: %u\n", sndvar->sndbuf->head_seq, in FlushTCPSendingBuffer()
458 sndvar->sndbuf->len, seq, buffered_len); in FlushTCPSendingBuffer()
463 data = sndvar->sndbuf->head + in FlushTCPSendingBuffer()
464 (seq - sndvar->sndbuf->head_seq); in FlushTCPSendingBuffer()
483 if (seq - sndvar->snd_una + len > window) { in FlushTCPSendingBuffer()
485 if (seq - sndvar->snd_una + len > sndvar->peer_wnd) { in FlushTCPSendingBuffer()
488 sndvar->peer_wnd, seq - sndvar->snd_una); in FlushTCPSendingBuffer()
489 if (!wack_sent && TS_TO_MSEC(cur_ts - sndvar->ts_lastack_sent) > 500) { in FlushTCPSendingBuffer()
510 SBUF_UNLOCK(&sndvar->write_lock); in FlushTCPSendingBuffer()
517 struct tcp_send_vars *sndvar = cur_stream->sndvar; in SendControlPacket() local
526 cur_stream->snd_nxt = sndvar->iss; in SendControlPacket()
538 if (sndvar->on_send_list || sndvar->on_ack_list) in SendControlPacket()
543 if (sndvar->is_fin_sent) { in SendControlPacket()
545 flag = (cur_stream->snd_nxt == sndvar->fss) ? in SendControlPacket()
555 if (sndvar->on_send_list || sndvar->on_ack_list) in SendControlPacket()
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()
603 cur_stream, sndvar->control_link); in WriteTCPControlList()
604 cur_stream->sndvar->on_control_list = TRUE; in WriteTCPControlList()
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()
649 if (cur_stream->sndvar->on_control_list) { 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()
689 if (!cur_stream->sndvar->on_ack_list) { in WriteTCPDataList()
730 next = TAILQ_NEXT(cur_stream, sndvar->ack_link); in WriteTCPACKList()
732 if (cur_stream->sndvar->on_ack_list) { in WriteTCPACKList()
756 cur_stream->sndvar->on_control_list); in WriteTCPACKList()
764 while (cur_stream->sndvar->ack_cnt > 0) { 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()
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()
799 if (!cur_stream->sndvar->on_send_list) { in WriteTCPACKList()
806 TAILQ_REMOVE(&sender->ack_list, cur_stream, sndvar->ack_link); in WriteTCPACKList()
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()
849 if (!cur_stream->sndvar->on_control_list) { 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()
876 if(!cur_stream->sndvar->sndbuf) { 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()
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()
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()
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()
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()
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()
977 TAILQ_FOREACH(stream, &sender->control_list, sndvar->control_link) { in DumpControlList()
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()
1031 cur_stream->sndvar->ts_lastack_sent = pctx->p.cur_ts; in UpdatePassiveSendTCPContext()
1058 if (tcph->ack && TCP_SEQ_GT(pctx->p.seq, cur_stream->sndvar->iss)) { in UpdatePassiveSendTCPContext()
1072 cur_stream->sndvar->iss = pctx->p.seq; in UpdatePassiveSendTCPContext()
1073 cur_stream->snd_nxt = cur_stream->sndvar->iss + 1; 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()
1131 cur_stream->sndvar->fss = pctx->p.seq + pctx->p.payloadlen; in UpdatePassiveSendTCPContext()
1132 cur_stream->sndvar->is_fin_sent = TRUE; in UpdatePassiveSendTCPContext()