Internet DRAFT - draft-xiong-detnet-qos-yang

draft-xiong-detnet-qos-yang







DeNet WG                                                        Q. Xiong
Internet-Draft                                                    Y. Han
Intended status: Standards Track                         ZTE Corporation
Expires: May 4, 2020                                              F. Qin
                                                                  P. Liu
                                                            China Mobile
                                                        November 1, 2019


                            DetNet QoS Yang
                     draft-xiong-detnet-qos-yang-02

Abstract

   This document defines a YANG data model for Deterministic Networking
   (DetNet) Quality of Service (QoS) based on the Differentiated
   Services (DiffServ) model.

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 4, 2020.

Copyright Notice

   Copyright (c) 2019 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
   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




Xiong, et al.              Expires May 4, 2020                  [Page 1]

Internet-Draft               DetNet QoS Yang               November 2019


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  DetNet DiffServ QoS Model . . . . . . . . . . . . . . . . . .   3
     2.1.  DetNet QoS Tree Structure . . . . . . . . . . . . . . . .   3
     2.2.  DetNet QoS Module . . . . . . . . . . . . . . . . . . . .   4
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  13
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  13
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  13
     6.1.  Informative References  . . . . . . . . . . . . . . . . .  13
     6.2.  Normative References  . . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   Deterministic Networking (DetNet) as defined in [RFC8655], provides a
   capability to carry specified unicast or multicast data flows for
   real-time applications with extremely low data loss rates and bounded
   latency.  In the meanwhile, DetNet and non-DetNet packets are allowed
   to be transmitted in the same network and more than one DetNet flows
   which has different priorities may be forwarded through the DetNet
   domain.  As discussed in [I-D.ietf-detnet-ip] and
   [I-D.xiong-detnet-qos-policy], the Differentiated Services (DiffServ)
   can be used to provide Quality of Service (QoS) for DetNet services.

   This document defines a YANG data model for DetNet QoS based on the
   DiffServ model.

1.1.  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 [RFC2119].

1.2.  Terminology

   The terminology is defined as [RFC8655], [RFC3270], [RFC2474] and
   [RFC2475].







Xiong, et al.              Expires May 4, 2020                  [Page 2]

Internet-Draft               DetNet QoS Yang               November 2019


2.  DetNet DiffServ QoS Model

   This document defines a YANG data module for DetNet DiffServ QoS
   Model as discussed in [I-D.xiong-detnet-qos-policy].  In the ietf-
   detnet-qos module, this is performed as one of the DetNet QoS policy.

2.1.  DetNet QoS Tree Structure

   DetNet DiffServ model is one type of the DetNet QoS policy and other
   policy types can be defined in detnet-policy-type.

   [I-D.xiong-detnet-qos-policy] specified two types of classifiers
   including BA (Behavior Aggregate) and MF (Multi-Field) classifiers in
   detnet-classifier-type.  DetNet IP BA classifier selects packets
   based on the DiffServ Code Point (DSCP) and DetNet MPLS BA classifier
   is based on the MPLS Traffic Class (TC) field.  DetNet IP MF
   classifier selects packets based on the value of a combination of
   source address, destination address, DSCP, protocol ID, source port
   and destination port numbers and DetNet MPLS MF classifier is based
   on the MPLS TC , service label (S-Label) field and forwarding labels
   (F-Labels) of the header.

   [I-D.xiong-detnet-qos-policy] defined a DetNet (DN) Per Hop Behavior
   (PHB) for DetNet forward other than existing PHBs including
   AF,EF,CS,DF etc.  The PHB class information description is as qos-
   phb-class shown.

   [I-D.xiong-detnet-qos-policy] defined two new types of action for
   DetNet traffic conditioning named order and scheduler action.  Other
   actions including meter, shaper, dropper and marker as the detnet-
   action-type shown.

