Subject: Segment Routing Implications on BFD

From: "Nobo Akiya (nobo)" <[email-masked]>
Date: Mon, 9 Sep 2013 20:40:54 +0000

[speaking as individual contributor]

Hello BFD WG Members,

STATUS BoF @ Berlin has resulted in conclusion of a new WG formation. Various documents for use-cases and requirements will roll out over time.

There is one existing use-case document.

http://tools.ietf.org/html/draft-filsfils-rtgwg-segment-routing-use-cases-00

While waiting for other use-cases and requirements documents to roll out, I wanted to highlight two particular aspects of Segment Routing, based on above document, that are potential impact to the BFD protocol.

1. Stateless nature of midpoints and tail-ends.

RFC5884:
a. Defines BFD over MPLS, via using LSP ping as a bootstrap mechanism.
b. After BFD session is bootstrapped on tail-end, further LSP ping is optional.
c. Cleanup procedures of BFD session on tail-end is not defined.
d. Lack of cleanup procedures is most likely because LSP state removal on tail-end can trigger removal of corresponding BFD session.

MPLS data plane is highly favored for Segment Routing, so I think we want to ensure BFD works on SR based MPLS. Difficulty is that there is no LSP state kept on tail-ends, which means BFD has lost the trigger for session removal (item d from above). Either we have to define some sort of BFD session cleanup procedures, or we have to define a mechanism where BFD is also stateless on tail-ends.

2. Immediate nature of LSP.

Section 5.2.1 of the document describes an approach to dynamically change the flow of traffic to different traffic engineered path. If Segment Routing always mandated that path to use must be pre-created X amount time of before its use, then there are any implications to BFD. I tend to think that Segment Routing (and SDN) should be allowed to create and want to use that path immediately to carry traffic. And I also tend to think that there's benefit in validating the reachability of path with BFD prior to its use.

BFD protocol today has been designed to go down fast but go up slow(er), due to initial sedated timer. It takes couple of seconds for BFD sessions to transition to up state. In addition to this, LSP ping usually has much more scale/performance constrained implementations. When BFD relies on LSP ping for bootstrapping, time it takes for scaled number of BFD sessions to go up is going to be bound by LSP ping performance, resulting in much longer time than couple of seconds.

When it comes to Segment Routing (and SDN), it appears to be very desirable to have BFD to perform reachability validation immediately when needed. And we cannot do that today.

I'm very curious to see what everyone is thinks about the two aspects above, as well as if anybody sees any other potential implications.

-Nobo