Skip to main content

DetNet Configuration YANG Model
draft-geng-detnet-conf-yang-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Xuesong Geng , Mach Chen
Last updated 2017-10-30
Replaced by draft-ietf-detnet-yang, draft-ietf-detnet-yang, draft-ietf-detnet-yang
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-geng-detnet-conf-yang-00
Network Working Group                                            X. Geng
Internet-Draft                                                   M. Chen
Intended status: Experimental                                     Huawei
Expires: May 2, 2018                                    October 29, 2017

                    DetNet Configuration YANG Model
                     draft-geng-detnet-conf-yang-00

Abstract

   This document describes configuration model for Deterministic
   Networking(DetNet).  It defines DetNet configuration attribute and
   the corresponding YANG model, which is used for DetNet capabilities
   configuration/discovery, DetNet flow configuration and DetNet flow
   status collection in the network.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

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 May 2, 2018.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of

Geng & Chen                Expires May 2, 2018                  [Page 1]
Internet-Draft                DetNet Model                  October 2017

   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminologies . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  DetNet Configuration Model  . . . . . . . . . . . . . . . . .   3
     3.1.  Fully Distributed Configuration . . . . . . . . . . . . .   3
     3.2.  Fully Centralized Configuration . . . . . . . . . . . . .   4
     3.3.  Hybrid Configuration  . . . . . . . . . . . . . . . . . .   4
   4.  DetNet Configuration Attribute  . . . . . . . . . . . . . . .   5
     4.1.  DetNet Topology Attribute . . . . . . . . . . . . . . . .   6
       4.1.1.  Node Type . . . . . . . . . . . . . . . . . . . . . .   6
       4.1.2.  Replication Capability  . . . . . . . . . . . . . . .   6
       4.1.3.  Elimination Capability  . . . . . . . . . . . . . . .   6
       4.1.4.  Queuing Management Algorithm  . . . . . . . . . . . .   7
       4.1.5.  Reservation Base  . . . . . . . . . . . . . . . . . .   7
       4.1.6.  Bandwidth Metric  . . . . . . . . . . . . . . . . . .   7
       4.1.7.  Delay Metric  . . . . . . . . . . . . . . . . . . . .   8
       4.1.8.  Synchronization Accuracy  . . . . . . . . . . . . . .   9
     4.2.  DetNet Path Configuration Attribute . . . . . . . . . . .   9
       4.2.1.  Path Constrains . . . . . . . . . . . . . . . . . . .   9
       4.2.2.  Explicit Routing  . . . . . . . . . . . . . . . . . .   9
     4.3.  DetNet Flow Configuration Attribute . . . . . . . . . . .  10
       4.3.1.  Flow Identification . . . . . . . . . . . . . . . . .  10
       4.3.2.  Traffic Specification . . . . . . . . . . . . . . . .  10
       4.3.3.  Encapsulation . . . . . . . . . . . . . . . . . . . .  10
       4.3.4.  Flow Priority . . . . . . . . . . . . . . . . . . . .  10
       4.3.5.  Queuing Parameters  . . . . . . . . . . . . . . . . .  11
       4.3.6.  Replication Function  . . . . . . . . . . . . . . . .  11
       4.3.7.  Elimination Function  . . . . . . . . . . . . . . . .  11
       4.3.8.  Routing . . . . . . . . . . . . . . . . . . . . . . .  12
     4.4.  DetNet Status Attribute . . . . . . . . . . . . . . . . .  12
       4.4.1.  Performance Status  . . . . . . . . . . . . . . . . .  12
       4.4.2.  Replication/Elimination Status  . . . . . . . . . . .  12
   5.  DetNet Configuration YANG Model . . . . . . . . . . . . . . .  12
     5.1.  DetNet Topology YANG Model  . . . . . . . . . . . . . . .  13
     5.2.  DetNet Static Configuration YANG Model  . . . . . . . . .  17
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  21
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  21
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  21
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  21
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  21

Geng & Chen                Expires May 2, 2018                  [Page 2]
Internet-Draft                DetNet Model                  October 2017

     9.2.  Informative References  . . . . . . . . . . . . . . . . .  21
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  23

