Commit 0076b79b authored by chada's avatar chada
Browse files

Replace etsi-qkd-sdn-topology@2021-07-31.yang

parent 1239a70f
Loading
Loading
Loading
Loading
+39 −52
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module etsi-qkd-sdn-topology {
  prefix "qkdnw-tplg";
  
  import ietf-yang-types { prefix "yang"; }
  import etsi-qkd-sdn-node { prefix "etsi-qkdn"; }
  import etsi-qkd-node-types { prefix "etsi-qkdn-types"; }

  organization "ETSI ISG QKD";
@@ -20,18 +21,10 @@ module etsi-qkd-sdn-topology {

  description
    "This module contains the groupings and containers composing the software-defined QKD network 
    topology information models specified in ETSI GS QKD 018 V0.0.7";
    topology information models specified in ETSI GS QKD 018 V0.0.8";
  
  revision 2021-07-31 {
    description "This revision changes the naming of YANG module and its namespace. Prefix is not changed";
  }

  revision 2021-06-17 {
    description "This revision is in sync with inventory and connectivity YANG modules.";
  }

  revision 2021-06-04 {
    description "Initial revision";    
  revision 2021-09-20 {
    description "The YANG module for QKD network topology";
  }

  grouping qkdn_id_ref {
@@ -67,13 +60,13 @@ module etsi-qkd-sdn-topology {
    description "Used to reference a QKD physical link.";
  }

  grouping virt_link_id_ref {
    leaf virt_link_id_ref {
  grouping svc_link_id_ref {
    leaf svc_link_id_ref {
      type leafref {
        path "/qkdnw-tplg:qkd_network/qkdnw-tplg:qkd_links/qkdnw-tplg:qkd_virt_links/qkdnw-tplg:virt_link/qkdnw-tplg:virt_link_id";
        path "/qkdnw-tplg:qkd_network/qkdnw-tplg:qkd_links/qkdnw-tplg:qkd_svc_links/qkdnw-tplg:svc_link/qkdnw-tplg:svc_link_id";
      }
    }
    description "Used to reference a QKD virtual link.";    
    description "Used to reference a QKD service link.";    
  }

  grouping qkd_interfaces {
@@ -84,10 +77,7 @@ module etsi-qkd-sdn-topology {
        key "qkdi_id";
        description "List of the physical QKD modules of the SD-QKD node.";

        leaf qkdi_id {
          type uint32;
          description "Interface ID. A locally unique number, which is globally unique when combined with the SD-QKD node ID.";
        }
        uses etsi-qkdn:qkdi_id;
      }
    }
  }
@@ -97,11 +87,12 @@ module etsi-qkd-sdn-topology {
      key "qkdn_id";
      description "List of SD-QKD nodes in QKD network";

      leaf qkdn_id {
        type yang:uuid;
        mandatory true;

      uses etsi-qkdn:qkdn_id {
        refine qkdn_id {
          description "Uniquely identifies a SD-QKD node within the containing QKD network.";
        }
      }
       
      uses qkd_interfaces;
    }
@@ -151,9 +142,7 @@ module etsi-qkd-sdn-topology {
      }
       
      leaf link_type {
        type identityref {
          base etsi-qkdn-types:QKD-LINK-TYPES;
        }
        type etsi-qkdn-types:qkd-link-types;
        description "QKD physical link type is included. The identity is PHYS.";
      }

@@ -162,24 +151,24 @@ module etsi-qkd-sdn-topology {
    }
  }

  grouping virt_link_local_qkdn {
    container virt_link_local_qkdn {
      description "Container for the local (source) SD-QKD node of the QKD virtual link.";
  grouping svc_link_local_qkdn {
    container svc_link_local_qkdn {
      description "Container for the local (source) SD-QKD node of the QKD service link.";

      uses qkdn_qkdi_id_ref {
        refine qkdn_id_ref {
          description "Uniquely identifies the local (source) SD-QKD node.";
        }
        refine qkdi_id_ref {
          description "Interface ID of the local (source) SD-QKD node which is connected to the QKD virtual link.
            This interface is located within the local SD-QKD node and terminates the QKD virtual link";
          description "Interface ID of the local (source) SD-QKD node which is connected to the QKD service link.
            This interface is located within the local SD-QKD node and terminates the QKD service link";
        }
      }
    }
  }

  grouping virt_link_remote_qkdn { 
    container virt_link_remote_qkdn {
  grouping svc_link_remote_qkdn { 
    container svc_link_remote_qkdn {
      description "Container holds the remote (destination) SD-QKD node of the QKD link.";

      uses qkdn_qkdi_id_ref {
@@ -187,33 +176,31 @@ module etsi-qkd-sdn-topology {
          description "Uniquely identifies the remote (destination) SD-QKD node.";
        }
        refine qkdi_id_ref {
          description "Interface ID of the remote (destination) SD-QKD node which is connected to the QKD virtual link.
            This interface is located within the remote SD-QKD node and terminates the QKD virtual link";
          description "Interface ID of the remote (destination) SD-QKD node which is connected to the QKD service link.
            This interface is located within the remote SD-QKD node and terminates the QKD service link";
        }
      }            
    }
  }

  grouping virt_link_list {
    list virt_link {
      key "virt_link_id";
      description "List of QKD virtual links (end-to-end key association links).";
  grouping svc_link_list {
    list svc_link {
      key "svc_link_id";
      description "List of QKD service links (end-to-end key association links).";

      leaf virt_link_id {
      leaf svc_link_id {
        type yang:uuid;
        mandatory true;
        description "Uniquely identifies a QKD virtual link within the containing QKD network.";
        description "Uniquely identifies a QKD service link within the containing QKD network.";
      }
       
      leaf link_type {
        type identityref {
          base etsi-qkdn-types:QKD-LINK-TYPES;
        }
        description "QKD virtual link type is included. The identity is VIRT.";
        type etsi-qkdn-types:qkd-link-types;
        description "QKD service link type is included. The identity is VIRT.";
      }

      uses virt_link_local_qkdn;
      uses virt_link_remote_qkdn;
      uses svc_link_local_qkdn;
      uses svc_link_remote_qkdn;
    }
  }

@@ -228,7 +215,7 @@ module etsi-qkd-sdn-topology {
     }

    container qkd_links {
      description "Container for both QKD physical links and virtual links.";
      description "Container for both QKD physical links and service links.";

      container qkd_phys_links {
        description "A set of QKD physical links to directly connect SD-QKD nodes in QKD network";
@@ -236,10 +223,10 @@ module etsi-qkd-sdn-topology {
        uses phys_link_list;
      }

      container qkd_virt_links {
        description "A set of QKD virtual links (end-to-end key association links).";
      container qkd_svc_links {
        description "A set of QKD service links (end-to-end key association links).";

        uses virt_link_list;
        uses svc_link_list;
      }
    }
  }