netconfcentral logo

ietf-wson-topology

HTML

ietf-wson-topology@2017-10-09



  module ietf-wson-topology {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-wson-topology";

    prefix wson;

    import ietf-network {
      prefix nd;
    }
    import ietf-network-topology {
      prefix lnk;
    }
    import ietf-inet-types {
      prefix inet;
    }
    import ietf-te-topology {
      prefix tet;
    }
    import ietf-te-wson-types {
      prefix te-wson-types;
    }

    organization "IETF CCAMP Working Group";

    contact
      "Editor:   Young Lee  <leeyoung@huawei.com>";

    description
      "This module contains a collection of YANG definitions
for
            RWA WSON.

            Copyright (c) 2016 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
            (http://trustee.ietf.org/license-info).";

    revision "2017-10-09" {
      description "version 8.";
      reference
        "RFC XXX: A Yang Data Model for WSON Optical
        Networks ";

    }


    typedef wson-topology-id {
      type inet:uri;
      description "The WSON Topology ID";
    }

    grouping wson-topology-type {
      description "wson-topology type";
      container wson-topology {
        presence
          "indicates a topology of wson";
        description
          "Container to identify wson topology type";
      }  // container wson-topology
    }  // grouping wson-topology-type

    grouping wson-node-attributes {
      description "WSON node attributes";
      container wson-node {
        description "WSON node attrtibutes.";
        leaf node-type {
          type identityref {
            base te-wson-types:wson-node-type;
          }
          description "WSON node type.";
        }
      }  // container wson-node
    }  // grouping wson-node-attributes

    grouping wson-wavelength-availability-range {
      description
        "wavelength availability range";
      leaf wavelength-availability-range {
        type te-wson-types:wavelength-range-type;
        description
          "range that indicates if a wavelength is
                         available or not on each channel at
                         specified priority level.";
      }
    }  // grouping wson-wavelength-availability-range

    grouping wson-link-attributes {
      description "WSON link attributes";
      leaf channel-num {
        type int32;
        description
          "Number of OCh channels available";
      }

      leaf first-channel-frequency {
        type decimal64 {
          fraction-digits 5;
        }
        units "THz";
        description
          "First channel frequency in the grid";
      }

      leaf channel-spacing {
        type decimal64 {
          fraction-digits 5;
        }
        units "GHz";
        description
          "This is fixed channel spacing for
WSON,
                 e.g, 12.5, 25, 50, 100, ..";
      }

      list available-wavelength-info {
        key "priority";
        max-elements 8;
        description
          "List of available wavelength channels on
this link";
        leaf priority {
          type uint8 {
            range "0..7";
          }
          description "priority";
        }

        uses wson-wavelength-availability-range;
      }  // list available-wavelength-info
    }  // grouping wson-link-attributes

    grouping wson-tp-attributes {
      description "wson-tp-attributes";
      leaf client-facing {
        type empty;
        description
          "if present, it means this tp is a client-
facing tp.
                         adding/dropping client signal flow.";
      }
    }  // grouping wson-tp-attributes

    grouping wson-ttp-attributes {
      description
        "WSON tunnel termination point (e.g.
tranponder)
            attributes";
      leaf-list available-operational-mode {
        type te-wson-types:operational-mode;
        description
          "List of all vendor-specific supported
               mode identifiers";
      }

      leaf operational-mode {
        type te-wson-types:operational-mode;
        description
          "Vendor-specific mode identifier";
      }
    }  // grouping wson-ttp-attributes

    augment /nd:networks/nd:network/nd:network-types/tet:te-topology {
      description "wson-topology augmented";
      uses wson-topology-type;
    }

    augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes/tet:connectivity-matrices/tet:connectivity-matrix {
      when
        "/nd:networks/nd:network/nd:network-types"
          + "/tet:te-topology/wson:wson-topology" {
        description
          "This augment is only valid for WSON
   connectivity
   matrix.";
      }
      description
        "WSON connectivity matrix config
   augmentation";
      uses wson-wavelength-availability-range;
    }

    augment /nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes {
      when
        "/nd:networks/nd:network/nd:network-types"
          + "/tet:te-topology/wson:wson-topology" {
        description
          "This augment is only valid for WSON.";
      }
      description "WSON Link augmentation.";
      uses wson-link-attributes;
    }

    augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes {
      when
        "/nd:networks/nd:network/nd:network-types"
          + "/tet:te-topology/wson:wson-topology" {
        description
          "This augment is only valid for WSON.";
      }
      description "WSON Node augmentation.";
      uses wson-node-attributes;
    }

    augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-point {
      when
        "/nd:networks/nd:network/nd:network-types"
          + "/tet:te-topology/wson:wson-topology" {
        description
          "This augment is only valid for WSON.";
      }
      description
        "WSON tunnel termination point
   augmentation.";
      uses wson-ttp-attributes;
    }
  }  // module ietf-wson-topology

Summary

  
  
Organization IETF CCAMP Working Group
  
Module ietf-wson-topology
Version 2017-10-09
File ietf-wson-topology@2017-10-09.yang
  
Prefix wson
Namespace urn:ietf:params:xml:ns:yang:ietf-wson-topology
  
Cooked /cookedmodules/ietf-wson-topology/2017-10-09
YANG /src/ietf-wson-topology@2017-10-09.yang
XSD /xsd/ietf-wson-topology@2017-10-09.xsd
  
Abstract This module contains a collection of YANG definitions for RWA WSON. Copyright (c) 2016 IETF Trust and the persons identified...
  
Contact
Editor:   Young Lee  <leeyoung@huawei.com>

Description

 
This module contains a collection of YANG definitions
for
RWA WSON.

Copyright (c) 2016 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
(http://trustee.ietf.org/license-info).

Typedefs

Typedef Base type Abstract
wson-topology-id string The WSON Topology ID

Groupings

Grouping Objects Abstract
wson-link-attributes channel-num first-channel-frequency channel-spacing available-wavelength-info WSON link attributes
wson-node-attributes wson-node WSON node attributes
wson-topology-type wson-topology wson-topology type
wson-tp-attributes client-facing wson-tp-attributes
wson-ttp-attributes available-operational-mode operational-mode WSON tunnel termination point (e.g. tranponder) attributes
wson-wavelength-availability-range wavelength-availability-range wavelength availability range