module: ietf-detnet-qos
  +--rw detnet-qos-policies
     +--rw detnet-policy-template* [detnet-policy-name]
        +--rw detnet-policy-name            string
        +--rw detnet-policy-type?           detnet-policy-type
        +--rw detnet-classifier-template* [detnet-classifier-name]
           +--rw detnet-classifier-name    string
           +--rw detnet-classifier-type?   detnet-classifier-type
           +--rw (classifier-type)?
           |  +--:(ba)
           |  |  +--rw (encapsulation-type)?
           |  |     +--:(MPLS)
           |  |     |  +--rw mpls-ba* [tc-value]
           |  |     |     +--rw phb-class?   qos-phb-class
           |  |     |     +--rw tc-value     uint8
           |  |     +--:(IP)



Xiong, et al.              Expires May 4, 2020                  [Page 3]

Internet-Draft               DetNet QoS Yang               November 2019


           |  |        +--rw ip-ba* [dscp-value]
           |  |           +--rw phb-class?    qos-phb-class
           |  |           +--rw dscp-value    uint8
           |  +--:(mf)
           |     +--rw (tunnel-type)?
           |        +--:(MPLS)
           |        |  +--rw mpls-mf* [tc-value]
           |        |     +--rw phb-class?   qos-phb-class
           |        |     +--rw tc-value     uint8
           |        |     +--rw s-label?     uint32
           |        |     +--rw f-labels* [f-label-id]
           |        |        +--rw f-label-id    uint32
           |        +--:(IPv4)
           |        |  +--rw ipv4-mf* [dscp-value]
           |        |     +--rw phb-class?                  qos-phb-class
           |        |     +--rw dscp-value                  uint8
           |        |     +--rw ipv4-source-address?        inet:ipv4-address
           |        |     +--rw ipv4-destination-address?   inet:ipv4-address
           |        |     +--rw protocol-ID?                uint8
           |        |     +--rw source-port-numbers?        inet:port-number
           |        |     +--rw destination-port-numbers?   inet:port-number
           |        +--:(IPv6)
           |           +--rw ipv6-mf* [dscp-value]
           |              +--rw phb-class?                  qos-phb-class
           |              +--rw dscp-value                  uint8
           |              +--rw ipv6-source-address?        inet:ipv6-address
           |              +--rw ipv6-destination-address?   inet:ipv6-address
           |              +--rw protocol-ID?                uint8
           |              +--rw source-port-numbers?        inet:port-number
           |              +--rw destination-port-numbers?   inet:port-number
           |              +--rw flow-label?                 inet:ipv6-flow-label
           +--rw detnet-action* [detnet-action-type]
              +--rw detnet-action-type    detnet-action-type
              +--rw (actions)?
                 +--:(meter)
                 +--:(marker)
                 +--:(shaper)
                 +--:(dropper)
                 +--:(order)
                 +--:(scheduler)

2.2.  DetNet QoS Module

<CODE BEGINS> file "detnet-diffserv-qos@2018-10-13.yang"
module ietf-detnet-qos {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-qos";
     prefix detnet-qos;



Xiong, et al.              Expires May 4, 2020                  [Page 4]

Internet-Draft               DetNet QoS Yang               November 2019


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

     organization "IETF 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:   Quan Xiong
                  <mailto:xiong.quan@zte.com.cn>
        Editor:   Yufang Han
                  <mailto:han.yufang1@zte.com.cn>";

     description
       "This YANG module describes the Deterministic Networking (DetNet)
           Quality of Service (QoS) based on the Differentiated Services (DiffServ)
           model.";

     revision "2018-10-13" {
       description "initial revision";
       reference "RFC XXXX: draft-xiong-detnet-qos-yang-01";
     }

    typedef qos-phb-class {
     type enumeration {
      enum df {
        value 1 ;
        description "Default Forwarding for Best effort";
      }
      enum af1 {
        value 2 ;
        description "Assured forwarding class 1";
      }
      enum af2 {
        value 3 ;
        description "Assured forwarding class 2";
      }
      enum af3 {
        value 4 ;
        description "Assured forwarding class 3";
      }
      enum af4 {
        value 5 ;
        description "Assured forwarding class 4";



Xiong, et al.              Expires May 4, 2020                  [Page 5]

Internet-Draft               DetNet QoS Yang               November 2019


      }
      enum ef {
        value 6 ;
        description "Expedited forward";
      }
          enum cs6 {
        value 7 ;
        description "Internetwork control service class";
      }
      enum cs7 {
        value 8 ;
        description "Network control service class";
      }
      enum dn {
        value 9 ;
        description "DetNet forward";
      }
     }
         description
         "The PHB class including AF,EF,CS,DF,DN";
    }

