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 @@
</sw-image-desc>
<ext-cpd>
<id>
inside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
inside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
management
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
outside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
outside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<df>
...
...
@@ -131,14 +143,26 @@
</sw-image-desc>
<ext-cpd>
<id>
left
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
left
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
management
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
right
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
right
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<df>
...
...
@@ -218,7 +242,9 @@
<virtual-link-desc>
<id>
fw2dpi
</id>
<connectivity-type>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
<protocol>
Ethernet
</protocol>
</layer-protocol>
</connectivity-type>
<df>
<id>
normal
</id>
...
...
@@ -231,7 +257,9 @@
<virtual-link-desc>
<id>
mgmt
</id>
<connectivity-type>
<layer-protocol>
IPv4
</layer-protocol>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
<df>
<id>
normal
</id>
...
...
@@ -244,7 +272,9 @@
<virtual-link-desc>
<id>
r2fw
</id>
<connectivity-type>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
<protocol>
Ethernet
</protocol>
</layer-protocol>
</connectivity-type>
<df>
<id>
normal
</id>
...
...
@@ -467,7 +497,9 @@
<virtual-link-desc>
<id>
r2fw
</id>
<connectivity-type>
<layer-protocol>
IPv4
</layer-protocol>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
<df>
<id>
r2fw
</id>
...
...
src/yang/etsi-nfv-common.yang
View file @
e9bb6972
...
...
@@ -6,13 +6,13 @@ submodule etsi-nfv-common {
description
"Common data types for ETSI data models."
;
revision
201
8
-0
6
-1
9
{
revision
201
9
-0
3
-1
8
{
description
"Initial revision
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed2
5
1v2
44
ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
ETSI GS NFV-IFA 014 Ed2
6
1v2
52
ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
}
/*
...
...
@@ -293,14 +293,20 @@ submodule etsi-nfv-common {
grouping
connectivity-type
{
container
connectivity-type
{
leaf
layer-protocol
{
mandatory
true
;
type
identityref
{
base
layer-protocol
;
}
list
layer-protocol
{
key
"protocol"
;
leaf
protocol
{
type
identityref
{
base
layer-protocol
;
}
}
description
"Identifies the protocol this VL gives access to (Ethernet,
MPLS, ODU2, IPV4, IPV6, Pseudo-Wire)."
;
"Identifies the protocols that the VL uses (Ethernet,
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
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType
information element."
;
...
...
src/yang/etsi-nfv-ns.yang
View file @
e9bb6972
...
...
@@ -11,14 +11,14 @@ submodule etsi-nfv-ns {
description
"Models for NS according to ETSI GS NFV-IFA 014."
;
revision
201
7
-0
1-20
{
revision
201
9
-0
3-18
{
description
"Initial revision
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
"ETSI GS NFV-IFA 01
1
Ed2
5
1v2
43
"
;
"ETSI GS NFV-IFA 01
4
Ed2
6
1v2
52
"
;
}
grouping
resource-handle
{
...
...
@@ -250,6 +250,7 @@ submodule etsi-nfv-ns {
}
container
qos
{
presence
"VL QoS parameters"
;
description
"The QoS information element specifies quality of
service parameters applicable to a VL."
;
...
...
@@ -492,7 +493,8 @@ submodule etsi-nfv-ns {
}
container
ns
{
leaf
nsd-id
{
must
". = deref(../../ns-profile-id)/../nsd-id"
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
type
leafref
{
...
...
@@ -752,7 +754,7 @@ submodule etsi-nfv-ns {
}
leaf
min-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
description
"Minimum number of instances of the VNF based on this
...
...
@@ -763,7 +765,7 @@ submodule etsi-nfv-ns {
}
leaf
max-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
description
"Maximum number of instances of the VNF based on this
...
...
@@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns {
}
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
description
"Specifies the number of VNF instances required for
...
...
@@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns {
}
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
description
"Specifies the number of nested NS instances required
...
...
@@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns {
}
leaf
min-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Minimum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
...
...
@@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns {
}
leaf
max-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Maximum number of nested NS instances based on the
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 {
description
"Models for PNFD according to GS NFV-IFA 014."
;
revision
201
8
-0
6-25
{
revision
201
9
-0
3-18
{
description
"Initial revision.
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
"ETSI GS NFV-IFA 014 Ed2
5
1v2
44
"
;
"ETSI GS NFV-IFA 014 Ed2
6
1v2
52
"
;
}
grouping
pnfd
{
...
...
src/yang/etsi-nfv-vnf.yang
View file @
e9bb6972
...
...
@@ -16,15 +16,15 @@ submodule etsi-nfv-vnf {
description
"Models for VNFD according to GS NFV-IFA 011."
;
revision
201
8
-0
6
-1
9
{
revision
201
9
-0
3
-1
8
{
description
"Initial revision.
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
"ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
"ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
}
grouping
virtual-network-interface-requirements
{
...
...
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
}
leaf
support-mandatory
{
mandatory
true
;
default
"false"
;
type
boolean
;
description
"Indicates whether fulfilling the constraint is
...
...
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
type
uint16
{
range
"1..max"
;
}
mandatory
true
;
default
1
;
description
"Number of virtual CPUs."
;
reference
...
...
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
enum
"swap"
;
enum
"ephemeral"
;
}
mandatory
true
;
default
"root"
;
description
"Type of virtualised storage resource (e.g. volume,
object)."
;
...
...
@@ -856,7 +856,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
container-format
{
mandatory
true
;
default
"bare"
;
type
enumeration
{
enum
"aki"
{
description
...
...
@@ -896,7 +896,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
disk-format
{
mandatory
true
;
default
"qcow2"
;
type
enumeration
{
enum
"aki"
{
description
...
...
@@ -994,7 +994,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
image
{
mandatory
true
;
default
"."
;
type
inet
:
uri
;
description
"This is a reference to the actual software image.
...
...
@@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
container
qos
{
presence
"VL QoS parameters"
;
description
"QoS of the VL."
;
reference
...
...
@@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf {
}
leaf
min-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Minimum number of instances of the VNFC based on this
VDU that is permitted to exist for this flavour."
;
...
...
@@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf {
}
leaf
max-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
must
". >= ../nfv:min-number-of-instances"
;
reference
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
...
...
@@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf {
must
". >= ../../../../nfv:df/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:min-number-of-instances"
;
mandatory
true
;
default
1
;
description
"Number of instances of VNFC based on this VDU to
deploy for this level."
;
...
...
@@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf {
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"
;
}
list
monitoring-parameter
{
key
"id"
;
...
...
src/yang/etsi-nfv.yang
View file @
e9bb6972
...
...
@@ -14,11 +14,11 @@ module etsi-nfv {
description
"Network Function Virtualization Descriptors"
;
revision
201
8
-0
6
-1
3
{
revision
201
9
-0
3
-1
8
{
description
"Initial revision.
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed2
5
1v2
44
VNFD according to ETSI GS NFV-IFA 011 Ed2
5
1v24
3
"
;
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed2
6
1v2
52
VNFD according to ETSI GS NFV-IFA 011 Ed2
6
1v2
5
4"
;
}
container
nfv
{
...
...
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