Hi Glebs,
I don't know for sure what the authors intended, but in the implementations I 
was involved with (albeit many years ago), the Diag field got reset to "No 
Diagnostic" when a session goes back up.
Also, "The diagnostic code specifying the reason for the most recent change in 
the local session state" implies that the diag should be reset to No Diag when 
the session goes up (last state change)?
I need to check RFC5880 but it'd be good to hear from various vendors on this.  
Regards,Reshad (no hat).
    On Friday, September 23, 2022, 10:07:36 AM EDT, Gļebs Ivanovskis 
<gl...@mikrotik.com> wrote:  
 
   
Hi,
 
I have a question regarding bfd.LocalDiag State Variable. In section 6.8.1. 
State Variables it says:
    bfd.LocalDiag

      The diagnostic code specifying the reason for the most recent
      change in the local session state.  This MUST be initialized to
      zero (No Diagnostic).
 
Then in many places throughout the text it is said that bfd.LocalDiag needs to 
be set to other values in response to different failures. But nowhere it is 
said that bfd.LocalDiag needs to be reset to "No Diagnostic". Only the text I 
quoted above mentions bfd.LocalDiag together with "No Diagnostic", but it talks 
only about BFD session initialization.
 
So, if implementation rigorously follows the letter of RFC, then it leads to a 
peculiar situation when a session goes back Up after, say, "Control Detection 
Time Expired", but the Diag field of the packet keep holding the diagnostic 
from the time session was Down. Or am I missing something?
 
Best regards,
 Glebs
 
 

   

Reply via email to