1.  Introduction

   A Deterministic Networking (DetNet) [I-D.ietf-detnet-architecture]
   provides a capability to carry a unicast or a multicast data flow for
   an application with strict service quality requirements, e.g.,
   extremely low packet loss rate and bounded latency.  The DetNet
   service is provided either for a Layer 3 (L3) flow or a Layer 2 (L2)
   flow by an IP/MPLS network.

   This document describes configuration model for Deterministic
   Networking(DetNet).  It defines DetNet configuration attribute and
   the corresponding YANG model, which is used for DetNet capabilities
   configuration/discovery, DetNet flow configuration and DetNet flow
   status collection in the network.

   This draft includes three parts: DetNet configuration model defined
   in section 3, DetNet configuration attribute defined in section 4 and
   DetNet configuration YANG model defined in section 5.

2.  Terminologies

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

3.  DetNet Configuration Model

   This section introduces three kinds of DetNet configuration models.
   The models can cover different network architectures, showing how
   configuration information exchanges between various entities in the
   network.  Example with candidate control plane protocol is attached
   to each configuration model to show how DetNet may work in current
   Layer 3 network.  To make the configuration model complete, user/
   network interface(UNI) information is also included in this section.
   UNI Information is out of scope of this draft, and more discussions
   about DetNet UNI information can be found in
   [I-D.farkas-detnet-flow-information-model].

3.1.  Fully Distributed Configuration

   In a fully distributed configuration model, UNI information is
   transmitted over DetNet UNI protocol from the user side to the
   network side; then UNI information and network configuration
   information propagate in the network over distributed control plane
   protocol.  For example:

Geng & Chen                Expires May 2, 2018                  [Page 3]
Internet-Draft                DetNet Model                  October 2017

   1) IGP collects topology information and DetNet capabilities of
   network([I-D.geng-detnet-info-distribution]);

   2) Control Plane of the Edge Node(Ingress) receives a flow
   establishment request from UNI and calculates a/some valid path(s);

   3) Using RSVP-TE, Edge Node(Ingress) sends a PATH message with
   explicit route.  After receiving the PATH message, the other Edge
   Node(Egress) sends a Resv message with distributed label and resource
   reservation request.

   Current distributed control plane protocol,e.g., RSVP-TE[RFC3209],
   SRP[IEEE802.1Qcc], can only reserve bandwidth along the path, while
   the configuration of a fine-grained schedule, e.g.,Time Aware
   Shaping(TAS) defined in [IEEE802.1Qbv], is not supported.

   The fully distributed configuration model is not covered by this
   draft.  It should be discussed in the future DetNet control plane
   work.

3.2.  Fully Centralized Configuration

   In the fully centralized configuration model, UNI information is
   transmitted from Centralized User Configuration (CUC) to Centralized
   Network Configuration(CNC).  Configurations of routers for DetNet
   flows are performed by CNC with network management protocol.For
   example:

   1) CNC collects topology information and DetNet capability of network
   through Netconf;

   2) CNC receives a flow establishment request from UNI and calculates
   a/some valid path(s);

   3) CNC configures the devices along the path for flow transmission.

3.3.  Hybrid Configuration

   In the hybrid configuration model, controller and control plane
   protocols are used together to offer DetNet service, and there are a
   lot of possible combinations.  For example:

   1) CNC collects topology information and DetNet capability of network
   through IGP/BGP-LS;

   2) CNC receives a flow establishment request from UNI and calculates
   a/some valid path(s);

Geng & Chen                Expires May 2, 2018                  [Page 4]
Internet-Draft                DetNet Model                  October 2017

   3) Based on the calculation result, CNC distributes flow path
   information to Edge Node(Ingress) and other information(e.g.
   replication/elimination) to the relevant nodes.

   or

   1) IGP collects topology information and DetNet capability of network
   through IGP/BGP-LS;

   2) Control Plane of Edge Node(Ingress) receives a flow establishment
   request from UNI;

   3) Edge Node(Ingress) sends the path establishment request to CNC
   through PCEP;

   4) After Calculation, CNC sends back the path information of the flow
   to the Edge Node(Ingress) through PCEP;

   5) Using RSVP-TE, Edge Node(Ingress) sends a PATH message with
   explicit route.  After receiving the PATH message, the other Edge
   Node(Egress) sends a Resv message with distributed label and resource
   reservation request.

   There are also other variations that can included in the hybrid
   model.  The hybrid configuration model is not covered by this draft.
   It should be discussed in the future DetNet control plane work.

   Note: [IEEE802.1Qcc] also defines three TSN configuration models:
   fully-centralized model, fully-distributed model, centralized Network
   / distributed User Model.  This section defines the configuration
   model roughly the same, to keep the design of L2 and L3 in the same
   structure.  Hybrid configuration model is slightly different from the
   'centralized Network / distributed User Model' , which intends to
   contain more variations.

