Internet-Draft DetNet Model April 2023
Geng, et al. Expires 9 October 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-ietf-detnet-topology-yang-01
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Geng
Huawei Technologies
M. Chen
Huawei Technologies
Z. Li
022China Mobile
R. Rahman
Cisco Systems

Deterministic Networking (DetNet) Topology YANG Model

Abstract

This document defines a YANG data model for Deterministic Networking (DetNet) topology discovery and capability configuration.

The YANG module defined in this document conforms to the Network Management Datastore Architecture (NMDA).

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 9 October 2023.

1. Introduction

Deterministic Networking (DetNet) [I-D.ietf-detnet-architecture] is defined to provide high-quality network service with extremely low packet loss rate, bounded low latency and jitter.

DetNet YANG [RFC7950] [RFC6991] models are used for DetNet service configuration, QoS configuration and topology discovery. DetNet service and QoS configuration models are defined in [I-D.ietf-detnet-yang]. This document defines DetNet topology model that can be used for DetNet topology/capability discovery and device configuration. DetNet topology model is an augmentation of the ietf-te-toplogy model [I-D.ietf-teas-yang-te-topo].

2. Terminologies

This document uses the terminologies defined in [I-D.ietf-detnet-architecture].

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. DetNet Topology Model

A DetNet topology is composed of a set of DetNet nodes and DetNet links. DetNet nodes represent the network devices that can transport DetNet services, which are connected by DetNet links. A DetNet Link Terminate Point(LTP) is the connection point between a DetNet node and a DetNet link, which represents the port or interface of a DetNet node. The concept of DetNet node/link/LTP are similar as TE node/link/LTP which are defined in [I-D.ietf-teas-yang-te-topo].

Figure 1 shows a simple DetNet topology: A is a DetNet node, B is DetNet a LTP, and C is a DetNet link.

                        +---+           +---+
                        | A |o(B)--(C)--|   |
                        +---+           +---+

                Figure 1. An example of DetNet Topology

DetNet topology model (ietf-detnet-topology) augments ietf-te-topology model [I-D.ietf-teas-yang-te-topo] to cover the following groups of attributes, which are necessary for supporting DetNet congestion protection and service protection:

  • Bandwidth related attributes (e.g., bandwidth reserved for DetNet);
  • Buffer/queue management related attributes (e.g., queue management parameters, etc.);
  • PREOF (Packet Replication, Elimination and Ordering Function) capabilities and parameters (e.g., maximum out-of-order packets, etc.);
  • Delay related attributes (e.g., node processing delay, queuing delay, link delay, etc.);

The above attributes are categorized into three types: node attributes, link attributes and LTP attributes. The detailed descriptions and model definitions are specified in section 3.1, 3.2 and 3.3, respectively.

3.1. DetNet Node Attributes

Section 4.3 of [I-D.finn-detnet-bounded-latency] gives a DetNet time model, which defines that the delay within a node includes five parts: processing delay, regulation delay, queuing delay, output delay and preemption delay. The processing delay, queuing delay and regulation delay are variable in general, but for DetNet, these delays should be bounded, which is the basic assumption of deterministic networking. These bounded delay parameters are necessary to perform DetNet path computation. Among this delay attributes, processing delay and regulation delay are node relevant, and the queuing delay is LTP relevant. In addition, in order to simplify the model and implementation, the processing delay and regulation delay are combined as processing delay, and the preemption delay is included in queuing delay. [Editor notes: more comments and inputs need here].

For the DetNet node attributes, the following variables are introduced:

  • Maximum DetNet packet processing delay
  • Minimum DetNet packet processing delay
  • Maximum DetNet packet processing delay variation

The modeling structure is shown below:

augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes:
   +--rw detnet-node-attributes
      +--rw minimum-packet-processing-delay?             uint32
      +--rw maximum-packet-processing-delay?             uint32
      +--rw maximum-packet-processing-delay-variation?   uint32

4. DetNet Topology YANG Structure

module: ietf-detnet-topology
augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
   +--rw detnet-topology!
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes:
   +--rw detnet-node-attributes
      +--rw minimum-packet-processing-delay?             uint32
      +--rw maximum-packet-processing-delay?             uint32
      +--rw maximum-packet-processing-delay-variation?   uint32
augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes:
   +--rw detnet-link-attributes
      +--rw maximum-reservable-bandwidth
      |  +--rw te-bandwidth
      |     +--rw (technology)?
      |        +--:(generic)
      |           +--rw generic?   te-bandwidth
      +--rw reserved-detnet-bandwidth
      |  +--rw te-bandwidth
      |     +--rw (technology)?
      |        +--:(generic)
      |           +--rw generic?   te-bandwidth
      +--rw available-detnet-bandwidth
         +--rw te-bandwidth
            +--rw (technology)?
               +--:(generic)
                  +--rw generic?   te-bandwidth
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te:
   +--rw detnet-terminate-point-attributes
      +--rw elimination-capability?           boolean
      +--rw replication-capability?           boolean
      +--rw in-ordering-capability
      |  +--rw in-ordering-capability?         boolean
      |  +--rw maximum-out-of-order-packets?   uint32
      +--rw queuing-algorithm-capabilities
      |  +--rw credit-based-shaping?            boolean
      |  +--rw time-aware-shaping?              boolean
      |  +--rw cyclic-queuing-and-forwarding?   boolean
      |  +--rw asynchronous-traffic-shaping?    boolean
      +--rw queues* [queue-identifier]
         +--rw queue-identifier                   uint32
         +--rw queue-buffer-size?                 uint32
         +--rw enabled-queuing-algorithm
         |  +--rw credit-based-shaping?            boolean
         |  +--rw time-aware-shaping?              boolean
         |  +--rw cyclic-queuing-and-forwarding?   boolean
         |  +--rw asynchronous-traffic-shaping?    boolean
         +--rw minimum-queuing-delay?             uint32
         +--rw maximum-queuing-delay?             uint32
         +--rw maximum-queuing-delay-variation?   uint32

5. DetNet Topology YANG Model

<CODE BEGINS> file "ietf-detnet-topology@20190114.yang"

