Subject: [Teas] IETF TE Topology YANG Model Design Meeting Notes - 2017-12-06

From: Xufeng Liu <[email-masked]>
Date: Wed, 6 Dec 2017 21:38:00 +0000

Attendees: Igor, Xufeng, Carlo, Young, Sergio, Pavan

- Discussed technology specific augmentations to the TE topology model
  > While augmenters are ok with the text in Section 6 of
    draft-ietf-teas-yang-te-topo-13, there is an issue with the
    augmentation capability of the TE label specification. Some augmentations
    want to specify technology specific label formats, but the current
    YANG type of the label does not allow a convenient way, because the
    current label uses the YANG binary type.

  > The planned solution is to define a grouping in ietf-te-types.yang:
    1) This grouping can be shared by TE topology model, TE tunnel
       model, and any technology specific augmentation models;
    2) Any changes of this grouping will not affect ietf-te-topology model,
       allowing to publish the TE topology model independently;
    3) Technology specific models can augment TE topology and
       TE tunnel models at the locations where this grouping is
       used, to meet the technology specific requirements.

  > Changes in ietf-te-topology.yang:

-     leaf label-start {
-       type rt-types:generalized-label;
+     container label-start {
+       uses te-types:te-label;
        description
          "This is the starting lable if a lable range is specified.
           This is the lable value if a single lable is specified,
           in which case, attribute 'label-end' is not set.";
      }
-     leaf label-end {
-       type rt-types:generalized-label;
+     container label-end {
+       uses te-types:te-label;
        description
          "The ending lable if a lable range is specified;
           This attribute is not set, If a single lable is
           specified.";
      }

  > Changes in ietf-te-types.yang (to be finalized by a separate
    document draft-ietf-teas-yang-te, but the grouping name is needed now):

  grouping te-label {
    description
      "This grouping defines the generic TE label.
       The modeling structure can be augmented for each technology.
       For un-specified technologies, rt-types:generalized-label
       is used.";
    container te-label {
      description
        "Container that specifies TE label.";
      choice technology {
        default generic;
        description
          "Data plane technology type.";
        case generic {
          leaf generic {
            type rt-types:generalized-label;
            description
              "TE label specified in a generic format.";
          }
        }
      }
    }
  }

  > Changes of resulting tree view (if the grouping definition is
    changed later on, the tree view will be affected accordingly):

-  +--rw label-restriction* [inclusive-exclusive label-start]
-  |  +--rw inclusive-exclusive    enumeration
-  |  +--rw label-start            rt-types:generalized-label
-  |  +--rw label-end?             rt-types:generalized-label

+  +--rw label-restriction* [index]
+  |  +--rw index                  uint32
+  |  +--rw inclusive-exclusive?   enumeration
+  |  +--rw label-start
+  |  |  +--rw te-label
+  |  |     +--rw (technology)?
+  |  |        +--:(generic)
+  |  |           +--rw generic?   rt-types:generalized-label
+  |  +--rw label-end
+  |  |  +--rw te-label
+  |  |     +--rw (technology)?
+  |  |        +--:(generic)
+  |  |           +--rw generic?   rt-types:generalized-label

Thanks,
- Xufeng