4.  DetNet Configuration Attribute

   According to section 3, different configuration model with different
   control plane protocol or yang model use different configuration
   attribute.  This section tries to cover the possible attributes that
   is used in fully centralized configuration model.  Some of the
   attributes can also be used as reference of the definition of other
   two configuration models in the future work.

   Note: When the working group get the control plane into
   consideration, other yang models that cooperate with or configure the
   control plane protocols should also be included in this draft

Geng & Chen                Expires May 2, 2018                  [Page 5]
Internet-Draft                DetNet Model                  October 2017

4.1.  DetNet Topology Attribute

   DetNet Topology Attribute is the basis of path computation,
   describing the DetNet relative topology and capability of the
   network.

4.1.1.  Node Type

   There are three kinds of DetNet nodes defined in
   [I-D.ietf-detnet-architecture]: Edge Node, Relay Node and Transit
   Node.

   Edge node includes either a DetNet service layer proxy function for
   DetNet service protection (e.g. the addition or removal of packet
   sequencing information) for one or more end systems, or starts or
   terminates congestion protection at the DetNet transport layer.
   Boundary of a DetNet Domain SHALL be an edge note.

   Relay node includes a service layer function that interconnects
   different DetNet transport layer paths to provide service protection.
   A DetNet relay node can be a bridge, a router, a firewall, or any
   other system that participates in the DetNet service layer.  It
   typically incorporates DetNet transport layer functions as well, in
   which case it is collocated with a transit node.

   Transit node operates at the DetNet transport layer, that utilizes
   link layer and/or network layer switching across multiple links and/
   or sub-networks to provide paths for DetNet service layer functions.
   Optionally provides congestion protection over those paths.  An MPLS
   LSR is an example of a DetNet transit node.

   NodeType specifies which type a DetNet node belongs to, which also
   indicates its role in the DetNet service.

4.1.2.  Replication Capability

   ReplicationCapability specifies whether a DetNet node has the
   capability of packet replication.  Replication Capability
   requirements include: 1) identify the packets that need to be
   replicated; 2) do packet replication; 3) encapsulate the replicated
   packets and send them to different next hop.

4.1.3.  Elimination Capability

   EliminationCapability specifies whether a DetNet node has the
   capability of packet elimination.  Elimination Capability
   requirements include: 1) record the packets that have been received

Geng & Chen                Expires May 2, 2018                  [Page 6]
Internet-Draft                DetNet Model                  October 2017

   from different port; 2) eliminate the redundant packets; 3)
   encapsulate the first-received packets and send them to the next hop.

4.1.4.  Queuing Management Algorithm

   IEEE defines some queuing management algorithms to guarantee TSN
   service quality, most of them can be used in DetNet, for example:

   o  Credit-based shaper algorithm [IEEE802.1Q-2014]

   o  Frame Preemption[IEEE802.1Qbu]

   o  Scheduled Traffic [IEEE802.1Qbv]

   o  Per-Stream Filtering and Policing [IEEE802.1Qci]

   o  Cyclic Queuing and Forwarding [IEEE802.1Qch]

   This attribute specifies what kind of Queuing Management Algorithm(s)
   is(are) used in the output queue for DetNet (except for IEEE802.1Qci,
   which is always used in input queue) .

4.1.5.  Reservation Base

   There is a set of parameters that describe reservation operation for
   the entire device.  Those parameters are contained in Reservation
   Base attribute, including the following parameters:

   o  MaxFanInPorts: maximum number of fan-in ports in the device

   o  MaxPacketSize: maximum packet size that the node allows to
      transmit

   o  MaxDetNetClasses: maximum number of traffic classes that can be
      reserved for DetNet

4.1.6.  Bandwidth Metric

   [I-D.ietf-teas-yang-te-topo] defines the following parameters for
   bandwidth reservation:

   o  Max-link-bandwidth: maximum link bandwidth

   o  Max-resv-link-bandwidth: maximum reservable link bandwidth

   o  Unreserved-bandwidth(N): unreserved bandwidth for priority N

