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
11
Issues
11
List
Board
Labels
Milestones
Merge Requests
11
Merge Requests
11
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
aec728bd
Commit
aec728bd
authored
Mar 22, 2019
by
Mahesh Jethanandani
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into 'bug#186'
# Conflicts: # src/yang/etsi-nfv-vnf.yang
parents
d84e3787
ff2f13fa
Pipeline
#482
failed with stages
in 0 seconds
Changes
8
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
353 additions
and
123 deletions
+353
-123
.jenkins.sh
.jenkins.sh
+1
-1
nfv.xml
example-data/nfv.xml
+37
-5
run-test.sh
run-test.sh
+1
-1
etsi-nfv-common.yang
src/yang/etsi-nfv-common.yang
+57
-11
etsi-nfv-descriptors.yang
src/yang/etsi-nfv-descriptors.yang
+5
-5
etsi-nfv-ns.yang
src/yang/etsi-nfv-ns.yang
+60
-55
etsi-nfv-pnf.yang
src/yang/etsi-nfv-pnf.yang
+4
-4
etsi-nfv-vnf.yang
src/yang/etsi-nfv-vnf.yang
+188
-41
No files found.
.jenkins.sh
View file @
aec728bd
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
# https://forge.etsi.org/etsi-software-license
# https://forge.etsi.org/etsi-software-license
YANG_MODULES
=
"yang/yang/*"
YANG_MODULES
=
"yang/yang/*"
OUTPUT
=
"etsi-nfv.html"
OUTPUT
=
"etsi-nfv
-descriptors
.html"
IMG_NAME
=
"sol006"
IMG_NAME
=
"sol006"
VERSION
=
latest
VERSION
=
latest
IMG
=
"
$IMG_NAME
:
$VERSION
"
IMG
=
"
$IMG_NAME
:
$VERSION
"
...
...
example-data/nfv.xml
View file @
aec728bd
<nfv
xmlns=
"urn:etsi:
params:xml:ns:yang:etsi-nfv
"
>
<nfv
xmlns=
"urn:etsi:
nfv:yang:etsi-nfv-descriptors
"
>
<vnfd>
<vnfd>
<id>
ASA
</id>
<id>
ASA
</id>
<provider>
My Company
</provider>
<provider>
My Company
</provider>
...
@@ -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>
...
...
run-test.sh
View file @
aec728bd
...
@@ -10,7 +10,7 @@ cd src
...
@@ -10,7 +10,7 @@ cd src
echo
"Testing compilation"
echo
"Testing compilation"
CONFD_OPTS
=
"--fail-on-warnings"
CONFD_OPTS
=
"--fail-on-warnings"
CONFD_OPTS
=
""
CONFD_OPTS
=
""
confdc
-c
$CONFD_OPTS
-o
/opt/confd/etc/confd/etsi-nfv
.fxs etsi-nfv
.yang
confdc
-c
$CONFD_OPTS
-o
/opt/confd/etc/confd/etsi-nfv
-descriptors.fxs etsi-nfv-descriptors
.yang
echo
"Starting ConfD"
echo
"Starting ConfD"
confd
confd
...
...
src/yang/etsi-nfv-common.yang
View file @
aec728bd
submodule etsi-nfv-common {
submodule etsi-nfv-common {
yang-version 1.1;
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv
-descriptors
{
prefix nfv;
prefix nfv;
}
}
description
description
"Common data types for ETSI data models.";
"Common data types for ETSI data models.";
revision 201
8-06-19
{
revision 201
9-03-18
{
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
51v244
ETSI GS NFV-IFA 014 Ed2
61v252
ETSI GS NFV-IFA 011 Ed2
51v243
";
ETSI GS NFV-IFA 011 Ed2
61v254
";
}
}
/*
/*
...
@@ -177,6 +177,46 @@ submodule etsi-nfv-common {
...
@@ -177,6 +177,46 @@ submodule etsi-nfv-common {
base cp-role;
base cp-role;
}
}
identity checksum-algorithm {
description
"Identifies the algorithms supported for the purpose of
calculating the checksum.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-224 {
base checksum-algorithm;
description
"SHA-224.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-256 {
base checksum-algorithm;
description
"SHA-256.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-384 {
base checksum-algorithm;
description
"SHA-384.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-512 {
base checksum-algorithm;
description
"SHA-512.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
/*
/*
* Typedefs
* Typedefs
*/
*/
...
@@ -253,14 +293,20 @@ submodule etsi-nfv-common {
...
@@ -253,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.yang
→
src/yang/etsi-nfv
-descriptors
.yang
View file @
aec728bd
module etsi-nfv {
module etsi-nfv
-descriptors
{
yang-version 1.1;
yang-version 1.1;
namespace "urn:etsi:
params:xml:ns:yang:etsi-nfv
";
namespace "urn:etsi:
nfv:yang:etsi-nfv-descriptors
";
prefix nfv;
prefix nfv;
include etsi-nfv-common;
include etsi-nfv-common;
...
@@ -14,11 +14,11 @@ module etsi-nfv {
...
@@ -14,11 +14,11 @@ module etsi-nfv {
description
description
"Network Function Virtualization Descriptors";
"Network Function Virtualization Descriptors";
revision 201
8-06-13
{
revision 201
9-03-18
{
description
description
"Initial revision.
"Initial revision.
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed2
51v244
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed2
61v252
VNFD according to ETSI GS NFV-IFA 011 Ed2
51v243
";
VNFD according to ETSI GS NFV-IFA 011 Ed2
61v254
";
}
}
container nfv {
container nfv {
...
...
src/yang/etsi-nfv-ns.yang
View file @
aec728bd
submodule etsi-nfv-ns {
submodule etsi-nfv-ns {
yang-version 1.1;
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv
-descriptors
{
prefix nfv;
prefix nfv;
}
}
...
@@ -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-01-20
{
revision 201
9-03-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 Ed251v243
";
ETSI GS NFV-IFA 01
4 Ed261v252
";
reference
reference
"ETSI GS NFV-IFA 01
1 Ed251v243
";
"ETSI GS NFV-IFA 01
4 Ed261v252
";
}
}
grouping resource-handle {
grouping resource-handle {
...
@@ -146,63 +146,66 @@ submodule etsi-nfv-ns {
...
@@ -146,63 +146,66 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
}
leaf virtual-link-desc {
choice cpd-or-virtual-link {
type leafref {
leaf virtual-link-desc {
path "../../virtual-link-desc/id";
type leafref {
path "../../virtual-link-desc/id";
}
description
"References the descriptor of the NS VL instance to
which the SAP instantiated from this SAPD connects to.";
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
}
description
"References the descriptor of the NS VL instance to
which the SAP instantiated from this SAPD connects to.";
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
choice associated-cpd-id {
choice associated-cpd-id {
container vnf {
container vnf {
leaf vnfd-id {
leaf vnfd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "../../../../nfv:vnfd/nfv:id";
path "../../../../nfv:vnfd/nfv:id";
}
must "boolean(../../../vnfd-id[.=current()])";
}
}
must "boolean(../../../vnfd-id[.=current()])";
}
leaf ext-cpd-id {
leaf ext-cpd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
}
}
container pnf {
container pnf {
leaf pnfd-id {
leaf pnfd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "../../../../nfv:pnfd/nfv:id";
path "../../../../nfv:pnfd/nfv:id";
}
must "boolean(../pnfd-id[.=current()])";
}
}
must "boolean(../pnfd-id[.=current()])";
}
leaf ext-cpd-id {
leaf ext-cpd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
}
}
container ns {
container ns {
leaf nsd-id {
leaf nsd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "../../../../nfv:nsd/nfv:id";
path "../../../../nfv:nsd/nfv:id";
}
must "boolean(../nsd-id[.=current()])";
}
}
must "boolean(../nsd-id[.=current()])";
}
leaf ext-cpd-id {
leaf ext-cpd-id {
mandatory true;
mandatory true;
type leafref {
type leafref {
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
}
}
}
}
}
}
}
...
@@ -250,6 +253,7 @@ submodule etsi-nfv-ns {
...
@@ -250,6 +253,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 +496,8 @@ submodule etsi-nfv-ns {
...
@@ -492,7 +496,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 +757,7 @@ submodule etsi-nfv-ns {
...
@@ -752,7 +757,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 +768,7 @@ submodule etsi-nfv-ns {
...
@@ -763,7 +768,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 +1181,7 @@ submodule etsi-nfv-ns {
...
@@ -1176,7 +1181,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 +1241,7 @@ submodule etsi-nfv-ns {
...
@@ -1236,7 +1241,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 +1347,7 @@ submodule etsi-nfv-ns {
...
@@ -1342,7 +1347,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 +1358,7 @@ submodule etsi-nfv-ns {
...
@@ -1353,7 +1358,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 @
aec728bd
submodule etsi-nfv-pnf {
submodule etsi-nfv-pnf {
yang-version 1.1;
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv
-descriptors
{
prefix nfv;
prefix nfv;
}
}
...
@@ -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-06-25
{
revision 201
9-03-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
51v244
";
ETSI GS NFV-IFA 014 Ed2
61v252
";
reference
reference
"ETSI GS NFV-IFA 014 Ed2
51v244
";
"ETSI GS NFV-IFA 014 Ed2
61v252
";
}
}
grouping pnfd {
grouping pnfd {
...
...
src/yang/etsi-nfv-vnf.yang
View file @
aec728bd
This diff is collapsed.
Click to expand it.
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