| rfc9468.original | rfc9468.txt | |||
|---|---|---|---|---|
| Network Working Group E. Chen | Internet Engineering Task Force (IETF) E. Chen | |||
| Internet-Draft Palo Alto Networks | Request for Comments: 9468 Palo Alto Networks | |||
| Intended status: Standards Track N. Shen | Category: Standards Track N. Shen | |||
| Expires: 29 October 2023 Zededa | ISSN: 2070-1721 Zededa | |||
| R. Raszuk | R. Raszuk | |||
| Arrcus | Arrcus | |||
| R. Rahman | R. Rahman | |||
| Graphiant | Equinix | |||
| 27 April 2023 | August 2023 | |||
| Unsolicited BFD for Sessionless Applications | Unsolicited Bidirectional Forwarding Detection (BFD) for Sessionless | |||
| draft-ietf-bfd-unsolicited-16 | Applications | |||
| Abstract | Abstract | |||
| For operational simplification of "sessionless" applications using | For operational simplification of "sessionless" applications using | |||
| Bidirectional Forwarding Detection (BFD), in this document we present | Bidirectional Forwarding Detection (BFD), in this document, we | |||
| procedures for "unsolicited BFD" that allow a BFD session to be | present procedures for "unsolicited BFD" that allow a BFD session to | |||
| initiated by only one side, and established without explicit per- | be initiated by only one side and established without explicit per- | |||
| session configuration or registration by the other side (subject to | session configuration or registration by the other side (subject to | |||
| certain per-interface or global policies). | certain per-interface or global policies). | |||
| We also introduce a new YANG module to configure and manage | We also introduce a new YANG module to configure and manage | |||
| "unsolicited BFD". The YANG module in this document is based on YANG | "unsolicited BFD". The YANG module in this document is based on YANG | |||
| 1.1 as defined in RFC 7950 and conforms to the Network Management | 1.1, as defined in RFC 7950, and conforms to the Network Management | |||
| Datastore Architecture (NMDA) as described in RFC 8342. This | Datastore Architecture (NMDA), as described in RFC 8342. This | |||
| document augments RFC 9314. | document augments RFC 9314. | |||
| Requirements Language | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 29 October 2023. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9468. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. Procedures for Unsolicited BFD . . . . . . . . . . . . . . . 4 | 1.1. Requirements Language | |||
| 3. State Variables . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Procedures for Unsolicited BFD | |||
| 4. YANG Data Model . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. State Variables | |||
| 4.1. Unsolicited BFD Hierarchy . . . . . . . . . . . . . . . . 5 | 4. YANG Data Model | |||
| 4.2. Unsolicited BFD Module . . . . . . . . . . . . . . . . . 6 | 4.1. Unsolicited BFD Hierarchy | |||
| 4.3. Data Model Example . . . . . . . . . . . . . . . . . . . 11 | 4.2. Unsolicited BFD Module | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 4.3. Data Model Example | |||
| 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 | 5. IANA Considerations | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 6. Security Considerations | |||
| 7.1. BFD Protocol Security Considerations . . . . . . . . . . 13 | 6.1. BFD Protocol Security Considerations | |||
| 7.2. BFD Protocol Authentication Considerations . . . . . . . 14 | 6.2. BFD Protocol Authentication Considerations | |||
| 7.3. YANG Module Security Considerations . . . . . . . . . . . 14 | 6.3. YANG Module Security Considerations | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 7. References | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 15 | 7.1. Normative References | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 17 | 7.2. Informative References | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | Acknowledgments | |||
| Authors' Addresses | ||||
| 1. Introduction | 1. Introduction | |||
| The current implementation and deployment practice for BFD ([RFC5880] | The current implementation and deployment practice for BFD ([RFC5880] | |||
| and [RFC5881]) usually requires BFD sessions be explicitly configured | and [RFC5881]) usually requires that BFD sessions be explicitly | |||
| or registered on both sides. This requirement is not an issue when | configured or registered on both sides. This requirement is not an | |||
| an application like BGP [RFC4271] has the concept of a "session" that | issue when an application like BGP [RFC4271] has the concept of a | |||
| involves both sides for its establishment. However, this requirement | "session" that involves both sides for its establishment. However, | |||
| can be operationally challenging when the prerequisite "session" does | this requirement can be operationally challenging when the | |||
| not naturally exist between two endpoints in an application. | prerequisite "session" does not naturally exist between two endpoints | |||
| Simultaneous configuration and coordination may be required on both | in an application. Simultaneous configuration and coordination may | |||
| sides for BFD to take effect. For example: | be required on both sides for BFD to take effect. For example: | |||
| * When BFD is used to keep track of the "liveness" of the nexthop of | * When BFD is used to keep track of the "liveness" of the next hop | |||
| static routes. Although only one side may need the BFD | of static routes. Although only one side may need the BFD | |||
| functionality, currently both sides need to be involved in | functionality, currently, both sides need to be involved in | |||
| specific configuration and coordination and in some cases static | specific configuration and coordination, and in some cases, static | |||
| routes are created unnecessarily just for BFD. | routes are created unnecessarily just for BFD. | |||
| * When BFD is used to keep track of the "liveness" of the third-pary | ||||
| nexthop of BGP routes received from the Route Server [RFC7947] at | ||||
| an Internet Exchange Point (IXP). As the third-party nexthop is | ||||
| different from the peering address of the Route Server, for BFD to | ||||
| work, currently two routers peering with the Route Server need to | ||||
| have routes and nexthops from each other (although indirectly via | ||||
| the Route Server). | ||||
| Clearly it is beneficial and desirable to reduce or eliminate | * When BFD is used to keep track of the "liveness" of the third- | |||
| party next hop of BGP routes received from the Route Server | ||||
| [RFC7947] at an Internet Exchange Point (IXP). As the third-party | ||||
| next hop is different from the peering address of the Route | ||||
| Server, for BFD to work, currently, two routers peering with the | ||||
| Route Server need to have routes and next hops from each other | ||||
| (although indirectly via the Route Server). | ||||
| Clearly, it is beneficial and desirable to reduce or eliminate | ||||
| unnecessary configurations and coordination in these "sessionless" | unnecessary configurations and coordination in these "sessionless" | |||
| applications using BFD. | applications using BFD. | |||
| In this document we present procedures for "unsolicited BFD" that | In this document, we present procedures for "unsolicited BFD" that | |||
| allow a BFD session to be initiated by only one side, and established | allow a BFD session to be initiated by only one side and established | |||
| without explicit per-session configuration or registration by the | without explicit per-session configuration or registration by the | |||
| other side (subject to certain per-interface or global policies). | other side (subject to certain per-interface or global policies). | |||
| Unsolicited BFD impacts only the initiation of BFD sessions. There | Unsolicited BFD impacts only the initiation of BFD sessions. There | |||
| is no change to all the other procedures specified in [RFC5880] such | is no change to all the other procedures specified in [RFC5880], such | |||
| as, but not limited to, the Echo function and Demand mode. | as, but not limited to, the Echo function and Demand mode. | |||
| With "unsolicited BFD" there is potential risk for excessive resource | With "unsolicited BFD", there is potential risk for excessive | |||
| usage by BFD from "unexpected" remote systems. To mitigate such | resource usage by BFD from "unexpected" remote systems. To mitigate | |||
| risks, several mechanisms are recommended in the Security | such risks, several mechanisms are recommended in the Security | |||
| Considerations section. | Considerations section. | |||
| The procedure described in this document could be applied to BFD for | The procedure described in this document could be applied to BFD for | |||
| Multihop paths [RFC5883]. However, because of security risks, this | multihop paths [RFC5883]. However, because of security risks, this | |||
| document applies only to BFD for single IP hops [RFC5881]. | document applies only to BFD for single IP hops [RFC5881]. | |||
| Compared to the "Seamless BFD" [RFC7880], this proposal involves only | Compared to the "Seamless BFD" [RFC7880], this proposal involves only | |||
| minor procedural enhancements to the widely deployed BFD itself. | minor procedural enhancements to the widely deployed BFD itself. | |||
| Thus, we believe that this proposal is inherently simpler in the | Thus, we believe that this proposal is inherently simpler in the | |||
| protocol itself and deployment. As an example, it does not require | protocol itself and deployment. As an example, it does not require | |||
| the exchange of BFD discriminators over an out-of-band channel before | the exchange of BFD discriminators over an out-of-band channel before | |||
| BFD session bring-up. | BFD session bring-up. | |||
| When BGP Add-Path [RFC7911] is deployed at an IXP using a Route | When BGP ADD-PATH [RFC7911] is deployed at an IXP using a Route | |||
| Server, multiple BGP paths (when they exist) can be made available to | Server, multiple BGP paths (when they exist) can be made available to | |||
| the clients of the Route Server as described in [RFC7947]. | the clients of the Route Server, as described in [RFC7947]. | |||
| Unsolicited BFD can be used by BGP route selection's Route | Unsolicited BFD can be used by BGP route selection's route | |||
| Resolvability Condition Section 9.1.2.1 of [RFC4271] to exclude | resolvability condition (Section 9.1.2.1 of [RFC4271]) to exclude | |||
| routes where the NEXT_HOP is not reachable using the procedures | routes where the NEXT_HOP is not reachable using the procedures | |||
| specified in this document. | specified in this document. | |||
| 1.1. Requirements Language | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in | ||||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 2. Procedures for Unsolicited BFD | 2. Procedures for Unsolicited BFD | |||
| With "unsolicited BFD", one side takes the "Active role" and the | With "unsolicited BFD", one side takes the "Active role" and the | |||
| other side takes only the "Passive role" as described in [RFC5880], | other side takes the "Passive role", as described in [RFC5880], | |||
| section 6.1. | Section 6.1. | |||
| Passive unsolicited BFD support MUST be disabled by default, and MUST | Passive unsolicited BFD support MUST be disabled by default and MUST | |||
| require explicit configuration to be enabled. On the passive side, | require explicit configuration to be enabled. On the passive side, | |||
| the following BFD parameters, from [RFC5880] section 6.8.1 SHOULD be | the following BFD parameters, from [RFC5880], Section 6.8.1, SHOULD | |||
| configurable: | be configurable: | |||
| * bfd.DesiredMinTxInterval | * bfd.DesiredMinTxInterval | |||
| * bfd.RequiredMinRxInterval | * bfd.RequiredMinRxInterval | |||
| * bfd.DetectMult | * bfd.DetectMult | |||
| The passive side MAY also choose to use the values of the parameters | The passive side MAY also choose to use the values of the parameters | |||
| above that the active side uses in its BFD Control packets. However, | listed above that the active side uses in its BFD Control packets. | |||
| the bfd.LocalDiscr value MUST be selected by the passive side to | However, the bfd.LocalDiscr value MUST be selected by the passive | |||
| allow multiple unsolicited BFD sessions. | side to allow multiple unsolicited BFD sessions. | |||
| The active side starts sending the BFD Control packets as specified | The active side starts sending the BFD Control packets, as specified | |||
| in [RFC5880]. The passive side does not send BFD Control packets | in [RFC5880]. The passive side does not send BFD Control packets | |||
| initially, it sends BFD Control packets only after it has received | initially; it sends BFD Control packets only after it has received | |||
| BFD Control packets from the active side. | BFD Control packets from the active side. | |||
| When the passive side receives a BFD Control packet from the active | When the passive side receives a BFD Control packet from the active | |||
| side with 0 as "Your Discriminator" and does not find an existing BFD | side with 0 as "Your Discriminator" and does not find an existing BFD | |||
| session, the passive side SHOULD create a matching BFD session toward | session, the passive side SHOULD create a matching BFD session toward | |||
| the active side, unless not permitted by local configuration or | the active side, unless not permitted by local configuration or | |||
| policy. | policy. | |||
| When the passive side receives an incoming BFD Control packet on a | When the passive side receives an incoming BFD Control packet on a | |||
| numbered interface, the source address of that packet MUST belong to | numbered interface, the source address of that packet MUST belong to | |||
| the subnet of the interface on which the BFD packet is received, else | the subnet of the interface on which the BFD packet is received, else | |||
| the BFD control packet MUST NOT be processed. | the BFD Control packet MUST NOT be processed. | |||
| The passive side MUST then start sending BFD Control packets and | The passive side MUST then start sending BFD Control packets and | |||
| perform the necessary procedure for bringing up, maintaining and | perform the necessary procedure for bringing up, maintaining, and | |||
| tearing down the BFD session. If the BFD session fails to get | tearing down the BFD session. If the BFD session fails to get | |||
| established within a certain amount of time (which is implementation | established within a certain amount of time (which is implementation | |||
| specific but has to be at least equal to the local failure detection | specific but has to be at least equal to the local failure detection | |||
| time), or if an established BFD session goes down, the passive side | time) or if an established BFD session goes down, the passive side | |||
| MUST stop sending BFD Control packets and SHOULD delete the BFD | MUST stop sending BFD Control packets and SHOULD delete the BFD | |||
| session created until BFD Control packets are initiated by the active | session created until BFD Control packets are initiated by the active | |||
| side again. | side again. | |||
| When an Unsolicited BFD session goes down, an implementation may | When an unsolicited BFD session goes down, an implementation may | |||
| retain the session state for a period of time. Retaining this state | retain the session state for a period of time. Retaining this state | |||
| can be useful for operational purposes. | can be useful for operational purposes. | |||
| 3. State Variables | 3. State Variables | |||
| This document defines a new state variable called Role. | This document defines a new state variable called Role: | |||
| bfd.Role | bfd.Role | |||
| The role of the local system during BFD session initialization, as | This is the role of the local system during BFD session | |||
| per [RFC5880], section 6.1. Possible values are Active or Passive. | initialization, as per [RFC5880], Section 6.1. Possible values are | |||
| Active or Passive. | ||||
| 4. YANG Data Model | 4. YANG Data Model | |||
| This section extends the YANG data model for BFD [RFC9314] to cover | This section extends the YANG data model for BFD [RFC9314] to cover | |||
| unsolicited BFD. The new module imports [RFC8349] since the "bfd" | unsolicited BFD. The new module imports the YANG modules described | |||
| container in [RFC9314] is under "control-plane-protocol". The YANG | in [RFC8349] since the "bfd" container in [RFC9314] is under | |||
| module in this document conforms to the Network Management Datastore | "control-plane-protocol". The YANG module in this document conforms | |||
| Architecture (NMDA) [RFC8342]. | to the Network Management Datastore Architecture (NMDA) [RFC8342]. | |||
| 4.1. Unsolicited BFD Hierarchy | 4.1. Unsolicited BFD Hierarchy | |||
| Configuration for unsolicited BFD parameters for IP single-hop | Configuration for unsolicited BFD parameters for IP single-hop | |||
| sessions can be done at 2 levels: | sessions can be done at 2 levels: | |||
| * Globally, i.e. for all interfaces. | * globally, i.e., for all interfaces | |||
| * For specific interfaces. This requires support for the | ||||
| "unsolicited-params-per-interface" feature. | * for specific interfaces (this requires support for the | |||
| "unsolicited-params-per-interface" feature) | ||||
| If configuration exists at both levels, per-interface configuration | If configuration exists at both levels, per-interface configuration | |||
| takes precedence over global configuration. | takes precedence over global configuration. | |||
| For operational data, a new "role" leaf node has been added for BFD | For operational data, a new "role" leaf node has been added for BFD | |||
| IP single-hop sessions. | IP single-hop sessions. | |||
| The tree diagram below uses the graphical representation of data | The tree diagram below uses the graphical representation of data | |||
| models, as defined in [RFC8340]. | models, as defined in [RFC8340]. | |||
| module: ietf-bfd-unsolicited | module: ietf-bfd-unsolicited | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh: | /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh: | |||
| +--rw unsolicited? | +--rw unsolicited? | |||
| +--rw local-multiplier? multiplier | +--rw local-multiplier? multiplier | |||
| +--rw (interval-config-type)? | +--rw (interval-config-type)? | |||
| +--:(tx-rx-intervals) | +--:(tx-rx-intervals) | |||
| | +--rw desired-min-tx-interval? uint32 | | +--rw desired-min-tx-interval? uint32 | |||
| | +--rw required-min-rx-interval? uint32 | | +--rw required-min-rx-interval? uint32 | |||
| +--:(single-interval) {single-minimum-interval}? | +--:(single-interval) {single-minimum-interval}? | |||
| +--rw min-interval? uint32 | +--rw min-interval? uint32 | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh | /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh | |||
| /bfd-ip-sh:interfaces: | /bfd-ip-sh:interfaces: | |||
| +--rw unsolicited | +--rw unsolicited | |||
| +--rw enabled? boolean | +--rw enabled? boolean | |||
| +--rw local-multiplier? bfd-types:multiplier {bfd-unsol:unsolicited-params-per-interface}? | +--rw local-multiplier? | |||
| +--rw (interval-config-type)? {bfd-unsol:unsolicited-params-per-interface}? | bfd-types:multiplier | |||
| +--:(tx-rx-intervals) | {bfd-unsol:unsolicited-params-per-interface}? | |||
| | +--rw desired-min-tx-interval? uint32 | +--rw (interval-config-type)? | |||
| | +--rw required-min-rx-interval? uint32 | {bfd-unsol:unsolicited-params-per-interface}? | |||
| +--:(single-interval) {bfd-types:single-minimum-interval}? | +--:(tx-rx-intervals) | |||
| +--rw min-interval? uint32 | | +--rw desired-min-tx-interval? uint32 | |||
| augment /rt:routing/rt:control-plane-protocols | | +--rw required-min-rx-interval? uint32 | |||
| /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh | +--:(single-interval) {bfd-types:single-minimum-interval}? | |||
| /bfd-ip-sh:sessions/bfd-ip-sh:session: | +--rw min-interval? uint32 | |||
| +--ro role? bfd-unsol:role | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh | ||||
| /bfd-ip-sh:sessions/bfd-ip-sh:session: | ||||
| +--ro role? bfd-unsol:role | ||||
| 4.2. Unsolicited BFD Module | 4.2. Unsolicited BFD Module | |||
| <CODE BEGINS> file "ietf-bfd-unsolicited@2023-04-22.yang" | <CODE BEGINS> file "ietf-bfd-unsolicited@2023-08-16.yang" | |||
| module ietf-bfd-unsolicited { | module ietf-bfd-unsolicited { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited"; | |||
| prefix "bfd-unsol"; | prefix bfd-unsol; | |||
| // RFC Ed.: replace occurences of YYYY with actual RFC numbers | ||||
| // and remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9314: YANG Data Model for Bidirectional Forwarding | "RFC 9314: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix bfd; | |||
| reference | reference | |||
| "RFC 9314: YANG Data Model for Bidirectional Forwarding | "RFC 9314: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd-ip-sh { | import ietf-bfd-ip-sh { | |||
| prefix "bfd-ip-sh"; | prefix bfd-ip-sh; | |||
| reference | reference | |||
| "RFC 9314: YANG Data Model for Bidirectional Forwarding | "RFC 9314: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix rt; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA version)"; | (NMDA Version)"; | |||
| } | } | |||
| organization "IETF BFD Working Group"; | organization | |||
| "IETF BFD Working Group"; | ||||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/bfd/> | "WG Web: <https://datatracker.ietf.org/wg/bfd/> | |||
| WG List: <rtg-bfd@ietf.org> | WG List: <rtg-bfd@ietf.org> | |||
| Editors: Enke Chen (enchen@paloaltonetworks.com), | Editors: Enke Chen (enchen@paloaltonetworks.com), | |||
| Naiming Shen (naiming@zededa.com), | Naiming Shen (naiming@zededa.com), | |||
| Robert Raszuk (robert@raszuk.net), | Robert Raszuk (robert@raszuk.net), | |||
| Reshad Rahman (reshad@yahoo.com)"; | Reshad Rahman (reshad@yahoo.com)"; | |||
| description | description | |||
| "This module contains the YANG definition for BFD unsolicited | "This module contains the YANG definition for unsolicited BFD, | |||
| as per RFC YYYY. | as per RFC 9468. | |||
| Copyright (c) 2023 IETF Trust and the persons | Copyright (c) 2023 IETF Trust and the persons | |||
| identified as authors of the code. All rights reserved. | identified as authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Revised BSD License | to the license terms contained in, the Revised BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC YYYY; see | This version of this YANG module is part of RFC 9468; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| reference "RFC YYYY"; | reference | |||
| "RFC 9468: Unsolicited Bidirectional Forwarding Detection | ||||
| (BFD) for Sessionless Applications"; | ||||
| revision 2023-04-22 { | revision 2023-08-16 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC YYYY: Unsolicited BFD for Sessionless Applications."; | "RFC 9468: Unsolicited Bidirectional Forwarding Detection (BFD) | |||
| for Sessionless Applications"; | ||||
| } | } | |||
| /* | /* | |||
| * Feature definitions | * Feature definitions | |||
| */ | */ | |||
| feature unsolicited-params-per-interface { | feature unsolicited-params-per-interface { | |||
| description | description | |||
| "This feature indicates that the server supports per-interface | "This feature indicates that the server supports per-interface | |||
| parameters for unsolicited sessions."; | parameters for unsolicited sessions."; | |||
| reference | reference | |||
| "RFC YYYY: Unsolicited BFD for Sessionless Applications."; | "RFC 9468: Unsolicited Bidirectional Forwarding Detection (BFD) | |||
| for Sessionless Applications"; | ||||
| } | } | |||
| /* | /* | |||
| * Type Definitions | * Type Definitions | |||
| */ | */ | |||
| identity role { | identity role { | |||
| description | description | |||
| "Base identity from which all roles are derived. | "Base identity from which all roles are derived. | |||
| Role of local system during BFD session initialization."; | Role of local system during BFD session initialization."; | |||
| } | } | |||
| identity active { | identity active { | |||
| base "bfd-unsol:role"; | base bfd-unsol:role; | |||
| description "Active role"; | description | |||
| "Active role."; | ||||
| reference | reference | |||
| "RFC5880: Bidirectional Forwarding Detection (BFD), | "RFC 5880: Bidirectional Forwarding Detection (BFD), | |||
| Section 6.1"; | Section 6.1"; | |||
| } | } | |||
| identity passive { | identity passive { | |||
| base "bfd-unsol:role"; | base bfd-unsol:role; | |||
| description "Passive role"; | description | |||
| "Passive role."; | ||||
| reference | reference | |||
| "RFC5880: Bidirectional Forwarding Detection (BFD), | "RFC 5880: Bidirectional Forwarding Detection (BFD), | |||
| Section 6.1"; | Section 6.1"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | ||||
| + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh" { | ||||
| description | ||||
| "Augmentation for BFD unsolicited parameters"; | ||||
| container unsolicited { | ||||
| description | ||||
| "BFD IP single-hop unsolicited top level container"; | ||||
| uses bfd-types:base-cfg-parms; | ||||
| } | ||||
| } | ||||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh/" | + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh" { | |||
| + "bfd-ip-sh:interfaces" { | description | |||
| description | "Augmentation for unsolicited BFD parameters."; | |||
| "Augmentation for BFD unsolicited on IP single-hop interface"; | container unsolicited { | |||
| container unsolicited { | description | |||
| description | "BFD IP single-hop unsolicited top-level container."; | |||
| "BFD IP single-hop interface unsolicited top level | uses bfd-types:base-cfg-parms; | |||
| container"; | } | |||
| leaf enabled { | } | |||
| type boolean; | ||||
| default false; | ||||
| description | ||||
| "BFD unsolicited enabled on this interface."; | ||||
| } | ||||
| /* | ||||
| * The following is the same as bfd-types:base-cfg-parms, but | ||||
| * without default values (for inheritance) | ||||
| */ | ||||
| leaf local-multiplier { | ||||
| if-feature bfd-unsol:unsolicited-params-per-interface; | ||||
| type bfd-types:multiplier; | ||||
| description | ||||
| "Multiplier transmitted by the local system. Defaults to | ||||
| ../../unsolicited/local-multiplier. | ||||
| A multiplier configured under an interface takes precedence | ||||
| over the mulitiplier configured at the global level."; | ||||
| } | ||||
| choice interval-config-type { | ||||
| if-feature bfd-unsol:unsolicited-params-per-interface; | ||||
| description | ||||
| "Two interval values or one value used for both transmit and | ||||
| receive. Defaults to ../../unsolicited/interval-config-type. | ||||
| An interval configured under an interface takes precedence | ||||
| over any interval configured at the global level."; | ||||
| case tx-rx-intervals { | ||||
| leaf desired-min-tx-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Desired minimum transmit interval of control packets."; | ||||
| } | ||||
| leaf required-min-rx-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Required minimum receive interval of control packets."; | ||||
| } | ||||
| } | ||||
| case single-interval { | ||||
| if-feature "bfd-types:single-minimum-interval"; | ||||
| leaf min-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Desired minimum transmit interval and required | ||||
| minimum receive interval of control packets."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh/" | + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh/" | |||
| + "bfd-ip-sh:sessions/bfd-ip-sh:session" { | + "bfd-ip-sh:interfaces" { | |||
| description | description | |||
| "Augmentation for BFD unsolicited on IP single-hop session"; | "Augmentation for unsolicited BFD on IP single-hop | |||
| leaf role { | interface."; | |||
| type identityref { | container unsolicited { | |||
| base "bfd-unsol:role"; | description | |||
| "BFD IP single-hop interface unsolicited top-level | ||||
| container."; | ||||
| leaf enabled { | ||||
| type boolean; | ||||
| default "false"; | ||||
| description | ||||
| "Unsolicited BFD is enabled on this interface."; | ||||
| } | ||||
| /* | ||||
| * The following is the same as bfd-types:base-cfg-parms, but | ||||
| * without default values (for inheritance) | ||||
| */ | ||||
| leaf local-multiplier { | ||||
| if-feature "bfd-unsol:unsolicited-params-per-interface"; | ||||
| type bfd-types:multiplier; | ||||
| description | ||||
| "Multiplier transmitted by the local system. Defaults to | ||||
| ../../unsolicited/local-multiplier. | ||||
| A multiplier configured under an interface takes | ||||
| precedence over the multiplier configured at the global | ||||
| level."; | ||||
| } | ||||
| choice interval-config-type { | ||||
| if-feature "bfd-unsol:unsolicited-params-per-interface"; | ||||
| description | ||||
| "Two interval values or one value used for both transmit | ||||
| and receive. Defaults to | ||||
| ../../unsolicited/interval-config-type. An interval | ||||
| configured under an interface takes precedence over any | ||||
| interval configured at the global level."; | ||||
| case tx-rx-intervals { | ||||
| leaf desired-min-tx-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Desired minimum transmit interval of control | ||||
| packets."; | ||||
| } | ||||
| leaf required-min-rx-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Required minimum receive interval of control | ||||
| packets."; | ||||
| } | ||||
| } | ||||
| case single-interval { | ||||
| if-feature "bfd-types:single-minimum-interval"; | ||||
| leaf min-interval { | ||||
| type uint32; | ||||
| units "microseconds"; | ||||
| description | ||||
| "Desired minimum transmit interval and required | ||||
| minimum receive interval of control packets."; | ||||
| } | ||||
| } | } | |||
| config false; | ||||
| description "Role."; | ||||
| } | } | |||
| } | ||||
| } | } | |||
| augment "/rt:routing/rt:control-plane-protocols/" | ||||
| + "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh/" | ||||
| + "bfd-ip-sh:sessions/bfd-ip-sh:session" { | ||||
| description | ||||
| "Augmentation for unsolicited BFD on IP single-hop session."; | ||||
| leaf role { | ||||
| type identityref { | ||||
| base bfd-unsol:role; | ||||
| } | ||||
| config false; | ||||
| description | ||||
| "Role."; | ||||
| } | ||||
| } | ||||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4.3. Data Model Example | 4.3. Data Model Example | |||
| This section shows an example on how to configure the passive end of | This section shows an example on how to configure the passive end of | |||
| unsolicited BFD: | unsolicited BFD: | |||
| * We have global BFD IP single-hop unsolicited configuration with a | * We have global BFD IP single-hop unsolicited configuration with a | |||
| local-multiplier of 2 and min-interval at 50ms | local-multiplier of 2 and min-interval at 50 ms. | |||
| * BFD IP single-hop unsolicited is enabled on interface eth0, with a | ||||
| local-multiplier of 3 and min-interval at 250 ms | * BFD IP single-hop unsolicited is enabled on interface eth0 with a | |||
| local-multiplier of 3 and min-interval at 250 ms. | ||||
| * BFD IP single-hop unsolicited is enabled on interface eth1. Since | * BFD IP single-hop unsolicited is enabled on interface eth1. Since | |||
| there is no parameter configuration for eth1, it inherits from the | there is no parameter configuration for eth1, it inherits from the | |||
| global configuration. | global configuration. | |||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
| <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | |||
| <interface> | <interface> | |||
| <name>eth0</name> | <name>eth0</name> | |||
| <type | <type | |||
| xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type> | xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> | |||
| </interface> | ianaift:ethernetCsmacd</type> | |||
| <interface> | </interface> | |||
| <name>eth1</name> | <interface> | |||
| <type | <name>eth1</name> | |||
| xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type> | <type | |||
| </interface> | xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> | |||
| </interfaces> | ianaift:ethernetCsmacd</type> | |||
| <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | </interface> | |||
| <control-plane-protocols> | </interfaces> | |||
| <control-plane-protocol> | <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | |||
| <type | <control-plane-protocols> | |||
| xmlns:bfd-types="urn:ietf:params:xml:ns:yang:ietf-bfd-types">bfd-types:bfdv1</type> | <control-plane-protocol> | |||
| <name>name:BFD</name> | <type xmlns:bfd-types= | |||
| <bfd xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd"> | "urn:ietf:params:xml:ns:yang:ietf-bfd-types"> | |||
| <ip-sh xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"> | bfd-types:bfdv1</type> | |||
| <unsolicited> | <name>name:BFD</name> | |||
| <local-multiplier>2</local-multiplier> | <bfd xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd"> | |||
| <min-interval>50000</min-interval> | <ip-sh xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"> | |||
| </unsolicited> | <unsolicited> | |||
| <interfaces> | <local-multiplier>2</local-multiplier> | |||
| <interface>eth0</interface> | <min-interval>50000</min-interval> | |||
| <unsolicited> | </unsolicited> | |||
| <enabled>true</enabled> | <interfaces> | |||
| <local-multiplier>3</local-multiplier> | <interface>eth0</interface> | |||
| <min-interval>250000</min-interval> | <unsolicited> | |||
| </unsolicited> | <enabled>true</enabled> | |||
| </interfaces> | <local-multiplier>3</local-multiplier> | |||
| <interfaces> | <min-interval>250000</min-interval> | |||
| <interface>eth1</interface> | </unsolicited> | |||
| <unsolicited> | </interfaces> | |||
| <enabled>true</enabled> | <interfaces> | |||
| </unsolicited> | <interface>eth1</interface> | |||
| </interfaces> | <unsolicited> | |||
| </ip-sh> | <enabled>true</enabled> | |||
| </bfd> | </unsolicited> | |||
| </control-plane-protocol> | </interfaces> | |||
| </control-plane-protocols> | </ip-sh> | |||
| </routing> | </bfd> | |||
| </config> | </control-plane-protocol> | |||
| 5. IANA Considerations | </control-plane-protocols> | |||
| </routing> | ||||
| This document registers the following namespace URI in the "IETF XML | </config> | |||
| Registry" [RFC3688]: | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited | 5. IANA Considerations | |||
| Registrant Contact: The IESG. | IANA has registered the following namespace URI in the "ns" | |||
| subregistry within the "IETF XML Registry" [RFC3688]: | ||||
| XML: N/A; the requested URI is an XML namespace. | URI: urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited | |||
| Registrant Contact: The IESG. | ||||
| XML: N/A; the requested URI is an XML namespace. | ||||
| This document registers the following YANG module in the "YANG Module | IANA has registered the following YANG module in the "YANG Module | |||
| Names" registry [RFC6020]: | Names" registry [RFC6020]: | |||
| Name: ietf-bfd-unsolicited | Name: ietf-bfd-unsolicited | |||
| Maintained by IANA: N | ||||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-unsolicited | |||
| Prefix: bfd-unsol | ||||
| Prefix: bfd-unsol | Reference: RFC 9468 | |||
| Reference: RFC YYYY | ||||
| 6. Acknowledgments | ||||
| Authors would like to thank Acee Lindem, Alvaro Retana, Dan | ||||
| Romascanu, Derek Atkins, Greg Mirsky, Gyan Mishra, Henning Rogge, | ||||
| Jeffrey Haas, John Scudder, Lars Eggert, Magnus Westerlund, Mahesh | ||||
| Jethanandani, Murray Kucherawy, Raj Chetan, Robert Wilton, Roman | ||||
| Danyliw, Tom Petch, and Zaheduzzaman Sarker for their review and | ||||
| valuable input. | ||||
| 7. Security Considerations | 6. Security Considerations | |||
| 7.1. BFD Protocol Security Considerations | 6.1. BFD Protocol Security Considerations | |||
| The same security considerations and protection measures as those | The same security considerations and protection measures as those | |||
| described in [RFC5880] and [RFC5881] apply to this document. In | described in [RFC5880] and [RFC5881] apply to this document. In | |||
| addition, with "unsolicited BFD" there is potential risk for | addition, with "unsolicited BFD", there is potential risk for | |||
| excessive resource usage by BFD from "unexpected" remote systems. To | excessive resource usage by BFD from "unexpected" remote systems. To | |||
| mitigate such risks, implementations of unsolicited BFD MUST: | mitigate such risks, implementations of unsolicited BFD MUST: | |||
| * Limit the feature to specific interfaces, and to single-hop BFD | * Limit the feature to specific interfaces and to single-hop BFD | |||
| sessions using the procedures from [RFC5082]. See Section 5 of | sessions using the procedures from [RFC5082]. See Section 5 of | |||
| [RFC5881] for the details of these procedures. | [RFC5881] for the details of these procedures. | |||
| * Apply policy to process BFD packets only from certain subnets or | * Apply policy to process BFD packets only from certain subnets or | |||
| hosts. | hosts. | |||
| * Deploy the feature only in an environment that does not offer | * Deploy the feature only in an environment that does not offer | |||
| anonymous participation. Examples include an IXP, where the IXP | anonymous participation. Examples include an IXP, where the IXP | |||
| operator will have a business relationship with all IXP | operator will have a business relationship with all IXP | |||
| participants, or between a provider and its customers. | participants, or between a provider and its customers. | |||
| 7.2. BFD Protocol Authentication Considerations | 6.2. BFD Protocol Authentication Considerations | |||
| Implementations of unsolicited BFD are RECOMMENDED to use BFD | Implementations of unsolicited BFD are RECOMMENDED to use BFD | |||
| authentication; see [RFC5880]. If BFD authentication is used, the | authentication; see [RFC5880]. If BFD authentication is used, the | |||
| strongest BFD authentication mechanism that is supported MUST be | strongest BFD authentication mechanism that is supported MUST be | |||
| used. | used. | |||
| In some environments, such as an Internet Exchange Points (IXPs), BFD | In some environments, such as IXPs, BFD authentication cannot be used | |||
| authentication cannot be used because of the lack of coordination for | because of the lack of coordination for the operation of the two | |||
| the operation of the two endpoints of the BFD session. | endpoints of the BFD session. | |||
| In other environments, such as when BFD is used to track the next hop | In other environments, such as when BFD is used to track the next hop | |||
| of static routes, it is possible to use BFD authentication. This | of static routes, it is possible to use BFD authentication. This | |||
| comes with the extra cost of configuring matching keychains between | comes with the extra cost of configuring matching key chains between | |||
| the two endpoints. | the two endpoints. | |||
| 7.3. YANG Module Security Considerations | 6.3. YANG Module Security Considerations | |||
| The YANG module specified in this document defines a schema for data | The YANG module specified in this document defines a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
| transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| is HTTPS, and the mandatory-to-implement secure transport is TLS | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
| [RFC8446]. | [RFC8446]. | |||
| The NETCONF access control model [RFC8341] provides the means to | The Network Configuration Access Control Mode (NACM) [RFC8341] | |||
| restrict access for particular NETCONF or RESTCONF users to a | provides the means to restrict access for particular NETCONF or | |||
| preconfigured subset of all available NETCONF or RESTCONF protocol | RESTCONF users to a preconfigured subset of all available NETCONF or | |||
| operations and content. | RESTCONF protocol operations and content. | |||
| There are a number of data nodes defined in this YANG module that are | There are a number of data nodes defined in this YANG module that are | |||
| writable/creatable/deletable (i.e., config true, which is the | writable/creatable/deletable (i.e., config true, which is the | |||
| default). These data nodes may be considered sensitive or vulnerable | default). These data nodes may be considered sensitive or vulnerable | |||
| in some network environments. Write operations (e.g., edit-config) | in some network environments. Write operations (e.g., edit-config) | |||
| to these data nodes without proper protection can have a negative | to these data nodes without proper protection can have a negative | |||
| effect on network operations. These are the subtrees and data nodes | effect on network operations. These are the subtrees and data nodes | |||
| and their sensitivity/vulnerability: | and their sensitivity/vulnerability: | |||
| /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | |||
| /unsolicited: | /unsolicited: | |||
| * Data node "enabled" enables creation of unsolicited BFD IP | ||||
| single-hop sessions globally, i.e., on all interfaces. See | ||||
| Section 6.1. | ||||
| * data node "enabled" enables creation of unsolicited BFD IP single- | * Data nodes "local-multiplier", "desired-min-tx-interval", | |||
| hop sessions globally, i.e. on all interfaces. See Section 7.1. | "required-min-rx-interval", and "min-interval" all impact the | |||
| * data nodes local-multiplier, desired-min-tx-interval, required- | parameters of the unsolicited BFD IP single-hop sessions. | |||
| min-rx-interval and min-interval all impact the parameters of the | Write operations to these nodes change the rates of BFD packet | |||
| unsolicited BFD IP single-hop sessions. Write operations to these | generation and detection time of the failures of a BFD session. | |||
| nodes change the rates of BFD packet generation and detection time | ||||
| of the failures of a BFD session. | ||||
| /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | |||
| /interfaces/interface/unsolicited: | /interfaces/interface/unsolicited: | |||
| * Data node "enabled" enables the creation of unsolicited BFD IP | ||||
| single-hop sessions on a specific interface. See Section 6.1. | ||||
| * data node "enabled" enables creation of unsolicited BFD IP single- | * Data nodes "local-multiplier", "desired-min-tx-interval", | |||
| hop sessions on a specific interface. See Section 7.1. | "required-min-rx-interval", and "min-interval" all impact the | |||
| * data nodes local-multiplier, desired-min-tx-interval, required- | parameters of the unsolicited BFD IP single-hop sessions on the | |||
| min-rx-interval and min-interval all impact the parameters of the | interface. | |||
| unsolicited BFD IP single-hop sessions on the interface. | ||||
| Some of the readable data nodes in this YANG module may be considered | Some of the readable data nodes in this YANG module may be considered | |||
| sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
| important to control read access (e.g., via get, get-config, or | important to control read access (e.g., via get, get-config, or | |||
| notification) to these data nodes. These are the subtrees and data | notification) to these data nodes. These are the subtrees and data | |||
| nodes and their sensitivity/vulnerability: | nodes and their sensitivity/vulnerability: | |||
| /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | /routing/control-plane-protocols/control-plane-protocol/bfd/ip-sh | |||
| /sessions/session/role: access to this information discloses the role | /sessions/session/role: | |||
| of the local system in the creation of the unsolicited BFD session. | Access to this information discloses the role of the local system | |||
| in the creation of the unsolicited BFD session. | ||||
| 8. References | 7. References | |||
| 8.1. Normative References | 7.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 | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| skipping to change at page 17, line 11 ¶ | skipping to change at line 742 ¶ | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [RFC9314] Jethanandani, M., Ed., Rahman, R., Ed., Zheng, L., Ed., | [RFC9314] Jethanandani, M., Ed., Rahman, R., Ed., Zheng, L., Ed., | |||
| Pallagatti, S., and G. Mirsky, "YANG Data Model for | Pallagatti, S., and G. Mirsky, "YANG Data Model for | |||
| Bidirectional Forwarding Detection (BFD)", RFC 9314, | Bidirectional Forwarding Detection (BFD)", RFC 9314, | |||
| DOI 10.17487/RFC9314, September 2022, | DOI 10.17487/RFC9314, September 2022, | |||
| <https://www.rfc-editor.org/info/rfc9314>. | <https://www.rfc-editor.org/info/rfc9314>. | |||
| 8.2. Informative References | 7.2. Informative References | |||
| [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
| Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
| DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
| <https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
| [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
| (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, | (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, | |||
| June 2010, <https://www.rfc-editor.org/info/rfc5883>. | June 2010, <https://www.rfc-editor.org/info/rfc5883>. | |||
| skipping to change at page 17, line 42 ¶ | skipping to change at line 773 ¶ | |||
| [RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, | [RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, | |||
| "Internet Exchange BGP Route Server", RFC 7947, | "Internet Exchange BGP Route Server", RFC 7947, | |||
| DOI 10.17487/RFC7947, September 2016, | DOI 10.17487/RFC7947, September 2016, | |||
| <https://www.rfc-editor.org/info/rfc7947>. | <https://www.rfc-editor.org/info/rfc7947>. | |||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
| Acknowledgments | ||||
| The authors would like to thank Acee Lindem, Alvaro Retana, Dan | ||||
| Romascanu, Derek Atkins, Greg Mirsky, Gyan Mishra, Henning Rogge, | ||||
| Jeffrey Haas, John Scudder, Lars Eggert, Magnus Westerlund, Mahesh | ||||
| Jethanandani, Murray Kucherawy, Raj Chetan, Robert Wilton, Roman | ||||
| Danyliw, Tom Petch, and Zaheduzzaman Sarker for their reviews and | ||||
| valuable input. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Enke Chen | Enke Chen | |||
| Palo Alto Networks | Palo Alto Networks | |||
| 3000 Tannery Way | ||||
| Santa Clara, CA 95054 | ||||
| United States of America | ||||
| Email: enchen@paloaltonetworks.com | Email: enchen@paloaltonetworks.com | |||
| Naiming Shen | Naiming Shen | |||
| Zededa | Zededa | |||
| 160 W Santa Clara Street | ||||
| San Jose, CA 95113 | ||||
| United States of America | ||||
| Email: naiming@zededa.com | Email: naiming@zededa.com | |||
| Robert Raszuk | Robert Raszuk | |||
| Arrcus | Arrcus | |||
| 2077 Gateway Place | 2077 Gateway Place | |||
| San Jose, CA 95110 | San Jose, CA 95110 | |||
| United States of America | United States of America | |||
| Email: robert@raszuk.net | Email: robert@raszuk.net | |||
| Reshad Rahman | Reshad Rahman | |||
| Graphiant | Equinix | |||
| Canada | Canada | |||
| Email: reshad@yahoo.com | Email: reshad@yahoo.com | |||
| End of changes. 98 change blocks. | ||||
| 346 lines changed or deleted | 380 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||