Lines Matching refs:mtcp
138 mtcp_manager_t mtcp = ctx->mtcp_manager; in AttachDevice() local
140 if (mtcp->iom->link_devices) in AttachDevice()
141 working = mtcp->iom->link_devices(ctx); in AttachDevice()
185 PrintThreadNetworkStats(mtcp_manager_t mtcp, struct net_stat *ns) in PrintThreadNetworkStats() argument
190 ns->rx_packets[i] = mtcp->nstat.rx_packets[i] - mtcp->p_nstat.rx_packets[i]; in PrintThreadNetworkStats()
191 ns->rx_errors[i] = mtcp->nstat.rx_errors[i] - mtcp->p_nstat.rx_errors[i]; in PrintThreadNetworkStats()
192 ns->rx_bytes[i] = mtcp->nstat.rx_bytes[i] - mtcp->p_nstat.rx_bytes[i]; in PrintThreadNetworkStats()
193 ns->tx_packets[i] = mtcp->nstat.tx_packets[i] - mtcp->p_nstat.tx_packets[i]; in PrintThreadNetworkStats()
194 ns->tx_drops[i] = mtcp->nstat.tx_drops[i] - mtcp->p_nstat.tx_drops[i]; in PrintThreadNetworkStats()
195 ns->tx_bytes[i] = mtcp->nstat.tx_bytes[i] - mtcp->p_nstat.tx_bytes[i]; in PrintThreadNetworkStats()
201 mtcp->ctx->cpu, in PrintThreadNetworkStats()
203 (unsigned)mtcp->flow_cnt, in PrintThreadNetworkStats()
212 mtcp->p_nstat = mtcp->nstat; in PrintThreadNetworkStats()
218 PrintThreadRoundStats(mtcp_manager_t mtcp, struct run_stat *rs) in PrintThreadRoundStats() argument
221 rs->rounds = mtcp->runstat.rounds - mtcp->p_runstat.rounds; in PrintThreadRoundStats()
222 rs->rounds_rx = mtcp->runstat.rounds_rx - mtcp->p_runstat.rounds_rx; in PrintThreadRoundStats()
223 rs->rounds_rx_try = mtcp->runstat.rounds_rx_try - mtcp->p_runstat.rounds_rx_try; in PrintThreadRoundStats()
224 rs->rounds_tx = mtcp->runstat.rounds_tx - mtcp->p_runstat.rounds_tx; in PrintThreadRoundStats()
225 rs->rounds_tx_try = mtcp->runstat.rounds_tx_try - mtcp->p_runstat.rounds_tx_try; in PrintThreadRoundStats()
226 rs->rounds_select = mtcp->runstat.rounds_select - mtcp->p_runstat.rounds_select; in PrintThreadRoundStats()
227 rs->rounds_select_rx = mtcp->runstat.rounds_select_rx - mtcp->p_runstat.rounds_select_rx; in PrintThreadRoundStats()
228 rs->rounds_select_tx = mtcp->runstat.rounds_select_tx - mtcp->p_runstat.rounds_select_tx; in PrintThreadRoundStats()
229 rs->rounds_select_intr = mtcp->runstat.rounds_select_intr - mtcp->p_runstat.rounds_select_intr; in PrintThreadRoundStats()
230 rs->rounds_twcheck = mtcp->runstat.rounds_twcheck - mtcp->p_runstat.rounds_twcheck; in PrintThreadRoundStats()
231 mtcp->p_runstat = mtcp->runstat; in PrintThreadRoundStats()
236 mtcp->ctx->cpu, rs->rounds / ROUND_DIV, in PrintThreadRoundStats()
247 PrintThreadRoundTime(mtcp_manager_t mtcp) in PrintThreadRoundTime() argument
253 "select: (%4luus, %4luus)\n", mtcp->ctx->cpu, in PrintThreadRoundTime()
254 GetAverageStat(&mtcp->rtstat.round), mtcp->rtstat.round.max, in PrintThreadRoundTime()
255 GetAverageStat(&mtcp->rtstat.processing), mtcp->rtstat.processing.max, in PrintThreadRoundTime()
256 GetAverageStat(&mtcp->rtstat.tcheck), mtcp->rtstat.tcheck.max, in PrintThreadRoundTime()
257 GetAverageStat(&mtcp->rtstat.epoll), mtcp->rtstat.epoll.max, in PrintThreadRoundTime()
258 GetAverageStat(&mtcp->rtstat.handle), mtcp->rtstat.handle.max, in PrintThreadRoundTime()
259 GetAverageStat(&mtcp->rtstat.xmit), mtcp->rtstat.xmit.max, in PrintThreadRoundTime()
260 GetAverageStat(&mtcp->rtstat.select), mtcp->rtstat.select.max); in PrintThreadRoundTime()
262 InitStatCounter(&mtcp->rtstat.round); in PrintThreadRoundTime()
263 InitStatCounter(&mtcp->rtstat.processing); in PrintThreadRoundTime()
264 InitStatCounter(&mtcp->rtstat.tcheck); in PrintThreadRoundTime()
265 InitStatCounter(&mtcp->rtstat.epoll); in PrintThreadRoundTime()
266 InitStatCounter(&mtcp->rtstat.handle); in PrintThreadRoundTime()
267 InitStatCounter(&mtcp->rtstat.xmit); in PrintThreadRoundTime()
268 InitStatCounter(&mtcp->rtstat.select); in PrintThreadRoundTime()
287 PrintNetworkStats(mtcp_manager_t mtcp, uint32_t cur_ts) in PrintNetworkStats() argument
311 if (TS_TO_MSEC(cur_ts - mtcp->p_nstat_ts) < SEC_TO_MSEC(TIMEOUT)) { in PrintNetworkStats()
315 mtcp->p_nstat_ts = cur_ts; in PrintNetworkStats()
423 FlushMonitorReadEvents(mtcp_manager_t mtcp) in FlushMonitorReadEvents() argument
430 TAILQ_FOREACH(walk, &mtcp->monitors, link) { in FlushMonitorReadEvents()
447 HandleCallback(mtcp, MOS_NULL, walk, in FlushMonitorReadEvents()
453 HandleCallback(mtcp, MOS_NULL, walk, in FlushMonitorReadEvents()
470 FlushBufferedReadEvents(mtcp_manager_t mtcp) in FlushBufferedReadEvents() argument
477 if (mtcp->ep == NULL) { in FlushBufferedReadEvents()
482 mtcpq = mtcp->ep->mtcp_queue; in FlushBufferedReadEvents()
489 cur_stream = mtcp->smap[mtcpq->events[offset++].sockid].stream; in FlushBufferedReadEvents()
500 HandleCallback(mtcp, MOS_NULL, walk, cur_stream->side, in FlushBufferedReadEvents()
505 HandleCallback(mtcp, MOS_NULL, walk, cur_stream->side, in FlushBufferedReadEvents()
517 FlushEpollEvents(mtcp_manager_t mtcp, uint32_t cur_ts) in FlushEpollEvents() argument
519 struct mtcp_epoll *ep = mtcp->ep; in FlushEpollEvents()
544 STAT_COUNT(mtcp->runstat.rounds_epoll); in FlushEpollEvents()
546 ep->usr_queue->num_events, cur_ts, mtcp->ts_last_event); in FlushEpollEvents()
547 mtcp->ts_last_event = cur_ts; in FlushEpollEvents()
555 HandleApplicationCalls(mtcp_manager_t mtcp, uint32_t cur_ts) in HandleApplicationCalls() argument
563 while ((stream = StreamDequeue(mtcp->connectq))) { in HandleApplicationCalls()
576 AddtoControlList(mtcp, stream, cur_ts); in HandleApplicationCalls()
580 while ((stream = StreamDequeue(mtcp->sendq))) { in HandleApplicationCalls()
582 AddtoSendList(mtcp, stream); in HandleApplicationCalls()
586 while ((stream = StreamDequeue(mtcp->ackq))) { in HandleApplicationCalls()
588 EnqueueACK(mtcp, stream, cur_ts, ACK_OPT_AGGREGATE); in HandleApplicationCalls()
594 while ((stream = StreamDequeue(mtcp->closeq))) { in HandleApplicationCalls()
605 RemoveFromTimeoutList(mtcp, stream); in HandleApplicationCalls()
614 DestroyTCPStream(mtcp, stream); in HandleApplicationCalls()
621 StreamInternalEnqueue(mtcp->closeq_int, stream); in HandleApplicationCalls()
658 AddtoControlList(mtcp, stream, cur_ts); in HandleApplicationCalls()
666 max_cnt = mtcp->closeq_int->count; in HandleApplicationCalls()
668 stream = StreamInternalDequeue(mtcp->closeq_int); in HandleApplicationCalls()
671 StreamInternalEnqueue(mtcp->closeq_int, stream); in HandleApplicationCalls()
686 AddtoControlList(mtcp, stream, cur_ts); in HandleApplicationCalls()
694 while ((stream = StreamDequeue(mtcp->resetq))) { in HandleApplicationCalls()
698 RemoveFromTimeoutList(mtcp, stream); in HandleApplicationCalls()
706 DestroyTCPStream(mtcp, stream); in HandleApplicationCalls()
715 StreamInternalEnqueue(mtcp->resetq_int, stream); in HandleApplicationCalls()
723 AddtoControlList(mtcp, stream, cur_ts); in HandleApplicationCalls()
732 max_cnt = mtcp->resetq_int->count; in HandleApplicationCalls()
734 stream = StreamInternalDequeue(mtcp->resetq_int); in HandleApplicationCalls()
739 StreamInternalEnqueue(mtcp->resetq_int, stream); in HandleApplicationCalls()
749 AddtoControlList(mtcp, stream, cur_ts); in HandleApplicationCalls()
757 while ((stream = StreamDequeue(mtcp->destroyq))) { in HandleApplicationCalls()
758 DestroyTCPStream(mtcp, stream); in HandleApplicationCalls()
761 mtcp->wakeup_flag = FALSE; in HandleApplicationCalls()
765 WritePacketsToChunks(mtcp_manager_t mtcp, uint32_t cur_ts) in WritePacketsToChunks() argument
772 assert(mtcp->g_sender != NULL); in WritePacketsToChunks()
773 if (mtcp->g_sender->control_list_cnt) in WritePacketsToChunks()
774 WriteTCPControlList(mtcp, mtcp->g_sender, cur_ts, thresh); in WritePacketsToChunks()
775 if (mtcp->g_sender->ack_list_cnt) in WritePacketsToChunks()
776 WriteTCPACKList(mtcp, mtcp->g_sender, cur_ts, thresh); in WritePacketsToChunks()
777 if (mtcp->g_sender->send_list_cnt) in WritePacketsToChunks()
778 WriteTCPDataList(mtcp, mtcp->g_sender, cur_ts, thresh); in WritePacketsToChunks()
781 assert(mtcp->n_sender[i] != NULL); in WritePacketsToChunks()
782 if (mtcp->n_sender[i]->control_list_cnt) in WritePacketsToChunks()
783 WriteTCPControlList(mtcp, mtcp->n_sender[i], cur_ts, thresh); in WritePacketsToChunks()
784 if (mtcp->n_sender[i]->ack_list_cnt) in WritePacketsToChunks()
785 WriteTCPACKList(mtcp, mtcp->n_sender[i], cur_ts, thresh); in WritePacketsToChunks()
786 if (mtcp->n_sender[i]->send_list_cnt) in WritePacketsToChunks()
787 WriteTCPDataList(mtcp, mtcp->n_sender[i], cur_ts, thresh); in WritePacketsToChunks()
793 DestroyRemainingFlows(mtcp_manager_t mtcp) in DestroyRemainingFlows() argument
795 struct hashtable *ht = mtcp->tcp_flow_table; in DestroyRemainingFlows()
801 thread_printf(mtcp, mtcp->log_fp, in DestroyRemainingFlows()
802 "CPU %d: Flushing remaining flows.\n", mtcp->ctx->cpu); in DestroyRemainingFlows()
806 thread_printf(mtcp, mtcp->log_fp, in DestroyRemainingFlows()
807 "CPU %d: Destroying stream %d\n", mtcp->ctx->cpu, walk->id); in DestroyRemainingFlows()
809 DumpStream(mtcp, walk); in DestroyRemainingFlows()
811 DestroyTCPStream(mtcp, walk); in DestroyRemainingFlows()
821 InterruptApplication(mtcp_manager_t mtcp) in InterruptApplication() argument
824 if (mtcp->ep) { in InterruptApplication()
825 pthread_mutex_lock(&mtcp->ep->epoll_lock); in InterruptApplication()
826 if (mtcp->ep->waiting) { in InterruptApplication()
827 pthread_cond_signal(&mtcp->ep->epoll_cond); in InterruptApplication()
829 pthread_mutex_unlock(&mtcp->ep->epoll_lock); in InterruptApplication()
832 if (mtcp->listener) { in InterruptApplication()
833 if (mtcp->listener->socket) { in InterruptApplication()
834 pthread_mutex_lock(&mtcp->listener->accept_lock); in InterruptApplication()
835 if (!(mtcp->listener->socket->opts & MTCP_NONBLOCK)) { in InterruptApplication()
836 pthread_cond_signal(&mtcp->listener->accept_cond); in InterruptApplication()
838 pthread_mutex_unlock(&mtcp->listener->accept_lock); in InterruptApplication()
844 RunPassiveLoop(mtcp_manager_t mtcp) in RunPassiveLoop() argument
846 sem_wait(&g_done_sem[mtcp->ctx->cpu]); in RunPassiveLoop()
847 sem_destroy(&g_done_sem[mtcp->ctx->cpu]); in RunPassiveLoop()
854 mtcp_manager_t mtcp = ctx->mtcp_manager; in RunMainLoop() local
873 InitStatCounter(&mtcp->rtstat.round); in RunMainLoop()
874 InitStatCounter(&mtcp->rtstat.processing); in RunMainLoop()
875 InitStatCounter(&mtcp->rtstat.tcheck); in RunMainLoop()
876 InitStatCounter(&mtcp->rtstat.epoll); in RunMainLoop()
877 InitStatCounter(&mtcp->rtstat.handle); in RunMainLoop()
878 InitStatCounter(&mtcp->rtstat.xmit); in RunMainLoop()
879 InitStatCounter(&mtcp->rtstat.select); in RunMainLoop()
883 while ((!ctx->done || mtcp->flow_cnt) && !ctx->exit) { in RunMainLoop()
885 STAT_COUNT(mtcp->runstat.rounds); in RunMainLoop()
890 UpdateStatCounter(&mtcp->rtstat.round, TimeDiffUs(&cur_ts, &prev_ts)); in RunMainLoop()
895 mtcp->cur_ts = ts; in RunMainLoop()
899 recv_cnt = mtcp->iom->recv_pkts(ctx, rx_inf); in RunMainLoop()
900 STAT_COUNT(mtcp->runstat.rounds_rx_try); in RunMainLoop()
905 pktbuf = mtcp->iom->get_rptr(mtcp->ctx, rx_inf, i, &len); in RunMainLoop()
906 ProcessPacket(mtcp, rx_inf, i, ts, pktbuf, len); in RunMainLoop()
910 STAT_COUNT(mtcp->runstat.rounds_rx); in RunMainLoop()
914 UpdateStatCounter(&mtcp->rtstat.processing, in RunMainLoop()
920 for (walk = TAILQ_FIRST(&mtcp->timer_list); walk != NULL; walk = tmp) { in RunMainLoop()
927 DelTimer(mtcp, walk); in RunMainLoop()
931 if (mtcp->flow_cnt > 0) { in RunMainLoop()
935 thresh = (int)mtcp->flow_cnt / (TS_TO_USEC(PER_STREAM_TCHECK)); in RunMainLoop()
951 CheckRtmTimeout(mtcp, ts, thresh); in RunMainLoop()
952 CheckTimewaitExpire(mtcp, ts, thresh); in RunMainLoop()
955 CheckConnectionTimeout(mtcp, ts, thresh); in RunMainLoop()
961 UpdateStatCounter(&mtcp->rtstat.tcheck, in RunMainLoop()
964 if (mtcp->flow_cnt > 0) { in RunMainLoop()
973 if (mtcp->num_msp > 0) in RunMainLoop()
975 FlushMonitorReadEvents(mtcp); in RunMainLoop()
978 if (mtcp->ep) { in RunMainLoop()
979 FlushBufferedReadEvents(mtcp); in RunMainLoop()
980 FlushEpollEvents(mtcp, ts); in RunMainLoop()
984 UpdateStatCounter(&mtcp->rtstat.epoll, in RunMainLoop()
988 if (end_app_exists && mtcp->flow_cnt > 0) { in RunMainLoop()
990 HandleApplicationCalls(mtcp, ts); in RunMainLoop()
995 UpdateStatCounter(&mtcp->rtstat.handle, in RunMainLoop()
999 WritePacketsToChunks(mtcp, ts); in RunMainLoop()
1004 if (likely(mtcp->iom->send_pkts != NULL)) in RunMainLoop()
1006 mtcp->iom->send_pkts(ctx, tx_inf); in RunMainLoop()
1011 UpdateStatCounter(&mtcp->rtstat.xmit, in RunMainLoop()
1020 ARPTimer(mtcp, ts); in RunMainLoop()
1023 PrintNetworkStats(mtcp, ts); in RunMainLoop()
1029 if (mtcp->iom->select) in RunMainLoop()
1030 mtcp->iom->select(ctx); in RunMainLoop()
1033 InterruptApplication(mtcp); in RunMainLoop()
1038 DestroyRemainingFlows(mtcp); in RunMainLoop()
1043 flush_log_data(mtcp); in RunMainLoop()
1045 InterruptApplication(mtcp); in RunMainLoop()
1081 mtcp_manager_t mtcp; in InitializeMTCPManager() local
1087 mtcp = (mtcp_manager_t)calloc(1, sizeof(struct mtcp_manager)); in InitializeMTCPManager()
1088 if (!mtcp) { in InitializeMTCPManager()
1093 g_mtcp[ctx->cpu] = mtcp; in InitializeMTCPManager()
1095 mtcp->tcp_flow_table = CreateHashtable(); in InitializeMTCPManager()
1096 if (!mtcp->tcp_flow_table) { in InitializeMTCPManager()
1109 InitEvent(mtcp); in InitializeMTCPManager()
1111 InitEvent(mtcp, NUM_EV_TABLE); in InitializeMTCPManager()
1115 if (!(mtcp->bufseg_pool = MPCreate(sizeof(tcpbufseg_t), in InitializeMTCPManager()
1121 if (!(mtcp->sockent_pool = MPCreate(sizeof(struct sockent), in InitializeMTCPManager()
1127 if (!(mtcp->timer_pool = MPCreate(sizeof(struct timer), in InitializeMTCPManager()
1133 mtcp->flow_pool = MPCreate(sizeof(tcp_stream), in InitializeMTCPManager()
1135 if (!mtcp->flow_pool) { in InitializeMTCPManager()
1139 mtcp->rv_pool = MPCreate(sizeof(struct tcp_recv_vars), in InitializeMTCPManager()
1141 if (!mtcp->rv_pool) { in InitializeMTCPManager()
1145 mtcp->sv_pool = MPCreate(sizeof(struct tcp_send_vars), in InitializeMTCPManager()
1147 if (!mtcp->sv_pool) { in InitializeMTCPManager()
1152 mtcp->rbm_snd = SBManagerCreate(g_config.mos->wmem_size, g_config.mos->no_ring_buffers, in InitializeMTCPManager()
1154 if (!mtcp->rbm_snd) { in InitializeMTCPManager()
1159 mtcp->smap = (socket_map_t)calloc(g_config.mos->max_concurrency, sizeof(struct socket_map)); in InitializeMTCPManager()
1160 if (!mtcp->smap) { in InitializeMTCPManager()
1167 mtcp->msmap = (socket_map_t)calloc(g_config.mos->max_concurrency, sizeof(struct socket_map)); in InitializeMTCPManager()
1168 if (!mtcp->msmap) { in InitializeMTCPManager()
1175 mtcp->msmap[i].monitor_stream = calloc(1, sizeof(struct mon_stream)); in InitializeMTCPManager()
1176 if (!mtcp->msmap[i].monitor_stream) { in InitializeMTCPManager()
1184 TAILQ_INIT(&mtcp->timer_list); in InitializeMTCPManager()
1185 TAILQ_INIT(&mtcp->monitors); in InitializeMTCPManager()
1187 TAILQ_INIT(&mtcp->free_smap); in InitializeMTCPManager()
1189 mtcp->smap[i].id = i; in InitializeMTCPManager()
1190 mtcp->smap[i].socktype = MOS_SOCK_UNUSED; in InitializeMTCPManager()
1191 memset(&mtcp->smap[i].saddr, 0, sizeof(struct sockaddr_in)); in InitializeMTCPManager()
1192 mtcp->smap[i].stream = NULL; in InitializeMTCPManager()
1193 TAILQ_INSERT_TAIL(&mtcp->free_smap, &mtcp->smap[i], link); in InitializeMTCPManager()
1197 TAILQ_INIT(&mtcp->free_msmap); in InitializeMTCPManager()
1199 mtcp->msmap[i].id = i; in InitializeMTCPManager()
1200 mtcp->msmap[i].socktype = MOS_SOCK_UNUSED; in InitializeMTCPManager()
1201 memset(&mtcp->msmap[i].saddr, 0, sizeof(struct sockaddr_in)); in InitializeMTCPManager()
1202 TAILQ_INSERT_TAIL(&mtcp->free_msmap, &mtcp->msmap[i], link); in InitializeMTCPManager()
1206 mtcp->ctx = ctx; in InitializeMTCPManager()
1207 mtcp->ep = NULL; in InitializeMTCPManager()
1211 mtcp->log_fp = fopen(log_name, "w+"); in InitializeMTCPManager()
1212 if (!mtcp->log_fp) { in InitializeMTCPManager()
1217 mtcp->sp_fd = g_logctx[ctx->cpu]->pair_sp_fd; in InitializeMTCPManager()
1218 mtcp->logger = g_logctx[ctx->cpu]; in InitializeMTCPManager()
1220 mtcp->connectq = CreateStreamQueue(BACKLOG_SIZE); in InitializeMTCPManager()
1221 if (!mtcp->connectq) { in InitializeMTCPManager()
1225 mtcp->sendq = CreateStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1226 if (!mtcp->sendq) { in InitializeMTCPManager()
1230 mtcp->ackq = CreateStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1231 if (!mtcp->ackq) { in InitializeMTCPManager()
1235 mtcp->closeq = CreateStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1236 if (!mtcp->closeq) { in InitializeMTCPManager()
1240 mtcp->closeq_int = CreateInternalStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1241 if (!mtcp->closeq_int) { in InitializeMTCPManager()
1245 mtcp->resetq = CreateStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1246 if (!mtcp->resetq) { in InitializeMTCPManager()
1250 mtcp->resetq_int = CreateInternalStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1251 if (!mtcp->resetq_int) { in InitializeMTCPManager()
1255 mtcp->destroyq = CreateStreamQueue(g_config.mos->max_concurrency); in InitializeMTCPManager()
1256 if (!mtcp->destroyq) { in InitializeMTCPManager()
1261 mtcp->g_sender = CreateMTCPSender(-1); in InitializeMTCPManager()
1262 if (!mtcp->g_sender) { in InitializeMTCPManager()
1267 mtcp->n_sender[i] = CreateMTCPSender(i); in InitializeMTCPManager()
1268 if (!mtcp->n_sender[i]) { in InitializeMTCPManager()
1274 mtcp->rto_store = InitRTOHashstore(); in InitializeMTCPManager()
1275 TAILQ_INIT(&mtcp->timewait_list); in InitializeMTCPManager()
1276 TAILQ_INIT(&mtcp->timeout_list); in InitializeMTCPManager()
1278 return mtcp; in InitializeMTCPManager()
1287 struct mtcp_manager *mtcp; in MTCPRunThread() local
1303 mtcp = ctx->mtcp_manager = InitializeMTCPManager(ctx); in MTCPRunThread()
1304 if (!mtcp) { in MTCPRunThread()
1310 mtcp->iom = current_iomodule_func; in MTCPRunThread()
1313 if (mtcp->iom->init_handle) in MTCPRunThread()
1314 mtcp->iom->init_handle(ctx); in MTCPRunThread()
1488 struct mtcp_manager *mtcp = ctx->mtcp_manager; in mtcp_free_context() local
1489 struct log_thread_context *log_ctx = mtcp->logger; in mtcp_free_context()
1499 if (mtcp->smap[i].socktype == MOS_SOCK_STREAM) { in mtcp_free_context()
1501 i, TCPStateToString(mtcp->smap[i].stream)); in mtcp_free_context()
1503 DumpStream(mtcp, mtcp->smap[i].stream); in mtcp_free_context()
1554 fclose(mtcp->log_fp); in mtcp_free_context()
1557 if (mtcp->connectq) { in mtcp_free_context()
1558 DestroyStreamQueue(mtcp->connectq); in mtcp_free_context()
1559 mtcp->connectq = NULL; in mtcp_free_context()
1561 if (mtcp->sendq) { in mtcp_free_context()
1562 DestroyStreamQueue(mtcp->sendq); in mtcp_free_context()
1563 mtcp->sendq = NULL; in mtcp_free_context()
1565 if (mtcp->ackq) { in mtcp_free_context()
1566 DestroyStreamQueue(mtcp->ackq); in mtcp_free_context()
1567 mtcp->ackq = NULL; in mtcp_free_context()
1569 if (mtcp->closeq) { in mtcp_free_context()
1570 DestroyStreamQueue(mtcp->closeq); in mtcp_free_context()
1571 mtcp->closeq = NULL; in mtcp_free_context()
1573 if (mtcp->closeq_int) { in mtcp_free_context()
1574 DestroyInternalStreamQueue(mtcp->closeq_int); in mtcp_free_context()
1575 mtcp->closeq_int = NULL; in mtcp_free_context()
1577 if (mtcp->resetq) { in mtcp_free_context()
1578 DestroyStreamQueue(mtcp->resetq); in mtcp_free_context()
1579 mtcp->resetq = NULL; in mtcp_free_context()
1581 if (mtcp->resetq_int) { in mtcp_free_context()
1582 DestroyInternalStreamQueue(mtcp->resetq_int); in mtcp_free_context()
1583 mtcp->resetq_int = NULL; in mtcp_free_context()
1585 if (mtcp->destroyq) { in mtcp_free_context()
1586 DestroyStreamQueue(mtcp->destroyq); in mtcp_free_context()
1587 mtcp->destroyq = NULL; in mtcp_free_context()
1590 DestroyMTCPSender(mtcp->g_sender); in mtcp_free_context()
1592 DestroyMTCPSender(mtcp->n_sender[i]); in mtcp_free_context()
1595 MPDestroy(mtcp->rv_pool); in mtcp_free_context()
1596 MPDestroy(mtcp->sv_pool); in mtcp_free_context()
1597 MPDestroy(mtcp->flow_pool); in mtcp_free_context()
1599 if (mtcp->ap) { in mtcp_free_context()
1600 DestroyAddressPool(mtcp->ap); in mtcp_free_context()
1601 mtcp->ap = NULL; in mtcp_free_context()
1612 if (mtcp->iom->destroy_handle) in mtcp_free_context()
1613 mtcp->iom->destroy_handle(ctx); in mtcp_free_context()