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

Commit 1ae4114d authored by Vlad Yasevich's avatar Vlad Yasevich Committed by David S. Miller
Browse files

[SCTP]: Implement SCTP_ADDR_CONFIRMED state for ADDR_CHNAGE event

parent d49d91d7
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -265,6 +265,7 @@ enum sctp_spc_state {
	SCTP_ADDR_REMOVED,
	SCTP_ADDR_REMOVED,
	SCTP_ADDR_ADDED,
	SCTP_ADDR_ADDED,
	SCTP_ADDR_MADE_PRIM,
	SCTP_ADDR_MADE_PRIM,
	SCTP_ADDR_CONFIRMED,
};
};




+9 −1
Original line number Original line Diff line number Diff line
@@ -714,8 +714,16 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
	/* Record the transition on the transport.  */
	/* Record the transition on the transport.  */
	switch (command) {
	switch (command) {
	case SCTP_TRANSPORT_UP:
	case SCTP_TRANSPORT_UP:
		transport->state = SCTP_ACTIVE;
		/* If we are moving from UNCONFIRMED state due
		 * to heartbeat success, report the SCTP_ADDR_CONFIRMED
		 * state to the user, otherwise report SCTP_ADDR_AVAILABLE.
		 */
		if (SCTP_UNCONFIRMED == transport->state &&
		    SCTP_HEARTBEAT_SUCCESS == error)
			spc_state = SCTP_ADDR_CONFIRMED;
		else
			spc_state = SCTP_ADDR_AVAILABLE;
			spc_state = SCTP_ADDR_AVAILABLE;
		transport->state = SCTP_ACTIVE;
		break;
		break;


	case SCTP_TRANSPORT_DOWN:
	case SCTP_TRANSPORT_DOWN: