idnits 2.17.1 draft-cuspdt-rtgwg-cu-separation-yang-model-03.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 8 instances of too long lines in the document, the longest one being 14 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 209 has weird spacing: '...w index uin...' == Line 218 has weird spacing: '...nterval uin...' == Line 220 has weird spacing: '...ivetime uin...' == Line 229 has weird spacing: '...xlan-id vxl...' == Line 247 has weird spacing: '...--rw af add...' == (3 more instances...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (Mar 10, 2019) is 1867 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) == Outdated reference: A later version (-11) exists of draft-asechoud-rtgwg-qos-model-08 ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) == Outdated reference: A later version (-06) exists of draft-cuspdt-rtgwg-cu-separation-bng-protocol-03 Summary: 3 errors (**), 0 flaws (~~), 10 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IETF RTGWG Guangping Huang 3 Internet-Draft Fangwei Hu 4 Intended status: Standards Track ZTE Corporation 5 Expires: September 11, 2019 Shujun Hu 6 Fengwei Qin 7 China Mobile 8 Mar 10, 2019 10 YANG Data Model for Configuration Interface of Control-Plane and User- 11 Plane separation BNG 12 draft-cuspdt-rtgwg-cu-separation-yang-model-03 14 Abstract 16 This document defines the YANG data model for management of Control- 17 Plane and User-Plane separation of BNGs (Broadband Network Gateways). 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on September 11, 2019. 36 Copyright Notice 38 Copyright (c) 2019 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Conventions used in this document . . . . . . . . . . . . . . 4 55 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 56 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 57 3. Design Tree . . . . . . . . . . . . . . . . . . . . . . . . . 4 58 3.1. Yang Data model through Management Interfaces . . . . . . 4 59 3.2. YANG Data Model for vBNG-CP . . . . . . . . . . . . . . . 6 60 3.3. YANG Data Model for vBNG-UP . . . . . . . . . . . . . . . 7 61 4. vBNG YANG Data Model . . . . . . . . . . . . . . . . . . . . 8 62 4.1. ietf-vbng module . . . . . . . . . . . . . . . . . . . . 8 63 4.2. ietf-vbng-cp module . . . . . . . . . . . . . . . . . . . 13 64 4.3. ietf-vbng-up module . . . . . . . . . . . . . . . . . . . 20 65 5. Security Considerations . . . . . . . . . . . . . . . . . . . 23 66 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 67 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 68 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 69 8.1. Normative References . . . . . . . . . . . . . . . . . . 25 70 8.2. Informative References . . . . . . . . . . . . . . . . . 27 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 73 1. Introduction 75 The main idea of Broadband Network Gateway (BNG) Control-Plane and 76 User-Plane separation is to extract and centralize the user 77 management functions of multiple BNG devices, forming a unified and 78 centralized control plane (CP), while the traditional router's 79 control and forwarding information are both preserved on BNG devices 80 in the form of a user plane (UP). We call the Control-Plane and 81 User-plane separation BNG a vBNG (virtual BNG). 83 The architecture of Control-plane and User-plane separated BNG is 84 shown as the following figure. 86 +--------------------------------------+ 87 | | 88 | vBNG-CP | 89 | | 90 +----+--------------+--------------+---+ 91 | | | 92 Service | Control | Management| 93 Interface| Interface| Interface| 94 | | | | | | 95 VXLAN | S-CUSP | NETCONF| 96 | | | 97 +----+--------------+--------------+---+ 98 | | 99 | vBNG-UP | 100 | | 101 +-------------------+------------------+ 102 | 103 | 104 +--------+--------+ 105 | | 106 | Access Network | 107 | | 108 +--------+--------+ 109 | 110 +----+----+ 111 | | 112 | User | 113 +---------+ 114 Figure 1: Architecture of C/U separated BNG 116 There are three interfaces between vBNG-CP(vBNG Control Plane) and 117 vBNG-UP(vBNG User Plane): Service interface, control interface and 118 management interface. The service interface is used to carry PPPoE/ 119 IPoE dialup packets between user plane and control plane. The 120 requirements and possible solution are defined in the 121 [I-D.hu-nvo3-vxlan-gpe-extension-for-vbng]. The control interface is 122 used for setting forwarding entries of the user plane using Simple 123 CUSP (S-CUSP) [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] or other 124 protocols. The management interface is used by vBNG-CP to carry out 125 related configurations of vBNG-UP through NETCONF protocol [RFC6241]. 127 This document defines the YANG data model for vBNG(vBNG-CP and vBNG- 128 UP). There are three types of YANG data model for vBNG in this 129 document: The YANG data models for vBNG-CP, the YANG data models for 130 direct network management of vBNG-UP, and the YANG data models for 131 BNG-UP through the management interfaces among the vBNG-UP and vBNG- 132 CP. 134 2. Conventions used in this document 136 2.1. Terminology 138 BNG: Broadband Network Gateway. A broadband remote access server 139 routes traffic to and from broadband remote access devices such as 140 digital subscriber line access multiplexers (DSLAM) on an Internet 141 service provider's (ISP) network. 143 CUSP: Control-plane and User-plane Separation Protocol. 145 S-CUSP: Simple CUSP. 147 vBNG: Virtualization Broadband Network Gateway. An vBNG is to 148 extract and centralize the user management functions of multiple BNG 149 devices, and to form an unified and centralized control plane (CP). 150 The vBNG devices include vBNG-UP and vBNG-CP. 152 vBNG-CP: vBNG Control Plane. The vBNG-CP is a user control 153 management component which support to manage UP's resources such as 154 the user entry and forwarding policy. 156 vBNG-UP: vBNG User Plane. vBNG-UP is a network edge and user policy 157 implementation component. 159 2.2. Requirements Language 161 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 162 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 163 "OPTIONAL" in this document are to be interpreted as described in BCP 164 14 [RFC2119] [RFC8174] when, and only when, they appear in all 165 capitals, as shown here. 167 3. Design Tree 169 3.1. Yang Data model through Management Interfaces 171 The vBNG-UP or vBNG-CP part can be a physical or virtualized network 172 element. The LNE model [I-D.ietf-rtgwg-lne-model] is augmented to 173 define the YANG data models for vBNG-UP and vBNG-CP in this document. 175 The YANG data model for vBNG through the management interface 176 includes vBNG-UP interface configuration, control channel and service 177 channel configuration, ACL and QoS. 179 The vBNG-UP interface configuration is to configure the basic 180 interface informations of a vBNG-UP element, such as interface name, 181 the VLAN parameters for the sub-interface. 183 The control channel is to configure the S-CUSP parameters. The 184 control channel parameters include: name, id, port, S-CUSP version, 185 hello interval, dead time, and keepalive time. 187 The VXLAN tunnel is the suggested service interface protocol between 188 vBNG-CP and vBNG-UP. The VXLAN tunnel parameters include: tunnel- 189 source-ip,tunnel-destination-ip, vxlan-id, vxlan-tunnel-id, vxlan- 190 tunnel-name, etc. 192 The ACL information includes ipv4-acl,ipv6-acl,link-acl,etc. The 193 YANG data model for ACL refers to [I-D.ietf-netmod-acl-model] 195 The QoS information includes IP-DSCP, MPLS,VPLS, VPWS etc. The YANG 196 data model for QoS refers to [I-D.asechoud-rtgwg-qos-model] 198 module: ietf-vbng 199 augment /lne:logical-network-elements/lne:logical-network-element: 200 +--rw ietf-vbng 201 +--rw interfaces 202 | +--rw interface* [name] 203 | +--rw name if:interface-ref 204 | +--rw ethernet 205 | | +--rw lacp? boolean 206 | +--rw mac-offset? uint32 207 | +--rw vlans 208 | +--rw tag* [index] 209 | +--rw index uint8 210 | +--rw tag 211 | +--rw tag-type? string 212 | +--rw vlan-id? vlan-id 213 +--rw control-channel 214 | +--rw name? string 215 | +--rw id? uint32 216 | +--rw port? uint32 217 | +--rw version uint8 218 | +--rw hellointerval uint32 219 | +--rw deadtime uint32 220 | +--rw keepalivetime uint32 221 +--rw service-channel* [vxlan-tunnel-id] 222 | +--rw vxlan-tunnel-id uint32 223 | +--rw vxlan-tunnel-name? string 224 | +--rw address-family* [af] 225 | +--rw af address-family-type 226 | +--rw tunnel-source-ip? inet:ip-address 227 | +--rw tunnel-destination-ip? inet:ip-address 228 | +--rw bind-vxlan-id* [vxlan-id] 229 | +--rw vxlan-id vxlan-id 230 +--rw acl 231 ... ... 232 +--rw qos 233 ... ... 235 3.2. YANG Data Model for vBNG-CP 237 The ietf-vbng-cp module is to configure vBNG-CP. The YANG data model 238 includes: vbng-cp-name, netconf-server and PPPoE parameters, etc. 240 module: ietf-vbng-cp 241 augment /lne:logical-network-elements/lne:logical-network-element: 242 +--rw ietf-vbng-cp 243 +--rw vbng-cp-name? string 244 +--rw enable? boolean 245 +--rw netconf-server! 246 | +--rw address-family* [af] 247 | | +--rw af address-family-type 248 | | +--rw ip inet:ip-address 249 | +--rw user-name? string 250 | +--rw password? string 251 | +--rw port? uint32 252 +--rw vbng-pppoe 253 +--rw pppoe-switch 254 | +--rw delay-time? uint16 255 | +--rw keepalive-timer? enumeration 256 | +--rw ppp-max-payload? enumeration 257 | +--rw service? enumeration 258 | +--rw ppp-mru-verify? enumeration 259 | +--rw keepalive-fast-reply? enumeration 260 +--rw pppoe-cfg* [template] 261 +--rw template uint32 262 +--rw ppp-authentication? enumeration 263 +--rw ppp-check-magic-num? enumeration 264 +--rw ppp-mru? uint32 265 +--rw pppoe-ac-name? string 266 +--rw pppoe-service-name-omit? enumeration 267 +--rw pppoe-ac-cookie-check? enumeration 268 +--rw pppoe-password-string? string 269 +--rw pppoe-username-string? string 270 +--rw (ppp-quick-redial)? 271 | +--:(quick-redial-disable) 272 | | +--rw ppp-quick-redial-disable? enumeration 273 | +--:(fast-response) 274 | +--rw ppp-fast-response? enumeration 275 | +--rw ppp-quick-redial-enable? enumeration 276 +--rw ppp-keepalive 277 | +--rw ppp-keepalive-timer? uint32 278 | +--rw ppp-keepalive-count? uint16 279 +--rw ppp-timeout 280 +--rw ppp-timeout-negtimeoutsec? uint8 281 +--rw ppp-timeout-authentication? uint8 283 3.3. YANG Data Model for vBNG-UP 285 The ietf-vbng-up module is to configure the vBNG-UP. The YANG data 286 model includes: shelf-number, vbng-up-name, netconf-client and 287 keepalive-sink , etc. 289 module: ietf-vbng-up 290 augment /lne:logical-network-elements/lne:logical-network-element: 291 +--rw ietf-vbng-up 292 +--rw vbng-up* [shelf-no] 293 +--rw shelf-no uint8 294 +--rw vbng-up-name? string 295 +--rw netconf-client! 296 | +--rw address-family* [af] 297 | | +--rw af address-family-type 298 | | +--rw ip inet:ip-address 299 | +--rw user-name? string 300 | +--rw password? string 301 | +--rw port? uint32 302 +--rw keepalive-sink? enumeration 304 4. vBNG YANG Data Model 306 4.1. ietf-vbng module 308 file "ietf-vbng@2019-03-08.yang" 309 module ietf-vbng{ 310 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng"; 311 prefix "vbng"; 313 import ietf-inet-types { 314 prefix "inet"; 315 } 316 import ietf-interfaces { 317 prefix if; 318 } 320 import ietf-logical-network-element { 321 prefix lne; 322 } 323 organization 324 "IETF NETCONF Working Group"; 326 contact 327 " 328 WG List: 330 Editor: Guangping Huang 331 332 "; 334 description 335 "The YANG module defines a generic configuration 336 model for vbng"; 338 revision 2019-03-08{ 339 description "Initial a new vbng control and user plane separation 340 yang data model, it includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, 341 this module is ietf-vbng"; 342 reference 343 "draft-cuspdt-rtgwg-cu-separation-yang-model-02"; 344 } 346 /* Typedefs */ 348 typedef vlan-id { 349 type uint16 { 350 range "0..4094"; 351 } 352 description 353 "Typedef for VLAN ID."; 354 } 356 typedef vxlan-id { 357 type uint32; 358 description 359 "Typedef for VxLAN ID."; 360 } 362 typedef address-family-type { 363 type enumeration { 364 enum ipv4 { 365 description 366 "IPv4"; 367 } 368 enum ipv6 { 369 description 370 "IPv6"; 371 } 372 } 373 description 374 "Typedef for address family type."; 375 } 377 /* Configuration Data */ 378 augment /lne:logical-network-elements/lne:logical-network-element { 379 container ietf-vbng{ 380 container interfaces { 381 list interface { 382 key name; 383 leaf name { 384 type if:interface-ref; 385 description "interface name"; 387 } 388 container ethernet { 389 leaf lacp { 390 type boolean; 391 description "enable lacp function"; 392 } 393 description "configure ethernet interface"; 394 } 395 leaf mac-offset { 396 type uint32; 397 description "configure mac offset"; 398 } 399 container vlans { 400 list tag { 401 key index; 402 max-elements 2; 403 leaf index { 404 type uint8 { 405 range "0..1"; 406 } 407 must ". = 0 or 408 count(../../tag[index = 0]/index) > 0" { 409 error-message "An inner tag can only be specified 410 if anouter tag has also been specified"; 411 description "Ensure that an inner tag cannot be 412 specified without an outer tag'"; 413 } 415 description "The index into the tag stack, outermost 416 tag assigned index 0"; 417 } 419 container tag{ 420 leaf tag-type { 421 type string; 422 description "tag type"; 423 } 424 leaf vlan-id { 425 type vlan-id; 426 description "vlan id value"; 427 } 429 description "tag"; 430 } 431 description "tag list"; 432 } 433 description "vlans"; 434 } 436 description "interfaces list"; 437 } 438 description "interface container"; 439 } 441 container control-channel { 442 leaf name { 443 type string; 444 description "control channel protocol logical name"; 445 } 446 leaf id { 447 type uint32; 448 description "the s-cusp session id"; 449 } 450 leaf port { 451 type uint32; 452 description "s-cusp tcp connection port number"; 453 } 454 leaf version { 455 type uint8; 456 description "s-cusp version number"; 457 } 458 leaf hellointerval { 459 type uint32; 460 description "s-cusp hello interval"; 461 } 462 leaf deadtime { 463 type uint32; 464 description "s-cusp dead time"; 465 } 466 leaf keepalivetime { 467 type uint32; 468 description "s-cusp keepalive time"; 469 } 471 description "configure s-cusp parameters"; 472 } 474 list service-channel{ 475 key vxlan-tunnel-id; 476 leaf vxlan-tunnel-id { 477 type uint32; 478 description 479 "Static VxLAN tunnel ID."; 480 } 482 leaf vxlan-tunnel-name { 483 type string; 484 description 485 "Name of the static VxLAN tunnel."; 486 } 488 list address-family { 489 key "af"; 490 leaf af { 491 type address-family-type; 492 description 493 "Address family type value."; 494 } 496 leaf tunnel-source-ip { 497 type inet:ip-address; 498 description 499 "Source IP address for the static VxLAN tunnel"; 500 } 502 leaf tunnel-destination-ip { 503 type inet:ip-address; 504 description 505 "Destination IP address for the static VxLAN tunnel"; 506 } 508 list bind-vxlan-id { 509 key vxlan-id; 510 leaf vxlan-id { 511 type vxlan-id; 512 description 513 "VxLAN ID."; 514 } 515 description 516 "VxLAN ID list for the VTEP."; 517 } 519 description 520 "Per-af params."; 521 } 522 description 523 "Configure VxLAN channel"; 524 } 525 description "ietf-bng configuration!"; 526 } 527 description "augment lne model"; 528 } 529 } 530 531 4.2. ietf-vbng-cp module 533 file "ietf-vbng-cp@2019-03-08.yang" 534 module ietf-vbng-cp{ 535 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng-cp"; 536 prefix "vbng-cp"; 538 import ietf-inet-types { 539 prefix "inet"; 540 } 542 import ietf-interfaces { 543 prefix if; 544 } 546 import ietf-logical-network-element { 547 prefix lne; 548 } 550 organization 551 "IETF NETCONF Working Group"; 553 contact 554 " 555 WG List: 557 Editor: Guangping Huang 558 559 "; 561 description 562 "The YANG module defines a generic configuration 563 model for vbng-cp"; 565 revision 2019-03-08{ 566 description "Initial a new vbng control and user plane separation 567 yang data model, it includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this 568 is ietf-vbng-cp"; 569 reference 570 "draft-cuspdt-rtgwg-cu-separation-yang-model-02"; 571 } 573 /* Typedefs */ 575 typedef address-family-type { 576 type enumeration { 577 enum ipv4 { 578 description 579 "IPv4"; 580 } 581 enum ipv6 { 582 description 583 "IPv6"; 584 } 585 } 586 description 587 "Typedef for address family type."; 588 } 590 /* Configuration Data */ 592 augment /lne:logical-network-elements/lne:logical-network-element { 593 container ietf-vbng-cp{ 594 leaf bng-cp-name { 595 type string; 596 description "configure vbng-cp name"; 597 } 598 leaf enable { 599 type boolean; 600 description "'true' to support vbng separation"; 601 } 602 container netconf-server { 603 presence netconf-server ; 604 list address-family { 605 key "af"; 606 leaf af { 607 type address-family-type; 608 description 609 "Address family type value."; 610 } 611 leaf ip { 612 type inet:ip-address; 613 mandatory true ; 614 description 'Configure ip address of netconf server.'; 615 } 616 description "address family list"; 617 } 618 leaf user-name { 619 type string { 620 length 1..65 ; 621 } 622 description 'configure user name, default: "who".'; 623 } 624 leaf password { 625 type string { 626 length 3..32 ; 628 } 629 description 'configure password, default: "who".'; 630 } 632 leaf port { 633 type uint32; 634 description 'Configure port.'; 635 } 636 description 'Configure netconf server.'; 637 } 638 container vbng-pppoe { 639 container pppoe-switch { 640 leaf delay-time { 641 type uint16 { 642 range 1..300 ; 643 } 644 description 'Trigger user offline when VCC phys-interface down'; 645 } 646 leaf keepalive-timer { 647 type enumeration { 648 enum start { 649 value 1 ; 650 description "start keepalive timer"; 651 } 652 enum stop { 653 value 0 ; 654 description "stop keepalive timer"; 655 } 656 } 657 default start ; 658 description 'Start or stop send keepalive packet'; 659 } 660 leaf ppp-max-payload { 661 type enumeration { 662 enum disable { 663 value 0 ; 664 description "disable ppp max payload"; 665 } 666 enum enable { 667 value 1 ; 668 description "enable ppp max payload"; 669 } 670 } 671 default disable ; 672 description 'Enable or disable pppoe ppp-max-payload'; 673 } 674 leaf service { 675 type enumeration { 676 enum advertise{ 677 value 1 ; 678 description "enable ppp service!"; 679 } 680 enum disable { 681 value 0 ; 682 description "disable ppp service!"; 683 } 684 } 685 default advertise ; 686 description 'Open or close pppoe service'; 687 } 688 leaf ppp-mru-verify { 689 type enumeration { 690 enum open { 691 value 1 ; 692 description "enable ppp mru verify!"; 693 } 694 enum close { 695 value 0 ; 696 description "disable ppp mru!"; 697 } 698 } 699 default close ; 700 description 'set ppp lcp mru verify when mru over 1492'; 701 } 703 leaf keepalive-fast-reply { 704 type enumeration { 705 enum enable { 706 value 1 ; 707 description 'Enable keepalive fast reply!'; 708 } 709 enum disable { 710 value 0 ; 711 description 'Disable keepalive fast reply!'; 712 } 713 } 714 description 'Set keepalive fast reply flag.'; 715 } 716 description 'Configuration about pppoe switch.'; 717 } 718 list pppoe-cfg { 719 key template ; 720 leaf template { 721 type uint32 { 722 range 1..1000 ; 723 } 724 description 'PPPoX template number'; 725 } 726 leaf ppp-authentication { 727 type enumeration { 728 enum pap { 729 value 1 ; 730 description "configure pap authentication!"; 731 } 732 enum chap { 733 value 2 ; 734 description "configure chap authentication!"; 735 } 736 enum mschapv1 { 737 value 6 ; 738 description "configure mschapv1 authentication!"; 739 } 740 enum mschapv2 { 741 value 7 ; 742 description "configure mschapv2 tication!"; 743 } 744 enum pap-chap { 745 value 21 ; 746 description "configure pap-chap authentication!"; 747 } 748 } 749 default pap-chap ; 750 description 'Set ppp authentication'; 751 } 752 leaf ppp-check-magic-num { 753 type enumeration { 754 enum disable { 755 value 0 ; 756 description 'disable ppp magic check'; 757 } 758 enum enable { 759 value 1 ; 760 description 'enable ppp magic check'; 761 } 762 } 763 default enable ; 764 description 'Check magic number or not'; 765 } 766 leaf ppp-mru { 768 type uint32 { 769 range 320..9000 ; 770 } 771 default 1492 ; 772 description 'Set mru value'; 773 } 774 leaf pppoe-ac-name { 775 type string ; 776 description 'Set ac-name'; 777 } 778 leaf pppoe-service-name-omit { 779 type enumeration { 780 enum disable { 781 value 0 ; 782 description "disable pppoe service name omit"; 783 } 784 enum enable { 785 value 1 ; 786 description "enable pppoe service name omit"; 787 } 788 } 789 default disable ; 790 description 'Check service-name value'; 791 } 792 leaf pppoe-ac-cookie-check { 793 type enumeration { 794 enum disable { 795 value 0 ; 796 description "disable pppoe ac cookie check"; 797 } 798 enum enable { 799 value 1 ; 800 description "enable pppoe ac cookie check"; 801 } 802 } 803 default enable ; 804 description 'Check options'; 805 } 806 leaf pppoe-password-string { 807 type string ; 808 description 'Set authentication failure password string'; 809 } 810 leaf pppoe-username-string { 811 type string ; 812 description 'Set authentication failure username error string'; 813 } 815 choice ppp-quick-redial { 816 case quick-redial-disable { 817 leaf ppp-quick-redial-disable { 818 type enumeration { 819 enum disable { 820 value 0 ; 821 description "disable ppp quick redial"; 822 } 823 } 824 default disable ; 825 description 'disable quick-redial'; 826 } 827 description 'disable quick-redial'; 828 } 829 case fast-response { 830 leaf ppp-fast-response { 831 type enumeration { 832 enum diable { 833 value 0 ; 834 description "disable ppp fast response"; 835 } 836 enum enable { 837 value 1 ; 838 description "enable ppp fast response"; 839 } 840 } 841 description 'set Response the access request immediately'; 842 } 843 leaf ppp-quick-redial-enable { 844 type enumeration { 845 enum enable { 846 value 1 ; 847 description "enable ppp quick redial"; 848 } 849 } 850 default enable ; 851 description 'Enable quick-redial'; 852 } 853 description 'set quick-redial or Response the access request immediately'; 854 } 855 default quick-redial-disable ; 856 description 'Enable or disable quick-redial'; 857 } 858 container ppp-keepalive { 859 leaf ppp-keepalive-timer { 860 type uint32 { 861 range 10..14400 ; 862 } 863 default 60 ; 864 description 'Set keepalive time(unit:seconds)'; 865 } 866 leaf ppp-keepalive-count { 867 type uint16 { 868 range 1..10 ; 869 } 870 default 3 ; 871 description 'Set keepalive counter'; 872 } 873 description 'Set keepalive time and counter'; 874 } 875 container ppp-timeout { 876 leaf ppp-timeout-negtimeoutsec { 877 type uint8 { 878 range 1..10 ; 879 } 880 default 3 ; 881 description 'Set ppp negtimeoutsec timeout(unit:seconds)'; 882 } 883 leaf ppp-timeout-authentication { 884 type uint8 { 885 range 1..10 ; 886 } 887 default 3 ; 888 description 'Set ppp authentication timeout(unit:seconds)'; 889 } 890 description 'Set ppp negtimeoutsec and authentication timeout'; 891 } 892 description 'Configuration pppoe template'; 893 } 894 description 'Configuration vBRAS PPPoE.'; 895 } 896 description "configure bng-cp"; 897 } 898 description "augment lne model"; 899 } 900 } 901 903 4.3. ietf-vbng-up module 905 file "ietf-vbng-up@2019-03-08.yang" 906 module ietf-vbng-up{ 907 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng-up"; 908 prefix "vbng-up"; 910 import ietf-inet-types { 911 prefix "inet"; 912 } 914 import ietf-logical-network-element { 915 prefix lne; 917 } 919 organization 920 "IETF NETCONF Working Group"; 922 contact 923 " 924 WG List: 926 Editor: Guangping Huang 927 928 "; 930 description 931 "The YANG module defines a generic configuration 932 model for vbng"; 934 revision 2019-03-08{ 935 description "Initial a new vbng control and user plane separation 936 yang data model, it includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this 937 is ietf-vbng-up"; 938 reference 939 "draft-cuspdt-rtgwg-cu-separation-yang-model-02"; 940 } 942 /* Typedefs */ 944 typedef address-family-type { 945 type enumeration { 946 enum ipv4 { 947 description 948 "IPv4"; 949 } 950 enum ipv6 { 951 description 952 "IPv6"; 953 } 954 } 955 description 956 "Typedef for address family type."; 957 } 959 /* Configuration Data */ 961 augment /lne:logical-network-elements/lne:logical-network-element { 962 container ietf-vbng-up{ 963 list vbng-up { 964 key shelf-no ; 965 leaf shelf-no { 966 type uint8 { 967 range 1..127 ; 968 } 969 description 'Configure shelf-no of forwarder,1-127.'; 970 } 972 leaf vbng-up-name { 973 type string { 974 length 1..31 ; 975 } 976 description 'Configure bng up name.' ; 977 } 978 container netconf-client { 979 presence netconf-client ; 980 list address-family { 981 key "af"; 982 leaf af { 983 type address-family-type; 984 description 985 "Address family type value."; 986 } 987 leaf ip { 988 type inet:ip-address; 989 mandatory true ; 990 description 'Configure ip address of netconf server.'; 991 } 992 description "address family list"; 993 } 994 leaf user-name { 995 type string { 996 length 1..65 ; 997 } 998 description 'configure user name, default: "who".'; 999 } 1001 leaf password { 1002 type string { 1003 length 3..32 ; 1004 } 1005 description 'configure password, default: "who".'; 1006 } 1008 leaf port { 1009 type uint32; 1010 description 'Configure port.'; 1011 } 1012 description 'Configure netconf server.'; 1014 } 1016 leaf keepalive-sink { 1017 type enumeration { 1018 enum enable { 1019 value 1 ; 1020 description 'enable the keepalive-sink function'; 1021 } 1022 enum disable { 1023 value 0 ; 1024 description 'disable keepalive-sink function'; 1025 } 1026 } 1027 description "configure keepalive-sink"; 1028 } 1029 description "configure vbng-up list"; 1030 } 1031 description "vbng-up configuration!"; 1032 } 1033 description "augment lne model"; 1034 } 1035 } 1036 1038 5. Security Considerations 1040 The YANG module specified in this document defines a schema for data 1041 that is designed to be accessed via network management protocols such 1042 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1043 is the secure transport layer, and the mandatory-to-implement secure 1044 transport is Secure Shell (SSH)[RFC6242]. The lowest RESTCONF layer 1045 is HTTPS, and the mandatory-to-implement secure transport is TLS 1046 [RFC5246]. 1048 The NETCONF access control model [RFC6536] provides the means to 1049 restrict access for particular NETCONF or RESTCONF users to a 1050 preconfigured subset of all available NETCONF or RESTCONF protocol 1051 operations and content. 1053 vBNG(vBNG-CP, vBNG-UP) represents device and network configuration 1054 information based on the LNE. As such, the security of this 1055 information is important, but it is fundamentally no different than 1056 any other interface or device configuration information that has 1057 already been covered in other documents such as 1058 [I-D.ietf-rtgwg-lne-model]. 1060 The vulnerable "config true" parameters and subtree are the 1061 following: 1063 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1064 interfaces: this subtree specifies vBNG-UP interface parameters 1065 configuration. Modify the configuration can cause the vBNG-UP 1066 interfaces disable. 1068 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1069 control-channel: this subtree specifies control channel parameters 1070 configuration. Modify the configuration can cause the S-CUSP 1071 protocol sessions interrupted among the vBNG-CPs and vBNG-UPs. 1073 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1074 service-channel: this subtree specifies the service channel 1075 parameters configuration among vbng user planes and control plane. 1076 Modify the configuration can cause the VxLAN session interrupted 1077 among vBGN-UPs and vBNG-CPs. 1079 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1080 cp/netconf-server: this subtree specifies netconf parameters of vBNG- 1081 CP. Modify the configuration can cause the netconf session among 1082 vBNG-CPs and vBNG-UPs interrupted. 1084 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1085 cp/vbng-pppoe: this subtree specifies PPPoE parameters of vBNG-CP. 1086 Modify the configuration can cause the PPPoE session interrupted. 1088 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1089 cp/netconf-client: this subtree specifies netconf parameters of vBNG- 1090 UP. Modify the configuration can cause the netconf session among 1091 vBNG-CP and vBNG-UP interrupted. 1093 Unauthorized access to any of these lists can adversely affect the 1094 security of both the local device and the network. This may lead to 1095 network malfunctions, delivery of packets to inappropriate 1096 destinations, and other problems. 1098 6. Acknowledgements 1100 7. IANA Considerations 1102 This document registers three URI in the IETF XML registry [RFC3688]. 1103 Following the format in [RFC3688], the following registrations are 1104 requested to be made. 1106 URI: urn:ietf:params:xml:ns:yang:ietf-vbng. 1108 Registrant Contact: The IESG. 1110 XML: N/A, the requested URI is an XML namespace. 1112 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-cp. 1114 Registrant Contact: The IESG. 1116 XML: N/A, the requested URI is an XML namespace. 1118 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-up. 1120 Registrant Contact: The IESG. 1122 XML: N/A, the requested URI is an XML namespace. 1124 This document registers three YANG modules in the YANG Module Names 1125 registry [RFC6020]. 1127 name: ietf-vbng 1128 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng 1129 prefix: vbng 1130 reference: RFC XXXX 1132 name: ietf-vbng 1133 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-cp 1134 prefix: vbng-cp 1135 reference: RFC XXXX 1137 name: ietf-vbng 1138 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-up 1139 prefix: vbng-up 1140 reference: RFC XXXX 1142 8. References 1144 8.1. Normative References 1146 [I-D.asechoud-rtgwg-qos-model] 1147 Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., 1148 and I. Chen, "YANG Model for QoS", draft-asechoud-rtgwg- 1149 qos-model-08 (work in progress), January 2019. 1151 [I-D.ietf-netmod-acl-model] 1152 Jethanandani, M., Agarwal, S., Huang, L., and D. Blair, 1153 "Network Access Control List (ACL) YANG Data Model", 1154 draft-ietf-netmod-acl-model-21 (work in progress), 1155 November 2018. 1157 [I-D.ietf-rtgwg-lne-model] 1158 Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. 1159 Liu, "YANG Model for Logical Network Elements", draft- 1160 ietf-rtgwg-lne-model-10 (work in progress), March 2018. 1162 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1163 Requirement Levels", BCP 14, RFC 2119, 1164 DOI 10.17487/RFC2119, March 1997, 1165 . 1167 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1168 DOI 10.17487/RFC3688, January 2004, 1169 . 1171 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1172 (TLS) Protocol Version 1.2", RFC 5246, 1173 DOI 10.17487/RFC5246, August 2008, 1174 . 1176 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1177 the Network Configuration Protocol (NETCONF)", RFC 6020, 1178 DOI 10.17487/RFC6020, October 2010, 1179 . 1181 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1182 and A. Bierman, Ed., "Network Configuration Protocol 1183 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1184 . 1186 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1187 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1188 . 1190 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1191 Protocol (NETCONF) Access Control Model", RFC 6536, 1192 DOI 10.17487/RFC6536, March 2012, 1193 . 1195 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1196 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1197 . 1199 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1200 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1201 May 2017, . 1203 8.2. Informative References 1205 [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] 1206 Hu, S., Eastlake, D., Wang, Z., Qin, F., Li, Z., Song, J., 1207 and T. Chua, "Control-Plane and User-Plane Separation BNG 1208 Control Channel Protocol", draft-cuspdt-rtgwg-cu- 1209 separation-bng-protocol-03 (work in progress), November 1210 2018. 1212 [I-D.hu-nvo3-vxlan-gpe-extension-for-vbng] 1213 Hu, S., Qin, F., Li, Z., Wang, Z., and T. Ao, "VXLAN GPE 1214 Extension for Packets Exchange Between Control and User 1215 Plane of vBNG", draft-hu-nvo3-vxlan-gpe-extension-for- 1216 vbng-01 (work in progress), December 2018. 1218 Authors' Addresses 1220 Guangping Huang 1221 ZTE Corporation 1222 No.50, Software Avenue 1223 Nanjing, Jiangsu 210012 1224 China 1226 Email: huang.guangping@zte.com.cn 1228 Fangwei Hu 1229 ZTE Corporation 1230 No.889 Bibo Rd 1231 Shanghai, Shanghai 201203 1232 China 1234 Shujun Hu 1235 China Mobile 1236 32 Xuanwumen West Ave, Xicheng District 1237 Beijing 100053 1238 China 1240 Email: shujun_hu@outlook.com 1241 Fengwei Qin 1242 China Mobile 1243 32 Xuanwumen West Ave, Xicheng District 1244 Beijing, Beijing 100053 1245 China 1247 Email: qinfengwei@chinamobile.com