| ietf-pim-bidir.yang | ietf-pim-bidir-formatted.yang | |||
|---|---|---|---|---|
| module ietf-pim-bidir { | module ietf-pim-bidir { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-pim-bidir"; | namespace "urn:ietf:params:xml:ns:yang:ietf-pim-bidir"; | |||
| prefix pim-bidir; | prefix pim-bidir; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing-types { | import ietf-routing-types { | |||
| prefix "rt-types"; | prefix rt-types; | |||
| reference | reference | |||
| "RFC 8294: Common YANG Data Types for the Routing Area"; | "RFC 8294: Common YANG Data Types for the Routing Area"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix if; | |||
| reference | reference | |||
| "RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix rt; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management (NMDA | "RFC 8349: A YANG Data Model for Routing Management (NMDA | |||
| Version)"; | Version)"; | |||
| } | } | |||
| import ietf-pim-base { | import ietf-pim-base { | |||
| prefix "pim-base"; | prefix pim-base; | |||
| reference | reference | |||
| "RFC 9128: A YANG Data Model for Protocol Independent | "RFC 9128: A YANG Data Model for Protocol Independent | |||
| Multicast (PIM)"; | Multicast (PIM)"; | |||
| } | } | |||
| import ietf-pim-rp { | import ietf-pim-rp { | |||
| prefix "pim-rp"; | prefix pim-rp; | |||
| reference | reference | |||
| "RFC 9128: A YANG Data Model for Protocol Independent | "RFC 9128: A YANG Data Model for Protocol Independent | |||
| Multicast (PIM)"; | Multicast (PIM)"; | |||
| } | } | |||
| organization | organization | |||
| "IETF PIM Working Group"; | "IETF PIM Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/pim/> | "WG Web: <https://datatracker.ietf.org/wg/pim/> | |||
| WG List: <mailto:pim@ietf.org> | WG List: <mailto:pim@ietf.org> | |||
| Editor: Xufeng Liu | Editor: Xufeng Liu | |||
| <mailto:xufeng.liu.ietf@gmail.com> | <mailto:xufeng.liu.ietf@gmail.com> | |||
| Editor: Pete McAllister | Editor: Pete McAllister | |||
| <mailto:pete.mcallister@metaswitch.com> | <mailto:pete.mcallister@metaswitch.com> | |||
| skipping to change at line 157 ¶ | skipping to change at line 152 ¶ | |||
| identity df-state-backoff { | identity df-state-backoff { | |||
| base df-state; | base df-state; | |||
| description | description | |||
| "The router is the acting DF, but another router has made a | "The router is the acting DF, but another router has made a | |||
| bid to take over."; | bid to take over."; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping static-rp-bidir-container { | grouping static-rp-bidir-container { | |||
| description | description | |||
| "Grouping that contains BIDIR attributes for a static RP | "Grouping that contains BIDIR attributes for a static RP | |||
| (Rendezvous Point)."; | (Rendezvous Point)."; | |||
| container bidir { | container bidir { | |||
| presence | presence "Indicates support for BIDIR mode."; | |||
| "Indicates support for BIDIR mode."; | ||||
| description | description | |||
| "PIM-BIDIR configuration data."; | "PIM-BIDIR configuration data."; | |||
| uses pim-rp:static-rp-attributes; | uses pim-rp:static-rp-attributes; | |||
| } // bidir | } // bidir | |||
| } // static-rp-bidir-container | } // static-rp-bidir-container | |||
| grouping interface-df-election-state-attributes { | grouping interface-df-election-state-attributes { | |||
| description | description | |||
| "Grouping that contains the state attributes of a DF election | "Grouping that contains the state attributes of a DF election | |||
| on an interface."; | on an interface."; | |||
| leaf interface-state { | leaf interface-state { | |||
| type identityref { | type identityref { | |||
| skipping to change at line 208 ¶ | skipping to change at line 202 ¶ | |||
| protocol that the DF used to obtain the route to the RP. | protocol that the DF used to obtain the route to the RP. | |||
| The value is announced by the DF."; | The value is announced by the DF."; | |||
| } | } | |||
| } // interface-df-election-state-attributes | } // interface-df-election-state-attributes | |||
| /* | /* | |||
| * Configuration data and operational state data nodes | * Configuration data and operational state data nodes | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:address-family" { | + "pim-base:pim/pim-base:address-family" { | |||
| description | description | |||
| "PIM-BIDIR augmentation."; | "PIM-BIDIR augmentation."; | |||
| container bidir { | container bidir { | |||
| presence "Present to enable BIDIR mode."; | presence "Present to enable BIDIR mode."; | |||
| description | description | |||
| "PIM-BIDIR configuration data."; | "PIM-BIDIR configuration data."; | |||
| } // bidir | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | |||
| + "pim-base:address-family" { | + "pim-base:address-family" { | |||
| description | description | |||
| "PIM-BIDIR augmentation."; | "PIM-BIDIR augmentation."; | |||
| container bidir { | container bidir { | |||
| presence "Present to enable BIDIR mode."; | presence "Present to enable BIDIR mode."; | |||
| description | description | |||
| "PIM-BIDIR configuration data."; | "PIM-BIDIR configuration data."; | |||
| container df-election { | container df-election { | |||
| if-feature intf-df-election; | if-feature "intf-df-election"; | |||
| description | description | |||
| "DF election attributes."; | "DF election attributes."; | |||
| leaf offer-interval { | leaf offer-interval { | |||
| type uint16; | type uint16; | |||
| units milliseconds; | units "milliseconds"; | |||
| default 100; | default "100"; | |||
| description | description | |||
| "Offer interval. Specifies the interval between | "Offer interval. Specifies the interval between | |||
| repeated DF election messages."; | repeated DF election messages."; | |||
| } | } | |||
| leaf backoff-interval { | leaf backoff-interval { | |||
| type uint16; | type uint16; | |||
| units milliseconds; | units "milliseconds"; | |||
| default 1000; | default "1000"; | |||
| description | description | |||
| "This is the interval that the acting DF waits between | "This is the interval that the acting DF waits between | |||
| receiving a better DF Offer and sending the Pass message | receiving a better DF Offer and sending the Pass message | |||
| to transfer DF responsibility."; | to transfer DF responsibility."; | |||
| } | } | |||
| leaf offer-multiplier { | leaf offer-multiplier { | |||
| type uint8; | type uint8; | |||
| default 3; | default "3"; | |||
| description | description | |||
| "This is the number of transmission attempts for | "This is the number of transmission attempts for | |||
| DF election messages. | DF election messages. | |||
| When a DF election Offer or Winner message fails to be | When a DF election Offer or Winner message fails to be | |||
| received, the message is retransmitted. | received, the message is retransmitted. | |||
| 'offer-multiplier' sets the minimum number of DF | 'offer-multiplier' sets the minimum number of DF | |||
| election messages that must fail to be received for DF | election messages that must fail to be received for DF | |||
| election to fail. | election to fail. | |||
| If a router receives from a neighbor a better offer than | If a router receives from a neighbor a better offer than | |||
| its own, the router stops participating in the election | its own, the router stops participating in the election | |||
| for a period of 'offer-multiplier' * 'offer-interval'. | for a period of 'offer-multiplier' * 'offer-interval'. | |||
| Eventually, all routers except the best candidate stop | Eventually, all routers except the best candidate stop | |||
| sending Offer messages."; | sending Offer messages."; | |||
| } | } | |||
| } // df-election | } // df-election | |||
| } // bidir | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:address-family/pim-rp:rp/" | + "pim-base:pim/pim-base:address-family/pim-rp:rp/" | |||
| + "pim-rp:static-rp/pim-rp:ipv4-rp" { | + "pim-rp:static-rp/pim-rp:ipv4-rp" { | |||
| description | description | |||
| "PIM-BIDIR augmentation."; | "PIM-BIDIR augmentation."; | |||
| uses static-rp-bidir-container; | uses static-rp-bidir-container; | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:address-family/pim-rp:rp/" | + "pim-base:pim/pim-base:address-family/pim-rp:rp/" | |||
| + "pim-rp:static-rp/pim-rp:ipv6-rp" { | + "pim-rp:static-rp/pim-rp:ipv6-rp" { | |||
| description | description | |||
| "PIM-BIDIR augmentation."; | "PIM-BIDIR augmentation."; | |||
| uses static-rp-bidir-container; | uses static-rp-bidir-container; | |||
| } // augment | } // augment | |||
| /* | /* | |||
| * Operational state data nodes | * Operational state data nodes | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:address-family/pim-rp:rp" { | + "pim-base:pim/pim-base:address-family/pim-rp:rp" { | |||
| description | description | |||
| "PIM-BIDIR augmentation to RP state data."; | "PIM-BIDIR augmentation to RP state data."; | |||
| container bidir { | container bidir { | |||
| config false; | config false; | |||
| description | description | |||
| "PIM-BIDIR state data."; | "PIM-BIDIR state data."; | |||
| container df-election { | container df-election { | |||
| description | description | |||
| "DF election data."; | "DF election data."; | |||
| list ipv4-rp { | list ipv4-rp { | |||
| when "../../../../pim-base:address-family = 'rt:ipv4'" { | when "../../../../pim-base:address-family = 'rt:ipv4'" { | |||
| description | description | |||
| skipping to change at line 395 ¶ | skipping to change at line 383 ¶ | |||
| description | description | |||
| "DF address."; | "DF address."; | |||
| } | } | |||
| uses interface-df-election-state-attributes; | uses interface-df-election-state-attributes; | |||
| } // ipv6-rp | } // ipv6-rp | |||
| } // interface-df-election | } // interface-df-election | |||
| } | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | |||
| + "pim-base:address-family/pim-base:neighbors/" | + "pim-base:address-family/pim-base:neighbors/" | |||
| + "pim-base:ipv4-neighbor" { | + "pim-base:ipv4-neighbor" { | |||
| description | description | |||
| "PIM-BIDIR augmentation to the IPv4 neighbor state data."; | "PIM-BIDIR augmentation to the IPv4 neighbor state data."; | |||
| leaf bidir-capable { | leaf bidir-capable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "'true' if the neighbor is using the Bidirectional Capable | "'true' if the neighbor is using the Bidirectional Capable | |||
| option in the last Hello message."; | option in the last Hello message."; | |||
| } | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | + "pim-base:pim/pim-base:interfaces/pim-base:interface/" | |||
| + "pim-base:address-family/pim-base:neighbors/" | + "pim-base:address-family/pim-base:neighbors/" | |||
| + "pim-base:ipv6-neighbor" { | + "pim-base:ipv6-neighbor" { | |||
| description | description | |||
| "PIM-BIDIR augmentation to the IPv6 neighbor state data."; | "PIM-BIDIR augmentation to the IPv6 neighbor state data."; | |||
| leaf bidir-capable { | leaf bidir-capable { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "'true' if the neighbor is using the Bidirectional Capable | "'true' if the neighbor is using the Bidirectional Capable | |||
| option in the last Hello message."; | option in the last Hello message."; | |||
| } | } | |||
| } // augment | } // augment | |||
| } | } | |||
| End of changes. 34 change blocks. | ||||
| 42 lines changed or deleted | 31 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/ | ||||