Commit e9bb6972 authored by jethanandani's avatar jethanandani
Browse files

Merge branch 'master' into 'bug#92'

# Conflicts:
#   src/yang/etsi-nfv-vnf.yang
parents 3c1facd5 5a370aa1
Loading
Loading
Loading
Loading
Loading
+36 −4
Original line number Original line Diff line number Diff line
@@ -48,14 +48,26 @@
    </sw-image-desc>
    </sw-image-desc>
    <ext-cpd>
    <ext-cpd>
      <id>inside</id>
      <id>inside</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>inside</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <ext-cpd>
    <ext-cpd>
      <id>management</id>
      <id>management</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>management</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <ext-cpd>
    <ext-cpd>
      <id>outside</id>
      <id>outside</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>outside</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <df>
    <df>
@@ -131,14 +143,26 @@
    </sw-image-desc>
    </sw-image-desc>
    <ext-cpd>
    <ext-cpd>
      <id>left</id>
      <id>left</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>left</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <ext-cpd>
    <ext-cpd>
      <id>management</id>
      <id>management</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>management</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <ext-cpd>
    <ext-cpd>
      <id>right</id>
      <id>right</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>right</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    </ext-cpd>
    <df>
    <df>
@@ -218,7 +242,9 @@
    <virtual-link-desc>
    <virtual-link-desc>
      <id>fw2dpi</id>
      <id>fw2dpi</id>
      <connectivity-type>
      <connectivity-type>
        <layer-protocol>Ethernet</layer-protocol>
        <layer-protocol>
	  <protocol>Ethernet</protocol>
	</layer-protocol>
      </connectivity-type>
      </connectivity-type>
      <df>
      <df>
        <id>normal</id>
        <id>normal</id>
@@ -231,7 +257,9 @@
    <virtual-link-desc>
    <virtual-link-desc>
      <id>mgmt</id>
      <id>mgmt</id>
      <connectivity-type>
      <connectivity-type>
        <layer-protocol>IPv4</layer-protocol>
        <layer-protocol>
	  <protocol>IPv4</protocol>
	</layer-protocol>
      </connectivity-type>
      </connectivity-type>
      <df>
      <df>
        <id>normal</id>
        <id>normal</id>
@@ -244,7 +272,9 @@
    <virtual-link-desc>
    <virtual-link-desc>
      <id>r2fw</id>
      <id>r2fw</id>
      <connectivity-type>
      <connectivity-type>
        <layer-protocol>Ethernet</layer-protocol>
        <layer-protocol>
	  <protocol>Ethernet</protocol>
	</layer-protocol>
      </connectivity-type>
      </connectivity-type>
      <df>
      <df>
        <id>normal</id>
        <id>normal</id>
@@ -467,7 +497,9 @@
    <virtual-link-desc>
    <virtual-link-desc>
      <id>r2fw</id>
      <id>r2fw</id>
      <connectivity-type>
      <connectivity-type>
        <layer-protocol>IPv4</layer-protocol>
        <layer-protocol>
	  <protocol>IPv4</protocol>
	</layer-protocol>
      </connectivity-type>
      </connectivity-type>
      <df>
      <df>
        <id>r2fw</id>
        <id>r2fw</id>
