Loading src/yang/etsi-nfv-common.yang +36 −114 Original line number Diff line number Diff line module etsi-nfv-common { namespace "urn:etsi:params:xml:ns:yang:etsi-nfv-common"; yang-version 1.1; prefix common; description Loading Loading @@ -368,18 +369,28 @@ module etsi-nfv-common { 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 { description "A Cpd information element describes network connectivity to a compute resource or a VL."; "The Cpd information element specifies the characteristics of 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 "GS NFC IFA011: Section 7.1.6.3 Cpd Information Element"; "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; leaf id { type string; description "Identifier of this Cpd information element."; 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 { mandatory true; Loading @@ -387,134 +398,45 @@ module etsi-nfv-common { base common:layer-protocol; } description "Identifies which protocol the CP uses for connectivity purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."; "Identifies a protocol that the connection points corresponding to the CPD support for connectivity purposes (e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."; 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 { type identityref { base common:cp-role; } description "Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF."; "Identifies the role of the connection points corresponding to the CPD in the context of the traffic flow patterns in the VNF, PNF or NS. For example an NS with a tree flow pattern within the NS will have legal cpRoles of ROOT and LEAF."; 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 { type string; description "Human readable description of the connection point"; reference "GS NFV IFA011: Section 7.1.6.3, Cpd information element."; } 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."; "Provides human-readable information on the purpose of the connection point (e.g. connection point for control plane traffic)."; reference "GS NFV IFA011: Section 7.1.3.3, AddressData information 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."; } "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; } leaf trunk-mode { type boolean; description "Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other)."; "Information about whether the Cp instantiated from this CPD 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 "GS NFV IFA011: Section 7.1.6.3, Cpd information element."; "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; } } } Loading
src/yang/etsi-nfv-common.yang +36 −114 Original line number Diff line number Diff line module etsi-nfv-common { namespace "urn:etsi:params:xml:ns:yang:etsi-nfv-common"; yang-version 1.1; prefix common; description Loading Loading @@ -368,18 +369,28 @@ module etsi-nfv-common { 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 { description "A Cpd information element describes network connectivity to a compute resource or a VL."; "The Cpd information element specifies the characteristics of 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 "GS NFC IFA011: Section 7.1.6.3 Cpd Information Element"; "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; leaf id { type string; description "Identifier of this Cpd information element."; 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 { mandatory true; Loading @@ -387,134 +398,45 @@ module etsi-nfv-common { base common:layer-protocol; } description "Identifies which protocol the CP uses for connectivity purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."; "Identifies a protocol that the connection points corresponding to the CPD support for connectivity purposes (e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."; 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 { type identityref { base common:cp-role; } description "Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF."; "Identifies the role of the connection points corresponding to the CPD in the context of the traffic flow patterns in the VNF, PNF or NS. For example an NS with a tree flow pattern within the NS will have legal cpRoles of ROOT and LEAF."; 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 { type string; description "Human readable description of the connection point"; reference "GS NFV IFA011: Section 7.1.6.3, Cpd information element."; } 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."; "Provides human-readable information on the purpose of the connection point (e.g. connection point for control plane traffic)."; reference "GS NFV IFA011: Section 7.1.3.3, AddressData information 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."; } "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; } leaf trunk-mode { type boolean; description "Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other)."; "Information about whether the Cp instantiated from this CPD 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 "GS NFV IFA011: Section 7.1.6.3, Cpd information element."; "GS NFC IFA014: Section 6.6.3.1 Cpd information element"; } } }