...
A service can be permanent or non permanent with due-date and end-date. In order to reserve resources before service activation, a temporary service can be created (with exact same characteristics) and activated until the due-date is reached for the service.
Type of service | Priority | Agreed | Comments |
---|---|---|---|
Service | [orange] P1 [Telia]P1 | ||
Temp-service | [orange] P2 [Telia]P2, if as comment | Orange: For time-constrainted services, it is suggested to have it in P1 without resource reservation in a first step. |
Service header
By default, all non-optional parameters have to be managed unless further notice. Optional parameters are reviewed for implementation. Reviewers are free to add other optional parameters for P1 implementation
leaf | Priority | comment |
---|---|---|
sdnc-request-header/request-id | [Orange] P1 [Telia]P1 | |
sdnc-request-header/system-id | [Orange] P1 [Telia]P1 | useful to determine which application has asked for the service |
administrative-state | [Orange] P1 [Telia]P1 | |
operational-state | [Orange] P1 [Telia]P1 |
Service a&z ends
Leaf | Priority | Comment |
---|---|---|
node-id | [Orange] P1 [Telia]P1 | for compliancy with PCE spec, node-id spec is required (service-handler will not determine by itself the node on which implementig the service) |
Tx & Rx / port / port-type | [Orange] P2 [Telia]P2 | Useful since it specifies the type of expected port |
Tx & Rx / port / port-name | [Orange] P1 [Telia]P2 | Important and needed for the same reason as node-id (port-name is the info available from topology model). Other info do not seem crucial from service description point of view. Still useful to have it all in one place. Otherwise, a visit to device model is needed. |
Tx & Rx / lgx / xxx | [Orange] P2 [Telia] - | Defines the link from the transponder line-side up to the port pair of the add-drop through a cross-connect. Since we already know from topology (network model) on which port-pair the transponder is connected, what is the added value to give the LGX here ? |
Tx & Rx / tail / xxx | [Orange] P2 [Telia]P2 | Defines the link from the transponder client-side up to the client equipment. We could imagine a tail model (not available from openroadm) that potentially limits connectivity (through connectivity matrix) between client equipment and client port of transponder. However, I suggests starting without constraint from the tail segment and start service from the transponder client-port in a first step. |
user-label | [Orange] P1 [Telia]P1 | Label for service endpoint, defined by the user |
Hard & Soft constraints
keep them all
...
fiber-span-srlg are listed in "other section". Therefore, this section focuses on nodes. Service model lists the set of devices being used by the service.
Leaf | Priority | Comment |
---|---|---|
SRG-number | [Orange] P1 | mandatory info when node is edge ROADM |
degree-number | [Orange] P1 | mandatory info when node is ROADM |
Other
Leaf | Priority | Comment |
---|---|---|
due-date / end-date | [Orange] P1 [Telia]P2 | useful for BoD / calendaring use cases |
customer/customer-contact/operator-contact | [Orange] P2 [Telia]P2 | |
Latency | [Orange] P1 [Telia]P1 | |
SRG numbers | [Orange] P1 [Telia]P1 |
Interface A - YANG API
Beyond the get-config / edit-config (or their equivalent in REST) on service model, following RPC are requested :
RPC | Priority | Comment |
---|---|---|
service-create | [Orange] P1 | regarding inputs/outputs, cf service model |
service-feasibility-check | [Orange] P1 | |
equipment-notification | [Orange] ? | don't remember the purpose of this RPC... |
service-delete | [Orange] P1 | |
temp-service-create | [Orange] P3 | |
temp-service-delete | [Orange] P3 | |
service-roll | [Orange] P2 | |
service-reconfigure | [Orange] P2 | |
service-restoration | [Orange] P1 | |
service-reversion | [Orange] P1 | |
service-reroute | [Orange] P3 ? | don't see the big difference with service-roll |
service-reroute-confirm | [Orange] P3 ? | don't see the big difference with service-roll |
Notifications | Priority | Comment |
---|---|---|
service-rpc-result | what is the added valuue compared to the output of the rpc ? | |
service-traffic-flow | [Orange] P1 | How can we change administrative state of services ? through "edit-config" (or some equivalent in REST) of the service ? |
service-notification | [Orange] P1 | This Notification that a service has been added, modified or removed. |
Issues to be discussed :
- response-code type is string. This is not accurate enough for an API. Should be enum (invalid, created, pending,...) ?
- ack-final-indicator: shold be enum also
...
Interface B relies on service path Yang model and rpc "path-calculation-request".
A tree view (Yang Model sent separately by email) is proposed here to modelize the input/output parameters to be passed over B interface. These parameters come from the service model with still some variations. These variations come mainly from PCE requirements section (but not only).
For discussion
module: org-openroadm-servicepath
+--rw service-path-list
+--rw service-paths* [service-path]
+--rw service-path-name string
+--rw service-handler-header
| +--rw request-id string
+--rw service-a-end
| +--rw service-format org-openroadm-common-service-types:service-format
| +--rw service-rate uint32
| +--rw clli string
| +--rw node-id? string
| +--rw tx-direction
| | +--rw port
| | +--rw port-device-name? string
| | +--rw port-type? string
| | +--rw port-name? string
| | +--rw port-rack? string
| | +--rw port-shelf? string
| | +--rw port-slot? string
| | +--rw port-sub-slot? string
| +--rw rx-direction
| +--rw port
| +--rw port-device-name? string
| +--rw port-type? string
| +--rw port-name? string
| +--rw port-rack? string
| +--rw port-shelf? string
| +--rw port-slot? string
| +--rw port-sub-slot? string
+--rw service-z-end
| +--rw service-format org-openroadm-common-service-types:service-format
| +--rw service-rate uint32
| +--rw clli string
| +--rw node-id? string
| +--rw tx-direction
| | +--rw port
| | +--rw port-device-name? string
| | +--rw port-type? string
| | +--rw port-name? string
| | +--rw port-rack? string
| | +--rw port-shelf? string
| | +--rw port-slot? string
| | +--rw port-sub-slot? string
| +--rw rx-direction
| +--rw port
| +--rw port-device-name? string
| +--rw port-type? string
| +--rw port-name? string
| +--rw port-rack? string
| +--rw port-shelf? string
| +--rw port-slot? string
| +--rw port-sub-slot? string
+--rw hard-constraints
| +--rw customer-code* string
| +--rw (co-routing-or-general)?
| +--:(general)
| | +--rw diversity
| | | +--rw existing-service* string
| | | +--rw existing-service-applicability
| | | +--rw clli? boolean
| | | +--rw node? boolean
| | | +--rw srlg? boolean
| | +--rw exclude_
| | | +--rw SRLG* string
| | | +--rw clli* string
| | | +--rw node-id* string
| | | +--rw supporting-service-name* string
| | | +--rw affinity? uint32
| | +--rw include_
| | | +--rw ordered-hops* [hop-number]
| | | +--rw hop-number uint16
| | | +--rw hop-type
| | | +--rw (hop-type)?
| | | +--:(SRLG)
| | | | +--rw SRLG? string
| | | +--:(clli)
| | | | +--rw clli? string
| | | +--:(node)
| | | +--rw node-id? string
| | +--rw latency
| | +--rw max-latency? uint32
| +--:(co-routing)
| +--rw co-routing
| +--rw existing-service* string
+--rw soft-constraints
| +--rw customer-code* string
| +--rw (co-routing-or-general)?
| +--:(general)
| | +--rw diversity
| | | +--rw existing-service* string
| | | +--rw existing-service-applicability
| | | +--rw clli? boolean
| | | +--rw node? boolean
| | | +--rw srlg? boolean
| | +--rw exclude_
| | | +--rw SRLG* string
| | | +--rw clli* string
| | | +--rw node-id* string
| | | +--rw supporting-service-name* string
| | | +--rw affinity? uint32
| | +--rw include_
| | | +--rw ordered-hops* [hop-number]
| | | +--rw hop-number uint16
| | | +--rw hop-type
| | | +--rw (hop-type)?
| | | +--:(SRLG)
| | | | +--rw SRLG? string
| | | +--:(clli)
| | | | +--rw clli? string
| | | +--:(node)
| | | +--rw node-id? string
| | +--rw latency
| | +--rw max-latency? uint32
| +--:(co-routing)
| +--rw co-routing
| +--rw existing-service* string
+--rw pce-metric? enumeration
+--rw locally-protected-links? boolean
+--rw latency? uint32
+--rw fiber-span-srlgs* string
+--rw equipment-srgs* [srg-number]
| +--rw srg-number uint16
+--rw supporting-service-name* string
+--rw path-description
+--rw aToZ-direction
| +--rw aToZ-wavelength-number uint32
| +--rw rate uint32
| +--rw modulation-format? string
| +--rw aToZ* [id]
| +--rw id string
| +--rw resource
| +--rw (resource)?
| +--:(termination-point)
| | +--rw tp-id? string
| | +--rw node-id? string
| +--:(link)
| | +--rw link-id? string
| +--:(node)
| +--rw node-id? string
+--rw zToA-direction
+--rw zToA-wavelength-number uint32
+--rw rate uint32
+--rw modulation-format? string
+--rw zToA* [id]
+--rw id string
+--rw resource
+--rw (resource)?
+--:(termination-point)
| +--rw tp-id? string
| +--rw node-id? string
+--:(link)
| +--rw link-id? string
+--:(node)
+--rw node-id? string
rpcs:
+---x path-computation-request
| +---w input
| | +---w service-name string
| | +---w resource-reserve boolean
| | +---w service-handler-header
| | | +---w request-id string
| | +---w service-a-end
| | | +---w service-format org-openroadm-common-service-types:service-format
| | | +---w service-rate uint32
| | | +---w clli string
| | | +---w node-id? string
| | | +---w tx-direction
| | | | +---w port
| | | | +---w port-device-name? string
| | | | +---w port-type? string
| | | | +---w port-name? string
| | | | +---w port-rack? string
| | | | +---w port-shelf? string
| | | | +---w port-slot? string
| | | | +---w port-sub-slot? string
| | | +---w rx-direction
| | | +---w port
| | | +---w port-device-name? string
| | | +---w port-type? string
| | | +---w port-name? string
| | | +---w port-rack? string
| | | +---w port-shelf? string
| | | +---w port-slot? string
| | | +---w port-sub-slot? string
| | +---w service-z-end
| | | +---w service-format org-openroadm-common-service-types:service-format
| | | +---w service-rate uint32
| | | +---w clli string
| | | +---w node-id? string
| | | +---w tx-direction
| | | | +---w port
| | | | +---w port-device-name? string
| | | | +---w port-type? string
| | | | +---w port-name? string
| | | | +---w port-rack? string
| | | | +---w port-shelf? string
| | | | +---w port-slot? string
| | | | +---w port-sub-slot? string
| | | +---w rx-direction
| | | +---w port
| | | +---w port-device-name? string
| | | +---w port-type? string
| | | +---w port-name? string
| | | +---w port-rack? string
| | | +---w port-shelf? string
| | | +---w port-slot? string
| | | +---w port-sub-slot? string
| | +---w hard-constraints
| | | +---w customer-code* string
| | | +---w (co-routing-or-general)?
| | | +--:(general)
| | | | +---w diversity
| | | | | +---w existing-service* string
| | | | | +---w existing-service-applicability
| | | | | +---w clli? boolean
| | | | | +---w node? boolean
| | | | | +---w srlg? boolean
| | | | +---w exclude_
| | | | | +---w SRLG* string
| | | | | +---w clli* string
| | | | | +---w node-id* string
| | | | | +---w supporting-service-name* string
| | | | | +---w affinity? uint32
| | | | +---w include_
| | | | | +---w ordered-hops* [hop-number]
| | | | | +---w hop-number uint16
| | | | | +---w hop-type
| | | | | +---w (hop-type)?
| | | | | +--:(SRLG)
| | | | | | +---w SRLG? string
| | | | | +--:(clli)
| | | | | | +---w clli? string
| | | | | +--:(node)
| | | | | +---w node-id? string
| | | | +---w latency
| | | | +---w max-latency? uint32
| | | +--:(co-routing)
| | | +---w co-routing
| | | +---w existing-service* string
| | +---w soft-constraints
| | | +---w customer-code* string
| | | +---w (co-routing-or-general)?
| | | +--:(general)
| | | | +---w diversity
| | | | | +---w existing-service* string
| | | | | +---w existing-service-applicability
| | | | | +---w clli? boolean
| | | | | +---w node? boolean
| | | | | +---w srlg? boolean
| | | | +---w exclude_
| | | | | +---w SRLG* string
| | | | | +---w clli* string
| | | | | +---w node-id* string
| | | | | +---w supporting-service-name* string
| | | | | +---w affinity? uint32
| | | | +---w include_
| | | | | +---w ordered-hops* [hop-number]
| | | | | +---w hop-number uint16
| | | | | +---w hop-type
| | | | | +---w (hop-type)?
| | | | | +--:(SRLG)
| | | | | | +---w SRLG? string
| | | | | +--:(clli)
| | | | | | +---w clli? string
| | | | | +--:(node)
| | | | | +---w node-id? string
| | | | +---w latency
| | | | +---w max-latency? uint32
| | | +--:(co-routing)
| | | +---w co-routing
| | | +---w existing-service* string
| | +---w pce-metric? enumeration
| | +---w locally-protected-links? boolean
| +--ro output
| +--ro configuration-response-common
| | +--ro request-id string
| | +--ro response-code string
| | +--ro response-message? string
| | +--ro ack-final-indicator string
| +--ro response-parameters
| +--ro hard-constraints
| | +--ro customer-code* string
| | +--ro (co-routing-or-general)?
| | +--:(general)
| | | +--ro diversity
| | | | +--ro existing-service* string
| | | | +--ro existing-service-applicability
| | | | +--ro clli? boolean
| | | | +--ro node? boolean
| | | | +--ro srlg? boolean
| | | +--ro exclude_
| | | | +--ro SRLG* string
| | | | +--ro clli* string
| | | | +--ro node-id* string
| | | | +--ro supporting-service-name* string
| | | | +--ro affinity? uint32
| | | +--ro include_
| | | | +--ro ordered-hops* [hop-number]
| | | | +--ro hop-number uint16
| | | | +--ro hop-type
| | | | +--ro (hop-type)?
| | | | +--:(SRLG)
| | | | | +--ro SRLG? string
| | | | +--:(clli)
| | | | | +--ro clli? string
| | | | +--:(node)
| | | | +--ro node-id? string
| | | +--ro latency
| | | +--ro max-latency? uint32
| | +--:(co-routing)
| | +--ro co-routing
| | +--ro existing-service* string
| +--ro soft-constraints
| | +--ro customer-code* string
| | +--ro (co-routing-or-general)?
| | +--:(general)
| | | +--ro diversity
| | | | +--ro existing-service* string
| | | | +--ro existing-service-applicability
| | | | +--ro clli? boolean
| | | | +--ro node? boolean
| | | | +--ro srlg? boolean
| | | +--ro exclude_
| | | | +--ro SRLG* string
| | | | +--ro clli* string
| | | | +--ro node-id* string
| | | | +--ro supporting-service-name* string
| | | | +--ro affinity? uint32
| | | +--ro include_
| | | | +--ro ordered-hops* [hop-number]
| | | | +--ro hop-number uint16
| | | | +--ro hop-type
| | | | +--ro (hop-type)?
| | | | +--:(SRLG)
| | | | | +--ro SRLG? string
| | | | +--:(clli)
| | | | | +--ro clli? string
| | | | +--:(node)
| | | | +--ro node-id? string
| | | +--ro latency
| | | +--ro max-latency? uint32
| | +--:(co-routing)
| | +--ro co-routing
| | +--ro existing-service* string
| +--ro pce-metric? enumeration
| +--ro locally-protected-links? boolean
| +--ro path-description
| +--ro aToZ-direction
| | +--ro aToZ-wavelength-number uint32
| | +--ro rate uint32
| | +--ro modulation-format? string
| | +--ro aToZ* [id]
| | +--ro id string
| | +--ro resource
| | +--ro (resource)?
| | +--:(termination-point)
| | | +--ro tp-id? string
| | | +--ro node-id? string
| | +--:(link)
| | | +--ro link-id? string
| | +--:(node)
| | +--ro node-id? string
| +--ro zToA-direction
| +--ro zToA-wavelength-number uint32
| +--ro rate uint32
| +--ro modulation-format? string
| +--ro zToA* [id]
| +--ro id string
| +--ro resource
| +--ro (resource)?
| +--:(termination-point)
| | +--ro tp-id? string
| | +--ro node-id? string
| +--:(link)
| | +--ro link-id? string
| +--:(node)
| +--ro node-id? string
notifications:
+---n service-path-rpc-result
| +--ro notification-type? org-openroadm-common-service-path-types:service-path-notification-types
| +--ro path-description
| | +--ro aToZ-direction
| | | +--ro aToZ-wavelength-number uint32
| | | +--ro rate uint32
| | | +--ro modulation-format? string
| | | +--ro aToZ* [id]
| | | +--ro id string
| | | +--ro resource
| | | +--ro (resource)?
| | | +--:(termination-point)
| | | | +--ro tp-id? string
| | | | +--ro node-id? string
| | | +--:(link)
| | | | +--ro link-id? string
| | | +--:(node)
| | | +--ro node-id? string
| | +--ro zToA-direction
| | +--ro zToA-wavelength-number uint32
| | +--ro rate uint32
| | +--ro modulation-format? string
| | +--ro zToA* [id]
| | +--ro id string
| | +--ro resource
| | +--ro (resource)?
| | +--:(termination-point)
| | | +--ro tp-id? string
| | | +--ro node-id? string
| | +--:(link)
| | | +--ro link-id? string
| | +--:(node)
| | +--ro node-id? string
| +--ro status rpc-status-ex
| +--ro service-name string
| +--ro actual-date? yang:date-and-time
Interface C
based on service path Yang model and rpc "service implementation-request" & "service-delete".
Here below the tree view of the two RPCs, and of the notification service-rpc-result-sp
module: org-openroadm-servicepath
rpcs :
+---x service-implementation-request
| +---w input
| | +---w service-name string
| | +---w service-handler-header
| | | +---w request-id string
| | +---w service-a-end
| | | +---w service-format org-openroadm-common-service-types:service-format
| | | +---w service-rate uint32
| | | +---w clli string
| | | +---w node-id? string
| | | +---w tx-direction
| | | | +---w port
| | | | +---w port-device-name? string
| | | | +---w port-type? string
| | | | +---w port-name? string
| | | | +---w port-rack? string
| | | | +---w port-shelf? string
| | | | +---w port-slot? string
| | | | +---w port-sub-slot? string
| | | +---w rx-direction
| | | +---w port
| | | +---w port-device-name? string
| | | +---w port-type? string
| | | +---w port-name? string
| | | +---w port-rack? string
| | | +---w port-shelf? string
| | | +---w port-slot? string
| | | +---w port-sub-slot? string
| | +---w service-z-end
| | | +---w service-format org-openroadm-common-service-types:service-format
| | | +---w service-rate uint32
| | | +---w clli string
| | | +---w node-id? string
| | | +---w tx-direction
| | | | +---w port
| | | | +---w port-device-name? string
| | | | +---w port-type? string
| | | | +---w port-name? string
| | | | +---w port-rack? string
| | | | +---w port-shelf? string
| | | | +---w port-slot? string
| | | | +---w port-sub-slot? string
| | | +---w rx-direction
| | | +---w port
| | | +---w port-device-name? string
| | | +---w port-type? string
| | | +---w port-name? string
| | | +---w port-rack? string
| | | +---w port-shelf? string
| | | +---w port-slot? string
| | | +---w port-sub-slot? string
| | +---w path-description
| | +---w aToZ-direction
| | | +---w aToZ-wavelength-number uint32
| | | +---w rate uint32
| | | +---w modulation-format? string
| | | +---w aToZ* [id]
| | | +---w id string
| | | +---w resource
| | | +---w (resource)?
| | | +--:(termination-point)
| | | | +---w tp-id? string
| | | | +---w node-id? string
| | | +--:(link)
| | | | +---w link-id? string
| | | +--:(node)
| | | +---w node-id? string
| | +---w zToA-direction
| | +---w zToA-wavelength-number uint32
| | +---w rate uint32
| | +---w modulation-format? string
| | +---w zToA* [id]
| | +---w id string
| | +---w resource
| | +---w (resource)?
| | +--:(termination-point)
| | | +---w tp-id? string
| | | +---w node-id? string
| | +--:(link)
| | | +---w link-id? string
| | +--:(node)
| | +---w node-id? string
| +--ro output
| +--ro configuration-response-common
| +--ro request-id string
| +--ro response-code string
| +--ro response-message? string
| +--ro ack-final-indicator string
+---x service-delete
+---w input
| +---w service-name string
| +---w service-handler-header
| +---w request-id string
+--ro output
+--ro configuration-response-common
+--ro request-id string
+--ro response-code string
+--ro response-message? string
+--ro ack-final-indicator string
+---x cancel-resource-reserve
| +---w input
| | +---w service-name string
| | +---w service-handler-header
| | +---w request-id string
| +--ro output
| +--ro configuration-response-common
| +--ro request-id string
| +--ro response-code string
| +--ro response-message? string
| +--ro ack-final-indicator string
notifications:
+---n service-rpc-result-sp
+--ro notification-type? org-openroadm-common-service-path-types:service-path-notification-types
+--ro path-topology
| +--ro aToZ* [id]
| | +--ro id string
| | +--ro hop-type? enumeration
| | +--ro device
| | | +--ro node-id? string
| | +--ro resource
| | | +--ro (resource)?
| | | +--:(circuit-pack)
| | | | +--ro circuit-pack-name string
| | | +--:(port)
| | | | +--ro port
| | | | +--ro circuit-pack-name string
| | | | +--ro port-name? string
| | | +--:(connection)
| | | | +--ro connection-number string
| | | +--:(physical-link)
| | | | +--ro physical-link-name string
| | | +--:(internal-link)
| | | | +--ro internal-link-name string
| | | +--:(shelf)
| | | | +--ro shelf-name string
| | | +--:(srg)
| | | | +--ro srg-number uint16
| | | +--:(degree)
| | | | +--ro degree-number uint16
| | | +--:(service)
| | | | +--ro service-name string
| | | +--:(interface)
| | | +--ro interface-name string
| | +--ro resourceType
| | +--ro type resource-type-enum
| | +--ro extension? string
| +--ro zToA* [id]
| +--ro id string
| +--ro hop-type? enumeration
| +--ro device
| | +--ro node-id? string
| +--ro resource
| | +--ro (resource)?
| | +--:(circuit-pack)
| | | +--ro circuit-pack-name string
| | +--:(port)
| | | +--ro port
| | | +--ro circuit-pack-name string
| | | +--ro port-name? string
| | +--:(connection)
| | | +--ro connection-number string
| | +--:(physical-link)
| | | +--ro physical-link-name string
| | +--:(internal-link)
| | | +--ro internal-link-name string
| | +--:(shelf)
| | | +--ro shelf-name string
| | +--:(srg)
| | | +--ro srg-number uint16
| | +--:(degree)
| | | +--ro degree-number uint16
| | +--:(service)
| | | +--ro service-name string
| | +--:(interface)
| | +--ro interface-name string
| +--ro resourceType
| +--ro type resource-type-enum
| +--ro extension? string
+--ro status rpc-status-ex
+--ro service-name string
+--ro actual-date? yang:date-and-time
Service
...
Interface C
based on service path Yang model and rpc "service implementation-request" & "service-delete".
rpc "service implementation-request" & "service-delete"
Service handler logic
proposal ongoing...
...
handler logic
proposal ongoing...
service creation
Brief explanation:
- Upon receipt of service-create RPC, service header and sdnc-request header compliancy are verified.
- If compliant, service-request parameters are verified in order to check if there is no missing parameter that prevents calculating a path and implement a service.
- If OK, common-id is verified in order to see if there is no routing policy provided. If yes, the routing constraints of the policy are recovered and coherency with hard/soft constraints provided in the input of the RPC.
- If OK, service due-time is verified. For any service to be activated later on, it is proposed to store them and wait for due-time to become equal to immediate (see xx). This behavior shall be improved in further release.
- Before sending the PCE request, input data need to be formatted according to the Service Handler - PCE interface data model.
- Once PCE request is being sent to the PCE on interface B, PCE reply is expected until a timer expires.
- If PCE reply is received before timer expiration with a positive result, a service is created with admin and operational status 'down'.
- A service implementation request is sent to the render on interface C.
- If a positive message is received from the renderer, service admin / operational status is changed to 'up'.
- For any case of failure, response-code, response message and ack-final-indicator shall be provided.
service feasibility check
service delete
service modify:
one or several technical parameters are modified in service description
service restore:
service has been reported to be down (for network issue) and a restoration is being requested
NB: service delete is sent to the renderer for deletion in the network. However, the service is not deleted in service database. Only its path is cleared since removed from the network.
service reversion:
return to nominal path is requested for a service previously rerouted/restored. This still requires to store nominal path. For a service being restored, only the new path path is stored (in the service model).
non-permanent services management
in-life service management
:
services can be disturbed because of some network events. An OAM function in ODL controller is in charge of collecting network events, SLA measurements and updates services accordingly. Service notfications are then sent to any external function having subscribed to these notifications. However, OAM function is out of the scope of transportpce project.
- ...
Optical validation
This section gives an overview of how optical validation function is invoked in different implementations of the PCE.
...
- D interface is addressed in service-handler section (https://wiki-archive.opendaylight.org/view/TransportPCE:service_requestServiceHandler/servicerequest).
- the device interface is the netconf Yang interface based on Openroadm 1.2 device model.
...