Subject: Re: BFD alternate path?

From: Glen Kent <[email-masked]>
Date: Wed, 2 Jun 2010 05:46:59 +0530

Hi Vishwas,

I'll summarize my understanding. Please let me know if i am way off the mark.

In case of BFD between directly connected nexthops (e.g. when running
over an IP interface for OSPF, static routes) then we need to ensure
that BFD packets dont follow the IP route and instead are *always*
only sent out on that interface. This will ensure that if this
interface goes down then we STOP sending BFD packets, as otherwise,
the BFD packets may take an alternate IP path.

In case of multihop BFD sessions, BFD must follow the IP path, which
means that if the interface goes down, then BFD should take up an
alternate path if available to reach the other peer.

Is this correct?

Glen

On Tue, Jun 1, 2010 at 8:54 AM, Vishwas Manral <[email-masked]> wrote:
> Hi Glen,
>
> If I wanted to monitor if the peer was UP and not just an interface UP
> I could use that.
>
> One example I can give you is in LMP, we can have multiple control
> channels over individual interfaces for a control adjacency for a
> neighbor. So if the peer crashed I would want to bring down the
> control adjacency, but if an interface went down I would want to keep
> the control adjacency UP.
>
> One way could be have a different BFD session over each control
> channel. Another way is to have a control channel which is not bound
> to an interface. So in case there is another way the rerouting can
> happen even before BFD can trigger it (loss of carrier), we can use a
> single BFD session to the peer router.
>
> Hope that is of some help.
>
> Thanks,
> Vishwas
>
> On Mon, May 31, 2010 at 8:00 PM, Glen Kent <[email-masked]> wrote:
>> Hi Vishwas,
>>
>> Dont intend to be picky, but ..
>>
>>>
>>> In single hop cases the BFD session is generally bound to the
>>> interface. So the BFD session will brought down.
>>
>> You use "generally". Does it mean that there would be instances when
>> the BFD session for a directly connected nexthop will NOT be tied to
>> an interface. If so, when and under what circumstances would that
>> happen?
>>
>> Glen
>>
>>>
>>> Thanks,
>>> Vishwas
>>>
>>> On Mon, May 31, 2010 at 5:13 PM, Glen Kent <[email-masked]> wrote:
>>>> Vishwas,
>>>>
>>>> This might work for a multihop session. How about directly connected
>>>> next-hops that i brought up in my previous email.
>>>>
>>>> A -- B
>>>> |      |
>>>> C ---+
>>>>
>>>> In this case if link A-B fails, will BFD on A and B use the alternate
>>>> path via C (assume its the default gateway in for both A and B)? More
>>>> details in my previous email.
>>>>
>>>> Glen
>>>>
>>>> On Tue, Jun 1, 2010 at 4:58 AM, Vishwas Manral <[email-masked]> wrote:
>>>>> Hi Glen,
>>>>>
>>>>> If you want to monitor that a session goes over a particular link you
>>>>> can impose the restriction to a Multihop session in which case the BFD
>>>>> session will fail.
>>>>>
>>>>> If we do not impose the restriction the session will stay UP. I do not
>>>>> see any sort of collision of interests. It depends on what an operator
>>>>> wants and can get the right behavior using BFD.
>>>>>
>>>>> Thanks,
>>>>> Vishwas
>>>>>
>>>>> On Mon, May 31, 2010 at 3:56 PM, Glen Kent <[email-masked]> wrote:
>>>>>>>
>>>>>>> However in some cases (multihop sessions), the BFD session timers will
>>>>>>> be set to higher value so that the lower level sessions can converge
>>>>>>
>>>>>> In case of multihop sessions, say between two IBGP  peers, what is a
>>>>>> lower level session here? Is this the IGP?
>>>>>>
>>>>>> My doubt is this:
>>>>>>
>>>>>> A -- B
>>>>>> |      |
>>>>>> C ---+
>>>>>>
>>>>>> A and B are directly connected. A can also reach B via C. I am running
>>>>>> a BFD session between A and B. Since A and B are directly connected,
>>>>>> BFD packets will always use the A-B interface. However, if A-B fails,
>>>>>> then will BFD packets take the alternate path available via C to reach
>>>>>> the other end. I am not sure if this will happen as its a
>>>>>> chicken-and-egg problem - BFD can take the alternate path only if the
>>>>>> IGP recomputes the path. IGP can recompute only when it learns that
>>>>>> A-B has gone down, and its most probably only BFD that can inform the
>>>>>> IGP that A-B has gone down (assume for instance when there is a switch
>>>>>> in between A and B and the switch goes down).
>>>>>>
>>>>>> Also, what will happen if there is a default route on both A and B via
>>>>>> C. In that case BFD need not wait for the IGP to reconverge. It can
>>>>>> always take the alternate path. Will in such cases, BFD take the
>>>>>> alternate path and keep the session alive? If it does that then its
>>>>>> wrong as the physical link has indeed gone down.
>>>>>>
>>>>>> Glen
>>>>>>
>>>>>>> faster (which will result in the session staying up). If we do not
>>>>>>> want the behavior we can set the timers to smaller values. This
>>>>>>> however is a choice of the operator.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Vishwas
>>>>>>>
>>>>>>> On Sun, May 30, 2010 at 9:12 PM, Glen Kent <[email-masked]> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Assume the link that i have between two BFD enabled routers A and B
>>>>>>>> goes down. Will BFD, since its riding on top of UDP, automatically
>>>>>>>> follow the routing table and try to find an alternate path to keep the
>>>>>>>> connectivity alive?
>>>>>>>>
>>>>>>>> If Yes, then this will result in BFD session remaining up, while the
>>>>>>>> link is down. Is this acceptable?
>>>>>>>>
>>>>>>>> Glen
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

---

From: Vishwas Manral <[email-masked]>
Date: Tue, 1 Jun 2010 18:35:31 -0700

Hi Glen,

Yes your understanding is correct.

Thanks,
Vishwas