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