Commit 7b611165 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani

Merge branch 'bug#90' into 'master'

Bug#90 - VduCpd should point to VnfVirtualLinkDesc and Vnfd ExtCpd should be a choice

See merge request !5
parents 3d201d3e 40c65745
Pipeline #276 failed with stage
in 0 seconds
......@@ -113,40 +113,40 @@ submodule etsi-nfv-vnf {
leaf id {
type string;
description
"Identifier of this Cpd information element.";
"Identifier of this Cpd information element.";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf layer-protocol {
mandatory true;
type identityref {
base layer-protocol;
base layer-protocol;
}
description
"Identifies which protocol the CP uses for connectivity
"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.";
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf role {
type identityref {
base cp-role;
}
description
"Identifies the role of the port in the context of the
"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.";
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
leaf description {
type string;
description
"Human readable description of the connection point";
"Human readable description of the connection point";
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
container protocol {
description
......@@ -157,14 +157,14 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
leaf associated-layer-protocol {
type identityref {
base layer-protocol;
}
description
"One of the values of the attribute layerProtocol of the Cpd
type identityref {
base 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
reference
"GS NFV IFA011: Section 7.1.6.8, CpProtocolData information
element.";
}
......@@ -183,74 +183,74 @@ submodule etsi-nfv-vnf {
• …
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
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'";
}
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
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
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
}
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
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
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
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
}
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
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element.";
}
}
description
"The AddressData information element supports providing
}
}
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
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
"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.";
"GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
}
}
......@@ -395,30 +395,18 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.6.2, Vdu information element";
choice cp-connection {
mandatory true;
description
"A connection point must either connect to an internal
virtual link or to an external connection points.";
leaf int-virtual-link-desc {
type leafref {
path "../../../nfv:int-virtual-link-desc/nfv:id";
}
description
"Reference of the internal VLD which this internal CPD
connects to.";
reference
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element";
}
leaf ext-cpd {
description
"Connect to an external connection point";
type leafref {
path "../../../nfv:ext-cpd/nfv:id";
}
leaf int-virtual-link-desc {
type leafref {
path "../../../nfv:int-virtual-link-desc/nfv:id";
}
description
"Reference of the internal VLD which this internal CPD
connects to.";
reference
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element";
}
leaf bitrate-requirement {
type uint64;
units "Mbps";
......@@ -1269,21 +1257,28 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
leaf int-virtual-link-desc {
description
"Reference to the internal Virtual Link Descriptor (VLD)
to which CPs instantiated from this external CP
Descriptor (CPD) connect. Either intVirtualLinkDesc or
intCpd shall be present.";
type leafref {
path "../../nfv:int-virtual-link-desc/nfv:id";
choice cp-connection {
leaf int-virtual-link-desc {
description
"Reference to the internal Virtual Link Descriptor (VLD)
to which CPs instantiated from this external CP
Descriptor (CPD) connect. Either intVirtualLinkDesc or
intCpd shall be present.";
type leafref {
path "../../nfv:int-virtual-link-desc/nfv:id";
}
}
container int-cpd {
leaf vdu-id {
type leafref {
path "../../../vdu/id";
}
}
leaf cpd {
path "deref(../vdu-id)/../int-cpd/id";
}
}
}
/*
intCpd
we reference from the VDU's CP to the ext-CP instead of the
ext-CP to the VDU's CP.
*/
uses virtual-network-interface-requirements;
uses vnf-cpd;
}
......
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