Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Interface B relies on service path Yang model and rpc "path-calculation-request".

Service path Yang model and rpc "path-calculation-request"

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...

...

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 handler logic

proposal ongoing...

  • service creation


    service vreationImage Added

    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 feasibility checkImage Added
  • service delete
    Service deleteImage Added

  • service modify:

one or several technical parameters are modified in service description
Service modifyImage Added

  • service restore:

service has been reported to be down (for network issue) and a restoration is being requested

Service restoreImage Added

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.

...