Subject: Re: [Teas] Multi-layer support in draft-ietf-teas-yang-te-topo

From: "Xufeng Liu" <[email-masked]>
Date: Mon, 9 May 2016 09:12:54 -0400

- As discussions continued on multi-layer topology modeling, the following
additional changes are planned:

> Approach 1: Transitional link:
  - Model changes:
    Link attribute: add a flag for transitional.

Model changes:

augment /nw:networks/nw:network/nt:link:
   +--rw te!
      +--rw config
      |     +--rw interface-switching-capability* [switching-capability]
      |     |  +--rw switching-capability               identityref
      |     |  +--rw encoding?                          identityref
      |     |  +--rw max-lsp-bandwidth* [priority]
      |     |  |  +--rw priority     uint8
      |     |  |  +--rw bandwidth?   decimal64
      |     |  +--rw time-division-multiplex-capable
      |     |  |  +--rw minimum-lsp-bandwidth?   decimal64
      |     |  |  +--rw indication?              enumeration

+               +--ro is-transitional?                  Empty

> Approach 2: Inter layer lock:
  - Don't split node
  - Can be modeled as:

augment /nw:networks/nw:network/nw:node:
   +--rw te!
      +--rw te-node-id                  te-node-id
      +--rw tunnel-termination-point* [tunnel-tp-id]
         +--rw tunnel-tp-id    binary
         +--rw config
         |  +--rw termination-capability* [link-tp]
         |     +--rw link-tp    leafref
+        |  +--rw inter-layer-lock-id  uint32
         +--ro state
            +--ro termination-capability* [link-tp]
            |  +--ro link-tp    leafref
+           +--rw inter-layer-lock-id  uint32
            +--ro switching-capability      identityref
            +--ro encoding                  identityref

augment /nw:networks/nw:network/nw:node/nt:termination-point:
   +--rw te!
      +--rw te-tp-id    te-tp-id
      +--rw config
      |  +--rw schedules
      |  |  +--rw schedule* [schedule-id]
      |  |     +--rw schedule-id          uint32
      |  |     +--rw start?               yang:date-and-time
      |  |     +--rw schedule-duration?   string
      |  |     +--rw repeat-interval?     string
+      |  +--rw inter-layer-lock-id  uint32
      +--ro state
         +--ro schedules
         |  +--ro schedule* [schedule-id]
         |     +--ro schedule-id          uint32
         |     +--ro start?               yang:date-and-time
         |     +--ro schedule-duration?   string
         |     +--ro repeat-interval?     string
+         +--rw inter-layer-lock-id  uint32

- TTP to support protection.
  Attribute to specify protection type that the TTP is capable of.
  (Identity will be use with values as described in RFC4427.)

augment /nw:networks/nw:network/nw:node:
   +--rw te!
      +--rw tunnel-termination-point* [tunnel-tp-id]
         +--rw tunnel-tp-id    binary
         +--rw config
+         |  +--rw protection-type?          identityref
         +--ro state
+            +--ro protection-type?          identityref

Thanks,

- Xufeng

