From: Vlad Yasevich <vyasevich@gmail.com>
To: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nsn.com>,
"linux-sctp@vger.kernel.org" <linux-sctp@vger.kernel.org>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH] net: sctp: Potentially-Failed state should not be reached from unconfirmed state
Date: Thu, 20 Feb 2014 17:58:43 +0000 [thread overview]
Message-ID: <53064253.7060309@gmail.com> (raw)
In-Reply-To: <5305FF60.80404@nsn.com>
On 02/20/2014 08:13 AM, Matija Glavinic Pecotic wrote:
> In current implementation it is possible to reach PF state from unconfirmed.
> We can interpret sctp-failover-02 in a way that PF state is meant to be reached
> only from active state, in the end, this is when entering PF state makes sense.
> Here are few quotes from sctp-failover-02, but regardless of these, same
> understanding can be reached from whole section 5:
>
> Section 5.1, quickfailover guide:
> "The PF state is an intermediate state between Active and Failed states."
>
> "Each time the T3-rtx timer expires on an active or idle
> destination, the error counter of that destination address will
> be incremented. When the value in the error counter exceeds
> PFMR, the endpoint should mark the destination transport address as PF."
>
> There are several concrete reasons for such interpretation. For start, rfc4960
> does not take into concern quickfailover algorithm. Therefore, quickfailover
> must comply to 4960. Point where this compliance can be argued is following
> behavior:
> When PF is entered, association overall error counter is incremented for each
> missed HB. This is contradictory to rfc4960, as address, while in unconfirmed
> state, is subjected to probing, and while it is probed, it should not increment
> association overall error counter. This has as a consequence that we might end
> up in situation in which we drop association due path failure on unconfirmed
> address, in case we have wrong configuration in a way:
> Association.Max.Retrans = Path.Max.Retrans.
>
> Another reason is that entering PF from unconfirmed will cause a loss of address
> confirmed event when address is once (if) confirmed. This is fine from failover
> guide point of view, but it is not consistent with behavior preceding failover
> implementation and recommendation from 4960:
>
> 5.4. Path Verification
> Whenever a path is confirmed, an indication MAY be given to the upper
> layer.
>
> Signed-off-by: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nsn.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Thanks
-vlad
>
> --- net-next.orig/net/sctp/sm_sideeffect.c
> +++ net-next/net/sctp/sm_sideeffect.c
> @@ -495,11 +495,12 @@ static void sctp_do_8_2_transport_strike
> }
>
> /* If the transport error count is greater than the pf_retrans
> - * threshold, and less than pathmaxrtx, then mark this transport
> - * as Partially Failed, ee SCTP Quick Failover Draft, secon 5.1,
> - * point 1
> + * threshold, and less than pathmaxrtx, and if the current state
> + * is not SCTP_UNCONFIRMED, then mark this transport as Partially
> + * Failed, see SCTP Quick Failover Draft, section 5.1
> */
> if ((transport->state != SCTP_PF) &&
> + (transport->state != SCTP_UNCONFIRMED) &&
> (asoc->pf_retrans < transport->pathmaxrxt) &&
> (transport->error_count > asoc->pf_retrans)) {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nsn.com>,
"linux-sctp@vger.kernel.org" <linux-sctp@vger.kernel.org>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH] net: sctp: Potentially-Failed state should not be reached from unconfirmed state
Date: Thu, 20 Feb 2014 12:58:43 -0500 [thread overview]
Message-ID: <53064253.7060309@gmail.com> (raw)
In-Reply-To: <5305FF60.80404@nsn.com>
On 02/20/2014 08:13 AM, Matija Glavinic Pecotic wrote:
> In current implementation it is possible to reach PF state from unconfirmed.
> We can interpret sctp-failover-02 in a way that PF state is meant to be reached
> only from active state, in the end, this is when entering PF state makes sense.
> Here are few quotes from sctp-failover-02, but regardless of these, same
> understanding can be reached from whole section 5:
>
> Section 5.1, quickfailover guide:
> "The PF state is an intermediate state between Active and Failed states."
>
> "Each time the T3-rtx timer expires on an active or idle
> destination, the error counter of that destination address will
> be incremented. When the value in the error counter exceeds
> PFMR, the endpoint should mark the destination transport address as PF."
>
> There are several concrete reasons for such interpretation. For start, rfc4960
> does not take into concern quickfailover algorithm. Therefore, quickfailover
> must comply to 4960. Point where this compliance can be argued is following
> behavior:
> When PF is entered, association overall error counter is incremented for each
> missed HB. This is contradictory to rfc4960, as address, while in unconfirmed
> state, is subjected to probing, and while it is probed, it should not increment
> association overall error counter. This has as a consequence that we might end
> up in situation in which we drop association due path failure on unconfirmed
> address, in case we have wrong configuration in a way:
> Association.Max.Retrans == Path.Max.Retrans.
>
> Another reason is that entering PF from unconfirmed will cause a loss of address
> confirmed event when address is once (if) confirmed. This is fine from failover
> guide point of view, but it is not consistent with behavior preceding failover
> implementation and recommendation from 4960:
>
> 5.4. Path Verification
> Whenever a path is confirmed, an indication MAY be given to the upper
> layer.
>
> Signed-off-by: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nsn.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Thanks
-vlad
>
> --- net-next.orig/net/sctp/sm_sideeffect.c
> +++ net-next/net/sctp/sm_sideeffect.c
> @@ -495,11 +495,12 @@ static void sctp_do_8_2_transport_strike
> }
>
> /* If the transport error count is greater than the pf_retrans
> - * threshold, and less than pathmaxrtx, then mark this transport
> - * as Partially Failed, ee SCTP Quick Failover Draft, secon 5.1,
> - * point 1
> + * threshold, and less than pathmaxrtx, and if the current state
> + * is not SCTP_UNCONFIRMED, then mark this transport as Partially
> + * Failed, see SCTP Quick Failover Draft, section 5.1
> */
> if ((transport->state != SCTP_PF) &&
> + (transport->state != SCTP_UNCONFIRMED) &&
> (asoc->pf_retrans < transport->pathmaxrxt) &&
> (transport->error_count > asoc->pf_retrans)) {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2014-02-20 17:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-20 13:13 [PATCH] net: sctp: Potentially-Failed state should not be reached from unconfirmed state Matija Glavinic Pecotic
2014-02-20 13:13 ` Matija Glavinic Pecotic
2014-02-20 17:58 ` Vlad Yasevich [this message]
2014-02-20 17:58 ` Vlad Yasevich
2014-02-20 18:25 ` David Miller
2014-02-20 18:25 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53064253.7060309@gmail.com \
--to=vyasevich@gmail.com \
--cc=linux-sctp@vger.kernel.org \
--cc=matija.glavinic-pecotic.ext@nsn.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.