netconfcentral logo

ietf-otn-tunnel

HTML

ietf-otn-tunnel@2017-10-30



  module ietf-otn-tunnel {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel";

    prefix otn-tunnel;

    import ietf-te {
      prefix te;
    }
    import ietf-otn-types {
      prefix otn-types;
    }
    import ietf-te-types {
      prefix te-types;
    }
    import ietf-inet-types {
      prefix inet;
    }

    organization "IETF CCAMP Working Group";

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

     Editor: Haomian Zheng
             <mailto:zhenghaomian@huawei.com>

     Editor: Zheyu Fan
             <mailto:fanzheyu2@huawei.com>

     Editor: Anurag Sharma
             <mailto:ansha@google.com>

     Editor: Rajan Rao
             <mailto:rrao@infinera.com>

     Editor: Sergio Belotti
             <mailto:sergio.belotti@nokia.com>

     Editor: Victor Lopez
             <mailto:victor.lopezalvarez@telefonica.com>

     Editor: Yunbo Li
             <mailto:liyunbo@chinamobile.com>

     Editor: Yunbin Xu
             <mailto:xuyunbin@ritt.cn>";

    description
      "This module defines a model for OTN Tunnel Services.";

    revision "2017-10-30" {
      description "Revision 0.4";
      reference
        "draft-ietf-ccamp-otn-tunnel-model-01.txt";

    }


    grouping otn-tunnel-endpoint {
      description
        "Parameters for OTN tunnel";
      leaf payload-treatment {
        type enumeration {
          enum "switching" {
            value 0;
            description
              "Client signal is switched to another tunnel
                       in this domain";
          }
          enum "transport" {
            value 1;
            description
              "Client signal is transparently transmitted
                       in this domain";
          }
        }
        default 'switching';
        description
          "Treatment of the incoming payload. Payload can be switched
         or transported.";
      }

      leaf src-client-signal {
        type identityref {
          base otn-types:client-signal;
        }
        description
          "Client signal at the source endpoint of the tunnel";
      }

      leaf src-tpn {
        type uint16 {
          range "0..4095";
        }
        description
          "Tributary Port Number. Applicable in case of mux services";
        reference
          "RFC7139: GMPLS Signaling Extensions for Control of Evolving
          G.709 Optical Transport Networks";

      }

      leaf src-tsg {
        type identityref {
          base otn-types:tributary-slot-granularity;
        }
        description
          "Tributary slot granularity.
         Applicable in case of mux services";
        reference
          "G.709/Y.1331, February 2016: Interfaces for the
          Optical Transport Network (OTN)";

      }

      leaf src-tributary-slot-count {
        type uint16;
        description
          "Number of tributary slots used at the source.";
      }

      container src-tributary-slots {
        description
          "A list of tributary slots used by the client service.
         Applicable in case of mux services";
        leaf-list values {
          type uint8;
          description
            "Tributary tributary slot value";
          reference
            "G.709/Y.1331, February 2016: Interfaces for the
            Optical Transport Network (OTN)";

        }
      }  // container src-tributary-slots

      leaf dst-client-signal {
        type identityref {
          base otn-types:client-signal;
        }
        description
          "Client signal at the destination endpoint of the tunnel";
      }

      leaf dst-tpn {
        type uint16 {
          range "0..4095";
        }
        description
          "Tributary Port Number. Applicable in case of mux services";
        reference
          "RFC7139: GMPLS Signaling Extensions for Control of Evolving
          G.709 Optical Transport Networks.";

      }

      leaf dst-tsg {
        type identityref {
          base otn-types:tributary-slot-granularity;
        }
        description
          "Tributary slot granularity.
         Applicable in case of mux services";
        reference
          "G.709/Y.1331, February 2016: Interfaces for the
          Optical Transport Network (OTN)";

      }

      leaf dst-tributary-slot-count {
        type uint16;
        description
          "Number of tributary slots used at the destination.";
      }

      container dst-tributary-slots {
        description
          "A list of tributary slots used by the client service.
         Applicable in case of mux services";
        leaf-list values {
          type uint8;
          description "Tributary slot value";
          reference
            "G.709/Y.1331, February 2016: Interfaces for the
            Optical Transport Network (OTN)";

        }
      }  // container dst-tributary-slots
    }  // grouping otn-tunnel-endpoint

    augment /te:te/te:tunnels/te:tunnel {
      description
        "Augment with additional parameters required for OTN service";
      uses otn-tunnel-endpoint;
    }

    grouping p2p-path-ero {
      description
        "TE tunnel ERO configuration grouping";
      leaf te-default-metric {
        type uint32;
        description
          "Traffic engineering metric.";
      }

      leaf te-delay-metric {
        type uint32;
        description
          "Traffic engineering delay metric.";
      }

      leaf te-hop-metric {
        type uint32;
        description
          "Traffic engineering hop metric.";
      }

      container explicit-route-objects {
        description
          "Explicit route objects container";
        list explicit-route-object {
          key "index";
          description
            "List of explicit route objects";
          leaf explicit-route-usage {
            type identityref {
              base te-types:route-usage-type;
            }
            description
              "An explicit-route hop action.";
          }

          uses te-types:explicit-route-hop_config;
        }  // list explicit-route-object
      }  // container explicit-route-objects
    }  // grouping p2p-path-ero

    rpc otn-te-tunnel-path-compute {
      description
        "OTN TE tunnel path computation";
      input {
        list request {
          key "id";
          description
            "A list of path computation requests.";
          leaf id {
            type uint8;
            description "Request ID.";
          }

          leaf type {
            type identityref {
              base te-types:tunnel-type;
            }
            description "TE tunnel type.";
          }

          leaf source {
            type inet:ip-address;
            description
              "TE tunnel source address.";
          }

          leaf destination {
            type inet:ip-address;
            description
              "TE tunnel destination address";
          }

          leaf src-tp-id {
            type binary;
            description
              "TE tunnel source termination point identifier.";
          }

          leaf dst-tp-id {
            type binary;
            description
              "TE tunnel destination termination point identifier.";
          }

          leaf switching-layer {
            type identityref {
              base te-types:switching-capabilities;
            }
            description
              "Switching layer where the requests are computed.";
          }

          leaf encoding {
            type identityref {
              base te-types:lsp-encoding-types;
            }
            description "LSP encoding type";
          }

          leaf protection-type {
            type identityref {
              base te-types:lsp-protection-type;
            }
            description
              "LSP protection type";
          }

          leaf restoration-type {
            type identityref {
              base te-types:lsp-restoration-type;
            }
            description
              "LSP restoration type";
          }

          leaf provider-id {
            type te-types:te-global-id;
            description
              "An identifier to uniquely identify a provider.";
          }

          leaf client-id {
            type te-types:te-global-id;
            description
              "An identifier to uniquely identify a client.";
          }

          leaf te-topology-id {
            type te-types:te-topology-id;
            description
              "It is presumed that a datastore will contain many
             topologies. To distinguish between topologies it is
             vital to have UNIQUE topology identifiers.";
          }

          leaf setup-priority {
            type uint8 {
              range "0..7";
            }
            description
              "TE LSP setup priority";
          }

          leaf hold-priority {
            type uint8 {
              range "0..7";
            }
            description
              "TE LSP hold priority";
          }

          leaf te-path-metric-type {
            type identityref {
              base te-types:path-metric-type;
            }
            default
              'path-metric-te';
            description
              "The tunnel path metric type.";
          }

          leaf odu-type {
            type identityref {
              base otn-types:tributary-protocol-type;
            }
            description "Type of ODU";
          }

          container p2p-primary-paths {
            description
              "Set of P2P primary paths container";
            list p2p-primary-path {
              key "name";
              description
                "List of primary paths for this tunnel.";
              leaf name {
                type string;
                description "TE path name";
              }

              uses p2p-path-ero;
            }  // list p2p-primary-path
          }  // container p2p-primary-paths

          container p2p-secondary-paths {
            description
              "Set of P2P secondary paths container";
            list p2p-secondary-path {
              key "name";
              description
                "List of secondary paths for this tunnel.";
              leaf name {
                type string;
                description "TE path name";
              }

              uses p2p-path-ero;
            }  // list p2p-secondary-path
          }  // container p2p-secondary-paths

          uses otn-tunnel-endpoint;
        }  // list request
      }

      output {
        leaf return-code {
          type enumeration {
            enum "success" {
              value 0;
              description "success";
            }
            enum "aborted" {
              value 1;
              description "aborted";
            }
            enum "destination-not-found" {
              value 2;
              description
                "destination-not-found";
            }
            enum "invalid-argument" {
              value 3;
              description "invalid-argument";
            }
            enum "no-memory" {
              value 4;
              description "no-memory";
            }
            enum "no-path-found" {
              value 5;
              description "no-path-found";
            }
            enum "other-error" {
              value 6;
              description "other-error";
            }
            enum "some-path-not-found" {
              value 7;
              description
                "some-path-not-found";
            }
            enum "source-not-found" {
              value 8;
              description "source-not-found";
            }
            enum "topology-error" {
              value 9;
              description "topology-error";
            }
          }
          description "Return code";
        }

        list result {
          key "id";
          description
            "A list of results for all requests.";
          leaf id {
            type uint8;
            description "Request ID";
          }

          container p2p-primary-paths {
            description
              "Set of P2P primary paths container";
            list p2p-primary-path {
              key "name";
              description
                "List of resultant primary paths for this tunnel.";
              leaf name {
                type string;
                description "TE path name";
              }

              uses p2p-path-ero;
            }  // list p2p-primary-path
          }  // container p2p-primary-paths

          container p2p-secondary-paths {
            description
              "Set of P2P secondary paths container";
            list p2p-secondary-path {
              key "name";
              description
                "List of resultant secondary paths for this tunnel.";
              leaf name {
                type string;
                description "TE path name";
              }

              uses p2p-path-ero;
            }  // list p2p-secondary-path
          }  // container p2p-secondary-paths
        }  // list result
      }
    }  // rpc otn-te-tunnel-path-compute
  }  // module ietf-otn-tunnel

