Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40187886 authored by Vlad Yasevich's avatar Vlad Yasevich
Browse files

sctp: release cached route when the transport goes down.



When the sctp transport is marked down, we can release the
cached route and force a new lookup when attempting to use
this transport for anything.  This way, if a better route
or source address is available, we'll try to use it.

Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
parent 3cd9749c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -810,11 +810,16 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
		break;

	case SCTP_TRANSPORT_DOWN:
		/* if the transort was never confirmed, do not transition it
		 * to inactive state.
		/* If the transport was never confirmed, do not transition it
		 * to inactive state.  Also, release the cached route since
		 * there may be a better route next time.
		 */
		if (transport->state != SCTP_UNCONFIRMED)
			transport->state = SCTP_INACTIVE;
		else {
			dst_release(transport->dst);
			transport->dst = NULL;
		}

		spc_state = SCTP_ADDR_UNREACHABLE;
		break;