Loading src/yang/etsi-nfv-common.yang +37 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,43 @@ submodule etsi-nfv-common { "Ephemeral type of storage."; } identity forwarding-behaviour { description "Base identity for forwarding behaviour."; } identity all { base forwarding-behaviour; description "Traffic flows shall be forwarded simultaneously to all CP or SAP instances created from the referenced CP profile(s)."; } identity lb { base forwarding-behaviour; description "Traffic flows shall be forwarded to one CP or SAP instance created from the referenced CP profile(s) selected based on a load-balancing algorithm."; } identity vip-function { description "Indicates the function the virtual IP address is used for."; } identity high-availability { base vip-function; description "High availability function."; } identity load-balancing { base vip-function; description "Load balancing function."; } identity vnic-type { description "Describes the type of the virtual network interface realizing Loading src/yang/etsi-nfv-ns.yang +146 −151 Original line number Diff line number Diff line Loading @@ -415,21 +415,21 @@ submodule etsi-nfv-ns { element"; } list cpd-pool { list nfp-position-element { key "id"; description "Describes a pool of descriptors of connection points attached to one of the constituent VNFs and PNFs and/or one of the SAPs of the parent NS or of a nested NS."; reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; leaf id { type string; description "Identifier of this NfpPositionElemen information element. It uniquely identifies an NfpPositionElemen."; reference "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement information element"; } container desc { choice constituent-base-element-id { mandatory "true"; container vnf-profile { Loading @@ -437,7 +437,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { } type leafref { path "../../../../../nsd/df/vnf-profile/id"; path "../../../../../../nsd/df/vnf-profile/id"; } } } Loading @@ -446,7 +446,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { } type leafref { path "../../../../../nsd/df/pnf-profile/id"; path "../../../../../../nsd/df/pnf-profile/id"; } } } Loading @@ -455,15 +455,15 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { } type leafref { path "../../../../../nsd/df/ns-profile/id"; path "../../../../../../nsd/df/ns-profile/id"; } } } description "Reference to the profile of an NS constituent."; reference "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element"; "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element"; } choice constituent-cpd-id { Loading @@ -472,7 +472,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } type leafref { path "../../../../../vnfd/id"; path "../../../../../../vnfd/id"; } } leaf cpd-id { Loading @@ -486,7 +486,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } type leafref { path "../../../../../pnfd/id"; path "../../../../../../pnfd/id"; } } leaf pnf-cpd-id { Loading @@ -502,7 +502,7 @@ submodule etsi-nfv-ns { } type leafref { path "../../../../../nsd/id"; path "../../../../../../nsd/id"; } } leaf sap-cpd-id { Loading @@ -512,24 +512,33 @@ submodule etsi-nfv-ns { } } description "A reference to the descriptor of a connection point attached to one of the constituent VNFs and PNFs or to the descriptor of a NS SAP."; "References the VNF external CPD for a given VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a given NsProfile identified by the constituentBaseElementId."; reference "GS NFV IFA014: Section 6.4.4.2 CpdPool information element"; "GS NFV IFA014: Section 6.4.8.2 CpdInConstituentElement information element"; } description "Identifies a CPD or SAPD in the context of a profile of an NS constituent element."; reference "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement information element"; } description "One or a pair of CPDs or SAPDs. These descriptors shall be members of the CpdPool associated to the parent VNFFG."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } list nfpd { key "id"; description "The network forwarding path associated to the VNFFG."; reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; leaf id { type string; description Loading @@ -544,33 +553,17 @@ submodule etsi-nfv-ns { type string; description "Provides an NFP classification and selection rule. The rule may be expressed as a criteria constructed out of atomic assertions linked by Boolean operators AND, OR and NOT."; The rule may be expressed as a criteria constructed out of atomic assertions linked by Boolean operators AND, OR and NOT."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } list position-desc-id { list position-desc { key "id"; description "Describes a position in the NFP in terms of one or more CP profiles and rules for distributing the traffic among CP and SAP instances created from the CPD or SAPD associated to these profiles. This shall be connection point profile, which is either a CPD associated with the VnfProfile of a constituent VNF, or a CPD associated with the PnfProfile of a constituent PNF, or a SAPD associated with the NsProfile of a nested NS. The related VnfProfile, PnfProfile and NsProfile shall be included in the parent VNFFGD."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; leaf id { type string; description Loading @@ -580,62 +573,64 @@ submodule etsi-nfv-ns { information element"; } list cp-profile-id { key "id"; leaf-list nfp-position-element-id { type leafref { path "../../../nfp-position-element/id"; } description "References the profile of a connection point to be traversed by the traffic flows matching the criteria. This shall be a connection point attached to one of the constituent VNFs and PNFs of the parent VNFFG, or a SAP of one of the constituent nested NSs of the parent VNFFG."; "References NfpPositionElement associated with one of the constituent VNF Profile, PNF Profile or NS Profile of a nested NS."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; } leaf id { type string; leaf forwarding-behaviour { type identityref { base forwarding-behaviour; } description "Identifier of this CpProfile information element. It uniquely identifies a CpProfile."; "Identifies a rule to apply to forward traffic to CP or SAP instances corresponding to the referenced CPD(s) and SAPD(s). The minimum list of rules to be supported shall include: • ALL = Traffic flows shall be forwarded simultaneously to all CP or SAP instances created from the referenced CP profile(s). • LB = Traffic flows shall be forwarded to one CP or SAP instance created from the referenced CP profile(s) selected based on a load-balancing algorithm."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } list constituent-profile-elements { key "id"; leaf forwarding-behavior-input-parameters { type string; description "Specifies the constituents of the CpProfile."; "Provides input parameters to configure the forwarding behaviour (e.g. identifies a load balancing algorithm)."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } leaf id { type string; description "Specifies the constituents of the CpProfile."; "Describes a position in the NFP in terms of one or more CPDs and SAPDs and rules for distributing the traffic among CP and SAP instances created from these CPDs and SAPDs."; reference "GS NFV IFA014: Section 6.4.7.2 ConstituentProfileElements information element"; "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } leaf cpd-id { type string; description "References the VNF external CPD for a given VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a give NsProfile identified by the constituentBasedElementId."; "The network forwarding path associated to the VNFFG."; reference "GS NFV IFA014: Section 6.4.7.2 ConstituentProfileElements information element"; } } } } "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; } } Loading src/yang/etsi-nfv-vnf.yang +90 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { status "deprecated"; default "false"; type boolean; description Loading Loading @@ -892,6 +893,17 @@ submodule etsi-nfv-vnf { information element."; } leaf provider { type string; description "The provider of this software image. If not present the provider of the software image is assumed to be same as the VNF provider."; reference "GS NFV IFA011: Section 7.1.6.5 SwImageDesc information element."; } container checksum { leaf algorithm { Loading Loading @@ -1259,7 +1271,23 @@ submodule etsi-nfv-vnf { } } } leaf vip-cpd { type leafref { path "../../vip-cpd/id"; } description "Reference to the VIP CPD which is used to instantiate CPs to hold virtual IP addresses. These CPs are, in turn, exposed as external CPs defined by this external CPD. One and only one of the following attributes shall be present: intVirtualLinkDesc or intCpd or vipCpd ."; reference "GS NFV-IFA011: Section 7.1.3.2, VnfExtCpd information element"; } } uses virtual-network-interface-requirements; leaf nicio-requirements { Loading Loading @@ -1291,6 +1319,55 @@ submodule etsi-nfv-vnf { } } list vip-cpd { key "id"; leaf-list int-cpd { type leafref { path "../../vdu/int-cpd/int-virtual-link-desc"; } description "Reference to the internal VDU CPD which is used to instantiate internal CPs. These internal CPs share the virtual IP addresses allocated when a VipCp instance is created from the VipCpd."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } leaf-list vnf-ext-cpd { type leafref { path "../../ext-cpd/id"; } description "Reference to the VNF external CPD which is used to instantiate external CPs. These external CPs share the virtual IP addresses allocated when a VipCp instance is created from the VipCpd."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } leaf vip-function { type identityref { base vip-function; } description "It indicates the function the virtual IP address is used for. Permitted values: high availability, load balancing."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } uses cpd; description "Describes virtual IP addresses to be shared among instances of connection points. See clause 7.1.x."; reference "GS NFV IFA011: Section 7.1.2, VNFD information element."; } list df { must "default-instantiation-level or " + "count(instantiation-level) = 1"; Loading Loading @@ -1556,6 +1633,19 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.8.14, 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 IFA011: Section 7.1.8.14, L2ProtocolData information element."; } description "Specifies the L2 protocol data for this virtual link. Shall be present when the associatedLayerProtocol Loading Loading
src/yang/etsi-nfv-common.yang +37 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,43 @@ submodule etsi-nfv-common { "Ephemeral type of storage."; } identity forwarding-behaviour { description "Base identity for forwarding behaviour."; } identity all { base forwarding-behaviour; description "Traffic flows shall be forwarded simultaneously to all CP or SAP instances created from the referenced CP profile(s)."; } identity lb { base forwarding-behaviour; description "Traffic flows shall be forwarded to one CP or SAP instance created from the referenced CP profile(s) selected based on a load-balancing algorithm."; } identity vip-function { description "Indicates the function the virtual IP address is used for."; } identity high-availability { base vip-function; description "High availability function."; } identity load-balancing { base vip-function; description "Load balancing function."; } identity vnic-type { description "Describes the type of the virtual network interface realizing Loading
src/yang/etsi-nfv-ns.yang +146 −151 Original line number Diff line number Diff line Loading @@ -415,21 +415,21 @@ submodule etsi-nfv-ns { element"; } list cpd-pool { list nfp-position-element { key "id"; description "Describes a pool of descriptors of connection points attached to one of the constituent VNFs and PNFs and/or one of the SAPs of the parent NS or of a nested NS."; reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; leaf id { type string; description "Identifier of this NfpPositionElemen information element. It uniquely identifies an NfpPositionElemen."; reference "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement information element"; } container desc { choice constituent-base-element-id { mandatory "true"; container vnf-profile { Loading @@ -437,7 +437,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { } type leafref { path "../../../../../nsd/df/vnf-profile/id"; path "../../../../../../nsd/df/vnf-profile/id"; } } } Loading @@ -446,7 +446,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { } type leafref { path "../../../../../nsd/df/pnf-profile/id"; path "../../../../../../nsd/df/pnf-profile/id"; } } } Loading @@ -455,15 +455,15 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { } type leafref { path "../../../../../nsd/df/ns-profile/id"; path "../../../../../../nsd/df/ns-profile/id"; } } } description "Reference to the profile of an NS constituent."; reference "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element"; "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element"; } choice constituent-cpd-id { Loading @@ -472,7 +472,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } type leafref { path "../../../../../vnfd/id"; path "../../../../../../vnfd/id"; } } leaf cpd-id { Loading @@ -486,7 +486,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } type leafref { path "../../../../../pnfd/id"; path "../../../../../../pnfd/id"; } } leaf pnf-cpd-id { Loading @@ -502,7 +502,7 @@ submodule etsi-nfv-ns { } type leafref { path "../../../../../nsd/id"; path "../../../../../../nsd/id"; } } leaf sap-cpd-id { Loading @@ -512,24 +512,33 @@ submodule etsi-nfv-ns { } } description "A reference to the descriptor of a connection point attached to one of the constituent VNFs and PNFs or to the descriptor of a NS SAP."; "References the VNF external CPD for a given VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a given NsProfile identified by the constituentBaseElementId."; reference "GS NFV IFA014: Section 6.4.4.2 CpdPool information element"; "GS NFV IFA014: Section 6.4.8.2 CpdInConstituentElement information element"; } description "Identifies a CPD or SAPD in the context of a profile of an NS constituent element."; reference "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement information element"; } description "One or a pair of CPDs or SAPDs. These descriptors shall be members of the CpdPool associated to the parent VNFFG."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } list nfpd { key "id"; description "The network forwarding path associated to the VNFFG."; reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; leaf id { type string; description Loading @@ -544,33 +553,17 @@ submodule etsi-nfv-ns { type string; description "Provides an NFP classification and selection rule. The rule may be expressed as a criteria constructed out of atomic assertions linked by Boolean operators AND, OR and NOT."; The rule may be expressed as a criteria constructed out of atomic assertions linked by Boolean operators AND, OR and NOT."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } list position-desc-id { list position-desc { key "id"; description "Describes a position in the NFP in terms of one or more CP profiles and rules for distributing the traffic among CP and SAP instances created from the CPD or SAPD associated to these profiles. This shall be connection point profile, which is either a CPD associated with the VnfProfile of a constituent VNF, or a CPD associated with the PnfProfile of a constituent PNF, or a SAPD associated with the NsProfile of a nested NS. The related VnfProfile, PnfProfile and NsProfile shall be included in the parent VNFFGD."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; leaf id { type string; description Loading @@ -580,62 +573,64 @@ submodule etsi-nfv-ns { information element"; } list cp-profile-id { key "id"; leaf-list nfp-position-element-id { type leafref { path "../../../nfp-position-element/id"; } description "References the profile of a connection point to be traversed by the traffic flows matching the criteria. This shall be a connection point attached to one of the constituent VNFs and PNFs of the parent VNFFG, or a SAP of one of the constituent nested NSs of the parent VNFFG."; "References NfpPositionElement associated with one of the constituent VNF Profile, PNF Profile or NS Profile of a nested NS."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; } leaf id { type string; leaf forwarding-behaviour { type identityref { base forwarding-behaviour; } description "Identifier of this CpProfile information element. It uniquely identifies a CpProfile."; "Identifies a rule to apply to forward traffic to CP or SAP instances corresponding to the referenced CPD(s) and SAPD(s). The minimum list of rules to be supported shall include: • ALL = Traffic flows shall be forwarded simultaneously to all CP or SAP instances created from the referenced CP profile(s). • LB = Traffic flows shall be forwarded to one CP or SAP instance created from the referenced CP profile(s) selected based on a load-balancing algorithm."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } list constituent-profile-elements { key "id"; leaf forwarding-behavior-input-parameters { type string; description "Specifies the constituents of the CpProfile."; "Provides input parameters to configure the forwarding behaviour (e.g. identifies a load balancing algorithm)."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } leaf id { type string; description "Specifies the constituents of the CpProfile."; "Describes a position in the NFP in terms of one or more CPDs and SAPDs and rules for distributing the traffic among CP and SAP instances created from these CPDs and SAPDs."; reference "GS NFV IFA014: Section 6.4.7.2 ConstituentProfileElements information element"; "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } leaf cpd-id { type string; description "References the VNF external CPD for a given VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a give NsProfile identified by the constituentBasedElementId."; "The network forwarding path associated to the VNFFG."; reference "GS NFV IFA014: Section 6.4.7.2 ConstituentProfileElements information element"; } } } } "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; } } Loading
src/yang/etsi-nfv-vnf.yang +90 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { status "deprecated"; default "false"; type boolean; description Loading Loading @@ -892,6 +893,17 @@ submodule etsi-nfv-vnf { information element."; } leaf provider { type string; description "The provider of this software image. If not present the provider of the software image is assumed to be same as the VNF provider."; reference "GS NFV IFA011: Section 7.1.6.5 SwImageDesc information element."; } container checksum { leaf algorithm { Loading Loading @@ -1259,7 +1271,23 @@ submodule etsi-nfv-vnf { } } } leaf vip-cpd { type leafref { path "../../vip-cpd/id"; } description "Reference to the VIP CPD which is used to instantiate CPs to hold virtual IP addresses. These CPs are, in turn, exposed as external CPs defined by this external CPD. One and only one of the following attributes shall be present: intVirtualLinkDesc or intCpd or vipCpd ."; reference "GS NFV-IFA011: Section 7.1.3.2, VnfExtCpd information element"; } } uses virtual-network-interface-requirements; leaf nicio-requirements { Loading Loading @@ -1291,6 +1319,55 @@ submodule etsi-nfv-vnf { } } list vip-cpd { key "id"; leaf-list int-cpd { type leafref { path "../../vdu/int-cpd/int-virtual-link-desc"; } description "Reference to the internal VDU CPD which is used to instantiate internal CPs. These internal CPs share the virtual IP addresses allocated when a VipCp instance is created from the VipCpd."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } leaf-list vnf-ext-cpd { type leafref { path "../../ext-cpd/id"; } description "Reference to the VNF external CPD which is used to instantiate external CPs. These external CPs share the virtual IP addresses allocated when a VipCp instance is created from the VipCpd."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } leaf vip-function { type identityref { base vip-function; } description "It indicates the function the virtual IP address is used for. Permitted values: high availability, load balancing."; reference "GS NFV IFA011: Section 7.1.x, VipCpd information element."; } uses cpd; description "Describes virtual IP addresses to be shared among instances of connection points. See clause 7.1.x."; reference "GS NFV IFA011: Section 7.1.2, VNFD information element."; } list df { must "default-instantiation-level or " + "count(instantiation-level) = 1"; Loading Loading @@ -1556,6 +1633,19 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.8.14, 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 IFA011: Section 7.1.8.14, L2ProtocolData information element."; } description "Specifies the L2 protocol data for this virtual link. Shall be present when the associatedLayerProtocol Loading