netconfcentral logo

ietf-rsvp

HTML

ietf-rsvp@2017-10-29



  module ietf-rsvp {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-rsvp";

    prefix rsvp;

    import ietf-interfaces {
      prefix if;
    }
    import ietf-inet-types {
      prefix inet;
    }
    import ietf-yang-types {
      prefix yang;
    }
    import ietf-routing {
      prefix rt;
    }
    import ietf-key-chain {
      prefix key-chain;
    }

    organization
      "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     WG Chair: Lou Berger
               <mailto:lberger@labn.net>

     WG Chair: Vishnu Pavan Beeram
               <mailto:vbeeram@juniper.net>

     Editor:   Vishnu Pavan Beeram
               <mailto:vbeeram@juniper.net>

     Editor:   Tarek Saad
               <mailto:tsaad@cisco.com>

     Editor:   Rakesh Gandhi
               <mailto:rgandhi@cisco.com>

     Editor:   Himanshu Shah
               <mailto:hshah@ciena.com>
     Editor:   Xufeng Liu
               <mailto:Xufeng_Liu@jabil.com>

     Editor:   Xia Chen
               <mailto:jescia.chenxia@huawei.com>

     Editor:   Raqib Jones
               <mailto:raqib@Brocade.com>

     Editor:   Bin Wen
               <mailto:Bin_Wen@cable.comcast.com>";

    description
      "This module contains the RSVP YANG data model.";

    revision "2017-10-29" {
      description
        "Latest revision of RSVP yang module.";
      reference
        "RFC2205";

    }


    identity rsvp {
      base rt:routing-protocol;
      description "RSVP protocol";
    }

    identity rsvp-session-type {
      base 
      description "Base RSVP session type";
    }

    identity rsvp-session-ipv4 {
      base rsvp-session-type;
      description "RSVP IPv4 session type";
    }

    identity rsvp-session-ipv6 {
      base rsvp-session-type;
      description "RSVP IPv4 session type";
    }

    identity reservation-style {
      base 
      description
        "Base identity for reservation style";
    }

    identity reservation-wildcard-filter {
      base reservation-style;
      description
        "Wildcard-Filter (WF) Style";
      reference
        "RFC2205";

    }

    identity reservation-fixed-filter {
      base reservation-style;
      description "Fixed-Filter (FF) Style";
      reference
        "RFC2205";

    }

    identity reservation-shared-explicit {
      base reservation-style;
      description
        "Shared Explicit (SE) Style";
      reference
        "RFC2205";

    }

    grouping graceful-restart_config {
      description
        "Base configuration parameters relating to RSVP
       Graceful-Restart";
      leaf enabled {
        type boolean;
        description
          "'true' if RSVP Graceful Restart is enabled.
         'false' if RSVP Graceful Restart is disabled.";
      }
    }  // grouping graceful-restart_config

    grouping graceful-restart {
      description
        "RSVP graceful restart parameters grouping";
      container graceful-restart {
        description
          "RSVP graceful restart parameters container";
        uses graceful-restart_config;
      }  // container graceful-restart
    }  // grouping graceful-restart

    grouping refresh-reduction_config {
      description
        "Configuration parameters relating to RSVP
       refresh reduction";
      leaf enabled {
        type boolean;
        description
          "'true' if RSVP Refresh Reduction is enabled.
         'false' if RSVP Refresh Reduction is disabled.";
      }
    }  // grouping refresh-reduction_config

    grouping refresh-reduction {
      description
        "Top level grouping for RSVP refresh reduction
       parameters";
      container refresh-reduction {
        description
          "Top level container for RSVP refresh reduction
         parameters";
        uses refresh-reduction_config;
      }  // container refresh-reduction
    }  // grouping refresh-reduction

    grouping authentication_config {
      description
        "Configuration parameters relating to RSVP
       authentication";
      leaf enabled {
        type boolean;
        description
          "'true' if RSVP Authentication is enabled.
         'false' if RSVP Authentication is disabled.";
      }

      leaf authentication-key {
        type string;
        description
          "An authentication key string";
        reference
          "RFC 2747: RSVP Cryptographic Authentication";

      }

      leaf crypto-algorithm {
        type identityref {
          base key-chain:crypto-algorithm;
        }
        mandatory true;
        description
          "Cryptographic algorithm associated with key.";
      }
    }  // grouping authentication_config

    grouping authentication {
      description
        "Top level grouping for RSVP authentication parameters";
      container authentication {
        description
          "Top level container for RSVP authentication
         parameters";
        uses authentication_config;
      }  // container authentication
    }  // grouping authentication

    grouping hellos_config {
      description
        "Configuration parameters relating to RSVP
      hellos";
      leaf enabled {
        type boolean;
        description
          "'true' if RSVP Hello is enabled.
         'false' if RSVP Hello is disabled.";
      }
    }  // grouping hellos_config

    grouping hellos {
      description
        "Top level grouping for RSVP hellos parameters";
      container hellos {
        description
          "Top level container for RSVP hello parameters";
        uses hellos_config;
      }  // container hellos
    }  // grouping hellos

    grouping signaling-parameters_config {
      description
        "Configuration parameters relating to RSVP
      signaling";
    }  // grouping signaling-parameters_config

    grouping signaling-parameters {
      description
        "Top level grouping for RSVP signaling  parameters";
      uses signaling-parameters_config;
    }  // grouping signaling-parameters

    grouping session-attributes_state {
      description
        "Top level grouping for RSVP session properties";
      leaf local-index {
        type uint64;
        description
          "The index used to identify the RSVP session
         on the local network element. This index is
         generated by the device and is unique only
         to the local network element.";
      }

      leaf destination-port {
        type inet:port-number;
        description "RSVP destination port";
        reference
          "RFC2205";

      }

      leaf source {
        type inet:ip-address;
        description "RSVP source address";
        reference
          "RFC2205";

      }

      leaf destination {
        type inet:ip-address;
        description
          "RSVP destination address";
        reference
          "RFC2205";

      }

      leaf session-name {
        type string;
        description
          "The signaled name of this RSVP session.";
      }

      leaf session-state {
        type enumeration {
          enum "up" {
            value 0;
            description "RSVP session is up";
          }
          enum "down" {
            value 1;
            description
              "RSVP session is down";
          }
        }
        description
          "Enumeration of RSVP session states";
      }

      leaf session-type {
        type identityref {
          base rsvp-session-type;
        }
        description "RSVP session type";
      }

      container psbs {
        description
          "Path State Block container";
        list psb {
          description
            "List of path state blocks";
          leaf source-port {
            type inet:port-number;
            description "RSVP source port";
            reference
              "RFC2205";

          }

          leaf expires-in {
            type uint32;
            units "seconds";
            description
              "Time to reservation expiry (in seconds)";
          }
        }  // list psb
      }  // container psbs

      container rsbs {
        description
          "Reservation State Block container";
        list rsb {
          description
            "List of reservation state blocks";
          leaf source-port {
            type inet:port-number;
            description "RSVP source port";
            reference
              "RFC2205";

          }

          leaf reservation-style {
            type identityref {
              base reservation-style;
            }
            description
              "RSVP reservation style";
          }

          leaf expires-in {
            type uint32;
            units "seconds";
            description
              "Time to reservation expiry (in seconds)";
          }
        }  // list rsb
      }  // container rsbs
    }  // grouping session-attributes_state

    grouping neighbor-attributes {
      description
        "Top level grouping for RSVP neighbor properties";
      leaf address {
        type inet:ip-address;
        description
          "Address of RSVP neighbor";
      }

      container state {
        config false;
        description
          "State information associated with RSVP
         neighbor properties";
        uses neighbor-derived_state;
      }  // container state
    }  // grouping neighbor-attributes

    grouping packets_state {
      description
        "Packet statistics grouping";
      container packets {
        description
          "Packet statistics container";
        leaf sent {
          type yang:counter64;
          description "Packet sent count";
        }

        leaf received {
          type yang:counter64;
          description
            "Packet received count";
        }
      }  // container packets
    }  // grouping packets_state

    grouping protocol_state {
      description
        "RSVP protocol statistics grouping";
      container messages {
        description
          "RSVP protocol statistics container";
        leaf ack-sent {
          type yang:counter64;
          description "Hello sent count";
        }

        leaf ack-received {
          type yang:counter64;
          description "Hello received count";
        }

        leaf bundle-sent {
          type yang:counter64;
          description "Bundle sent count";
        }

        leaf bundle-received {
          type yang:counter64;
          description
            "Bundle received count";
        }

        leaf hello-sent {
          type yang:counter64;
          description "Hello sent count";
        }

        leaf hello-received {
          type yang:counter64;
          description "Hello received count";
        }

        leaf integrity-challenge-sent {
          type yang:counter64;
          description
            "Integrity Challenge sent count";
        }

        leaf integrity-challenge-received {
          type yang:counter64;
          description
            "Integrity Challenge received count";
        }

        leaf integrity-response-sent {
          type yang:counter64;
          description
            "Integrity Response sent count";
        }

        leaf integrity-response-received {
          type yang:counter64;
          description
            "Integrity Response received count";
        }

        leaf notify-sent {
          type yang:counter64;
          description "Notify sent count";
        }

        leaf notify-received {
          type yang:counter64;
          description
            "Notify received count";
        }

        leaf path-sent {
          type yang:counter64;
          description "Path sent count";
        }

        leaf path-received {
          type yang:counter64;
          description "Path received count";
        }

        leaf path-err-sent {
          type yang:counter64;
          description
            "Path error sent count";
        }

        leaf path-err-received {
          type yang:counter64;
          description
            "Path error received count";
        }

        leaf path-tear-sent {
          type yang:counter64;
          description "Path tear sent count";
        }

        leaf path-tear-received {
          type yang:counter64;
          description
            "Path tear received count";
        }

        leaf resv-sent {
          type yang:counter64;
          description "Resv sent count";
        }

        leaf resv-received {
          type yang:counter64;
          description "Resv received count";
        }

        leaf resv-confirm-sent {
          type yang:counter64;
          description "Confirm sent count";
        }

        leaf resv-confirm-received {
          type yang:counter64;
          description
            "Confirm received count";
        }

        leaf resv-err-sent {
          type yang:counter64;
          description
            "Resv error sent count";
        }

        leaf resv-err-received {
          type yang:counter64;
          description
            "Resv error received count";
        }

        leaf resv-tear-sent {
          type yang:counter64;
          description "Resv tear sent count";
        }

        leaf resv-tear-received {
          type yang:counter64;
          description
            "Resv tear received count";
        }

        leaf summary-refresh-sent {
          type yang:counter64;
          description
            "Summary refresh sent count";
        }

        leaf summary-refresh-received {
          type yang:counter64;
          description
            "Summary refresh received count";
        }

        leaf unknown-messages-received {
          type yang:counter64;
          description
            "Unknown packet received count";
        }
      }  // container messages
    }  // grouping protocol_state

    grouping errors_state {
      description
        "Error statistics state grouping";
      container errors {
        description
          "Error statistics state container";
        leaf authenticate {
          type yang:counter64;
          description
            "The total number of packets received with an
          authentication failure.";
        }

        leaf checksum {
          type yang:counter64;
          description
            "The total number of packets received with an invalid
          checksum value.";
        }

        leaf packet-len {
          type yang:counter64;
          description
            "The total number of packets received with an invalid
          packet length.";
        }
      }  // container errors
    }  // grouping errors_state

    grouping statistics_state {
      description
        "RSVP statistic attributes.";
      container statistics {
        description
          "statistics state container";
        container state {
          config false;
          description
            "State information associated with RSVP
           hello parameters";
          uses protocol_state;

          uses packets_state;

          uses errors_state;
        }  // container state
      }  // container statistics
    }  // grouping statistics_state

    grouping neighbor-derived_state {
      description
        "Derived state at neighbor level.";
      leaf address {
        type inet:ip-address;
        description
          "Address of RSVP neighbor";
      }

      leaf epoch {
        type uint32;
        description "Neighbor epoch.";
      }

      leaf expiry-time {
        type uint32;
        units "seconds";
        description
          "Neighbor expiry time after which the neighbor state
        is purged if no states associated with it";
      }

      container graceful-restart {
        description
          "Graceful restart information.";
        leaf enabled {
          type boolean;
          description
            "'true' if graceful restart is enabled for the
          neighbor.";
        }

        leaf local-restart-time {
          type uint32;
          units "seconds";
          description
            "Local node restart time";
        }

        leaf local-recovery-time {
          type uint32;
          units "seconds";
          description
            "Local node recover time";
        }

        leaf neighbor-restart-time {
          type uint32;
          units "seconds";
          description
            "Neighbor restart time";
        }

        leaf neighbor-recovery-time {
          type uint32;
          units "seconds";
          description
            "Neighbor recover time";
        }

        container helper-mode {
          description
            "Helper mode information ";
          leaf enabled {
            type boolean;
            description
              "'true' if helper mode is enabled.";
          }

          leaf max-helper-restart-time {
            type uint32;
            units "seconds";
            description
              "The time the router or switch waits after it
             discovers that a neighboring router has gone down
             before it declares the neighbor down";
          }

          leaf max-helper-recovery-time {
            type uint32;
            units "seconds";
            description
              "The amount of time the router retains the state of its
             RSVP neighbors while they undergo a graceful restart";
          }

          leaf neighbor-restart-time-remaining {
            type uint32;
            units "seconds";
            description
              "Number of seconds remaining for neighbor to send
             Hello message after restart.";
          }

          leaf neighbor-recovery-time-remaining {
            type uint32;
            units "seconds";
            description
              "Number of seconds remaining for neighbor to
            refresh.";
          }
        }  // container helper-mode
      }  // container graceful-restart

      leaf hello-status {
        type enumeration {
          enum "enabled" {
            value 0;
            description "Enabled";
          }
          enum "disabled" {
            value 1;
            description "Disabled";
          }
          enum "restarting" {
            value 2;
            description "Restarting";
          }
        }
        description "Hello status";
      }

      leaf interface {
        type if:interface-ref;
        description
          "Interface where RSVP neighbor was detected";
      }

      leaf neighbor-state {
        type enumeration {
          enum "up" {
            value 0;
            description "up";
          }
          enum "down" {
            value 1;
            description "down";
          }
          enum "hello-disable" {
            value 2;
            description "hello-disable";
          }
          enum "restarting" {
            value 3;
            description "restarting";
          }
        }
        description "Neighbor state";
      }

      leaf refresh-reduction-capable {
        type boolean;
        description
          "enables all RSVP refresh reduction message
         bundling, RSVP message ID, reliable message delivery
         and summary refresh";
        reference
          "RFC 2961 RSVP Refresh Overhead Reduction
          Extensions";

      }

      leaf restart-count {
        type yang:counter32;
        description
          "Number of times this neighbor restart";
      }

      leaf restart-time {
        type yang:date-and-time;
        description
          "Last restart time of the neighbor";
      }
    }  // grouping neighbor-derived_state

    grouping global-attributes {
      description
        "Top level grouping for RSVP global properties";
      container sessions {
        description
          "RSVP sessions container";
        list session {
          key "local-index";
          config false;
          description
            "List of RSVP sessions";
          leaf local-index {
            type leafref {
              path "../state/local-index";
            }
            description
              "Reference to the local index for the RSVP
            session";
          }

          container state {
            config false;
            description
              "State information associated with RSVP
             session parameters";
            uses session-attributes_state;
          }  // container state
        }  // list session
      }  // container sessions

      uses statistics_state;
    }  // grouping global-attributes

    grouping intf-attributes {
      description
        "Top level grouping for RSVP interface properties";
      uses signaling-parameters;

      uses refresh-reduction;

      uses hellos;

      uses authentication;

      uses statistics_state;
    }  // grouping intf-attributes

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol {
      when "rt:type = 'rsvp:rsvp'" {
        description
          "This augment is only valid when routing protocol
      instance type is RSVP.";
      }
      description
        "RSVP protocol augmentation";
      container rsvp {
        presence "Enable RSVP feature";
        description "RSVP feature container";
        container globals {
          description
            "RSVP global properties.";
          uses global-attributes;

          uses graceful-restart;
        }  // container globals

        container interfaces {
          description
            "RSVP interfaces container";
          uses intf-attributes;

          list interface {
            key "interface";
            description "RSVP interfaces.";
            leaf interface {
              type if:interface-ref;
              description "RSVP interface.";
            }

            uses intf-attributes;
          }  // list interface
        }  // container interfaces

        container neighbors {
          description
            "RSVP neighbors container";
          list neighbor {
            key "address";
            description
              "List of RSVP neighbors";
            uses neighbor-attributes;
          }  // list neighbor
        }  // container neighbors
      }  // container rsvp
    }
  }  // module ietf-rsvp

