netconfcentral logo

ietf-rsvp-te-mpls

HTML

ietf-rsvp-te-mpls@2017-10-29



  module ietf-rsvp-te-mpls {

    yang-version 1;

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

    prefix rsvp-te-mpls;

    import ietf-rsvp {
      prefix rsvp;
    }
    import ietf-routing {
      prefix rt;
    }
    import ietf-te-mpls-types {
      prefix te-mpls-types;
    }
    import ietf-te-types {
      prefix te-types;
    }
    import ietf-te {
      prefix te;
    }
    import ietf-te-device {
      prefix te-dev;
    }

    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:xliu@kuatrotech.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
      "Latest update to MPLS RSVP-TE YANG data model.";

    revision "2017-10-29" {
      description
        "Update to MPLS RSVP-TE YANG initial revision.";
      reference
        "RFC3209, RFC6511, RFC6790, RFC7260, RFC4859, RFC4090";

    }


    grouping lsp-attributes-flags-mpls_config {
      description
        "Configuration parameters relating to RSVP-TE MPLS LSP
      attribute flags";
      leaf non-php-desired {
        type empty;
        description "Non-PHP is desired";
        reference
          "RFC6511";

      }

      leaf entropy-label-cap {
        type empty;
        description
          "Entropy label capability";
        reference
          "RFC6790";

      }

      leaf oam-mep-entities-desired {
        type empty;
        description
          "OAM MEP entities desired";
        reference
          "RFC7260";

      }

      leaf oam-mip-entities-desired {
        type empty;
        description
          "OAM MIP entities desired";
        reference
          "RFC7260";

      }
    }  // grouping lsp-attributes-flags-mpls_config

    grouping lsp-session-attributes-obj-flags-mpls_config {
      description
        "Configuration parameters relating to RSVP-TE MPLS LSP
       session attribute flags";
      reference
        "RFC4859: Registry for RSVP-TE Session Flags";

      leaf local-protection-desired {
        type empty;
        description
          "Fastreroute local protection is desired.";
        reference
          "RFC4859: Registry for RSVP-TE Session Flags";

      }

      leaf bandwidth-protection-desired {
        type empty;
        description
          "Request FRR bandwidth protection on LSRs if
        present.";
        reference
          "RFC4090";

      }

      leaf node-protection-desired {
        type empty;
        description
          "Request FRR node protection on LSRs if
        present.";
        reference
          "RFC4090";

      }
    }  // grouping lsp-session-attributes-obj-flags-mpls_config

    grouping tunnel-properties-mpls_config {
      description
        "Top level grouping for LSP properties.";
      uses lsp-session-attributes-obj-flags-mpls_config;

      uses lsp-attributes-flags-mpls_config;
    }  // grouping tunnel-properties-mpls_config

    grouping lsp-properties-mpls {
      description
        "Top level grouping for LSP properties.";
      container state {
        config false;
        description
          "Configuration applied parameters and state";
        uses lsp-session-attributes-obj-flags-mpls_config;

        uses lsp-attributes-flags-mpls_config;
      }  // container state
    }  // grouping lsp-properties-mpls

    grouping rsvp-te-interface_state {
      description
        "The RSVP-TE interface state grouping";
      leaf over-subscribed-bandwidth {
        type uint32;
        description
          "The amount of over-subscribed bandwidth on
        the interface";
      }
    }  // grouping rsvp-te-interface_state

    grouping rsvp-te-interface-softpreemption_state {
      description
        "The RSVP-TE interface preeemptions state grouping";
      container interface-softpreemption-state {
        description
          "The RSVP-TE interface preeemptions state grouping";
        leaf soft-preempted-bandwidth {
          type uint32;
          description
            "The amount of soft-preempted bandwidth on
          this interface";
        }

        list lsps {
          key "source destination tunnel-id lsp-id extended-tunnel-id";
          description
            "List of LSPs that are soft-preempted";
          leaf source {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:source";
            }
            description
              "Tunnel sender address extracted from
            SENDER_TEMPLATE  object";
            reference
              "RFC3209";

          }

          leaf destination {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:destination";
            }
            description
              "Tunnel endpoint address extracted from
            SESSION object";
            reference
              "RFC3209";

          }

          leaf tunnel-id {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:tunnel-id";
            }
            description
              "Tunnel identifier used in the SESSION
            that remains constant over the life
            of the tunnel.";
            reference
              "RFC3209";

          }

          leaf lsp-id {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:lsp-id";
            }
            description
              "Identifier used in the SENDER_TEMPLATE
            and the FILTER_SPEC that can be changed
            to allow a sender to share resources with
            itself.";
            reference
              "RFC3209";

          }

          leaf extended-tunnel-id {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:extended-tunnel-id";
            }
            description
              "Extended Tunnel ID of the LSP.";
            reference
              "RFC3209";

          }

          leaf type {
            type leafref {
              path
                "/te:te/te:lsps-state/te:lsp/"
                  + "te:type";
            }
            description
              "LSP type P2P or P2MP";
          }
        }  // list lsps
      }  // container interface-softpreemption-state
    }  // grouping rsvp-te-interface-softpreemption_state

    grouping bandwidth-mpls-constraints {
      description "Bandwidth constraints.";
      container bandwidth-mpls-constraints {
        description
          "Holds the bandwidth constraints properties";
        leaf maximum-reservable {
          type uint32 {
            range "0..4294967295";
          }
          description
            "The maximum reservable bandwidth on the
          interface";
        }

        leaf-list bc-value {
          type uint32 {
            range "0..4294967295";
          }
          max-elements 8;
          description
            "The bandwidth constraint type";
        }
      }  // container bandwidth-mpls-constraints
    }  // grouping bandwidth-mpls-constraints

    grouping bandwidth-constraint-values {
      description
        "Packet bandwidth contraints values";
      choice value-type {
        description "Value representation";
        container perc-values {
          description "Percentage values";
          uses bandwidth-mpls-constraints;
        }  // container perc-values
        container abs-values {
          description "Absolute values";
          uses bandwidth-mpls-constraints;
        }  // container abs-values
      }  // choice value-type
    }  // grouping bandwidth-constraint-values

    grouping bandwidth-mpls-reservable_config {
      description
        "Interface bandwidth reservable configuration grouping";
      choice bandwidth-value {
        description
          "Reservable bandwidth configuration choice";
        leaf absolute-value {
          type uint32;
          description
            "Absolute value of the bandwidth";
        }

        case percentage {
          description
            "The maximum reservable bandwidth on the
          interface";
          leaf percent-value {
            type uint32 {
              range "0..4294967295";
            }
            description
              "Percentage reservable bandwidth";
          }
        }  // case percentage
      }  // choice bandwidth-value

      choice bc-model-type {
        description
          "Reservable bandwidth percentage capacity
        values.";
        container bc-model-rdm {
          description
            "Russian Doll Model Bandwidth Constraints.";
          uses bandwidth-mpls-constraints;
        }  // container bc-model-rdm
        container bc-model-mam {
          description
            "Maximum Allocation Model Bandwidth
            Constraints.";
          uses bandwidth-mpls-constraints;
        }  // container bc-model-mam
        container bc-model-mar {
          description
            "Maximum Allocation with Reservation Model
            Bandwidth Constraints.";
          uses bandwidth-mpls-constraints;
        }  // container bc-model-mar
      }  // choice bc-model-type
    }  // grouping bandwidth-mpls-reservable_config

    grouping bandwidth-mpls-reservable {
      description
        "Packet reservable bandwidth";
      container bandwidth-mpls-reservable {
        description
          "Interface bandwidth reservable container";
        uses bandwidth-mpls-reservable_config;
      }  // container bandwidth-mpls-reservable
    }  // grouping bandwidth-mpls-reservable

    grouping rsvp-te-frr-auto-tunnel-backup_config {
      description
        "Auto-tunnel backup configuration grouping";
      leaf auto-backup-protection {
        type identityref {
          base te-mpls-types:backup-protection-type;
        }
        default
          'backup-protection-node-link';
        description
          "Describes whether the backup should offer
        protection against link, node, or either";
      }

      leaf auto-backup-path-computation {
        type identityref {
          base te-types:path-computation-srlg-type;
        }
        description
          "FRR backup computation type";
      }
    }  // grouping rsvp-te-frr-auto-tunnel-backup_config

    grouping rsvp-te-frr-backups_config {
      description
        "Top level container for RSVP-TE FRR backup parameters";
      choice type {
        description "FRR backup tunnel type";
        container static-backups {
          description
            "List of static backups";
          list static-backup {
            key "backup-tunnel-name";
            description
              "List of static backup tunnels that
              protect the RSVP-TE interface.";
            leaf backup-tunnel-name {
              type leafref {
                path
                  "/te:te/te:tunnels/te:tunnel/te:name";
              }
              description
                "FRR Backup tunnel name";
            }
          }  // list static-backup
        }  // container static-backups
        container auto-tunnel-backups {
          description "Auto-tunnel choice";
          uses rsvp-te-frr-auto-tunnel-backup_config;
        }  // container auto-tunnel-backups
      }  // choice type
    }  // grouping rsvp-te-frr-backups_config

    grouping rsvp-te-frr-backups {
      description
        "RSVP-TE facility backup grouping";
      container rsvp-te-frr-backups {
        description
          "RSVP-TE facility backup properties";
        uses rsvp-te-frr-backups_config;
      }  // container rsvp-te-frr-backups
    }  // grouping rsvp-te-frr-backups

    grouping lsp-backup-info_state {
      description
        "LSP backup information grouping";
      leaf backup-tunnel-name {
        type string;
        description
          "If an LSP has an FRR backup LSP that can protect it,
        this field identifies the tunnel name of the backup LSP.
        Otherwise, this field is empty.";
      }

      leaf backup-frr-on {
        type uint8;
        description
          "Whether currently this backup is carrying traffic";
      }

      leaf backup-protected-lsp-num {
        type uint32;
        description
          "Number of LSPs protected by this backup";
      }
    }  // grouping lsp-backup-info_state

    grouping lsp-backup-info {
      description
        "Backup/bypass LSP related information";
      container backup-info {
        description "backup information";
        container state {
          config false;
          description
            "Configuration applied parameters and state";
          uses lsp-backup-info_state;
        }  // container state
      }  // container backup-info
    }  // grouping lsp-backup-info

    grouping fast-reroute-local-revertive_config {
      description
        "RSVP-TE FRR local revertive grouping";
      leaf rsvp-frr-local-revert-delay {
        type uint32;
        description
          "Time to wait after primary link is restored
        before node attempts local revertive
        procedures.";
      }
    }  // grouping fast-reroute-local-revertive_config

    grouping fast-reroute-local-revertive {
      description
        "Top level grouping for globals properties";
      container fast-reroute-local-revertive {
        description
          "RSVP-TE FRR local revertive container";
        uses fast-reroute-local-revertive_config;
      }  // container fast-reroute-local-revertive
    }  // grouping fast-reroute-local-revertive

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rsvp:rsvp {
      description
        "RSVP-TE augmentation to RSVP globals";
      uses fast-reroute-local-revertive;
    }

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces {
      description
        "Augmentations for RSVP-TE MPLS all interfaces properties";
    }

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:interface {
      description
        "Augmentations for RSVP-TE MPLS per interface properties";
    }

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state {
      description
        "Augmentations for RSVP-TE MPLS sessions";
    }

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors {
      description
        "Augmentations for RSVP-TE MPLS neighbors properties";
    }

    augment /te:te/te:tunnels/te:tunnel {
      description
        "Augmentations for RSVP-TE MPLS TE tunnel properties";
      uses tunnel-properties-mpls_config;
    }

    augment /te:te/te:lsps-state/te:lsp {
      when
        "/te:te/te:lsps-state/te:lsp"
          + "/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
        description
          "When the signaling protocol is RSVP-TE ";
      }
      description
        "RSVP-TE MPLS LSP state properties";
      uses lsp-properties-mpls;

      uses lsp-backup-info;
    }

    augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-path/te:state/te:lsps/te:lsp {
      when
        "/te:te/te:tunnels/te:tunnel"
          + "/te:p2p-secondary-paths/te:p2p-secondary-path/"
          + "te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
        description
          "When the signaling protocol is RSVP-TE ";
      }
      description
        "RSVP-TE MPLS LSP state properties";
      uses lsp-properties-mpls;

      uses lsp-backup-info;
    }

    augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-path/te:state/te:lsps/te:lsp {
      when
        "/te:te/te:tunnels/te:tunnel"
          + "/te:p2p-secondary-paths/te:p2p-secondary-path/"
          + "te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
        description
          "When the signaling protocol is RSVP-TE ";
      }
      description
        "RSVP-TE MPLS LSP state properties";
      uses lsp-properties-mpls;

      uses lsp-backup-info;
    }

    augment /te:te/te-dev:interfaces/te-dev:interface {
      description
        "RSVP reservable bandwidth configuration properties";
      uses bandwidth-mpls-reservable;
    }

    augment /te:te/te-dev:interfaces/te-dev:interface {
      description
        "RSVP reservable bandwidth configuration properties";
      uses rsvp-te-frr-backups;
    }
  }  // module ietf-rsvp-te-mpls

