Loading example-data/complex-vnfd.xml +4 −8 Original line number Original line Diff line number Diff line Loading @@ -78,11 +78,11 @@ <num-virtual-cpu>16</num-virtual-cpu> <num-virtual-cpu>16</num-virtual-cpu> </virtual-cpu> </virtual-cpu> </virtual-compute-desc> </virtual-compute-desc> <virtual-storage-descriptor> <virtual-storage-desc> <id>root</id> <id>root</id> <type-of-storage>root-storage</type-of-storage> <type-of-storage>root-storage</type-of-storage> <size-of-storage>10</size-of-storage> <size-of-storage>10</size-of-storage> </virtual-storage-descriptor> </virtual-storage-desc> <sw-image-desc> <sw-image-desc> <id>CP</id> <id>CP</id> <name>CP</name> <name>CP</name> Loading Loading @@ -116,17 +116,13 @@ <int-virtual-link-desc> <int-virtual-link-desc> <id>internal-vl</id> <id>internal-vl</id> <connectivity-type> <connectivity-type> <layer-protocol> <layer-protocol>ipv4</layer-protocol> <protocol>ipv4</protocol> </layer-protocol> </connectivity-type> </connectivity-type> </int-virtual-link-desc> </int-virtual-link-desc> <int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <id>mgmt</id> <connectivity-type> <connectivity-type> <layer-protocol> <layer-protocol>ipv4</layer-protocol> <protocol>ipv4</protocol> </layer-protocol> </connectivity-type> </connectivity-type> </int-virtual-link-desc> </int-virtual-link-desc> <ext-cpd> <ext-cpd> Loading example-data/nfv-nsd.xml +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ </checksum> </checksum> <container-format>bare</container-format> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format> <min-disk>1</min-disk> <min-ram>2.0</min-ram> <min-ram>2.0</min-ram> <size>1</size> <size>1</size> <image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image> Loading example-data/nfv-vnfd.xml +1 −0 Original line number Original line Diff line number Diff line Loading @@ -48,6 +48,7 @@ </checksum> </checksum> <container-format>bare</container-format> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format> <min-disk>1</min-disk> <min-ram>2.0</min-ram> <min-ram>2.0</min-ram> <size>1</size> <size>1</size> <image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image> Loading src/yang/etsi-nfv-common.yang +37 −0 Original line number Original line Diff line number Diff line Loading @@ -243,6 +243,43 @@ submodule etsi-nfv-common { "Ephemeral type of storage."; "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."; } /* /* * Typedefs * Typedefs */ */ Loading src/yang/etsi-nfv-ns.yang +156 −161 Original line number Original line Diff line number Diff line Loading @@ -415,21 +415,71 @@ submodule etsi-nfv-ns { element"; element"; } } list cpd-pool { leaf-list nfp-position-element-id { type leafref { path "../nfpd/position-desc/element/id"; } description "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.2.2 Vnffgd information element"; } list nfpd { key "id"; key "id"; leaf id { type string; description description "Describes a pool of descriptors of connection points "Identifies this nfpd information element within a attached to one of the constituent VNFs and PNFs and/or VNFFGD."; one of the SAPs of the parent NS or of a nested NS."; reference reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; element"; } leaf rule { 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."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } list position-desc { key "id"; leaf id { leaf id { type string; type string; description "Identifier of this NfpPositionDesc element."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } } list element { key "id"; 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 { choice constituent-base-element-id { mandatory "true"; mandatory "true"; container vnf-profile { container vnf-profile { Loading @@ -437,7 +487,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { must ". = deref(../../vnfd-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/vnf-profile/id"; path "../../../../../../../../nsd/df/vnf-profile/id"; } } } } } } Loading @@ -446,7 +496,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { must ". = deref(../../pnfd-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/pnf-profile/id"; path "../../../../../../../../nsd/df/pnf-profile/id"; } } } } } } Loading @@ -455,15 +505,15 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { must ". = deref(../../ns-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/ns-profile/id"; path "../../../../../../../../nsd/df/ns-profile/id"; } } } } } } description description "Reference to the profile of an NS constituent."; "Reference to the profile of an NS constituent."; reference reference "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement "GS NFV IFA014: Section 6.4.8 information element"; CpdInConstituentElement information element"; } } choice constituent-cpd-id { choice constituent-cpd-id { Loading @@ -472,7 +522,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } } type leafref { type leafref { path "../../../../../vnfd/id"; path "../../../../../../../../vnfd/id"; } } } } leaf cpd-id { leaf cpd-id { Loading @@ -486,7 +536,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } } type leafref { type leafref { path "../../../../../pnfd/id"; path "../../../../../../../../pnfd/id"; } } } } leaf pnf-cpd-id { leaf pnf-cpd-id { Loading @@ -502,7 +552,7 @@ submodule etsi-nfv-ns { } } type leafref { type leafref { path "../../../../../nsd/id"; path "../../../../../../../../nsd/id"; } } } } leaf sap-cpd-id { leaf sap-cpd-id { Loading @@ -512,130 +562,75 @@ submodule etsi-nfv-ns { } } } } description description "A reference to the descriptor of a connection point "References the VNF external CPD for a given attached to one of the constituent VNFs and PNFs or to VnfProfile, or the PNF external CPD for a given the descriptor of a NS SAP."; PnfProfile, or a NS SAPD for a given NsProfile reference identified by the constituentBaseElementId."; "GS NFV IFA014: Section 6.4.4.2 CpdPool 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 "Identifies this nfpd information element within a VNFFGD."; reference reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information "GS NFV IFA014: Section 6.4.8.2 element"; CpdInConstituentElement information element"; } } leaf rule { type string; description description "Provides an NFP classification and selection rule. "Identifies a CPD or SAPD in the context of a profile The rule may be expressed as a criteria constructed of an NS constituent element."; out of atomic assertions linked by Boolean operators AND, OR and NOT."; reference reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement element"; information element"; } } list position-desc-id { key "id"; description description "Describes a position in the NFP in terms of one or "One or a pair of CPDs or SAPDs. These descriptors more CP profiles and rules for distributing the shall be members of the CpdPool associated to the traffic among CP and SAP instances created from the parent VNFFG."; 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 "Identifier of this NfpPositionDesc element."; reference reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } } list cp-profile-id { leaf forwarding-behaviour { key "id"; type identityref { base forwarding-behaviour; } description description "References the profile of a connection point to be "Identifies a rule to apply to forward traffic to CP or traversed by the traffic flows matching the criteria. SAP instances corresponding to the referenced CPD(s) This shall be a connection point attached to one of and SAPD(s). The minimum list of rules to be supported the constituent VNFs and PNFs of the parent VNFFG, shall include: or a SAP of one of the constituent nested NSs of the • ALL = Traffic flows shall be forwarded simultaneously parent VNFFG."; 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 reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } leaf id { leaf forwarding-behavior-input-parameters { type string; type string; description description "Identifier of this CpProfile information element. "Provides input parameters to configure the forwarding It uniquely identifies a CpProfile."; behaviour (e.g. identifies a load balancing algorithm)."; reference reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } } list constituent-profile-elements { key "id"; description "Specifies the constituents of the CpProfile."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile information element"; leaf id { type string; description 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 reference "GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.3.2 Nfpd information ConstituentProfileElements information element"; element"; } } leaf cpd-id { type string; description description "References the VNF external CPD for a given "The network forwarding path associated to the VNFFG."; VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a give NsProfile identified by the constituentBasedElementId."; reference reference "GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.2.2 Vnffgd information ConstituentProfileElements information element"; element"; } } } } } } } } Loading Loading
example-data/complex-vnfd.xml +4 −8 Original line number Original line Diff line number Diff line Loading @@ -78,11 +78,11 @@ <num-virtual-cpu>16</num-virtual-cpu> <num-virtual-cpu>16</num-virtual-cpu> </virtual-cpu> </virtual-cpu> </virtual-compute-desc> </virtual-compute-desc> <virtual-storage-descriptor> <virtual-storage-desc> <id>root</id> <id>root</id> <type-of-storage>root-storage</type-of-storage> <type-of-storage>root-storage</type-of-storage> <size-of-storage>10</size-of-storage> <size-of-storage>10</size-of-storage> </virtual-storage-descriptor> </virtual-storage-desc> <sw-image-desc> <sw-image-desc> <id>CP</id> <id>CP</id> <name>CP</name> <name>CP</name> Loading Loading @@ -116,17 +116,13 @@ <int-virtual-link-desc> <int-virtual-link-desc> <id>internal-vl</id> <id>internal-vl</id> <connectivity-type> <connectivity-type> <layer-protocol> <layer-protocol>ipv4</layer-protocol> <protocol>ipv4</protocol> </layer-protocol> </connectivity-type> </connectivity-type> </int-virtual-link-desc> </int-virtual-link-desc> <int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <id>mgmt</id> <connectivity-type> <connectivity-type> <layer-protocol> <layer-protocol>ipv4</layer-protocol> <protocol>ipv4</protocol> </layer-protocol> </connectivity-type> </connectivity-type> </int-virtual-link-desc> </int-virtual-link-desc> <ext-cpd> <ext-cpd> Loading
example-data/nfv-nsd.xml +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ </checksum> </checksum> <container-format>bare</container-format> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format> <min-disk>1</min-disk> <min-ram>2.0</min-ram> <min-ram>2.0</min-ram> <size>1</size> <size>1</size> <image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image> Loading
example-data/nfv-vnfd.xml +1 −0 Original line number Original line Diff line number Diff line Loading @@ -48,6 +48,7 @@ </checksum> </checksum> <container-format>bare</container-format> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format> <min-disk>1</min-disk> <min-ram>2.0</min-ram> <min-ram>2.0</min-ram> <size>1</size> <size>1</size> <image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image> Loading
src/yang/etsi-nfv-common.yang +37 −0 Original line number Original line Diff line number Diff line Loading @@ -243,6 +243,43 @@ submodule etsi-nfv-common { "Ephemeral type of storage."; "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."; } /* /* * Typedefs * Typedefs */ */ Loading
src/yang/etsi-nfv-ns.yang +156 −161 Original line number Original line Diff line number Diff line Loading @@ -415,21 +415,71 @@ submodule etsi-nfv-ns { element"; element"; } } list cpd-pool { leaf-list nfp-position-element-id { type leafref { path "../nfpd/position-desc/element/id"; } description "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.2.2 Vnffgd information element"; } list nfpd { key "id"; key "id"; leaf id { type string; description description "Describes a pool of descriptors of connection points "Identifies this nfpd information element within a attached to one of the constituent VNFs and PNFs and/or VNFFGD."; one of the SAPs of the parent NS or of a nested NS."; reference reference "GS NFV IFA014: Section 6.4.2.2 Vnffgd information "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; element"; } leaf rule { 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."; reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; } list position-desc { key "id"; leaf id { leaf id { type string; type string; description "Identifier of this NfpPositionDesc element."; reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; } } list element { key "id"; 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 { choice constituent-base-element-id { mandatory "true"; mandatory "true"; container vnf-profile { container vnf-profile { Loading @@ -437,7 +487,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { must ". = deref(../../vnfd-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/vnf-profile/id"; path "../../../../../../../../nsd/df/vnf-profile/id"; } } } } } } Loading @@ -446,7 +496,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { must ". = deref(../../pnfd-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/pnf-profile/id"; path "../../../../../../../../nsd/df/pnf-profile/id"; } } } } } } Loading @@ -455,15 +505,15 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { must ". = deref(../../ns-profile-id)" { } } type leafref { type leafref { path "../../../../../nsd/df/ns-profile/id"; path "../../../../../../../../nsd/df/ns-profile/id"; } } } } } } description description "Reference to the profile of an NS constituent."; "Reference to the profile of an NS constituent."; reference reference "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement "GS NFV IFA014: Section 6.4.8 information element"; CpdInConstituentElement information element"; } } choice constituent-cpd-id { choice constituent-cpd-id { Loading @@ -472,7 +522,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } } type leafref { type leafref { path "../../../../../vnfd/id"; path "../../../../../../../../vnfd/id"; } } } } leaf cpd-id { leaf cpd-id { Loading @@ -486,7 +536,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } } type leafref { type leafref { path "../../../../../pnfd/id"; path "../../../../../../../../pnfd/id"; } } } } leaf pnf-cpd-id { leaf pnf-cpd-id { Loading @@ -502,7 +552,7 @@ submodule etsi-nfv-ns { } } type leafref { type leafref { path "../../../../../nsd/id"; path "../../../../../../../../nsd/id"; } } } } leaf sap-cpd-id { leaf sap-cpd-id { Loading @@ -512,130 +562,75 @@ submodule etsi-nfv-ns { } } } } description description "A reference to the descriptor of a connection point "References the VNF external CPD for a given attached to one of the constituent VNFs and PNFs or to VnfProfile, or the PNF external CPD for a given the descriptor of a NS SAP."; PnfProfile, or a NS SAPD for a given NsProfile reference identified by the constituentBaseElementId."; "GS NFV IFA014: Section 6.4.4.2 CpdPool 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 "Identifies this nfpd information element within a VNFFGD."; reference reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information "GS NFV IFA014: Section 6.4.8.2 element"; CpdInConstituentElement information element"; } } leaf rule { type string; description description "Provides an NFP classification and selection rule. "Identifies a CPD or SAPD in the context of a profile The rule may be expressed as a criteria constructed of an NS constituent element."; out of atomic assertions linked by Boolean operators AND, OR and NOT."; reference reference "GS NFV IFA014: Section 6.4.3.2 Nfpd information "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement element"; information element"; } } list position-desc-id { key "id"; description description "Describes a position in the NFP in terms of one or "One or a pair of CPDs or SAPDs. These descriptors more CP profiles and rules for distributing the shall be members of the CpdPool associated to the traffic among CP and SAP instances created from the parent VNFFG."; 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 "Identifier of this NfpPositionDesc element."; reference reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } } list cp-profile-id { leaf forwarding-behaviour { key "id"; type identityref { base forwarding-behaviour; } description description "References the profile of a connection point to be "Identifies a rule to apply to forward traffic to CP or traversed by the traffic flows matching the criteria. SAP instances corresponding to the referenced CPD(s) This shall be a connection point attached to one of and SAPD(s). The minimum list of rules to be supported the constituent VNFs and PNFs of the parent VNFFG, shall include: or a SAP of one of the constituent nested NSs of the • ALL = Traffic flows shall be forwarded simultaneously parent VNFFG."; 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 reference "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } leaf id { leaf forwarding-behavior-input-parameters { type string; type string; description description "Identifier of this CpProfile information element. "Provides input parameters to configure the forwarding It uniquely identifies a CpProfile."; behaviour (e.g. identifies a load balancing algorithm)."; reference reference "GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc information element"; information element"; } } list constituent-profile-elements { key "id"; description "Specifies the constituents of the CpProfile."; reference "GS NFV IFA014: Section 6.4.6.2 CpProfile information element"; leaf id { type string; description 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 reference "GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.3.2 Nfpd information ConstituentProfileElements information element"; element"; } } leaf cpd-id { type string; description description "References the VNF external CPD for a given "The network forwarding path associated to the VNFFG."; VnfProfile, or the PNF external CPD for a given PnfProfile, or a NS SAPD for a give NsProfile identified by the constituentBasedElementId."; reference reference "GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.2.2 Vnffgd information ConstituentProfileElements information element"; element"; } } } } } } } } Loading