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 timer_container_of(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);
364 * sure that the transport is still valid.
368 struct sctp_transport *transport = timer_container_of(transport, t,
370 struct sctp_association *asoc = transport->asoc;
381 if (!mod_timer(&transport->hb_timer, jiffies + (HZ/20)))
382 sctp_transport_hold(transport);
387 elapsed = jiffies - transport->last_time_sent;
388 timeout = sctp_transport_timeout(transport);
391 if (!mod_timer(&transport->hb_timer, jiffies + elapsed))
392 sctp_transport_hold(transport);
399 transport, GFP_ATOMIC);
406 sctp_transport_put(transport);
414 struct sctp_transport *transport =
415 timer_container_of(transport, t, proto_unreach_timer);
416 struct sctp_association *asoc = transport->asoc;
425 if (!mod_timer(&transport->proto_unreach_timer,
427 sctp_transport_hold(transport);
439 asoc->state, asoc->ep, asoc, transport, GFP_ATOMIC);
443 sctp_transport_put(transport);
449 struct sctp_transport *transport =
450 timer_container_of(transport, t, reconf_timer);
451 struct sctp_association *asoc = transport->asoc;
461 if (!mod_timer(&transport->reconf_timer, jiffies + (HZ / 20)))
462 sctp_transport_hold(transport);
473 transport, GFP_ATOMIC);
480 sctp_transport_put(transport);
486 struct sctp_transport *transport = timer_container_of(transport, t,
488 struct sctp_association *asoc = transport->asoc;
498 if (!mod_timer(&transport->probe_timer, jiffies + (HZ / 20)))
499 sctp_transport_hold(transport);
506 transport, GFP_ATOMIC);
513 sctp_transport_put(transport);
544 * error counter for each of the destination transport addresses of the
552 * mark the destination transport address as inactive, and a
558 struct sctp_transport *transport,
573 if (transport->state != SCTP_INACTIVE)
574 transport->error_count++;
575 } else if (transport->hb_sent) {
576 if (transport->state != SCTP_UNCONFIRMED)
578 if (transport->state != SCTP_INACTIVE)
579 transport->error_count++;
582 /* If the transport error count is greater than the pf_retrans
584 * is SCTP_ACTIVE, then mark this transport as Partially Failed,
588 transport->state == SCTP_ACTIVE &&
589 transport->error_count < transport->pathmaxrxt &&
590 transport->error_count > transport->pf_retrans) {
592 sctp_assoc_control_transport(asoc, transport,
597 sctp_transport_reset_hb_timer(transport);
600 if (transport->state != SCTP_INACTIVE &&
601 (transport->error_count > transport->pathmaxrxt)) {
602 pr_debug("%s: association:%p transport addr:%pISpc failed\n",
603 __func__, asoc, &transport->ipaddr.sa);
605 sctp_assoc_control_transport(asoc, transport,
610 if (transport->error_count > transport->ps_retrans &&
611 asoc->peer.primary_path == transport &&
612 asoc->peer.active_path != transport)
624 if (!is_hb || transport->hb_sent) {
625 transport->rto = min((transport->rto * 2), transport->asoc->rto_max);
626 sctp_max_rto(asoc, transport);
726 /* Start a heartbeat timer for each transport on the association.
727 * hold a reference on the transport to make sure none of
773 * transport address to which the HEARTBEAT was sent.
793 /* Mark the destination transport address as active if it is not so
813 * RTT measurement for that destination transport address
815 * If the transport's rto_pending variable has been cleared,
852 * the transport for a shutdown chunk.
860 if (chunk->transport)
861 t = chunk->transport;
865 chunk->transport = t;
965 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport);
967 chunk->transport = t;
1418 if (new_obj->transport) {
1419 new_obj->transport->init_sent_count++;
1420 asoc->init_last_sent_to = new_obj->transport;
1498 /* Mark a transport for retransmission. */
1499 sctp_retransmit(&asoc->outqueue, cmd->obj.transport,
1504 /* Mark a transport for retransmission. */
1505 sctp_retransmit(&asoc->outqueue, cmd->obj.transport,
1575 chunk->transport = t;
1577 /* Set the new transport as primary */
1653 /* Mark one strike against a transport. */
1655 cmd->obj.transport, 0);
1659 t = cmd->obj.transport;
1664 t = cmd->obj.transport;
1671 t = cmd->obj.transport;
1680 t = cmd->obj.transport;
1689 t = cmd->obj.transport;
1722 t = cmd->obj.transport;