| < draft-ietf-bfd-unsolicited-05.txt | draft-ietf-bfd-unsolicited-06.txt > | |||
|---|---|---|---|---|
| Network Working Group E. Chen | Network Working Group E. Chen | |||
| Internet-Draft Palo Alto Networks | Internet-Draft Palo Alto Networks | |||
| Intended status: Standards Track N. Shen | Intended status: Standards Track N. Shen | |||
| Expires: April 22, 2022 Zededa | Expires: April 24, 2022 Zededa | |||
| R. Raszuk | R. Raszuk | |||
| NTT Network Innovations | NTT Network Innovations | |||
| R. Rahman | R. Rahman | |||
| October 19, 2021 | October 21, 2021 | |||
| Unsolicited BFD for Sessionless Applications | Unsolicited BFD for Sessionless Applications | |||
| draft-ietf-bfd-unsolicited-05 | draft-ietf-bfd-unsolicited-06 | |||
| Abstract | Abstract | |||
| For operational simplification of "sessionless" applications using | For operational simplification of "sessionless" applications using | |||
| BFD, in this document we present procedures for "unsolicited BFD" | BFD, in this document we present procedures for "unsolicited BFD" | |||
| that allow a BFD session to be initiated by only one side, and be | that allow a BFD session to be initiated by only one side, and be | |||
| established without explicit per-session configuration or | established without explicit per-session configuration or | |||
| registration by the other side (subject to certain per-interface or | registration by the other side (subject to certain per-interface or | |||
| per-router policies). | per-router policies). | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 April 22, 2022. | This Internet-Draft will expire on April 24, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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 5, line 39 ¶ | skipping to change at page 5, line 39 ¶ | |||
| +--:(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:sessions/bfd-ip-sh:session: | /bfd-ip-sh:sessions/bfd-ip-sh:session: | |||
| +--ro unsolicited | +--ro unsolicited | |||
| +--ro role? bfd-unsol:unsolicited-role | +--ro role? bfd-unsol:unsolicited-role | |||
| 4.2. Unsolicited BFD Module | 4.2. Unsolicited BFD Module | |||
| <CODE BEGINS> file "ietf-bfd-unsolicited@2021-10-15.yang" | <CODE BEGINS> file "ietf-bfd-unsolicited@2021-10-21.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 | // RFC Ed.: replace occurences of YYYY with actual RFC numbers | |||
| // and remove this note | // and remove this note | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| reference "RFC 9127: YANG Data Model for BFD"; | reference "RFC 9127: YANG Data Model for BFD"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| reference "RFC 9127: YANG Data Model for BFD"; | reference "RFC 9127: YANG Data Model for BFD"; | |||
| } | } | |||
| import ietf-bfd-ip-sh { | import ietf-bfd-ip-sh { | |||
| prefix "bfd-ip-sh"; | prefix "bfd-ip-sh"; | |||
| reference "RFC 9127: YANG Data Model for BFD"; | reference "RFC 9127: YANG Data Model for 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: <http://tools.ietf.org/wg/bfd> | "WG Web: <http://tools.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 BFD unsolicited | |||
| as per RFC YYYY. | as per RFC YYYY. | |||
| Copyright (c) 2021 IETF Trust and the persons | Copyright (c) 2021 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 Simplified BSD License | to the license terms contained in, the Simplified 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 YYYY; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| reference "RFC YYYY"; | reference "RFC YYYY"; | |||
| revision 2021-10-15 { | revision 2021-10-21 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC 9127: A YANG data model for BFD unsolicited"; | reference "RFC YYYY: A YANG data model for BFD unsolicited"; | |||
| } | } | |||
| /* | /* | |||
| * Feature definitions | * Feature definitions | |||
| */ | */ | |||
| feature unsolicited-params-global { | feature unsolicited-params-global { | |||
| description | description | |||
| "This feature indicates that the server supports global | "This feature indicates that the server supports global | |||
| parameters for unsolicited sessions."; | parameters for unsolicited sessions."; | |||
| } | } | |||
| 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."; | |||
| } | } | |||
| /* | /* | |||
| * Type Definitions | * Type Definitions | |||
| */ | */ | |||
| typedef unsolicited-role { | typedef unsolicited-role { | |||
| type enumeration { | type enumeration { | |||
| enum unsolicited-active { | enum unsolicited-active { | |||
| description "Active role"; | description "Active role"; | |||
| } | } | |||
| enum unsolicited-passive { | enum unsolicited-passive { | |||
| description "Passive role"; | description "Passive role"; | |||
| } | ||||
| } | } | |||
| description "Unsolicited role"; | ||||
| } | } | |||
| description "Unsolicited role"; | ||||
| } | ||||
| /* | /* | |||
| * Augments | * Augments | |||
| */ | */ | |||
| 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" { | |||
| description | ||||
| "Augmentation for BFD unsolicited parameters"; | ||||
| container unsolicited { | ||||
| if-feature bfd-unsol:unsolicited-params-global; | ||||
| description | description | |||
| "BFD unsolicited top level container"; | "Augmentation for BFD unsolicited parameters"; | |||
| leaf enable { | container unsolicited { | |||
| type boolean; | if-feature bfd-unsol:unsolicited-params-global; | |||
| default false; | ||||
| description | description | |||
| "Enable BFD unsolicited globally for IP single-hop."; | "BFD unsolicited top level container"; | |||
| leaf enable { | ||||
| type boolean; | ||||
| default false; | ||||
| description | ||||
| "Enable BFD unsolicited globally for IP single-hop."; | ||||
| } | ||||
| uses bfd-types:base-cfg-parms; | ||||
| } | } | |||
| 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" { | + "bfd-ip-sh:interfaces" { | |||
| description | ||||
| "Augmentation for BFD unsolicited on IP single-hop interface"; | ||||
| container unsolicited { | ||||
| if-feature bfd-unsol:unsolicited-params-per-interface; | ||||
| description | description | |||
| "BFD IP single-hop interface unsolicited top level container"; | "Augmentation for BFD unsolicited on IP single-hop interface"; | |||
| leaf enable { | container unsolicited { | |||
| type boolean; | if-feature bfd-unsol:unsolicited-params-per-interface; | |||
| default false; | description | |||
| description "Enable BFD unsolicited on this interface."; | "BFD IP single-hop interface unsolicited top level | |||
| container"; | ||||
| leaf enable { | ||||
| type boolean; | ||||
| default false; | ||||
| description "Enable BFD unsolicited on this interface."; | ||||
| } | ||||
| uses bfd-types:base-cfg-parms; | ||||
| } | } | |||
| 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:sessions/bfd-ip-sh:session" { | + "bfd-ip-sh:sessions/bfd-ip-sh:session" { | |||
| description | ||||
| "Augmentation for BFD unsolicited on IP single-hop session"; | ||||
| container unsolicited { | ||||
| config false; | ||||
| description | description | |||
| "BFD IP single-hop session unsolicited top level container"; | "Augmentation for BFD unsolicited on IP single-hop session"; | |||
| leaf role { | container unsolicited { | |||
| type bfd-unsol:unsolicited-role; | config false; | |||
| description "Role."; | description | |||
| "BFD IP single-hop session unsolicited top level container"; | ||||
| leaf role { | ||||
| type bfd-unsol:unsolicited-role; | ||||
| description "Role."; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | <CODE ENDS> | |||
| <CODE ENDS> | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This documents makes no IANA requests. | This documents makes no IANA requests. | |||
| 6. Acknowledgments | 6. Acknowledgments | |||
| Authors would like to thank Acee Lindem, Greg Mirsky, Jeffrey Haas | Authors would like to thank Acee Lindem, Greg Mirsky, Jeffrey Haas | |||
| and Raj Chetan for their review and valuable input. | and Raj Chetan for their review and valuable input. | |||
| End of changes. 39 change blocks. | ||||
| 124 lines changed or deleted | 124 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||