| ietf-bfd-types.yang | ietf-bfd-types-formatted.yang | |||
|---|---|---|---|---|
| module ietf-bfd-types { | module ietf-bfd-types { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types"; | |||
| prefix "bfd-types"; | prefix bfd-types; | |||
| import iana-bfd-types { | import iana-bfd-types { | |||
| prefix "iana-bfd-types"; | prefix iana-bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| 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-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix yang; | |||
| 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 | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA Version)"; | (NMDA Version)"; | |||
| } | } | |||
| import ietf-key-chain { | import ietf-key-chain { | |||
| prefix "key-chain"; | prefix key-chain; | |||
| reference | reference | |||
| "RFC 8177: YANG Data Model for Key Chains"; | "RFC 8177: YANG Data Model for Key Chains"; | |||
| } | } | |||
| 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: <mailto:rtg-bfd@ietf.org> | WG List: <mailto:rtg-bfd@ietf.org> | |||
| Editor: Reshad Rahman | Editor: Reshad Rahman | |||
| <mailto:reshad@yahoo.com> | <mailto:reshad@yahoo.com> | |||
| Editor: Lianshu Zheng | Editor: Lianshu Zheng | |||
| <mailto:vero.zheng@huawei.com> | <mailto:vero.zheng@huawei.com> | |||
| skipping to change at line 125 ¶ | skipping to change at line 119 ¶ | |||
| "This feature indicates that the server supports BFD Echo | "This feature indicates that the server supports BFD Echo | |||
| mode."; | mode."; | |||
| reference | reference | |||
| "RFC 5880: Bidirectional Forwarding Detection (BFD), | "RFC 5880: Bidirectional Forwarding Detection (BFD), | |||
| Section 6.4"; | Section 6.4"; | |||
| } | } | |||
| /* | /* | |||
| * Identity definitions | * Identity definitions | |||
| */ | */ | |||
| identity bfdv1 { | identity bfdv1 { | |||
| base "rt:control-plane-protocol"; | base rt:control-plane-protocol; | |||
| description | description | |||
| "BFD protocol version 1."; | "BFD protocol version 1."; | |||
| reference | reference | |||
| "RFC 5880: Bidirectional Forwarding Detection (BFD)"; | "RFC 5880: Bidirectional Forwarding Detection (BFD)"; | |||
| } | } | |||
| identity path-type { | identity path-type { | |||
| description | description | |||
| "Base identity for the BFD path type. The path type indicates | "Base identity for the BFD path type. The path type indicates | |||
| the type of path on which BFD is running."; | the type of path on which BFD is running."; | |||
| skipping to change at line 229 ¶ | skipping to change at line 231 ¶ | |||
| description | description | |||
| "'Up' state."; | "'Up' state."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "BFD states as defined in RFC 5880."; | "BFD states as defined in RFC 5880."; | |||
| } | } | |||
| typedef multiplier { | typedef multiplier { | |||
| type uint8 { | type uint8 { | |||
| range 1..255; | range "1..255"; | |||
| } | } | |||
| description | description | |||
| "BFD multiplier as described in RFC 5880."; | "BFD multiplier as described in RFC 5880."; | |||
| } | } | |||
| typedef hops { | typedef hops { | |||
| type uint8 { | type uint8 { | |||
| range 1..255; | range "1..255"; | |||
| } | } | |||
| description | description | |||
| "This corresponds to Time To Live for IPv4 and corresponds to | "This corresponds to Time To Live for IPv4 and corresponds to | |||
| the hop limit for IPv6."; | the hop limit for IPv6."; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping auth-parms { | grouping auth-parms { | |||
| description | description | |||
| "Grouping for BFD authentication parameters | "Grouping for BFD authentication parameters | |||
| (see Section 6.7 of RFC 5880)."; | (see Section 6.7 of RFC 5880)."; | |||
| container authentication { | container authentication { | |||
| if-feature authentication; | if-feature "authentication"; | |||
| presence | presence "Enables BFD authentication (see Section 6.7 of RFC 5880)."; | |||
| "Enables BFD authentication (see Section 6.7 of RFC 5880)."; | ||||
| description | description | |||
| "Parameters for BFD authentication."; | "Parameters for BFD authentication."; | |||
| reference | reference | |||
| "RFC 5880: Bidirectional Forwarding Detection (BFD), | "RFC 5880: Bidirectional Forwarding Detection (BFD), | |||
| Section 6.7"; | Section 6.7"; | |||
| leaf key-chain { | leaf key-chain { | |||
| type key-chain:key-chain-ref; | type key-chain:key-chain-ref; | |||
| description | description | |||
| "Name of the 'key-chain' as per RFC 8177."; | "Name of the 'key-chain' as per RFC 8177."; | |||
| } | } | |||
| leaf meticulous { | leaf meticulous { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Enables a meticulous mode as per Section 6.7 of | "Enables a meticulous mode as per Section 6.7 of | |||
| RFC 5880."; | RFC 5880."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping base-cfg-parms { | grouping base-cfg-parms { | |||
| skipping to change at line 281 ¶ | skipping to change at line 281 ¶ | |||
| RFC 5880."; | RFC 5880."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping base-cfg-parms { | grouping base-cfg-parms { | |||
| description | description | |||
| "BFD grouping for base configuration parameters."; | "BFD grouping for base configuration parameters."; | |||
| leaf local-multiplier { | leaf local-multiplier { | |||
| type multiplier; | type multiplier; | |||
| default 3; | default "3"; | |||
| description | description | |||
| "Multiplier transmitted by the local system."; | "Multiplier transmitted by the local system."; | |||
| } | } | |||
| choice interval-config-type { | choice interval-config-type { | |||
| default tx-rx-intervals; | default "tx-rx-intervals"; | |||
| description | description | |||
| "Two interval values or one value used for both transmit and | "Two interval values or one value used for both transmit and | |||
| receive."; | receive."; | |||
| case tx-rx-intervals { | case tx-rx-intervals { | |||
| leaf desired-min-tx-interval { | leaf desired-min-tx-interval { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| default 1000000; | default "1000000"; | |||
| description | description | |||
| "Desired minimum transmit interval of control packets."; | "Desired minimum transmit interval of control packets."; | |||
| } | } | |||
| leaf required-min-rx-interval { | leaf required-min-rx-interval { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| default 1000000; | default "1000000"; | |||
| description | description | |||
| "Required minimum receive interval of control packets."; | "Required minimum receive interval of control packets."; | |||
| } | } | |||
| } | } | |||
| case single-interval { | case single-interval { | |||
| if-feature single-minimum-interval; | if-feature "single-minimum-interval"; | |||
| leaf min-interval { | leaf min-interval { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| default 1000000; | default "1000000"; | |||
| description | description | |||
| "Desired minimum transmit interval and required | "Desired minimum transmit interval and required | |||
| minimum receive interval of control packets."; | minimum receive interval of control packets."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping client-cfg-parms { | grouping client-cfg-parms { | |||
| description | description | |||
| skipping to change at line 327 ¶ | skipping to change at line 324 ¶ | |||
| minimum receive interval of control packets."; | minimum receive interval of control packets."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping client-cfg-parms { | grouping client-cfg-parms { | |||
| description | description | |||
| "BFD grouping for configuration parameters | "BFD grouping for configuration parameters | |||
| used by BFD clients, e.g., IGP or MPLS."; | used by BFD clients, e.g., IGP or MPLS."; | |||
| leaf enabled { | leaf enabled { | |||
| type boolean; | type boolean; | |||
| default false; | default "false"; | |||
| description | description | |||
| "Indicates whether BFD is enabled."; | "Indicates whether BFD is enabled."; | |||
| } | } | |||
| uses base-cfg-parms; | uses base-cfg-parms; | |||
| } | } | |||
| grouping common-cfg-parms { | grouping common-cfg-parms { | |||
| description | description | |||
| "BFD grouping for common configuration parameters."; | "BFD grouping for common configuration parameters."; | |||
| uses base-cfg-parms; | uses base-cfg-parms; | |||
| leaf demand-enabled { | leaf demand-enabled { | |||
| if-feature demand-mode; | if-feature "demand-mode"; | |||
| type boolean; | type boolean; | |||
| default false; | default "false"; | |||
| description | description | |||
| "To enable Demand mode."; | "To enable Demand mode."; | |||
| } | } | |||
| leaf admin-down { | leaf admin-down { | |||
| type boolean; | type boolean; | |||
| default false; | default "false"; | |||
| description | description | |||
| "Indicates whether the BFD session is administratively | "Indicates whether the BFD session is administratively | |||
| down."; | down."; | |||
| } | } | |||
| uses auth-parms; | uses auth-parms; | |||
| } | } | |||
| grouping all-session { | grouping all-session { | |||
| description | description | |||
| "BFD session operational information."; | "BFD session operational information."; | |||
| leaf path-type { | leaf path-type { | |||
| type identityref { | type identityref { | |||
| base path-type; | base path-type; | |||
| } | } | |||
| config "false"; | config false; | |||
| description | description | |||
| "BFD path type. This indicates the path type that BFD is | "BFD path type. This indicates the path type that BFD is | |||
| running on."; | running on."; | |||
| } | } | |||
| leaf ip-encapsulation { | leaf ip-encapsulation { | |||
| type boolean; | type boolean; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Indicates whether BFD encapsulation uses IP."; | "Indicates whether BFD encapsulation uses IP."; | |||
| } | } | |||
| leaf local-discriminator { | leaf local-discriminator { | |||
| type discriminator; | type discriminator; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Local discriminator."; | "Local discriminator."; | |||
| } | } | |||
| leaf remote-discriminator { | leaf remote-discriminator { | |||
| type discriminator; | type discriminator; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Remote discriminator."; | "Remote discriminator."; | |||
| } | } | |||
| leaf remote-multiplier { | leaf remote-multiplier { | |||
| type multiplier; | type multiplier; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Remote multiplier."; | "Remote multiplier."; | |||
| } | } | |||
| leaf demand-capability { | leaf demand-capability { | |||
| if-feature demand-mode; | if-feature "demand-mode"; | |||
| type boolean; | type boolean; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Local Demand mode capability."; | "Local Demand mode capability."; | |||
| } | } | |||
| leaf source-port { | leaf source-port { | |||
| when "../ip-encapsulation = 'true'" { | when "../ip-encapsulation = 'true'" { | |||
| description | description | |||
| "Source port valid only when IP encapsulation is used."; | "Source port valid only when IP encapsulation is used."; | |||
| } | } | |||
| type inet:port-number; | type inet:port-number; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Source UDP port."; | "Source UDP port."; | |||
| } | } | |||
| leaf dest-port { | leaf dest-port { | |||
| when "../ip-encapsulation = 'true'" { | when "../ip-encapsulation = 'true'" { | |||
| description | description | |||
| "Destination port valid only when IP encapsulation | "Destination port valid only when IP encapsulation | |||
| is used."; | is used."; | |||
| } | } | |||
| type inet:port-number; | type inet:port-number; | |||
| config "false"; | config false; | |||
| description | description | |||
| "Destination UDP port."; | "Destination UDP port."; | |||
| } | } | |||
| container session-running { | container session-running { | |||
| config "false"; | config false; | |||
| description | description | |||
| "BFD 'session-running' information."; | "BFD 'session-running' information."; | |||
| leaf session-index { | leaf session-index { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "An index used to uniquely identify BFD sessions."; | "An index used to uniquely identify BFD sessions."; | |||
| } | } | |||
| leaf local-state { | leaf local-state { | |||
| type state; | type state; | |||
| description | description | |||
| skipping to change at line 467 ¶ | skipping to change at line 459 ¶ | |||
| description | description | |||
| "Indicates whether incoming BFD control packets are | "Indicates whether incoming BFD control packets are | |||
| authenticated."; | authenticated."; | |||
| } | } | |||
| leaf remote-authentication-type { | leaf remote-authentication-type { | |||
| when "../remote-authenticated = 'true'" { | when "../remote-authenticated = 'true'" { | |||
| description | description | |||
| "Only valid when incoming BFD control packets are | "Only valid when incoming BFD control packets are | |||
| authenticated."; | authenticated."; | |||
| } | } | |||
| if-feature authentication; | if-feature "authentication"; | |||
| type iana-bfd-types:auth-type; | type iana-bfd-types:auth-type; | |||
| description | description | |||
| "Authentication type of incoming BFD control packets."; | "Authentication type of incoming BFD control packets."; | |||
| } | } | |||
| leaf detection-mode { | leaf detection-mode { | |||
| type enumeration { | type enumeration { | |||
| enum async-with-echo { | enum async-with-echo { | |||
| value "1"; | value 1; | |||
| description | description | |||
| "Async with echo."; | "Async with echo."; | |||
| } | } | |||
| enum async-without-echo { | enum async-without-echo { | |||
| value "2"; | value 2; | |||
| description | description | |||
| "Async without echo."; | "Async without echo."; | |||
| } | } | |||
| enum demand-with-echo { | enum demand-with-echo { | |||
| value "3"; | value 3; | |||
| description | description | |||
| "Demand with echo."; | "Demand with echo."; | |||
| } | } | |||
| enum demand-without-echo { | enum demand-without-echo { | |||
| value "4"; | value 4; | |||
| description | description | |||
| "Demand without echo."; | "Demand without echo."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Detection mode."; | "Detection mode."; | |||
| } | } | |||
| leaf negotiated-tx-interval { | leaf negotiated-tx-interval { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| description | description | |||
| "Negotiated transmit interval."; | "Negotiated transmit interval."; | |||
| } | } | |||
| leaf negotiated-rx-interval { | leaf negotiated-rx-interval { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| description | description | |||
| "Negotiated receive interval."; | "Negotiated receive interval."; | |||
| } | } | |||
| leaf detection-time { | leaf detection-time { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| description | description | |||
| "Detection time."; | "Detection time."; | |||
| } | } | |||
| leaf echo-tx-interval-in-use { | leaf echo-tx-interval-in-use { | |||
| when "../../path-type = 'bfd-types:path-ip-sh'" { | when "../../path-type = 'bfd-types:path-ip-sh'" { | |||
| description | description | |||
| "Echo is supported for IP single-hop only."; | "Echo is supported for IP single-hop only."; | |||
| } | } | |||
| if-feature echo-mode; | if-feature "echo-mode"; | |||
| type uint32; | type uint32; | |||
| units microseconds; | units "microseconds"; | |||
| description | description | |||
| "Echo transmit interval in use."; | "Echo transmit interval in use."; | |||
| } | } | |||
| } | } | |||
| container session-statistics { | container session-statistics { | |||
| config "false"; | config false; | |||
| description | description | |||
| "BFD per-session statistics."; | "BFD per-session statistics."; | |||
| leaf create-time { | leaf create-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| description | description | |||
| "Time and date when this session was created."; | "Time and date when this session was created."; | |||
| } | } | |||
| leaf last-down-time { | leaf last-down-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| description | description | |||
| "Time and date of the last time this session went down."; | "Time and date of the last time this session went down."; | |||
| } | } | |||
| End of changes. 60 change blocks. | ||||
| 65 lines changed or deleted | 49 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/ | ||||