Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
S
SOL006
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
NFV - Network Functions Virtualisation
SOL006
Commits
7a962aa2
Commit
7a962aa2
authored
Feb 22, 2019
by
Mahesh Jethanandani
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'bug#91' into 'master'
Addressing bug#91 See merge request
!24
parents
1e89ad37
adf2de6d
Pipeline
#328
passed with stage
in 0 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
166 additions
and
36 deletions
+166
-36
nfv.xml
example-data/nfv.xml
+24
-6
etsi-nfv-ns.yang
src/yang/etsi-nfv-ns.yang
+18
-20
etsi-nfv-vnf.yang
src/yang/etsi-nfv-vnf.yang
+124
-10
No files found.
example-data/nfv.xml
View file @
7a962aa2
...
...
@@ -11,17 +11,14 @@
<name>
Firewall VDU
</name>
<int-cpd>
<id>
inside
</id>
<ext-cpd>
inside
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
management
</id>
<ext-cpd>
management
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
outside
</id>
<ext-cpd>
outside
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
asa-vcd
</virtual-compute-desc>
...
...
@@ -51,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>
...
...
@@ -97,17 +106,14 @@
<name>
Router VDU
</name>
<int-cpd>
<id>
left
</id>
<ext-cpd>
left
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
management
</id>
<ext-cpd>
management
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
right
</id>
<ext-cpd>
right
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
csr-vcd
</virtual-compute-desc>
...
...
@@ -137,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>
...
...
src/yang/etsi-nfv-ns.yang
View file @
7a962aa2
...
...
@@ -4,10 +4,7 @@ submodule etsi-nfv-ns {
prefix nfv;
}
import etsi-nfv-common {
prefix common;
}
include etsi-nfv-common;
include etsi-nfv-vnf;
include etsi-nfv-pnf;
...
...
@@ -345,7 +342,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element";
}
uses
common:
security-parameters;
uses security-parameters;
}
list vnffgd {
...
...
@@ -495,7 +492,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 {
...
...
@@ -755,7 +753,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
...
...
@@ -766,7 +764,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
...
...
@@ -776,7 +774,7 @@ submodule etsi-nfv-ns {
element";
}
uses
common:
local-affinity-or-anti-affinity-rule;
uses local-affinity-or-anti-affinity-rule;
list affinity-or-anti-affinity-group {
key "id";
...
...
@@ -988,7 +986,7 @@ submodule etsi-nfv-ns {
information element";
}
uses
common:
local-affinity-or-anti-affinity-rule;
uses local-affinity-or-anti-affinity-rule;
list affinity-or-anti-affinity-group {
key "id";
...
...
@@ -1015,7 +1013,7 @@ submodule etsi-nfv-ns {
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element";
uses
common:
link-bitrate-requirements;
uses link-bitrate-requirements;
}
container min-bitrate-requirements {
description
...
...
@@ -1024,7 +1022,7 @@ submodule etsi-nfv-ns {
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element";
uses
common:
link-bitrate-requirements;
uses link-bitrate-requirements;
}
}
...
...
@@ -1104,7 +1102,7 @@ submodule etsi-nfv-ns {
leaf affinity-type {
mandatory true;
type
common:
affinity-type;
type affinity-type;
description
"Specifies the type of relationship that the members of
the group have: 'affinity' or 'anti-affinity.'";
...
...
@@ -1115,7 +1113,7 @@ submodule etsi-nfv-ns {
leaf affinity-scope {
mandatory true;
type
common:
affinity-scope;
type affinity-scope;
description
"Specifies the scope of the affinity or anti-affinity
relationship e.g. a NFVI node, an NFVI PoP, etc.";
...
...
@@ -1179,7 +1177,7 @@ submodule etsi-nfv-ns {
}
leaf number-of-instances {
mandatory true
;
default 1
;
type uint32;
description
"Specifies the number of VNF instances required for
...
...
@@ -1212,7 +1210,7 @@ submodule etsi-nfv-ns {
VirtualLinkToLevelMapping information element";
}
uses
common:
link-bitrate-requirements;
uses link-bitrate-requirements;
}
list ns-to-level-mapping {
...
...
@@ -1239,7 +1237,7 @@ submodule etsi-nfv-ns {
}
leaf number-of-instances {
mandatory true
;
default 1
;
type uint32;
description
"Specifies the number of nested NS instances required
...
...
@@ -1345,7 +1343,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
...
...
@@ -1356,7 +1354,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
...
...
@@ -1567,7 +1565,7 @@ submodule etsi-nfv-ns {
}
}
}
uses
common:
security-parameters;
uses security-parameters;
}
}
}
src/yang/etsi-nfv-vnf.yang
View file @
7a962aa2
...
...
@@ -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).";
...
...
@@ -836,7 +836,7 @@ submodule etsi-nfv-vnf {
information element.";
}
leaf container-format {
mandatory true
;
default "bare"
;
type enumeration {
enum "aki" {
description
...
...
@@ -876,7 +876,7 @@ submodule etsi-nfv-vnf {
information element.";
}
leaf disk-format {
mandatory true
;
default "qcow2"
;
type enumeration {
enum "aki" {
description
...
...
@@ -974,7 +974,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.
...
...
@@ -1148,7 +1148,9 @@ submodule etsi-nfv-vnf {
}
}
leaf cpd {
path "deref(../vdu-id)/../int-cpd/id";
type leafref {
path "deref(../vdu-id)/../int-cpd/id";
}
}
}
}
...
...
@@ -1201,7 +1203,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.";
...
...
@@ -1211,7 +1213,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
...
...
@@ -1615,7 +1617,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.";
...
...
@@ -2034,6 +2036,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";
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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