> -----Original Message-----
> From: Xufeng Liu [mailto:[email-masked]]
> Sent: Friday, April 29, 2016 4:01 PM
> To: [email-masked]
> Subject: Multi-layer support in draft-ietf-teas-yang-te-topo
> 
> Authors and contributors are continuing discussions on multi-layer
topology
> modeling.
> 
> Approach 1: Transitional link was presented in IETF95. Model changes are
being
> proposed:
>     Link TP: will need to have switch-layer
>     Link attribute: add a flag for transitional.
> 
> Current:
> 
> node 1           link             node 2
>  tp-1      ---- och        ---->  tp-2
>  tp-1      <--- odu        -----  tp-2
> 
> 
> augment /nw:networks/nw:network/nw:node/nt:termination-point:
>    +--rw te!
>       +--rw te-tp-id    te-tp-id
>       +--rw config
>       |  +--rw schedules
>       |     +--rw schedule* [schedule-id]
>       |        +--rw schedule-id          uint32
>       |        +--rw start?               yang:date-and-time
>       |        +--rw schedule-duration?   string
>       |        +--rw repeat-interval?     string
>       +--ro state
>          +--ro schedules
>             +--ro schedule* [schedule-id]
>                +--ro schedule-id          uint32
>                +--ro start?               yang:date-and-time
>                +--ro schedule-duration?   string
>                +--ro repeat-interval?     string
> 
> augment /nw:networks/nw:network/nt:link:
>    +--rw te!
>       +--rw config
>       |     +--rw interface-switching-capability* [switching-capability]
>       |     |  +--rw switching-capability               identityref
>       |     |  +--rw encoding?                          identityref
>       |     |  +--rw max-lsp-bandwidth* [priority]
>       |     |  |  +--rw priority     uint8
>       |     |  |  +--rw bandwidth?   decimal64
>       |     |  +--rw time-division-multiplex-capable
>       |     |  |  +--rw minimum-lsp-bandwidth?   decimal64
>       |     |  |  +--rw indication?              enumeration
>       |     |  +--rw interface-adjustment-capability* [upper-sc]
>       |     |     +--rw upper-sc             identityref
>       |     |     +--rw upper-encoding?      identityref
>       |     |     +--rw max-lsp-bandwidth* [priority]
>       |     |        +--rw priority     uint8
>       |     |        +--rw bandwidth?   decimal64
> 
> 
> To improve the model to handle uni-directional link, we suggest to add
> switching-capability to TP:
> 
> node 1           link             node 2
>  tp-1      ---- och        ---->  tp-2
>  och                              odu
> 
>  tp-1      <--- odu        -----  tp-2
> 
> 
> Model changes:
> 
> augment /nw:networks/nw:network/nw:node/nt:termination-point:
>    +--rw te!
>       +--rw te-tp-id    te-tp-id
>       +--rw config
>       |  +--rw schedules
>       |  |  +--rw schedule* [schedule-id]
>       |  |     +--rw schedule-id          uint32
>       |  |     +--rw start?               yang:date-and-time
>       |  |     +--rw schedule-duration?   string
>       |  |     +--rw repeat-interval?     string
> +      |  +--rw interface-switching-capability* [switching-capability]
> +      |     +--rw switching-capability               identityref
> +      |     +--rw encoding?                          identityref
> +      |     +--rw max-lsp-bandwidth* [priority]
> +      |     |  +--rw priority     uint8
> +      |     |  +--rw bandwidth?   decimal64
> +      |     +--rw time-division-multiplex-capable
> +      |     |  +--rw minimum-lsp-bandwidth?   decimal64
> +      |     |  +--rw indication?              enumeration
> -      |     +--rw interface-adjustment-capability* [upper-sc]
> -      |        +--rw upper-sc             identityref
> -      |        +--rw upper-encoding?      identityref
> -      |        +--rw max-lsp-bandwidth* [priority]
> -      |           +--rw priority     uint8
> -      |           +--rw bandwidth?   decimal64
>       +--ro state
>          +--ro schedules
>          |  +--ro schedule* [schedule-id]
>          |     +--ro schedule-id          uint32
>          |     +--ro start?               yang:date-and-time
>          |     +--ro schedule-duration?   string
>          |     +--ro repeat-interval?     string
>          +--ro interface-switching-capability* [switching-capability]
>                ...
> 
> augment /nw:networks/nw:network/nt:link:
>    +--rw te!
>       +--rw config
>       |     +--rw interface-switching-capability* [switching-capability]
>       |     |  +--rw switching-capability               identityref
>       |     |  +--rw encoding?                          identityref
>       |     |  +--rw max-lsp-bandwidth* [priority]
>       |     |  |  +--rw priority     uint8
>       |     |  |  +--rw bandwidth?   decimal64
>       |     |  +--rw time-division-multiplex-capable
>       |     |  |  +--rw minimum-lsp-bandwidth?   decimal64
>       |     |  |  +--rw indication?              enumeration
> -      |     |  +--rw interface-adjustment-capability* [upper-sc]
> -      |     |     +--rw upper-sc             identityref
> -      |     |     +--rw upper-encoding?      identityref
> -      |     |     +--rw max-lsp-bandwidth* [priority]
> -      |     |        +--rw priority     uint8
> -      |     |        +--rw bandwidth?   decimal64
> 
> 
> augment /nw:networks/nw:network/nw:node:
>    +--rw te!
>       +--rw tunnel-termination-point* [tunnel-tp-id]
>          +--rw tunnel-tp-id    binary
>          +--rw config
>          |  +--rw termination-capability* [link-tp]
>          |     +--rw link-tp    leafref
>          +--ro state
>             +--ro termination-capability* [link-tp]
>             |  +--ro link-tp    leafref
>             +--ro switching-capability      identityref
>             +--ro encoding                  identityref
> +           +--rw max-lsp-bandwidth* [priority]
> +              +--rw priority     uint8
> +              +--rw bandwidth?   decimal64
> 
> Because IACD is already covered by the relations between
tunnel-termination-
> point and link termination-point. We will remove the related section from
link
> attributes. The max-lsp-bandwidth section is to be added as above to
complete
> all necessary attributes for IACD.
> 
> Authors are preparing further detailed descriptions and use case examples.
The
> proposed text and illustrations will be provided.
> 
> Thanks,
> 
> - Xufeng