Summary

  
  
Organization IETF Traffic Engineering Architecture and Signaling (TEAS) Working Group
  
Module ietf-rsvp
Version 2017-10-29
File ietf-rsvp@2017-10-29.yang
  
Prefix rsvp
Namespace urn:ietf:params:xml:ns:yang:ietf-rsvp
  
Cooked /cookedmodules/ietf-rsvp/2017-10-29
YANG /src/ietf-rsvp@2017-10-29.yang
XSD /xsd/ietf-rsvp@2017-10-29.xsd
  
Abstract This module contains the RSVP YANG data model.
  
Contact
WG Web:   <http://tools.ietf.org/wg/teas/>
WG List:  <mailto:teas@ietf.org>

WG Chair: Lou Berger
	  <mailto:lberger@labn.net>

WG Chair: Vishnu Pavan Beeram
	  <mailto:vbeeram@juniper.net>

Editor:   Vishnu Pavan Beeram
	  <mailto:vbeeram@juniper.net>

Editor:   Tarek Saad
	  <mailto:tsaad@cisco.com>

Editor:   Rakesh Gandhi
	  <mailto:rgandhi@cisco.com>

Editor:   Himanshu Shah
	  <mailto:hshah@ciena.com>
Editor:   Xufeng Liu
	  <mailto:Xufeng_Liu@jabil.com>