    typedef detnet-policy-type {
          type enumeration {
            enum diffserv {
              value 1 ;
                  description "DiffServ Policy";
            }
          }
          description
         "The DetNet policy type.";
    }

    typedef detnet-classifier-type {
          type enumeration {
            enum ba {
              value 1 ;
                  description "DiffServ BA Classifier";
            }
                enum mf {
              value 2 ;
                  description "DiffServ MF Classifier";
            }
          }
          description
         "The DetNet classifier type including BA and MF.";
    }




Xiong, et al.              Expires May 4, 2020                  [Page 6]

Internet-Draft               DetNet QoS Yang               November 2019


        typedef detnet-action-type {
          type enumeration {
            enum meter {
              value 1 ;
                  description "DiffServ meter Action";
            }
            enum shaper {
              value 2 ;
                  description "DiffServ shaper Action";
            }
                enum dropper {
              value 3 ;
                  description "DiffServ dropper Action";
            }
                enum marker {
              value 4 ;
                  description "DiffServ marker Action";
            }
                enum order {
              value 5 ;
                  description "DiffServ order Action";
            }
                enum scheduler {
              value 6 ;
                  description "DiffServ scheduler Action";
            }
          }
          description
         "The DetNet classifier type including BA and MF.";
        }

        grouping mpls-tc {
        description "MPLS TC Information";
        leaf phb-class {
                    type qos-phb-class;
            description "Specify phb class of PHB info, support [a"
            + "f1,af2,af3,af4,be,ef,cs6,cs7,dn]";
        }
        leaf tc-value {
            type uint8 {
                range 0..7 {
                description "MPLS-TC value, support [0-7]";
                }
            }
            mandatory true ;
                        description "MPLS-TC value, support [0-7]";
            }
    }



Xiong, et al.              Expires May 4, 2020                  [Page 7]

Internet-Draft               DetNet QoS Yang               November 2019


        grouping ip-dscp {
        description "IP DSCP Information";
        leaf phb-class {
                    type qos-phb-class ;
            description "Specify server class of PHB info, support [a"
            + "f1,af2,af3,af4,be,ef,cs6,cs7,dn]";
        }
        leaf dscp-value {
            type uint8 {
                range 0..63 {
                description "IPv4/IPv6 DSCP value, support [0-63]";
                }
            }
            mandatory true ;
                        description "IPv4/IPv6 DSCP value, support [0-63]";
            }
    }

    grouping mpls-header-info {
        description "MPLS TC Information";
        leaf phb-class {
                    type qos-phb-class ;
            description "Specify phb class of PHB info, support [a"
            + "f1,af2,af3,af4,be,ef,cs6,cs7,dn]";
        }
        leaf tc-value {
            type uint8 {
                range 0..7 {
                description "MPLS-TC value, support [0-7]";
                }
            }
            mandatory true ;
                        description "MPLS-TC value, support [0-7]";
            }
                leaf s-label {
                    type uint32;
                    description "DetNet Flow ID value, support classifier MF";
                }
                list f-labels {
            key "f-label-id";
                        description "DetNet forwarding label id, support classifier MF";
                        leaf f-label-id {
                            type uint32;
                                description "DetNet forwarding label value, support classifier MF";
                        }
                }
    }




Xiong, et al.              Expires May 4, 2020                  [Page 8]

Internet-Draft               DetNet QoS Yang               November 2019


