Commit 7b611165 authored by jethanandani's avatar 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 { ...@@ -113,40 +113,40 @@ submodule etsi-nfv-vnf {
leaf id { leaf id {
type string; type string;
description description
"Identifier of this Cpd information element."; "Identifier of this Cpd information element.";
reference 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 { leaf layer-protocol {
mandatory true; mandatory true;
type identityref { type identityref {
base layer-protocol; base layer-protocol;
} }
description 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, purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire,
etc.)."; etc.).";
reference 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 { leaf role {
type identityref { type identityref {
base cp-role; base cp-role;
} }
description 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 traffic flow patterns in the VNF or parent NS. For example a
VNF with a tree flow pattern within the VNF will have legal VNF with a tree flow pattern within the VNF will have legal
cpRoles of ROOT and LEAF."; cpRoles of ROOT and LEAF.";
reference 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 { leaf description {
type string; type string;
description description
"Human readable description of the connection point"; "Human readable description of the connection point";
reference 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 { container protocol {
description description
...@@ -157,14 +157,14 @@ submodule etsi-nfv-vnf { ...@@ -157,14 +157,14 @@ submodule etsi-nfv-vnf {
reference reference
"GS NFV IFA011: Section 7.1.6.3, Cpd information element."; "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
leaf associated-layer-protocol { leaf associated-layer-protocol {
type identityref { type identityref {
base layer-protocol; base layer-protocol;
} }
description description
"One of the values of the attribute layerProtocol of the Cpd "One of the values of the attribute layerProtocol of the Cpd
IE."; IE.";
reference reference
"GS NFV IFA011: Section 7.1.6.8, CpProtocolData information "GS NFV IFA011: Section 7.1.6.8, CpProtocolData information
element."; element.";
} }
...@@ -183,74 +183,74 @@ submodule etsi-nfv-vnf { ...@@ -183,74 +183,74 @@ submodule etsi-nfv-vnf {
• … • …
The content type shall be aligned with the address type The content type shall be aligned with the address type
supported by the layerProtocol attribute of the parent CPD."; supported by the layerProtocol attribute of the parent CPD.";
reference reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information "GS NFV IFA011: Section 7.1.3.3, AddressData information
element."; element.";
} }
container l2-address-data { container l2-address-data {
when "../address-type='mac-address'"; when "../address-type='mac-address'";
} }
container l3-address-data { container l3-address-data {
when "../address-type='ip-address'"; when "../address-type='ip-address'";
leaf ip-address-assignment { leaf ip-address-assignment {
type boolean; type boolean;
description description
"Specify if the address assignment is the responsibility "Specify if the address assignment is the responsibility
of management and orchestration function or not. If it of management and orchestration function or not. If it
is set to True, it is the management and orchestration is set to True, it is the management and orchestration
function responsibility. "; function responsibility. ";
reference reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
} }
leaf floating-ip-activated { leaf floating-ip-activated {
type boolean; type boolean;
description description
"Specify if the floating IP scheme is activated on the CP "Specify if the floating IP scheme is activated on the CP
or not."; or not.";
reference reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
} }
leaf ip-address-type { leaf ip-address-type {
type enumeration { type enumeration {
enum "ipv4"; enum "ipv4";
enum "ipv6"; enum "ipv6";
} }
description description
"Define address type. The address type should be aligned "Define address type. The address type should be aligned
with the address type supported by the layerProtocol with the address type supported by the layerProtocol
attribute of the parent VnfExtCpd."; attribute of the parent VnfExtCpd.";
reference reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
} }
leaf number-of-ip-addresses { leaf number-of-ip-addresses {
type uint32; type uint32;
description description
"Minimum number of IP addresses to be assigned based on "Minimum number of IP addresses to be assigned based on
this L3AddressData information element."; this L3AddressData information element.";
reference reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData "GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."; information element.";
} }
} }
description description
"The AddressData information element supports providing "The AddressData information element supports providing
information about the addressing scheme and parameters information about the addressing scheme and parameters
applicable to a CP."; applicable to a CP.";
reference reference
"GS NFV IFA011: Section 7.1.3.3, AddressData information "GS NFV IFA011: Section 7.1.3.3, AddressData information
element."; element.";
} }
} }
leaf trunk-mode { leaf trunk-mode {
type boolean; type boolean;
description 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)."; is in Trunk mode (802.1Q or other).";
reference 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 { ...@@ -395,30 +395,18 @@ submodule etsi-nfv-vnf {
reference reference
"GS NFV IFA011: Section 7.1.6.2, Vdu information element"; "GS NFV IFA011: Section 7.1.6.2, Vdu information element";
choice cp-connection { leaf int-virtual-link-desc {
mandatory true; type leafref {
description path "../../../nfv:int-virtual-link-desc/nfv:id";
"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";
}
} }
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 { leaf bitrate-requirement {
type uint64; type uint64;
units "Mbps"; units "Mbps";
...@@ -1269,21 +1257,28 @@ submodule etsi-nfv-vnf { ...@@ -1269,21 +1257,28 @@ submodule etsi-nfv-vnf {
reference reference
"GS NFV IFA011: Section 7.1.2, VNFD information element."; "GS NFV IFA011: Section 7.1.2, VNFD information element.";
leaf int-virtual-link-desc { choice cp-connection {
description leaf int-virtual-link-desc {
"Reference to the internal Virtual Link Descriptor (VLD) description
to which CPs instantiated from this external CP "Reference to the internal Virtual Link Descriptor (VLD)
Descriptor (CPD) connect. Either intVirtualLinkDesc or to which CPs instantiated from this external CP
intCpd shall be present."; Descriptor (CPD) connect. Either intVirtualLinkDesc or
type leafref { intCpd shall be present.";
path "../../nfv:int-virtual-link-desc/nfv:id"; 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 virtual-network-interface-requirements;
uses vnf-cpd; 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