Subject: Confusion Regarding Path Failure Detection in SCTP RFC4960

From: Madan Mohan Mishra <[email-masked]>
Date: Tue, 28 Feb 2012 05:07:53 +0000

Hi Group,

    The procedure for path failure detection described in RFC4960 is having some confusion:

According to section: 8.2

"8.2.  Path Failure Detection
..............................................................

Each time the T3-rtx timer expires on any address, or when a
   HEARTBEAT sent to an idle address is not acknowledged within an RTO,
   the error counter of that destination address will be incremented.
   When the value in the error counter exceeds the protocol parameter
   'Path.Max.Retrans' of that destination address, the endpoint should
   mark the destination transport address as inactive, and a
   notification SHOULD be sent to the upper layer."

Going by the above section, the destination transport address should be made INACTIVE in following condition:

Destination Error Counter > Path.Max.Retrans.

According to section: 8.3

8.3.  Path Heartbeat
......................................................................

"When the value of this counter reaches the protocol parameter
   'Path.Max.Retrans', the endpoint should mark the corresponding
   destination address as inactive if it is not so marked, and may also
   optionally report to the upper layer the change of reachability of
   this destination address.  After this, the endpoint should continue
   HEARTBEAT on this destination address but should stop increasing the
   counter."

Going by the above section, the destination transport address should be made INACTIVE in following condition:

Destination Error Counter >= Path.Max.Retrans

As the above 2 sections are conflicting to each other, I am getting confused which section is correct.

Thanks and Regards,

Madan

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Tue, 28 Feb 2012 03:16:13 -0700

Madan,

Path.Max.Retrans means what it says: it is the maximum number of
retransmissions on a path (to a destination) before the destination
is considered inactive.  Because the error count is incremented on
each retransmission the condition is

	Destination Error Counter > Path.Max.Retrans

The word "reaches" in 8.3 is an unfortunate word choice.

--brian

Madan Mohan Mishra wrote:                      (Tue, 28 Feb 2012 05:07:53)

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: Jeff Morriss <[email-masked]>
Date: Tue, 28 Feb 2012 10:02:06 -0500

Madan Mohan Mishra wrote:
>    When the value in the error counter *exceeds* the protocol parameter
> "When the value of this counter *reaches* the protocol parameter

This is clarified in an Errata against RFC 4960:

http://www.rfc-editor.org/errata_search.php?rfc=4960&eid=1440