Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
SOL006
Commits
f4462982
Commit
f4462982
authored
Mar 05, 2019
by
jethanandani
Browse files
Merge branch 'master' into 'bug#97'
# Conflicts: # src/yang/etsi-nfv-ns.yang
parents
c04eafec
b178fa91
Pipeline
#362
passed with stage
in 0 seconds
Changes
5
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
example-data/nfv.xml
View file @
f4462982
...
...
@@ -4,7 +4,7 @@
<provider>
My Company
</provider>
<product-name>
My Company ASAv
</product-name>
<software-version>
9.8
</software-version>
<version>
9.8
</version>
<version>
9.8
</version>
<vnfm-info>
My Company Vnfm
</vnfm-info>
<vdu>
<id>
firewall
</id>
...
...
@@ -206,7 +206,7 @@
<vnf-profile>
<id>
firewall
</id>
<vnfd-id>
ASA
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
...
...
@@ -241,7 +241,6 @@
</sapd>
<virtual-link-desc>
<id>
fw2dpi
</id>
<version>
1.0
</version>
<connectivity-type>
<layer-protocol>
<protocol>
Ethernet
</protocol>
...
...
@@ -257,7 +256,6 @@
</virtual-link-desc>
<virtual-link-desc>
<id>
mgmt
</id>
<version>
1.0
</version>
<connectivity-type>
<layer-protocol>
<protocol>
IPv4
</protocol>
...
...
@@ -273,7 +271,6 @@
</virtual-link-desc>
<virtual-link-desc>
<id>
r2fw
</id>
<version>
1.0
</version>
<connectivity-type>
<layer-protocol>
<protocol>
Ethernet
</protocol>
...
...
@@ -292,39 +289,51 @@
<vnf-profile>
<id>
firewall
</id>
<vnfd-id>
ASA
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
mgmt
</virtual-link-profile-id>
<cpd-id>
management
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
management
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
outside
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
outside
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>
router
</id>
<vnfd-id>
CSR
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
mgmt
</virtual-link-profile-id>
<cpd-id>
management
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
router
</constituent-base-element-id>
<constituent-cpd-id>
management
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
right
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
router
</constituent-base-element-id>
<constituent-cpd-id>
right
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>
mgmt
</id>
<virtual-link-desc-id>
mgmt
</virtual-link-desc-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
1000
</root>
</max-bitrate-requirements>
...
...
@@ -335,7 +344,7 @@
<virtual-link-profile>
<id>
r2fw
</id>
<virtual-link-desc-id>
r2fw
</virtual-link-desc-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
10000000
</root>
</max-bitrate-requirements>
...
...
@@ -361,37 +370,52 @@
<vnf-profile>
<id>
firewall
</id>
<vnfd-id>
ASA
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
fw2dpi
</virtual-link-profile-id>
<cpd-id>
inside
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
inside
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>
mgmt
</virtual-link-profile-id>
<cpd-id>
management
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
management
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
outside
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
outside
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>
router
</id>
<vnfd-id>
CSR
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
mgmt
</virtual-link-profile-id>
<cpd-id>
management
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
router
</constituent-base-element-id>
<constituent-cpd-id>
management
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
right
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
router
</constituent-base-element-id>
<constituent-cpd-id>
right
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<pnf-profile>
...
...
@@ -399,13 +423,16 @@
<pnfd-id>
physical-dpi
</pnfd-id>
<virtual-link-connectivity>
<virtual-link-profile-id>
fw2dpi
</virtual-link-profile-id>
<cpd-id>
outside
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
physical-dpi
</constituent-base-element-id>
<constituent-cpd-id>
outside
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</pnf-profile>
<virtual-link-profile>
<id>
fw2dpi
</id>
<virtual-link-desc-id>
fw2dpi
</virtual-link-desc-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
1000000
</root>
</max-bitrate-requirements>
...
...
@@ -416,7 +443,7 @@
<virtual-link-profile>
<id>
mgmt
</id>
<virtual-link-desc-id>
mgmt
</virtual-link-desc-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
1000
</root>
</max-bitrate-requirements>
...
...
@@ -427,7 +454,7 @@
<virtual-link-profile>
<id>
r2fw
</id>
<virtual-link-desc-id>
r2fw
</virtual-link-desc-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
1000000
</root>
</max-bitrate-requirements>
...
...
@@ -469,7 +496,6 @@
</sapd>
<virtual-link-desc>
<id>
r2fw
</id>
<version>
1.0
</version>
<connectivity-type>
<layer-protocol>
<protocol>
IPv4
</protocol>
...
...
@@ -488,19 +514,22 @@
<vnf-profile>
<id>
router
</id>
<vnfd-id>
CSR
</vnfd-id>
<flavor-id>
normal
</flavor-id>
<flavo
u
r-id>
normal
</flavo
u
r-id>
<instantiation-level>
single
</instantiation-level>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
right
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
router
</constituent-base-element-id>
<constituent-cpd-id>
right
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>
r2fw
</id>
<virtual-link-desc-id>
r2fw
</virtual-link-desc-id>
<flavor-id>
r2fw
</flavor-id>
<flavo
u
r-id>
r2fw
</flavo
u
r-id>
<max-bitrate-requirements>
<root>
500
</root>
</max-bitrate-requirements>
...
...
@@ -528,7 +557,10 @@
<max-number-of-instances>
1
</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>
r2fw
</virtual-link-profile-id>
<cpd-id>
outside
</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>
firewall
</constituent-base-element-id>
<constituent-cpd-id>
outside
</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</ns-profile>
</df>
...
...
src/yang/etsi-nfv-common.yang
View file @
f4462982
...
...
@@ -215,8 +215,8 @@ submodule etsi-nfv-common {
enum
"end-healing"
;
enum
"start-termination"
;
enum
"end-termination"
;
enum
"start-vnf-flavor-change"
;
enum
"end-vnf-flavor-change"
;
enum
"start-vnf-flavo
u
r-change"
;
enum
"end-vnf-flavo
u
r-change"
;
enum
"start-vnf-operation-change"
;
enum
"end-vnf-operation-change"
;
enum
"start-vnf-ext-conn-change"
;
...
...
@@ -571,5 +571,115 @@ submodule etsi-nfv-common {
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element"
;
}
leaf
security-group-rule-id
{
type
leafref
{
path
"/nfv/vnfd/security-group-rule/id"
;
}
description
"Reference of the security group rules bound to this
CPD."
;
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element"
;
}
}
grouping
security-group-rule
{
list
security-group-rule
{
key
"id"
;
leaf
id
{
type
string
;
description
"Identifier of this SecurityGroupRule information
element."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
description
{
type
string
;
description
"Human readable description of the security group rule."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
direction
{
type
enumeration
{
enum
ingress
;
enum
egress
;
}
default
"ingress"
;
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
ether-type
{
type
enumeration
{
enum
ipv4
;
enum
ipv6
;
}
default
"ipv4"
;
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
protocol
{
type
enumeration
{
enum
tcp
;
enum
udp
;
enum
icmp
;
}
default
"tcp"
;
description
"Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults
to TCP."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
port-range-min
{
must
". <= ../port-range-max"
;
type
uint16
;
default
"0"
;
description
"Indicates minimum port number in the range that is
matched by the security group rule. Defaults to 0."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
leaf
port-range-max
{
must
". >= ../port-range-min"
;
type
uint16
;
default
"65535"
;
description
"Indicates maximum port number in the range that is
matched by the security group rule. Defaults to 65535."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
}
description
"Defines security group rules to be used by the VNF."
;
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element."
;
}
}
}
src/yang/etsi-nfv-ns.yang
View file @
f4462982
...
...
@@ -226,25 +226,6 @@ submodule etsi-nfv-ns {
information element"
;
}
leaf
provider
{
type
string
;
description
"Defines the organization generating the VLD."
;
reference
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element"
;
}
leaf
version
{
mandatory
true
;
type
string
;
description
"Specifies the version of the VLD."
;
reference
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element"
;
}
uses
connectivity-type
;
list
df
{
...
...
@@ -512,7 +493,8 @@ submodule etsi-nfv-ns {
}
container
ns
{
leaf
nsd-id
{
must
". = deref(../../nested-ns-profile-id)/../nsd-id"
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
type
leafref
{
...
...
@@ -693,7 +675,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.3.2.2 NsDf information element"
;
}
leaf
flavor-key
{
leaf
flavo
u
r-key
{
type
leafref
{
path
"../monitored-info/id"
;
}
...
...
@@ -744,7 +726,7 @@ submodule etsi-nfv-ns {
element"
;
}
leaf
flavor-id
{
leaf
flavo
u
r-id
{
mandatory
true
;
type
leafref
{
path
"deref(../vnfd-id)/../df/id"
;
...
...
@@ -759,7 +741,7 @@ submodule etsi-nfv-ns {
leaf
instantiation-level
{
mandatory
true
;
type
leafref
{
path
"deref(../flavor-id)/../instantiation-level/id"
;
path
"deref(../flavo
u
r-id)/../instantiation-level/id"
;
}
description
"Identifier of the instantiation level of the VNF DF
...
...
@@ -834,18 +816,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"
;
}
}
}
}
...
...
@@ -901,18 +906,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"
;
}
}
}
}
...
...
@@ -947,7 +975,7 @@ submodule etsi-nfv-ns {
information element"
;
}
leaf
flavor-id
{
leaf
flavo
u
r-id
{
mandatory
true
;
type
leafref
{
path
"deref(../virtual-link-desc-id)/../df/id"
;
...
...
@@ -1367,28 +1395,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"
;
...
...
@@ -1512,8 +1557,8 @@ submodule etsi-nfv-ns {
leaf
collection-period
{
type
string
;
description
"An attribute that describes the periodicity at
which
to collect the performance information."
;
"An attribute that describes the periodicity at
which
to collect the performance information."
;
reference
"GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
information element"
;
...
...
src/yang/etsi-nfv-pnf.yang
View file @
f4462982
...
...
@@ -111,6 +111,7 @@ submodule etsi-nfv-pnf {
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element"
;
}
uses
security-group-rule
;
}
}
}
src/yang/etsi-nfv-vnf.yang
View file @
f4462982
This diff is collapsed.
Click to expand it.