| ietf-pim-sm.yang | ietf-pim-sm-formatted.yang | |||
|---|---|---|---|---|
| module ietf-pim-sm { | module ietf-pim-sm { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-pim-sm"; | namespace "urn:ietf:params:xml:ns:yang:ietf-pim-sm"; | |||
| prefix pim-sm; | prefix pim-sm; | |||
| 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 { | 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 111 ¶ | skipping to change at line 107 ¶ | |||
| "This feature indicates that the system supports configuring | "This feature indicates that the system supports configuring | |||
| the policy for switchover from the RPT to the SPT."; | the policy for switchover from the RPT to the SPT."; | |||
| reference | reference | |||
| "RFC 7761: Protocol Independent Multicast - Sparse Mode | "RFC 7761: Protocol Independent Multicast - Sparse Mode | |||
| (PIM-SM): Protocol Specification (Revised), Section 4.2"; | (PIM-SM): Protocol Specification (Revised), Section 4.2"; | |||
| } | } | |||
| /* | /* | |||
| * Identities | * Identities | |||
| */ | */ | |||
| identity rp-sm { | identity rp-sm { | |||
| base pim-rp:rp-mode; | base pim-rp:rp-mode; | |||
| description | description | |||
| "SM (Sparse Mode)."; | "SM (Sparse Mode)."; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping static-rp-sm-container { | grouping static-rp-sm-container { | |||
| description | description | |||
| "Grouping that contains SM attributes for static RPs."; | "Grouping that contains SM attributes for static RPs."; | |||
| container sm { | container sm { | |||
| presence | presence "Indicates support for PIM-SM."; | |||
| "Indicates support for PIM-SM."; | ||||
| description | description | |||
| "PIM-SM configuration data."; | "PIM-SM configuration data."; | |||
| uses pim-rp:static-rp-attributes; | uses pim-rp:static-rp-attributes; | |||
| } // sm | } // sm | |||
| } // static-rp-sm-container | } // static-rp-sm-container | |||
| /* | /* | |||
| * Configuration data nodes | * Configuration data nodes | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | |||
| + "pim-base:address-family" { | + "pim-base:address-family" { | |||
| description | description | |||
| "PIM-SM augmentation."; | "PIM-SM augmentation."; | |||
| container sm { | container sm { | |||
| description | description | |||
| "PIM-SM configuration data."; | "PIM-SM configuration data."; | |||
| container asm { | container asm { | |||
| description | description | |||
| "ASM (Any-Source Multicast) attributes."; | "ASM (Any-Source Multicast) attributes."; | |||
| container anycast-rp { | container anycast-rp { | |||
| presence | presence "Present to enable an Anycast-RP (Rendezvous Point)."; | |||
| "Present to enable an Anycast-RP (Rendezvous Point)."; | ||||
| description | description | |||
| "Anycast-RP attributes."; | "Anycast-RP attributes."; | |||
| list ipv4-anycast-rp { | list ipv4-anycast-rp { | |||
| when "../../../../pim-base:address-family = 'rt:ipv4'" { | when "../../../../pim-base:address-family = 'rt:ipv4'" { | |||
| description | description | |||
| "Only applicable to an IPv4 address family."; | "Only applicable to an IPv4 address family."; | |||
| } | } | |||
| key "anycast-address rp-address"; | key "anycast-address rp-address"; | |||
| description | description | |||
| "A list of IPv4 Anycast-RP settings. Only applicable | "A list of IPv4 Anycast-RP settings. Only applicable | |||
| when 'pim-base:address-family' is IPv4."; | when 'pim-base:address-family' is IPv4."; | |||
| leaf anycast-address { | leaf anycast-address { | |||
| skipping to change at line 196 ¶ | skipping to change at line 187 ¶ | |||
| description | description | |||
| "A list of IPv6 Anycast-RP settings. Only applicable | "A list of IPv6 Anycast-RP settings. Only applicable | |||
| when 'pim-base:address-family' is IPv6."; | when 'pim-base:address-family' is IPv6."; | |||
| leaf anycast-address { | leaf anycast-address { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "IP address of the Anycast-RP set. This IP address | "IP address of the Anycast-RP set. This IP address | |||
| is used by the multicast groups or sources to join | is used by the multicast groups or sources to join | |||
| or register."; | or register."; | |||
| } | } | |||
| leaf rp-address { | leaf rp-address { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "IP address of the router configured with an | "IP address of the router configured with an | |||
| Anycast-RP. This is the IP address where the | Anycast-RP. This is the IP address where the | |||
| Register messages are forwarded."; | Register messages are forwarded."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container spt-switch { | container spt-switch { | |||
| description | description | |||
| "SPT (Shortest Path Tree) switching attributes."; | "SPT (Shortest Path Tree) switching attributes."; | |||
| container infinity { | container infinity { | |||
| if-feature spt-switch-infinity; | if-feature "spt-switch-infinity"; | |||
| presence | presence "Present if the SPT switchover threshold is set to | |||
| "Present if the SPT switchover threshold is set to | infinity, according to the policy specified below."; | |||
| infinity, according to the policy specified below."; | ||||
| description | description | |||
| "The receiver's DR (Designated Router) never triggers | "The receiver's DR (Designated Router) never triggers | |||
| switchover from the RPT to the SPT."; | switchover from the RPT to the SPT."; | |||
| leaf policy-name { | leaf policy-name { | |||
| if-feature spt-switch-policy; | if-feature "spt-switch-policy"; | |||
| type string; | type string; | |||
| description | description | |||
| "The string value is the name to uniquely identify a | "The string value is the name to uniquely identify a | |||
| policy that contains one or more policy rules used | policy that contains one or more policy rules used | |||
| to accept or reject certain multicast groups. | to accept or reject certain multicast groups. | |||
| The groups accepted by this policy have the SPT | The groups accepted by this policy have the SPT | |||
| switchover threshold set to infinity, meaning that | switchover threshold set to infinity, meaning that | |||
| they will stay on the shared tree forever. | they will stay on the shared tree forever. | |||
| If a policy is not specified, the entire multicast | If a policy is not specified, the entire multicast | |||
| address space is accepted. | address space is accepted. | |||
| skipping to change at line 236 ¶ | skipping to change at line 224 ¶ | |||
| switchover threshold set to infinity, meaning that | switchover threshold set to infinity, meaning that | |||
| they will stay on the shared tree forever. | they will stay on the shared tree forever. | |||
| If a policy is not specified, the entire multicast | If a policy is not specified, the entire multicast | |||
| address space is accepted. | address space is accepted. | |||
| The definition of such a policy is outside the scope | The definition of such a policy is outside the scope | |||
| of this document."; | of this document."; | |||
| } | } | |||
| } // infinity | } // infinity | |||
| } | } | |||
| } // asm | } // asm | |||
| container ssm { | container ssm { | |||
| presence | presence "Present to enable SSM (Source-Specific Multicast)."; | |||
| "Present to enable SSM (Source-Specific Multicast)."; | ||||
| description | description | |||
| "SSM attributes."; | "SSM attributes."; | |||
| leaf range-policy { | leaf range-policy { | |||
| type string; | type string; | |||
| description | description | |||
| "The string value is the name to uniquely identify a | "The string value is the name to uniquely identify a | |||
| policy that contains one or more policy rules used | policy that contains one or more policy rules used | |||
| to accept or reject certain multicast groups. | to accept or reject certain multicast groups. | |||
| The groups accepted by this policy define the multicast | The groups accepted by this policy define the multicast | |||
| group range used by SSM. | group range used by SSM. | |||
| If a policy is not specified, the default SSM multicast | If a policy is not specified, the default SSM multicast | |||
| group range is used. | group range is used. | |||
| skipping to change at line 262 ¶ | skipping to change at line 247 ¶ | |||
| group range is used. | group range is used. | |||
| The default SSM multicast group range is 232.0.0.0/8 | The default SSM multicast group range is 232.0.0.0/8 | |||
| for IPv4 and ff3x::/96 for IPv6, where x represents any | for IPv4 and ff3x::/96 for IPv6, where x represents any | |||
| valid scope identifier. | valid scope identifier. | |||
| The definition of such a policy is outside the scope | The definition of such a policy is outside the scope | |||
| of this document."; | of this document."; | |||
| reference | reference | |||
| "RFC 4607: Source-Specific Multicast for IP"; | "RFC 4607: Source-Specific Multicast for IP"; | |||
| } | } | |||
| } // ssm | } // ssm | |||
| } // sm | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | |||
| + "pim-base:interfaces/pim-base:interface/" | + "pim-base:interfaces/pim-base:interface/" | |||
| + "pim-base:address-family" { | + "pim-base:address-family" { | |||
| description | description | |||
| "PIM-SM augmentation."; | "PIM-SM augmentation."; | |||
| container sm { | container sm { | |||
| presence "Present to enable PIM-SM."; | presence "Present to enable PIM-SM."; | |||
| description | description | |||
| "PIM-SM configuration data."; | "PIM-SM configuration data."; | |||
| leaf passive { | leaf passive { | |||
| type empty; | type empty; | |||
| description | description | |||
| "Specifies that no PIM messages are sent or accepted on | "Specifies that no PIM messages are sent or accepted on | |||
| this PIM interface, but the interface can be included in a | this PIM interface, but the interface can be included in a | |||
| multicast forwarding entry."; | multicast forwarding entry."; | |||
| } | } | |||
| } // sm | } | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | |||
| + "pim-base:address-family/pim-rp:rp/" | + "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-SM augmentation."; | "PIM-SM augmentation."; | |||
| uses static-rp-sm-container; | uses static-rp-sm-container; | |||
| } // augment | } // augment | |||
| augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | augment "/rt:routing/rt:control-plane-protocols/pim-base:pim/" | |||
| + "pim-base:address-family/pim-rp:rp/" | + "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-SM augmentation."; | "PIM-SM augmentation."; | |||
| uses static-rp-sm-container; | uses static-rp-sm-container; | |||
| } // augment | } // augment | |||
| } | } | |||
| End of changes. 36 change blocks. | ||||
| 41 lines changed or deleted | 24 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/ | ||||