Lines Matching refs:transport

58 				   struct sctp_transport *transport,
65 struct sctp_transport *transport,
110 struct sctp_transport *transport, in sctp_cacc_skip_3_1_d() argument
113 if (count_of_newacks >= 2 && transport != primary) in sctp_cacc_skip_3_1_d()
125 static inline int sctp_cacc_skip_3_1_f(struct sctp_transport *transport, in sctp_cacc_skip_3_1_f() argument
129 (transport && !transport->cacc.cacc_saw_newack)) in sctp_cacc_skip_3_1_f()
142 struct sctp_transport *transport, in sctp_cacc_skip_3_1() argument
146 if (sctp_cacc_skip_3_1_d(primary, transport, count_of_newacks)) in sctp_cacc_skip_3_1()
148 if (sctp_cacc_skip_3_1_f(transport, count_of_newacks)) in sctp_cacc_skip_3_1()
185 struct sctp_transport *transport, in sctp_cacc_skip() argument
190 (sctp_cacc_skip_3_1(primary, transport, count_of_newacks) || in sctp_cacc_skip()
216 struct sctp_transport *transport; in __sctp_outq_teardown() local
221 list_for_each_entry(transport, &q->asoc->peer.transport_addr_list, in __sctp_outq_teardown()
223 while ((lchunk = sctp_list_dequeue(&transport->transmitted)) != NULL) { in __sctp_outq_teardown()
376 struct sctp_transport *transport, in sctp_retransmit_mark() argument
383 list_for_each_safe(lchunk, ltemp, &transport->transmitted) { in sctp_retransmit_mark()
398 if (chunk->transport) in sctp_retransmit_mark()
399 chunk->transport->flight_size -= in sctp_retransmit_mark()
424 if (chunk->transport) in sctp_retransmit_mark()
425 transport->flight_size -= sctp_data_size(chunk); in sctp_retransmit_mark()
442 transport->rto_pending = 0; in sctp_retransmit_mark()
456 "flight_size:%d, pba:%d\n", __func__, transport, reason, in sctp_retransmit_mark()
457 transport->cwnd, transport->ssthresh, transport->flight_size, in sctp_retransmit_mark()
458 transport->partial_bytes_acked); in sctp_retransmit_mark()
464 void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport, in sctp_retransmit() argument
473 sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_T3_RTX); in sctp_retransmit()
477 if (transport == transport->asoc->peer.retran_path) in sctp_retransmit()
478 sctp_assoc_update_retran_path(transport->asoc); in sctp_retransmit()
479 transport->asoc->rtx_data_chunks += in sctp_retransmit()
480 transport->asoc->unack_data; in sctp_retransmit()
484 sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_FAST_RTX); in sctp_retransmit()
492 transport->asoc->init_retries++; in sctp_retransmit()
498 sctp_retransmit_mark(q, transport, reason); in sctp_retransmit()
530 struct sctp_transport *transport = pkt->transport; in sctp_outq_flush_rtx() local
580 &transport->transmitted); in sctp_outq_flush_rtx()
645 &transport->transmitted); in sctp_outq_flush_rtx()
713 struct sctp_transport *transport = NULL; in sctp_outq_flush() local
752 new_transport = chunk->transport; in sctp_outq_flush()
765 if (transport && in sctp_outq_flush()
767 &transport->ipaddr)) in sctp_outq_flush()
768 new_transport = transport; in sctp_outq_flush()
803 if (new_transport != transport) { in sctp_outq_flush()
804 transport = new_transport; in sctp_outq_flush()
805 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
806 list_add_tail(&transport->send_ready, in sctp_outq_flush()
809 packet = &transport->packet; in sctp_outq_flush()
824 sctp_packet_init(&singleton, transport, sport, dport); in sctp_outq_flush()
869 sctp_transport_reset_timers(transport); in sctp_outq_flush()
907 if (transport == asoc->peer.retran_path) in sctp_outq_flush()
912 transport = asoc->peer.retran_path; in sctp_outq_flush()
914 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
915 list_add_tail(&transport->send_ready, in sctp_outq_flush()
919 packet = &transport->packet; in sctp_outq_flush()
927 sctp_transport_reset_timers(transport); in sctp_outq_flush()
947 if (transport) in sctp_outq_flush()
948 sctp_transport_burst_limited(transport); in sctp_outq_flush()
974 new_transport = chunk->transport; in sctp_outq_flush()
984 if (new_transport != transport) { in sctp_outq_flush()
985 transport = new_transport; in sctp_outq_flush()
990 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
991 list_add_tail(&transport->send_ready, in sctp_outq_flush()
995 packet = &transport->packet; in sctp_outq_flush()
1001 sctp_transport_burst_limited(transport); in sctp_outq_flush()
1058 &transport->transmitted); in sctp_outq_flush()
1060 sctp_transport_reset_timers(transport); in sctp_outq_flush()
1127 struct sctp_transport *transport; in sctp_outq_sack() local
1173 list_for_each_entry(transport, transport_list, in sctp_outq_sack()
1176 transport->cacc.cycling_changeover = 0; in sctp_outq_sack()
1178 transport->cacc.cacc_saw_newack = 0; in sctp_outq_sack()
1203 list_for_each_entry(transport, transport_list, transports) { in sctp_outq_sack()
1204 sctp_check_transmitted(q, &transport->transmitted, in sctp_outq_sack()
1205 transport, &chunk->source, sack, in sctp_outq_sack()
1212 if (transport->cacc.cacc_saw_newack) in sctp_outq_sack()
1227 list_for_each_entry(transport, transport_list, transports) in sctp_outq_sack()
1228 sctp_mark_missing(q, &transport->transmitted, transport, in sctp_outq_sack()
1299 struct sctp_transport *transport, in sctp_check_transmitted() argument
1332 if (tchunk->transport) in sctp_check_transmitted()
1333 tchunk->transport->flight_size -= in sctp_check_transmitted()
1347 if (transport) { in sctp_check_transmitted()
1364 sctp_transport_update_rto(transport, in sctp_check_transmitted()
1380 if (!tchunk->transport) in sctp_check_transmitted()
1412 if (transport && in sctp_check_transmitted()
1416 transport->cacc.cacc_saw_newack in sctp_check_transmitted()
1447 if (tchunk->transport) in sctp_check_transmitted()
1466 if (transport) { in sctp_check_transmitted()
1468 struct sctp_association *asoc = transport->asoc; in sctp_check_transmitted()
1485 transport->error_count = 0; in sctp_check_transmitted()
1486 transport->asoc->overall_error_count = 0; in sctp_check_transmitted()
1503 if ((transport->state == SCTP_INACTIVE || in sctp_check_transmitted()
1504 transport->state == SCTP_UNCONFIRMED) && in sctp_check_transmitted()
1505 sctp_cmp_addr_exact(&transport->ipaddr, saddr)) { in sctp_check_transmitted()
1507 transport->asoc, in sctp_check_transmitted()
1508 transport, in sctp_check_transmitted()
1513 sctp_transport_raise_cwnd(transport, sack_ctsn, in sctp_check_transmitted()
1516 transport->flight_size -= bytes_acked; in sctp_check_transmitted()
1517 if (transport->flight_size == 0) in sctp_check_transmitted()
1518 transport->partial_bytes_acked = 0; in sctp_check_transmitted()
1543 transport->error_count = 0; in sctp_check_transmitted()
1553 if (!transport->flight_size) { in sctp_check_transmitted()
1554 if (del_timer(&transport->T3_rtx_timer)) in sctp_check_transmitted()
1555 sctp_transport_put(transport); in sctp_check_transmitted()
1557 if (!mod_timer(&transport->T3_rtx_timer, in sctp_check_transmitted()
1558 jiffies + transport->rto)) in sctp_check_transmitted()
1559 sctp_transport_hold(transport); in sctp_check_transmitted()
1563 if (transport->dst) in sctp_check_transmitted()
1564 dst_confirm(transport->dst); in sctp_check_transmitted()
1574 struct sctp_transport *transport, in sctp_mark_missing() argument
1602 if (!transport || !sctp_cacc_skip(primary, in sctp_mark_missing()
1603 chunk->transport, in sctp_mark_missing()
1624 if (transport) { in sctp_mark_missing()
1626 sctp_retransmit(q, transport, SCTP_RTXR_FAST_RTX); in sctp_mark_missing()
1629 "flight_size:%d, pba:%d\n", __func__, transport, in sctp_mark_missing()
1630 transport->cwnd, transport->ssthresh, in sctp_mark_missing()
1631 transport->flight_size, transport->partial_bytes_acked); in sctp_mark_missing()