Lines Matching defs:transport

102 		struct sctp_transport *transport;
104 /* Find which transport's congestion variables
107 transport = sctp_assoc_lookup_tsn(asoc, lowest_tsn);
110 if (transport)
111 sctp_transport_lower_cwnd(transport,
179 * SACK delay for the last transport
233 struct sctp_transport *transport =
234 from_timer(transport, t, T3_rtx_timer);
235 struct sctp_association *asoc = transport->asoc;
247 if (!mod_timer(&transport->T3_rtx_timer, jiffies + (HZ/20)))
248 sctp_transport_hold(transport);
257 transport, GFP_ATOMIC);
264 sctp_transport_put(transport);
360 * sure that the transport is still valid.
364 struct sctp_transport *transport = from_timer(transport, t, hb_timer);
365 struct sctp_association *asoc = transport->asoc;
376 if (!mod_timer(&transport->hb_timer, jiffies + (HZ/20)))
377 sctp_transport_hold(transport);
382 elapsed = jiffies - transport->last_time_sent;
383 timeout = sctp_transport_timeout(transport);
386 if (!mod_timer(&transport->hb_timer, jiffies + elapsed))
387 sctp_transport_hold(transport);
394 transport, GFP_ATOMIC);
401 sctp_transport_put(transport);
409 struct sctp_transport *transport =
410 from_timer(transport, t, proto_unreach_timer);
411 struct sctp_association *asoc = transport->asoc;
420 if (!mod_timer(&transport->proto_unreach_timer,
422 sctp_transport_hold(transport);
434 asoc->state, asoc->ep, asoc, transport, GFP_ATOMIC);
438 sctp_transport_put(transport);
444 struct sctp_transport *transport =
445 from_timer(transport, t, reconf_timer);
446 struct sctp_association *asoc = transport->asoc;
456 if (!mod_timer(&transport->reconf_timer, jiffies + (HZ / 20)))
457 sctp_transport_hold(transport);
468 transport, GFP_ATOMIC);
475 sctp_transport_put(transport);
481 struct sctp_transport *transport = from_timer(transport, t, probe_timer);
482 struct sctp_association *asoc = transport->asoc;
492 if (!mod_timer(&transport->probe_timer, jiffies + (HZ / 20)))
493 sctp_transport_hold(transport);
500 transport, GFP_ATOMIC);
507 sctp_transport_put(transport);
538 * error counter for each of the destination transport addresses of the
546 * mark the destination transport address as inactive, and a
552 struct sctp_transport *transport,
567 if (transport->state != SCTP_INACTIVE)
568 transport->error_count++;
569 } else if (transport->hb_sent) {
570 if (transport->state != SCTP_UNCONFIRMED)
572 if (transport->state != SCTP_INACTIVE)
573 transport->error_count++;
576 /* If the transport error count is greater than the pf_retrans
578 * is SCTP_ACTIVE, then mark this transport as Partially Failed,
582 transport->state == SCTP_ACTIVE &&
583 transport->error_count < transport->pathmaxrxt &&
584 transport->error_count > transport->pf_retrans) {
586 sctp_assoc_control_transport(asoc, transport,
591 sctp_transport_reset_hb_timer(transport);
594 if (transport->state != SCTP_INACTIVE &&
595 (transport->error_count > transport->pathmaxrxt)) {
596 pr_debug("%s: association:%p transport addr:%pISpc failed\n",
597 __func__, asoc, &transport->ipaddr.sa);
599 sctp_assoc_control_transport(asoc, transport,
604 if (transport->error_count > transport->ps_retrans &&
605 asoc->peer.primary_path == transport &&
606 asoc->peer.active_path != transport)
618 if (!is_hb || transport->hb_sent) {
619 transport->rto = min((transport->rto * 2), transport->asoc->rto_max);
620 sctp_max_rto(asoc, transport);
720 /* Start a heartbeat timer for each transport on the association.
721 * hold a reference on the transport to make sure none of
767 * transport address to which the HEARTBEAT was sent.
787 /* Mark the destination transport address as active if it is not so
807 * RTT measurement for that destination transport address
809 * If the transport's rto_pending variable has been cleared,
846 * the transport for a shutdown chunk.
854 if (chunk->transport)
855 t = chunk->transport;
859 chunk->transport = t;
959 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport);
961 chunk->transport = t;
1412 if (new_obj->transport) {
1413 new_obj->transport->init_sent_count++;
1414 asoc->init_last_sent_to = new_obj->transport;
1492 /* Mark a transport for retransmission. */
1493 sctp_retransmit(&asoc->outqueue, cmd->obj.transport,
1498 /* Mark a transport for retransmission. */
1499 sctp_retransmit(&asoc->outqueue, cmd->obj.transport,
1569 chunk->transport = t;
1571 /* Set the new transport as primary */
1647 /* Mark one strike against a transport. */
1649 cmd->obj.transport, 0);
1653 t = cmd->obj.transport;
1658 t = cmd->obj.transport;
1665 t = cmd->obj.transport;
1674 t = cmd->obj.transport;
1683 t = cmd->obj.transport;
1716 t = cmd->obj.transport;