Commit aec728bd authored by Mahesh Jethanandani's avatar Mahesh Jethanandani

Merge branch 'master' into 'bug#186'

# Conflicts:
#   src/yang/etsi-nfv-vnf.yang
parents d84e3787 ff2f13fa
Pipeline #482 failed with stages
in 0 seconds
...@@ -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"
......
<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>
......
...@@ -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
......
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 2018-06-19 { revision 2019-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 Ed251v244 ETSI GS NFV-IFA 014 Ed261v252
ETSI GS NFV-IFA 011 Ed251v243"; ETSI GS NFV-IFA 011 Ed261v254";
} }
/* /*
...@@ -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.";
......
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 2018-06-13 { revision 2019-03-18 {
description description
"Initial revision. "Initial revision.
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed251v244 NSD and PNFD according to ETSI GS NFV-IFA 014 Ed261v252
VNFD according to ETSI GS NFV-IFA 011 Ed251v243"; VNFD according to ETSI GS NFV-IFA 011 Ed261v254";
} }
container nfv { container nfv {
......
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 2017-01-20 { revision 2019-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 011 Ed251v243"; ETSI GS NFV-IFA 014 Ed261v252";
reference reference
"ETSI GS NFV-IFA 011 Ed251v243"; "ETSI GS NFV-IFA 014 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
......
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 2018-06-25 { revision 2019-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 Ed251v244"; ETSI GS NFV-IFA 014 Ed261v252";
reference reference
"ETSI GS NFV-IFA 014 Ed251v244"; "ETSI GS NFV-IFA 014 Ed261v252";
} }
grouping pnfd { grouping pnfd {
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment