On Wed, 2012-07-18 at 14:01 -0400, Neil Horman wrote: > I've seen several attempts recently made to do quick failover of sctp transports > by reducing various retransmit timers and counters. While its possible to > implement a faster failover on multihomed sctp associations, its not > particularly robust, in that it can lead to unneeded retransmits, as well as > false connection failures due to intermittent latency on a network. trivia: > diff --git a/net/sctp/associola.c b/net/sctp/associola.c > @@ -871,6 +885,10 @@ void sctp_assoc_control_transport(struct sctp_association *asoc, > spc_state = SCTP_ADDR_UNREACHABLE; > break; > > + case SCTP_TRANSPORT_PF: > + transport->state = SCTP_PF; > + ulp_notify = false; > + break; nicer to add a newline here > default: > return; > } > @@ -878,12 +896,15 @@ void sctp_assoc_control_transport(struct sctp_association *asoc, [] > + if (ulp_notify) { > + memset(&addr, 0, sizeof(struct sockaddr_storage)); > + memcpy(&addr, &transport->ipaddr, > + transport->af_specific->sockaddr_len); Perhaps it's better to do the memcpy then the memset of the space left instead. memcpy(&addr, &transport->ipaddr, transport->af_specific->sockaddr_len); memset((char *)&addr) + transport->af_specific->sockaddr_len, 0, sizeof(struct sockaddr_storage) - transport->af_specific->sockaddr_len); -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html