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
e9bb6972
Commit
e9bb6972
authored
Mar 07, 2019
by
jethanandani
Browse files
Merge branch 'master' into 'bug#92'
# Conflicts: # src/yang/etsi-nfv-vnf.yang
parents
3c1facd5
5a370aa1
Pipeline
#364
passed with stage
in 0 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/nfv.xml
View file @
e9bb6972
...
@@ -48,14 +48,26 @@
...
@@ -48,14 +48,26 @@
</sw-image-desc>
</sw-image-desc>
<ext-cpd>
<ext-cpd>
<id>
inside
</id>
<id>
inside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
inside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
management
</id>
<id>
management
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
outside
</id>
<id>
outside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
outside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<df>
<df>
...
@@ -131,14 +143,26 @@
...
@@ -131,14 +143,26 @@
</sw-image-desc>
</sw-image-desc>
<ext-cpd>
<ext-cpd>
<id>
left
</id>
<id>
left
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
left
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
management
</id>
<id>
management
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
right
</id>
<id>
right
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
right
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<df>
<df>
...
@@ -218,7 +242,9 @@
...
@@ -218,7 +242,9 @@
<virtual-link-desc>
<virtual-link-desc>
<id>
fw2dpi
</id>
<id>
fw2dpi
</id>
<connectivity-type>
<connectivity-type>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
<protocol>
Ethernet
</protocol>
</layer-protocol>
</connectivity-type>
</connectivity-type>
<df>
<df>
<id>
normal
</id>
<id>
normal
</id>
...
@@ -231,7 +257,9 @@
...
@@ -231,7 +257,9 @@
<virtual-link-desc>
<virtual-link-desc>
<id>
mgmt
</id>
<id>
mgmt
</id>
<connectivity-type>
<connectivity-type>
<layer-protocol>
IPv4
</layer-protocol>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
</connectivity-type>
<df>
<df>
<id>
normal
</id>
<id>
normal
</id>
...
@@ -244,7 +272,9 @@
...
@@ -244,7 +272,9 @@
<virtual-link-desc>
<virtual-link-desc>
<id>
r2fw
</id>
<id>
r2fw
</id>
<connectivity-type>
<connectivity-type>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
<protocol>
Ethernet
</protocol>
</layer-protocol>
</connectivity-type>
</connectivity-type>
<df>
<df>
<id>
normal
</id>
<id>
normal
</id>
...
@@ -467,7 +497,9 @@
...
@@ -467,7 +497,9 @@
<virtual-link-desc>
<virtual-link-desc>
<id>
r2fw
</id>
<id>
r2fw
</id>
<connectivity-type>
<connectivity-type>
<layer-protocol>
IPv4
</layer-protocol>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
</connectivity-type>
<df>
<df>
<id>
r2fw
</id>
<id>
r2fw
</id>
...
...
src/yang/etsi-nfv-common.yang
View file @
e9bb6972
...
@@ -6,13 +6,13 @@ submodule etsi-nfv-common {
...
@@ -6,13 +6,13 @@ submodule etsi-nfv-common {
description
description
"Common data types for ETSI data models."
;
"Common data types for ETSI data models."
;
revision
201
8
-0
6
-1
9
{
revision
201
9
-0
3
-1
8
{
description
description
"Initial revision
"Initial revision
Common data structures to support VNFD and NSD according to:
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed2
5
1v2
44
ETSI GS NFV-IFA 014 Ed2
6
1v2
52
ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
}
}
/*
/*
...
@@ -293,14 +293,20 @@ submodule etsi-nfv-common {
...
@@ -293,14 +293,20 @@ submodule etsi-nfv-common {
grouping
connectivity-type
{
grouping
connectivity-type
{
container
connectivity-type
{
container
connectivity-type
{
leaf
layer-protocol
{
list
layer-protocol
{
mandatory
true
;
key
"protocol"
;
type
identityref
{
base
layer-protocol
;
leaf
protocol
{
}
type
identityref
{
base
layer-protocol
;
}
}
description
description
"Identifies the protocol this VL gives access to (Ethernet,
"Identifies the protocols that the VL uses (Ethernet,
MPLS, ODU2, IPV4, IPV6, Pseudo-Wire)."
;
MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer
protocol of the VL protocol stack shall always be provided.
The lower layer protocols may be included when there are
specific requirements on these layers."
;
reference
reference
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType
information element."
;
information element."
;
...
...
src/yang/etsi-nfv-ns.yang
View file @
e9bb6972
...
@@ -11,14 +11,14 @@ submodule etsi-nfv-ns {
...
@@ -11,14 +11,14 @@ submodule etsi-nfv-ns {
description
description
"Models for NS according to ETSI GS NFV-IFA 014."
;
"Models for NS according to ETSI GS NFV-IFA 014."
;
revision
201
7
-0
1-20
{
revision
201
9
-0
3-18
{
description
description
"Initial revision
"Initial revision
Common data structure to support NSD according to:
Common data structure to support NSD according to:
ETSI GS NFV-IFA 01
1
Ed2
5
1v2
43
"
;
ETSI GS NFV-IFA 01
4
Ed2
6
1v2
52
"
;
reference
reference
"ETSI GS NFV-IFA 01
1
Ed2
5
1v2
43
"
;
"ETSI GS NFV-IFA 01
4
Ed2
6
1v2
52
"
;
}
}
grouping
resource-handle
{
grouping
resource-handle
{
...
@@ -250,6 +250,7 @@ submodule etsi-nfv-ns {
...
@@ -250,6 +250,7 @@ submodule etsi-nfv-ns {
}
}
container
qos
{
container
qos
{
presence
"VL QoS parameters"
;
description
description
"The QoS information element specifies quality of
"The QoS information element specifies quality of
service parameters applicable to a VL."
;
service parameters applicable to a VL."
;
...
@@ -492,7 +493,8 @@ submodule etsi-nfv-ns {
...
@@ -492,7 +493,8 @@ submodule etsi-nfv-ns {
}
}
container
ns
{
container
ns
{
leaf
nsd-id
{
leaf
nsd-id
{
must
". = deref(../../ns-profile-id)/../nsd-id"
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
}
type
leafref
{
type
leafref
{
...
@@ -752,7 +754,7 @@ submodule etsi-nfv-ns {
...
@@ -752,7 +754,7 @@ submodule etsi-nfv-ns {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
type
uint16
;
description
description
"Minimum number of instances of the VNF based on this
"Minimum number of instances of the VNF based on this
...
@@ -763,7 +765,7 @@ submodule etsi-nfv-ns {
...
@@ -763,7 +765,7 @@ submodule etsi-nfv-ns {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
type
uint16
;
description
description
"Maximum number of instances of the VNF based on this
"Maximum number of instances of the VNF based on this
...
@@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns {
...
@@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns {
}
}
leaf
number-of-instances
{
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
type
uint32
;
description
description
"Specifies the number of VNF instances required for
"Specifies the number of VNF instances required for
...
@@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns {
...
@@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns {
}
}
leaf
number-of-instances
{
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
type
uint32
;
description
description
"Specifies the number of nested NS instances required
"Specifies the number of nested NS instances required
...
@@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns {
...
@@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Minimum number of nested NS instances based on the
"Minimum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
referenced NSD that is permitted to exist for this
...
@@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns {
...
@@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Maximum number of nested NS instances based on the
"Maximum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
referenced NSD that is permitted to exist for this
...
...
src/yang/etsi-nfv-pnf.yang
View file @
e9bb6972
...
@@ -12,15 +12,15 @@ submodule etsi-nfv-pnf {
...
@@ -12,15 +12,15 @@ submodule etsi-nfv-pnf {
description
description
"Models for PNFD according to GS NFV-IFA 014."
;
"Models for PNFD according to GS NFV-IFA 014."
;
revision
201
8
-0
6-25
{
revision
201
9
-0
3-18
{
description
description
"Initial revision.
"Initial revision.
Common data structure to support VNFD according to:
Common data structure to support VNFD according to:
ETSI GS NFV-IFA 014 Ed2
5
1v2
44
"
;
ETSI GS NFV-IFA 014 Ed2
6
1v2
52
"
;
reference
reference
"ETSI GS NFV-IFA 014 Ed2
5
1v2
44
"
;
"ETSI GS NFV-IFA 014 Ed2
6
1v2
52
"
;
}
}
grouping
pnfd
{
grouping
pnfd
{
...
...
src/yang/etsi-nfv-vnf.yang
View file @
e9bb6972
...
@@ -16,15 +16,15 @@ submodule etsi-nfv-vnf {
...
@@ -16,15 +16,15 @@ submodule etsi-nfv-vnf {
description
description
"Models for VNFD according to GS NFV-IFA 011."
;
"Models for VNFD according to GS NFV-IFA 011."
;
revision
201
8
-0
6
-1
9
{
revision
201
9
-0
3
-1
8
{
description
description
"Initial revision.
"Initial revision.
Common data structure to support VNFD according to:
Common data structure to support VNFD according to:
VNFD according to ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
VNFD according to ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
reference
reference
"ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
"ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
}
}
grouping
virtual-network-interface-requirements
{
grouping
virtual-network-interface-requirements
{
...
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
...
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
support-mandatory
{
leaf
support-mandatory
{
mandatory
true
;
default
"false"
;
type
boolean
;
type
boolean
;
description
description
"Indicates whether fulfilling the constraint is
"Indicates whether fulfilling the constraint is
...
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
...
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
type
uint16
{
type
uint16
{
range
"1..max"
;
range
"1..max"
;
}
}
mandatory
true
;
default
1
;
description
description
"Number of virtual CPUs."
;
"Number of virtual CPUs."
;
reference
reference
...
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
...
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
enum
"swap"
;
enum
"swap"
;
enum
"ephemeral"
;
enum
"ephemeral"
;
}
}
mandatory
true
;
default
"root"
;
description
description
"Type of virtualised storage resource (e.g. volume,
"Type of virtualised storage resource (e.g. volume,
object)."
;
object)."
;
...
@@ -856,7 +856,7 @@ submodule etsi-nfv-vnf {
...
@@ -856,7 +856,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
container-format
{
leaf
container-format
{
mandatory
true
;
default
"bare"
;
type
enumeration
{
type
enumeration
{
enum
"aki"
{
enum
"aki"
{
description
description
...
@@ -896,7 +896,7 @@ submodule etsi-nfv-vnf {
...
@@ -896,7 +896,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
disk-format
{
leaf
disk-format
{
mandatory
true
;
default
"qcow2"
;
type
enumeration
{
type
enumeration
{
enum
"aki"
{
enum
"aki"
{
description
description
...
@@ -994,7 +994,7 @@ submodule etsi-nfv-vnf {
...
@@ -994,7 +994,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
image
{
leaf
image
{
mandatory
true
;
default
"."
;
type
inet
:
uri
;
type
inet
:
uri
;
description
description
"This is a reference to the actual software image.
"This is a reference to the actual software image.
...
@@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf {
...
@@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
container
qos
{
container
qos
{
presence
"VL QoS parameters"
;
description
description
"QoS of the VL."
;
"QoS of the VL."
;
reference
reference
...
@@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf {
...
@@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Minimum number of instances of the VNFC based on this
"Minimum number of instances of the VNFC based on this
VDU that is permitted to exist for this flavour."
;
VDU that is permitted to exist for this flavour."
;
...
@@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf {
...
@@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
must
". >= ../nfv:min-number-of-instances"
;
must
". >= ../nfv:min-number-of-instances"
;
reference
reference
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
...
@@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf {
...
@@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf {
must
". >= ../../../../nfv:df/"
+
must
". >= ../../../../nfv:df/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:min-number-of-instances"
;
"nfv:min-number-of-instances"
;
mandatory
true
;
default
1
;
description
description
"Number of instances of VNFC based on this VDU to
"Number of instances of VNFC based on this VDU to
deploy for this level."
;
deploy for this level."
;
...
@@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf {
...
@@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf {
AffinityOrAntiAffinityGroup information element"
;
AffinityOrAntiAffinityGroup information element"
;
}
}
}
}
list
indicator
{
key
"id"
;
leaf
id
{
type
string
;
description
"Unique identifier."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
name
{
type
string
;
description
"The human readable name of the VnfIndicator."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
indicator-value
{
type
string
;
description
"Defines the allowed values or value ranges of this
indicator."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
source
{
type
enumeration
{
enum
vnf
;
enum
em
;
enum
both
;
}
description
"Describe the source of the indicator. The possible
values are:
• VNF.
• EM.
• Both.
This tells the consumer where to send the subscription
request."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
description
"Declares the VNF indicators that are supported by this
VNF (specific to this DF)."
;
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"
;
}
list
supported-vnf-interfaces
{
key
"name"
;
leaf
name
{
type
enumeration
{
enum
vnf-configuration
;
enum
vnf-indicator
;
}
description
"Identifies an interface produced by the VNF. Valid
values:
- VNF_CONFIGURATION
- VNF_INDICATOR"
;
reference
"GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
information element"
;
}
leaf-list
cpd-id
{
type
leafref
{
path
"../../../ext-cpd/id"
;
}
description
"References one or more CPDs from which to instantiate
external CPs through which interface endpoints on the
VNF side can be reached by the VNFM."
;
reference
"GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
information element"
;
}
list
interface-details
{
key
"key"
;
leaf
key
{
type
string
;
}
leaf
value
{
type
string
;
}
}
description
"Indicates which interfaces the VNF produces and provides
additional details on how to access the interface
endpoints."
;
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"
;
}