Summary

  
  
Organization IETF Traffic Engineering Architecture and Signaling (TEAS) Working Group
  
Module ietf-rsvp-te-mpls
Version 2017-10-29
File ietf-rsvp-te-mpls@2017-10-29.yang
  
Prefix rsvp-te-mpls
Namespace urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls
  
Cooked /cookedmodules/ietf-rsvp-te-mpls/2017-10-29
YANG /src/ietf-rsvp-te-mpls@2017-10-29.yang
XSD /xsd/ietf-rsvp-te-mpls@2017-10-29.xsd
  
Abstract Latest update to MPLS RSVP-TE 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:xliu@kuatrotech.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

 
Latest update to MPLS RSVP-TE YANG data model.

Groupings

Grouping Objects Abstract
bandwidth-constraint-values value-type Packet bandwidth contraints values
bandwidth-mpls-constraints bandwidth-mpls-constraints Bandwidth constraints.
bandwidth-mpls-reservable bandwidth-mpls-reservable Packet reservable bandwidth
bandwidth-mpls-reservable_config bandwidth-value bc-model-type Interface bandwidth reservable configuration grouping
fast-reroute-local-revertive fast-reroute-local-revertive Top level grouping for globals properties
fast-reroute-local-revertive_config rsvp-frr-local-revert-delay RSVP-TE FRR local revertive grouping
lsp-attributes-flags-mpls_config non-php-desired entropy-label-cap oam-mep-entities-desired oam-mip-entities-desired Configuration parameters relating to RSVP-TE MPLS LSP attribute flags
lsp-backup-info backup-info Backup/bypass LSP related information
lsp-backup-info_state backup-tunnel-name backup-frr-on backup-protected-lsp-num LSP backup information grouping
lsp-properties-mpls state Top level grouping for LSP properties.
lsp-session-attributes-obj-flags-mpls_config local-protection-desired bandwidth-protection-desired node-protection-desired Configuration parameters relating to RSVP-TE MPLS LSP session attribute flags
rsvp-te-frr-auto-tunnel-backup_config auto-backup-protection auto-backup-path-computation Auto-tunnel backup configuration grouping
rsvp-te-frr-backups rsvp-te-frr-backups RSVP-TE facility backup grouping
rsvp-te-frr-backups_config type Top level container for RSVP-TE FRR backup parameters
rsvp-te-interface-softpreemption_state interface-softpreemption-state The RSVP-TE interface preeemptions state grouping
rsvp-te-interface_state over-subscribed-bandwidth The RSVP-TE interface state grouping
tunnel-properties-mpls_config local-protection-desired bandwidth-protection-desired node-protection-desirednon-php-desired entropy-label-cap oam-mep-entities-desired oam-mip-entities-desired Top level grouping for LSP properties.