module ietf-detnet-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-topology";
  prefix "detnet-topology";

  import ietf-te-types {
    prefix "te-types";
  }

  import ietf-te-topology {
    prefix "tet";
  }

  import ietf-network {
    prefix "nw";
  }

  import ietf-network-topology {
    prefix "nt";
  }

  organization
    "IETF Deterministic Networking(DetNet)Working Group";

  contact
   "WG Web:   <http://tools.ietf.org/wg/detnet/>
    WG List:  <mailto:detnet@ietf.org>

    WG Chair: Lou Berger
              <mailto:lberger@labn.net>

              Janos Farkas
              <janos.farkas@ericsson.com>

    Editor:   Xuesong Geng
              <mailto:gengxuesong@huawei.com>

    Editor:   Mach Chen
              <mailto:mach.chen@huawei.com>

    Editor:   Zhenqiang Li
              <lizhenqiang@chinamobile.com>

    Editor:   Reshad Rahman
              <rrahman@cisco.com>";

  description
    "This YANG module augments the 'ietf-te-topology'
     module with DetNet related capabilities and
     parameters.";

    revision "2018-09-10" {
      description "Initial revision";
      reference "RFC XXXX: draft-geng-detnet-config-yang-05";
    }


  grouping detnet-queuing-algorithms {
    description
      "Relationship with IEEE 802.1 TSN YANG models is TBD.";
  }

  grouping detnet-node-attributes{
    description
      "DetNet node related attributes.";
    leaf minimum-packet-processing-delay{
      type uint32;
      description
        "Minimum packet processing delay
         in a node. The unit of the delay
         is microsecond(us)";
    }
    leaf maximum-packet-processing-delay{
      type uint32;
      description
        "Maximum packet processing delay
         in a node. The unit of the delay
         is microsecond(us)";
    }
    leaf maximum-packet-processing-delay-variation{
      type uint32;
      description
        "Maximum packet processing delay
         variation in a node. The unit of
         the delay variation is microsecond(us)";
    }
  }

  grouping detnet-link-attributes{
    description
      "DetNet link related attributes.";

    container maximum-reservable-bandwidth{
      uses te-types:te-bandwidth;
      description
        "This container specifies the maximum bandwidth
         that is reserved for DetNet on this link.";
    }

    container reserved-detnet-bandwidth{
      uses te-types:te-bandwidth;
      description
        "This container specifies the bandwidth that has
         been reserved for DetNet on this link.";
    }
    container available-detnet-bandwidth{
      uses te-types:te-bandwidth;
      description
        "This container specifies the bandwidth that is
         available for new DetNet flows on this link.";
    }
  }

  grouping detnet-terminate-point-attributes{
    description
      "DetNet terminate point related attributes.";

    leaf elimination-capability{
      type boolean;
      description
        "Indicates whether a node is able to do packet
         elimination.";
      reference
        "Section 3.2.2.3 of
         draft-ietf-detnet-architecture";

    }
    leaf replication-capability{
      type boolean;
      description
        "Indicates whether a node is able to do packet
         replication.";
      reference
        "Section 3.2.2.2 of
         draft-ietf-detnet-architecture";
    }
    container in-ordering-capability {
      description
        "Indicates the parameters needed for
         packet in-ordering.";
      reference
        "Section 3.2.2.1 of
         draft-ietf-detnet-architecture";

      leaf in-ordering-capability {
        type boolean;
      description
        "Indicates whether a node is able to do packet
         in-ordering.";
      }
      leaf maximum-out-of-order-packets {
      type uint32;
      description
        "The maximum number of out-of-order packets.";
      }
    }

    container queuing-algorithm-capabilities {
      description
        "All queuing algorithms that a LTP supports.";
      uses detnet-queuing-algorithms;
    }

    list queues {
      key "queue-identifier";
      description
        "A list of DetNet queues.";
      leaf queue-identifier {
        type uint32;
        description
          "The identifier of the queue.";
      }
      leaf queue-buffer-size {
        type uint32;
        description
          "The size of the queue with unit of bytes.";
      }

      container enabled-queuing-algorithm {
        description
          "The queuing algorithms that are enabled on the queue.";
           uses detnet-queuing-algorithms;
      }

      leaf minimum-queuing-delay{
        type uint32;
        description
          "The minimum queuing delay of the queue.
           The unit of the delay is microsecond(us)";
      }
      leaf maximum-queuing-delay{
        type uint32;
        description
          "The maximum queuing delay of the queue.
           The unit of the delay is microsecond(us)";
      }
      leaf maximum-queuing-delay-variation{
        type uint32;
        description
          "The maximum queuing delay variation of the queue.
           The unit of the delay variation is microsecond(us)";
      }
    }
  }

  augment "/nw:networks/nw:network/nw:network-types/tet:te-topology"{
    description
      "Introduce new network type for TE topology.";
    container detnet-topology {
      presence "Indicates DetNet topology.";
      description
        "Its presence identifies the DetNet topology type";
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
          + "tet:te-node-attributes" {
      when "../../../nw:network-types/tet:te-topology/"
      + "detnet-topology:detnet-topology" {
        description
          "Augmentation parameters apply only for networks with
           DetNet topology type.";
      }
    description
      "Augmentation parameters apply for DetNet node attributes.";
    container detnet-node-attributes {
      description
        "Attributes for DetNet node.";
      uses detnet-node-attributes;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
            + "tet:te-link-attributes" {
    when "../../../nw:network-types/tet:te-topology/"
         + "detnet-topology:detnet-topology" {
      description
        "Augmentation parameters apply only for networks with
        DetNet topology type.";
    }
    description
      "Augmentation parameters apply for DetNet link attributes.";
    container detnet-link-attributes {
      description
        "Attributes for DetNet link.";
      uses detnet-link-attributes;
    }
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
             + "tet:te" {
      when "../../../nw:network-types/tet:te-topology/"
            + "detnet-topology:detnet-topology" {
        description
          "Augmentation parameters apply only for networks with
           DetNet topology type.";
      }
    description
      "Augmentation parameters apply for DetNet
       link termination point.";
    container detnet-terminate-point-attributes {
      description
        "Attributes for DetNet link terminate point.";
      uses detnet-terminate-point-attributes;
    }
  }
} //topology module

<CODE ENDS>

6. Open Issues

There are some open issues that are still under discussion:

  • The Relationship with 802.1 TSN YANG models is TBD. TSN YANG models include: P802.1Qcw, which defines TSN YANG for Qbv, Qbu, and Qci, and P802.1CBcv, which defines YANG for 802.1CB. The possible problem here is how to avoid possible overlap among yang models defined in IETF and IEEE. A common YANG model may be defined in the future to shared by both TSN and DetNet. More discussion are needed here.
  • How to support DetNet OAM is TBD.

These issues will be resolved in the following versions of the draft.

7. IANA Considerations

This document makes no request of IANA.

Note to RFC Editor: this section may be removed on publication as an RFC.

9. References

9.1. Normative References

[I-D.finn-detnet-bounded-latency]
Finn, N., Le Boudec, J., Mohammadpour, E., Zhang, J., Varga, B., and J. Farkas, "DetNet Bounded Latency", Work in Progress, Internet-Draft, draft-finn-detnet-bounded-latency-04, , <https://datatracker.ietf.org/doc/html/draft-finn-detnet-bounded-latency-04>.
[I-D.ietf-detnet-architecture]
Finn, N., Thubert, P., Varga, B., and J. Farkas, "Deterministic Networking Architecture", Work in Progress, Internet-Draft, draft-ietf-detnet-architecture-13, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-architecture-13>.
[I-D.ietf-detnet-dp-sol-ip]
Korhonen, J. and B. Varga, "DetNet IP Data Plane Encapsulation", Work in Progress, Internet-Draft, draft-ietf-detnet-dp-sol-ip-02, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-dp-sol-ip-02>.
[I-D.ietf-detnet-dp-sol-mpls]
Korhonen, J. and B. Varga, "DetNet MPLS Data Plane Encapsulation", Work in Progress, Internet-Draft, draft-ietf-detnet-dp-sol-mpls-02, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-dp-sol-mpls-02>.
[I-D.ietf-detnet-flow-information-model]
Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. Fedyk, "Flow and Service Information Model for Deterministic Networking (DetNet)", Work in Progress, Internet-Draft, draft-ietf-detnet-flow-information-model-14, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-flow-information-model-14>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC6991]
Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, , <https://www.rfc-editor.org/rfc/rfc6991>.
[RFC7950]
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, , <https://www.rfc-editor.org/rfc/rfc7950>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.

9.2. Informative References

[I-D.geng-detnet-info-distribution]
Geng, X., Chen, M., Li, Z., Qin, F., and L. Qiang, "IGP-TE Extensions for DetNet Information Distribution", Work in Progress, Internet-Draft, draft-geng-detnet-info-distribution-04, , <https://datatracker.ietf.org/doc/html/draft-geng-detnet-info-distribution-04>.
[I-D.ietf-detnet-use-cases]
Grossman, E., "Deterministic Networking Use Cases", Work in Progress, Internet-Draft, draft-ietf-detnet-use-cases-20, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-use-cases-20>.
[I-D.ietf-detnet-yang]
Geng, X., Ryoo, Y., Fedyk, D., Rahman, R., and Z. Li, "Deterministic Networking (DetNet) YANG Model", Work in Progress, Internet-Draft, draft-ietf-detnet-yang-17, , <https://datatracker.ietf.org/doc/html/draft-ietf-detnet-yang-17>.
[I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V. P., Bryskin, I., and O. G. de Dios, "A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces", Work in Progress, Internet-Draft, draft-ietf-teas-yang-te-32, , <https://datatracker.ietf.org/doc/html/draft-ietf-teas-yang-te-32>.
[I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V. P., Saad, T., Shah, H. C., and O. G. de Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", Work in Progress, Internet-Draft, draft-ietf-teas-yang-te-topo-22, , <https://datatracker.ietf.org/doc/html/draft-ietf-teas-yang-te-topo-22>.
[I-D.thubert-tsvwg-detnet-transport]
Thubert, P., "A Transport Layer for Deterministic Networks", Work in Progress, Internet-Draft, draft-thubert-tsvwg-detnet-transport-01, , <https://datatracker.ietf.org/doc/html/draft-thubert-tsvwg-detnet-transport-01>.
[I-D.varga-detnet-service-model]
Varga, B. and J. Farkas, "DetNet Service Model", Work in Progress, Internet-Draft, draft-varga-detnet-service-model-02, , <https://datatracker.ietf.org/doc/html/draft-varga-detnet-service-model-02>.
[IEEE802.1CB]
IEEE, "Frame Replication and Elimination for Reliability (IEEE Draft P802.1CB)", , <http://www.ieee802.org/1/files/private/cb-drafts/>.
[IEEE802.1Q-2014]
IEEE, "IEEE Std 802.1Q Bridges and Bridged Networks", , <http://ieeexplore.ieee.org/document/6991462/>.
[IEEE802.1Qbu]
IEEE, "IEEE Std 802.1Qbu Bridges and Bridged Networks - Amendment 26: Frame Preemption", , <http://ieeexplore.ieee.org/document/7553415/>.
[IEEE802.1Qbv]
IEEE, "IEEE Std 802.1Qbu Bridges and Bridged Networks - Amendment 25: Enhancements for Scheduled Traffic", 2015", , <http://ieeexplore.ieee.org/document/7572858/>.
[IEEE802.1Qcc]
IEEE, "Stream Reservation Protocol (SRP) Enhancements and Performance Improvements (IEEE Draft P802.1Qcc)", , <http://www.ieee802.org/1/files/private/cc-drafts/>.
[IEEE802.1Qch]
IEEE, "Cyclic Queuing and Forwarding (IEEE Draft P802.1Qch)", , <http://www.ieee802.org/1/files/private/ch-drafts/>.
[IEEE802.1Qci]
IEEE, "Per-Stream Filtering and Policing (IEEE Draft P802.1Qci)", , <http://www.ieee802.org/1/files/private/ci-drafts/>.
[RFC3209]
Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10.17487/RFC3209, , <https://www.rfc-editor.org/rfc/rfc3209>.
[RFC4875]
Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. Yasukawa, Ed., "Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 4875, DOI 10.17487/RFC4875, , <https://www.rfc-editor.org/rfc/rfc4875>.
[RFC8342]
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, , <https://www.rfc-editor.org/rfc/rfc8342>.

Authors' Addresses

Xuesong Geng
Huawei Technologies
Mach(Guoyi) Chen
Huawei Technologies
Zhenqiang Li
022China Mobile
Reshad Rahman
Cisco Systems