< draft-asechoud-rtgwg-qos-model-08.txt   draft-asechoud-rtgwg-qos-model-09.txt >
Network Working Group A. Choudhary Network Working Group A. Choudhary
Internet-Draft M. Jethanandani Internet-Draft M. Jethanandani
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: July 18, 2019 N. Strahle Expires: November 6, 2019 N. Strahle
E. Aries E. Aries
Juniper Networks Juniper Networks
I. Chen I. Chen
Jabil Jabil
Jan 14, 2019 May 05, 2019
YANG Model for QoS YANG Model for QoS
draft-asechoud-rtgwg-qos-model-08 draft-asechoud-rtgwg-qos-model-09
Abstract Abstract
This document describes a YANG model for Quality of Service (QoS) This document describes a YANG model for Quality of Service (QoS)
configuration and operational parameters. configuration and operational parameters.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 18, 2019. This Internet-Draft will expire on November 6, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. QoS Model Design . . . . . . . . . . . . . . . . . . . . . . 3 3. QoS Model Design . . . . . . . . . . . . . . . . . . . . . . 3
4. DiffServ Model Design . . . . . . . . . . . . . . . . . . . . 3 4. DiffServ Model Design . . . . . . . . . . . . . . . . . . . . 4
5. Modules Tree Structure . . . . . . . . . . . . . . . . . . . 4 5. Modules Tree Structure . . . . . . . . . . . . . . . . . . . 4
6. Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6. Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1. IETF-QOS-CLASSIFIER . . . . . . . . . . . . . . . . . . . 13 6.1. IETF-QOS-CLASSIFIER . . . . . . . . . . . . . . . . . . . 14
6.2. IETF-QOS-POLICY . . . . . . . . . . . . . . . . . . . . . 17 6.2. IETF-QOS-POLICY . . . . . . . . . . . . . . . . . . . . . 17
6.3. IETF-QOS-ACTION . . . . . . . . . . . . . . . . . . . . . 19 6.3. IETF-QOS-ACTION . . . . . . . . . . . . . . . . . . . . . 20
6.4. IETF-QOS-TARGET . . . . . . . . . . . . . . . . . . . . . 37 6.4. IETF-QOS-TARGET . . . . . . . . . . . . . . . . . . . . . 38
6.5. IETF-DIFFSERV . . . . . . . . . . . . . . . . . . . . . . 39 6.5. IETF-DIFFSERV . . . . . . . . . . . . . . . . . . . . . . 40
6.6. IETF-QUEUE-POLICY . . . . . . . . . . . . . . . . . . . . 49 6.6. IETF-QUEUE-POLICY . . . . . . . . . . . . . . . . . . . . 50
6.7. IETF-SCHEDULER-POLICY . . . . . . . . . . . . . . . . . . 52 6.7. IETF-SCHEDULER-POLICY . . . . . . . . . . . . . . . . . . 53
7. Security Considerations . . . . . . . . . . . . . . . . . . . 55 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 55 8. Security Considerations . . . . . . . . . . . . . . . . . . . 56
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 56
9.1. Normative References . . . . . . . . . . . . . . . . . . 55 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.2. Informative References . . . . . . . . . . . . . . . . . 56 10.1. Normative References . . . . . . . . . . . . . . . . . . 56
Appendix A. Company A, Company B and Company C examples . . . . 56 10.2. Informative References . . . . . . . . . . . . . . . . . 57
A.1. Example of Company A Diffserv Model . . . . . . . . . . . 56 Appendix A. Company A, Company B and Company C examples . . . . 57
A.2. Example of Company B Diffserv Model . . . . . . . . . . . 65 A.1. Example of Company A Diffserv Model . . . . . . . . . . . 58
A.3. Example of Company C Diffserv Model . . . . . . . . . . . 79 A.2. Example of Company B Diffserv Model . . . . . . . . . . . 67
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 86 A.3. Example of Company C Diffserv Model . . . . . . . . . . . 81
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 88
1. Introduction 1. Introduction
This document defines a base YANG [RFC6020] data module for Quality This document defines a base YANG [RFC6020] data module for Quality
of Service (QoS) configuration parameters. Differentiated Services of Service (QoS) configuration parameters. Differentiated Services
(DiffServ) module is an augmentation of the base QoS model. Remote (DiffServ) module is an augmentation of the base QoS model. Remote
Procedure Calls (RPC) or notification definition is currently not Procedure Calls (RPC) or notification definition is currently not
part of this document and will be added later if necessary. QoS base part of this document and will be added later if necessary. QoS base
modules define a basic building blocks to define a classifier, modules define a basic building blocks to define a classifier,
policy, action and target. The base modules have been augmented to policy, action and target. The base modules have been augmented to
skipping to change at page 3, line 8 skipping to change at page 3, line 12
DiffServ architecture, and various references have been made to DiffServ architecture, and various references have been made to
available standard architecture documents. available standard architecture documents.
DiffServ is a preferred approach for network service providers to DiffServ is a preferred approach for network service providers to
offer services to different customers based on their network Quality- offer services to different customers based on their network Quality-
of-Service (QoS) objectives. The traffic streams are differentiated of-Service (QoS) objectives. The traffic streams are differentiated
based on DiffServ Code Points (DSCP) carried in the IP header of each based on DiffServ Code Points (DSCP) carried in the IP header of each
packet. The DSCP markings are applied by upstream node or by the packet. The DSCP markings are applied by upstream node or by the
edge router on entry to the DiffServ network. edge router on entry to the DiffServ network.
Editorial Note: (To be removed by RFC Editor)
This draft contains several placeholder values that need to be
replaced with finalized values at the time of publication. Please
apply the following replacements: o "XXXX" --> the assigned RFC value
for this draft both in this draft and in the YANG models under the
revision statement. o The "revision" date in model, in the format
XXXX-XX-XX, needs to be updated with the date the draft gets
approved.
The YANG modules in this document conform to the Network Management
Datastore Architecture (NMDA) [RFC8342 [RFC8342]].
1.1. Tree Diagrams
Tree diagrams used in this document follow the notation defined in
[RFC8340 [RFC8340]]
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. QoS Model Design 3. QoS Model Design
A classifier consists of packets which may be grouped when a logical A classifier consists of packets which may be grouped when a logical
set of rules are applied on different packet header fields. The set of rules are applied on different packet header fields. The
skipping to change at page 13, line 31 skipping to change at page 14, line 4
| +--rw max-rate-cfg | +--rw max-rate-cfg
| +--rw rate-value? uint64 | +--rw rate-value? uint64
| +--rw rate-unit? identityref | +--rw rate-unit? identityref
| +--rw burst-value? uint64 | +--rw burst-value? uint64
| +--rw burst-unit? identityref | +--rw burst-unit? identityref
+--:(queue-policy-name) +--:(queue-policy-name)
+--rw queue-policy-name +--rw queue-policy-name
+--rw queue-policy string +--rw queue-policy string
6. Modules 6. Modules
6.1. IETF-QOS-CLASSIFIER 6.1. IETF-QOS-CLASSIFIER
<CODE BEGINS>file "ietf-qos-classifier@2019-01-13.yang" <CODE BEGINS>file "ietf-qos-classifier@2019-03-13.yang"
module ietf-qos-classifier { module ietf-qos-classifier {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-qos-classifier"; namespace "urn:ietf:params:xml:ns:yang:ietf-qos-classifier";
prefix classifier; prefix classifier;
organization organization
"IETF RTG (Routing Area) Working Group"; "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
skipping to change at page 14, line 21 skipping to change at page 14, line 41
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of qos base classifier module"; "Latest revision of qos base classifier module";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
feature policy-inline-classifier-config { feature policy-inline-classifier-config {
description description
" This feature allows classifier configuration " This feature allows classifier configuration
directly under policy."; directly under policy.";
} }
feature classifier-template-feature { feature classifier-template-feature {
description description
" This feature allows classifier as template configuration " This feature allows classifier as template configuration
in a policy."; in a policy.";
} }
feature match-any-filter-type-support { feature match-any-filter-type-support {
description description
" This feature allows classifier configuration " This feature allows classifier configuration
directly under policy."; directly under policy.";
skipping to change at page 17, line 23 skipping to change at page 17, line 43
description description
"Filter entry configuration"; "Filter entry configuration";
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
6.2. IETF-QOS-POLICY 6.2. IETF-QOS-POLICY
<CODE BEGINS>file "ietf-qos-policy@2019-01-13.yang" <CODE BEGINS>file "ietf-qos-policy@2019-03-13.yang"
module ietf-qos-policy { module ietf-qos-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-qos-policy"; namespace "urn:ietf:params:xml:ns:yang:ietf-qos-policy";
prefix policy; prefix policy;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
Editor: Aseem Choudhary Editor: Aseem Choudhary
skipping to change at page 18, line 10 skipping to change at page 18, line 31
Copyright (c) 2019 IETF Trust and the persons identified as Copyright (c) 2019 IETF Trust and the persons identified as
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of qos policy"; "Latest revision of qos policy";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
identity policy-type { identity policy-type {
description description
"This base identity type defines policy-types"; "This base identity type defines policy-types";
} }
grouping policy-generic-attr { grouping policy-generic-attr {
description description
"Policy Attributes"; "Policy Attributes";
leaf policy-name { leaf policy-name {
type string; type string;
skipping to change at page 19, line 46 skipping to change at page 20, line 18
uses classifier:classifier-entry-inline-attr; uses classifier:classifier-entry-inline-attr;
uses classifier-action-entry-cfg; uses classifier-action-entry-cfg;
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
6.3. IETF-QOS-ACTION 6.3. IETF-QOS-ACTION
<CODE BEGINS>file "ietf-qos-action@2019-01-13.yang" <CODE BEGINS>file "ietf-qos-action@2019-03-13.yang"
module ietf-qos-action { module ietf-qos-action {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-qos-action"; namespace "urn:ietf:params:xml:ns:yang:ietf-qos-action";
prefix action; prefix action;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
Editor: Aseem Choudhary Editor: Aseem Choudhary
skipping to change at page 20, line 36 skipping to change at page 21, line 10
Copyright (c) 2019 IETF Trust and the persons identified as Copyright (c) 2019 IETF Trust and the persons identified as
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision for qos actions"; "Latest revision for qos actions";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
feature meter-template-support { feature meter-template-support {
description description
" This feature allows support of meter-template."; " This feature allows support of meter-template.";
} }
feature meter-inline-feature { feature meter-inline-feature {
description description
"This feature allows support of meter-inline configuration."; "This feature allows support of meter-inline configuration.";
} }
feature meter-reference-feature { feature meter-reference-feature {
skipping to change at page 37, line 30 skipping to change at page 38, line 4
} }
grouping scheduler { grouping scheduler {
container scheduler-cfg { container scheduler-cfg {
uses min-rate; uses min-rate;
uses max-rate; uses max-rate;
description description
"Schedular configuration container"; "Schedular configuration container";
} }
description description
"Schedular configuration grouping"; "Schedular configuration grouping";
} }
} }
<CODE ENDS> <CODE ENDS>
6.4. IETF-QOS-TARGET 6.4. IETF-QOS-TARGET
<CODE BEGINS>file "ietf-qos-target@2019-01-13.yang" <CODE BEGINS>file "ietf-qos-target@2019-03-13.yang"
module ietf-qos-target { module ietf-qos-target {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-qos-target"; namespace "urn:ietf:params:xml:ns:yang:ietf-qos-target";
prefix target; prefix target;
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
reference "RFC 8343: A YANG Data Model for Interface Management";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
skipping to change at page 38, line 28 skipping to change at page 39, line 5
as the document authors. All rights reserved. as the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision qos based policy applied to a target"; "Latest revision qos based policy applied to a target";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
identity direction { identity direction {
description description
"This is identity of traffic direction"; "This is identity of traffic direction";
} }
identity inbound { identity inbound {
base direction; base direction;
description description
skipping to change at page 39, line 37 skipping to change at page 40, line 13
description description
"Policy entry name"; "Policy entry name";
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
6.5. IETF-DIFFSERV 6.5. IETF-DIFFSERV
<CODE BEGINS>file "ietf-diffserv@2019-01-13.yang" <CODE BEGINS>file "ietf-diffserv@2019-03-13.yang"
module ietf-diffserv { module ietf-diffserv {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-diffserv"; namespace "urn:ietf:params:xml:ns:yang:ietf-diffserv";
prefix diffserv; prefix diffserv;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
skipping to change at page 40, line 36 skipping to change at page 41, line 16
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of diffserv based classifier"; "Latest revision of diffserv based classifier";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
feature diffserv-queue-inline-support { feature diffserv-queue-inline-support {
description description
"Queue inline support in diffserv policy"; "Queue inline support in diffserv policy";
} }
feature diffserv-scheduler-inline-support { feature diffserv-scheduler-inline-support {
description description
"scheduler inline support in diffserv policy"; "scheduler inline support in diffserv policy";
} }
skipping to change at page 46, line 49 skipping to change at page 47, line 29
uses traffic-group-cfg; uses traffic-group-cfg;
description description
"Filter Type traffic-group"; "Filter Type traffic-group";
} }
} }
description description
"augments diffserv filters to qos classifier"; "augments diffserv filters to qos classifier";
} }
augment "/policy:policies/policy:policy-entry" + augment "/policy:policies/policy:policy-entry" +
"/policy:classifier-entry/policy:filter-entry" { "/policy:classifier-entry/policy:filter-entry" {
when "../../policy:policy-type =
'diffserv:ipv4-diffserv-policy-type' or
../../policy:policy-type =
'diffserv:ipv6-diffserv-policy-type' or
../../policy:policy-type =
'diffserv:diffserv-policy-type'" {
description
"Filters can be augmented if policy type is
ipv4, ipv6 or default diffserv policy types ";
}
description
"Augments Diffserv Classifier with common filter types";
choice filter-params { choice filter-params {
description description
"Choice of action types"; "Choice of action types";
case dscp { case dscp {
uses dscp-cfg; uses dscp-cfg;
description description
"Filter containing list of dscp ranges"; "Filter containing list of dscp ranges";
} }
case source-ipv4-address { case source-ipv4-address {
when "../../policy:policy-type != when "../../policy:policy-type !=
'diffserv:ipv6-diffserv-policy-type'" { 'diffserv:ipv6-diffserv-policy-type'" {
description description
"If policy type is v6, this filter cannot be used."; "If policy type is v6, this filter cannot be used.";
} }
uses source-ipv4-address-cfg; uses source-ipv4-address-cfg;
description description
"Filter containing list of source ipv4 addresses"; "Filter containing list of source ipv4 addresses";
} }
case destination-ipv4-address { case destination-ipv4-address {
when "../../policy:policy-type != when "../../policy:policy-type !=
'diffserv:ipv6-diffserv-policy-type'" { 'diffserv:ipv6-diffserv-policy-type'" {
skipping to change at page 48, line 22 skipping to change at page 49, line 14
uses protocol-cfg; uses protocol-cfg;
description description
"Filter Type Protocol"; "Filter Type Protocol";
} }
case traffic-group { case traffic-group {
uses traffic-group-cfg; uses traffic-group-cfg;
description description
"Filter Type traffic-group"; "Filter Type traffic-group";
} }
} }
description
"Augments Diffserv Classifier with common filter types";
} }
augment "/policy:policies/policy:policy-entry" + augment "/policy:policies/policy:policy-entry" +
"/policy:classifier-entry" + "/policy:classifier-entry" +
"/policy:classifier-action-entry-cfg" + "/policy:classifier-action-entry-cfg" +
"/policy:action-cfg-params" { "/policy:action-cfg-params" {
when "../../policy:policy-type =
'diffserv:ipv4-diffserv-policy-type' or
../../policy:policy-type =
'diffserv:ipv6-diffserv-policy-type' or
../../policy:policy-type =
'diffserv:diffserv-policy-type' " {
description
"Actions can be augmented if policy type is ipv4,
ipv6 or default diffserv policy types ";
}
description
"Augments Diffserv Policy with action configuration";
case dscp-marking { case dscp-marking {
uses action:dscp-marking; uses action:dscp-marking;
} }
case meter-inline { case meter-inline {
if-feature action:meter-inline-feature; if-feature action:meter-inline-feature;
uses action:meter; uses action:meter;
} }
case meter-reference { case meter-reference {
if-feature action:meter-reference-feature; if-feature action:meter-reference-feature;
uses action:meter-reference; uses action:meter-reference;
skipping to change at page 49, line 12 skipping to change at page 50, line 14
uses action:named-counter; uses action:named-counter;
} }
case queue-inline { case queue-inline {
if-feature diffserv-queue-inline-support; if-feature diffserv-queue-inline-support;
uses action:queue; uses action:queue;
} }
case scheduler-inline { case scheduler-inline {
if-feature diffserv-scheduler-inline-support; if-feature diffserv-scheduler-inline-support;
uses action:scheduler; uses action:scheduler;
} }
description
"Augments Diffserv Policy with action configuration";
} }
} }
<CODE ENDS> <CODE ENDS>
6.6. IETF-QUEUE-POLICY 6.6. IETF-QUEUE-POLICY
<CODE BEGINS>file "ietf-queue-policy@2019-01-13.yang" <CODE BEGINS>file "ietf-queue-policy@2019-03-13.yang"
module ietf-queue-policy { module ietf-queue-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-queue-policy"; namespace "urn:ietf:params:xml:ns:yang:ietf-queue-policy";
prefix queue-policy; prefix queue-policy;
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-diffserv { import ietf-diffserv {
prefix diffserv; prefix diffserv;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
skipping to change at page 50, line 16 skipping to change at page 51, line 19
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of queuing policy module"; "Latest revision of queuing policy module";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
feature queue-policy-support { feature queue-policy-support {
description description
" This feature allows queue policy configuration " This feature allows queue policy configuration
as a separate policy type support."; as a separate policy type support.";
} }
feature queue-inline-support { feature queue-inline-support {
description description
skipping to change at page 52, line 29 skipping to change at page 53, line 30
uses action:queue; uses action:queue;
} }
description description
"augments queue template reference to queue policy"; "augments queue template reference to queue policy";
} }
} }
<CODE ENDS> <CODE ENDS>
6.7. IETF-SCHEDULER-POLICY 6.7. IETF-SCHEDULER-POLICY
<CODE BEGINS>file "ietf-scheduler-policy@2019-01-13.yang" <CODE BEGINS>file "ietf-scheduler-policy@2019-03-13.yang"
module ietf-scheduler-policy { module ietf-scheduler-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-scheduler-policy"; namespace "urn:ietf:params:xml:ns:yang:ietf-scheduler-policy";
prefix scheduler-policy; prefix scheduler-policy;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "IETF RTG (Routing Area) Working Group"; organization "IETF RTG (Routing Area) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/rtgwg/> "WG Web: <http://tools.ietf.org/wg/rtgwg/>
WG List: <mailto:rtgwg@ietf.org> WG List: <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers WG Chair: Chris Bowers
<mailto:cbowers@juniper.net> <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura WG Chair: Jeff Tantsura
<mailto:jefftant.ietf@gmail.com> <mailto:jefftant.ietf@gmail.com>
skipping to change at page 53, line 23 skipping to change at page 54, line 27
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of scheduler policy module"; "Latest revision of scheduler policy module";
reference "RFC XXXX"; reference "RFC XXXX: YANG Model for QoS";
} }
feature scheduler-policy-support { feature scheduler-policy-support {
description description
" This feature allows sheduler policy configuration " This feature allows sheduler policy configuration
as a separate policy type support."; as a separate policy type support.";
} }
identity scheduler-policy-type { identity scheduler-policy-type {
base policy:policy-type; base policy:policy-type;
description description
skipping to change at page 55, line 25 skipping to change at page 56, line 31
} }
case queue-policy-name { case queue-policy-name {
uses queue-policy-name-cfg; uses queue-policy-name-cfg;
} }
description description
"augments scheduler template reference to scheduler policy"; "augments scheduler template reference to scheduler policy";
} }
} }
<CODE ENDS> <CODE ENDS>
7. Security Considerations 7. IANA Considerations
8. Acknowledgement TBD
9. References 8. Security Considerations
9.1. Normative References 9. Acknowledgement
The authors wish to thank Ruediger Geib, Fred Baker, Greg Misky, Tom
Petch, many others for their helpful comments.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three Color [RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three Color
Marker", RFC 2697, DOI 10.17487/RFC2697, September 1999, Marker", RFC 2697, DOI 10.17487/RFC2697, September 1999,
<https://www.rfc-editor.org/info/rfc2697>. <https://www.rfc-editor.org/info/rfc2697>.
skipping to change at page 56, line 18 skipping to change at page 57, line 31
<https://www.rfc-editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013, RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>. <https://www.rfc-editor.org/info/rfc6991>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<https://www.rfc-editor.org/info/rfc7223>. <https://www.rfc-editor.org/info/rfc7223>.
9.2. Informative References [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore Architecture
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
<https://www.rfc-editor.org/info/rfc8342>.
10.2. Informative References
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
<https://www.rfc-editor.org/info/rfc2475>. <https://www.rfc-editor.org/info/rfc2475>.
Appendix A. Company A, Company B and Company C examples Appendix A. Company A, Company B and Company C examples
Company A, Company B and Company C Diffserv modules augments all the Company A, Company B and Company C Diffserv modules augments all the
filter types of the QoS classifier module as well as the QoS policy filter types of the QoS classifier module as well as the QoS policy
skipping to change at page 57, line 5 skipping to change at page 58, line 28
- use of inline actions in a policy - use of inline actions in a policy
- flexibility in marking dscp or metadata at ingress and/or egress. - flexibility in marking dscp or metadata at ingress and/or egress.
module example-compa-diffserv { module example-compa-diffserv {
namespace "urn:ietf:params:xml:ns:yang:example-compa-diffserv"; namespace "urn:ietf:params:xml:ns:yang:example-compa-diffserv";
prefix example; prefix example;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-diffserv { import ietf-diffserv {
prefix diffserv; prefix diffserv;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "Company A"; organization "Company A";
contact contact
"Editor: XYZ "Editor: XYZ
<mailto:xyz@compa.com>"; <mailto:xyz@compa.com>";
description description
"This module contains a collection of YANG definitions of "This module contains a collection of YANG definitions of
companyA diffserv specification extension."; companyA diffserv specification extension.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Initial revision for diffserv actions on network packets"; "Initial revision for diffserv actions on network packets";
reference reference
"RFC 6020: YANG - A Data Modeling Language for the "RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)"; Network Configuration Protocol (NETCONF)";
} }
identity default-policy-type { identity default-policy-type {
base policy:policy-type; base policy:policy-type;
description description
skipping to change at page 66, line 11 skipping to change at page 67, line 38
- use of internal meta data for classification and marking - use of internal meta data for classification and marking
module example-compb-diffserv-filter-policy { module example-compb-diffserv-filter-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:" + namespace "urn:ietf:params:xml:ns:yang:" +
"example-compb-diffserv-filter-policy"; "example-compb-diffserv-filter-policy";
prefix compb-filter-policy; prefix compb-filter-policy;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-diffserv { import ietf-diffserv {
prefix diffserv; prefix diffserv;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "Company B"; organization "Company B";
contact contact
"Editor: XYZ "Editor: XYZ
<mailto:xyz@compb.com>"; <mailto:xyz@compb.com>";
description description
"This module contains a collection of YANG definitions for "This module contains a collection of YANG definitions for
configuring diffserv specification implementations. configuring diffserv specification implementations.
Copyright (c) 2019 IETF Trust and the persons identified as Copyright (c) 2019 IETF Trust and the persons identified as
skipping to change at page 66, line 44 skipping to change at page 68, line 26
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of diffserv policy"; "Latest revision of diffserv policy";
reference "RFC XXXX"; reference "RFC XXXX";
} }
/************************************************* /*************************************************
* Classification types * Classification types
*************************************************/ *************************************************/
identity forwarding-class { identity forwarding-class {
skipping to change at page 72, line 42 skipping to change at page 74, line 24
} }
} }
module example-compb-queue-policy { module example-compb-queue-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:example-compb-queue-policy"; namespace "urn:ietf:params:xml:ns:yang:example-compb-queue-policy";
prefix queue-plcy; prefix queue-plcy;
import ietf-qos-classifier { import ietf-qos-classifier {
prefix classifier; prefix classifier;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "Company B"; organization "Company B";
contact contact
"Editor: XYZ "Editor: XYZ
<mailto:xyz@compb.com>"; <mailto:xyz@compb.com>";
description description
"This module defines a queue policy. The classification "This module defines a queue policy. The classification
is based on aforwarding class, and the actions are queues. is based on aforwarding class, and the actions are queues.
skipping to change at page 73, line 19 skipping to change at page 74, line 50
the document authors. All rights reserved. the document authors. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of diffserv policy"; "Latest revision of diffserv policy";
reference "RFC XXXX"; reference "RFC XXXX";
} }
identity forwarding-class { identity forwarding-class {
base classifier:filter-type; base classifier:filter-type;
description description
"Forwarding class filter type"; "Forwarding class filter type";
} }
skipping to change at page 75, line 4 skipping to change at page 76, line 35
} }
description description
"Augment the queue actions to queue policy entry"; "Augment the queue actions to queue policy entry";
} }
} }
module example-compb-queue { module example-compb-queue {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-compb-queue"; namespace "urn:ietf:params:xml:ns:yang:ietf-compb-queue";
prefix compb-queue; prefix compb-queue;
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "Company B"; organization "Company B";
contact contact
"Editor: XYZ "Editor: XYZ
<mailto:xyz@compb.com>"; <mailto:xyz@compb.com>";
description description
"This module describes a compb queue module. This is a "This module describes a compb queue module. This is a
template for a queue within a queue policy, referenced template for a queue within a queue policy, referenced
by name. by name.
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of diffserv based classifier"; "Latest revision of diffserv based classifier";
reference "RFC XXXX"; reference "RFC XXXX";
} }
container compb-queue { container compb-queue {
description description
"Queue used in compb architecture"; "Queue used in compb architecture";
leaf name { leaf name {
type string; type string;
skipping to change at page 78, line 24 skipping to change at page 80, line 9
} }
module example-compb-scheduler-policy { module example-compb-scheduler-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:" + namespace "urn:ietf:params:xml:ns:yang:" +
"example-compb-scheduler-policy"; "example-compb-scheduler-policy";
prefix scheduler-plcy; prefix scheduler-plcy;
import ietf-qos-action { import ietf-qos-action {
prefix action; prefix action;
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-policy { import ietf-qos-policy {
prefix policy; prefix policy;
reference "RFC XXXX: YANG Model for QoS";
} }
organization "Company B"; organization "Company B";
contact contact
"Editor: XYZ "Editor: XYZ
<mailto:xyz@compb.com>"; <mailto:xyz@compb.com>";
description description
"This module defines a scheduler policy. The classification "This module defines a scheduler policy. The classification
is based on classifier-any, and the action is a scheduler."; is based on classifier-any, and the action is a scheduler.";
revision 2019-01-13 { revision 2019-03-13 {
description description
"Latest revision of diffserv policy"; "Latest revision of diffserv policy";
reference "RFC XXXX"; reference "RFC XXXX";
} }
identity queue-policy { identity queue-policy {
base policy:action-type; base policy:action-type;
description description
"forwarding-class-queue action type"; "forwarding-class-queue action type";
} }
skipping to change at page 80, line 18 skipping to change at page 82, line 4
Instead, Company C's augmentation uses the basic building blocks, Instead, Company C's augmentation uses the basic building blocks,
ietf-qos-policy.yang to provide differentiated services. ietf-qos-policy.yang to provide differentiated services.
module example-compc-qos-policy { module example-compc-qos-policy {
yang-version 1.1; yang-version 1.1;
namespace "urn:example-compc-qos-policy"; namespace "urn:example-compc-qos-policy";
prefix "compcqos"; prefix "compcqos";
import ietf-qos-policy { import ietf-qos-policy {
prefix "pol"; prefix "pol";
reference "RFC XXXX: YANG Model for QoS";
} }
import ietf-qos-action { import ietf-qos-action {
prefix "action"; prefix "action";
reference "RFC XXXX: YANG Model for QoS";
} }
organization ""; organization "";
contact ""; contact "";
description ""; description "";
revision 2019-01-13 { revision 2019-03-13 {
description ""; description "";
reference ""; reference "";
} }
/* identities */ /* identities */
identity compc-qos-policy { identity compc-qos-policy {
base pol:policy-type; base pol:policy-type;
} }
 End of changes. 82 change blocks. 
62 lines changed or deleted 146 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/