Re: [PATCH 1/1] net:sctp: disable to inform ULP about transition from PF to active state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, Dec 08, 2015 at 05:47:22PM +0800, zyjzyj2000@xxxxxxxxx wrote:
> From: yzhu1 <zyjzyj2000@xxxxxxxxx>
> 
> This feature is introduced in the commit 5aa93bc "sctp: Implement
> quick failover draft from tsvwg". This feature should be disabled
> if the quick failover feature is disabled.
> 
> Signed-off-by: yzhu1 <zyjzyj2000@xxxxxxxxx>
> ---
>  net/sctp/associola.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/net/sctp/associola.c b/net/sctp/associola.c
> index 559afd0..7438625 100644
> --- a/net/sctp/associola.c
> +++ b/net/sctp/associola.c
> @@ -795,7 +795,8 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
>  		 * active state and set cwnd to 1 MTU, see SCTP
>  		 * Quick failover draft section 5.1, point 5
>  		 */
> -		if (transport->state == SCTP_PF) {
> +		if ((asoc->pf_retrans < asoc->max_retrans) && 
> +			(transport->state == SCTP_PF)) {
>  			ulp_notify = false;
>  			transport->cwnd = asoc->pathmtu;
>  		}

Didn't you confuse asoc->max_retrans with Path.Max.Retrans?
That draft refers to asoc->pf_retrans having to be bigger than
Path.Max.Retrans in order to disable PF, and asoc->max_retrans is
another thing, it's originated from net->sctp.max_retrans_association.

The check is performed later in the code:

+       if ((transport->state != SCTP_PF) &&
+          (asoc->pf_retrans < transport->pathmaxrxt) &&
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+          (transport->error_count > asoc->pf_retrans)) {

This check should avoid that state transition as it will avoid the path
from entereing SCTP_PF state at all.

transport->pathmaxrst is originated from net->sctp.max_retrans_path.

Btw, you had indentantion issues with your patch. Extra () that aren't
needed and the second line should start at the column right after the
initial ( in the first line. Please run scripts/checkpatch.pl on it next
time. 

  Marcelo

--
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



[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux