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
94a5779a
Commit
94a5779a
authored
Apr 01, 2021
by
ramanathan
Browse files
Merge branch 'dev-v3.5.1' into 'issue#34'
# Conflicts: # src/yang/etsi-nfv-vnf.yang
parents
6d760e2d
f64d644f
Pipeline
#6715
passed with stage
in 0 seconds
Changes
5
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
.jenkins.sh
View file @
94a5779a
...
...
@@ -19,7 +19,7 @@ docker run "$IMG"
echo
"Building HTML tree"
docker run
-v
"
$(
pwd
)
/src/yang/:/yang/"
mjethanandani/pyang
\
"/bin/sh"
-c
"cd /yang/ && pyang -f jstree -p /yang/
\
/yang/etsi-nfv.yang > etsi-nfv.html"
/yang/etsi-nfv
-descriptors
.yang > etsi-nfv.html"
sed
-r
-i
's|<a href=\"http://www.tail-f.com">|<a href="http://etsi.org">|g'
src/yang/etsi-nfv.html
sed
-r
-i
's|data\:image/gif\;base64,R0lGODlhS.*RCAA7|https://www.etsi.org/images/ETSILogoTwitter.png\" height=\"100|g'
src/yang/etsi-nfv.html
...
...
example-data/complex-vnfd.xml
View file @
94a5779a
...
...
@@ -240,7 +240,7 @@
</lcm-operations-configuration>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
<
type>
anti-affinity
</type
>
<
affinityorAntiaffinity>
anti-affinity
</affinityorAntiaffinity
>
<scope>
nfvi-node
</scope>
</affinity-or-anti-affinity-group>
</df>
...
...
@@ -328,7 +328,7 @@
</lcm-operations-configuration>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
<
type>
anti-affinity
</type
>
<
affinityorAntiaffinity>
anti-affinity
</affinityorAntiaffinity
>
<scope>
nfvi-node
</scope>
</affinity-or-anti-affinity-group>
</df>
...
...
src/yang/etsi-nfv-common.yang
View file @
94a5779a
...
...
@@ -482,8 +482,11 @@ submodule etsi-nfv-common {
"Applicable to VirtualComputeDesc and VirtualStorageDesc.
When present, specifies the allowed migration types in the
order of preference in case of an impact starting with the
most preferred type. Possible values: NO_MIGRATION,
OFFLINE_MIGRATION, LIVE_MIGRATION."
;
most preferred type.
Values:
• NO_MIGRATION
• OFFLINE_MIGRATION
• LIVE_MIGRATION."
;
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element"
;
...
...
@@ -565,11 +568,15 @@ submodule etsi-nfv-common {
}
min-elements
1
;
description
"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."
;
"Specifies the protocols that the VL uses
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc."
;
reference
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType
information element."
;
...
...
@@ -578,7 +585,7 @@ submodule etsi-nfv-common {
leaf
flow-pattern
{
type
flow-pattern
;
description
"
Ident
ifies the flow pattern of the connectivity (Line,
"
Spec
ifies the flow pattern of the connectivity (Line,
Tree, Mesh)."
;
reference
"GS NFV IFA011: Section 7.1.7.3, ConnectivityType
...
...
@@ -700,9 +707,15 @@ submodule etsi-nfv-common {
base
layer-protocol
;
}
description
"Identifies a protocol that the connection points
corresponding to the CPD support for connectivity purposes
(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)."
;
"Specifies which protocol the CP uses for connectivity purposes
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc."
;
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element"
;
}
...
...
@@ -740,7 +753,15 @@ submodule etsi-nfv-common {
}
description
"One of the values of the attribute layerProtocol of the Cpd
IE."
;
IE.
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc."
;
reference
"GS NFV IFA011: Section 7.1.6.8 CpProtocolData information
element"
;
...
...
@@ -756,10 +777,10 @@ submodule etsi-nfv-common {
description
"Describes the type of the address to be assigned to the
CP instantiated from the parent CPD.
Value:
• MAC address
.
• IP address
.
•
E
tc.
Value
s
:
• MAC address
• IP address
•
e
tc.
The content type shall be aligned with the address type
supported by the layerProtocol attribute of the parent
CPD."
;
...
...
@@ -826,9 +847,10 @@ submodule etsi-nfv-common {
enum
"ipv6"
;
}
description
"Define address type. The address type should be aligned
with the address type supported by the layerProtocol
attribute of the parent VnfExtCpd."
;
"Define address type.
Values:
• IPV4
• IPV6."
;
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."
;
...
...
@@ -843,6 +865,16 @@ submodule etsi-nfv-common {
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."
;
}
leaf
fixed-ip-address
{
type
string
;
description
"IP address to be assigned to the CP instance."
;
reference
"GS NFV IFA011: Section 7.1.3.4, L3AddressData
information element."
;
}
}
description
"Provides information on the addresses to be assigned to the
...
...
@@ -907,7 +939,10 @@ submodule etsi-nfv-common {
default
"ingress"
;
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS."
;
Values:
• INGRESS
• EGRESS
Defaults to INGRESS."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
...
...
@@ -921,7 +956,10 @@ submodule etsi-nfv-common {
default
"ipv4"
;
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4."
;
Values:
• IPV4
• IPV6
Defaults to IPV4."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
...
...
@@ -937,8 +975,13 @@ submodule etsi-nfv-common {
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."
;
protocol registry.
Values:
• TCP
• UDP
• ICMP
• etc.
Defaults to TCP."
;
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element."
;
...
...
src/yang/etsi-nfv-ns.yang
View file @
94a5779a
...
...
@@ -62,8 +62,10 @@ submodule etsi-nfv-ns {
leaf
type
{
type
affinity-type
;
description
"Specifies whether the rule is an affinity rule or an
anti-affinity rule."
;
"Specifies the rule.
Values:
• AFFINITY
• ANTI_AFFINITY."
;
reference
"GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element."
;
...
...
@@ -72,8 +74,13 @@ submodule etsi-nfv-ns {
leaf
scope
{
type
affinity-scope
;
description
"Specifies the scope of the rule, possible values are
'NFVI-PoP', 'NFVI-node' network-link-and-node etc."
;
"Specifies the scope of the rule.
Values:
• NFVI_POP
• ZONE
• ZONE_GROUP
• NFVI_NODE
• etc."
;
reference
"GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element."
;
...
...
@@ -173,27 +180,6 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
information element"
;
leaf
id
{
type
string
;
description
"Identifier of this Cpd information element."
;
reference
"GS NFV IFA014: Section 6.6.3.1 Cpd information element"
;
}
leaf
address-assignment
{
type
boolean
;
description
"Specify whether the SAP address assignment is under the
responsibility of management and orchestration functions
or not. If it is set to True, management and
orchestration functions are responsible for assigning
addresses to the access points instantiated from this
SAPD."
;
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element"
;
}
choice
cpd-or-virtual-link
{
leaf
virtual-link-desc
{
type
leafref
{
...
...
@@ -258,8 +244,22 @@ submodule etsi-nfv-ns {
}
}
}
uses
cpd
;
leaf
security-group-rule-id
{
type
leafref
{
path
"../../security-group-rule/id"
;
}
description
"Reference of the security group rules bound to this
CPD."
;
reference
"GS NFV IFA014: Section 6.6.3 Cpd information element"
;
}
}
uses
security-group-rule
;
list
virtual-link-desc
{
key
"id"
;
description
...
...
@@ -631,7 +631,7 @@ submodule etsi-nfv-ns {
path
"../../../nfp-position-element/id"
;
}
description
"Reference
to
one or a pair of CPDs or SAPDs."
;
"Reference
s
one or a pair of CPDs or SAPDs."
;
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"
;
...
...
@@ -642,16 +642,20 @@ submodule etsi-nfv-ns {
base
forwarding-behaviour
;
}
description
"
Ident
ifies a rule to apply to forward traffic to CP or
SAP instances corresponding to the referenced CP
D(s)
and SAPD
(s). The minimum list of rules to be supported
"
Spec
ifies a rule to apply to forward traffic to CP or
SAP instances corresponding to the referenced CP
profiles
(s). The minimum list of rules to be supported
shall include:
• ALL = Traffic flows shall be forwarded simultaneously
to all CP or SAP instances created from the
referenced CP profile(s).
• LB = Traffic flows shall be forwarded to one CP or SAP
instance created from the referenced CP profile(s)
selected based on a load-balancing algorithm."
;
selected based on a load-balancing algorithm
Values:
• ALL
• LB
• etc."
;
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element"
;
...
...
@@ -758,7 +762,7 @@ submodule etsi-nfv-ns {
leaf
id
{
type
string
;
description
"Identifier of this
v
nfProfile information element. It
"Identifier of this
V
nfProfile information element. It
uniquely identifies a VnfProfile."
;
reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information
...
...
@@ -783,7 +787,7 @@ submodule etsi-nfv-ns {
path
"deref(../vnfd-id)/../nfv:df/nfv:id"
;
}
description
"
Identifi
es a flavour within the VNFD."
;
"
Referenc
es a flavour within the VNFD."
;
reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element"
;
...
...
@@ -834,8 +838,8 @@ submodule etsi-nfv-ns {
path
"../../affinity-or-anti-affinity-group/id"
;
}
description
"
Identifier(s) of
the affinity or anti-affinity
group(s)
the VnfProfile belongs to."
;
"
Reference(s)
the affinity or anti-affinity
group(s)
the VnfProfile belongs to."
;
reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element"
;
...
...
@@ -1043,7 +1047,7 @@ submodule etsi-nfv-ns {
path
"deref(../virtual-link-desc-id)/../df/id"
;
}
description
"
Identifi
es a flavour within the VLD."
;
"
Refernc
es a flavour within the VLD."
;
reference
"GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile
information element"
;
...
...
@@ -1056,9 +1060,9 @@ submodule etsi-nfv-ns {
path
"../../affinity-or-anti-affinity-group/id"
;
}
description
"
Identifies an
affinity or anti-affinity group
the
VLs instantiated according to the VlProfile
belong
to."
;
"
Reference(s) the
affinity or anti-affinity group
(s)
the
VLs instantiated according to the VlProfile
belong
to."
;
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element"
;
...
...
@@ -1082,6 +1086,170 @@ submodule etsi-nfv-ns {
information element"
;
uses
link-bitrate-requirements
;
}
container
virtual-link-protocol-data
{
leaf
associated-layer-protocol
{
type
identityref
{
base
layer-protocol
;
}
description
"One of the values of the attribute layerProtocol of
the ConnectivityType IE.
Values:
• Ethernet
• MPLS
• ODU2
• IPV4
• IPV6
• Pseudo-Wire
• etc."
;
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element."
;
}
container
l2-protocol-data
{
when
"(../associated-layer-protocol = 'Ethernet') or "
+
"(../associated-layer-protocol = 'MPLS') or "
+
"(../associated-layer-protocol = 'ODU2') or "
+
"(../associated-layer-protocol = 'Pseudo-Wire')"
;
leaf
name
{
type
string
;
description
"Network name associated with this L2 protocol."
;
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element."
;
}
leaf
network-type
{
type
enumeration
{
enum
flat
;
enum
vlan
;
enum
vxlan
;
enum
gre
;
}
description
"Specifies the network type for this L2 protocol.
Values:
• FLAT
• VLAN
• VXLAN
• GRE."
;
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element."
;
}
leaf
vlan-transparent
{
type
boolean
;
description
"Specifies whether to support VLAN transparency for
this L2 protocol or not."
;
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element."
;
}
leaf
mtu
{
type
uint16
;
description
"Specifies the maximum transmission unit (MTU) value
for this L2 protocol."
;
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element."
;
}
leaf
segmentation-id
{
type
string
;
description
"If present, specifies a specific virtualised network
segment, which depends on the network type. For e.g.,
VLAN ID for VLAN network type and tunnel ID for
GRE/VXLAN network types."
;
reference
"GS NFV IFA014: Section 6.3.14.2,
L2ProtocolData information element."
;
}
description
"Specifies the L2 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L2 protocol and shall be absent
otherwise."
;
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element."
;
}
container
l3-protocol-data
{
when
"(../associated-layer-protocol = 'IPv4') or "
+
"(../associated-layer-protocol = 'IPv6')"
;
leaf
name
{
type
string
;
description
"Network name associated with this L3 protocol."
;
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element."
;
}
leaf
ip-version
{
type
enumeration
{
enum
ipv4
;
enum
ipv6
;
}
default
"ipv4"
;
description
"Specifies IP version of this L3 protocol.
Values:
• IPV4.
• IPV6."
;
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element."
;
}
leaf
cidr
{
type
string
;
description
"Specifies the CIDR (Classless InterDomain Routing)
of this L3 protocol.
The network address and subnet mask in
cidr format."
;
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element."
;
}
leaf-list
ip-allocation-pools
{
type
string
;
description
"Specifies the allocation pools with start and end
IP addresses for this L3 protocol."
;
reference
"GS NFV IFA014: Section 6.3.15.2,
L3ProtocolData information element."
;
}
description
"Specifies the L3 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L3 protocol and shall be absent
otherwise."
;
reference
"GS NFV IFA014: Section 6.3.13.2,
VirtualLinkProtocolData information element."
;
}
description
"Specifies the protocol data for a VL instantiated
according to this profile. Cardinality 0 is used when
no protocol data needs to be specified."
;
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element"
;
}
}
list
scaling-aspect
{
...
...
@@ -1151,19 +1319,22 @@ submodule etsi-nfv-ns {
leaf
id
{
type
string
;
description
"Identifier of
Identifier of this
AffinityOrAntiAffinityGroup
information element."
;
"Identifier of
this AffinityOrAntiAffinityGroup
information element."
;
reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"
;
}
leaf
ty
pe
{
leaf
affinityorAntiaffini
ty
{
mandatory
true
;
type
affinity-type
;
description
"Specifies the type of relationship that the members of
the group have: 'affinity' or 'anti-affinity.'"
;
the group have.
Values:
• AFFINITY
• ANTI-AFFINITY"
;
reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"
;
...
...
@@ -1174,8 +1345,12 @@ submodule etsi-nfv-ns {
type
affinity-scope
;
description
"Specifies the scope of the affinity or anti-affinity
relationship e.g. a NFVI node, an NFVI PoP,
network-link-and-node etc."
;
relationship.
Values:
• NFVI_NODE
• NFVI_POP
• NETWORK_LINK_AND_NODE
• etc."
;
reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element"
;
...
...
@@ -1228,7 +1403,7 @@ submodule etsi-nfv-ns {
path
"../../../vnf-profile/id"
;
}
description
"
Identifi
es the profile to be used for a VNF
"
Referenc
es the profile to be used for a VNF
involved in an NS level."
;
reference
"GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping
...
...
@@ -1262,7 +1437,7 @@ submodule etsi-nfv-ns {
path
"../../../virtual-link-profile/id"
;
}
description
"
Identifi
es the profile to be used for a VL involved
"
Referenc
es the profile to be used for a VL involved
in an NS level."
;
reference
"GS NFV IFA014: Section 6.7.5.2
...
...
@@ -1288,7 +1463,7 @@ submodule etsi-nfv-ns {
path
"../../../ns-profile/id"
;
}
description
"
Identifi
es the profile to be used for a nested NS
"
Referenc
es the profile to be used for a nested NS
involved in the NS level."
;
reference
"GS NFV IFA014: Section 6.7.6.2 NsToLevel information
...
...
@@ -1330,7 +1505,7 @@ submodule etsi-nfv-ns {
path
"../ns-instantiation-level/id"
;
}
description
"
Identifi
es the NS level which represents the default NS
"
Referenc
es the NS level which represents the default NS
instantiation level for this DF. It shall be present if
there are multiple 'nsIinstantiationLevel' entries."
;
reference
...
...
@@ -1417,7 +1592,7 @@ submodule etsi-nfv-ns {
key
"id"
;
description
"Specifies
a
NS Profile
supported by
this NS DF."
;
"Specifies
nested
NS Profile
to be used for
this NS DF."
;
reference
"GS NFV IFA014: Section 6.3.2.2 NsDf information element"
;
...
...
@@ -1436,7 +1611,7 @@ submodule etsi-nfv-ns {
path
"../../../../nsd/id"
;
}
description
"
Identifi
es the NSD applicable to NS instantiated
"
Referenc
es the NSD applicable to NS instantiated
according to this profile."
;
reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information
...
...
@@ -1449,7 +1624,7 @@ submodule etsi-nfv-ns {
path
"deref(../nsd-id)/../df/id"
;
}
description
"
Identifi
es the applicable network service DF within
"
Referenc
es the applicable network service DF within
the scope of the NSD."
;
reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information
...
...
@@ -1462,7 +1637,7 @@ submodule etsi-nfv-ns {
path
"deref(../ns-df-id)/../ns-instantiation-level/id"
;
}
description
"
Identifi
es the NS level within the referenced NS DF to
"
Referenc
es the NS level within the referenced NS DF to
be used in the context of the parent NS instantiation.
If not present, the default NS instantiation level as
declared in the referenced NSD shall be used."
;
...
...
@@ -1500,8 +1675,8 @@ submodule etsi-nfv-ns {
path
"../../affinity-or-anti-affinity-group/id"
;
}
description
"
Identifies an
affinity or anti-affinity group the
NSs
created according to this NsProfile belongs to."
;
"
Reference(s) the
affinity or anti-affinity group
(s)
the
NSs
created according to this NsProfile belongs to."
;