Subject: [OSPF] Query regarding behavior of OSPF DR-Other's neighbor-State with BDR when DR fails, when DR down detection is delayed at DR-Other.

From: Bharath R <[email-masked]>
Date: Tue, 18 Jun 2013 11:56:12 +0000

Hi,
Please consider the scenario:

R1(DR)                                            R2(BDR)
 |  I1                                               I2   |
 |                                                            |
 |______________________ |
                                |
                                |  I3
                                |
                      R3(DR-Other)

Here:
R1 is the DR.
R2 is the BDR
R3 is DR-Other, with DR-priority 0 and hence ineligible to become DR/BDR.

Following are the is the set of operations and a sequence of events:

1.      Interface I1 is disabled. So, DR connectivity is lost to the rest of the network.
2.      R2(The current BDR) detects the DR-down.
a.      Declares itself the DR.
b.      Declares BDR as NULL.
c.      Sends out a Hello with DR as I2 interface address, and BDR as 0.0.0.0
3.      R3(DR-Other) receives Hello from R2.
      As per, section 9.2 of RFC 2328:
            o   One of the bidirectional neighbors is newly declaring
                itself as either Designated Router or Backup Designated
                Router.  This is detected through examination of that
                neighbor's Hello Packets.

            o   One of the bidirectional neighbors is no longer
                declaring itself as Designated Router, or is no longer
                declaring itself as Backup Designated Router.  This is
                again detected through examination of that neighbor's
                Hello Packets.

      Triggers a NeighborChange event, which in-turn results in a DR election at R3.
      Please note that at this time R3 has not yet detected R1 down.
      Now result of DR-election at R3:
      DR: R1
      BDR: 0.0.0.0
      Since R2 is no longer the BDR, R3 transitions from FULL to 2-WAY with R2(the new DR).
      Of course, on detection of DR down at R3, R3 will elect R2 as DR and then again transition to ExStart, to Exchange to Full with R2.

Can you please let me know:
*       Is  it right to trigger the NeighborChange event at R3 ?
*       Is this transition from FULL to 2-WAY  is expected?
*       Can DR-Others flap adjacency with BDR if DR down detection  happens later than reception of new Hello from  the new DR?
*       Intuitively, it may seem desirable to continue to be adjacent to a neighbor as long as it is still DR or BDR. Is this a fair call?

Please correct me if I have missed out something.

Thanks and Regards,
Bharath R.

---

From: Tanmoy Kundu <[email-masked]>
Date: Tue, 18 Jun 2013 19:30:29 +0530

Hi Bharath,
Few queries. As you mentioned "R2(The current BDR) detects the DR-down.",
how did R2 sensed that R1 is down ?
    a. first possible option is dead timer expiry in R2. In that case R3
should also get the expiry soon and till that time the network won't
converge. isn't that expected?
    b. Another option is having BFD session between R1 and R2, hence it
comes to know. Why don't we run BFD between all the routers in the network
? As we know in OSPF the DR and BDR is not guaranteed.

This typical scenario is due to the DR-other is with priority zero. But
when received hello packet from DR, both BDR and DR-Other should reset the
dead timer. Even if we consider the link transmission delay and ASIC
processing, the dead timer expiry difference between R2 and R3 should not
be more than milisecond, isn't it ?

   - Is  it right to trigger the NeighborChange event at R3? - I feel yes,
   other than few typical scenarios the network will at least not be used,
   until its converged. If Nbr-chg event is not sent then all DR other feels
   that DR is still active and the same will be used for forwarding the
   traffic. If someone in the network sensed that DR/BDR is down, why don't
   tell others immediately?
   - Is this transition from FULL to 2-WAY  is expected? - As per RFC, DR
   others should not be FULL with other routers than DR and BDR, hence YES. It
   is expected.
   - Can DR-Others flap adjacency with BDR if DR down detection  happens
   later than reception of new Hello from  the new DR? -
   - Intuitively, it may seem desirable to continue to be adjacent to a
   neighbor as long as it is still DR or BDR. Is this a fair call? - As
   mentioned above, its not fair to use a disturbed or unsettled network for
   forwarding. Due to backlink check failure the LAN wont be used for
   forwarding during SPF. Hence as per me its proper behavior.

Thanks,
Tanmoy

On Tue, Jun 18, 2013 at 5:26 PM, Bharath R <[email-masked]> wrote:

