From f1ed50a853291af1759996bb6d46861ba13a3cf1 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Fri, 11 Jan 2019 12:46:17 -0800 Subject: [PATCH] Fix for bug#95 --- example-data/nfv.xml | 60 ++++++++++++---- src/yang/etsi-nfv-ns.yang | 145 +++++++++++++++++++++++++++----------- 2 files changed, 152 insertions(+), 53 deletions(-) diff --git a/example-data/nfv.xml b/example-data/nfv.xml index 0c603f5..89fcacc 100644 --- a/example-data/nfv.xml +++ b/example-data/nfv.xml @@ -274,11 +274,17 @@ 1 mgmt - management + + firewall + management + r2fw - outside + + firewall + outside + @@ -290,11 +296,17 @@ 1 mgmt - management + + router + management + r2fw - right + + router + right + @@ -343,15 +355,24 @@ 1 fw2dpi - inside + + firewall + inside + mgmt - management + + firewall + management + r2fw - outside + + firewall + outside + @@ -363,11 +384,17 @@ 1 mgmt - management + + router + management + r2fw - right + + router + right + @@ -375,7 +402,10 @@ physical-dpi fw2dpi - outside + + physical-dpi + outside + @@ -468,7 +498,10 @@ 1 r2fw - right + + router + right + @@ -502,7 +535,10 @@ 1 r2fw - outside + + firewall + outside + diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 923ea1d..ad5f9b3 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -807,18 +807,41 @@ submodule etsi-nfv-ns { information element."; } - leaf-list cpd-id { - type leafref { - path "deref(../../vnfd-id)/../ext-cpd/id"; - } + list constituent-cpd-id { + key "constituent-base-element-id"; + description - "References the descriptor of a connection point on a - VNF/PNF or a SAP which connects to virtual links - instantiated from the profile identified in the - virtualLinkProfileId attribute."; + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; + + leaf constituent-base-element-id { + type leafref { + path "../../../id"; + } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; + } + + leaf constituent-cpd-id { + type leafref { + path "deref(../../../vnfd-id)/../nfv:ext-cpd/nfv:id"; + } + description + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; + reference + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; + } } } } @@ -874,18 +897,41 @@ submodule etsi-nfv-ns { information element."; } - leaf-list cpd-id { - type leafref { - path "deref(../../pnfd-id)/../ext-cpd/id"; - } + list constituent-cpd-id { + key "constituent-base-element-id"; + description - "References the descriptor of a connection point on a - VNF/PNF or a SAP which connects to virtual links - instantiated from the profile identified in the - virtualLinkProfileId attribute."; + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; + + leaf constituent-base-element-id { + type leafref { + path "../../../id"; + } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; + } + + leaf constituent-cpd-id { + type leafref { + path "deref(../../../pnfd-id)/../nfv:ext-cpd/nfv:id"; + } + description + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; + reference + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; + } } } } @@ -1340,28 +1386,45 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity information element."; } - leaf-list cpd-id { - type leafref { - path "deref(../../nsd-id)/../sapd/id"; - } - description - "References the descriptor of a connection point on a - VNF/PNF or a SAP which connects to virtual links - instantiated from the profile identified in the - virtualLinkProfileId attribute."; + + list constituent-cpd-id { + key "constituent-base-element-id"; + + description + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; - } - description - "Defines the connection information of the NS, it - contains connection relationship between an NS SAP and - a NS virtual Link of the composite NS."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; - } - } + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; + + leaf constituent-base-element-id { + type leafref { + path "../../../id"; + } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; + } + + leaf constituent-cpd-id { + type leafref { + path "deref(../../../nsd-id)/../nfv:sapd/nfv:id"; + } + description + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; + reference + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; + } + } + } + } list dependencies { key "id"; -- GitLab