        grouping ipv4-header-info {
        description "IP DSCP Information";
        leaf phb-class {
                    type qos-phb-class ;
            description "Specify server class of PHB info, support [a"
            + "f1,af2,af3,af4,be,ef,cs6,cs7,dn]";
        }
        leaf dscp-value {
            type uint8 {
                range 0..63 {
                description "IPv4/IPv6 DSCP value, support [0-63]";
                }
            }
            mandatory true ;
                        description "IPv4/IPv6 DSCP value, support [0-63]";
            }
                leaf ipv4-source-address {
                        type inet:ipv4-address;
                    description "source address value, support classifier MF";
                }
                leaf ipv4-destination-address {
                        type inet:ipv4-address;
                    description "destination address value, support classifier MF";
                }
                leaf protocol-ID {
                    type uint8;
                    description "protocol ID, support classifier MF";
                }
                leaf source-port-numbers {
                    type inet:port-number;
                    description "source port numbers, support classifier MF";
                }
                leaf destination-port-numbers {
                    type inet:port-number;
                    description "destination port numbers, support classifier MF";
                }
    }

        grouping ipv6-header-info {
        description "IPv6 DSCP Information";
        leaf phb-class {
                    type qos-phb-class ;
            description "Specify server class of PHB info, support [a"
            + "f1,af2,af3,af4,be,ef,cs6,cs7,dn]";
        }
        leaf dscp-value {
            type uint8 {
                range 0..63 {



Xiong, et al.              Expires May 4, 2020                  [Page 9]

Internet-Draft               DetNet QoS Yang               November 2019


                description "IPv4/IPv6 DSCP value, support [0-63]";
                }
            }
            mandatory true ;
                        description "IPv4/IPv6 DSCP value, support [0-63]";
            }
                leaf ipv6-source-address {
                        type inet:ipv6-address;
                    description "source address value, support classifier MF";
                }
                leaf ipv6-destination-address {
                        type inet:ipv6-address;
                    description "destination address value, support classifier MF";
                }
                leaf protocol-ID {
                    type uint8;
                    description "protocol ID, support classifier MF";
                }
                leaf source-port-numbers {
                    type inet:port-number;
                    description "source port numbers, support classifier MF";
                }
                leaf destination-port-numbers {
                    type inet:port-number;
                    description "destination port numbers, support classifier MF";
                }
                leaf flow-label {
             type inet:ipv6-flow-label;
             description
               "The flow label of the header.";
        }
    }

    grouping detnet-classifiers {
        description "Configure the DetNet classifiers";
        choice classifier-type {
            description "Choice of classifiers types";
                        case ba {
                            description "BA classifier";
                                choice encapsulation-type {
                  description "Tunnel type includes: IP, MPLS.";
                  case MPLS {
                                    list mpls-ba {
                        key "tc-value";
                                            description "MPLS-TC be mapped to PHB";
                        uses mpls-tc;
                    }
                  }



Xiong, et al.              Expires May 4, 2020                 [Page 10]

Internet-Draft               DetNet QoS Yang               November 2019


                  case IP {
                    list ip-ba {
                        key "dscp-value";
                                            description "IPv4/IPv6 DSCP be mapped to PHB";
                        uses ip-dscp;
                                    }
                  }
                }
                        }
                        case mf {
                            description "MF classifier";
                                choice tunnel-type {
                  description
                     "Tunnel type includes: IPv4, IPv6, MPLS.";
                  case MPLS {
                                    list mpls-mf {
                        key "tc-value";
                                            description "MPLS-TC be mapped to PHB";
                        uses mpls-header-info;
                    }
                  }
                  case IPv4 {
                    list ipv4-mf {
                        key "dscp-value";
                                            description "IPv4 DSCP be mapped to PHB";
                        uses ipv4-header-info;
                                        }
                                  }
                  case IPv6 {
                    list ipv6-mf {
                        key "dscp-value";
                                            description "IPv6 DSCP be mapped to PHB";
                        uses ipv6-header-info;
                                        }
                                  }
                }
                        }
        }
    }

