module ietf-rsvp-extended {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended";
prefix rsvp-extended;
import ietf-rsvp {
prefix rsvp;
reference
"RFCXXXX: A YANG Data Model for Resource Reservation Protocol
(RSVP)";
}
import ietf-routing {
prefix rt;
reference
"RFC8349: A YANG Data Model for Routing Management
(NMDA Version)";
}
import ietf-yang-types {
prefix yang;
reference
"RFC6991: Common YANG Data Types";
}
import ietf-key-chain {
prefix key-chain;
reference
"RFC8177: YANG Data Model for Key Chains";
}
organization
"IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web:
WG List:
Editor: Vishnu Pavan Beeram
Editor: Tarek Saad
Editor: Rakesh Gandhi
Editor: Xufeng Liu
Editor: Igor Bryskin
";
description
"This module contains the Extended RSVP YANG data model.
The model fully conforms to the Network Management Datastore
Architecture (NMDA).
Copyright (c) 2019 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this
// note.
// RFC Ed.: update the date below with the date of RFC publication
// and remove this note.
revision 2021-02-07 {
description
"Initial version.";
reference
"RFCXXXX: A YANG Data Model for Resource Reservation Protocol
(RSVP)";
}
grouping graceful-restart-extended {
description
"Configuration parameters relating to RSVP Graceful-Restart.";
leaf restart-time {
type uint32;
units "seconds";
default "120";
description
"Graceful restart time (seconds).";
reference
"RFC3473, RFC5495";
}
leaf recovery-time {
type uint32;
units "seconds";
default "120";
description
"RSVP state recovery time.";
reference
"RFC3473, RFC5495";
}
}
grouping authentication-extended {
description
"Configuration parameters relating to RSVP authentication.";
leaf lifetime {
type uint32 {
range "30..86400";
}
units "seconds";
default "30";
description
"Life time for each security association.";
reference
"RFC2747: RSVP Cryptographic Authentication";
}
leaf window-size {
type uint32 {
range "1..64";
}
default "2";
description
"Window-size to limit number of out-of-order messages.";
reference
"RFC2747: RSVP Cryptographic Authentication";
}
leaf challenge {
type empty;
description
"Enable challenge messages.";
reference
"RFC2747: RSVP Cryptographic Authentication";
}
leaf retransmits {
type uint32 {
range "1..10000";
}
default "1";
description
"Number of retransmits when messages are dropped.";
reference
"RFC2747: RSVP Cryptographic Authentication";
}
leaf key-chain {
type key-chain:key-chain-ref;
description
"Key chain name to authenticate RSVP
signaling messages.";
reference
"RFC2747: RSVP Cryptographic Authentication";
}
}
grouping hellos-extended {
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";
default "9000";
description
"Configure interval between successive Hello messages in
milliseconds.";
reference
"RFC3209: RSVP-TE: Extensions to RSVP for LSP Tunnels.
RFC5495: Description of the Resource Reservation Protocol -
Traffic-Engineered (RSVP-TE) Graceful Restart Procedures.";
}
leaf hello-misses {
type uint32 {
range "1..10";
}
default "3";
description
"Configure max number of consecutive missed Hello messages.";
reference
"RFC3209: RSVP-TE: Extensions to RSVP for LSP Tunnels.
RFC5495: Description of the Resource Reservation Protocol -
Traffic- Engineered (RSVP-TE) Graceful Restart Procedures.";
}
}
grouping signaling-parameters-extended {
description
"Configuration parameters relating to RSVP signaling";
leaf refresh-interval {
type uint32;
units "seconds";
default "30";
description
"Set interval between successive refreshes";
reference "RFC2205";
}
leaf refresh-misses {
type uint32;
default "9";
description
"Set max number of consecutive missed messages for state
expiry";
reference "RFC2205";
}
leaf checksum_enabled {
type boolean;
default "false";
description
"Enable RSVP message checksum computation";
reference "RFC2205";
}
leaf patherr-state-removal {
type empty;
description
"State-Removal flag in Path Error message if present.";
reference "RFC3473";
}
}
grouping refresh-reduction-extended {
description
"Configuration parameters relating to RSVP refresh reduction.";
leaf bundle-message-max-size {
type uint32 {
range "512..65000";
}
default "1500";
description
"Configure maximum size (bytes) of a single RSVP Bundle
message.";
reference "RFC2961";
}
leaf reliable-ack-hold-time {
type uint32;
units "milliseconds";
default "9000";
description
"Configure hold time in milliseconds for sending RSVP ACK
message(s).";
reference "RFC2961";
}
leaf reliable-ack-max-size {
type uint32;
default "1500";
description
"Configure max size of a single RSVP ACK message.";
reference "RFC2961";
}
leaf reliable-retransmit-time {
type uint32;
units "milliseconds";
default "50";
description
"Configure min delay in milliseconds to wait for an ACK
before a retransmit.";
reference "RFC2961";
}
leaf reliable-srefresh {
type empty;
description
"Configure use of reliable messaging for summary refresh if
present.";
reference "RFC2961";
}
leaf summary-max-size {
type uint32 {
range "20..65000";
}
default "1500";
description
"Configure max size (bytes) of a single RSVP summary refresh
message.";
reference "RFC2961";
}
}
grouping packets-extended-statistics {
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 RSVP packet drop count.";
}
leaf in-dropped {
type yang:counter64;
description
"In RSVP packet drop count.";
}
leaf out-errors {
type yang:counter64;
description
"Out RSVP packet errors count.";
}
leaf in-errors {
type yang:counter64;
description
"In RSVP packet rx errors count.";
}
}
/**
* RSVP extensions augmentations
*/
/* RSVP graceful restart*/
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/"
+ "rsvp:graceful-restart" {
description
"RSVP graceful restart configuration extensions";
uses graceful-restart-extended;
}
/**
* 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;
}
/* Packet statistics extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:statistics/rsvp:packets" {
description
"RSVP packets all interfaces configuration extensions";
uses packets-extended-statistics;
}
/* 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;
}
/* 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;
}
/* 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;
}
/**
* RSVP per 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;
}
/* Packet statistics extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:interface/rsvp:statistics/rsvp:packets" {
description
"RSVP packet stats extensions";
uses packets-extended-statistics;
}
/* 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;
}
/* 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;
}
/* 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;
}
}