Geng & Chen                Expires May 2, 2018                  [Page 7]
Internet-Draft                DetNet Model                  October 2017

   Considering the features of DetNet, bandwidth reservation parameters
   for DetNet are defined as follows to augment the te-topology:

   o  Maximum DetNet Reservable Bandwidth(N): is represented as a
      percentage of port transmit rate, that can be used by DetNet of
      traffic class N and it is also available for other DetNet traffic
      classes that have lower latency requirements;

   o  DetNet Unreserved Bandwidth(N): is represented as a percentage of
      maximum DetNet Reservable bandwidth that has not been reserved;

   For example, there are three classes of DetNet service A, B, and C,
   with A the lowest latency and C the highest.  'Maximum DetNet
   Reservable Bandwidth(N)' can be presented as 'MaxBw(N)'; DetNet
   Unreserved Bandwidth(N) can be presented as 'UnBw(N)'.  MaxBw(A) can
   be used by A; MaxBw(B) can by used by A&B, and MaxBw(C) can be used
   by A&B&C.  So, if MaxBw(A)=10, MaxBw(B)=25, MaxBw(C)=40, and we
   allocate 15 to A, 30 to B and 10 to C, then UnBw(A)=0, UnBw(B)= 0,
   UnBw(C)=20.

4.1.7.  Delay Metric

   Delay Metric is used to describe the delay of every hop, which
   includes the following parameters:

   o  Link Delay

   o  Maximum Packet Processing Delay

   o  Minimum Packet Processing Delay

   o  Maximum Output Queuing Delay

   o  Minimum Output Queuing Delay

   Link Delay specifies the delay along the network media for a packet
   transmitted from the specified Port of this station to the
   neighboring Port on a different station.

   Packet Processing Delay includes: Per-Stream Filtering and
   Policing([IEEE802.1Qci]), Flow Classification, Looking up in
   Forwarding Information Base, and etc.  It covers the process from the
   packet being received by the node to the packet being sent to the
   output queue.  It is packet length dependent.

   Queuing Delay specifies the delay for a packet in the output queue.
   It is determined by the Queuing Management Algorithm and Port
   Transmission Rate.

Geng & Chen                Expires May 2, 2018                  [Page 8]
Internet-Draft                DetNet Model                  October 2017

   The delay of every hop is the sum of link delay, packet processing
   delay and output queuing delay.

   Notes: The delay metric is also discussed in IEEE with other
   considerations, which can be found:
   <http://www.ieee802.org/1/files/public/docs2017/cr-finn-timing-model-
   0617-v00.pdf> and <http://www.ieee802.org/1/files/public/docs2017/cr-
   specht-bridge-timing-0917-v01.pdf>.  More discussions are needed
   here.

4.1.8.  Synchronization Accuracy

   Most of the DetNet service requires clock synchronization.
   Synchronization Accuracy is necessary for queuing algorithm
   configuration and delay prediction.  For example, Synchronization
   Accuracy is an important parameter when calculating the guard band
   for CQF[IEEE802.1Qch].

   Note: The method used to achieve time synchronization is not
   specified in this draft.

4.2.  DetNet Path Configuration Attribute

   Path Attribute is used for path configuration in DetNet Edge
   Node(Ingress).

4.2.1.  Path Constrains

   DetNet path constrains are mainly based on the application
   requirement, including maximum latency/number of replication trees,
   and traffic specification, which can be used to calculate bandwidth
   requirement[I-D.farkas-detnet-flow-information-model].  There may be
   other path constrains when the path is established, which can be
   added in this attribute in the future version.

4.2.2.  Explicit Routing

   Explicit routing attribute describes an end-to-end path for DetNet
   flow, by listing nodes along the path in order and specifying their
   types.  The DetNet node type has been specified in section 4.1.1.  If
   service protection is needed, DetNet flow is replicated in relay
   node, going through different paths, and eliminated in another relay
   node.  It makes the DetNet route a point-to-multipoint-to-point (P-
   MP-P) path.  In [RFC4875], explicit routing of a P-MP LSP is
   represented by a P-MP tree.  Similarly, a P-MP-P tree is needed in
   DetNet, and the rules of building the tree is to be defined.

Geng & Chen                Expires May 2, 2018                  [Page 9]
Internet-Draft                DetNet Model                  October 2017

4.3.  DetNet Flow Configuration Attribute

   DetNet Configuration Attribute is used for path configuration after
   the path has been calculated, preparing for the DetNet Flow
   Transportation.

4.3.1.  Flow Identification

   Flow Identification is data plane relevant, and it is defined in
   [I-D.farkas-detnet-flow-information-model].

4.3.2.  Traffic Specification

   Traffic Specification is defined
   in[I-D.farkas-detnet-flow-information-model] .