        grouping detnet-actions {
        description
          "DetNet Configuration about the actions";
        list detnet-action {
            key "detnet-action-type";
                        description "DetNet actions, to be defined.";
            leaf detnet-action-type {
              type detnet-action-type;



Xiong, et al.              Expires May 4, 2020                 [Page 11]

Internet-Draft               DetNet QoS Yang               November 2019


                          description "DetNet action types";
            }
            choice actions {
              description "Choice of action types";
                          case meter {
                            description "meter action";
              }
                          case marker {
                            description "marker action";
              }
                          case shaper {
                            description "shaper action";
              }
                          case dropper {
                            description "dropper action";
              }
                          case order {
                            description "order action";
              }
                          case scheduler {
                            description "scheduler action";
              }
            }
        }
    }

        container detnet-qos-policies {
        description "Configuration about DetNet QoS Policy";
        list detnet-policy-template {
                        key detnet-policy-name;
                        description "DetNet policy template";
                    leaf detnet-policy-name {
                           type string;
                           description "DetNet policy name";
            }
            leaf detnet-policy-type {
              type detnet-policy-type;
                          description "DetNet policy type";
            }
            list detnet-classifier-template {
                key detnet-classifier-name;
                                description "DetNet classifier template";
                leaf detnet-classifier-name {
                    type string;
                                        description "DetNet classifier name";
                }
                                leaf detnet-classifier-type {
                                        type detnet-classifier-type;



Xiong, et al.              Expires May 4, 2020                 [Page 12]

Internet-Draft               DetNet QoS Yang               November 2019


                                        description "DetNet classifier type";
                }
                        uses detnet-classifiers;
                                uses detnet-actions;
            }
            }
        }
}
<CODE ENDS>

3.  Security Considerations

   TBD.

4.  IANA Considerations

   TBD.

5.  Acknowledgements

   TBD.

6.  References

6.1.  Informative References

   [RFC2475]  Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
              and W. Weiss, "An Architecture for Differentiated
              Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
              <https://www.rfc-editor.org/info/rfc2475>.

6.2.  Normative References

   [I-D.ietf-detnet-ip]
              Varga, B., Farkas, J., Berger, L., Fedyk, D., Malis, A.,
              Bryant, S., and J. Korhonen, "DetNet Data Plane: IP",
              draft-ietf-detnet-ip-03 (work in progress), October 2019.

   [I-D.xiong-detnet-qos-policy]
              Xiong, Q. and Y. jinghai, "DetNet QoS Policy", draft-
              xiong-detnet-qos-policy-01 (work in progress), March 2019.

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





Xiong, et al.              Expires May 4, 2020                 [Page 13]

Internet-Draft               DetNet QoS Yang               November 2019


   [RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
              "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers", RFC 2474,
              DOI 10.17487/RFC2474, December 1998,
              <https://www.rfc-editor.org/info/rfc2474>.

   [RFC3270]  Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
              P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
              Protocol Label Switching (MPLS) Support of Differentiated
              Services", RFC 3270, DOI 10.17487/RFC3270, May 2002,
              <https://www.rfc-editor.org/info/rfc3270>.

   [RFC5462]  Andersson, L. and R. Asati, "Multiprotocol Label Switching
              (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
              Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
              2009, <https://www.rfc-editor.org/info/rfc5462>.

   [RFC8655]  Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", RFC 8655,
              DOI 10.17487/RFC8655, October 2019,
              <https://www.rfc-editor.org/info/rfc8655>.

Authors' Addresses

   Quan Xiong
   ZTE Corporation
   No.6 Huashi Park Rd
   Wuhan, Hubei  430223
   China

   Phone: +86 27 83531060
   Email: xiong.quan@zte.com.cn


   Yufang Han
   ZTE Corporation
   50 Software Avenue, YuHuaTai District
   Nanjing, Jiangsu  210012
   China

   Phone: +86 15951984307
   Email: han.yufang1@zte.com.cn









Xiong, et al.              Expires May 4, 2020                 [Page 14]

Internet-Draft               DetNet QoS Yang               November 2019


   Fengwei Qin
   China Mobile
   Beijing
   China

   Email: qinfengwei@chinamobile.com


   Peng Liu
   China Mobile
   Beijing  100053
   China

   Email: liupengyjy@chinamobile.com





































Xiong, et al.              Expires May 4, 2020                 [Page 15]