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