From ebba267848f3bbde5b9a54021ac3f7bc38969481 Mon Sep 17 00:00:00 2001 From: Eduardo Sousa Date: Thu, 29 Nov 2018 15:42:01 +0000 Subject: [PATCH] Adding support to different ingress and egress ports (SFC) Change-Id: Idea50e7aabf330b1957e4086156a8f32340a1ece Signed-off-by: Eduardo Sousa --- models/yang/nsd-base.yang | 121 +++++++++++++++++++++++--------------- models/yang/nsr.yang | 11 +++- 2 files changed, 82 insertions(+), 50 deletions(-) diff --git a/models/yang/nsd-base.yang b/models/yang/nsd-base.yang index c164078..3f358a5 100644 --- a/models/yang/nsd-base.yang +++ b/models/yang/nsd-base.yang @@ -416,61 +416,84 @@ module nsd-base uses rsp-common; list vnfd-connection-point-ref { // not common - description - "A list of references to connection points."; - key "member-vnf-index-ref"; + description + "A list of references to connection points."; + key "member-vnf-index-ref"; - leaf member-vnf-index-ref { - description "Reference to member-vnf within constituent-vnfds"; - type leafref { - path "../../../../constituent-vnfd/member-vnf-index"; + leaf member-vnf-index-ref { + description "Reference to member-vnf within constituent-vnfds"; + type leafref { + path "../../../../constituent-vnfd/member-vnf-index"; + } } - } - leaf order { - type uint8; - description - "A number that denotes the order of a VNF in a chain"; - } + leaf order { + type uint8; + description + "A number that denotes the order of a VNF in a chain"; + } - leaf vnfd-id-ref { - description - "A reference to a vnfd. This is a - leafref to path: - ../../../../nsd:constituent-vnfd - + [nsd:id = current()/../nsd:id-ref] - + /nsd:vnfd-id-ref"; - - type leafref { - path "../../../../constituent-vnfd" + - "[member-vnf-index = current()/../member-vnf-index-ref]" + - "/vnfd-id-ref"; - } - } + leaf vnfd-id-ref { + description + "A reference to a vnfd. This is a + leafref to path: + ../../../../nsd:constituent-vnfd + + [nsd:id = current()/../nsd:id-ref] + + /nsd:vnfd-id-ref"; - leaf vnfd-connection-point-ref { - description - "A reference to a connection point name - in a vnfd. This is a leafref to path: - /vnfd:vnfd-catalog/vnfd:vnfd - + [vnfd:id = current()/../nsd:vnfd-id-ref] - + /vnfd:connection-point/vnfd:name - NOTE: An issue with confd is preventing the - use of xpath. Seems to be an issue with leafref - to leafref, whose target is in a different module. - Once that is resolved this will switched to use - leafref"; - // TODO: Keeping as string as this needs to be - // diffenent lvel based of if it is nsd-catalog or - // in nsr. - // type leafref { - // path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" + - // "[vnfd:id = current()/../vnfd-id-ref]/" + - // "vnfd:connection-point/vnfd:name"; - // } - type string; + type leafref { + path "../../../../constituent-vnfd" + + "[member-vnf-index = current()/../member-vnf-index-ref]" + + "/vnfd-id-ref"; + } + } + + leaf vnfd-ingress-connection-point-ref { + description + "A reference to a connection point name + in a vnfd. This is a leafref to path: + /vnfd:vnfd-catalog/vnfd:vnfd + + [vnfd:id = current()/../nsd:vnfd-id-ref] + + /vnfd:connection-point/vnfd:name + NOTE: An issue with confd is preventing the + use of xpath. Seems to be an issue with leafref + to leafref, whose target is in a different module. + Once that is resolved this will switched to use + leafref"; + // TODO: Keeping as string as this needs to be + // diffenent lvel based of if it is nsd-catalog or + // in nsr. + // type leafref { + // path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" + + // "[vnfd:id = current()/../vnfd-id-ref]/" + + // "vnfd:connection-point/vnfd:name"; + // } + type string; + } + + leaf vnfd-egress-connection-point-ref { + description + "A reference to a connection point name + in a vnfd. This is a leafref to path: + /vnfd:vnfd-catalog/vnfd:vnfd + + [vnfd:id = current()/../nsd:vnfd-id-ref] + + /vnfd:connection-point/vnfd:name + NOTE: An issue with confd is preventing the + use of xpath. Seems to be an issue with leafref + to leafref, whose target is in a different module. + Once that is resolved this will switched to use + leafref"; + // TODO: Keeping as string as this needs to be + // diffenent lvel based of if it is nsd-catalog or + // in nsr. + // type leafref { + // path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" + + // "[vnfd:id = current()/../vnfd-id-ref]/" + + // "vnfd:connection-point/vnfd:name"; + // } + type string; + } } - } } //rsp list classifier { diff --git a/models/yang/nsr.yang b/models/yang/nsr.yang index 3547866..48ac592 100644 --- a/models/yang/nsr.yang +++ b/models/yang/nsr.yang @@ -507,7 +507,16 @@ module nsr path "../../../../../../vnfr:vnfr-catalog/vnfr:vnfr/vnfr:name"; } } - leaf vnfr-connection-point-ref { + leaf vnfr-ingress-connection-point-ref { + description + "A reference to a vnfr connection point."; + type leafref { + path "../../../../../../vnfr:vnfr-catalog/vnfr:vnfr" + + "[vnfr:id = current()/../vnfr-id-ref]" + + "/vnfr:connection-point/vnfr:name"; + } + } + leaf vnfr-egress-connection-point-ref { description "A reference to a vnfr connection point."; type leafref { -- 2.17.1