draft-ietf-bfd-seamless-base-10.txt   draft-ietf-bfd-seamless-base-11.txt 
Internet Engineering Task Force N. Akiya Internet Engineering Task Force C. Pignataro
Internet-Draft Big Switch Networks Internet-Draft D. Ward
Updates: 5880 (if approved) C. Pignataro Updates: 5880 (if approved) Cisco
Intended status: Standards Track D. Ward Intended status: Standards Track N. Akiya
Expires: November 5, 2016 Cisco Expires: November 7, 2016 Big Switch Networks
M. Bhatia M. Bhatia
Ionos Networks Ionos Networks
S. Pallagatti S. Pallagatti
May 4, 2016 May 6, 2016
Seamless Bidirectional Forwarding Detection (S-BFD) Seamless Bidirectional Forwarding Detection (S-BFD)
draft-ietf-bfd-seamless-base-10 draft-ietf-bfd-seamless-base-11
Abstract Abstract
This document defines a simplified mechanism to use Bidirectional This document defines a simplified mechanism to use Bidirectional
Forwarding Detection (BFD) with large portions of negotiation aspects Forwarding Detection (BFD) with large portions of negotiation aspects
eliminated, thus providing benefits such as quick provisioning as eliminated, thus providing benefits such as quick provisioning as
well as improved control and flexibility to network nodes initiating well as improved control and flexibility to network nodes initiating
the path monitoring. the path monitoring.
This document updates RFC5880. This document updates RFC5880.
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 5, 2016. This Internet-Draft will expire on November 7, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 52 skipping to change at page 2, line 52
7.4. Diagnostic Values . . . . . . . . . . . . . . . . . . . . 14 7.4. Diagnostic Values . . . . . . . . . . . . . . . . . . . . 14
7.5. The Poll Sequence . . . . . . . . . . . . . . . . . . . . 15 7.5. The Poll Sequence . . . . . . . . . . . . . . . . . . . . 15
8. Operational Considerations . . . . . . . . . . . . . . . . . 15 8. Operational Considerations . . . . . . . . . . . . . . . . . 15
8.1. Scaling Aspect . . . . . . . . . . . . . . . . . . . . . 15 8.1. Scaling Aspect . . . . . . . . . . . . . . . . . . . . . 15
8.2. Congestion Considerations . . . . . . . . . . . . . . . . 16 8.2. Congestion Considerations . . . . . . . . . . . . . . . . 16
9. Co-existence with Classical BFD Sessions . . . . . . . . . . 16 9. Co-existence with Classical BFD Sessions . . . . . . . . . . 16
10. S-BFD Echo Function . . . . . . . . . . . . . . . . . . . . . 16 10. S-BFD Echo Function . . . . . . . . . . . . . . . . . . . . . 16
11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 11. Security Considerations . . . . . . . . . . . . . . . . . . . 17
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 18 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
15.1. Normative References . . . . . . . . . . . . . . . . . . 19 15.1. Normative References . . . . . . . . . . . . . . . . . . 19
15.2. Informative References . . . . . . . . . . . . . . . . . 19 15.2. Informative References . . . . . . . . . . . . . . . . . 19
Appendix A. Loop Problem and Solution . . . . . . . . . . . . . 20 Appendix A. Loop Problem and Solution . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
Bidirectional Forwarding Detection (BFD), [RFC5880] and related Bidirectional Forwarding Detection (BFD), [RFC5880] and related
documents, has efficiently generalized the failure detection documents, has efficiently generalized the failure detection
mechanism for multiple protocols and applications. There are some mechanism for multiple protocols and applications. There are some
improvements which can be made to better fit existing technologies. improvements that can be made to better fit existing technologies.
There is a possibility of evolving BFD to better fit new There is a possibility of evolving BFD to better fit new
technologies. This document focuses on several aspects of BFD in technologies. This document focuses on several aspects of BFD in
order to further improve efficiency, to expand failure detection order to further improve efficiency, to expand failure detection
coverage and to allow BFD usage for wider scenarios. Additional use coverage and to allow BFD usage for wider scenarios. Additional use
cases are listed in [I-D.ietf-bfd-seamless-use-case]. cases are listed in [I-D.ietf-bfd-seamless-use-case].
Specifically, this document defines Seamless Bidirectional Forwarding Specifically, this document defines Seamless Bidirectional Forwarding
Detection (S-BFD) a simplified mechanism to use Bidirectional Detection (S-BFD) a simplified mechanism to use Bidirectional
Forwarding Detection (BFD) with large portions of negotiation aspects Forwarding Detection (BFD) with large portions of negotiation aspects
eliminated, thus providing benefits such as quick provisioning as eliminated, thus providing benefits such as quick provisioning as
skipping to change at page 4, line 36 skipping to change at page 4, line 36
o S-BFD discriminator - a BFD discriminator allocated for a local o S-BFD discriminator - a BFD discriminator allocated for a local
entity and is being listened by an SBFDReflector. entity and is being listened by an SBFDReflector.
o BFD discriminator - a BFD discriminator allocated for an o BFD discriminator - a BFD discriminator allocated for an
SBFDInitiator. SBFDInitiator.
o Initiator - a network node hosting an SBFDInitiator. o Initiator - a network node hosting an SBFDInitiator.
o Responder - a network node hosting an SBFDReflector. o Responder - a network node hosting an SBFDReflector.
Below figure describes the relationship between S-BFD terminologies. Figure 1 describes the relationship between S-BFD terminologies.
+---------------------+ +------------------------+ +---------------------+ +------------------------+
| Initiator | | Responder | | Initiator | | Responder |
| +-----------------+ | | +-----------------+ | | +-----------------+ | | +-----------------+ |
| | SBFDInitiator |---S-BFD ctrl pkt----->| SBFDReflector | | | | SBFDInitiator |---S-BFD ctrl pkt----->| SBFDReflector | |
| | +-------------+ |<--S-BFD ctrl pkt------| +-------------+ | | | | +-------------+ |<--S-BFD ctrl pkt------| +-------------+ | |
| | | BFD discrim | | | | | |S-BFD discrim| | | | | | BFD discrim | | | | | |S-BFD discrim| | |
| | | | |---S-BFD echo pkt---+ | | | | | | | | | |---S-BFD echo pkt---+ | | | | |
| | +-------------+ | | | | | +----------^--+ | | | | +-------------+ | | | | | +----------^--+ | |
| +-----------------+<-------------------+ +------------|----+ | | +-----------------+<-------------------+ +------------|----+ |
| | | | | | | | | |
| | | +---v----+ | | | | +---v----+ |
| | | | Entity | | | | | | Entity | |
| | | +--------+ | | | | +--------+ |
+---------------------+ +------------------------+ +---------------------+ +------------------------+
Figure 1: S-BFD Terminology Relationship Figure 1: S-BFD Terminology Relationship
3. Seamless BFD Overview 3. Seamless BFD Overview
An S-BFD module on each network node allocates one or more S-BFD An S-BFD module on each network node allocates one or more S-BFD
discriminators for local entities, and creates a reflector BFD discriminators for local entities, and creates a reflector BFD
session. Allocated S-BFD discriminators may be advertised by session. Allocated S-BFD discriminators may be advertised by
applications (e.g., OSPF/IS-IS). Required result is that applications (e.g., OSPF/IS-IS). Required result is that
applications, on other network nodes, possess the knowledge of the applications, on other network nodes, possess the knowledge of the
S-BFD discriminators allocated by a remote node to remote entities. S-BFD discriminators allocated by a remote node to remote entities.
The reflector BFD session is to, upon receiving an S-BFD control The reflector BFD session is to, upon receiving an S-BFD control
packet targeted to one of local S-BFD discriminator values, transmit packet targeted to one of local S-BFD discriminator values, transmit
a response S-BFD control packet back to the initiator. a response S-BFD control packet back to the initiator.
Once the above setup is complete, any network node, having the Once the above setup is complete, any network node, having the
knowledge of the S-BFD discriminator allocated to by a remote node to knowledge of the S-BFD discriminator allocated by a remote node to
remote entity/entities, can quickly perform a continuity test to the remote entity/entities, can quickly perform a continuity test to the
remote entity by simply sending S-BFD control packets with remote entity by simply sending S-BFD control packets with
corresponding S-BFD discriminator value in the "your discriminator" corresponding S-BFD discriminator value in the "your discriminator"
field. field.
For example: This is exemplified in Figure 2.
<------- IS-IS Network -------> <------- IS-IS Network ------->
+---------+ +---------+
| | | |
A---------B---------C---------D A---------B---------C---------D
^ ^ ^ ^
| | | |
SystemID SystemID SystemID SystemID
xxx yyy xxx yyy
BFD Discrim BFD Discrim BFD Discrim BFD Discrim
123 456 123 456
Figure 2: S-BFD for IS-IS Network Figure 2: S-BFD for IS-IS Network
S-BFD module in a system IS-IS SystemID xxx (node A) allocates an S-BFD module in a system IS-IS SystemID xxx (node A) allocates an
S-BFD discriminator 123, and IS-IS advertises the S-BFD discriminator S-BFD discriminator 123, and IS-IS advertises the S-BFD discriminator
123 in an IS-IS TLV. S-BFD module in a system with IS-IS SystemID 123 in an IS-IS TLV. S-BFD module in a system with IS-IS SystemID
yyy (node D) allocates an S-BFD discriminator 456, and IS-IS yyy (node D) allocates an S-BFD discriminator 456, and IS-IS
advertises the S-BFD discriminator 456 in an IS-IS TLV. A reflector advertises the S-BFD discriminator 456 in an IS-IS TLV. A reflector
BFD session is created on both network nodes (node A and node D). BFD session is created on both network nodes (node A and node D).
When network node A wants to check the reachability to network node When network node A wants to check the reachability to network node
D, node A can send an S-BFD control packet, destined to node D, with D, node A can send an S-BFD control packet, destined to node D, with
"your discriminator" field set to 456. When the reflector BFD "your discriminator" field set to 456. When the reflector BFD
skipping to change at page 6, line 44 skipping to change at page 6, line 42
When a node allocates multiple S-BFD discriminators, how remote nodes When a node allocates multiple S-BFD discriminators, how remote nodes
determine which of the discriminators is associated with a specific determine which of the discriminators is associated with a specific
entity is currently unspecified. The use of multiple S-BFD entity is currently unspecified. The use of multiple S-BFD
discriminators by a single network node is therefore discouraged discriminators by a single network node is therefore discouraged
until a means of learning the mapping is defined. until a means of learning the mapping is defined.
4. S-BFD Discriminators 4. S-BFD Discriminators
4.1. S-BFD Discriminator Uniqueness 4.1. S-BFD Discriminator Uniqueness
One important characteristics of an S-BFD discriminator is that it One important characteristic of an S-BFD discriminator is that it
MUST be unique within an administrative domain. If multiple network MUST be unique within an administrative domain. If multiple network
nodes allocated the same S-BFD discriminator value, then S-BFD nodes allocated the same S-BFD discriminator value, then S-BFD
control packets falsely terminating on a wrong network node can control packets falsely terminating on a wrong network node can
result in a reflector BFD session to generate a response back, due to result in a reflector BFD session to generate a response back, due to
"your discriminator" matching. This is clearly not desirable. "your discriminator" matching. This is clearly not desirable.
4.2. Discriminator Pools 4.2. Discriminator Pools
This subsection describes a discriminator pool implementation This subsection describes a discriminator pool implementation
technique to minimize S-BFD discriminator collisions. The result technique to minimize S-BFD discriminator collisions. The result
skipping to change at page 7, line 47 skipping to change at page 7, line 47
using S-BFD for the same purpose (e.g., network reachability), then using S-BFD for the same purpose (e.g., network reachability), then
the colliding S-BFD discriminator value can be shared. If the two the colliding S-BFD discriminator value can be shared. If the two
applications are using S-BFD for a different purpose, then the applications are using S-BFD for a different purpose, then the
collision must be addressed. The use of multiple S-BFD collision must be addressed. The use of multiple S-BFD
discriminators by a single network node, however, is discouraged (see discriminators by a single network node, however, is discouraged (see
Section 3). Section 3).
5. Reflector BFD Session 5. Reflector BFD Session
Each network node creates one or more reflector BFD sessions. This Each network node creates one or more reflector BFD sessions. This
reflector BFD session is a session which transmits S-BFD control reflector BFD session is a session that transmits S-BFD control
packets in response to received S-BFD control packets with "your packets in response to received S-BFD control packets with "your
discriminator" having S-BFD discriminators allocated for local discriminator" having S-BFD discriminators allocated for local
entities. Specifically, this reflector BFD session has the following entities. Specifically, this reflector BFD session has the following
characteristics: characteristics:
o MUST NOT transmit any S-BFD packets based on local timer expiry. o MUST NOT transmit any S-BFD packets based on local timer expiry.
o MUST transmit an S-BFD control packet in response to a received o MUST transmit an S-BFD control packet in response to a received
S-BFD control packet having a valid S-BFD discriminator in the S-BFD control packet having a valid S-BFD discriminator in the
"your discriminator" field, unless prohibited by local policies "your discriminator" field, unless prohibited by local policies
(e.g., administrative, security, rate-limiter, etc). (e.g., administrative, security, rate-limiter, etc.)
o MUST be capable of sending only two states: UP and ADMINDOWN. o MUST be capable of sending only two states: UP and ADMINDOWN.
One reflector BFD session may be responsible for handling received One reflector BFD session may be responsible for handling received
S-BFD control packets targeted to all locally allocated S-BFD S-BFD control packets targeted to all locally allocated S-BFD
discriminators, or few reflector BFD sessions may each be responsible discriminators, or few reflector BFD sessions may each be responsible
for subset of locally allocated S-BFD discriminators. This policy is for subset of locally allocated S-BFD discriminators. This policy is
a local matter, and is outside the scope of this document. a local matter, and is outside the scope of this document.
Note that incoming S-BFD control packets may be IPv4, IPv6 or MPLS Note that incoming S-BFD control packets may be IPv4, IPv6 or MPLS
skipping to change at page 9, line 20 skipping to change at page 9, line 20
o bfd.DemandMode: This variable MUST be initialized to 1 for session o bfd.DemandMode: This variable MUST be initialized to 1 for session
type SBFDInitiator, and MUST be initialized to 0 for session type type SBFDInitiator, and MUST be initialized to 0 for session type
SBFDReflector. This is done to prevent loops (see Appendix A). SBFDReflector. This is done to prevent loops (see Appendix A).
7. S-BFD Procedures 7. S-BFD Procedures
7.1. Demultiplexing of S-BFD Control Packet 7.1. Demultiplexing of S-BFD Control Packet
S-BFD packet MUST be demultiplexed with lower layer information S-BFD packet MUST be demultiplexed with lower layer information
(e.g., dedicated destination UDP port [I-D.ietf-bfd-seamless-ip], (e.g., dedicated destination UDP port [I-D.ietf-bfd-seamless-ip],
associated channel type [I-D.ietf-pals-seamless-vccv]). Following associated channel type [I-D.ietf-pals-seamless-vccv]). The
procedure SHOULD be executed on both initiator and reflector. following procedure SHOULD be executed on both initiator and
reflector.
If S-BFD packet If S-BFD packet
If S-BFD packet is for SBFDReflector If S-BFD packet is for SBFDReflector
Packet MUST be looked up to locate a corresponding Packet MUST be looked up to locate a corresponding
SBFDReflector session based on the value from the "your SBFDReflector session based on the value from the "your
discriminator" field in the table describing S-BFD discriminator" field in the table describing S-BFD
discriminators. discriminators.
skipping to change at page 10, line 10 skipping to change at page 10, line 10
Else Else
Procedure described in [RFC5880] MUST be applied. Procedure described in [RFC5880] MUST be applied.
More details on S-BFD control packet demultiplexing are described in More details on S-BFD control packet demultiplexing are described in
relevant S-BFD data plane documents. relevant S-BFD data plane documents.
7.2. Responder Procedures 7.2. Responder Procedures
A network node which receives S-BFD control packets transmitted by an A network node that receives S-BFD control packets transmitted by an
initiator is referred as responder. The responder, upon reception of initiator is referred as responder. The responder, upon reception of
S-BFD control packets, is to perform necessary relevant validations S-BFD control packets, is to perform necessary relevant validations
described in [RFC5880]. described in [RFC5880].
7.2.1. Responder Demultiplexing 7.2.1. Responder Demultiplexing
S-BFD packet MUST be demultiplexed with lower layer information. S-BFD packet MUST be demultiplexed with lower layer information. The
Following procedure SHOULD be executed by responder: following procedure SHOULD be executed by the responder:
If "your discriminator" not one of the entry allocated for local If "your discriminator" not one of the entry allocated for local
entities entities
Packet MUST be discarded. Packet MUST be discarded.
Else Else
Packet is determined to be handled by a reflector BFD session Packet is determined to be handled by a reflector BFD session
responsible for that S-BFD discriminator. responsible for that S-BFD discriminator.
If local policy allows (e.g., administrative, security, rate- If local policy allows (e.g., administrative, security, rate-
limiter, etc) limiter, etc.)
Chosen reflector BFD session SHOULD transmit a response BFD Chosen reflector BFD session SHOULD transmit a response BFD
control packet using procedures described in Section 7.3.2. control packet using procedures described in Section 7.2.2.
7.2.2. Transmission of S-BFD Control Packet by SBFDReflector 7.2.2. Transmission of S-BFD Control Packet by SBFDReflector
Contents of S-BFD control packets sent by an SBFDReflector MUST be Contents of S-BFD control packets sent by an SBFDReflector MUST be
set as per Section 6.8.7 of [RFC5880]. There are few fields which set as per Section 6.8.7 of [RFC5880]. There are a few fields that
needs to be set differently from [RFC5880] as follows: needs to be set differently from [RFC5880] as follows:
State (Sta) State (Sta)
Set to bfd.SessionState (either UP or ADMINDOWN only). Set to bfd.SessionState (either UP or ADMINDOWN only).
Clarification of reflector BFD session state is described in Clarification of reflector BFD session state is described in
Section 7.2.3. Section 7.2.3.
Demand (D) Demand (D)
skipping to change at page 11, line 45 skipping to change at page 11, line 45
Set to the minimum required Echo packet receive interval for Set to the minimum required Echo packet receive interval for
this session. this session.
Else Else
Set to 0. Set to 0.
7.2.3. Additional SBFDReflector Behaviors 7.2.3. Additional SBFDReflector Behaviors
o S-BFD control packets transmitted by the SBFDReflector MUST have o S-BFD control packets transmitted by the SBFDReflector MUST have
"Required Min RX Interval" set to a value which expresses, in "Required Min RX Interval" set to a value that expresses, in
microseconds, the minimum interval between incoming S-BFD control microseconds, the minimum interval between incoming S-BFD control
packets this SBFDReflector can handle. The SBFDReflector can packets this SBFDReflector can handle. The SBFDReflector can
control how fast SBFInitiators will be sending S-BFD control control how fast SBFInitiators will be sending S-BFD control
packets to self by ensuring "Required Min RX Interval" indicates a packets to self by ensuring "Required Min RX Interval" indicates a
value based on the current load. value based on the current load.
o When the SBFDReflector receives an S-BFD control packet from an o When the SBFDReflector receives an S-BFD control packet from an
SBFDInitiator, then the SBFDReflector needs to determine what SBFDInitiator, then the SBFDReflector needs to determine what
"state" to send in the response S-BFD control packet. If the "state" to send in the response S-BFD control packet. If the
monitored local entity is in service, then the "state" MUST be set monitored local entity is in service, then the "state" MUST be set
skipping to change at page 12, line 24 skipping to change at page 12, line 24
7.3. Initiator Procedures 7.3. Initiator Procedures
S-BFD control packets transmitted by an SBFDInitiator MUST set "your S-BFD control packets transmitted by an SBFDInitiator MUST set "your
discriminator" field to an S-BFD discriminator corresponding to the discriminator" field to an S-BFD discriminator corresponding to the
remote entity. remote entity.
Every SBFDInitiator MUST have a locally unique "my discriminator" Every SBFDInitiator MUST have a locally unique "my discriminator"
allocated from the BFD discriminator pool. allocated from the BFD discriminator pool.
Below Figure 3 art describes high level concept of continuity test Figure 3 describes the high-level concept of continuity test using
using S-BFD. R2 allocates XX as the S-BFD discriminator for its S-BFD. R2 allocates XX as the S-BFD discriminator for its network
network reachability purpose, and advertises XX to neighbors. ASCII reachability purpose, and advertises XX to neighbors. ASCII art
art shows R1 and R4 performing a continuity test to R2. shows R1 and R4 performing a continuity test to R2.
+--- md=50/yd=XX (ping) ----+ +--- md=50/yd=XX (ping) ----+
| | | |
|+-- md=XX/yd=50 (pong) --+ | |+-- md=XX/yd=50 (pong) --+ |
|| | | || | |
|v | v |v | v
R1 ==================== R2[*] ========= R3 ========= R4 R1 ==================== R2[*] ========= R3 ========= R4
| ^ |^ | ^ |^
| | || | | ||
| +-- md=60/yd=XX (ping) --+| | +-- md=60/yd=XX (ping) --+|
| | | |
+---- md=XX/yd=60 (pong) ---+ +---- md=XX/yd=60 (pong) ---+
[*] Reflector BFD session on R2. [*] Reflector BFD session on R2.
=== Links connecting network nodes. === Links connecting network nodes.
--- S-BFD control packet traversal. --- S-BFD control packet traversal.
Figure 3: S-BFD Continuity Test Figure 3: S-BFD Continuity Test
7.3.1. SBFDInitiator State Machine 7.3.1. SBFDInitiator State Machine
An SBFDInitiator may be a persistent session on the initiator with a An SBFDInitiator may be a persistent session on the initiator with a
timer for S-BFD control packet transmissions (stateful timer for S-BFD control packet transmissions (stateful
SBFDInitiator). An SBFDInitiator may also be a module, a script or a SBFDInitiator). An SBFDInitiator may also be a module, a script or a
tool on the initiator that transmits one or more S-BFD control tool on the initiator that transmits one or more S-BFD control
packets "when needed" (stateless SBFDInitiator). For stateless packets "when needed" (stateless SBFDInitiator). For stateless
SBFDInitiators, a complete BFD state machine may not be applicable. SBFDInitiators, a complete BFD state machine may not be applicable.
For stateful SBFDInitiators, the states and the state machine For stateful SBFDInitiators, the states and the state machine
described in [RFC5880] will not function due to SBFDReflector session described in [RFC5880] will not function due to SBFDReflector session
only sending UP and ADMINDOWN states (i.e., SBFDReflector session only sending UP and ADMINDOWN states (i.e., SBFDReflector session
does not send INIT state). The following diagram provides the does not send INIT state). The following diagram provides the
RECOMMENDED state machine for stateful SBFDInitiators. The notation RECOMMENDED state machine for stateful SBFDInitiators. The notation
on each arc represents the state of the SBFDInitiator (as received in on each arc represents the state of the SBFDInitiator (as received in
the State field in the S-BFD control packet) or indicates the the State field in the S-BFD control packet) or indicates the
expiration of the Detection Timer. expiration of the Detection Timer. See Figure 4.
+--+ +--+
ADMIN DOWN, | | ADMIN DOWN, | |
TIMER | V TIMER | V
+------+ UP +------+ +------+ UP +------+
| |-------------------->| |----+ | |-------------------->| |----+
| DOWN | | UP | | UP | DOWN | | UP | | UP
| |<--------------------| |<---+ | |<--------------------| |<---+
+------+ ADMIN DOWN, +------+ +------+ ADMIN DOWN, +------+
TIMER TIMER
Figure 4: SBFDInitiator FSM Figure 4: SBFDInitiator FSM
Note that the above state machine is different from the base BFD Note that the above state machine is different from the base BFD
specification [RFC5880]. This is because the INIT state is no longer specification [RFC5880]. This is because the INIT state is no longer
applicable for the SBFDInitiator. Another important difference is applicable for the SBFDInitiator. Another important difference is
the transition of the state machine from the DOWN state to the UP the transition of the state machine from the DOWN state to the UP
state when a packet with State UP is received by the SBFDInitiator. state when a packet with State UP is received by the SBFDInitiator.
The definitions of the states and the events have the same meaning as The definitions of the states and the events have the same meaning as
in the base BFD specification [RFC5880]. in the base BFD specification [RFC5880].
7.3.2. Transmission of S-BFD Control Packet by SBFDInitiator 7.3.2. Transmission of S-BFD Control Packet by SBFDInitiator
skipping to change at page 17, line 21 skipping to change at page 17, line 21
The usage of the "Required Min Echo RX Interval" field is described The usage of the "Required Min Echo RX Interval" field is described
in Section 7.3.2 and Section 7.2.2. Because of the stateless nature in Section 7.3.2 and Section 7.2.2. Because of the stateless nature
of SBFDReflector sessions, a value specified the "Required Min Echo of SBFDReflector sessions, a value specified the "Required Min Echo
RX Interval" field is not very meaningful at SBFDReflector. Thus it RX Interval" field is not very meaningful at SBFDReflector. Thus it
is RECOMMENDED that the "Required Min Echo RX Interval" field simply is RECOMMENDED that the "Required Min Echo RX Interval" field simply
be set to zero from SBFDInitiator. SBFDReflector MAY set to be set to zero from SBFDInitiator. SBFDReflector MAY set to
appropriate value to control the rate at which it wants to receives appropriate value to control the rate at which it wants to receives
SBFD echo packets. SBFD echo packets.
Following aspects of S-BFD Echo functions are left as implementation The following aspects of S-BFD Echo functions are left as
details, and are outside the scope of this document: implementation details, and are outside the scope of this document:
o Format of the S-BFD echo packet (e.g., data beyond UDP header). o Format of the S-BFD echo packet (e.g., data beyond UDP header).
o Procedures on when and how to use the S-BFD Echo function. o Procedures on when and how to use the S-BFD Echo function.
11. Security Considerations 11. Security Considerations
Same security considerations as [RFC5880] apply to this document. Same security considerations as [RFC5880] apply to this document.
Additionally, implementing the following measures will strengthen Additionally, implementing the following measures will strengthen
security aspects of the mechanism described by this document: security aspects of the mechanism described by this document:
skipping to change at page 18, line 40 skipping to change at page 18, line 40
services. services.
Considerations about loop problems are covered in Appendix A. Considerations about loop problems are covered in Appendix A.
12. IANA Considerations 12. IANA Considerations
No action is required by IANA for this document. No action is required by IANA for this document.
13. Acknowledgements 13. Acknowledgements
Authors would like to thank Jeffrey Haas, Greg Mirsky, Marc The authors would like to thank Jeffrey Haas, Greg Mirsky, Marc
Binderberger, and Alvaro Retana for performing thorough reviews and Binderberger, and Alvaro Retana for performing thorough reviews and
providing number of suggestions. Authors would like to thank Girija providing number of suggestions. The authors would also like to
Raghavendra Rao, Les Ginsberg, Srihari Raghavan, Vanitha Neelamegam thank Girija Raghavendra Rao, Les Ginsberg, Srihari Raghavan, Vanitha
and Vengada Prasad Govindan from Cisco Systems for providing valuable Neelamegam, and Vengada Prasad Govindan from Cisco Systems for
comments. Authors would also like to thank John E. Drake and Pablo providing valuable comments. Finally, the authors would also like to
Frank for providing comments and suggestions. thank John E. Drake and Pablo Frank for providing comments and
suggestions.
14. Contributors 14. Contributors
The following are key contributors to this document: The following are key contributors to this document:
Tarek Saad, Cisco Systems, Inc. Tarek Saad, Cisco Systems, Inc.
Siva Sivabalan, Cisco Systems, Inc. Siva Sivabalan, Cisco Systems, Inc.
Nagendra Kumar, Cisco Systems, Inc. Nagendra Kumar, Cisco Systems, Inc.
Mallik Mudigonda, Cisco Systems, Inc. Mallik Mudigonda, Cisco Systems, Inc.
Sam Aldrin, Google Sam Aldrin, Google
15. References 15. References
15.1. Normative References 15.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
skipping to change at page 21, line 4 skipping to change at page 21, line 6
back to Node B. Since reflectors must set the TTL of the reflected back to Node B. Since reflectors must set the TTL of the reflected
packets to 255, the above scenario will result in an infinite loop packets to 255, the above scenario will result in an infinite loop
with just one malicious packet injected from MiM. with just one malicious packet injected from MiM.
The solution to avoid the loop problem uses the "D" bit (Demand mode The solution to avoid the loop problem uses the "D" bit (Demand mode
bit). The Initiator always sets the 'D' bit and the reflector always bit). The Initiator always sets the 'D' bit and the reflector always
clears it. This way we can identify if a received packet was a clears it. This way we can identify if a received packet was a
reflected packet and avoid reflecting it back. reflected packet and avoid reflecting it back.
Authors' Addresses Authors' Addresses
Nobo Akiya
Big Switch Networks
Email: nobo.akiya.dev@gmail.com
Carlos Pignataro Carlos Pignataro
Cisco Systems, Inc. Cisco Systems, Inc.
Email: cpignata@cisco.com Email: cpignata@cisco.com
Dave Ward Dave Ward
Cisco Systems, Inc. Cisco Systems, Inc.
Email: wardd@cisco.com Email: wardd@cisco.com
Nobo Akiya
Big Switch Networks
Email: nobo.akiya.dev@gmail.com
Manav Bhatia Manav Bhatia
Ionos Networks Ionos Networks
Email: manav@ionosnetworks.com Email: manav@ionosnetworks.com
Santosh Pallagatti Santosh Pallagatti
Email: santosh.pallagatti@gmail.com Email: santosh.pallagatti@gmail.com
 End of changes. 32 change blocks. 
48 lines changed or deleted 50 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/