Editor:   Xia Chen
	  <mailto:jescia.chenxia@huawei.com>

Editor:   Raqib Jones
	  <mailto:raqib@Brocade.com>

Editor:   Bin Wen
	  <mailto:Bin_Wen@cable.comcast.com>

Description

 
This module contains the RSVP YANG data model.

Groupings

Grouping Objects Abstract
authentication authentication Top level grouping for RSVP authentication parameters
authentication_config enabled authentication-key crypto-algorithm Configuration parameters relating to RSVP authentication
errors_state errors Error statistics state grouping
global-attributes sessions statistics Top level grouping for RSVP global properties
graceful-restart graceful-restart RSVP graceful restart parameters grouping
graceful-restart_config enabled Base configuration parameters relating to RSVP Graceful-Restart
hellos hellos Top level grouping for RSVP hellos parameters
hellos_config enabled Configuration parameters relating to RSVP hellos
intf-attributes refresh-reductionhellosauthenticationstatistics Top level grouping for RSVP interface properties
neighbor-attributes address state Top level grouping for RSVP neighbor properties
neighbor-derived_state address epoch expiry-time graceful-restart hello-status interface neighbor-state refresh-reduction-capable restart-count restart-time Derived state at neighbor level.
packets_state packets Packet statistics grouping
protocol_state messages RSVP protocol statistics grouping
refresh-reduction refresh-reduction Top level grouping for RSVP refresh reduction parameters
refresh-reduction_config enabled Configuration parameters relating to RSVP refresh reduction
session-attributes_state local-index destination-port source destination session-name session-state session-type psbs rsbs Top level grouping for RSVP session properties
signaling-parameters Top level grouping for RSVP signaling parameters
signaling-parameters_config Configuration parameters relating to RSVP signaling
statistics_state statistics RSVP statistic attributes.