draft-ietf-bfd-multipoint-05.txt   draft-ietf-bfd-multipoint-06.txt 
Internet Engineering Task Force D. Katz Internet Engineering Task Force D. Katz
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track D. Ward Intended status: Standards Track D. Ward
Expires: July 16, 2015 Cisco Systems Expires: November 7, 2015 Cisco Systems
S. Pallagatti, Ed. S. Pallagatti, Ed.
Juniper Networks Juniper Networks
January 12, 2015 May 6, 2015
BFD for Multipoint Networks BFD for Multipoint Networks
draft-ietf-bfd-multipoint-05 draft-ietf-bfd-multipoint-06
Abstract Abstract
This document describes extensions to the Bidirectional Forwarding This document describes extensions to the Bidirectional Forwarding
Detection (BFD) protocol for its use in multipoint and multicast Detection (BFD) protocol for its use in multipoint and multicast
networks. Comments on this draft should be directed to rtg- networks. Comments on this draft should be directed to rtg-
bfd@ietf.org. bfd@ietf.org.
Requirements Language Requirements Language
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 July 16, 2015. This Internet-Draft will expire on November 7, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 37 skipping to change at page 2, line 37
4.5. State Machine . . . . . . . . . . . . . . . . . . . . . . 6 4.5. State Machine . . . . . . . . . . . . . . . . . . . . . . 6
4.6. Session Establishment . . . . . . . . . . . . . . . . . . 7 4.6. Session Establishment . . . . . . . . . . . . . . . . . . 7
4.7. Discriminators and Packet Demultiplexing . . . . . . . . 7 4.7. Discriminators and Packet Demultiplexing . . . . . . . . 7
4.8. Packet consumption on tails . . . . . . . . . . . . . . . 7 4.8. Packet consumption on tails . . . . . . . . . . . . . . . 7
4.9. Bringing Up and Shutting Down Multipoint BFD Service . . 8 4.9. Bringing Up and Shutting Down Multipoint BFD Service . . 8
4.10. Timer Manipulation . . . . . . . . . . . . . . . . . . . 8 4.10. Timer Manipulation . . . . . . . . . . . . . . . . . . . 8
4.11. Detection Times . . . . . . . . . . . . . . . . . . . . . 9 4.11. Detection Times . . . . . . . . . . . . . . . . . . . . . 9
4.12. State Maintenance for Down/AdminDown Sessions . . . . . . 9 4.12. State Maintenance for Down/AdminDown Sessions . . . . . . 9
4.12.1. MultipointHead Sessions . . . . . . . . . . . . . . 9 4.12.1. MultipointHead Sessions . . . . . . . . . . . . . . 9
4.12.2. MultipointTail Sessions . . . . . . . . . . . . . . 9 4.12.2. MultipointTail Sessions . . . . . . . . . . . . . . 9
4.13. Base Specification Text Replacement . . . . . . . . . . . 9 4.13. Base Specification Text Replacement . . . . . . . . . . . 10
4.13.1. Reception of BFD Control Packets . . . . . . . . . . 10 4.13.1. Reception of BFD Control Packets . . . . . . . . . . 10
4.13.2. Demultiplexing BFD Control Packets . . . . . . . . . 12 4.13.2. Demultiplexing BFD Control Packets . . . . . . . . . 12
4.13.3. Transmitting BFD Control Packets . . . . . . . . . . 13 4.13.3. Transmitting BFD Control Packets . . . . . . . . . . 13
5. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 16 5. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
7. Security Considerations . . . . . . . . . . . . . . . . . . . 16 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17
9. Normative References . . . . . . . . . . . . . . . . . . . . 17 9. Normative References . . . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
skipping to change at page 4, line 19 skipping to change at page 4, line 19
The heart of this protocol is the periodic transmission of BFD The heart of this protocol is the periodic transmission of BFD
Control packets along a multipoint path, from the head to all tails Control packets along a multipoint path, from the head to all tails
on the tree. The contents of the BFD packets provide the means for on the tree. The contents of the BFD packets provide the means for
the tails to calculate the detection time for path failure. If no the tails to calculate the detection time for path failure. If no
BFD Control packets are received by a tail for a detection time, the BFD Control packets are received by a tail for a detection time, the
tail declares the path to have failed. For some applications this is tail declares the path to have failed. For some applications this is
the only mechanism necessary; the head can remain ignorant of the the only mechanism necessary; the head can remain ignorant of the
tails. tails.
Head may wish to be alerted to the tails' connectivity (or lack Head may wish to be alerted to the tails' connectivity (or lack
thereof). There may be a number of options, details of which are thereof). Details of how head keeps track of tails and how tails
outside scope of this document. alert it's connectivity to head are outside scope of this document.
Although this document describes a single head and a set of tails Although this document describes a single head and a set of tails
spanned by a single multipoint path, the protocol is capable of spanned by a single multipoint path, the protocol is capable of
supporting (and discriminating between) more than one multipoint path supporting (and discriminating between) more than one multipoint path
at both heads and tails. Furthermore, the same head and tail may at both heads and tails. Furthermore, the same head and tail may
share multiple multipoint paths, and a multipoint path may have share multiple multipoint paths, and a multipoint path may have
multiple heads. multiple heads.
4. Protocol Details 4. Protocol Details
This section describes the operation of Multipoint BFD in detail. This section describes the operation of Multipoint BFD in detail.
4.1. Multipoint BFD Control Packets 4.1. Multipoint BFD Control Packets
Multipoint BFD Control packets (packets sent by the head over a Multipoint BFD Control packets (packets sent by the head over a
multipoint path) are explicitly marked as such, via the setting of multipoint path) are explicitly marked as such, via the setting of
the M bit (added to the latest revision of the BFD base the M bit. This means that Multipoint BFD does not depend on the
specification. This means that Multipoint BFD does not depend on the
recipient of a packet to know whether the packet was received over a recipient of a packet to know whether the packet was received over a
multipoint path. This can be useful in scenarios where this multipoint path. This can be useful in scenarios where this
information may not be available to the recipient. information may not be available to the recipient.
4.2. Session Model 4.2. Session Model
Multipoint BFD is modeled as a set of sessions of different types. Multipoint BFD is modeled as a set of sessions of different types.
The elements of procedure differ slightly for each type. The elements of procedure differ slightly for each type.
Point-to-point sessions, as described in [BFD], are of type Point-to-point sessions, as described in [BFD], are of type
skipping to change at page 5, line 49 skipping to change at page 5, line 46
PointToPoint: Classic point-to-point BFD. PointToPoint: Classic point-to-point BFD.
MultipointHead: A session on the head responsible for the MultipointHead: A session on the head responsible for the
periodic transmission of multipoint BFD Control packets periodic transmission of multipoint BFD Control packets
along the multipoint path. along the multipoint path.
MultipointTail: A multipoint session on a tail. MultipointTail: A multipoint session on a tail.
This variable MUST be initialized to the appropriate type when This variable MUST be initialized to the appropriate type when
the session is created, according to the rules in section 4.16. the session is created, according to the rules in Section 4.13
bfd.SilentTail bfd.SilentTail
Always set to 1, a tail will never transmit any BFD Control Always set to 1, a tail will never transmit any BFD Control
packets to the head under any circumstances. Setting to 0 is packets to the head under any circumstances. Setting to 0 is
outside the scope of this document. outside the scope of this document.
This variable is only pertinent when bfd.SessionType is This variable is only pertinent when bfd.SessionType is
MultipointTail. MultipointTail.
4.4.2. State Variable Initialization and Maintenance 4.4.2. State Variable Initialization and Maintenance
Some state variables defined in section 6.8.1 of the BFD base Some state variables defined in section 6.8.1 of the [RFC5880] needs
specification need to be initialized or manipulated differently to be initialized or manipulated differently depending on the session
depending on the session type. type.
bfd.RequiredMinRxInterval bfd.RequiredMinRxInterval
This variable MUST be set to 0 for session type MultipointHead. This variable MUST be set to 0 for session type MultipointHead.
bfd.DemandMode bfd.DemandMode
This variable MUST be initialized to 1 for session type This variable MUST be initialized to 1 for session type
MultipointHead and MUST be initialized to 0 for session type MultipointHead and MUST be initialized to 0 for session type
MultipointTail. MultipointTail.
4.5. State Machine 4.5. State Machine
The BFD state machine works slightly differently in the multipoint The BFD state machine works slightly differently in the multipoint
application. In particular, since there is a many-to-one mapping, application. In particular, since there is a many-to-one mapping,
three-way handshakes for session establishment and teardown are three-way handshakes for session establishment and teardown are
neither possible nor appropriate. As such there is no Init state. neither possible nor appropriate. As such there is no Init state.
Session of type MultipointHead MUST NOT send BFD control packets with
the State field being set to INIT, and must be ignored on receipt.
The following diagram provides an overview of the state machine for The following diagram provides an overview of the state machine for
session type MultipointTail. The notation on each arc represents the session type MultipointTail. The notation on each arc represents the
state of the remote system (as received in the State field in the BFD state of the remote system (as received in the State field in the BFD
Control packet) or indicates the expiration of the Detection Timer. Control packet) or indicates the expiration of the Detection Timer.
DOWN, ADMIN DOWN, DOWN, ADMIN DOWN,
+------+ TIMER +------+ +------+ TIMER +------+
+----| |<---------------------| |----+ +----| |<---------------------| |----+
DOWN,| | DOWN | | UP | |UP DOWN,| | DOWN | | UP | |UP
ADMIN DOWN,+--->| |--------------------->| |<---+ ADMIN DOWN,+--->| |--------------------->| |<---+
TIMER +------+ UP +------+ TIMER +------+ UP +------+
Sessions of type MultipointHead never receive packets and have no Sessions of type MultipointHead never receive packets and have no
Detection Timer, and as such all state transitions are Detection Timer, and as such all state transitions are
administratively driven. administratively driven.
4.6. Session Establishment 4.6. Session Establishment
skipping to change at page 7, line 50 skipping to change at page 7, line 50
case of penultimate hop popping is outside the scope of this case of penultimate hop popping is outside the scope of this
document. document.
Note that, unlike PointToPoint sessions, the discriminator values on Note that, unlike PointToPoint sessions, the discriminator values on
all multipoint session types MUST NOT be changed during the life of a all multipoint session types MUST NOT be changed during the life of a
session. This is a side effect of the more complex demultiplexing session. This is a side effect of the more complex demultiplexing
scheme. scheme.
4.8. Packet consumption on tails 4.8. Packet consumption on tails
Tail MUST consume packet with destination UDP port number "3784" on BFD packets received on tails for a multicast group MUST be consumed
IP multipoint path. For multipoint LSP, tail MUST use destination by tails and MUST not be forwarded to receivers. Session of type
UDP port "3784" and IP "127.0.0.0/8" range. MultipointTail MUST identify the packet as BFD with the help of
destination UDP port number "3784" on IP multipoint path. For
multipoint LSP, MultipointTail MUST use destination UDP port "3784"
and IP "127.0.0.0/8" range. Packet identified as BFD packet MUST be
consumed by MultipointTail and demultiplex as described in
Section 4.13.2
4.9. Bringing Up and Shutting Down Multipoint BFD Service 4.9. Bringing Up and Shutting Down Multipoint BFD Service
Because there is no three-way handshake in Multipoint BFD, a newly Because there is no three-way handshake in Multipoint BFD, a newly
started head (that does not have any previous state information started head (that does not have any previous state information
available) SHOULD start with bfd.SessionState set to Down and with available) SHOULD start with bfd.SessionState set to Down and with
bfd.RequiredMinRxInterval set to zero in the MultipointHead session. bfd.RequiredMinRxInterval set to zero in the MultipointHead session.
The session SHOULD remain in this state for a time equal to The session SHOULD remain in this state for a time equal to
(bfd.DesiredMinTxInterval * bfd.DetectMult). This will ensure that (bfd.DesiredMinTxInterval * bfd.DetectMult). This will ensure that
all MultipointTail sessions are reset (so long as the restarted head all MultipointTail sessions are reset (so long as the restarted head
skipping to change at page 8, line 27 skipping to change at page 8, line 32
Multipoint BFD service is brought up by administratively setting Multipoint BFD service is brought up by administratively setting
bfd.SessionState to Up in the MultipointHead session. bfd.SessionState to Up in the MultipointHead session.
A head may wish to shut down its BFD service in a controlled fashion. A head may wish to shut down its BFD service in a controlled fashion.
This is desirable because the tails need not wait a detection time This is desirable because the tails need not wait a detection time
prior to declaring the multipoint session to be down (and taking prior to declaring the multipoint session to be down (and taking
whatever action is necessary in that case.) whatever action is necessary in that case.)
To shut down a multipoint session a head MUST administratively set To shut down a multipoint session a head MUST administratively set
bfd.SessionState in the MultipointHead session to either Down or bfd.SessionState in the MultipointHead session to either Down or
AdminDown and SHOULD set bfd.RequiredMinRxInterval to zero (to keep AdminDown and SHOULD set bfd.RequiredMinRxInterval to zero. The
the tails from sending any BFD Control packets back.) The session session SHOULD send BFD Control packets in this state for a period
SHOULD send BFD Control packets in this state for a period equal to equal to (bfd.DesiredMinTxInterval * bfd.DetectMult).
(bfd.DesiredMinTxInterval * bfd.DetectMult).
The semantic difference between Down and AdminDown state is for The semantic difference between Down and AdminDown state is for
further discussion. further discussion.
4.10. Timer Manipulation 4.10. Timer Manipulation
Because of the one-to-many mapping, a session of type MultipointHead Because of the one-to-many mapping, a session of type MultipointHead
SHOULD NOT initiate a Poll Sequence in conjunction with timer value SHOULD NOT initiate a Poll Sequence in conjunction with timer value
changes. However to indicate change in packet MultipointHead session changes. However to indicate change in packet MultipointHead session
MUST send packet with P bit set. MultipointTail session MUST NOT MUST send packet with P bit set. MultipointTail session MUST NOT
skipping to change at page 9, line 44 skipping to change at page 9, line 49
AdminDown, the state SHOULD be maintained for a period equal to AdminDown, the state SHOULD be maintained for a period equal to
(bfd.DesiredMinTxInterval * bfd.DetectMult) to ensure that the tails (bfd.DesiredMinTxInterval * bfd.DetectMult) to ensure that the tails
more quickly detect the session going down (by continuing to transmit more quickly detect the session going down (by continuing to transmit
BFD Control packets with the new state.) BFD Control packets with the new state.)
4.12.2. MultipointTail Sessions 4.12.2. MultipointTail Sessions
MultipointTail sessions MAY be destroyed immediately upon leaving Up MultipointTail sessions MAY be destroyed immediately upon leaving Up
state, since tail will transmit no packets. state, since tail will transmit no packets.
Otherwise, MultipointTail sessions MUST be maintained as long as BFD Otherwise, MultipointTail sessions SHOULD be maintained as long as
Control packets are being received by it (which by definition will BFD Control packets are being received by it (which by definition
indicate that the head is not Up.) will indicate that the head is not Up.)
4.13. Base Specification Text Replacement 4.13. Base Specification Text Replacement
The following sections are meant to replace the corresponding The following sections are meant to replace the corresponding
sections in the base specification. sections in the base specification.
4.13.1. Reception of BFD Control Packets 4.13.1. Reception of BFD Control Packets
The following procedure replaces section 6.8.6 of [RFC5880]. The following procedure replaces section 6.8.6 of [RFC5880].
skipping to change at page 10, line 29 skipping to change at page 10, line 34
discarded. discarded.
If the Length field is greater than the payload of the If the Length field is greater than the payload of the
encapsulating protocol, the packet MUST be discarded. encapsulating protocol, the packet MUST be discarded.
If the Detect Mult field is zero, the packet MUST be discarded. If the Detect Mult field is zero, the packet MUST be discarded.
If the My Discriminator field is zero, the packet MUST be If the My Discriminator field is zero, the packet MUST be
discarded. discarded.
Demultiplex the packet to a session according to section 4.16.2 Demultiplex the packet to a session according to Section 4.13.2
below. The result is either a session of the proper type, or the below. The result is either a session of the proper type, or the
packet is discarded (and packet processing MUST cease.) packet is discarded (and packet processing MUST cease.)
If the A bit is set and no authentication is in use (bfd.AuthType If the A bit is set and no authentication is in use (bfd.AuthType
is zero), the packet MUST be discarded. is zero), the packet MUST be discarded.
If the A bit is clear and authentication is in use (bfd.AuthType If the A bit is clear and authentication is in use (bfd.AuthType
is nonzero), the packet MUST be discarded. is nonzero), the packet MUST be discarded.
If the A bit is set, the packet MUST be authenticated under the If the A bit is set, the packet MUST be authenticated under the
skipping to change at page 11, line 13 skipping to change at page 11, line 16
Interval. Interval.
If the Required Min Echo RX Interval field is zero, the If the Required Min Echo RX Interval field is zero, the
transmission of Echo packets, if any, MUST cease. transmission of Echo packets, if any, MUST cease.
If a Poll Sequence is being transmitted by the local system and If a Poll Sequence is being transmitted by the local system and
the Final (F) bit in the received packet is set, the Poll Sequence the Final (F) bit in the received packet is set, the Poll Sequence
MUST be terminated. MUST be terminated.
If bfd.SessionType is PointToPoint, update the transmit interval If bfd.SessionType is PointToPoint, update the transmit interval
as described in [BFD] section 6.8.2. as described in [RFC5880] section 6.8.2.
If bfd.SessionType is PointToPoint, update the Detection Time as If bfd.SessionType is PointToPoint, update the Detection Time as
described in [BFD] section 6.8.4. Otherwise, update the Detection described in [RFC5880] section 6.8.4. Otherwise, update the
Time as described in section 4.14 above. Detection Time as described in Section 4.11 above.
If bfd.SessionState is AdminDown If bfd.SessionState is AdminDown
Discard the packet Discard the packet
If received state is AdminDown If received state is AdminDown
If bfd.SessionState is not Down If bfd.SessionState is not Down
Set bfd.LocalDiag to 3 (Neighbor signaled session down) Set bfd.LocalDiag to 3 (Neighbor signaled session down)
skipping to change at page 12, line 22 skipping to change at page 12, line 25
Set bfd.LocalDiag to 3 (Neighbor signaled session down) Set bfd.LocalDiag to 3 (Neighbor signaled session down)
Set bfd.SessionState to Down Set bfd.SessionState to Down
Check to see if Demand mode should become active or not (see Check to see if Demand mode should become active or not (see
[RFC5880] section 6.6). [RFC5880] section 6.6).
If bfd.RemoteDemandMode is 1, bfd.SessionState is Up, and If bfd.RemoteDemandMode is 1, bfd.SessionState is Up, and
bfd.RemoteSessionState is Up, Demand mode is active on the remote bfd.RemoteSessionState is Up, Demand mode is active on the remote
system and the local system MUST cease the periodic transmission system and the local system MUST cease the periodic transmission
of BFD Control packets (see section 4.16.3.) of BFD Control packets (see Section 4.13.3.)
If bfd.RemoteDemandMode is 0, or bfd.SessionState is not Up, or If bfd.RemoteDemandMode is 0, or bfd.SessionState is not Up, or
bfd.RemoteSessionState is not Up, Demand mode is not active on the bfd.RemoteSessionState is not Up, Demand mode is not active on the
remote system and the local system MUST send periodic BFD Control remote system and the local system MUST send periodic BFD Control
packets (see section 4.16.3.) packets (see see Section 4.13.3.)
If the packet was not discarded, it has been received for purposes If the packet was not discarded, it has been received for purposes
of the Detection Time expiration rules in [BFD] section 6.8.4. of the Detection Time expiration rules in [RFC5880] section 6.8.4.
4.13.2. Demultiplexing BFD Control Packets 4.13.2. Demultiplexing BFD Control Packets
This section is part of the replacement for [RFC5880] section 6.8.6, This section is part of the replacement for [RFC5880] section 6.8.6,
separated for clarity. separated for clarity.
If the Multipoint (M) bit is set If the Multipoint (M) bit is set
If the Your Discriminator field is nonzero, the packet MUST be If the Your Discriminator field is nonzero, the packet MUST be
discarded. discarded.
Select a session based on the source address and the My Select a session as based on source address, My Discriminator
Discriminator field. If a session is found, and and the identity of the multipoint tree which the Multipoint
BFD Control packet was received. If a session is found, and
bfd.SessionType is not MultipointTail, the packet MUST be bfd.SessionType is not MultipointTail, the packet MUST be
discarded. If a session is not found, a new session of type discarded. If a session is not found, a new session of type
MultipointTail MAY be created, or the packet MAY be discarded. MultipointTail MAY be created, or the packet MAY be discarded.
This choice is outside the scope of this specification. This choice is outside the scope of this specification.
Else (Multipoint bit is clear) Else (Multipoint bit is clear)
If the Your Discriminator field is nonzero If the Your Discriminator field is nonzero
Select a session based on the value of Your Discriminator. Select a session based on the value of Your Discriminator.
If no session is found, the packet MUST be discarded. If no session is found, the packet MUST be discarded.
Else (Your Discriminator is zero) Else (Your Discriminator is zero)
If the State field is not Down or AdminDown, the packet MUST If the State field is not Down or AdminDown, the packet MUST
be discarded. be discarded.
Otherwise, the session MUST be selected based on some Otherwise, the session MUST be selected based on some
combination of other fields, possibly including source combination of other fields, possibly including source
skipping to change at page 13, line 34 skipping to change at page 13, line 39
This choice is outside the scope of this specification. This choice is outside the scope of this specification.
If the State field is Init and bfd.SessionType is not If the State field is Init and bfd.SessionType is not
PointToPoint, the packet MUST be discarded. PointToPoint, the packet MUST be discarded.
4.13.3. Transmitting BFD Control Packets 4.13.3. Transmitting BFD Control Packets
The following procedure replaces section 6.8.7 of [RFC5880]. The following procedure replaces section 6.8.7 of [RFC5880].
BFD Control packets MUST be transmitted periodically at the rate BFD Control packets MUST be transmitted periodically at the rate
determined according to [BFD] section 6.8.2, except as specified in determined according to [RFC5880] section 6.8.2, except as specified
this section. in this section.
A system MUST NOT transmit any BFD Control packets if bfd.RemoteDiscr A system MUST NOT transmit any BFD Control packets if bfd.RemoteDiscr
is zero and the system is taking the Passive role. is zero and the system is taking the Passive role.
A system MUST NOT transmit any BFD Control packets if bfd.SilentTail A system MUST NOT transmit any BFD Control packets if bfd.SilentTail
is 1. is 1.
A system MUST NOT periodically transmit BFD Control packets if Demand A system MUST NOT periodically transmit BFD Control packets if Demand
mode is active on the remote system (bfd.RemoteDemandMode is 1, mode is active on the remote system (bfd.RemoteDemandMode is 1,
bfd.SessionState is Up, and bfd.RemoteSessionState is Up) and a Poll bfd.SessionState is Up, and bfd.RemoteSessionState is Up) and a Poll
skipping to change at page 14, line 15 skipping to change at page 14, line 18
If bfd.SessionType is MultipointHead, the transmit interval MUST be If bfd.SessionType is MultipointHead, the transmit interval MUST be
set to bfd.DesiredMinTxInterval (this should happen automatically, as set to bfd.DesiredMinTxInterval (this should happen automatically, as
bfd.RemoteMinRxInterval will be zero.) bfd.RemoteMinRxInterval will be zero.)
If bfd.SessionType is not MultipointHead, the transmit interval MUST If bfd.SessionType is not MultipointHead, the transmit interval MUST
be recalculated whenever bfd.DesiredMinTxInterval changes, or be recalculated whenever bfd.DesiredMinTxInterval changes, or
whenever bfd.RemoteMinRxInterval changes, and is equal to the greater whenever bfd.RemoteMinRxInterval changes, and is equal to the greater
of those two values. See [BFD] sections 6.8.2 and 6.8.3 for details of those two values. See [BFD] sections 6.8.2 and 6.8.3 for details
on transmit timers. on transmit timers.
If a BFD Control packet is received with the Poll (P) bit set to 1,
the receiving system MUST transmit a BFD Control packet with the Poll
(P) bit clear and the Final (F) bit, without respect to the
transmission timer or any other transmission limitations, without
respect to the session state, and without respect to whether Demand
mode is active on either system. A system MAY limit the rate at
which such packets are transmitted. If rate limiting is in effect,
the advertised value of Desired Min TX Interval MUST be greater than
or equal to the interval between transmitted packets imposed by the
rate limiting function. If the Multipoint (M) bit is set in the
received packet, the packet transmission MUST be delayed by a random
amount of time between zero and (0.9 * bfd.RemoteMinRxInterval).
Otherwise, the packet MUST be transmitted as soon as practicable.
A system MUST NOT set the Demand (D) bit if bfd.SessionType is A system MUST NOT set the Demand (D) bit if bfd.SessionType is
MultipointTail. MultipointTail.
A system MUST NOT set the Demand (D) bit if bfd.SessionType A system MUST NOT set the Demand (D) bit if bfd.SessionType
PointToPoint unless bfd.DemandMode is 1, bfd.SessionState is Up, and PointToPoint unless bfd.DemandMode is 1, bfd.SessionState is Up, and
bfd.RemoteSessionState is Up. bfd.RemoteSessionState is Up.
If bfd.SessionType is PointToPoint or MultipointHead, a BFD Control If bfd.SessionType is PointToPoint or MultipointHead, a BFD Control
packet SHOULD be transmitted during the interval between periodic packet SHOULD be transmitted during the interval between periodic
Control packet transmissions when the contents of that packet would Control packet transmissions when the contents of that packet would
 End of changes. 24 change blocks. 
50 lines changed or deleted 43 lines changed or added

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