+16 −10
Original line number Original line Diff line number Diff line
@@ -6,13 +6,13 @@ submodule etsi-nfv-common {
  description
  description
    "Common data types for ETSI data models.";
    "Common data types for ETSI data models.";


  revision 2018-06-19 {
  revision 2019-03-18 {
    description
    description
      "Initial revision
      "Initial revision


       Common data structures to support VNFD and NSD according to:
       Common data structures to support VNFD and NSD according to:
       ETSI GS NFV-IFA 014 Ed251v244
       ETSI GS NFV-IFA 014 Ed261v252
       ETSI GS NFV-IFA 011 Ed251v243";
       ETSI GS NFV-IFA 011 Ed261v254";
  }
  }


  /*
  /*
@@ -293,14 +293,20 @@ submodule etsi-nfv-common {


  grouping connectivity-type {
  grouping connectivity-type {
    container connectivity-type {
    container connectivity-type {
      leaf layer-protocol {
      list layer-protocol {
        mandatory true;
	key "protocol";

	leaf protocol {
          type identityref {
          type identityref {
            base layer-protocol;
            base layer-protocol;
          }
          }
	}
        description
        description
          "Identifies the protocol this VL gives access to (Ethernet,
          "Identifies the protocols that the VL uses (Ethernet,
           MPLS, ODU2, IPV4, IPV6, Pseudo-Wire).";
           MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer
           protocol of the VL protocol stack shall always be provided.
           The lower layer protocols may be included when there are
           specific requirements on these layers.";
        reference
        reference
          "GS NFV IFA011: Section 7.1.7.3, ConnectivityType
          "GS NFV IFA011: Section 7.1.7.3, ConnectivityType
           information element.";
           information element.";
+12 −10
Original line number Original line Diff line number Diff line
@@ -11,14 +11,14 @@ submodule etsi-nfv-ns {
  description
  description
    "Models for NS according to ETSI GS NFV-IFA 014.";
    "Models for NS according to ETSI GS NFV-IFA 014.";


  revision 2017-01-20 {
  revision 2019-03-18 {
    description
    description
      "Initial revision
      "Initial revision
       Common data structure to support NSD according to:
       Common data structure to support NSD according to:
       ETSI GS NFV-IFA 011 Ed251v243";
       ETSI GS NFV-IFA 014 Ed261v252";


    reference
    reference
      "ETSI GS NFV-IFA 011 Ed251v243";
      "ETSI GS NFV-IFA 014 Ed261v252";
  }
  }


  grouping resource-handle {
  grouping resource-handle {
@@ -250,6 +250,7 @@ submodule etsi-nfv-ns {
          }
          }


          container qos {
          container qos {
	    presence "VL QoS parameters";
            description
            description
              "The QoS information element specifies quality of
              "The QoS information element specifies quality of
               service parameters applicable to a VL.";
               service parameters applicable to a VL.";
@@ -492,7 +493,8 @@ submodule etsi-nfv-ns {
            }
            }
            container ns {
            container ns {
              leaf nsd-id {
              leaf nsd-id {
                must ". = deref(../../ns-profile-id)/../nsd-id" {
                must ". = deref(../../nested-ns-profile-id)/" +
                     "../nsd-id" {
                }
                }


                type leafref {
                type leafref {
@@ -752,7 +754,7 @@ submodule etsi-nfv-ns {
          }
          }


          leaf min-number-of-instances {
          leaf min-number-of-instances {
            mandatory true;
            default 1;
            type uint16;
            type uint16;
            description
            description
              "Minimum number of instances of the VNF based on this
              "Minimum number of instances of the VNF based on this
@@ -763,7 +765,7 @@ submodule etsi-nfv-ns {
          }
          }


          leaf max-number-of-instances {
          leaf max-number-of-instances {
            mandatory true;
            default 1;
            type uint16;
            type uint16;
            description
            description
              "Maximum number of instances of the VNF based on this
              "Maximum number of instances of the VNF based on this
@@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns {
            }
            }


            leaf number-of-instances {
            leaf number-of-instances {
              mandatory true;
              default 1;
              type uint32;
              type uint32;
              description
              description
                "Specifies the number of VNF instances required for
                "Specifies the number of VNF instances required for
@@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns {
            }
            }


            leaf number-of-instances {
            leaf number-of-instances {
              mandatory true;
              default 1;
              type uint32;
              type uint32;
              description
              description
                "Specifies the number of nested NS instances required
                "Specifies the number of nested NS instances required
@@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns {
          }
          }
          leaf min-number-of-instances {
          leaf min-number-of-instances {
            type uint16;
            type uint16;
            mandatory true;
            default 1;
            description
            description
              "Minimum number of nested NS instances based on the
              "Minimum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
               referenced NSD that is permitted to exist for this
@@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns {
          }
          }
          leaf max-number-of-instances {
          leaf max-number-of-instances {
            type uint16;
            type uint16;
            mandatory true;
            default 1;
            description
            description
              "Maximum number of nested NS instances based on the
              "Maximum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
               referenced NSD that is permitted to exist for this
+3 −3
Original line number Original line Diff line number Diff line
@@ -12,15 +12,15 @@ submodule etsi-nfv-pnf {
  description
  description
    "Models for PNFD according to GS NFV-IFA 014.";
    "Models for PNFD according to GS NFV-IFA 014.";


  revision 2018-06-25 {
  revision 2019-03-18 {
    description
    description
      "Initial revision.
      "Initial revision.


       Common data structure to support VNFD according to:
       Common data structure to support VNFD according to:
       ETSI GS NFV-IFA 014 Ed251v244";
       ETSI GS NFV-IFA 014 Ed261v252";


    reference
    reference
      "ETSI GS NFV-IFA 014 Ed251v244";
      "ETSI GS NFV-IFA 014 Ed261v252";
  }
  }


  grouping pnfd {
  grouping pnfd {
+125 −12
Original line number Original line Diff line number Diff line
@@ -16,15 +16,15 @@ submodule etsi-nfv-vnf {
  description
  description
    "Models for VNFD according to GS NFV-IFA 011.";
    "Models for VNFD according to GS NFV-IFA 011.";


  revision 2018-06-19 {
  revision 2019-03-18 {
    description
    description
      "Initial revision.
      "Initial revision.


       Common data structure to support VNFD according to:
       Common data structure to support VNFD according to:
       VNFD according to ETSI GS NFV-IFA 011 Ed251v243";
       VNFD according to ETSI GS NFV-IFA 011 Ed261v254";


    reference
    reference
      "ETSI GS NFV-IFA 011 Ed251v243";
      "ETSI GS NFV-IFA 011 Ed261v254";
  }
  }


  grouping virtual-network-interface-requirements {
  grouping virtual-network-interface-requirements {
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
      }
      }


      leaf support-mandatory {
      leaf support-mandatory {
        mandatory true;
        default "false";
        type boolean;
        type boolean;
        description
        description
          "Indicates whether fulfilling the constraint is
          "Indicates whether fulfilling the constraint is
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
            type uint16 {
            type uint16 {
              range "1..max";
              range "1..max";
            }
            }
            mandatory true;
            default 1;
            description
            description
              "Number of virtual CPUs.";
              "Number of virtual CPUs.";
            reference
            reference
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
            enum "swap";
            enum "swap";
            enum "ephemeral";
            enum "ephemeral";
          }
          }
          mandatory true;
          default "root";
          description
          description
            "Type of virtualised storage resource (e.g. volume,
            "Type of virtualised storage resource (e.g. volume,
             object).";
             object).";
@@ -856,7 +856,7 @@ submodule etsi-nfv-vnf {
             information element.";
             information element.";
        }
        }
        leaf container-format {
        leaf container-format {
          mandatory true;
          default "bare";
          type enumeration {
          type enumeration {
            enum "aki" {
            enum "aki" {
              description
              description
@@ -896,7 +896,7 @@ submodule etsi-nfv-vnf {
             information element.";
             information element.";
        }
        }
        leaf disk-format {
        leaf disk-format {
          mandatory true;
          default "qcow2";
          type enumeration {
          type enumeration {
            enum "aki" {
            enum "aki" {
              description
              description
@@ -994,7 +994,7 @@ submodule etsi-nfv-vnf {
             information element.";
             information element.";
        }
        }
        leaf image {
        leaf image {
          mandatory true;
          default ".";
          type inet:uri;
          type inet:uri;
          description
          description
            "This is a reference to the actual software image.
            "This is a reference to the actual software image.
@@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf {
               information element.";
               information element.";
          }
          }
          container qos {
          container qos {
	    presence "VL QoS parameters";
            description
            description
              "QoS of the VL.";
              "QoS of the VL.";
            reference
            reference
@@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf {
          }
          }
          leaf min-number-of-instances {
          leaf min-number-of-instances {
            type uint16;
            type uint16;
            mandatory true;
            default 1;
            description
            description
              "Minimum number of instances of the VNFC based on this
              "Minimum number of instances of the VNFC based on this
               VDU that is permitted to exist for this flavour.";
               VDU that is permitted to exist for this flavour.";
@@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf {
          }
          }
          leaf max-number-of-instances {
          leaf max-number-of-instances {
            type uint16;
            type uint16;
            mandatory true;
            default 1;
            must ". >= ../nfv:min-number-of-instances";
            must ". >= ../nfv:min-number-of-instances";
            reference
            reference
              "GS NFV IFA011: Section 7.1.8.3, VduProfile information
              "GS NFV IFA011: Section 7.1.8.3, VduProfile information
@@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf {
              must ". >= ../../../../nfv:df/" +
              must ". >= ../../../../nfv:df/" +
                   "nfv:vdu-profile[id=current()/../nfv:id]/" +
                   "nfv:vdu-profile[id=current()/../nfv:id]/" +
                   "nfv:min-number-of-instances";
                   "nfv:min-number-of-instances";
              mandatory true;
              default 1;
              description
              description
                "Number of instances of VNFC based on this VDU to
                "Number of instances of VNFC based on this VDU to
                 deploy for this level.";
                 deploy for this level.";
@@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf {
               AffinityOrAntiAffinityGroup information element";
               AffinityOrAntiAffinityGroup information element";
          }
          }
        }
        }

        list indicator {
          key "id";

          leaf id {
            type string;
            description
              "Unique identifier.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf name {
            type string;
            description
              "The human readable name of the VnfIndicator.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf indicator-value {
            type string;
            description
              "Defines the allowed values or value ranges of this
               indicator.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf source {
            type enumeration {
              enum vnf;
              enum em;
              enum both;
            }
            description
              "Describe the source of the indicator. The possible
               values are:
               • VNF.
               • EM.
               • Both.

               This tells the consumer where to send the subscription
               request.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          description
            "Declares the VNF indicators that are supported by this
             VNF (specific to this DF).";
          reference
            "GS NFV IFA011: Section 7.1.8.2 VnfDf information
             element";
        }

        list supported-vnf-interfaces {
          key "name";

          leaf name {
            type enumeration {
              enum vnf-configuration;
              enum vnf-indicator;
            }
            description
              "Identifies an interface produced by the VNF. Valid
               values:
               - VNF_CONFIGURATION
               - VNF_INDICATOR";
            reference
              "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
               information element";
          }

          leaf-list cpd-id {
            type leafref {
              path "../../../ext-cpd/id";
            }
            description
              "References one or more CPDs from which to instantiate
               external CPs through which interface endpoints on the
               VNF side can be reached by the VNFM.";
            reference
              "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
               information element";
          }

          list interface-details {
            key "key";

            leaf key {
              type string;
            }

            leaf value {
              type string;
            }
          }

          description
            "Indicates which interfaces the VNF produces and provides
             additional details on how to access the interface
             endpoints.";
          reference
            "GS NFV IFA011: Section 7.1.8.2 VnfDf information
             element";
        }

        list monitoring-parameter {
        list monitoring-parameter {
          key "id";
          key "id";


Loading