Summary

  
  
Organization IETF CCAMP Working Group
  
Module ietf-otn-tunnel
Version 2017-10-30
File ietf-otn-tunnel@2017-10-30.yang
  
Prefix otn-tunnel
Namespace urn:ietf:params:xml:ns:yang:ietf-otn-tunnel
  
Cooked /cookedmodules/ietf-otn-tunnel/2017-10-30
YANG /src/ietf-otn-tunnel@2017-10-30.yang
XSD /xsd/ietf-otn-tunnel@2017-10-30.xsd
  
Abstract This module defines a model for OTN Tunnel Services.
  
Contact
WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>

Editor: Haomian Zheng
	<mailto:zhenghaomian@huawei.com>

Editor: Zheyu Fan
	<mailto:fanzheyu2@huawei.com>

Editor: Anurag Sharma
	<mailto:ansha@google.com>

Editor: Rajan Rao
	<mailto:rrao@infinera.com>

Editor: Sergio Belotti
	<mailto:sergio.belotti@nokia.com>

Editor: Victor Lopez
	<mailto:victor.lopezalvarez@telefonica.com>

Editor: Yunbo Li
	<mailto:liyunbo@chinamobile.com>

Editor: Yunbin Xu
	<mailto:xuyunbin@ritt.cn>

Description

 
This module defines a model for OTN Tunnel Services.

Groupings

Grouping Objects Abstract
otn-tunnel-endpoint payload-treatment src-client-signal src-tpn src-tsg src-tributary-slot-count src-tributary-slots dst-client-signal dst-tpn dst-tsg dst-tributary-slot-count dst-tributary-slots Parameters for OTN tunnel
p2p-path-ero te-default-metric te-delay-metric te-hop-metric explicit-route-objects TE tunnel ERO configuration grouping

RPC Methods

RPC Abstract
otn-te-tunnel-path-compute OTN TE tunnel path computation