4.3.3.  Encapsulation

   [I-D.dt-detnet-dp-sol] defines more than one data plane protocols for
   DetNet service, and DetNet Encapsulation attribute specifies the type
   of encapsulation used in the node, including:

   o  MPLS Pseudo Wire

   o  Native IPv6

   o  TSN

   Notes: In one DetNet domain, the encapsulation should be the same;
   When a flow goes across different domains, the encapsulation needs to
   be changed.  For example, when an DetNet Edge Node connects two TSN
   domains, at the entry or exit boundary of the DetNet domain, the
   encapsulation needs to be changed accordingly.  Parameters in the
   encapsulation also needs to do the mapping. for example, the
   translation from flow Unique ID defined [IEEE802.1Qcc] to DetNet flow
   ID defined in [I-D.dt-detnet-dp-sol] should be defined in the
   configuration of the edge node .

4.3.4.  Flow Priority

   Flow Priority attribute specifies the priority reserved for DetNet
   flow in PSN header.  The intermediate node can distinguish DetNet
   flow from non-DetNet flow by DetNet priority.  And, if more than one
   DetNet priority is defined, it can also be used to describe DetNet
   flows with different quality requirements, e.g. , low latency DetNet
   flows and high latency DetNet flows.

Geng & Chen                Expires May 2, 2018                 [Page 10]
Internet-Draft                DetNet Model                  October 2017

   Notes: In one DetNet domain, the priority reserved for DetNet should
   be the same.  When crossing DetNet domains, the priority should be
   translated accordingly.  For example, the priority translation from
   TSN domain to DetNet domain is defined in
   [I-D.varga-detnet-service-model] Annex 2 "Integrating Layer 3 and
   Layer 2 QoS".

   This attribute is also data plane relevant.  If there is no priority
   reserved for DetNet, other attribute should be specified to
   distinguish DetNet flows.  The mapping from flow priority to output
   queue also makes it necessary to take queuing management
   algorithm(section 4.1.4) into consideration when defining the DetNet
   priority.

4.3.5.  Queuing Parameters

   Queuing Management Algorithm Type is described in section 4.1.4.
   Different algorithm use different parameters to manage queue.  In a
   fully-centralized configuration model, the parameters can be
   distributed by CNC; in a distributed configuration model, the device
   can configure itself based on the application requirement and flow
   traffic specification information.

   The queuing management configuration parameters and the corresponding
   YANG model are being defined in IEEE.  For example, when stream
   policing and filtering defined in[IEEE802.1Qci] is deployed in one
   node, the parameter of Stream filter instance table (IEEE P802.1Qci
   8.6.5.1.1), Stream gate instance table (IEEE P802.1Qci 8.6.5.1.2),
   Flow meter instance table (IEEE P802.1Qci 8.6.5.1.3) should be
   configured by CNC or other control plane protocol.

4.3.6.  Replication Function

   This attribute specifies whether the node will do replication to the
   packet of this flow.  Configuration of Replication in relay node is
   defined in [IEEE802.1CB].

4.3.7.  Elimination Function

   This attribute specifies whether the node will do elimination to the
   packet of a flow.  For a multicast flow, elimination can be performed
   on some ports, but not on others in one node.  Configuration of
   Elimination in relay node is defined in [IEEE802.1CB].

Geng & Chen                Expires May 2, 2018                 [Page 11]
Internet-Draft                DetNet Model                  October 2017

4.3.8.  Routing

   Routing configuration is data plane relevant, but no matter what the
   encapsulation is, the following attributes should be contained:

   o  Flow Identification: in the current data plane design, flow ID, PW
      label or other relevant information can be used in flow
      identification.  Flow Identification Information may be not needed
      in Transit Node;

   o  Operation: transmission / replication / elimination /
      elimination&replication;

   o  Next-hop;

   o  Encapsulation: the packet should be re-encapsulated after
      replication or elimination.  Usually, encapsulation Information is
      not needed in the Transit Node;

4.4.  DetNet Status Attribute

   The DetNet status attributes are provided by the device for each
   DetNet flow.  The Status Attributes describe the status of the flow
   when it is transmitted in the network.

4.4.1.  Performance Status

   Performance Status contains:

   o  Maximum Link Latency: which is measured by the packet's timestamp

   o  Packet Loss: which describes the packet loss of a particular flow
      in this node

   o  Flow Policing and Filtering Status: the illegal behavior of the
      flow that is recorded by the node

