Subject: [Sdn] Comments on draft-irtf-sdnrg-layer-terminology-02 Section 4.7

From: "Nobo Akiya (nobo)" <[email-masked]>
Date: Sat, 11 Oct 2014 21:41:26 +0000

Hi Authors,

I have few comments in the Section 4.7 of draft-irtf-sdnrg-layer-terminology-02.

> 4.7.  BFD
> 
>    Bidirectional Forwarding Detection (BFD) [RFC5880], is an IETF-
>    standardized network protocol designed for detecting communication
>    failures between two adjacent forwarding elements.

This description is fairly good, but couple of comments.
1) Usage of "path failures" instead of "communication failures" will be more appropriate.
2) It might also be helpful to then briefly describe what "path" can include. Take a look at following documents to get ideas:
  - RFC5881 - single-hop BFD
  - RFC5883 - multi-hop BFD
  - RFC5884 - BFD MPLS
  - RFC7130 - BFD on LAG

If both comments are considered, the result might look more like BFD charter texts. If so, that's probably the right results.

http://datatracker.ietf.org/wg/bfd/charter/

>    It is intended to
>    be implemented in some component of the forwarding engine of a
>    system, in cases where the forwarding and control engines are
>    separated.

"It is intended" might be too strong.
- Yes it is true that BFD was carefully designed such that it can be implemented in hardware [easier], and there are some such implementations.
- It is also true that some implementations place the SW BFD module "close to" the forwarding engine within the system.
- However, it is also true that there are some implementations that places the SW BFD module fairly "far away" from the forwarding engine within the system.

It is, therefore IMO, too strong to say "It is intended to be implemented ..." but probably reasonable to say "It is often implemented ...".

>    BFD provides a low-overhead solution for (end-to-end)
>    detection of failures, even over technologies that have no or limited
>    support to do so, such as virtual circuits, various L3/L4 tunnels and
>    MPLS LSPs.

Couple of things threw me off from above.
- (end-to-end)
- technologies that have no or limited support to do so.

Similar to the first comment at the top of this email, my suggestion is to model this text closer to what is in the BFD charter.

>    With respect to Figure 1, a BFD agent could be a control plane
>    service or application that would use the CPSI towards the forwarding
>    plane to send/receive BFD packets.  Better, as it was intended for, a
>    BFD agent can run on the device as an application and use the
>    forwarding plane to send/receive BFD packets and update the
>    operational plane resources accordingly.

This is the paragraph that we want to get right. Using the terminologies from your document:

[snip]
      Forwarding Plane (FP) - The collection of resources across all
      network devices responsible for forwarding traffic.

      Operational Plane (OP) - The collection of resources responsible
      for managing the overall operation of individual network devices.

      Control plane (CP) - The collection of functions responsible for
      controlling one or more network devices.  CP instructs network
      devices with respect to how to process and forward packets.  The
      control plane interacts primarily with the forwarding plane and to
      a lesser extent with the operational plane.

      Management plane (MP) - The collection of functions responsible
      for monitoring, configuring and maintaining one or more network
      devices or parts of network devices.  The management plane is
      mostly related with the operational plane and less with the
      forwarding plane.
[snip]

It is clear that the BFD module will need to reside in each network device, somewhere under the DAL. The first thing that is important to figure is which element under the DAL does the BFD belong in: Forwarding Plane, App, Operational Plane. The Forwarding Plane, as described above, is responsible for forwarding traffic. That's definitely not the job of BFD. Thus I would argue that the BFD belongs in the App or Operational Plane. Either way, because the BFD is not in the Forwarding Plane, it sounds like it is through the Management Plane that BFD operations come into the DAL.

What gets more interesting is that often BFD alone is not sufficient. What I mean is that BFD is used by "something" so that "something" can quickly be notified of the path failure and react accordingly. In the SDN Layer Architecture:
1. "something" may be something residing in the Application Plane, so that it can influence the Forwarding Plane through the Control Plane.
2. "something" may be something residing in the Control Plane, so that it can influence the Forwarding Plane.

If you envision (1) to be the only case, then the Figure 1 looks correct.
If you envision (2) to also be a valid case, then the Figure 1 may need an interface (line) between the Control Plane and the Management Plane.

Something to think about.

Thanks!

-Nobo