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

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

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

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

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

	leaf protocol {
          type identityref {
            base layer-protocol;
          }
	}
        description
          "Identifies the protocol this VL gives access to (Ethernet,
           MPLS, ODU2, IPV4, IPV6, Pseudo-Wire).";
          "Identifies the protocols that the VL uses (Ethernet,
           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
          "GS NFV IFA011: Section 7.1.7.3, ConnectivityType
           information element.";
+12 −10
Original line number Diff line number Diff line
@@ -11,14 +11,14 @@ submodule etsi-nfv-ns {
  description
    "Models for NS according to ETSI GS NFV-IFA 014.";

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

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

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

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

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

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

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

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

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

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

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

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

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

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

       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
      "ETSI GS NFV-IFA 011 Ed251v243";
      "ETSI GS NFV-IFA 011 Ed261v254";
  }

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

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

Loading