• Home
  • Raw
  • Download

Lines Matching full:transport

102 		struct sctp_transport *transport;  in sctp_do_ecn_ecne_work()  local
104 /* Find which transport's congestion variables in sctp_do_ecn_ecne_work()
107 transport = sctp_assoc_lookup_tsn(asoc, lowest_tsn); in sctp_do_ecn_ecne_work()
110 if (transport) in sctp_do_ecn_ecne_work()
111 sctp_transport_lower_cwnd(transport, in sctp_do_ecn_ecne_work()
179 * SACK delay for the last transport in sctp_gen_sack()
233 struct sctp_transport *transport = in sctp_generate_t3_rtx_event() local
234 from_timer(transport, t, T3_rtx_timer); in sctp_generate_t3_rtx_event()
235 struct sctp_association *asoc = transport->asoc; in sctp_generate_t3_rtx_event()
247 if (!mod_timer(&transport->T3_rtx_timer, jiffies + (HZ/20))) in sctp_generate_t3_rtx_event()
248 sctp_transport_hold(transport); in sctp_generate_t3_rtx_event()
257 transport, GFP_ATOMIC); in sctp_generate_t3_rtx_event()
264 sctp_transport_put(transport); in sctp_generate_t3_rtx_event()
360 * sure that the transport is still valid.
364 struct sctp_transport *transport = from_timer(transport, t, hb_timer); in sctp_generate_heartbeat_event() local
365 struct sctp_association *asoc = transport->asoc; in sctp_generate_heartbeat_event()
376 if (!mod_timer(&transport->hb_timer, jiffies + (HZ/20))) in sctp_generate_heartbeat_event()
377 sctp_transport_hold(transport); in sctp_generate_heartbeat_event()
382 elapsed = jiffies - transport->last_time_sent; in sctp_generate_heartbeat_event()
383 timeout = sctp_transport_timeout(transport); in sctp_generate_heartbeat_event()
386 if (!mod_timer(&transport->hb_timer, jiffies + elapsed)) in sctp_generate_heartbeat_event()
387 sctp_transport_hold(transport); in sctp_generate_heartbeat_event()
394 transport, GFP_ATOMIC); in sctp_generate_heartbeat_event()
401 sctp_transport_put(transport); in sctp_generate_heartbeat_event()
409 struct sctp_transport *transport = in sctp_generate_proto_unreach_event() local
410 from_timer(transport, t, proto_unreach_timer); in sctp_generate_proto_unreach_event()
411 struct sctp_association *asoc = transport->asoc; in sctp_generate_proto_unreach_event()
420 if (!mod_timer(&transport->proto_unreach_timer, in sctp_generate_proto_unreach_event()
422 sctp_transport_hold(transport); in sctp_generate_proto_unreach_event()
434 asoc->state, asoc->ep, asoc, transport, GFP_ATOMIC); in sctp_generate_proto_unreach_event()
438 sctp_transport_put(transport); in sctp_generate_proto_unreach_event()
444 struct sctp_transport *transport = in sctp_generate_reconf_event() local
445 from_timer(transport, t, reconf_timer); in sctp_generate_reconf_event()
446 struct sctp_association *asoc = transport->asoc; in sctp_generate_reconf_event()
456 if (!mod_timer(&transport->reconf_timer, jiffies + (HZ / 20))) in sctp_generate_reconf_event()
457 sctp_transport_hold(transport); in sctp_generate_reconf_event()
468 transport, GFP_ATOMIC); in sctp_generate_reconf_event()
475 sctp_transport_put(transport); in sctp_generate_reconf_event()
506 * error counter for each of the destination transport addresses of the
514 * mark the destination transport address as inactive, and a
520 struct sctp_transport *transport, in sctp_do_8_2_transport_strike() argument
535 if (transport->state != SCTP_INACTIVE) in sctp_do_8_2_transport_strike()
536 transport->error_count++; in sctp_do_8_2_transport_strike()
537 } else if (transport->hb_sent) { in sctp_do_8_2_transport_strike()
538 if (transport->state != SCTP_UNCONFIRMED) in sctp_do_8_2_transport_strike()
540 if (transport->state != SCTP_INACTIVE) in sctp_do_8_2_transport_strike()
541 transport->error_count++; in sctp_do_8_2_transport_strike()
544 /* If the transport error count is greater than the pf_retrans in sctp_do_8_2_transport_strike()
546 * is SCTP_ACTIVE, then mark this transport as Partially Failed, in sctp_do_8_2_transport_strike()
550 transport->state == SCTP_ACTIVE && in sctp_do_8_2_transport_strike()
551 transport->error_count < transport->pathmaxrxt && in sctp_do_8_2_transport_strike()
552 transport->error_count > transport->pf_retrans) { in sctp_do_8_2_transport_strike()
554 sctp_assoc_control_transport(asoc, transport, in sctp_do_8_2_transport_strike()
559 sctp_transport_reset_hb_timer(transport); in sctp_do_8_2_transport_strike()
562 if (transport->state != SCTP_INACTIVE && in sctp_do_8_2_transport_strike()
563 (transport->error_count > transport->pathmaxrxt)) { in sctp_do_8_2_transport_strike()
564 pr_debug("%s: association:%p transport addr:%pISpc failed\n", in sctp_do_8_2_transport_strike()
565 __func__, asoc, &transport->ipaddr.sa); in sctp_do_8_2_transport_strike()
567 sctp_assoc_control_transport(asoc, transport, in sctp_do_8_2_transport_strike()
572 if (transport->error_count > transport->ps_retrans && in sctp_do_8_2_transport_strike()
573 asoc->peer.primary_path == transport && in sctp_do_8_2_transport_strike()
574 asoc->peer.active_path != transport) in sctp_do_8_2_transport_strike()
586 if (!is_hb || transport->hb_sent) { in sctp_do_8_2_transport_strike()
587 transport->rto = min((transport->rto * 2), transport->asoc->rto_max); in sctp_do_8_2_transport_strike()
588 sctp_max_rto(asoc, transport); in sctp_do_8_2_transport_strike()
688 /* Start a heartbeat timer for each transport on the association. in sctp_cmd_hb_timers_start()
689 * hold a reference on the transport to make sure none of in sctp_cmd_hb_timers_start()
735 * transport address to which the HEARTBEAT was sent. in sctp_cmd_transport_on()
755 /* Mark the destination transport address as active if it is not so in sctp_cmd_transport_on()
775 * RTT measurement for that destination transport address in sctp_cmd_transport_on()
777 * If the transport's rto_pending variable has been cleared, in sctp_cmd_transport_on()
814 * the transport for a shutdown chunk.
822 if (chunk->transport) in sctp_cmd_setup_t2()
823 t = chunk->transport; in sctp_cmd_setup_t2()
827 chunk->transport = t; in sctp_cmd_setup_t2()
949 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport); in sctp_cmd_setup_t4()
951 chunk->transport = t; in sctp_cmd_setup_t4()
1407 if (new_obj->transport) { in sctp_cmd_interpreter()
1408 new_obj->transport->init_sent_count++; in sctp_cmd_interpreter()
1409 asoc->init_last_sent_to = new_obj->transport; in sctp_cmd_interpreter()
1487 /* Mark a transport for retransmission. */ in sctp_cmd_interpreter()
1488 sctp_retransmit(&asoc->outqueue, cmd->obj.transport, in sctp_cmd_interpreter()
1493 /* Mark a transport for retransmission. */ in sctp_cmd_interpreter()
1494 sctp_retransmit(&asoc->outqueue, cmd->obj.transport, in sctp_cmd_interpreter()
1564 chunk->transport = t; in sctp_cmd_interpreter()
1566 /* Set the new transport as primary */ in sctp_cmd_interpreter()
1642 /* Mark one strike against a transport. */ in sctp_cmd_interpreter()
1644 cmd->obj.transport, 0); in sctp_cmd_interpreter()
1648 t = cmd->obj.transport; in sctp_cmd_interpreter()
1653 t = cmd->obj.transport; in sctp_cmd_interpreter()
1660 t = cmd->obj.transport; in sctp_cmd_interpreter()
1669 t = cmd->obj.transport; in sctp_cmd_interpreter()
1706 t = cmd->obj.transport; in sctp_cmd_interpreter()