Commits (48)
...@@ -19,7 +19,7 @@ docker run "$IMG" ...@@ -19,7 +19,7 @@ docker run "$IMG"
echo "Building HTML tree" echo "Building HTML tree"
docker run -v"$(pwd)/src/yang/:/yang/" mjethanandani/pyang \ docker run -v"$(pwd)/src/yang/:/yang/" mjethanandani/pyang \
"/bin/sh" -c "cd /yang/ && pyang -f jstree -p /yang/ \ "/bin/sh" -c "cd /yang/ && pyang -f jstree -p /yang/ \
/yang/etsi-nfv.yang > etsi-nfv.html" /yang/etsi-nfv-descriptors.yang > etsi-nfv.html"
sed -r -i 's|<a href=\"http://www.tail-f.com">|<a href="http://etsi.org">|g' src/yang/etsi-nfv.html sed -r -i 's|<a href=\"http://www.tail-f.com">|<a href="http://etsi.org">|g' src/yang/etsi-nfv.html
sed -r -i 's|data\:image/gif\;base64,R0lGODlhS.*RCAA7|https://www.etsi.org/images/ETSILogoTwitter.png\" height=\"100|g' src/yang/etsi-nfv.html sed -r -i 's|data\:image/gif\;base64,R0lGODlhS.*RCAA7|https://www.etsi.org/images/ETSILogoTwitter.png\" height=\"100|g' src/yang/etsi-nfv.html
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</lcm-operations-configuration> </lcm-operations-configuration>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group>
<id>control-plane</id> <id>control-plane</id>
<type>anti-affinity</type> <affinityorAntiaffinity>anti-affinity</affinityorAntiaffinity>
<scope>nfvi-node</scope> <scope>nfvi-node</scope>
</affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group>
</df> </df>
...@@ -328,7 +328,7 @@ ...@@ -328,7 +328,7 @@
</lcm-operations-configuration> </lcm-operations-configuration>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group>
<id>control-plane</id> <id>control-plane</id>
<type>anti-affinity</type> <affinityorAntiaffinity>anti-affinity</affinityorAntiaffinity>
<scope>nfvi-node</scope> <scope>nfvi-node</scope>
</affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group>
</df> </df>
......
...@@ -343,10 +343,10 @@ ...@@ -343,10 +343,10 @@
</sapd> </sapd>
<sapd> <sapd>
<id>outside</id> <id>outside</id>
<vnf> <associated-cpd>
<vnfd-id>CSR</vnfd-id> <vnfd-id>CSR</vnfd-id>
<ext-cpd-id>left</ext-cpd-id> <vnf-ext-cpd>left</vnf-ext-cpd>
</vnf> </associated-cpd>
</sapd> </sapd>
<virtual-link-desc> <virtual-link-desc>
<id>fw2dpi</id> <id>fw2dpi</id>
...@@ -585,17 +585,17 @@ ...@@ -585,17 +585,17 @@
<vnfd-id>CSR</vnfd-id> <vnfd-id>CSR</vnfd-id>
<sapd> <sapd>
<id>inside</id> <id>inside</id>
<ns> <associated-cpd>
<nsd-id>firewall-nsd</nsd-id> <nsd-id>firewall-nsd</nsd-id>
<ext-cpd-id>inside</ext-cpd-id> <sapd>inside</sapd>
</ns> </associated-cpd>
</sapd> </sapd>
<sapd> <sapd>
<id>outside</id> <id>outside</id>
<vnf> <associated-cpd>
<vnfd-id>CSR</vnfd-id> <vnfd-id>CSR</vnfd-id>
<ext-cpd-id>left</ext-cpd-id> <vnf-ext-cpd>left</vnf-ext-cpd>
</vnf> </associated-cpd>
</sapd> </sapd>
<virtual-link-desc> <virtual-link-desc>
<id>r2fw</id> <id>r2fw</id>
......
...@@ -482,8 +482,11 @@ submodule etsi-nfv-common { ...@@ -482,8 +482,11 @@ submodule etsi-nfv-common {
"Applicable to VirtualComputeDesc and VirtualStorageDesc. "Applicable to VirtualComputeDesc and VirtualStorageDesc.
When present, specifies the allowed migration types in the When present, specifies the allowed migration types in the
order of preference in case of an impact starting with the order of preference in case of an impact starting with the
most preferred type. Possible values: NO_MIGRATION, most preferred type.
OFFLINE_MIGRATION, LIVE_MIGRATION."; Values:
• NO_MIGRATION
• OFFLINE_MIGRATION
• LIVE_MIGRATION.";
reference reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element"; information element";
...@@ -565,11 +568,15 @@ submodule etsi-nfv-common { ...@@ -565,11 +568,15 @@ submodule etsi-nfv-common {
} }
min-elements 1; min-elements 1;
description description
"Identifies the protocols that the VL uses (Ethernet, "Specifies the protocols that the VL uses
MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer Values:
protocol of the VL protocol stack shall always be provided. • Ethernet
The lower layer protocols may be included when there are • MPLS
specific requirements on these layers."; • ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc.";
reference reference
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType "GS NFV IFA011: Section 7.1.7.3, ConnectivityType
information element."; information element.";
...@@ -578,7 +585,7 @@ submodule etsi-nfv-common { ...@@ -578,7 +585,7 @@ submodule etsi-nfv-common {
leaf flow-pattern { leaf flow-pattern {
type flow-pattern; type flow-pattern;
description description
"Identifies the flow pattern of the connectivity (Line, "Specifies the flow pattern of the connectivity (Line,
Tree, Mesh)."; Tree, Mesh).";
reference reference
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType "GS NFV IFA011: Section 7.1.7.3, ConnectivityType
...@@ -700,9 +707,15 @@ submodule etsi-nfv-common { ...@@ -700,9 +707,15 @@ submodule etsi-nfv-common {
base layer-protocol; base layer-protocol;
} }
description description
"Identifies a protocol that the connection points "Specifies which protocol the CP uses for connectivity purposes
corresponding to the CPD support for connectivity purposes Values:
(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."; • Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc.";
reference reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element"; "GS NFV IFA011: Section 7.1.6.3 Cpd information element";
} }
...@@ -740,7 +753,15 @@ submodule etsi-nfv-common { ...@@ -740,7 +753,15 @@ submodule etsi-nfv-common {
} }
description description
"One of the values of the attribute layerProtocol of the Cpd "One of the values of the attribute layerProtocol of the Cpd
IE."; IE.
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc.";
reference reference
"GS NFV IFA011: Section 7.1.6.8 CpProtocolData information "GS NFV IFA011: Section 7.1.6.8 CpProtocolData information
element"; element";
...@@ -756,10 +777,10 @@ submodule etsi-nfv-common { ...@@ -756,10 +777,10 @@ submodule etsi-nfv-common {
description description
"Describes the type of the address to be assigned to the "Describes the type of the address to be assigned to the
CP instantiated from the parent CPD. CP instantiated from the parent CPD.
Value: Values:
• MAC address. • MAC address
• IP address. • IP address
Etc. etc.
The content type shall be aligned with the address type The content type shall be aligned with the address type
supported by the layerProtocol attribute of the parent supported by the layerProtocol attribute of the parent
CPD."; CPD.";
...@@ -826,9 +847,10 @@ submodule etsi-nfv-common { ...@@ -826,9 +847,10 @@ submodule etsi-nfv-common {
enum "ipv6"; enum "ipv6";
} }
description description
"Define address type. The address type should be aligned "Define address type.
with the address type supported by the layerProtocol Values:
attribute of the parent VnfExtCpd."; • IPV4
• IPV6.";
reference reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
...@@ -843,6 +865,16 @@ submodule etsi-nfv-common { ...@@ -843,6 +865,16 @@ submodule etsi-nfv-common {
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
} }
leaf fixed-ip-address {
type string;
description
"IP address to be assigned to the CP instance.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
} }
description description
"Provides information on the addresses to be assigned to the "Provides information on the addresses to be assigned to the
...@@ -907,7 +939,10 @@ submodule etsi-nfv-common { ...@@ -907,7 +939,10 @@ submodule etsi-nfv-common {
default "ingress"; default "ingress";
description description
"The direction in which the security group rule is applied. "The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS."; Values:
• INGRESS
• EGRESS
Defaults to INGRESS.";
reference reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule "GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."; information element.";
...@@ -921,7 +956,10 @@ submodule etsi-nfv-common { ...@@ -921,7 +956,10 @@ submodule etsi-nfv-common {
default "ipv4"; default "ipv4";
description description
"Indicates the protocol carried over the Ethernet layer. "Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4."; Values:
• IPV4
• IPV6
Defaults to IPV4.";
reference reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule "GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."; information element.";
...@@ -937,8 +975,13 @@ submodule etsi-nfv-common { ...@@ -937,8 +975,13 @@ submodule etsi-nfv-common {
description description
"Indicates the protocol carried over the IP layer. "Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults protocol registry.
to TCP."; Values:
• TCP
• UDP
• ICMP
• etc.
Defaults to TCP.";
reference reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule "GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."; information element.";
......
...@@ -62,8 +62,10 @@ submodule etsi-nfv-ns { ...@@ -62,8 +62,10 @@ submodule etsi-nfv-ns {
leaf type { leaf type {
type affinity-type; type affinity-type;
description description
"Specifies whether the rule is an affinity rule or an "Specifies the rule.
anti-affinity rule."; Values:
• AFFINITY
• ANTI_AFFINITY.";
reference reference
"GS NFV IFA014: Section 6.3.8.2, "GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element.";
...@@ -72,8 +74,13 @@ submodule etsi-nfv-ns { ...@@ -72,8 +74,13 @@ submodule etsi-nfv-ns {
leaf scope { leaf scope {
type affinity-scope; type affinity-scope;
description description
"Specifies the scope of the rule, possible values are "Specifies the scope of the rule.
'NFVI-PoP', 'NFVI-node' network-link-and-node etc."; Values:
• NFVI_POP
• ZONE
• ZONE_GROUP
• NFVI_NODE
• etc.";
reference reference
"GS NFV IFA014: Section 6.3.8.2, "GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element.";
...@@ -173,27 +180,6 @@ submodule etsi-nfv-ns { ...@@ -173,27 +180,6 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
information element"; information element";
leaf id {
type string;
description
"Identifier of this Cpd information element.";
reference
"GS NFV IFA014: Section 6.6.3.1 Cpd information element";
}
leaf address-assignment {
type boolean;
description
"Specify whether the SAP address assignment is under the
responsibility of management and orchestration functions
or not. If it is set to True, management and
orchestration functions are responsible for assigning
addresses to the access points instantiated from this
SAPD.";
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
choice cpd-or-virtual-link { choice cpd-or-virtual-link {
leaf virtual-link-desc { leaf virtual-link-desc {
type leafref { type leafref {
...@@ -206,8 +192,8 @@ submodule etsi-nfv-ns { ...@@ -206,8 +192,8 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.3.2 Sapd information element"; "GS NFV IFA014: Section 6.2.3.2 Sapd information element";
} }
choice associated-cpd-id { container associated-cpd {
container vnf { choice constituent-base-element-id {
leaf vnfd-id { leaf vnfd-id {
mandatory true; mandatory true;
type leafref { type leafref {
...@@ -215,16 +201,6 @@ submodule etsi-nfv-ns { ...@@ -215,16 +201,6 @@ submodule etsi-nfv-ns {
} }
must "boolean(../../../vnfd-id[.=current()])"; must "boolean(../../../vnfd-id[.=current()])";
} }
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
container pnf {
leaf pnfd-id { leaf pnfd-id {
mandatory true; mandatory true;
type leafref { type leafref {
...@@ -232,34 +208,68 @@ submodule etsi-nfv-ns { ...@@ -232,34 +208,68 @@ submodule etsi-nfv-ns {
} }
must "boolean(../pnfd-id[.=current()])"; must "boolean(../pnfd-id[.=current()])";
} }
leaf nsd-id {
leaf ext-cpd-id {
mandatory true; mandatory true;
type leafref { type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id"; path "../../../../nsd/id";
} }
must "boolean(../nsd-id[.=current()])";
} }
description
"References the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element";
} }
container ns { choice constituent-cpd-id {
leaf nsd-id { leaf vnf-ext-cpd {
mandatory true; mandatory true;
type leafref { type leafref {
path "../../../../nsd/id"; path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
} }
must "boolean(../nsd-id[.=current()])";
} }
leaf pnf-ext-cpd {
leaf ext-cpd-id { mandatory true;
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
leaf sapd {
mandatory true; mandatory true;
type leafref { type leafref {
path "deref(../nsd-id)/../sapd/id"; path "deref(../nsd-id)/../sapd/id";
} }
} }
description
"References the VNF external CPD for a given VnfProfile, or the PNF
external CPD for a given PnfProfile, or an NS SAPD for a given NsProfile
identified by the constituentBaseElementId.";
reference
"GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element";
} }
description
"Describes a CPD or SAPD in the context of an NS constituent element, which
the SAPs instantiated from this SAPD are mapped to.";
reference
"GS NFV IFA014: Section 6.2.3 Sapd information element";
}
}
uses cpd;
leaf security-group-rule-id {
type leafref {
path "../../security-group-rule/id";
} }
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA014: Section 6.6.3 Cpd information element";
} }
} }
uses security-group-rule;
list virtual-link-desc { list virtual-link-desc {
key "id"; key "id";
description description
...@@ -631,7 +641,7 @@ submodule etsi-nfv-ns { ...@@ -631,7 +641,7 @@ submodule etsi-nfv-ns {
path "../../../nfp-position-element/id"; path "../../../nfp-position-element/id";
} }
description description
"Reference to one or a pair of CPDs or SAPDs."; "References one or a pair of CPDs or SAPDs.";
reference reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"; information element";
...@@ -642,16 +652,20 @@ submodule etsi-nfv-ns { ...@@ -642,16 +652,20 @@ submodule etsi-nfv-ns {
base forwarding-behaviour; base forwarding-behaviour;
} }
description description
"Identifies a rule to apply to forward traffic to CP or "Specifies a rule to apply to forward traffic to CP or
SAP instances corresponding to the referenced CPD(s) SAP instances corresponding to the referenced CP
and SAPD(s). The minimum list of rules to be supported profiles(s). The minimum list of rules to be supported
shall include: shall include:
• ALL = Traffic flows shall be forwarded simultaneously • ALL = Traffic flows shall be forwarded simultaneously
to all CP or SAP instances created from the to all CP or SAP instances created from the
referenced CP profile(s). referenced CP profile(s).
• LB = Traffic flows shall be forwarded to one CP or SAP • LB = Traffic flows shall be forwarded to one CP or SAP
instance created from the referenced CP profile(s) instance created from the referenced CP profile(s)
selected based on a load-balancing algorithm."; selected based on a load-balancing algorithm
Values:
• ALL
• LB
• etc.";
reference reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"; information element";
...@@ -758,7 +772,7 @@ submodule etsi-nfv-ns { ...@@ -758,7 +772,7 @@ submodule etsi-nfv-ns {
leaf id { leaf id {
type string; type string;
description description
"Identifier of this vnfProfile information element. It "Identifier of this VnfProfile information element. It
uniquely identifies a VnfProfile."; uniquely identifies a VnfProfile.";
reference reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information "GS NFV IFA014: Section 6.3.3.2 VnfProfile information
...@@ -783,7 +797,7 @@ submodule etsi-nfv-ns { ...@@ -783,7 +797,7 @@ submodule etsi-nfv-ns {
path "deref(../vnfd-id)/../nfv:df/nfv:id"; path "deref(../vnfd-id)/../nfv:df/nfv:id";
} }
description description
"Identifies a flavour within the VNFD."; "References a flavour within the VNFD.";
reference reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information "GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element"; element";
...@@ -834,8 +848,8 @@ submodule etsi-nfv-ns { ...@@ -834,8 +848,8 @@ submodule etsi-nfv-ns {
path "../../affinity-or-anti-affinity-group/id"; path "../../affinity-or-anti-affinity-group/id";
} }
description description
"Identifier(s) of the affinity or anti-affinity "Reference(s) the affinity or anti-affinity group(s)
group(s) the VnfProfile belongs to."; the VnfProfile belongs to.";
reference reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information "GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element"; element";
...@@ -1043,7 +1057,7 @@ submodule etsi-nfv-ns { ...@@ -1043,7 +1057,7 @@ submodule etsi-nfv-ns {
path "deref(../virtual-link-desc-id)/../df/id"; path "deref(../virtual-link-desc-id)/../df/id";
} }
description description
"Identifies a flavour within the VLD."; "Refernces a flavour within the VLD.";
reference reference
"GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile
information element"; information element";
...@@ -1056,9 +1070,9 @@ submodule etsi-nfv-ns { ...@@ -1056,9 +1070,9 @@ submodule etsi-nfv-ns {
path "../../affinity-or-anti-affinity-group/id"; path "../../affinity-or-anti-affinity-group/id";
} }
description description
"Identifies an affinity or anti-affinity group the "Reference(s) the affinity or anti-affinity group(s)
VLs instantiated according to the VlProfile belong the VLs instantiated according to the VlProfile
to."; belong to.";
reference reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element"; information element";
...@@ -1082,6 +1096,170 @@ submodule etsi-nfv-ns { ...@@ -1082,6 +1096,170 @@ submodule etsi-nfv-ns {
information element"; information element";
uses link-bitrate-requirements; uses link-bitrate-requirements;
} }
container virtual-link-protocol-data {
leaf associated-layer-protocol {
type identityref {
base layer-protocol;
}
description
"One of the values of the attribute layerProtocol of
the ConnectivityType IE.
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc.";
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element.";
}
container l2-protocol-data {
when "(../associated-layer-protocol = 'Ethernet') or " +
"(../associated-layer-protocol = 'MPLS') or " +
"(../associated-layer-protocol = 'ODU2') or " +
"(../associated-layer-protocol = 'Pseudo-Wire')";
leaf name {
type string;
description
"Network name associated with this L2 protocol.";
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element.";
}
leaf network-type {
type enumeration {
enum flat;
enum vlan;
enum vxlan;
enum gre;
}
description
"Specifies the network type for this L2 protocol.
Values:
• FLAT
• VLAN
• VXLAN
• GRE.";
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element.";
}
leaf vlan-transparent {
type boolean;
description
"Specifies whether to support VLAN transparency for
this L2 protocol or not.";
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element.";
}
leaf mtu {
type uint16;
description
"Specifies the maximum transmission unit (MTU) value
for this L2 protocol.";
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element.";
}
leaf segmentation-id {
type string;
description
"If present, specifies a specific virtualised network
segment, which depends on the network type. For e.g.,
VLAN ID for VLAN network type and tunnel ID for
GRE/VXLAN network types.";
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element.";
}
description
"Specifies the L2 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L2 protocol and shall be absent
otherwise.";
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element.";
}
container l3-protocol-data {
when "(../associated-layer-protocol = 'IPv4') or " +
"(../associated-layer-protocol = 'IPv6')";
leaf name {
type string;
description
"Network name associated with this L3 protocol.";
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element.";
}
leaf ip-version {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Specifies IP version of this L3 protocol.
Values:
• IPV4.
• IPV6.";
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element.";
}
leaf cidr {
type string;
description
"Specifies the CIDR (Classless InterDomain Routing)
of this L3 protocol.
The network address and subnet mask in
cidr format.";
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element.";
}
leaf-list ip-allocation-pools {
type string;
description
"Specifies the allocation pools with start and end
IP addresses for this L3 protocol.";
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element.";
}
description
"Specifies the L3 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L3 protocol and shall be absent
otherwise.";
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element.";
}
description
"Specifies the protocol data for a VL instantiated
according to this profile. Cardinality 0 is used when
no protocol data needs to be specified.";
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element";
}
} }
list scaling-aspect { list scaling-aspect {
...@@ -1151,19 +1329,22 @@ submodule etsi-nfv-ns { ...@@ -1151,19 +1329,22 @@ submodule etsi-nfv-ns {
leaf id { leaf id {
type string; type string;
description description
"Identifier of Identifier of this "Identifier of this AffinityOrAntiAffinityGroup
AffinityOrAntiAffinityGroup information element."; information element.";
reference reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"; information element";
} }
leaf type { leaf affinityorAntiaffinity {
mandatory true; mandatory true;
type affinity-type; type affinity-type;
description description
"Specifies the type of relationship that the members of "Specifies the type of relationship that the members of
the group have: 'affinity' or 'anti-affinity.'"; the group have.
Values:
• AFFINITY
• ANTI-AFFINITY";
reference reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"; information element";
...@@ -1174,8 +1355,12 @@ submodule etsi-nfv-ns { ...@@ -1174,8 +1355,12 @@ submodule etsi-nfv-ns {
type affinity-scope; type affinity-scope;
description description
"Specifies the scope of the affinity or anti-affinity "Specifies the scope of the affinity or anti-affinity
relationship e.g. a NFVI node, an NFVI PoP, relationship.
network-link-and-node etc."; Values:
• NFVI_NODE
• NFVI_POP
• NETWORK_LINK_AND_NODE
• etc.";
reference reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"; information element";
...@@ -1228,7 +1413,7 @@ submodule etsi-nfv-ns { ...@@ -1228,7 +1413,7 @@ submodule etsi-nfv-ns {
path "../../../vnf-profile/id"; path "../../../vnf-profile/id";
} }
description description
"Identifies the profile to be used for a VNF "References the profile to be used for a VNF
involved in an NS level."; involved in an NS level.";
reference reference
"GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping
...@@ -1262,7 +1447,7 @@ submodule etsi-nfv-ns { ...@@ -1262,7 +1447,7 @@ submodule etsi-nfv-ns {
path "../../../virtual-link-profile/id"; path "../../../virtual-link-profile/id";
} }
description description
"Identifies the profile to be used for a VL involved "References the profile to be used for a VL involved
in an NS level."; in an NS level.";
reference reference
"GS NFV IFA014: Section 6.7.5.2 "GS NFV IFA014: Section 6.7.5.2
...@@ -1288,7 +1473,7 @@ submodule etsi-nfv-ns { ...@@ -1288,7 +1473,7 @@ submodule etsi-nfv-ns {
path "../../../ns-profile/id"; path "../../../ns-profile/id";
} }
description description
"Identifies the profile to be used for a nested NS "References the profile to be used for a nested NS
involved in the NS level."; involved in the NS level.";
reference reference
"GS NFV IFA014: Section 6.7.6.2 NsToLevel information "GS NFV IFA014: Section 6.7.6.2 NsToLevel information
...@@ -1330,7 +1515,7 @@ submodule etsi-nfv-ns { ...@@ -1330,7 +1515,7 @@ submodule etsi-nfv-ns {
path "../ns-instantiation-level/id"; path "../ns-instantiation-level/id";
} }
description description
"Identifies the NS level which represents the default NS "References the NS level which represents the default NS
instantiation level for this DF. It shall be present if instantiation level for this DF. It shall be present if
there are multiple 'nsIinstantiationLevel' entries."; there are multiple 'nsIinstantiationLevel' entries.";
reference reference
...@@ -1417,7 +1602,7 @@ submodule etsi-nfv-ns { ...@@ -1417,7 +1602,7 @@ submodule etsi-nfv-ns {
key "id"; key "id";
description description
"Specifies a NS Profile supported by this NS DF."; "Specifies nested NS Profile to be used for this NS DF.";
reference reference
"GS NFV IFA014: Section 6.3.2.2 NsDf information element"; "GS NFV IFA014: Section 6.3.2.2 NsDf information element";
...@@ -1436,7 +1621,7 @@ submodule etsi-nfv-ns { ...@@ -1436,7 +1621,7 @@ submodule etsi-nfv-ns {
path "../../../../nsd/id"; path "../../../../nsd/id";
} }
description description
"Identifies the NSD applicable to NS instantiated "References the NSD applicable to NS instantiated
according to this profile."; according to this profile.";
reference reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information "GS NFV IFA014: Section 6.3.11.2 NsProfile information
...@@ -1449,7 +1634,7 @@ submodule etsi-nfv-ns { ...@@ -1449,7 +1634,7 @@ submodule etsi-nfv-ns {
path "deref(../nsd-id)/../df/id"; path "deref(../nsd-id)/../df/id";
} }
description description
"Identifies the applicable network service DF within "References the applicable network service DF within
the scope of the NSD."; the scope of the NSD.";
reference reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information "GS NFV IFA014: Section 6.3.11.2 NsProfile information
...@@ -1462,7 +1647,7 @@ submodule etsi-nfv-ns { ...@@ -1462,7 +1647,7 @@ submodule etsi-nfv-ns {
path "deref(../ns-df-id)/../ns-instantiation-level/id"; path "deref(../ns-df-id)/../ns-instantiation-level/id";
} }
description description
"Identifies the NS level within the referenced NS DF to "References the NS level within the referenced NS DF to
be used in the context of the parent NS instantiation. be used in the context of the parent NS instantiation.
If not present, the default NS instantiation level as If not present, the default NS instantiation level as
declared in the referenced NSD shall be used."; declared in the referenced NSD shall be used.";
...@@ -1500,8 +1685,8 @@ submodule etsi-nfv-ns { ...@@ -1500,8 +1685,8 @@ submodule etsi-nfv-ns {
path "../../affinity-or-anti-affinity-group/id"; path "../../affinity-or-anti-affinity-group/id";
} }
description description
"Identifies an affinity or anti-affinity group the NSs "Reference(s) the affinity or anti-affinity group(s) the
created according to this NsProfile belongs to."; NSs created according to this NsProfile belongs to.";
reference reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information "GS NFV IFA014: Section 6.3.11.2 NsProfile information
element"; element";
...@@ -1585,7 +1770,10 @@ submodule etsi-nfv-ns { ...@@ -1585,7 +1770,10 @@ submodule etsi-nfv-ns {
} }
} }
description description
"References a VnfProfile or NsProfile."; "References a VnfProfile or NsProfile for
describing dependencies between VNF and/or
nested NS instances in terms of primary
entities.";
reference reference
"GS NFV IFA014: Section 6.3.12.2 Dependencies "GS NFV IFA014: Section 6.3.12.2 Dependencies
information element"; information element";
...@@ -1603,7 +1791,10 @@ submodule etsi-nfv-ns { ...@@ -1603,7 +1791,10 @@ submodule etsi-nfv-ns {
} }
} }
description description
"References a VnfProfile or NsProfile."; "References a VnfProfile or NsProfile for
describing dependencies between VNF and/or
nested NS instances in terms of secondary
entities.";
reference reference
"GS NFV IFA014: Section 6.3.12.2 Dependencies "GS NFV IFA014: Section 6.3.12.2 Dependencies
information element"; information element";
...@@ -1623,7 +1814,7 @@ submodule etsi-nfv-ns { ...@@ -1623,7 +1814,7 @@ submodule etsi-nfv-ns {
path "/nfv:nfv/nfv:vnfd/nfv:id"; path "/nfv:nfv/nfv:vnfd/nfv:id";
} }
description description
"Identifies a VNFD."; "References a VNFD.";
reference reference
"GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData
information element"; information element";
...@@ -1635,7 +1826,7 @@ submodule etsi-nfv-ns { ...@@ -1635,7 +1826,7 @@ submodule etsi-nfv-ns {
path "deref(../vnfd-id)/../nfv:indicator/nfv:id"; path "deref(../vnfd-id)/../nfv:indicator/nfv:id";
} }
description description
"Identifies a VNF indicator within the VNFD."; "References a VNF indicator within the VNFD.";
reference reference
"GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData
information element"; information element";
...@@ -1694,6 +1885,22 @@ submodule etsi-nfv-ns { ...@@ -1694,6 +1885,22 @@ submodule etsi-nfv-ns {
} }
} }
leaf priority {
type uint32;
description
"Specifies the priority for the NS instance.
The allowed range will be reasonably high. The 'zero'
value will express the highest priority and the fact
that the NS instance based on this DF cannot be
pre-empted during resource allocation.
Examples for the usage of priority include conflict
resolution in case of resource shortage.";
reference
"GS NFV IFA014: Section 6.3.2.2 NsDf information element";
}
leaf service-availability-level { leaf service-availability-level {
type uint32; type uint32;
description description
......
...@@ -194,7 +194,10 @@ submodule etsi-nfv-vnf { ...@@ -194,7 +194,10 @@ submodule etsi-nfv-vnf {
type affinity-type; type affinity-type;
description description
"Specifies whether the rule is an affinity rule or an "Specifies whether the rule is an affinity rule or an
anti-affinity rule."; anti-affinity rule
Values
• affinity
• anti-affinity.";
reference reference
"GS NFV IFA011: Section 7.1.8.11, "GS NFV IFA011: Section 7.1.8.11,
LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element.";
...@@ -203,9 +206,13 @@ submodule etsi-nfv-vnf { ...@@ -203,9 +206,13 @@ submodule etsi-nfv-vnf {
leaf scope { leaf scope {
type affinity-scope; type affinity-scope;
description description
"Specifies the scope of the rule. Possible values are "Specifies the scope of the rule.
'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node', and Values:
'network-link-and-node'."; • NFVI-PoP
• Zone
• ZoneGroup
• NFVI-node
• network-link-and-node.";
reference reference
"GS NFV IFA011: Section 7.1.8.11, "GS NFV IFA011: Section 7.1.8.11,
LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element.";
...@@ -436,7 +443,8 @@ submodule etsi-nfv-vnf { ...@@ -436,7 +443,8 @@ submodule etsi-nfv-vnf {
"Describes the type of the virtual network interface "Describes the type of the virtual network interface
realizing the CPs instantiated from this CPD. This is realizing the CPs instantiated from this CPD. This is
used to determine which mechanism driver(s) to be used used to determine which mechanism driver(s) to be used
to bind the port. Value: to bind the port.
Values:
• NORMAL • NORMAL
• VIRTIO • VIRTIO
• DIRECT • DIRECT
...@@ -586,6 +594,85 @@ submodule etsi-nfv-vnf { ...@@ -586,6 +594,85 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.7, "GS NFV IFA011: Section 7.1.6.7,
VnfcConfigurableProperties Information element."; VnfcConfigurableProperties Information element.";
} }
list trunk-port {
key "parent-port-cpd";
description
"Specifies the logical topology between an intCpd in
trunk mode, used to describe a trunk port, and other
intCpds used to describe subports of the same trunk.
Cardinality 0 is used when there is no intCpd with
trunkmode = True, or when no individual intCpds to
describe the subports are included in the Vdu.";
reference
"GS NFV IFA011: Section 7.1.6.2, Vdu information element";
leaf parent-port-cpd {
type leafref {
path "../../int-cpd/id";
}
description
"Reference of the internal VDU CPD which is used to
instantiate the parent port in a logical trunk model.";
reference
"GS NFV IFA011: Section 7.1.6.11, Information elements
related to TrunkPort Topology.";
}
list sub-port-list {
key "sub-port-cpd";
description
"Provides information used for the subport.";
reference
"GS NFV IFA011: Section 7.1.6.11, Information elements
related to subport of a trunk parent port.";
leaf sub-port-cpd{
type leafref {
path "../../../int-cpd/id";
}
description
"Reference of the internal VDU CPD which is used
to instantiate the subport in a logical trunk model.";
reference
"GS NFV IFA011: Section 7.1.6.12, Information elements
related to subport of a trunk parent port.";
}
leaf segmentation-type {
default "vlan";
type enumeration {
enum "vlan";
enum "inherit";
}
description
"Specifies the encapsulation type for the traffics
coming in and out of the trunk subport.
Values:
• VLAN: the subport uses VLAN as encapsulation type.
• INHERIT: the subport gets its segmentation type
from the network it’s connected to.
Cardinality 0 means default value VLAN is used.";
reference
"GS NFV IFA011: Section 7.1.6.12, Information elements
related to to subport of a trunk parent port.";
}
leaf segmentation-id {
type uint32;
description
"Specifies the segmentation ID for the subport, which is
used to differentiate the traffics on different networks
coming in and out of the trunk port. If a value is provided
here it may be overridden by a value provided at run time
when the infrastructure doesn’t support mapping of
segmentation IDs.";
reference
"GS NFV IFA011: Section 7.1.6.12, Information elements
related to subport of a trunk parent port.";
}
}
}
} }
list virtual-compute-desc { list virtual-compute-desc {
...@@ -866,7 +953,10 @@ submodule etsi-nfv-vnf { ...@@ -866,7 +953,10 @@ submodule etsi-nfv-vnf {
enum "dynamic"; enum "dynamic";
} }
description description
"The policy can take values of 'static' or 'dynamic'. "Indicates the policy for CPU pinning.
Values:
• static
• dynamic
In case of 'static' the virtual CPU cores are In case of 'static' the virtual CPU cores are
requested to be allocated to logical CPU cores requested to be allocated to logical CPU cores
according to the rules defined in according to the rules defined in
...@@ -890,29 +980,13 @@ submodule etsi-nfv-vnf { ...@@ -890,29 +980,13 @@ submodule etsi-nfv-vnf {
type string; type string;
} }
description description
"A list of rules that should be considered during the "List of rules that should be considered during the
allocation of the virtual CPUs to logical CPUs in case allocation of the virtual CPUs to logical CPUs in case
of 'static' virtualCpuPinningPolicy."; of 'static' virtualCpuPinningPolicy.";
reference reference
"GS NFV IFA011: Section 7.1.9.2.4, "GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element."; VirtualCpuPinningData information element.";
} }
leaf-list cpu-policy {
type enumeration {
enum "dedicated";
enum "shared";
}
description
"Shows the list of dedicated virtual CPU cores and
shared virtual CPU cores in a VM. Dedicated refers to
a virtual CPU core occupies one physical CPU core.
Shared refers to multi virtual CPU cores shared one
physical CPU core.";
reference
"GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element.";
}
description description
"The virtual CPU pinning configuration for the "The virtual CPU pinning configuration for the
virtualised compute resource."; virtualised compute resource.";
...@@ -963,8 +1037,11 @@ submodule etsi-nfv-vnf { ...@@ -963,8 +1037,11 @@ submodule etsi-nfv-vnf {
} }
default "nfv:block"; default "nfv:block";
description description
"Type of virtualised storage resource (BLOCK, OBJECT, "Type of virtualised storage resource
FILE)."; Values:
• BLOCK
• OBJECT
• FILE.";
reference reference
"GS NFV IFA011: Section 7.1.9.4, Information elements "GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."; related to Virtual Storage.";
...@@ -1532,8 +1609,9 @@ submodule etsi-nfv-vnf { ...@@ -1532,8 +1609,9 @@ submodule etsi-nfv-vnf {
key "id"; key "id";
leaf-list int-cpd { leaf-list int-cpd {
min-elements 1;
type leafref { type leafref {
path "../../vdu/int-cpd/int-virtual-link-desc"; path "../../vdu/int-cpd/id";
} }
description description
"Reference to the internal VDU CPD which is used to "Reference to the internal VDU CPD which is used to
...@@ -1541,20 +1619,30 @@ submodule etsi-nfv-vnf { ...@@ -1541,20 +1619,30 @@ submodule etsi-nfv-vnf {
virtual IP addresses allocated when a VipCp instance virtual IP addresses allocated when a VipCp instance
is created from the VipCpd."; is created from the VipCpd.";
reference reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element."; "GS NFV IFA011: Section 7.1.17.2, VipCpd information element.";
} }
leaf-list vnf-ext-cpd { leaf int-virtual-link-desc {
type leafref { type leafref {
path "../../ext-cpd/id"; path "../../int-virtual-link-desc/id";
} }
description description
"Reference to the VNF external CPD which is used to "Reference of the internal VLD which this VipCpd
instantiate external CPs. These external CPs share the connects to";
virtual IP addresses allocated when a VipCp instance is reference
created from the VipCpd."; "GS NFV IFA011: Section 7.1.17.2 VipCpd information element.";
}
leaf dedicated-ip-address {
type boolean;
description
"If set to true, it indicates that the VIP address
shall be different from the addresses allocated to
all of the VduCp instances associated to it.
If set to false, the VIP address shall be the same
as one of the VduCp instances associated to it.";
reference reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element."; "GS NFV IFA011: Section 7.1.17.2 VipCpd information element.";
} }
leaf vip-function { leaf vip-function {
...@@ -1563,16 +1651,19 @@ submodule etsi-nfv-vnf { ...@@ -1563,16 +1651,19 @@ submodule etsi-nfv-vnf {
} }
description description
"It indicates the function the virtual IP address is used "It indicates the function the virtual IP address is used
for. Permitted values: high availability, load balancing."; for.
Values:
• high availability
• load balancing.";
reference reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element."; "GS NFV IFA011: Section 7.1.17.2, VipCpd information element.";
} }
uses cpd; uses cpd;
description description
"Describes virtual IP addresses to be shared among instances "Describes virtual IP addresses to be shared among instances
of connection points. See clause 7.1.x."; of connection points. See clause 7.1.17.";
reference reference
"GS NFV IFA011: Section 7.1.2, VNFD information element."; "GS NFV IFA011: Section 7.1.2, VNFD information element.";
} }
...@@ -1651,7 +1742,7 @@ submodule etsi-nfv-vnf { ...@@ -1651,7 +1742,7 @@ submodule etsi-nfv-vnf {
path "../../affinity-or-anti-affinity-group/id"; path "../../affinity-or-anti-affinity-group/id";
} }
description description
"Identifier(s) of the affinity or anti-affinity "References of the affinity or anti-affinity
group(s) the VDU belongs to."; group(s) the VDU belongs to.";
reference reference
"GS NFV IFA011: Section 7.1.8.3, VduProfile information "GS NFV IFA011: Section 7.1.8.3, VduProfile information
...@@ -1708,7 +1799,7 @@ submodule etsi-nfv-vnf { ...@@ -1708,7 +1799,7 @@ submodule etsi-nfv-vnf {
path "../../affinity-or-anti-affinity-group/id"; path "../../affinity-or-anti-affinity-group/id";
} }
description description
"Identifier(s) of the affinity or anti-affinity "References of the affinity or anti-affinity
group(s) the VnfVirtualLinkDesc belongs to."; group(s) the VnfVirtualLinkDesc belongs to.";
reference reference
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile "GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
...@@ -1784,7 +1875,13 @@ submodule etsi-nfv-vnf { ...@@ -1784,7 +1875,13 @@ submodule etsi-nfv-vnf {
} }
description description
"One of the values of the attribute layerProtocol of "One of the values of the attribute layerProtocol of
the ConnectivityType IE."; the ConnectivityType IE
Values:
• Ethernet
• MPLS
• ODU2
• Pseudo-Wire
• etc.";
reference reference
"GS NFV IFA011: Section 7.1.8.13, "GS NFV IFA011: Section 7.1.8.13,
VirtualLinkProtocolData information element."; VirtualLinkProtocolData information element.";
...@@ -1814,7 +1911,11 @@ submodule etsi-nfv-vnf { ...@@ -1814,7 +1911,11 @@ submodule etsi-nfv-vnf {
} }
description description
"Specifies the network type for this L2 protocol. "Specifies the network type for this L2 protocol.
Possible values: FLAT, VLAN, VXLAN, GRE."; Values:
• FLAT
• VLAN
• VXLAN
• GRE.";
reference reference
"GS NFV IFA011: Section 7.1.8.14, "GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element."; L2ProtocolData information element.";
...@@ -1883,8 +1984,8 @@ submodule etsi-nfv-vnf { ...@@ -1883,8 +1984,8 @@ submodule etsi-nfv-vnf {
default "ipv4"; default "ipv4";
description description
"Specifies IP version of this L3 protocol. "Specifies IP version of this L3 protocol.
Value: Values:
• IPV4. • IPV4
• IPV6."; • IPV6.";
reference reference
"GS NFV IFA011: Section 7.1.8.15, "GS NFV IFA011: Section 7.1.8.15,
...@@ -1941,10 +2042,11 @@ submodule etsi-nfv-vnf { ...@@ -1941,10 +2042,11 @@ submodule etsi-nfv-vnf {
enum dhcpv6-stateless; enum dhcpv6-stateless;
} }
description description
"Specifies IPv6 address mode. Possible values: "Specifies IPv6 address mode.
• SLAAC. Values:
• DHCPV6-STATEFUL. • SLAAC
• DHCPV6-STATELESS. • DHCPV6-STATEFUL
• DHCPV6-STATELESS
May be present when the value of the ipVersion May be present when the value of the ipVersion
attribute is 'IPV6' and shall be absent otherwise."; attribute is 'IPV6' and shall be absent otherwise.";
reference reference
...@@ -1970,6 +2072,52 @@ submodule etsi-nfv-vnf { ...@@ -1970,6 +2072,52 @@ submodule etsi-nfv-vnf {
} }
} }
list vip-cp-profile {
key "id";
description
"Defines the minimum and maximum number of VIP CP instances
created from each of the VipCpds used in this flavour.
Shall be present if the deployment flavour can contain
VIP CP instances.";
reference
"GS NFV IFA011: Section 7.1.8.2, VnfDf information
element.";
leaf id {
type leafref {
path "../../../vip-cpd/id";
}
description
"Uniquely references a VIP CPD.";
reference
"GS NFV IFA011: Section 7.1.8.20, VipCpProfile information
element.";
}
leaf min-number-of-instances {
type uint16;
description
"Minimum number of instances of the VIP CP based on the
referenced VIP CPD that is permitted to exist for this
flavour. Shall be zero or greater.";
reference
"GS NFV IFA011: Section 7.1.8.20, VipCpProfile information
element.";
}
leaf max-number-of-instances {
type uint16;
description
"Maximum number of instances of the VIP CP based on the
referenced VIP CPD that is permitted to exist for this
flavour. Shall be greater than zero and not less than
the value of 'minNumberOfInstances'.";
reference
"GS NFV IFA011: Section 7.1.8.20, VipCpProfile information
element.";
}
}
list instantiation-level { list instantiation-level {
key "id"; key "id";
min-elements 1; min-elements 1;
...@@ -2047,6 +2195,45 @@ submodule etsi-nfv-vnf { ...@@ -2047,6 +2195,45 @@ submodule etsi-nfv-vnf {
} }
} }
list vip-cp-level {
key "id";
description
"Indicates the number of VIP CP instances based on
a particular VipCpd to be part of this level.
If a particular VipCpd is defined with
minNumberOfInstances= maxNumberOfInstances=1 in the
vipCpProfile of the DF, that vipCpd may be omitted
from the 'vipCpLevel' attribute, which shall be
interpreted that one related VIP CP instance is
part of this level.";
reference
"GS NFV IFA011: Section 7.1.8.7, InstantiationLevel information
element.";
leaf id {
type leafref {
path "../../../../vip-cpd/id";
}
description
"Uniquely references a VIP CPD.";
reference
"GS NFV IFA011: Section 7.1.10.6, VipCpLevel information
element.";
}
leaf number-of-instances {
type uint16;
description
"Number of VIP CP instances based on the referenced
VipCpd to deploy for an instantiation level or for
a scaling delta. Shall be zero or greater.";
reference
"GS NFV IFA011: Section 7.1.10.6, VipCpLevel information
element.";
}
}
list scaling-info { list scaling-info {
key "scaling-aspect-id"; key "scaling-aspect-id";
description description
...@@ -2085,10 +2272,10 @@ submodule etsi-nfv-vnf { ...@@ -2085,10 +2272,10 @@ submodule etsi-nfv-vnf {
path "../instantiation-level/id"; path "../instantiation-level/id";
} }
description description
"This attribute references the 'instantiationLevel' "References the 'instantiationLevel' entry which defines
entry which defines the default instantiation level for the default instantiation level for this DF. It shall be
this DF. It shall be present if there are multiple present if there are multiple 'instantiationLevel'
'instantiationLevel' entries."; entries.";
reference reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information "GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"; element";
...@@ -2102,7 +2289,13 @@ submodule etsi-nfv-vnf { ...@@ -2102,7 +2289,13 @@ submodule etsi-nfv-vnf {
"Indicates which operations are available for this DF via "Indicates which operations are available for this DF via
the VNF LCM interface. Instantiate VNF, Query VNF and the VNF LCM interface. Instantiate VNF, Query VNF and
Terminate VNF are supported in all DF and therefore Terminate VNF are supported in all DF and therefore
need not be included in this list."; need not be included in this list.
Values:
• Scale VNF
• Scale VNF to level
• Heal VNF
• Operate VNF
• etc.";
reference reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information "GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"; element";
...@@ -2473,7 +2666,8 @@ submodule etsi-nfv-vnf { ...@@ -2473,7 +2666,8 @@ submodule etsi-nfv-vnf {
} }
} }
container change-current-vnf-package-op-config { list change-current-vnf-package-op-config {
key "id";
description description
"Configuration parameters for the "Configuration parameters for the
ChangeCurrentVnfPackageOpConfig operation."; ChangeCurrentVnfPackageOpConfig operation.";
...@@ -2481,6 +2675,16 @@ submodule etsi-nfv-vnf { ...@@ -2481,6 +2675,16 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.2 "GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element"; VnfLcmOperationsConfiguration information element";
leaf id {
type string;
description
"Identifier of this parameter set for later referencing.";
reference
"GS NFV IFA011: Section 7.1.5.13
ChangeCurrentVnfPackageOpConfig information
element";
}
list parameter { list parameter {
key "key"; key "key";
...@@ -2535,12 +2739,15 @@ submodule etsi-nfv-vnf { ...@@ -2535,12 +2739,15 @@ submodule etsi-nfv-vnf {
AffinityOrAntiAffinityGroup information element"; AffinityOrAntiAffinityGroup information element";
} }
leaf type { leaf affinityorAntiaffinity {
mandatory true; mandatory true;
type affinity-type; type affinity-type;
description description
"Specifies the type of relationship that the members of "Specifies the type of relationship that the members of
the group have: 'affinity' or 'anti-affinity'."; the group have.
Values:
• AFFINITY
• ANTI-AFFINITY";
reference reference
"GS NFV IFA011: Section 7.1.8.12 "GS NFV IFA011: Section 7.1.8.12
AffinityOrAntiAffinityGroup information element"; AffinityOrAntiAffinityGroup information element";
...@@ -2551,8 +2758,13 @@ submodule etsi-nfv-vnf { ...@@ -2551,8 +2758,13 @@ submodule etsi-nfv-vnf {
type affinity-scope; type affinity-scope;
description description
"Specifies the scope of the affinity or anti-affinity "Specifies the scope of the affinity or anti-affinity
relationship. Possible values are 'NFVI-PoP', 'Zone', relationship.
'ZoneGroup', 'NFVI-node' and 'network-link-and-node'."; Values:
• NFVI-PoP
• Zone
• ZoneGroup
• NFVI-node
• network-link-and-node";
reference reference
"GS NFV IFA011: Section 7.1.8.12 "GS NFV IFA011: Section 7.1.8.12
AffinityOrAntiAffinityGroup information element"; AffinityOrAntiAffinityGroup information element";
...@@ -2597,11 +2809,11 @@ submodule etsi-nfv-vnf { ...@@ -2597,11 +2809,11 @@ submodule etsi-nfv-vnf {
enum both; enum both;
} }
description description
"Describe the source of the indicator. The possible "Describe the source of the indicator.
values are: Values:
• VNF. • VNF
• EM. • EM
• Both. • Both
This tells the consumer where to send the subscription This tells the consumer where to send the subscription
request."; request.";
...@@ -2628,11 +2840,11 @@ submodule etsi-nfv-vnf { ...@@ -2628,11 +2840,11 @@ submodule etsi-nfv-vnf {
enum vnf-lcm-coordination; enum vnf-lcm-coordination;
} }
description description
"Identifies an interface produced by the VNF. Valid "Identifies an interface produced by the VNF.
values: Values:
- VNF_CONFIGURATION VNF_CONFIGURATION
- VNF_INDICATOR VNF_INDICATOR
- VNF_LCM_COORDINATION"; VNF_LCM_COORDINATION";
reference reference
"GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
information element"; information element";
...@@ -2672,6 +2884,68 @@ submodule etsi-nfv-vnf { ...@@ -2672,6 +2884,68 @@ submodule etsi-nfv-vnf {
element"; element";
} }
list supported-coordination-actions {
key "vnf-lcm-operation";
description
"References applicable LCM coordination actions
that can be invoked during each of the listed
VNF LCM operations.";
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element";
leaf vnf-lcm-operation {
type enumeration {
enum "instantiate";
enum "scale";
enum "scale_to_level";
enum "change_flavour";
enum "terminate";
enum "heal";
enum "operate";
enum "change_ext_conn";
enum "modify_info";
enum "create_snapshot";
enum "revert_to_snapshot";
}
description
"Identifies the specific VNF LCM operation.
Values:
• INSTANTIATE
• SCALE
• SCALE_TO_LEVEL
• CHANGE_FLAVOUR
• TERMINATE
• HEAL
• OPERATE
• CHANGE_EXT_CONN
• MODIFY_INFO
• CREATE_SNAPSHOT
• REVERT_TO_SNAPSHOT.";
reference
"GS NFV IFA011: Section 7.1.16.3 LcmCoordinationActionMapping
information element";
}
leaf coordination-action-name {
type leafref {
path "../../../lcm-operations-coordination/coordination-action-name";
}
description
"References to the names of coordination actions that can be
invoked during the LCM operation indicated by the
'vnfLcmOperation' attribute.
The related coordination actions shall either be declared
in the VnfLcmOperationCoordination information element
in the same VNFD, or shall be well-known standardized
coordination action name identifiers.";
reference
"GS NFV IFA011: Section 7.1.16.3 LcmCoordinationActionMapping
information element";
}
}
list monitoring-parameter { list monitoring-parameter {
key "id"; key "id";
...@@ -2846,6 +3120,38 @@ submodule etsi-nfv-vnf { ...@@ -2846,6 +3120,38 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.10.4 ScalingDelta "GS NFV IFA011: Section 7.1.10.4 ScalingDelta
information element"; information element";
} }
list vip-cp-delta {
key "id";
description
"Number of VIP CP instances based on a particular
VipCpd to be created or removed.";
reference
"GS NFV IFA011: Section 7.1.10.4, ScalingDelta information
element.";
leaf id {
type leafref {
path "../../../../../../vip-cpd/id";
}
description
"Uniquely references a VIP CPD.";
reference
"GS NFV IFA011: Section 7.1.10.6, VipCpLevel information
element.";
}
leaf number-of-instances {
type uint16;
description
"Number of VIP CP instances based on the referenced
VipCpd to deploy for an instantiation level or for
a scaling delta. Shall be zero or greater.";
reference
"GS NFV IFA011: Section 7.1.10.6, VipCpLevel information
element.";
}
}
description description
"Declares different scaling deltas, each of which is "Declares different scaling deltas, each of which is
applied for one or more scaling steps of this applied for one or more scaling steps of this
...@@ -2890,6 +3196,44 @@ submodule etsi-nfv-vnf { ...@@ -2890,6 +3196,44 @@ submodule etsi-nfv-vnf {
information element"; information element";
} }
} }
list dependencies {
key "id";
description
"Specifies the order in which instances of the VNFCs
have to be created.";
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information element";
leaf id {
type string;
}
leaf primary-id {
type leafref {
path "../../vdu-profile/id";
}
description
"References a VduProfile for describing dependencies
between VNFCs in terms of primary entities.";
reference
"GS NFV IFA011: Section 7.1.8.19 Dependencies
information element";
}
leaf secondary-id {
type leafref {
path "../../vdu-profile/id";
}
description
"References a VduProfile for describing dependencies
between VNFCs in terms of secondary entities.";
reference
"GS NFV IFA011: Section 7.1.8.19 Dependencies
information element";
}
}
} }
container configurable-properties { container configurable-properties {
...@@ -3407,7 +3751,7 @@ submodule etsi-nfv-vnf { ...@@ -3407,7 +3751,7 @@ submodule etsi-nfv-vnf {
leaf additional-params-id { leaf additional-params-id {
type leafref { type leafref {
path "../../df/lcm-operations-configuration/" + path "../../df/lcm-operations-configuration/" +
"change-current-vnf-package-op-config/parameter/key"; "change-current-vnf-package-op-config/id";
} }
description description
"References the ChangeCurrentVnfPackageOpConfig information "References the ChangeCurrentVnfPackageOpConfig information
...@@ -3429,12 +3773,12 @@ submodule etsi-nfv-vnf { ...@@ -3429,12 +3773,12 @@ submodule etsi-nfv-vnf {
description description
"When present, it specifies the type of modification "When present, it specifies the type of modification
resulting from transitioning from srcVnfdId to dstVnfdId. resulting from transitioning from srcVnfdId to dstVnfdId.
The possible values include at least: Values:
UP - indicating that the destination VNF version is newer • UP:indicating that the destination VNF version is newer
than the source version, than the source version,
DOWN - indicating that the destination VNF version is DOWN:indicating that the destination VNF version is
older than the source version. older than the source version.
When provided, UP and DOWN values shall always be When provided, UP and DOWN values shall always be
supported as the first value. In addition, a vendor may supported as the first value. In addition, a vendor may
...@@ -3523,13 +3867,14 @@ submodule etsi-nfv-vnf { ...@@ -3523,13 +3867,14 @@ submodule etsi-nfv-vnf {
information element"; information element";
} }
leaf coordination-id { leaf coordination-action-name {
type leafref { type leafref {
path "../../lcm-operations-coordination/id"; path "../../lcm-operations-coordination/coordination-action-name";
} }
description description
"Reference to applicable VNF LCM operation coordination "Reference to applicable VNF LCM operation coordination actions
actions."; that can be invoked during a VNF package change as defined by
the 'selector' attribute.";
reference reference
"GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo
information element"; information element";
...@@ -3558,13 +3903,13 @@ submodule etsi-nfv-vnf { ...@@ -3558,13 +3903,13 @@ submodule etsi-nfv-vnf {
} }
list lcm-operations-coordination { list lcm-operations-coordination {
key "id"; key "coordination-action-name";
leaf id { leaf coordination-action-name {
type string; type string;
description description
"Identifies the specific VNF LCM operation coordination "Identifies the specific VNF LCM operation coordination
action."; action.Shall be unique within the scope of VNFD";
reference reference
"GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination
information element"; information element";
...@@ -3588,9 +3933,9 @@ submodule etsi-nfv-vnf { ...@@ -3588,9 +3933,9 @@ submodule etsi-nfv-vnf {
"Specifies the type of the endpoint exposing the LCM "Specifies the type of the endpoint exposing the LCM
operation coordination such as other operations supporting operation coordination such as other operations supporting
or management systems (e.g. an EM) or the VNF instance. or management systems (e.g. an EM) or the VNF instance.
Allowed values: Values:
• MGMT: coordination with other operation supporting • MGMT: coordination with other operation supporting
management systems. management systems
• VNF: coordination with the VNF instance."; • VNF: coordination with the VNF instance.";
reference reference
"GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination
...@@ -3598,24 +3943,67 @@ submodule etsi-nfv-vnf { ...@@ -3598,24 +3943,67 @@ submodule etsi-nfv-vnf {
} }
leaf coordination-stage { leaf coordination-stage {
type string; type enumeration {
enum "start";
enum "end";
}
description
"Indicates whether the coordination action is invoked before
or after all other changes performed by the VNF LCM
operation.
Values:
• START:the coordination action is invoked after receiving
the grant and before the LCM operation performs any
other changes.
• END:the coordination action is invoked after the LCM
operation has performed all other changes.
This attribute shall be omitted if the coordination action
is intended to be invoked at an intermediate stage of the
LCM operation, i.e. neither at the start nor at the end.
In this case, the actual instant during the LCM operation
when invoking the coordination is determined by means outside
the scope of the present document such as VNFM-internal logic
or LCM script.";
reference
"GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination
information element";
}
list input-parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description description
"Indicates the coordination stage during the VNF LCM "Input parameter needed by the external coordinating
operation."; entity.";
reference reference
"GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination
information element"; information element";
} }
leaf coordination-params { list output-parameter {
type string; key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description description
"Input information needed by the external coordinating "Output parameter provided by the external coordinating
entity."; entity.";
reference reference
"GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination
information element"; information element";
} }
description description
"Provides information used for the coordination in VNF LCM "Provides information used for the coordination in VNF LCM
operations."; operations.";
......