4.4.2.  Replication/Elimination Status

   Detailed discussion of Replication/Elimination status is specified in
   [IEEE802.1CB].

5.  DetNet Configuration YANG Model

   This section specifies the network management information that is
   used for the fully centralized DetNet configuration model.  YANG
   model for other configuration model is to be defined in the future
   version of the draft.

Geng & Chen                Expires May 2, 2018                 [Page 12]
Internet-Draft                DetNet Model                  October 2017

5.1.  DetNet Topology YANG Model

   <CODE BEGINS> file "ietf-detnet-topology@2017-10-24.yang"
     module ietf-te-detnet-topology {
     yang-version 1.0;
     namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-topology";

     prefix "detnet-to";

     import ietf-network-state {
       prefix "nw-s";
     }

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

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

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

     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>

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

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

     description
       "This YAGN module augments the 'ietf-te-topology'
        module with detnet capability data for detnet
        configuration";

     grouping detnet-link-info-attributes{
       description
         "DetNet capability attributes in a DetNet topology";

Geng & Chen                Expires May 2, 2018                 [Page 13]
Internet-Draft                DetNet Model                  October 2017

       container detnet-performance-metric-attributes{
         description
           "Link performance information in real time.";
         uses detnet-performance-metric-attributes;
       }
       container detnet-queuing-management-algorithm{
         description
           "Detnet queuing management algorithm used in
            output queue";
         uses detnet-queuing-management-algorithm;
       }
     }

     grouping detnet-performance-metric-attributes{
       description
         "Link performance information in real time.";
       container maximum-detnet-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 can
            be used for new DetNet flows on this link.";
       }
       leaf minimum-detnet-device-delay{
         type unit 32;
         description
           "Minimum delay in the device for DetNet flows";
       }
       leaf maximum-detnet-device-delay{
         type unit 32;
         description
           "Maximum delay in the device for DetNet flows";
       }
     }

     grouping detnet-queuing-management-algorithm{
       description

Geng & Chen                Expires May 2, 2018                 [Page 14]
Internet-Draft                DetNet Model                  October 2017

         "Detnet queuing management algorithm used in
          output queue";
       leaf queuing-management-algorithm{
         type enumeration{
           enum credit-based-shaping{
             reference
              "IEEE P802.1 Qav";
           }
           enum time-aware-shaping{
             reference
               "IEEE P802.1 Qbv";
           }
           enum  cyclic-queuing-and-forwarding{
             reference
               "IEEE P802.1 Qch";
           }
           enum  asynchronous-traffic-shaping{
             reference
               "IEEE P802.1 Qcr";
           }
         }
       }
     }

     grouping detnet-node-info-attributes{
       description
         "DetNet capability attributes in a DetNet node";
       container detnet-node-type{
         description
           "Three types of DetNet nodes";
         reference
           "draft-ietf-detnet-architecture-03:
            Deterministic Networking Architecture";
         uses detnet-node-type;
       }
       container detnet-resource-reservation-attributes{
         uses detnet-resource-reservation-attributes;
       }
       leaf detnet-elimination-capability{
         type boolean;
         description
           "This node is able to do DetNet packet
            elimination";
         }
       leaf detnet-replication-capability{
         type boolean;
         description

Geng & Chen                Expires May 2, 2018                 [Page 15]
Internet-Draft                DetNet Model                  October 2017

           "This node is able to do DetNet packet
            replication";
       }
     }

     grouping detnet-node-type{
       description
         "This grouping defines three types of DetNet nodes";
       reference
         "draft-ietf-detnet-architecture-03:Deterministic
          Networking Architecture";
       leaf detnet-node-type{
         type enumeration{
           enum edge-node{
             description
               "An instance of a DetNet relay node that
                includes either a DetNet service layer proxy
                function for DetNet service protection (e.g.
                the addition or removal of packet sequencing
                information) for one or more end systems, or
                starts or terminate congestion protection at
                the DetNet transport layer,analogous to a
                Label Edge Router (LER).";
           }
           enum relay-node{
             description
               "A DetNet node including a service layer
                function that interconnects different DetNet
                transport layer paths to provide service
                protection.A DetNet relay node can be a bridge,
                a router, a firewall, or any other system that
                participates in the DetNet service layer. It
                typically incorporates DetNet transport layer
                functions as well, in which case it is
                collocated with a transit node.";
           }
           enum  transit-node{
             description
               "A node operating at the DetNet transport layer,
                that utilizes link layer and/or network layer
                switching across multiple links and/or
                sub-networks to provide paths for DetNet
                service layer functions.Optionally provides
                congestion protection over those paths.An MPLS
                LSR is an example of a DetNet transit node.";
           }
         }
       }

Geng & Chen                Expires May 2, 2018                 [Page 16]
Internet-Draft                DetNet Model                  October 2017

     }

     grouping detnet-resource-reservation-attributes{
       description
         "This grouping describs reservation operation for
          the entire device";
       leaf MaxFanInPorts{
         type Unit32
         description
           "maximum number of fan-in ports in the device";
       }
       leaf MaxPacketSize{
         type Unit32
         description
           "maximum Packet size the device allows";
       }
       leaf MaxDetNetClasses{
         type Unit32
         description
           "maximum number of traffic classes that can be
            reserved for DetNet";
       }

     augment "/nw-s:networks/nw-s:network/nt-s:link/tet:te/"{
       container advertise-info{
         description
           "Advertised DetNet link information attributes.";
         uses detnet-link-info-attributes;
       }
     }

     augment "/nw-s:networks/nw-s:network/nw-s:node/tet:te/"{
       description
         "Advertised DetNet node information attributes.";
       container{
         uses detnet-node-info-attributes;
       }
     }
   <CODE ENDS>

5.2.  DetNet Static Configuration YANG Model

   <CODE BEGINS> file "ietf-detnet-static @2017-10-26.yang"
   module ietf-detnet-static {
     yang-version 1.0;
     namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-static";

     prefix "detnet-static";

Geng & Chen                Expires May 2, 2018                 [Page 17]
Internet-Draft                DetNet Model                  October 2017

     import ietf-routing {
       prefix "rt";
     }
     import ietf-yang-types{
       prefix "yang";
     }

     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>

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

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

       description
         "This YAGN module augments the 'ietf-routing'module
          with detnet flow configuration attribute";

     grouping flow-identfication {
       description
         "DetNet flow identification";
       reference
         "draft-farkas-detnet-flow-information-model"
       leaf source-ip-address {
         type yang:ip-address;
         description
           "Source IP address";
       }
       leaf destination-ip-address {
         type yang:ip-address;
         description
           "Destination IP address";
       }
       leaf source-mac-address {
         type yang:mac-address;
         description
           "Source MAC address";
       }
       leaf destination-mac-address {

Geng & Chen                Expires May 2, 2018                 [Page 18]
Internet-Draft                DetNet Model                  October 2017

         type yang:mac-address;
         description
           "Destination MAC address";
       }
       leaf ipv6-flow-label {
         ;
       }
       leaf mpls-label {
         ;
       }
     }

     grouping traffic-specification{
       descprition
         "traffic-specification specifies how the Source
          transmits packets for the flow.  This is the
          promise/request of the Source to the network.
          The network uses this traffic specification
          to allocate resources and adjust queue
          parameters in network nodes.";
       reference
         "draft-farkas-detnet-flow-information-model"
       leaf max-packets-per-interval{
         type uint16;
         description
           "max-packets-per-interval specifies the maximum
            number of packets that the application shall
            transmit in one Interval.";
       }
       leaf max-packet-size{
         type unit16;
         description
           "max-packet-size specifies maximum packet size
            that the Source will transmit";
       }
       leaf queuing-algorithm-selection{
         type uint8;
         descprition
           "";
       }
     }

     grouping routing-configuration{
       descprition
         "configuration parameters direct data plane
          operations";
       container flow-identification{
         uses flow-identfication;

Geng & Chen                Expires May 2, 2018                 [Page 19]
Internet-Draft                DetNet Model                  October 2017

       }
       leaf operation{
         type enumeration{
           enum transmission{
             description
               "Operation: transmit ";
           }
           enum replication{
             description
               "Operation: packet replication";
           }
           enum elimination{
             description
               "Operation: packet elimination";
           }
           enum elimination-and-replication{
             description
               "Operation: packet elimination and
                replication";
           }
         }
       }
     }

     grouping queuing-parameters{

     }

     grouping replication-function{

     }

     grouping elimination-function{

     }

     augment "/rt:routing{
       description
         "DetNet node static configuration
          attributes.";
       container{
         uses flow-identfication;
         uses traffic-specificatio;
         uses routing-configuration;
         uses queuing-parameters;
         uses replication-function;
         uses elimination-function;
       }

Geng & Chen                Expires May 2, 2018                 [Page 20]
Internet-Draft                DetNet Model                  October 2017

     }
   <CODE ENDS>

6.  IANA Considerations

   This document makes no request of IANA.

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

7.  Security Considerations

8.  Acknowledgements

9.  References

9.1.  Normative References

   [I-D.dt-detnet-dp-sol]
              Korhonen, J., Andersson, L., Jiang, Y., Finn, N., Varga,
              B., Farkas, J., Bernardos, C., Mizrahi, T., and L. Berger,
              "DetNet Data Plane Encapsulation", draft-dt-detnet-dp-
              sol-02 (work in progress), September 2017.

   [I-D.farkas-detnet-flow-information-model]
              Farkas, J., Varga, B., rodney.cummings@ni.com, r., Jiang,
              Y., and Y. Zha, "DetNet Flow Information Model", draft-
              farkas-detnet-flow-information-model-02 (work in
              progress), October 2017.

   [I-D.ietf-detnet-architecture]
              Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", draft-ietf-
              detnet-architecture-03 (work in progress), August 2017.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

9.2.  Informative References

   [I-D.geng-detnet-info-distribution]
              Geng, X. and M. Chen, "IGP-TE Extensions for DetNet
              Information Distribution", draft-geng-detnet-info-
              distribution-01 (work in progress), September 2017.

Geng & Chen                Expires May 2, 2018                 [Page 21]
Internet-Draft                DetNet Model                  October 2017

   [I-D.ietf-teas-yang-te]
              Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and
              I. Bryskin, "A YANG Data Model for Traffic Engineering
              Tunnels and Interfaces", draft-ietf-teas-yang-te-09 (work
              in progress), October 2017.

   [I-D.ietf-teas-yang-te-topo]
              Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
              O. Dios, "YANG Data Model for Traffic Engineering (TE)
              Topologies", draft-ietf-teas-yang-te-topo-13 (work in
              progress), October 2017.

   [I-D.varga-detnet-service-model]
              Varga, B. and J. Farkas, "DetNet Service Model", draft-
              varga-detnet-service-model-02 (work in progress), May
              2017.

   [IEEE802.1CB]
              "IEEE, "Frame Replication and Elimination for Reliability
              (IEEE Draft P802.1CB)", 2017,
              <http://www.ieee802.org/1/files/private/cb-drafts/>.",
              2016.

   [IEEE802.1Q-2014]
              "IEEE, "IEEE Std 802.1Q Bridges and Bridged Networks",
              2014, <http://ieeexplore.ieee.org/document/6991462/>.",
              2014.

   [IEEE802.1Qbu]
              "IEEE, "IEEEE Std 802.1Qbu Bridges and Bridged Networks -
              Amendment 26: Frame Preemption", 2016,
              <http://ieeexplore.ieee.org/document/7553415/>.", 2016.

   [IEEE802.1Qbv]
              "IEEE, "IEEE Std 802.1Qbu Bridges and Bridged Networks -
              Amendment 25: Enhancements for Scheduled Traffic", 2015,
              <http://ieeexplore.ieee.org/document/7572858/>.", 2016.

   [IEEE802.1Qcc]
              "IEEE, "Stream Reservation Protocol (SRP) Enhancements and
              Performance Improvements (IEEE Draft P802.1Qcc)", 2017,
              <http://www.ieee802.org/1/files/private/cc-drafts/>.".

   [IEEE802.1Qch]
              "IEEE, "Cyclic Queuing and Forwarding (IEEE Draft
              P802.1Qch)", 2017,
              <http://www.ieee802.org/1/files/private/ch-drafts/>.",
              2016.

Geng & Chen                Expires May 2, 2018                 [Page 22]
Internet-Draft                DetNet Model                  October 2017

   [IEEE802.1Qci]
              "IEEE, "Per-Stream Filtering and Policing (IEEE Draft
              P802.1Qci)", 2016,
              <http://www.ieee802.org/1/files/private/ci-drafts/>.",
              2016.

   [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, December 2001,
              <https://www.rfc-editor.org/info/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, May 2007,
              <https://www.rfc-editor.org/info/rfc4875>.

Authors' Addresses

   Xuesong Geng
   Huawei

   Email: gengxuesong@huawei.com

   Mach(Guoyi) Chen
   Huawei

   Email: mach.chen@huawei.com

Geng & Chen                Expires May 2, 2018                 [Page 23]