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/ |