Commit f390bc69 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Updating models to IFA011/14 2.6.1

parent 06d73e3c
Loading
Loading
Loading
Loading
+36 −114
Original line number Original line Diff line number Diff line
module etsi-nfv-common {
module etsi-nfv-common {
  namespace "urn:etsi:params:xml:ns:yang:etsi-nfv-common";
  namespace "urn:etsi:params:xml:ns:yang:etsi-nfv-common";
  yang-version 1.1;
  prefix common;
  prefix common;


  description
  description
@@ -368,18 +369,28 @@ module etsi-nfv-common {
         information element.";
         information element.";
    }
    }
  }
  }

  // The following grouping is Cpd information element as defined in
  // IFA014. IFA011 defines its own Cpd information element, which
  // is defined in etsi-nfv-vnf.yang file. Do not use this grouping
  // for inclusion in a Vnf.
  grouping cpd {
  grouping cpd {
    description
    description
      "A Cpd information element describes network connectivity to a
      "The Cpd information element specifies the characteristics of
       compute resource or a VL.";
       connection points attached to NFs and NSs. This is an
       abstract class used as parent for the various Cpd classes.
       It has an attribute 'trunkMode' which enables the NFVO to
       identify whether the Cp instantiated from the Cpd is in trunk
       mode or not.";
    reference
    reference
      "GS NFC IFA011: Section 7.1.6.3 Cpd Information Element";
      "GS NFC IFA014: Section 6.6.3.1 Cpd information element";

    leaf id {
    leaf id {
      type string;
      type string;
      description
      description
        "Identifier of this Cpd information element.";
        "Identifier of this Cpd information element.";
      reference
      reference
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
        "GS NFC IFA014: Section 6.6.3.1 Cpd information element";
    }
    }
    leaf layer-protocol {
    leaf layer-protocol {
      mandatory true;
      mandatory true;
@@ -387,134 +398,45 @@ module etsi-nfv-common {
        base common:layer-protocol;
        base common:layer-protocol;
      }
      }
      description
      description
        "Identifies which protocol the CP uses for connectivity
        "Identifies a protocol that the connection points
         purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire,
         corresponding to the CPD support for connectivity purposes
         etc.).";
         (e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).";
      reference
      reference
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
        "GS NFC IFA014: Section 6.6.3.1 Cpd information element";
    }
    }
    leaf role {
    leaf role {
      type identityref {
      type identityref {
        base common:cp-role;
        base common:cp-role;
      }
      }
      description
      description
        "Identifies the role of the port in the context of the
        "Identifies the role of the connection points
         traffic flow patterns in the VNF or parent NS. For example a
         corresponding to the CPD in the context of the traffic
         VNF with a tree flow pattern within the VNF will have legal
         flow patterns in the VNF, PNF or NS. For example an NS with
         cpRoles of ROOT and LEAF.";
         a tree flow pattern within the NS will have legal cpRoles
         of ROOT and LEAF.";
      reference
      reference
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
        "GS NFC IFA014: Section 6.6.3.1 Cpd information element";
    }
    }
    leaf description {
    leaf description {
      type string;
      type string;
      description
      description
        "Human readable description of the connection point";
        "Provides human-readable information on the purpose of the
      reference
         connection point (e.g. connection point for control plane
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
         traffic).";
    }
    container protocol {
      description
        "Identifies the protocol layering information the CP uses for
         connectivity purposes and associated information. There shall
         be one cpProtocol for each layer protocol as indicated by the
         attribute layerProtocol.";
      reference
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
      leaf associated-layer-protocol {
        type identityref {
          base common:layer-protocol;
        }
        description
          "One of the values of the attribute layerProtocol of the Cpd
           IE.";
        reference
          "GS NFV IFA011: Section 7.1.6.8, CpProtocolData information
           element.";
      }

      list address-data {
        key "address-type";
        leaf address-type {
          type identityref {
            base common:address-type;
          }
          description
            "Describes the type of the address to be assigned to the CP
             instantiated from the parent CPD.
             Value:
             • MAC address.
             • IP address.
             • …
             The content type shall be aligned with the address type
             supported by the layerProtocol attribute of the parent CPD.";
      reference
      reference
            "GS NFV IFA011: Section 7.1.3.3, AddressData information
        "GS NFC IFA014: Section 6.6.3.1 Cpd information element";
             element.";
        }
        container l2-address-data {
          when "../address-type='mac-address'";
        }
        container l3-address-data {
          when "../address-type='ip-address'";
          leaf ip-address-assignment {
            type boolean;
            description
              "Specify if the address assignment is the responsibility
               of management and orchestration function or not. If it
               is set to True, it is the management and orchestration
               function responsibility. ";
            reference
              "GS NFV IFA011: Section 7.1.3.4, L3AddressData
               information element.";
          }
          leaf floating-ip-activated {
            type boolean;
            description
              "Specify if the floating IP scheme is activated on the CP
               or not.";
            reference
              "GS NFV IFA011: Section 7.1.3.4, L3AddressData
               information element.";
          }
          leaf ip-address-type {
            type enumeration {
              enum "ipv4";
              enum "ipv6";
            }
            description
              "Define address type. The address type should be aligned
               with the address type supported by the layerProtocol
               attribute of the parent VnfExtCpd.";
            reference
              "GS NFV IFA011: Section 7.1.3.4, L3AddressData
               information element.";
          }
          leaf number-of-ip-addresses {
            type uint32;
            description
              "Minimum number of IP addresses to be assigned based on
               this L3AddressData information element.";
            reference
              "GS NFV IFA011: Section 7.1.3.4, L3AddressData
               information element.";
          }
        }
        description
          "The AddressData information element supports providing
           information about the addressing scheme and parameters
           applicable to a CP.";
        reference
          "GS NFV IFA011: Section 7.1.3.3, AddressData information
           element.";
      }
    }
    }
    leaf trunk-mode {
    leaf trunk-mode {
      type boolean;
      type boolean;
      description
      description
        "Information about whether the CP instantiated from this CPD
        "Information about whether the Cp instantiated from this CPD
         is in Trunk mode (802.1Q or other).";
         is in Trunk mode (802.1Q or other). When operating in
         'trunk mode', the Cp is capable of carrying traffic for
         several VLANs. A cardinality of 0 implies that trunkMode
         is not configured for the Cp i.e. It is equivalent to
         Boolean value 'false'.";
      reference
      reference
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
        "GS NFC IFA014: Section 6.6.3.1 Cpd information element";
    }
    }
  }
  }
}
}