Commit a1816e93 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Contribution NFVSOL(18)000330

Patch to address comments received during NFVSOL#68

Change-Id: I28eff3e9c305fe6961c204727dc9bb3158edfbbc
parent 1adbb7a5
......@@ -339,4 +339,182 @@ module etsi-nfv-common {
information element.";
}
}
grouping security-parameters {
leaf signature {
type string;
description
"Provides the signature of the signed part of the
descriptor.";
reference
"GS NFV IFA014: Section 6.2.5, SecurityParameters
information element.";
}
leaf algorithm {
type string;
description
"Identifies the algorithm used to compute the signature.";
reference
"GS NFV IFA014: Section 6.2.5, SecurityParameters
information element.";
}
leaf certificate {
type string;
description
"Provides a certificate or a reference to a certificate to
validate the signature.";
reference
"GS NFV IFA014: Section 6.2.5, SecurityParameters
information element.";
}
}
grouping cpd {
description
"A Cpd information element describes network connectivity to a
compute resource or a VL.";
reference
"GS NFC IFA011: Section 7.1.6.3 Cpd Information Element";
leaf id {
type string;
description
"Identifier of this Cpd information element.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf layer-protocol {
mandatory true;
type identityref {
base common:layer-protocol;
}
description
"Identifies which protocol the CP uses for connectivity
purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire,
etc.).";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf role {
type identityref {
base common:cp-role;
}
description
"Identifies the role of the port in the context of the
traffic flow patterns in the VNF or parent NS. For example a
VNF with a tree flow pattern within the VNF will have legal
cpRoles of ROOT and LEAF.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf description {
type string;
description
"Human readable description of the connection point";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
container protocol {
description
"Identifies the protocol layering information the CP uses for
connectivity purposes and associated information. There shall
be one cpProtocol for each layer protocol as indicated by the
attribute layerProtocol.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
leaf associated-layer-protocol {
type identityref {
base common:layer-protocol;
}
description
"One of the values of the attribute layerProtocol of the Cpd
IE.";
reference
"GS NFV IFA011: Section 7.1.6.8, CpProtocolData information
element.";
}
list address-data {
key "address-type";
leaf address-type {
type identityref {
base common:address-type;
}
description
"Describes the type of the address to be assigned to the CP
instantiated from the parent CPD.
Value:
• MAC address.
• IP address.
• …
The content type shall be aligned with the address type
supported by the layerProtocol attribute of the parent CPD.";
reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information
element.";
}
container l2-address-data {
when "../address-type='mac-address'";
}
container l3-address-data {
when "../address-type='ip-address'";
leaf ip-address-assignment {
type boolean;
description
"Specify if the address assignment is the responsibility
of management and orchestration function or not. If it
is set to True, it is the management and orchestration
function responsibility. ";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf floating-ip-activated {
type boolean;
description
"Specify if the floating IP scheme is activated on the CP
or not.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf ip-address-type {
type enumeration {
enum "ipv4";
enum "ipv6";
}
description
"Define address type. The address type should be aligned
with the address type supported by the layerProtocol
attribute of the parent VnfExtCpd.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf number-of-ip-addresses {
type uint32;
description
"Minimum number of IP addresses to be assigned based on
this L3AddressData information element.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
}
description
"The AddressData information element supports providing
information about the addressing scheme and parameters
applicable to a CP.";
reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information
element.";
}
}
leaf trunk-mode {
type boolean;
description
"Information about whether the CP instantiated from this CPD
is in Trunk mode (802.1Q or other).";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
}
}
......@@ -20,20 +20,6 @@ submodule etsi-nfv-ns {
"ETSI GS NFV-IFA 011 Ed251v243";
}
grouping security-parameters {
container security {
leaf signature {
type string;
}
leaf algorithm {
type string;
}
leaf certificate {
type string;
}
}
}
grouping resource-handle {
leaf vim-id {
type string;
......@@ -92,13 +78,10 @@ submodule etsi-nfv-ns {
descriptor consists of.";
leaf vnfd {
type leafref {
path "/nfv/vnfd/id";
path "../../../vnfd/id";
}
}
}
leaf-list pnfd {
type string;
}
list service-access-point-descriptor {
key "id";
min-elements 1;
......@@ -226,7 +209,7 @@ submodule etsi-nfv-ns {
leaf description {
type string;
}
uses security-parameters;
uses common:security-parameters;
}
// vnffgd skipped since not fully specified by the spec
list monitored-info {
......@@ -373,7 +356,7 @@ submodule etsi-nfv-ns {
key "pnfd";
leaf pnfd {
type leafref {
path "../../../pnfd";
path "../../../../pnfd/id";
}
}
// no virtual-link-connectivity as we don't have PNFD modelled.
......@@ -589,7 +572,7 @@ submodule etsi-nfv-ns {
}
}
}
uses security-parameters;
uses common:security-parameters;
}
}
}
submodule etsi-nfv-pnf {
belongs-to etsi-nfv {
prefix nfv;
}
/*
* Import
*/
import etsi-nfv-common {
prefix common;
}
/*
* Include
*/
include etsi-nfv-ns;
description
"Models for PNFD according to GS NFV-IFA 014.";
revision 2018-06-25 {
description
"Initial revision.
Common data structure to support VNFD according to:
ETSI GS NFV-IFA 014 Ed251v244";
reference
"ETSI GS NFV-IFA 014 Ed251v244";
}
grouping pnfd {
description
"The Pnfd information element is a deployment template
enabling on-boarding PNFs and referencing them from an NSD.
It focuses on connectivity aspects only";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
container pnfd {
leaf id {
type string;
description
"Identifier of this Pnfd information element. It uniquely
identifies the PNFD.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf function-description {
type string;
description
"Describes the PNF function.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf provider {
type string;
description
"Identifies the provider of the PNFD.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf version {
type string;
mandatory true;
description
"Identifies the version of the PNFD.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf invariant-id {
type string;
description
"Identifies a PNFD in a version independent manner. This
attribute is invariant across versions of PNFD.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf name {
type string;
description
"Provides the human readable name of the PNFD.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
list ext-cp {
key "id";
uses common:cpd;
description
"Specifies the characteristics of one or more connection
points where to connect the PNF to a VL.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
list security {
key "signature";
uses common:security-parameters;
description
"Provides a signature to prevent tampering.
Editor's Note: While IFA014 does specify that the PNFD
includes a security parameter. SOL001 does not have one.
We need to harmonize SOL001 & SOL006 on this point.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf geographical-location-info {
type string;
description
"It provides information about the geographical location
(e.g. geographic coordinates or address of the building,
etc.) of the PNF. The cardinality 0 is used when the
location is unknown.
Editor's Note: The type is TBD in SOL001. We need to make
a common SOL001/SOL006 decision.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
}
}
}
......@@ -28,156 +28,6 @@ submodule etsi-nfv-vnf {
"ETSI GS NFV-IFA 011 Ed251v243";
}
grouping cpd {
description
"A Cpd information element describes network connectivity to a
compute resource or a VL.";
reference
"GS NFC IFA011: Section 7.1.6.3 Cpd Information Element";
leaf id {
type string;
description
"Identifier of this Cpd information element.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf layer-protocol {
mandatory true;
type identityref {
base common:layer-protocol;
}
description
"Identifies which protocol the CP uses for connectivity
purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire,
etc.).";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf role {
type identityref {
base common:cp-role;
}
description
"Identifies the role of the port in the context of the
traffic flow patterns in the VNF or parent NS. For example a
VNF with a tree flow pattern within the VNF will have legal
cpRoles of ROOT and LEAF.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf description {
type string;
description
"Human readable description of the connection point";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
container protocol {
description
"Identifies the protocol layering information the CP uses for
connectivity purposes and associated information. There shall
be one cpProtocol for each layer protocol as indicated by the
attribute layerProtocol.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
leaf associated-layer-protocol {
type identityref {
base common:layer-protocol;
}
description
"One of the values of the attribute layerProtocol of the Cpd
IE.";
reference
"GS NFV IFA011: Section 7.1.6.8, CpProtocolData information
element.";
}
list address-data {
key "address-type";
leaf address-type {
type identityref {
base common:address-type;
}
description
"Describes the type of the address to be assigned to the CP
instantiated from the parent CPD.
Value:
• MAC address.
• IP address.
• …
The content type shall be aligned with the address type
supported by the layerProtocol attribute of the parent CPD.";
reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information
element.";
}
container l2-address-data {
when "../nfv:address-type='mac-address'";
}
container l3-address-data {
when "../nfv:address-type='ip-address'";
leaf ip-address-assignment {
type boolean;
description
"Specify if the address assignment is the responsibility
of management and orchestration function or not. If it
is set to True, it is the management and orchestration
function responsibility. ";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf floating-ip-activated {
type boolean;
description
"Specify if the floating IP scheme is activated on the CP
or not.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf ip-address-type {
type enumeration {
enum "ipv4";
enum "ipv6";
}
description
"Define address type. The address type should be aligned
with the address type supported by the layerProtocol
attribute of the parent VnfExtCpd.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
leaf number-of-ip-addresses {
type uint32;
description
"Minimum number of IP addresses to be assigned based on
this L3AddressData information element.";
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
}
description
"The AddressData information element supports providing
information about the addressing scheme and parameters
applicable to a CP.";
reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information
element.";
}
}
leaf trunk-mode {
type boolean;
description
"Information about whether the CP instantiated from this CPD
is in Trunk mode (802.1Q or other).";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
}
grouping virtual-network-interface-requirements {
list virtual-network-interface-requirement {
key "name";
......@@ -444,7 +294,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element.";
}
uses cpd;
uses common:cpd;
}
leaf virtual-compute-desc {
type leafref {
......@@ -1221,7 +1071,7 @@ submodule etsi-nfv-vnf {
ext-CP to the VDU's CP.
*/
uses virtual-network-interface-requirements;
uses cpd;
uses common:cpd;
}
list deployment-flavor {
......@@ -1894,7 +1744,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.2 VNFD information element";
leaf event {
type common:lifecycle-management-script-event;
type common:internal-lifecycle-management-script-event;
description
"Describes VNF lifecycle event(s) or an external stimulus
detected on a VNFM reference point.";
......
......@@ -6,6 +6,7 @@ module etsi-nfv {
prefix common;
}
include etsi-nfv-vnf;
include etsi-nfv-pnf;
include etsi-nfv-ns;
organization
......@@ -24,6 +25,6 @@ module etsi-nfv {
container nfv {
uses vnfd;
uses nsd;
container pnfd {}
uses pnfd;
} // nfv
}
Supports Markdown
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