>    1. Declares itself the DR.
>    2. Declares BDR as NULL.
>    3. Sends out a Hello with DR as I2 interface address, and BDR as
>    0.0.0.0
>
>
>    1. R3(DR-Other) receives Hello from R2.
>
> *Triggers a NeighborChange **e**vent, which in-turn results in a DR
> election at R3*.
> *Please note that at this time R3 has not yet detected R1 down*.
> Of course, on detection of DR down at R3, R3 will elect R2 as DR and then
> again transition to ExStart, to Exchange to Full with R2.
>
>    - Is  it right to trigger the NeighborChange event at R3 ?
>    - Is this transition from FULL to 2-WAY  is expected?
>    - Can DR-Others flap adjacency with BDR if DR down detection  happens
>    later than reception of new Hello from  the new DR?
>    - Intuitively, it may seem desirable to continue to be adjacent to a
>    neighbor as long as it is still DR or BDR. Is this a fair call?
>
>
> _______________________________________________
> OSPF mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/ospf
>
>

---

From: Bharath R <[email-masked]>
Date: Tue, 18 Jun 2013 15:58:17 +0000

Hi Tanmoy,
Thank you for your quick response.

Let me give a few clarifications:

Under the below mentioned scenario, we would definitely expect a network convergence delay.
But, here, the question is regarding the adjacency flap between DR-Other and BDR on DR interface down.
If adjacency is anyway going to flap between DR -Other and BDR under some
scenarios(It is definitely possible that in a network some routers detect events faster than the others),
then is there a significant advantage that we derive from having a BDR?

Regarding NeighborChange Event:
Sorry If I was not clear,
I totally agree that NeighborChange Event should be triggered after DR fail is detected.
But, the question really is should the neighbor Change event be triggered when R2(new DR ) sent a new Hello.
Please note that NeighborChange event I am referring to  is in response to the Hello as received from the Neighbor and not a result of our DR calculation.
So, If a Neighbor was previously declaring itself a BDR and is now declaring itself a DR(to both of which we are expected to be adjacent), should the NeighborChange event still be triggered?

And I don't think having DR-priority non-zero in DR-Others would have made any difference to the above scenario.
R2 instead of declaring BDR NULL would have declared some other router as BDR(considering a more generic LAN case), and DR other
would have still flapped the adjacency with the new DR(R2) since R2 was BDR before and is no longer BDR.

I am not claiming that the behavior noticed is incorrect. I am actually trying to understand the below lines of the RFC:

Whether these two bullets are mentioning transition from {DR to (BDR or DR-Other)}, and {BDR to (DR or DR-other)}
Or does it just mean a transition from Non-DR-Other to DR-Other and DR-Other to Non-DR-Other.
Where Non-DR-Other means (DR and BDR).

Also, given that some DR-Others may detect Neighbor Down later than BDR, is adjacency flap with BDR expected(though there was no problem in link to BDR).

Thanks and Regards,
Bharath R.

From: Tanmoy Kundu [mailto:[email-masked]]
Sent: Tuesday, June 18, 2013 7:30 PM
To: Bharath R
Cc: [email-masked]; Dileep Singh
Subject: Re: [OSPF] Query regarding behavior of OSPF DR-Other's neighbor-State with BDR when DR fails, when DR down detection is delayed at DR-Other.

Hi Bharath,
Few queries. As you mentioned "R2(The current BDR) detects the DR-down.", how did R2 sensed that R1 is down ?
    a. first possible option is dead timer expiry in R2. In that case R3 should also get the expiry soon and till that time the network won't converge. isn't that expected?
    b. Another option is having BFD session between R1 and R2, hence it comes to know. Why don't we run BFD between all the routers in the network ? As we know in OSPF the DR and BDR is not guaranteed.

This typical scenario is due to the DR-other is with priority zero. But when received hello packet from DR, both BDR and DR-Other should reset the dead timer. Even if we consider the link transmission delay and ASIC processing, the dead timer expiry difference between R2 and R3 should not be more than milisecond, isn't it ?

*         Is  it right to trigger the NeighborChange event at R3? - I feel yes, other than few typical scenarios the network will at least not be used, until its converged. If Nbr-chg event is not sent then all DR other feels that DR is still active and the same will be used for forwarding the traffic. If someone in the network sensed that DR/BDR is down, why don't tell others immediately?
*         Is this transition from FULL to 2-WAY  is expected? - As per RFC, DR others should not be FULL with other routers than DR and BDR, hence YES. It is expected.
*         Can DR-Others flap adjacency with BDR if DR down detection  happens later than reception of new Hello from  the new DR? -
*         Intuitively, it may seem desirable to continue to be adjacent to a neighbor as long as it is still DR or BDR. Is this a fair call? - As mentioned above, its not fair to use a disturbed or unsettled network for forwarding. Due to backlink check failure the LAN wont be used for forwarding during SPF. Hence as per me its proper behavior.

Thanks,
Tanmoy

On Tue, Jun 18, 2013 at 5:26 PM, Bharath R <[email-masked]<mailto:[email-masked]>> wrote:
Hi,
Please consider the scenario:

R1(DR)                                            R2(BDR)
|  I1                                               I2   |
|                                                            |

Here:
R1 is the DR.
R2 is the BDR

Thanks and Regards,
Bharath R.

_______________________________________________
OSPF mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/ospf