Re: Reflections on new state machine

Dave Katz <dkatz@juniper.net> Thu, 24 March 2005 17:38 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA07763; Thu, 24 Mar 2005 12:38:51 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1DEWO0-00039l-EZ; Thu, 24 Mar 2005 12:44:48 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DEWHc-00014a-Tv; Thu, 24 Mar 2005 12:38:12 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DEWHb-00014Q-FP for rtg-bfd@megatron.ietf.org; Thu, 24 Mar 2005 12:38:11 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA07727 for <rtg-bfd@ietf.org>; Thu, 24 Mar 2005 12:38:09 -0500 (EST)
Received: from colo-dns-ext1.juniper.net ([207.17.137.57]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1DEWNJ-000393-6M for rtg-bfd@ietf.org; Thu, 24 Mar 2005 12:44:06 -0500
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10]) by colo-dns-ext1.juniper.net (8.11.3/8.9.3) with ESMTP id j2OHbx944472; Thu, 24 Mar 2005 09:38:00 -0800 (PST) (envelope-from dkatz@juniper.net)
Received: from [172.16.12.139] (nimbus-sf.juniper.net [172.16.12.139]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id j2OHbse45086; Thu, 24 Mar 2005 09:37:54 -0800 (PST) (envelope-from dkatz@juniper.net)
In-Reply-To: <44467058B41F7E4CB6305769819D5E631DF274@SHERLOCK.pit.laurelnetworks.com>
References: <44467058B41F7E4CB6305769819D5E631DF274@SHERLOCK.pit.laurelnetworks.com>
Mime-Version: 1.0 (Apple Message framework v619.2)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <973a61750f9f4883d5801b722a8d5958@juniper.net>
Content-Transfer-Encoding: 7bit
From: Dave Katz <dkatz@juniper.net>
Date: Thu, 24 Mar 2005 10:37:53 -0700
To: Chris Nogradi <cnogradi@laurelnetworks.com>
X-Mailer: Apple Mail (2.619.2)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 21c69d3cfc2dd19218717dbe1d974352
Content-Transfer-Encoding: 7bit
Cc: rtg-bfd@ietf.org
Subject: Re: Reflections on new state machine
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
Sender: rtg-bfd-bounces@ietf.org
Errors-To: rtg-bfd-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: cab78e1e39c4b328567edb48482b6a69
Content-Transfer-Encoding: 7bit

Here's what the text in that neighborhood should look like.  Note that 
the transmit interval update is moved before the state machine 
mechanics;  this ensures that a system in AdminDown state still pays 
attention to the receive interval wishes of the remote system.

					...

       Update the Detection Time as described in section 6.7.4.

       Update the transmit interval as described in section 6.7.2.

       If bfd.SessionState is AdminDown
           Discard the packet

       If received state is AdminDown
           If bfd.SessionState is not Down
               Set bfd.LocalDiag to 3 (Neighbor signaled session down)
               Set bfd.SessionState to Down

       Else

           If bfd.SessionState is Down
               If received State is Down
                   Set bfd.SessionState to Init
               Else if received State is Init
                   Set bfd.SessionState to Up

           Else if bfd.SessionState is Init
               If received State is Init or Up
                   Set bfd.SessionState to Up

           Else (bfd.SessionState is Up)
               If received State is Down
                   Set bfd.LocalDiag to 3 (Neighbor signaled session 
down)
                   Set bfd.SessionState to Down

       If the Demand (D) bit is set and bfd.DemandModeDesired is 1,
       and bfd.SessionState is Up, Demand mode is active.

					...

--Dave