Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
SOL006
Commits
c1f567b3
Commit
c1f567b3
authored
May 31, 2019
by
Mahesh Jethanandani
Browse files
Getting SOL006 ready for 2.7.1
parent
fb9620e7
Pipeline
#1090
passed with stage
in 0 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/complex-vnfd.xml
View file @
c1f567b3
...
...
@@ -78,11 +78,11 @@
<num-virtual-cpu>
16
</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-desc>
<virtual-storage-desc
riptor
>
<virtual-storage-desc>
<id>
root
</id>
<type-of-storage>
root-storage
</type-of-storage>
<size-of-storage>
10
</size-of-storage>
</virtual-storage-desc
riptor
>
</virtual-storage-desc>
<sw-image-desc>
<id>
CP
</id>
<name>
CP
</name>
...
...
@@ -116,17 +116,13 @@
<int-virtual-link-desc>
<id>
internal-vl
</id>
<connectivity-type>
<layer-protocol>
<protocol>
ipv4
</protocol>
</layer-protocol>
<layer-protocol>
ipv4
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<int-virtual-link-desc>
<id>
mgmt
</id>
<connectivity-type>
<layer-protocol>
<protocol>
ipv4
</protocol>
</layer-protocol>
<layer-protocol>
ipv4
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<ext-cpd>
...
...
example-data/nfv-nsd.xml
View file @
c1f567b3
...
...
@@ -49,6 +49,7 @@
</checksum>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<min-disk>
1
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.cisco.com/asa.qcow2
</image>
...
...
example-data/nfv-vnfd.xml
View file @
c1f567b3
...
...
@@ -48,6 +48,7 @@
</checksum>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<min-disk>
1
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.cisco.com/asa.qcow2
</image>
...
...
src/yang/etsi-nfv-common.yang
View file @
c1f567b3
...
...
@@ -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."
;
}
/*
* Typedefs
*/
...
...
src/yang/etsi-nfv-ns.yang
View file @
c1f567b3
...
...
@@ -415,121 +415,22 @@ submodule etsi-nfv-ns {
element"
;
}
list
cpd-pool
{
key
"id"
;
leaf-list
nfp-position-element-id
{
type
leafref
{
path
"../nfpd/position-desc/element/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."
;
"
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"
;
leaf
id
{
type
string
;
}
choice
constituent-base-element-id
{
mandatory
"true"
;
container
vnf-profile
{
leaf
vnf-profile-id
{
must
". = deref(../../vnfd-profile-id)"
{
}
type
leafref
{
path
"../../../../../nsd/df/vnf-profile/id"
;
}
}
}
container
pnf-profile
{
leaf
pnf-profile-id
{
must
". = deref(../../pnfd-profile-id)"
{
}
type
leafref
{
path
"../../../../../nsd/df/pnf-profile/id"
;
}
}
}
container
ns-profile
{
leaf
ns-profile-id
{
must
". = deref(../../ns-profile-id)"
{
}
type
leafref
{
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"
;
}
choice
constituent-cpd-id
{
container
vnf
{
leaf
vnfd-id
{
must
". = deref(../../vnfd-profile-id)/../vnfd-id"
{
}
type
leafref
{
path
"../../../../../vnfd/id"
;
}
}
leaf
cpd-id
{
type
leafref
{
path
"deref(../vnfd-id)/../ext-cpd/id"
;
}
}
}
container
pnf
{
leaf
pnfd-id
{
must
". = deref(../../pnfd-profile-id)/../pnfd-id"
{
}
type
leafref
{
path
"../../../../../pnfd/id"
;
}
}
leaf
pnf-cpd-id
{
type
leafref
{
path
"deref(../pnfd-id)/../ext-cpd/id"
;
}
}
}
container
ns
{
leaf
nsd-id
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
type
leafref
{
path
"../../../../../nsd/id"
;
}
}
leaf
sap-cpd-id
{
type
leafref
{
path
"deref(../nsd-id)/../sapd/id"
;
}
}
}
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."
;
reference
"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
...
...
@@ -544,33 +445,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
...
...
@@ -580,62 +465,172 @@ submodule etsi-nfv-ns {
information element"
;
}
list
cp-profile-id
{
list
element
{
key
"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."
;
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"
;
leaf
id
{
type
string
;
description
"Identifier of this CpProfile information element.
It uniquely identifies a CpProfile."
;
"Identifier of this NfpPositionElemen information
element. It uniquely identifies an
NfpPositionElemen."
;
reference
"GS NFV IFA014: Section 6.4.6.2
CpProfile
"GS NFV IFA014: Section 6.4.6.2
NfpPositionElement
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
;
container
desc
{
choice
constituent-base-element-id
{
mandatory
"true"
;
container
vnf-profile
{
leaf
vnf-profile-id
{
must
". = deref(../../vnfd-profile-id)"
{
}
type
leafref
{
path
"../../../../../../../../nsd/df/vnf-profile/id"
;
}
}
}
container
pnf-profile
{
leaf
pnf-profile-id
{
must
". = deref(../../pnfd-profile-id)"
{
}
type
leafref
{
path
"../../../../../../../../nsd/df/pnf-profile/id"
;
}
}
}
container
ns-profile
{
leaf
ns-profile-id
{
must
". = deref(../../ns-profile-id)"
{
}
type
leafref
{
path
"../../../../../../../../nsd/df/ns-profile/id"
;
}
}
}
description
"
Specifies the constituents of
the
CpP
rofile."
;
"
Reference to
the
p
rofile
of an NS constituent
."
;
reference
"GS NFV IFA014: Section 6.4.
7.2
Constituent
Profile
Element
s
information element"
;
"GS NFV IFA014: Section 6.4.
8
CpdIn
ConstituentElement information element"
;
}
leaf
cpd-id
{
type
string
;
choice
constituent-cpd-id
{
container
vnf
{
leaf
vnfd-id
{
must
". = deref(../../vnfd-profile-id)/../vnfd-id"
{
}
type
leafref
{
path
"../../../../../../../../vnfd/id"
;
}
}
leaf
cpd-id
{
type
leafref
{
path
"deref(../vnfd-id)/../ext-cpd/id"
;
}
}
}
container
pnf
{
leaf
pnfd-id
{
must
". = deref(../../pnfd-profile-id)/../pnfd-id"
{
}
type
leafref
{
path
"../../../../../../../../pnfd/id"
;
}
}
leaf
pnf-cpd-id
{
type
leafref
{
path
"deref(../pnfd-id)/../ext-cpd/id"
;
}
}
}
container
ns
{
leaf
nsd-id
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
type
leafref
{
path
"../../../../../../../../nsd/id"
;
}
}
leaf
sap-cpd-id
{
type
leafref
{
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 a NS SAPD for a give NsProfile
identified by the constituentBase
d
ElementId."
;
PnfProfile, or a NS SAPD for a give
n
NsProfile
identified by the constituentBaseElementId."
;
reference
"GS NFV IFA014: Section 6.4.
7
.2
Constituent
Profile
Element
s
information element"
;
"GS NFV IFA014: Section 6.4.
8
.2
CpdIn
ConstituentElement 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"
;
}
leaf
forwarding-behaviour
{
type
identityref
{
base
forwarding-behaviour
;
}
description
"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.5.2 NfpPositionDesc
information element"
;
}
leaf
forwarding-behavior-input-parameters
{
type
string
;
description
"Provides input parameters to configure the forwarding
behaviour (e.g. identifies a load balancing
algorithm)."
;
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"
;
}
description
"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.3.2 Nfpd information
element"
;
}
description
"The network forwarding path associated to the VNFFG."
;
reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element"
;
}
}
...
...
src/yang/etsi-nfv-vnf.yang
View file @
c1f567b3
...
...
@@ -56,6 +56,7 @@ submodule etsi-nfv-vnf {
}
leaf
support-mandatory
{
status
"deprecated"
;
default
"false"
;
type
boolean
;
description
...
...
@@ -871,6 +872,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
{
...
...
@@ -1270,6 +1282,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"
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment