Lines Matching defs:transport

205 	/* Make an empty list of remote transport addresses.  */
316 struct sctp_transport *transport;
374 /* Release the transport structures. */
376 transport = list_entry(pos, struct sctp_transport, transports);
378 sctp_unhash_transport(transport);
379 sctp_transport_free(transport);
423 struct sctp_transport *transport)
431 asoc->peer.primary_path != transport)
434 asoc->peer.primary_path = transport;
435 sctp_ulpevent_notify_peer_addr_change(transport,
439 memcpy(&asoc->peer.primary_addr, &transport->ipaddr,
445 if ((transport->state == SCTP_ACTIVE) ||
446 (transport->state == SCTP_UNKNOWN))
447 asoc->peer.active_path = transport;
466 if (transport->cacc.changeover_active)
467 transport->cacc.cycling_changeover = changeover;
472 transport->cacc.changeover_active = changeover;
477 transport->cacc.next_tsn_at_change = asoc->next_tsn;
480 /* Remove a transport from an association. */
484 struct sctp_transport *transport;
499 /* Remove this peer from the transport hashtable */
502 /* Get the first transport of asoc. */
504 transport = list_entry(pos, struct sctp_transport, transports);
508 sctp_assoc_set_primary(asoc, transport);
510 asoc->peer.active_path = transport;
512 asoc->peer.retran_path = transport;
514 asoc->peer.last_data_from = transport;
517 asoc->strreset_chunk->transport == peer) {
518 asoc->strreset_chunk->transport = transport;
519 sctp_transport_reset_reconf_timer(transport);
522 /* If we remove the transport an INIT was last sent to, set it to
525 * transport, maintaining the cycle.
530 /* If we remove the transport an SHUTDOWN was last sent to, set it
533 * transport, maintaining the cycle.
538 /* If we remove the transport an ASCONF was last sent to, set it to
542 asoc->addip_last_asconf->transport == peer)
543 asoc->addip_last_asconf->transport = NULL;
551 /* Reset the transport of each chunk on this list */
554 ch->transport = NULL;
572 if (ch->transport == peer)
573 ch->transport = NULL;
581 /* Add a transport address to an association. */
661 /* Initialize the pmtu of the transport. */
664 /* If this is the first transport addr on this association,
703 /* Set the transport's RTO.initial value */
710 /* Add this peer into the transport hashtable */
718 /* Attach the remote transport to our asoc. */
738 /* Delete a transport address from an association. */
744 struct sctp_transport *transport;
747 transport = list_entry(pos, struct sctp_transport, transports);
748 if (sctp_cmp_addr_exact(addr, &transport->ipaddr)) {
750 sctp_assoc_rm_peer(asoc, transport);
756 /* Lookup a transport by address. */
783 /* if the current transport is not the primary one, delete it */
789 /* Engage in transport control operations.
790 * Mark the transport up or down and send a notification to the user.
794 struct sctp_transport *transport,
801 /* Record the transition on the transport. */
808 if (transport->state == SCTP_PF &&
811 else if (transport->state == SCTP_UNCONFIRMED &&
815 transport->state = SCTP_ACTIVE;
816 sctp_transport_pl_reset(transport);
820 /* If the transport was never confirmed, do not transition it
824 if (transport->state != SCTP_UNCONFIRMED) {
825 transport->state = SCTP_INACTIVE;
826 sctp_transport_pl_reset(transport);
829 sctp_transport_dst_release(transport);
835 transport->state = SCTP_PF;
850 sctp_ulpevent_notify_peer_addr_change(transport,
920 * Find which transport this TSN was sent on.
927 struct sctp_transport *transport;
939 * The general strategy is to search each transport's transmitted
940 * list. Return which transport this TSN lives on.
960 list_for_each_entry(transport, &asoc->peer.transport_addr_list,
963 if (transport == active)
965 list_for_each_entry(chunk, &transport->transmitted,
968 match = transport;
1039 asoc->peer.last_data_from = chunk->transport;
1047 if (chunk->transport)
1048 chunk->transport->last_time_heard = ktime_get();
1201 * inactive destination transport address, before reporting
1203 * the data to an alternate active destination transport
1220 * transport with state SCTP_ACTIVE exists, round-robin through
1262 /* First, try a score-based selection if both transport states
1324 /* Keep track of the best PF transport from our
1348 * destination transport address (and possibly source transport
1350 * bump the most recently used transport.]
1366 /* If we failed to find a usable transport, just camp on the
1423 * transports. This routine is called when a transport's PMTU has changed.