Subject: Remote DOWN event in INIT STATE

From: Sambath Kumar Balasubramanian <[email-masked]>
Date: Tue, 7 Dec 2010 13:18:42 -0800 (PST)

Hi,

  I have a basic doubt in BFD. When the local state is INIT and we receive
a session DOWN from the remote, should'nt we directly transition to DOWN.

 Thanks,
Sambath

---

From: "Shahram Davari" <[email-masked]>
Date: Tue, 7 Dec 2010 13:36:05 -0800

Hi Sambath,

No. You should remain in INIT state. Otherwise the session can never start.

Thx
Shahram

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Sambath Kumar Balasubramanian
Sent: Tuesday, December 07, 2010 1:19 PM
To: [email-masked]
Subject: Remote DOWN event in INIT STATE

Hi,

 Thanks,
Sambath

---

From: Sambath Kumar Balasubramanian <[email-masked]>
Date: Tue, 7 Dec 2010 14:03:08 -0800 (PST)

Hi Shahram,

Thanks for the reply. Sorry missed an obvious point

 Regards,
Sambath

----- Original Message ----
From: Shahram Davari <[email-masked]>
To: Sambath Kumar Balasubramanian <[email-masked]>; 
"[email-masked]" <[email-masked]>
Sent: Tue, December 7, 2010 1:36:05 PM
Subject: RE: Remote DOWN event in INIT STATE

Hi Sambath,

Thx
Shahram

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of 
Sambath Kumar Balasubramanian
Sent: Tuesday, December 07, 2010 1:19 PM
To: [email-masked]
Subject: Remote DOWN event in INIT STATE

Hi,

Thanks,
Sambath

---

From: Dave Katz <[email-masked]>
Date: Tue, 7 Dec 2010 15:24:17 -0800

Yep.  The thing to remember is that this is about *states*, not about *events*.  Or rather, events are local constructs based on state transitions.

In particular, you don't have to catch the edge of anything in order to end up in the right place (packets can be dropped, etc.)

--Dave

---

From: Vishwas Manral <[email-masked]>
Date: Wed, 8 Dec 2010 06:14:06 +0530

Hi Shahram,

I am not sure what you mean by the session can never start, however
the idea of INIT state is that we have heard from our neighbor, but
the neighbor has not heard from us (which is what happens when we
receive a Hello from the neighbor in DOWN state).

Thanks,
Vishwas

---

From: Dave Katz <[email-masked]>
Date: Tue, 7 Dec 2010 22:39:41 -0800

> receive a Hello from the neighbor in DOWN state).

I think the point is that if you were Init and the far end said Down and you went back to Down in response, you may get stuck forever cycling between Down and Init.

In any case, the state machine is clear on what to do.

--Dave

---

From: Vishwas Manral <[email-masked]>
Date: Wed, 8 Dec 2010 15:17:24 +0530

Hi Dave,

I understand that part, however the basic thing is that a state
transition depends not only on the event but also current state. So we
could always have had a state of down if we got Down from the neighbor
and were in UP state. However the way Init state is defined is not
that way. This will not cause any issues.

It is the definition of the state INIT because of which we go into
Init and not DOWN. I know there is a subtle difference but an
important difference never the less.

Thanks,
Vishwas

---

From: Dave Katz <[email-masked]>
Date: Wed, 8 Dec 2010 10:47:28 -0800

I think the point is that if you follow the description of the state machine, it will work, and if you don't, it probably won't.  ;-)

--Dave