Network Service Virtual Link
Summary
This input includes following proposalsSimplified NsVirtualLink Toscal Model.
Corresponding Group, Policy and node types.
Possible implementation data models of virtual links
Simplified Network Service Virtual Link model.
Below is the simplified model for the TOSCA which proposes to merge the properties in virtual link descriptor, virtual link deployment flavour and virtual link profiles in to one node type NsVirtualLink.
Following elements are modeled as Data Types
tosca.datatypes.nfv.ConnectivityType
tosca.datatypes.nfv.ConnectivityType:
derived_from: tosca.datatypes.Root
description: virtual link connectivity type
properties:
protocol:
type: list
required: true
default:
- ipv4
entry_schema:
constraint:
-valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire]
flowPattern:
type: string
required: false
default: line
constraint:
-valid_values: [line, tree, mesh]
tosca.datatypes.nfv.Qos
tosca.datatypes.nfv.Qos:
derived_from: tosca.datatypes.Root
description: virtual link quality of service parameters
properties:
latency:
type: float
description: maximum latency in ms
required: true
constraints:
greater_or_equal: 0
packetDelayVariation:
type: float
description: maximum jitter in ms
required: true
packetLossRatio:
type: float
description: maximum packet loss ratio
required: false
constraints:
greater_or_equal: 0
priority:
type: integer
description: Specifies the priority level in case of congestion on the underlying physical link
required: false
bitrateRequired:
type: tosca.datatypes.nfv.Bitrate
description: required bitrate
required: true
minBitrate:
type: tosca.datatypes.nfv.Bitrate
description: min bitrate supported
required: true
maxBitrate:
type: tosca.datatypes.nfv.Bitrate
description: max bitrate supported
required: true
tosca.datatypes.nfv.Bitrate
tosca.datatypes.nfv.Bitrate:
derived_from: tosca.datatypes.Root
description: link bit rate
properties:
root:
type: float
description: throughput of the link
required: true
constraints:
greater_or_equal: 0
leaf:
type: float
description: throughput of the leaf connection
required: false
constraints:
greater_or_equal: 0
tosca.datatypes.nfv.ServiceAvailability
tosca.datatypes.nfv.ServiceAvailability:
derived_from: tosca.datatypes.Root
description: service availability
properties:
Level:
type: float
description: service availability levels
required: true
constraints:
- valid_values: [ Level1, Level2, Level3 ]
Groups and policy for Affinity/ Anti-affinity
tosca.grouptypes and tosca.policytypes
group_types:
tosca.grouptypes.nfv.VlPlacementGroup:
derived_from: tosca.grouptypes.Root
members: [tosca.nodes.nfv.NsVirtualLink]
policy:
tosca.policytypes.nfv.vlPlacementPolicy:
derived_from: tosca.policytypes.Root:
properties:
policy:
type: string
description: type of the rule - "affinity" or "anti-affinity".
required: true
constraints:
-valid_values: [affinity, anti-affinity]
scope:
type: string
description: scope of the rule is an NFVI-node, an NFVI-PoP, etc.
required: true
constraints:
-valid_values: [nfvi-node, nfvi-pop]
targets: [tosca.grouptypes.nfv.VlPlacementGroup]
Virtual Link Data Modelling
Virtual links need to be realized on the physical infrastructure based on the topology.
This means the same virtual ink can be realized with more than one way.
Followign is a simplified example of two types realizations. So even the wan link can also be realized a specific implementation of the virtual link.
Proposal
Network Service template would specifiy an abstract NsVirtualLink
Each implemention can be specified as a separate service template using the substitution mapping.
Orchestractor would select the suitable subistituable service template based on the underlying infrastructure.
Ns Virtual Iink Node type
tosca.nodes.nfv.NsVirtualLink
node_types: tosca.nodes.nfv.NsVirtualLink: derived_from: tosca.nodes.Root description: node definition of Virtual Links properties: id: type: string required: true provider: type: string required: false version: type: string required: true bitrate: type: tosca.datatypes.nfv.Bitrate description: required bitrate connectivity_type: type: tosca.datatypes.nfv.ConnectivityType description: virtual link connectivty type required: true qos: type: tosca.datatypes.nfv.Qos description: virtual link quality of service required: false service_availability: type: tosca.datatypes.nfv.ServiceAvailability description: virtual link service availability levels required: false attributes: bitrate: type: tosca.datatypes.nfv.Bitrate description: current bitrate capabilities: VirtualLinkable: type: tosca.capabilities.nfv.VirtualLinkable
Service template with a implemenation of virtual link
service template
description: virtual link with deployment flavor - small support topology_template: input: id: type: string required: true constraints: - valid_values: [ "small" ] bitrate: type: tosca.datatypes.nfv.Bitrate description: required bitrate connectivity_type: type: tosca.datatypes.nfv.ConnectivityType description: virtual link connectivty type required: true qos: type: tosca.datatypes.nfv.Qos description: virtual link quality of service required: false service_availability: type: tosca.datatypes.nfv.ServiceAvailability description: virtual link service availability levels required: false substitution_mappings: node_type: tosca.nodes.nfv.NsVirutalLink properties: id: [id] capabilities: VirtualLinkable: [subnet, VirtualLinkable] ... node_templates: network1: type: tosca.nodes.nfv.network properties: ... subnet: type: tosca.nodes.nfv.subnet properties: ... output: bitrate: type: tosca.datatypes.nfv.Bitrate description: current bitrate
More Information in the attached file