...
 
Commits (68)
......@@ -6,7 +6,7 @@
# https://forge.etsi.org/etsi-software-license
YANG_MODULES="yang/yang/*"
OUTPUT="etsi-nfv.html"
OUTPUT="etsi-nfv-descriptors.html"
IMG_NAME="sol006"
VERSION=latest
IMG="$IMG_NAME:$VERSION"
......
This diff is collapsed.
......@@ -10,7 +10,7 @@ cd src
echo "Testing compilation"
CONFD_OPTS="--fail-on-warnings"
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"
confd
......
submodule etsi-nfv-common {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
description
......@@ -20,22 +20,22 @@ submodule etsi-nfv-common {
*/
identity layer-protocol {
}
identity Ethernet {
identity ethernet {
base layer-protocol;
}
identity MPLS {
identity mpls {
base layer-protocol;
}
identity ODU2 {
identity odu2 {
base layer-protocol;
}
identity IPv4 {
identity ipv4 {
base layer-protocol;
}
identity IPv6 {
identity ipv6 {
base layer-protocol;
}
identity Pseudo-Wire {
identity pseudo-wire {
base layer-protocol;
}
......@@ -177,6 +177,69 @@ submodule etsi-nfv-common {
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.";
}
identity storage-type {
description
"Base type of storage that identities can derive from.";
}
identity root-storage {
base storage-type;
description
"Root type of storage.";
}
identity swap-storage {
base storage-type;
description
"Swap type of storage.";
}
identity ephemeral-storage {
base storage-type;
description
"Ephemeral type of storage.";
}
/*
* Typedefs
*/
......@@ -215,8 +278,8 @@ submodule etsi-nfv-common {
enum "end-healing";
enum "start-termination";
enum "end-termination";
enum "start-vnf-flavor-change";
enum "end-vnf-flavor-change";
enum "start-vnf-flavour-change";
enum "end-vnf-flavour-change";
enum "start-vnf-operation-change";
enum "end-vnf-operation-change";
enum "start-vnf-ext-conn-change";
......@@ -392,7 +455,7 @@ submodule etsi-nfv-common {
}
leaf-list layer-protocol {
default Ethernet;
default ethernet;
type identityref {
base layer-protocol;
}
......@@ -571,5 +634,115 @@ submodule etsi-nfv-common {
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
leaf security-group-rule-id {
type leafref {
path "/nfv/vnfd/security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
grouping security-group-rule {
list security-group-rule {
key "id";
leaf id {
type string;
description
"Identifier of this SecurityGroupRule information
element.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf description {
type string;
description
"Human readable description of the security group rule.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf direction {
type enumeration {
enum ingress;
enum egress;
}
default "ingress";
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf ether-type {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf protocol {
type enumeration {
enum tcp;
enum udp;
enum icmp;
}
default "tcp";
description
"Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults
to TCP.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-min {
must ". <= ../port-range-max";
type uint16;
default "0";
description
"Indicates minimum port number in the range that is
matched by the security group rule. Defaults to 0.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-max {
must ". >= ../port-range-min";
type uint16;
default "65535";
description
"Indicates maximum port number in the range that is
matched by the security group rule. Defaults to 65535.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
description
"Defines security group rules to be used by the VNF.";
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
}
}
}
module etsi-nfv {
module etsi-nfv-descriptors {
yang-version 1.1;
namespace "urn:etsi:params:xml:ns:yang:etsi-nfv";
namespace "urn:etsi:nfv:yang:etsi-nfv-descriptors";
prefix nfv;
include etsi-nfv-common;
......
submodule etsi-nfv-ns {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
......@@ -146,63 +146,66 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
leaf virtual-link-desc {
type leafref {
path "../../virtual-link-desc/id";
choice cpd-or-virtual-link {
leaf virtual-link-desc {
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 {
container vnf {
leaf vnfd-id {
mandatory true;
type leafref {
path "../../../../nfv:vnfd/nfv:id";
choice associated-cpd-id {
container vnf {
leaf vnfd-id {
mandatory true;
type leafref {
path "../../../../nfv:vnfd/nfv:id";
}
must "boolean(../../../vnfd-id[.=current()])";
}
must "boolean(../../../vnfd-id[.=current()])";
}
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
container pnf {
leaf pnfd-id {
mandatory true;
container pnf {
leaf pnfd-id {
mandatory true;
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 {
mandatory true;
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
container ns {
leaf nsd-id {
mandatory true;
type leafref {
path "../../../../nfv:nsd/nfv:id";
container ns {
leaf nsd-id {
mandatory true;
type leafref {
path "../../../../nfv:nsd/nfv:id";
}
must "boolean(../nsd-id[.=current()])";
}
must "boolean(../nsd-id[.=current()])";
}
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
}
}
}
}
......@@ -415,25 +418,54 @@ submodule etsi-nfv-ns {
key "id";
description
"A pool of descriptors of connection points attached to
one of the constituent VNFs and PNFs and/or one of the
SAPs of the parent NS or of a nested NS.";
"Describes a pool of descriptors of connection points
attached to one of the constituent VNFs and PNFs and/or
one of the SAPs of the parent NS or of a nested NS.";
reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element";
leaf id {
type string;
}
choice constituent-base-element-id {
mandatory "true";
container vnf-profile {
leaf vnf-profile-id {
must ". = deref(../../vnfd-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/vnf-profile/id";
}
}
}
container pnf-profile {
leaf pnf-profile-id {
must ". = deref(../../pnfd-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/pnf-profile/id";
}
}
}
container ns-profile {
leaf ns-profile-id {
must ". = deref(../../ns-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/ns-profile/id";
}
}
}
description
"Identifier of this CpdPool information element. It
identifies a pool of descriptors of connection points
and NS SAPs.";
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.4.2 CpdPool information
element";
"GS NFV IFA014: Section 6.4.8 CpdInConstituentElement
information element";
}
choice cpd-id {
choice constituent-cpd-id {
container vnf {
leaf vnfd-id {
must ". = deref(../../vnfd-profile-id)/../vnfd-id" {
......@@ -464,7 +496,8 @@ submodule etsi-nfv-ns {
}
container ns {
leaf nsd-id {
must ". = deref(../../nested-ns-profile-id)/../nsd-id" {
must ". = deref(../../nested-ns-profile-id)/" +
"../nsd-id" {
}
type leafref {
......@@ -645,7 +678,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.3.2.2 NsDf information element";
}
leaf flavor-key {
leaf flavour-key {
type leafref {
path "../monitored-info/id";
}
......@@ -696,7 +729,7 @@ submodule etsi-nfv-ns {
element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../df/id";
......@@ -711,7 +744,7 @@ submodule etsi-nfv-ns {
leaf instantiation-level {
mandatory true;
type leafref {
path "deref(../flavor-id)/../instantiation-level/id";
path "deref(../flavour-id)/../instantiation-level/id";
}
description
"Identifier of the instantiation level of the VNF DF
......@@ -945,7 +978,7 @@ submodule etsi-nfv-ns {
information element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../virtual-link-desc-id)/../df/id";
......
submodule etsi-nfv-pnf {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
......@@ -111,6 +111,7 @@ submodule etsi-nfv-pnf {
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
uses security-group-rule;
}
}
}
This diff is collapsed.