idnits 2.17.1 draft-xiong-detnet-qos-yang-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 31 instances of too long lines in the document, the longest one being 18 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 128 has weird spacing: '...er-name str...' == Line 140 has weird spacing: '...p-value uin...' == Line 167 has weird spacing: '...on-type det...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 19, 2018) is 2017 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC5462' is defined on line 614, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-detnet-architecture-08 == Outdated reference: A later version (-02) exists of draft-ietf-detnet-dp-sol-ip-00 == Outdated reference: A later version (-02) exists of draft-xiong-detnet-qos-policy-00 Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DeNet WG Quan Xiong 3 Internet-Draft Yufang Han 4 Intended status: Standards Track ZTE Corporation 5 Expires: April 22, 2019 October 19, 2018 7 DetNet QoS Yang 8 draft-xiong-detnet-qos-yang-00 10 Abstract 12 This document defines a YANG data model for Deterministic Networking 13 (DetNet) Quality of Service (QoS) based on the Differentiated 14 Services (DiffServ) model. 16 Status of This Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF). Note that other groups may also distribute 23 working documents as Internet-Drafts. The list of current Internet- 24 Drafts is at https://datatracker.ietf.org/drafts/current/. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 This Internet-Draft will expire on April 22, 2019. 33 Copyright Notice 35 Copyright (c) 2018 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents 40 (https://trustee.ietf.org/license-info) in effect on the date of 41 publication of this document. Please review these documents 42 carefully, as they describe your rights and restrictions with respect 43 to this document. Code Components extracted from this document must 44 include Simplified BSD License text as described in Section 4.e of 45 the Trust Legal Provisions and are provided without warranty as 46 described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 51 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 52 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. DetNet DiffServ QoS Model . . . . . . . . . . . . . . . . . . 2 54 2.1. DetNet QoS Tree Structure . . . . . . . . . . . . . . . . 3 55 2.2. DetNet QoS Module . . . . . . . . . . . . . . . . . . . . 4 56 3. Security Considerations . . . . . . . . . . . . . . . . . . . 12 57 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 58 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 59 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 60 6.1. Informative References . . . . . . . . . . . . . . . . . 13 61 6.2. Normative References . . . . . . . . . . . . . . . . . . 13 62 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 64 1. Introduction 66 Deterministic Networking (DetNet) as defined in 67 [I-D.ietf-detnet-architecture], provides a capability to carry 68 specified unicast or multicast data flows for real-time applications 69 with extremely low data loss rates and bounded latency. In the 70 meanwhile, DetNet and non-DetNet packets are allowed to be 71 transmitted in the same network and more than one DetNet flows which 72 has different priorities may be forwarded through the DetNet domain. 73 As discussed in [I-D.ietf-detnet-dp-sol-ip] and 74 [I-D.xiong-detnet-qos-policy], the Differentiated Services (DiffServ) 75 can be used to provide Quality of Service (QoS) for DetNet services. 77 This document defines a YANG data model for DetNet QoS based on the 78 DiffServ model. 80 1.1. Requirements Language 82 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 84 document are to be interpreted as described in [RFC2119]. 86 1.2. Terminology 88 The terminology is defined as [I-D.ietf-detnet-architecture], 89 [RFC3270], [RFC2474] and [RFC2475]. 91 2. DetNet DiffServ QoS Model 93 This document defines a YANG data module for DetNet DiffServ QoS 94 Model as discussed in [I-D.xiong-detnet-qos-policy]. In the ietf- 95 detnet-qos module, this is performed as one of the DetNet QoS policy. 97 2.1. DetNet QoS Tree Structure 99 DetNet DiffServ model is one type of the DetNet QoS policy and other 100 policy types can be defined in detnet-policy-type. 102 [I-D.xiong-detnet-qos-policy] specified two types of classifiers 103 including BA (Behavior Aggregate) and MF (Multi-Field) classifiers in 104 detnet-classifier-type. DetNet IP BA classifier selects packets 105 based on the DiffServ Code Point (DSCP) and DetNet MPLS BA classifier 106 is based on the MPLS Traffic Class (TC) field. DetNet IP MF 107 classifier selects packets based on the value of a combination of 108 source address, destination address, DSCP, protocol ID, source port 109 and destination port numbers and DetNet MPLS MF classifier is based 110 on the MPLS TC and Service Label (S-Label) field of the header. 112 [I-D.xiong-detnet-qos-policy] defined a DetNet (DN) Per Hop Behavior 113 (PHB) for DetNet forward other than existing PHBs including 114 AF,EF,CS,DF etc. The PHB class information description is as qos- 115 phb-class shown. 117 [I-D.xiong-detnet-qos-policy] defined a new type of action for DetNet 118 traffic conditioning named order action to reorder the packets. 119 Other actions including meter, shaper, dropper and marker as the 120 detnet-action-type shown. 122 module: ietf-detnet-qos 123 +--rw detnet-qos-policies 124 +--rw detnet-policy-template* [detnet-policy-name] 125 +--rw detnet-policy-name string 126 +--rw detnet-policy-type? detnet-policy-type 127 +--rw detnet-classifier-template* [detnet-classifier-name] 128 +--rw detnet-classifier-name string 129 +--rw detnet-classifier-type? detnet-classifier-type 130 +--rw (classifier-type)? 131 | +--:(ba) 132 | | +--rw (encapsulation-type)? 133 | | +--:(MPLS) 134 | | | +--rw mpls-ba* [tc-value] 135 | | | +--rw phb-class? qos-phb-class 136 | | | +--rw tc-value uint8 137 | | +--:(IP) 138 | | +--rw ip-ba* [dscp-value] 139 | | +--rw phb-class? qos-phb-class 140 | | +--rw dscp-value uint8 141 | +--:(mf) 142 | +--rw (tunnel-type)? 143 | +--:(MPLS) 144 | | +--rw mpls-mf* [tc-value] 145 | | +--rw phb-class? qos-phb-class 146 | | +--rw tc-value uint8 147 | | +--rw s-label? uint32 148 | +--:(IPv4) 149 | | +--rw ipv4-mf* [dscp-value] 150 | | +--rw phb-class? qos-phb-class 151 | | +--rw dscp-value uint8 152 | | +--rw ipv4-source-address? inet:ipv4-address 153 | | +--rw ipv4-destination-address? inet:ipv4-address 154 | | +--rw protocol-ID? uint8 155 | | +--rw source-port-numbers? inet:port-number 156 | | +--rw destination-port-numbers? inet:port-number 157 | +--:(IPv6) 158 | +--rw ipv6-mf* [dscp-value] 159 | +--rw phb-class? qos-phb-class 160 | +--rw dscp-value uint8 161 | +--rw ipv6-source-address? inet:ipv6-address 162 | +--rw ipv6-destination-address? inet:ipv6-address 163 | +--rw protocol-ID? uint8 164 | +--rw source-port-numbers? inet:port-number 165 | +--rw destination-port-numbers? inet:port-number 166 +--rw detnet-action* [detnet-action-type] 167 +--rw detnet-action-type detnet-action-type 168 +--rw (actions)? 169 +--:(meter) 170 +--:(marker) 171 +--:(shaper) 172 +--:(dropper) 173 +--:(order) 175 2.2. DetNet QoS Module 177 file "detnet-diffserv-qos@2018-10-13.yang" 178 module ietf-detnet-qos { 179 yang-version 1; 180 namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-qos"; 181 prefix detnet-qos; 183 import ietf-inet-types{ 184 prefix "inet"; 185 } 187 organization "IETF DetNet Working Group"; 188 contact 189 "WG Web: 190 WG List: 191 WG Chair: Lou Berger 192 193 Janos Farkas 194 195 Editor: Quan Xiong 196 197 Editor: Yufang Han 198 "; 200 description 201 "This YANG module describes the Deterministic Networking (DetNet) 202 Quality of Service (QoS) based on the Differentiated Services (DiffServ) 203 model."; 205 revision "2018-10-13" { 206 description "initial revision"; 207 reference "RFC XXXX: draft-xiong-detnet-qos-yang-00"; 208 } 210 typedef qos-phb-class { 211 type enumeration { 212 enum df { 213 value 1 ; 214 description "Default Forwarding for Best effort"; 215 } 216 enum af1 { 217 value 2 ; 218 description "Assured forwarding class 1"; 219 } 220 enum af2 { 221 value 3 ; 222 description "Assured forwarding class 2"; 223 } 224 enum af3 { 225 value 4 ; 226 description "Assured forwarding class 3"; 227 } 228 enum af4 { 229 value 5 ; 230 description "Assured forwarding class 4"; 231 } 232 enum ef { 233 value 6 ; 234 description "Expedited forward"; 235 } 236 enum cs6 { 237 value 7 ; 238 description "Internetwork control service class"; 239 } 240 enum cs7 { 241 value 8 ; 242 description "Network control service class"; 243 } 244 enum dn { 245 value 9 ; 246 description "DetNet forward"; 247 } 248 } 249 description 250 "The PHB class including AF,EF,CS,DF,DN"; 251 } 253 typedef detnet-policy-type { 254 type enumeration { 255 enum diffserv { 256 value 1 ; 257 description "DiffServ Policy"; 258 } 259 } 260 description 261 "The DetNet policy type."; 262 } 264 typedef detnet-classifier-type { 265 type enumeration { 266 enum ba { 267 value 1 ; 268 description "DiffServ BA Classifier"; 269 } 270 enum mf { 271 value 2 ; 272 description "DiffServ MF Classifier"; 273 } 274 } 275 description 276 "The DetNet classifier type including BA and MF."; 277 } 279 typedef detnet-action-type { 280 type enumeration { 281 enum meter { 282 value 1 ; 283 description "DiffServ meter Action"; 284 } 285 enum shaper { 286 value 2 ; 287 description "DiffServ shaper Action"; 288 } 289 enum dropper { 290 value 3 ; 291 description "DiffServ dropper Action"; 292 } 293 enum marker { 294 value 4 ; 295 description "DiffServ marker Action"; 296 } 297 enum order { 298 value 5 ; 299 description "DiffServ order Action"; 300 } 301 } 302 description 303 "The DetNet classifier type including BA and MF."; 304 } 306 grouping mpls-tc { 307 description "MPLS TC Information"; 308 leaf phb-class { 309 type qos-phb-class; 310 description "Specify phb class of PHB info, support [a" 311 + "f1,af2,af3,af4,be,ef,cs6,cs7,dt]"; 312 } 313 leaf tc-value { 314 type uint8 { 315 range 0..7 { 316 description "MPLS-TC value, support [0-7]"; 317 } 318 } 319 mandatory true ; 320 description "MPLS-TC value, support [0-7]"; 321 } 322 } 324 grouping ip-dscp { 325 description "IP DSCP Information"; 326 leaf phb-class { 327 type qos-phb-class ; 328 description "Specify server class of PHB info, support [a" 329 + "f1,af2,af3,af4,be,ef,cs6,cs7,dt]"; 330 } 331 leaf dscp-value { 332 type uint8 { 333 range 0..63 { 334 description "IPv4/IPv6 DSCP value, support [0-63]"; 335 } 336 } 337 mandatory true ; 338 description "IPv4/IPv6 DSCP value, support [0-63]"; 339 } 340 } 342 grouping mpls-header-info { 343 description "MPLS TC Information"; 344 leaf phb-class { 345 type qos-phb-class ; 346 description "Specify phb class of PHB info, support [a" 347 + "f1,af2,af3,af4,be,ef,cs6,cs7,dt]"; 348 } 349 leaf tc-value { 350 type uint8 { 351 range 0..7 { 352 description "MPLS-TC value, support [0-7]"; 353 } 354 } 355 mandatory true ; 356 description "MPLS-TC value, support [0-7]"; 357 } 358 leaf s-label { 359 type uint32; 360 description "DetNet Flow ID value, support classifier MF"; 361 } 362 } 364 grouping ipv4-header-info { 365 description "IP DSCP Information"; 366 leaf phb-class { 367 type qos-phb-class ; 368 description "Specify server class of PHB info, support [a" 369 + "f1,af2,af3,af4,be,ef,cs6,cs7,dt]"; 370 } 371 leaf dscp-value { 372 type uint8 { 373 range 0..63 { 374 description "IPv4/IPv6 DSCP value, support [0-63]"; 375 } 376 } 377 mandatory true ; 378 description "IPv4/IPv6 DSCP value, support [0-63]"; 379 } 380 leaf ipv4-source-address { 381 type inet:ipv4-address; 382 description "source address value, support classifier MF"; 383 } 384 leaf ipv4-destination-address { 385 type inet:ipv4-address; 386 description "destination address value, support classifier MF"; 387 } 388 leaf protocol-ID { 389 type uint8; 390 description "protocol ID, support classifier MF"; 391 } 392 leaf source-port-numbers { 393 type inet:port-number; 394 description "source port numbers, support classifier MF"; 395 } 396 leaf destination-port-numbers { 397 type inet:port-number; 398 description "destination port numbers, support classifier MF"; 399 } 400 } 402 grouping ipv6-header-info { 403 description "IPv6 DSCP Information"; 404 leaf phb-class { 405 type qos-phb-class ; 406 description "Specify server class of PHB info, support [a" 407 + "f1,af2,af3,af4,be,ef,cs6,cs7,dt]"; 408 } 409 leaf dscp-value { 410 type uint8 { 411 range 0..63 { 412 description "IPv4/IPv6 DSCP value, support [0-63]"; 413 } 414 } 415 mandatory true ; 416 description "IPv4/IPv6 DSCP value, support [0-63]"; 417 } 418 leaf ipv6-source-address { 419 type inet:ipv6-address; 420 description "source address value, support classifier MF"; 421 } 422 leaf ipv6-destination-address { 423 type inet:ipv6-address; 424 description "destination address value, support classifier MF"; 425 } 426 leaf protocol-ID { 427 type uint8; 428 description "protocol ID, support classifier MF"; 429 } 430 leaf source-port-numbers { 431 type inet:port-number; 432 description "source port numbers, support classifier MF"; 434 } 435 leaf destination-port-numbers { 436 type inet:port-number; 437 description "destination port numbers, support classifier MF"; 438 } 439 } 441 grouping detnet-classifiers { 442 description "Configure the DetNet classifiers"; 443 choice classifier-type { 444 description "Choice of classifiers types"; 445 case ba { 446 description "BA classifier"; 447 choice encapsulation-type { 448 description "Tunnel type includes: IP, MPLS."; 449 case MPLS { 450 list mpls-ba { 451 key "tc-value"; 452 description "MPLS-TC be mapped to PHB"; 453 uses mpls-tc; 454 } 455 } 456 case IP { 457 list ip-ba { 458 key "dscp-value"; 459 description "IPv4/IPv6 DSCP be mapped to PHB"; 460 uses ip-dscp; 461 } 462 } 463 } 464 } 465 case mf { 466 description "MF classifier"; 467 choice tunnel-type { 468 description 469 "Tunnel type includes: IPv4, IPv6, MPLS."; 470 case MPLS { 471 list mpls-mf { 472 key "tc-value"; 473 description "MPLS-TC be mapped to PHB"; 474 uses mpls-header-info; 475 } 476 } 477 case IPv4 { 478 list ipv4-mf { 479 key "dscp-value"; 480 description "IPv4 DSCP be mapped to PHB"; 481 uses ipv4-header-info; 482 } 483 } 484 case IPv6 { 485 list ipv6-mf { 486 key "dscp-value"; 487 description "IPv6 DSCP be mapped to PHB"; 488 uses ipv6-header-info; 489 } 490 } 491 } 492 } 493 } 494 } 496 grouping detnet-actions { 497 description 498 "DetNet Configuration about the actions"; 499 list detnet-action { 500 key "detnet-action-type"; 501 description "DetNet actions, to be defined."; 502 leaf detnet-action-type { 503 type detnet-action-type; 504 description "DetNet action types"; 505 } 506 choice actions { 507 description "Choice of action types"; 508 case meter { 509 description "meter action"; 510 } 511 case marker { 512 description "marker action"; 513 } 514 case shaper { 515 description "shaper action"; 516 } 517 case dropper { 518 description "dropper action"; 519 } 520 case order { 521 description "order action"; 522 } 523 } 524 } 525 } 527 container detnet-qos-policies { 528 description "Configuration about DetNet QoS Policy"; 529 list detnet-policy-template { 530 key detnet-policy-name; 531 description "DetNet policy template"; 532 leaf detnet-policy-name { 533 type string; 534 description "DetNet policy name"; 535 } 536 leaf detnet-policy-type { 537 type detnet-policy-type; 538 description "DetNet policy type"; 539 } 540 list detnet-classifier-template { 541 key detnet-classifier-name; 542 description "DetNet classifier template"; 543 leaf detnet-classifier-name { 544 type string; 545 description "DetNet classifier name"; 546 } 547 leaf detnet-classifier-type { 548 type detnet-classifier-type; 549 description "DetNet classifier type"; 550 } 551 uses detnet-classifiers; 552 uses detnet-actions; 553 } 554 } 555 } 556 } 558 560 3. Security Considerations 562 TBD. 564 4. IANA Considerations 566 TBD. 568 5. Acknowledgements 570 TBD. 572 6. References 573 6.1. Informative References 575 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 576 and W. Weiss, "An Architecture for Differentiated 577 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 578 . 580 6.2. Normative References 582 [I-D.ietf-detnet-architecture] 583 Finn, N., Thubert, P., Varga, B., and J. Farkas, 584 "Deterministic Networking Architecture", draft-ietf- 585 detnet-architecture-08 (work in progress), September 2018. 587 [I-D.ietf-detnet-dp-sol-ip] 588 Korhonen, J. and B. Varga, "DetNet IP Data Plane 589 Encapsulation", draft-ietf-detnet-dp-sol-ip-00 (work in 590 progress), July 2018. 592 [I-D.xiong-detnet-qos-policy] 593 Xiong, Q. and Y. jinghai, "DetNet QoS Policy", draft- 594 xiong-detnet-qos-policy-00 (work in progress), October 595 2018. 597 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 598 Requirement Levels", BCP 14, RFC 2119, 599 DOI 10.17487/RFC2119, March 1997, 600 . 602 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 603 "Definition of the Differentiated Services Field (DS 604 Field) in the IPv4 and IPv6 Headers", RFC 2474, 605 DOI 10.17487/RFC2474, December 1998, 606 . 608 [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, 609 P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi- 610 Protocol Label Switching (MPLS) Support of Differentiated 611 Services", RFC 3270, DOI 10.17487/RFC3270, May 2002, 612 . 614 [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching 615 (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic 616 Class" Field", RFC 5462, DOI 10.17487/RFC5462, February 617 2009, . 619 Authors' Addresses 621 Quan Xiong 622 ZTE Corporation 623 No.6 Huashi Park Rd 624 Wuhan, Hubei 430223 625 China 627 Phone: +86 27 83531060 628 Email: xiong.quan@zte.com.cn 630 Yufang Han 631 ZTE Corporation 632 50 Software Avenue, YuHuaTai District 633 Nanjing, Jiangsu 210012 634 China 636 Phone: +86 15951984307 637 Email: han.yufang1@zte.com.cn