Loading example-data/nfv.xml +36 −4 Original line number Diff line number Diff line Loading @@ -48,14 +48,26 @@ </sw-image-desc> <ext-cpd> <id>inside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>inside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>outside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>outside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -131,14 +143,26 @@ </sw-image-desc> <ext-cpd> <id>left</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>left</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>right</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>right</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -218,7 +242,9 @@ <virtual-link-desc> <id>fw2dpi</id> <connectivity-type> <layer-protocol>Ethernet</layer-protocol> <layer-protocol> <protocol>Ethernet</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading @@ -231,7 +257,9 @@ <virtual-link-desc> <id>mgmt</id> <connectivity-type> <layer-protocol>IPv4</layer-protocol> <layer-protocol> <protocol>IPv4</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading @@ -244,7 +272,9 @@ <virtual-link-desc> <id>r2fw</id> <connectivity-type> <layer-protocol>Ethernet</layer-protocol> <layer-protocol> <protocol>Ethernet</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading Loading @@ -467,7 +497,9 @@ <virtual-link-desc> <id>r2fw</id> <connectivity-type> <layer-protocol>IPv4</layer-protocol> <layer-protocol> <protocol>IPv4</protocol> </layer-protocol> </connectivity-type> <df> <id>r2fw</id> Loading src/yang/etsi-nfv-common.yang +16 −10 Original line number Diff line number Diff line Loading @@ -6,13 +6,13 @@ submodule etsi-nfv-common { description "Common data types for ETSI data models."; revision 2018-06-19 { revision 2019-03-18 { description "Initial revision Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 Ed251v244 ETSI GS NFV-IFA 011 Ed251v243"; ETSI GS NFV-IFA 014 Ed261v252 ETSI GS NFV-IFA 011 Ed261v254"; } /* Loading Loading @@ -293,14 +293,20 @@ submodule etsi-nfv-common { grouping connectivity-type { container connectivity-type { leaf layer-protocol { mandatory true; list layer-protocol { key "protocol"; leaf protocol { type identityref { base layer-protocol; } } description "Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire)."; "Identifies the protocols that the VL uses (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer protocol of the VL protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers."; reference "GS NFV IFA011: Section 7.1.7.3, ConnectivityType information element."; Loading src/yang/etsi-nfv-ns.yang +12 −10 Original line number Diff line number Diff line Loading @@ -11,14 +11,14 @@ submodule etsi-nfv-ns { description "Models for NS according to ETSI GS NFV-IFA 014."; revision 2017-01-20 { revision 2019-03-18 { description "Initial revision Common data structure to support NSD according to: ETSI GS NFV-IFA 011 Ed251v243"; ETSI GS NFV-IFA 014 Ed261v252"; reference "ETSI GS NFV-IFA 011 Ed251v243"; "ETSI GS NFV-IFA 014 Ed261v252"; } grouping resource-handle { Loading Loading @@ -250,6 +250,7 @@ submodule etsi-nfv-ns { } container qos { presence "VL QoS parameters"; description "The QoS information element specifies quality of service parameters applicable to a VL."; Loading Loading @@ -492,7 +493,8 @@ submodule etsi-nfv-ns { } container ns { leaf nsd-id { must ". = deref(../../ns-profile-id)/../nsd-id" { must ". = deref(../../nested-ns-profile-id)/" + "../nsd-id" { } type leafref { Loading Loading @@ -752,7 +754,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { mandatory true; default 1; type uint16; description "Minimum number of instances of the VNF based on this Loading @@ -763,7 +765,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { mandatory true; default 1; type uint16; description "Maximum number of instances of the VNF based on this Loading Loading @@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of VNF instances required for Loading Loading @@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of nested NS instances required Loading Loading @@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading @@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { type uint16; mandatory true; default 1; description "Maximum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading src/yang/etsi-nfv-pnf.yang +3 −3 Original line number Diff line number Diff line Loading @@ -12,15 +12,15 @@ submodule etsi-nfv-pnf { description "Models for PNFD according to GS NFV-IFA 014."; revision 2018-06-25 { revision 2019-03-18 { description "Initial revision. Common data structure to support VNFD according to: ETSI GS NFV-IFA 014 Ed251v244"; ETSI GS NFV-IFA 014 Ed261v252"; reference "ETSI GS NFV-IFA 014 Ed251v244"; "ETSI GS NFV-IFA 014 Ed261v252"; } grouping pnfd { Loading src/yang/etsi-nfv-vnf.yang +125 −12 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ submodule etsi-nfv-vnf { description "Models for VNFD according to GS NFV-IFA 011."; revision 2018-06-19 { revision 2019-03-18 { description "Initial revision. Common data structure to support VNFD according to: VNFD according to ETSI GS NFV-IFA 011 Ed251v243"; VNFD according to ETSI GS NFV-IFA 011 Ed261v254"; reference "ETSI GS NFV-IFA 011 Ed251v243"; "ETSI GS NFV-IFA 011 Ed261v254"; } grouping virtual-network-interface-requirements { Loading Loading @@ -56,7 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { mandatory true; default "false"; type boolean; description "Indicates whether fulfilling the constraint is Loading Loading @@ -623,7 +623,7 @@ submodule etsi-nfv-vnf { type uint16 { range "1..max"; } mandatory true; default 1; description "Number of virtual CPUs."; reference Loading Loading @@ -738,7 +738,7 @@ submodule etsi-nfv-vnf { enum "swap"; enum "ephemeral"; } mandatory true; default "root"; description "Type of virtualised storage resource (e.g. volume, object)."; Loading Loading @@ -856,7 +856,7 @@ submodule etsi-nfv-vnf { information element."; } leaf container-format { mandatory true; default "bare"; type enumeration { enum "aki" { description Loading Loading @@ -896,7 +896,7 @@ submodule etsi-nfv-vnf { information element."; } leaf disk-format { mandatory true; default "qcow2"; type enumeration { enum "aki" { description Loading Loading @@ -994,7 +994,7 @@ submodule etsi-nfv-vnf { information element."; } leaf image { mandatory true; default "."; type inet:uri; description "This is a reference to the actual software image. Loading Loading @@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf { information element."; } container qos { presence "VL QoS parameters"; description "QoS of the VL."; reference Loading Loading @@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour."; Loading @@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf { } leaf max-number-of-instances { type uint16; mandatory true; default 1; must ". >= ../nfv:min-number-of-instances"; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information Loading Loading @@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf { must ". >= ../../../../nfv:df/" + "nfv:vdu-profile[id=current()/../nfv:id]/" + "nfv:min-number-of-instances"; mandatory true; default 1; description "Number of instances of VNFC based on this VDU to deploy for this level."; Loading Loading @@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf { AffinityOrAntiAffinityGroup information element"; } } list indicator { key "id"; leaf id { type string; description "Unique identifier."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf name { type string; description "The human readable name of the VnfIndicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf indicator-value { type string; description "Defines the allowed values or value ranges of this indicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf source { type enumeration { enum vnf; enum em; enum both; } description "Describe the source of the indicator. The possible values are: • VNF. • EM. • Both. This tells the consumer where to send the subscription request."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } description "Declares the VNF indicators that are supported by this VNF (specific to this DF)."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list supported-vnf-interfaces { key "name"; leaf name { type enumeration { enum vnf-configuration; enum vnf-indicator; } description "Identifies an interface produced by the VNF. Valid values: - VNF_CONFIGURATION - VNF_INDICATOR"; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } leaf-list cpd-id { type leafref { path "../../../ext-cpd/id"; } description "References one or more CPDs from which to instantiate external CPs through which interface endpoints on the VNF side can be reached by the VNFM."; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } list interface-details { key "key"; leaf key { type string; } leaf value { type string; } } description "Indicates which interfaces the VNF produces and provides additional details on how to access the interface endpoints."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list monitoring-parameter { key "id"; Loading Loading
example-data/nfv.xml +36 −4 Original line number Diff line number Diff line Loading @@ -48,14 +48,26 @@ </sw-image-desc> <ext-cpd> <id>inside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>inside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>outside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>outside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -131,14 +143,26 @@ </sw-image-desc> <ext-cpd> <id>left</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>left</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>right</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>right</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -218,7 +242,9 @@ <virtual-link-desc> <id>fw2dpi</id> <connectivity-type> <layer-protocol>Ethernet</layer-protocol> <layer-protocol> <protocol>Ethernet</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading @@ -231,7 +257,9 @@ <virtual-link-desc> <id>mgmt</id> <connectivity-type> <layer-protocol>IPv4</layer-protocol> <layer-protocol> <protocol>IPv4</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading @@ -244,7 +272,9 @@ <virtual-link-desc> <id>r2fw</id> <connectivity-type> <layer-protocol>Ethernet</layer-protocol> <layer-protocol> <protocol>Ethernet</protocol> </layer-protocol> </connectivity-type> <df> <id>normal</id> Loading Loading @@ -467,7 +497,9 @@ <virtual-link-desc> <id>r2fw</id> <connectivity-type> <layer-protocol>IPv4</layer-protocol> <layer-protocol> <protocol>IPv4</protocol> </layer-protocol> </connectivity-type> <df> <id>r2fw</id> Loading
src/yang/etsi-nfv-common.yang +16 −10 Original line number Diff line number Diff line Loading @@ -6,13 +6,13 @@ submodule etsi-nfv-common { description "Common data types for ETSI data models."; revision 2018-06-19 { revision 2019-03-18 { description "Initial revision Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 Ed251v244 ETSI GS NFV-IFA 011 Ed251v243"; ETSI GS NFV-IFA 014 Ed261v252 ETSI GS NFV-IFA 011 Ed261v254"; } /* Loading Loading @@ -293,14 +293,20 @@ submodule etsi-nfv-common { grouping connectivity-type { container connectivity-type { leaf layer-protocol { mandatory true; list layer-protocol { key "protocol"; leaf protocol { type identityref { base layer-protocol; } } description "Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire)."; "Identifies the protocols that the VL uses (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer protocol of the VL protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers."; reference "GS NFV IFA011: Section 7.1.7.3, ConnectivityType information element."; Loading
src/yang/etsi-nfv-ns.yang +12 −10 Original line number Diff line number Diff line Loading @@ -11,14 +11,14 @@ submodule etsi-nfv-ns { description "Models for NS according to ETSI GS NFV-IFA 014."; revision 2017-01-20 { revision 2019-03-18 { description "Initial revision Common data structure to support NSD according to: ETSI GS NFV-IFA 011 Ed251v243"; ETSI GS NFV-IFA 014 Ed261v252"; reference "ETSI GS NFV-IFA 011 Ed251v243"; "ETSI GS NFV-IFA 014 Ed261v252"; } grouping resource-handle { Loading Loading @@ -250,6 +250,7 @@ submodule etsi-nfv-ns { } container qos { presence "VL QoS parameters"; description "The QoS information element specifies quality of service parameters applicable to a VL."; Loading Loading @@ -492,7 +493,8 @@ submodule etsi-nfv-ns { } container ns { leaf nsd-id { must ". = deref(../../ns-profile-id)/../nsd-id" { must ". = deref(../../nested-ns-profile-id)/" + "../nsd-id" { } type leafref { Loading Loading @@ -752,7 +754,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { mandatory true; default 1; type uint16; description "Minimum number of instances of the VNF based on this Loading @@ -763,7 +765,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { mandatory true; default 1; type uint16; description "Maximum number of instances of the VNF based on this Loading Loading @@ -1176,7 +1178,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of VNF instances required for Loading Loading @@ -1236,7 +1238,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of nested NS instances required Loading Loading @@ -1342,7 +1344,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading @@ -1353,7 +1355,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { type uint16; mandatory true; default 1; description "Maximum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading
src/yang/etsi-nfv-pnf.yang +3 −3 Original line number Diff line number Diff line Loading @@ -12,15 +12,15 @@ submodule etsi-nfv-pnf { description "Models for PNFD according to GS NFV-IFA 014."; revision 2018-06-25 { revision 2019-03-18 { description "Initial revision. Common data structure to support VNFD according to: ETSI GS NFV-IFA 014 Ed251v244"; ETSI GS NFV-IFA 014 Ed261v252"; reference "ETSI GS NFV-IFA 014 Ed251v244"; "ETSI GS NFV-IFA 014 Ed261v252"; } grouping pnfd { Loading
src/yang/etsi-nfv-vnf.yang +125 −12 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ submodule etsi-nfv-vnf { description "Models for VNFD according to GS NFV-IFA 011."; revision 2018-06-19 { revision 2019-03-18 { description "Initial revision. Common data structure to support VNFD according to: VNFD according to ETSI GS NFV-IFA 011 Ed251v243"; VNFD according to ETSI GS NFV-IFA 011 Ed261v254"; reference "ETSI GS NFV-IFA 011 Ed251v243"; "ETSI GS NFV-IFA 011 Ed261v254"; } grouping virtual-network-interface-requirements { Loading Loading @@ -56,7 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { mandatory true; default "false"; type boolean; description "Indicates whether fulfilling the constraint is Loading Loading @@ -623,7 +623,7 @@ submodule etsi-nfv-vnf { type uint16 { range "1..max"; } mandatory true; default 1; description "Number of virtual CPUs."; reference Loading Loading @@ -738,7 +738,7 @@ submodule etsi-nfv-vnf { enum "swap"; enum "ephemeral"; } mandatory true; default "root"; description "Type of virtualised storage resource (e.g. volume, object)."; Loading Loading @@ -856,7 +856,7 @@ submodule etsi-nfv-vnf { information element."; } leaf container-format { mandatory true; default "bare"; type enumeration { enum "aki" { description Loading Loading @@ -896,7 +896,7 @@ submodule etsi-nfv-vnf { information element."; } leaf disk-format { mandatory true; default "qcow2"; type enumeration { enum "aki" { description Loading Loading @@ -994,7 +994,7 @@ submodule etsi-nfv-vnf { information element."; } leaf image { mandatory true; default "."; type inet:uri; description "This is a reference to the actual software image. Loading Loading @@ -1061,6 +1061,7 @@ submodule etsi-nfv-vnf { information element."; } container qos { presence "VL QoS parameters"; description "QoS of the VL."; reference Loading Loading @@ -1223,7 +1224,7 @@ submodule etsi-nfv-vnf { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour."; Loading @@ -1233,7 +1234,7 @@ submodule etsi-nfv-vnf { } leaf max-number-of-instances { type uint16; mandatory true; default 1; must ". >= ../nfv:min-number-of-instances"; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information Loading Loading @@ -1637,7 +1638,7 @@ submodule etsi-nfv-vnf { must ". >= ../../../../nfv:df/" + "nfv:vdu-profile[id=current()/../nfv:id]/" + "nfv:min-number-of-instances"; mandatory true; default 1; description "Number of instances of VNFC based on this VDU to deploy for this level."; Loading Loading @@ -2056,6 +2057,118 @@ submodule etsi-nfv-vnf { AffinityOrAntiAffinityGroup information element"; } } list indicator { key "id"; leaf id { type string; description "Unique identifier."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf name { type string; description "The human readable name of the VnfIndicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf indicator-value { type string; description "Defines the allowed values or value ranges of this indicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf source { type enumeration { enum vnf; enum em; enum both; } description "Describe the source of the indicator. The possible values are: • VNF. • EM. • Both. This tells the consumer where to send the subscription request."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } description "Declares the VNF indicators that are supported by this VNF (specific to this DF)."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list supported-vnf-interfaces { key "name"; leaf name { type enumeration { enum vnf-configuration; enum vnf-indicator; } description "Identifies an interface produced by the VNF. Valid values: - VNF_CONFIGURATION - VNF_INDICATOR"; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } leaf-list cpd-id { type leafref { path "../../../ext-cpd/id"; } description "References one or more CPDs from which to instantiate external CPs through which interface endpoints on the VNF side can be reached by the VNFM."; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } list interface-details { key "key"; leaf key { type string; } leaf value { type string; } } description "Indicates which interfaces the VNF produces and provides additional details on how to access the interface endpoints."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list monitoring-parameter { key "id"; Loading