module ietf-rsvp-extended {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended";
prefix "rsvp-ext";
import ietf-rsvp {
prefix "rsvp";
}
import ietf-routing {
prefix "rt";
}
import ietf-yang-types {
prefix "yang";
}
import ietf-key-chain {
prefix "key-chain";
}
organization
"IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web:
WG List:
WG Chair: Lou Berger
WG Chair: Vishnu Pavan Beeram
Editor: Vishnu Pavan Beeram
Editor: Tarek Saad
Editor: Rakesh Gandhi
Editor: Himanshu Shah
Editor: Xufeng Liu
Editor: Xia Chen
Editor: Raqib Jones
Editor: Bin Wen
";
description
"This module contains the Extended RSVP YANG data model.";
revision "2017-10-29" {
description "Latest revision of RSVP extended yang module.";
reference "RFC2205";
}
/* RSVP features */
feature authentication {
description
"Indicates support for RSVP authentication";
}
feature error-statistics {
description
"Indicates support for error statistics";
}
feature global-statistics {
description
"Indicates support for global statistics";
}
feature graceful-restart {
description
"Indicates support for RSVP graceful restart";
}
feature hellos {
description
"Indicates support for RSVP hellos (RFC3209).";
}
feature notify {
description
"Indicates support for RSVP notify message (RFC3473).";
}
feature refresh-reduction {
description
"Indicates support for RSVP refresh reduction
(RFC2961).";
}
feature refresh-reduction-extended {
description
"Indicates support for RSVP refresh reduction
(RFC2961).";
}
feature per-interface-statistics {
description
"Indicates support for per interface statistics";
}
grouping graceful-restart-extended_config {
description
"Configuration parameters relating to RSVP
Graceful-Restart";
leaf restart-time {
type uint32;
units seconds;
description
"Graceful restart time (seconds).";
reference
"RFC 5495: Description of the Resource
Reservation Protocol - Traffic-Engineered
(RSVP-TE) Graceful Restart Procedures";
}
leaf recovery-time {
type uint32;
units seconds;
description
"RSVP state recovery time";
}
}
grouping authentication-extended_config {
description
"Configuration parameters relating to RSVP
authentication";
leaf lifetime {
type uint32 {
range "30..86400";
}
units seconds;
description
"Life time for each security association";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf window-size {
type uint32 {
range "1..64";
}
description
"Window-size to limit number of out-of-order
messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf challenge {
type empty;
description
"Enable challenge messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf retransmits {
type uint32 {
range "1..10000";
}
description
"Number of retransmits when messages are
dropped.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf key-chain {
type key-chain:key-chain-ref;
description
"Key chain name to authenticate RSVP
signaling messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
}
grouping hellos-extended_config {
description
"Configuration parameters relating to RSVP
hellos";
leaf interface-based {
type empty;
description
"Enable interface-based Hello adjacency if present.";
}
leaf hello-interval {
type uint32;
units milliseconds;
description
"Configure interval between successive Hello
messages in milliseconds.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels.
RFC 5495: Description of the Resource
Reservation Protocol - Traffic-Engineered
(RSVP-TE) Graceful Restart Procedures";
}
leaf hello-misses {
type uint32 {
range "1..10";
}
description
"Configure max number of consecutive missed
Hello messages.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for
LSP Tunnels RFC 5495: Description of the
Resource Reservation Protocol - Traffic-
Engineered (RSVP-TE) Graceful Restart
Procedures";
}
}
grouping signaling-parameters-extended_config {
description
"Configuration parameters relating to RSVP
signaling";
leaf refresh-interval {
type uint32;
description
"Set interval between successive refreshes";
}
leaf refresh-misses {
type uint32;
description
"Set max number of consecutive missed
messages for state expiry";
}
leaf checksum {
type boolean;
description
"Enable RSVP message checksum computation";
}
leaf patherr-state-removal {
type empty;
description
"State-Removal flag in Path Error message
if present.";
}
}
grouping refresh-reduction-extended_config {
description
"Configuration parameters relating to RSVP
refresh reduction";
leaf bundle-message-max-size {
type uint32 {
range "512..65000";
}
description
"Configure maximum size (bytes) of a
single RSVP Bundle message.";
}
leaf reliable-ack-hold-time {
type uint32;
units milliseconds;
description
"Configure hold time in milliseconds for
sending RSVP ACK message(s).";
}
leaf reliable-ack-max-size {
type uint32;
description
"Configure max size of a single RSVP ACK
message.";
}
leaf reliable-retransmit-time {
type uint32;
units milliseconds;
description
"Configure min delay in milliseconds to
wait for an ACK before a retransmit.";
}
leaf reliable-srefresh {
type empty;
description
"Configure use of reliable messaging for
summary refresh if present.";
}
leaf summary-max-size {
type uint32 {
range "20..65000";
}
description
"Configure max size (bytes) of a single
RSVP summary refresh message.";
}
}
grouping packets-extended_state {
description
"Packet statistics.";
leaf discontinuity-time {
type yang:date-and-time;
description
"The time on the most recent occasion at which any one
or more of the statistic counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local
management subsystem, then this node contains the time
the local management subsystem re-initialized itself.";
}
leaf out-dropped {
type yang:counter64;
description
"Out packet drop count";
}
leaf in-dropped {
type yang:counter64;
description
"In packet drop count";
}
leaf out-error {
type yang:counter64;
description
"Out packet error count";
}
leaf in-error {
type yang:counter64;
description
"In packet rx error count";
}
}
grouping protocol-extended_state {
description
"RSVP protocol statistics.";
}
grouping errors-extended_state {
description
"Error statistics.";
}
grouping extended_state {
description "RSVP statistic attributes.";
uses packets-extended_state;
uses protocol-extended_state;
uses errors-extended_state;
}
/**
* RSVP extensions augmentations
*/
/* RSVP globals graceful restart*/
augment "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" +
"rsvp:graceful-restart" {
description
"RSVP globals configuration extensions";
uses graceful-restart-extended_config;
}
/* RSVP statistics augmentation */
augment "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" +
"rsvp:statistics/rsvp:state/rsvp:packets" {
description
"RSVP packet stats extensions";
uses packets-extended_state;
}
augment "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" +
"rsvp:statistics/rsvp:state/rsvp:messages" {
description
"RSVP protocol message stats extensions";
uses protocol-extended_state;
}
augment "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" +
"rsvp:statistics/rsvp:state/rsvp:errors" {
description
"RSVP errors stats extensions";
uses errors-extended_state;
}
/**
* RSVP all interfaces extensions
*/
/* RSVP interface signaling extensions */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" {
description
"RSVP signaling all interfaces configuration extensions";
uses signaling-parameters-extended_config;
}
/* RSVP refresh reduction extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:refresh-reduction" {
description
"RSVP refresh-reduction all interface configuration
extensions";
uses refresh-reduction-extended_config;
}
/* RSVP hellos extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:hellos" {
description
"RSVP hello all interfaces configuration extensions";
uses hellos-extended_config;
}
/* RSVP authentication extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:authentication" {
description
"RSVP authentication all interfaces configuration extensions";
uses authentication-extended_config;
}
/**
* RSVP interface extensions
*/
/* RSVP interface signaling extensions */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface" {
description
"RSVP signaling interface configuration extensions";
uses signaling-parameters-extended_config;
}
/* RSVP refresh reduction extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:refresh-reduction" {
description
"RSVP refresh-reduction interface configuration extensions";
uses refresh-reduction-extended_config;
}
/* RSVP hellos extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:hellos" {
description
"RSVP hello interface configuration extensions";
uses hellos-extended_config;
}
/* RSVP authentication extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:authentication" {
description
"RSVP authentication interface configuration extensions";
uses authentication-extended_config;
}
}