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()
377 struct sctp_transport *transport, in sctp_retransmit_mark() argument
384 list_for_each_safe(lchunk, ltemp, &transport->transmitted) { in sctp_retransmit_mark()
399 if (chunk->transport) in sctp_retransmit_mark()
400 chunk->transport->flight_size -= in sctp_retransmit_mark()
425 if (chunk->transport) in sctp_retransmit_mark()
426 transport->flight_size -= sctp_data_size(chunk); in sctp_retransmit_mark()
443 transport->rto_pending = 0; in sctp_retransmit_mark()
457 "flight_size:%d, pba:%d\n", __func__, transport, reason, in sctp_retransmit_mark()
458 transport->cwnd, transport->ssthresh, transport->flight_size, in sctp_retransmit_mark()
459 transport->partial_bytes_acked); in sctp_retransmit_mark()
465 void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport, in sctp_retransmit() argument
474 sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_T3_RTX); in sctp_retransmit()
478 if (transport == transport->asoc->peer.retran_path) in sctp_retransmit()
479 sctp_assoc_update_retran_path(transport->asoc); in sctp_retransmit()
480 transport->asoc->rtx_data_chunks += in sctp_retransmit()
481 transport->asoc->unack_data; in sctp_retransmit()
485 sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_FAST_RTX); in sctp_retransmit()
493 transport->asoc->init_retries++; in sctp_retransmit()
499 sctp_retransmit_mark(q, transport, reason); in sctp_retransmit()
531 struct sctp_transport *transport = pkt->transport; in sctp_outq_flush_rtx() local
581 &transport->transmitted); in sctp_outq_flush_rtx()
646 &transport->transmitted); in sctp_outq_flush_rtx()
714 struct sctp_transport *transport = NULL; in sctp_outq_flush() local
753 new_transport = chunk->transport; in sctp_outq_flush()
766 if (transport && in sctp_outq_flush()
768 &transport->ipaddr)) in sctp_outq_flush()
769 new_transport = transport; in sctp_outq_flush()
804 if (new_transport != transport) { in sctp_outq_flush()
805 transport = new_transport; in sctp_outq_flush()
806 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
807 list_add_tail(&transport->send_ready, in sctp_outq_flush()
810 packet = &transport->packet; in sctp_outq_flush()
825 sctp_packet_init(&singleton, transport, sport, dport); in sctp_outq_flush()
870 sctp_transport_reset_timers(transport); in sctp_outq_flush()
908 if (transport == asoc->peer.retran_path) in sctp_outq_flush()
913 transport = asoc->peer.retran_path; in sctp_outq_flush()
915 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
916 list_add_tail(&transport->send_ready, in sctp_outq_flush()
920 packet = &transport->packet; in sctp_outq_flush()
928 sctp_transport_reset_timers(transport); in sctp_outq_flush()
948 if (transport) in sctp_outq_flush()
949 sctp_transport_burst_limited(transport); in sctp_outq_flush()
975 new_transport = chunk->transport; in sctp_outq_flush()
985 if (new_transport != transport) { in sctp_outq_flush()
986 transport = new_transport; in sctp_outq_flush()
991 if (list_empty(&transport->send_ready)) { in sctp_outq_flush()
992 list_add_tail(&transport->send_ready, in sctp_outq_flush()
996 packet = &transport->packet; in sctp_outq_flush()
1002 sctp_transport_burst_limited(transport); in sctp_outq_flush()
1059 &transport->transmitted); in sctp_outq_flush()
1061 sctp_transport_reset_timers(transport); in sctp_outq_flush()
1128 struct sctp_transport *transport; in sctp_outq_sack() local
1174 list_for_each_entry(transport, transport_list, in sctp_outq_sack()
1177 transport->cacc.cycling_changeover = 0; in sctp_outq_sack()
1179 transport->cacc.cacc_saw_newack = 0; in sctp_outq_sack()
1204 list_for_each_entry(transport, transport_list, transports) { in sctp_outq_sack()
1205 sctp_check_transmitted(q, &transport->transmitted, in sctp_outq_sack()
1206 transport, &chunk->source, sack, in sctp_outq_sack()
1213 if (transport->cacc.cacc_saw_newack) in sctp_outq_sack()
1228 list_for_each_entry(transport, transport_list, transports) in sctp_outq_sack()
1229 sctp_mark_missing(q, &transport->transmitted, transport, in sctp_outq_sack()
1301 struct sctp_transport *transport, in sctp_check_transmitted() argument
1334 if (tchunk->transport) in sctp_check_transmitted()
1335 tchunk->transport->flight_size -= in sctp_check_transmitted()
1349 if (transport) { in sctp_check_transmitted()
1366 sctp_transport_update_rto(transport, in sctp_check_transmitted()
1382 if (!tchunk->transport) in sctp_check_transmitted()
1414 if (transport && in sctp_check_transmitted()
1418 transport->cacc.cacc_saw_newack in sctp_check_transmitted()
1449 if (tchunk->transport) in sctp_check_transmitted()
1468 if (transport) { in sctp_check_transmitted()
1470 struct sctp_association *asoc = transport->asoc; in sctp_check_transmitted()
1487 transport->error_count = 0; in sctp_check_transmitted()
1488 transport->asoc->overall_error_count = 0; in sctp_check_transmitted()
1505 if ((transport->state == SCTP_INACTIVE || in sctp_check_transmitted()
1506 transport->state == SCTP_UNCONFIRMED) && in sctp_check_transmitted()
1507 sctp_cmp_addr_exact(&transport->ipaddr, saddr)) { in sctp_check_transmitted()
1509 transport->asoc, in sctp_check_transmitted()
1510 transport, in sctp_check_transmitted()
1515 sctp_transport_raise_cwnd(transport, sack_ctsn, in sctp_check_transmitted()
1518 transport->flight_size -= bytes_acked; in sctp_check_transmitted()
1519 if (transport->flight_size == 0) in sctp_check_transmitted()
1520 transport->partial_bytes_acked = 0; in sctp_check_transmitted()
1545 transport->error_count = 0; in sctp_check_transmitted()
1555 if (!transport->flight_size) { in sctp_check_transmitted()
1556 if (del_timer(&transport->T3_rtx_timer)) in sctp_check_transmitted()
1557 sctp_transport_put(transport); in sctp_check_transmitted()
1559 if (!mod_timer(&transport->T3_rtx_timer, in sctp_check_transmitted()
1560 jiffies + transport->rto)) in sctp_check_transmitted()
1561 sctp_transport_hold(transport); in sctp_check_transmitted()
1565 if (transport->dst) in sctp_check_transmitted()
1566 dst_confirm(transport->dst); in sctp_check_transmitted()
1576 struct sctp_transport *transport, in sctp_mark_missing() argument
1604 if (!transport || !sctp_cacc_skip(primary, in sctp_mark_missing()
1605 chunk->transport, in sctp_mark_missing()
1626 if (transport) { in sctp_mark_missing()
1628 sctp_retransmit(q, transport, SCTP_RTXR_FAST_RTX); in sctp_mark_missing()
1631 "flight_size:%d, pba:%d\n", __func__, transport, in sctp_mark_missing()
1632 transport->cwnd, transport->ssthresh, in sctp_mark_missing()
1633 transport->flight_size, transport->partial_bytes_acked); in sctp_mark_missing()