idnits 2.17.1 draft-cuspdt-rtgwg-cu-separation-yang-model-02.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 9 instances of too long lines in the document, the longest one being 33 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 205 has weird spacing: '...w index uin...' == Line 214 has weird spacing: '...nterval uin...' == Line 216 has weird spacing: '...ivetime uin...' == Line 225 has weird spacing: '...xlan-id vxl...' == Line 243 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 (Jan 8, 2019) is 1934 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. 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-07 ** 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 (==), 2 comments (--). 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: July 12, 2019 Shujun Hu 6 Fengwei Qin 7 China Mobile 8 Jan 8, 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-02.txt 14 Abstract 16 This document defines the YANG data model for management of Control- 17 Plane and User-Plane separation 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 July 12, 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 . . . . . . . . . . . . . . . . . . . . 7 62 4.1. ietf-vbng module . . . . . . . . . . . . . . . . . . . . 7 63 4.2. ietf-vbng-cp module . . . . . . . . . . . . . . . . . . . 12 64 4.3. ietf-vbng-up module . . . . . . . . . . . . . . . . . . . 20 65 5. Security Considerations . . . . . . . . . . . . . . . . . . . 22 66 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 67 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 68 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 69 8.1. Normative References . . . . . . . . . . . . . . . . . . 25 70 8.2. Informative References . . . . . . . . . . . . . . . . . 26 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 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 an 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 name the control-Plane and 81 User-plane separation BNG as 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 | 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 CUSP 123 [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] or other protocols. 124 The management interface is used by vBNG-CP to carry out related 125 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 vBNG-UP by network management directly, and the YANG data models for 131 BGN-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 vBNG: Virtualization Broadband Network Gateway. An vBNG is to 144 extract and centralize the user management functions of multiple BNG 145 devices, and to form an unified and centralized control plane (CP). 146 The vBNG devices include vBNG-UP and vBNG-CP. 148 vBNG-CP: vBNG Control Plane. The vBNG-CP is a user control 149 management component which support to manage UP's resources such as 150 the user entry and forwarding policy. 152 vBNG-UP: vBNG User Plane. vBNG-UP is a network edge and user policy 153 implementation component. 155 2.2. Requirements Language 157 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 158 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 159 "OPTIONAL" in this document are to be interpreted as described in BCP 160 14 [RFC2119] [RFC8174] when, and only when, they appear in all 161 capitals, as shown here. 163 3. Design Tree 165 3.1. Yang Data model through Management Interfaces 167 The vBNG-UP or vBNG-CP part can be a physical or virtualized network 168 element. The LNE model [I-D.ietf-rtgwg-lne-model] is augmented to 169 define the YANG data models for vBNG-UP and vBNG-CP in this document. 171 The YANG data model for vBNG through management interface includes 172 vBNG-UP interface configuration, control channel and service channel 173 configuration, ACL and QoS. 175 The vBNG-UP interface configuration is to configure the basic 176 interface informations of vBNG-UP element, such as interface name, 177 the VLAN parameters for the sub-interface. 179 The control channel is to configure the CUSP parameters. The control 180 channel parameters include: name, id, port, CUSP version, hello 181 interval, dead time, and keepalive time. 183 The VXLAN tunnel is the suggested service interface protocol between 184 vBNG-CP and vBNG-UP. The VXLAN tunnel parameters include: tunnel- 185 source-ip,tunnel-destination-ip, vxlan-id, vxlan-tunnel-id, vxlan- 186 tunnel-name, etc. 188 The ACL information includes ipv4-acl,ipv6-acl,link-acl,etc. The 189 YANG data model for ACL refers to [I-D.ietf-netmod-acl-model] 191 The QoS information includes IP-DSCP, MPLS,VPLS, VPWS etc. The YANG 192 data model for QoS refers to [I-D.asechoud-rtgwg-qos-model] 194 module: ietf-vbng 195 augment /lne:logical-network-elements/lne:logical-network-element: 196 +--rw ietf-vbng 197 +--rw interfaces 198 | +--rw interface* [name] 199 | +--rw name if:interface-ref 200 | +--rw ethernet 201 | | +--rw lacp? boolean 202 | +--rw mac-offset? uint32 203 | +--rw vlans 204 | +--rw tag* [index] 205 | +--rw index uint8 206 | +--rw tag 207 | +--rw tag-type? string 208 | +--rw vlan-id? vlan-id 209 +--rw control-channel 210 | +--rw name? string 211 | +--rw id? uint32 212 | +--rw port? uint32 213 | +--rw version uint8 214 | +--rw hellointerval uint32 215 | +--rw deadtime uint32 216 | +--rw keepalivetime uint32 217 +--rw service-channel* [vxlan-tunnel-id] 218 | +--rw vxlan-tunnel-id uint32 219 | +--rw vxlan-tunnel-name? string 220 | +--rw address-family* [af] 221 | +--rw af address-family-type 222 | +--rw tunnel-source-ip? inet:ip-address 223 | +--rw tunnel-destination-ip? inet:ip-address 224 | +--rw bind-vxlan-id* [vxlan-id] 225 | +--rw vxlan-id vxlan-id 226 +--rw acl 227 ... ... 228 +--rw qos 229 ... ... 231 3.2. YANG Data Model for vBNG-CP 233 The ietf-vbng-cp module is to configure vBNG-CP. The YANG data model 234 includes: vbng-cp-name, netconf-server and PPPoE parameters, etc. 236 module: ietf-vbng-cp 237 augment /lne:logical-network-elements/lne:logical-network-element: 238 +--rw ietf-vbng-cp 239 +--rw vbng-cp-name? string 240 +--rw enable? boolean 241 +--rw netconf-server! 242 | +--rw address-family* [af] 243 | | +--rw af address-family-type 244 | | +--rw ip inet:ip-address 245 | +--rw user-name? string 246 | +--rw password? string 247 | +--rw port? uint32 248 +--rw vbng-pppoe 249 +--rw pppoe-switch 250 | +--rw delay-time? uint16 251 | +--rw keepalive-timer? enumeration 252 | +--rw ppp-max-payload? enumeration 253 | +--rw service? enumeration 254 | +--rw ppp-mru-verify? enumeration 255 | +--rw keepalive-fast-reply? enumeration 256 +--rw pppoe-cfg* [template] 257 +--rw template uint32 258 +--rw ppp-authentication? enumeration 259 +--rw ppp-check-magic-num? enumeration 260 +--rw ppp-mru? uint32 261 +--rw pppoe-ac-name? string 262 +--rw pppoe-service-name-omit? enumeration 263 +--rw pppoe-ac-cookie-check? enumeration 264 +--rw pppoe-password-string? string 265 +--rw pppoe-username-string? string 266 +--rw (ppp-quick-redial)? 267 | +--:(quick-redial-disable) 268 | | +--rw ppp-quick-redial-disable? enumeration 269 | +--:(fast-response) 270 | +--rw ppp-fast-response? enumeration 271 | +--rw ppp-quick-redial-enable? enumeration 272 +--rw ppp-keepalive 273 | +--rw ppp-keepalive-timer? uint32 274 | +--rw ppp-keepalive-count? uint16 275 +--rw ppp-timeout 276 +--rw ppp-timeout-negtimeoutsec? uint8 277 +--rw ppp-timeout-authentication? uint8 279 3.3. YANG Data Model for vBNG-UP 281 The ietf-vbng-up module is to configure the vBNG-UP. The YANG data 282 model includes: shelf-number, vbng-up-name, netconf-client and 283 keepalive-sink , etc. 285 module: ietf-vbng-up 286 augment /lne:logical-network-elements/lne:logical-network-element: 287 +--rw ietf-vbng-up 288 +--rw vbng-up* [shelf-no] 289 +--rw shelf-no uint8 290 +--rw vbng-up-name? string 291 +--rw netconf-client! 292 | +--rw address-family* [af] 293 | | +--rw af address-family-type 294 | | +--rw ip inet:ip-address 295 | +--rw user-name? string 296 | +--rw password? string 297 | +--rw port? uint32 298 +--rw keepalive-sink? enumeration 300 4. vBNG YANG Data Model 302 4.1. ietf-vbng module 304 file "ietf-vbng@2019-01-09.yang" 305 module ietf-vbng{ 306 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng"; 307 prefix "vbng"; 309 import ietf-inet-types { 310 prefix "inet"; 311 } 313 import ietf-interfaces { 314 prefix if; 315 } 317 import ietf-logical-network-element { 318 prefix lne; 319 } 321 organization 322 "IETF NETCONF Working Group"; 324 contact 325 " 326 WG List: 328 Editor: Guangping Huang 329 330 "; 332 description 333 "The YANG module defines a generic configuration 334 model for vbng"; 336 revision 2019-01-09{ 337 description "Initial a new vbng control and user plane separation 338 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, 339 this module is ietf-vbng"; 340 reference 341 "draft-cuspdt-rtgwg-cu-separation-yang-model-02"; 342 } 344 /* Typedefs */ 346 typedef vlan-id { 347 type uint16 { 348 range "0..4094"; 349 } 350 description 351 "Typedef for VLAN ID."; 352 } 354 typedef vxlan-id { 355 type uint32; 356 description 357 "Typedef for VxLAN ID."; 358 } 360 typedef address-family-type { 361 type enumeration { 362 enum ipv4 { 363 description 364 "IPv4"; 365 } 366 enum ipv6 { 367 description 368 "IPv6"; 369 } 370 } 371 description 372 "Typedef for address family type."; 374 } 376 /* 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"; 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 if an 409 outer 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 tag 415 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 } 434 description "interfaces list"; 435 } 436 description "interface container"; 437 } 439 container control-channel { 440 leaf name { 441 type string; 442 description "control channel protocol logical name"; 443 } 444 leaf id { 445 type uint32; 446 description "the cusp session id"; 447 } 448 leaf port { 449 type uint32; 450 description "cusp tcp connection port number"; 451 } 452 leaf version { 453 type uint8; 454 description "cusp version number"; 455 } 456 leaf hellointerval { 457 type uint32; 458 description "cusp hello interval"; 459 } 460 leaf deadtime { 461 type uint32; 462 description "cusp dead time"; 463 } 464 leaf keepalivetime { 465 type uint32; 466 description "cusp keepalive time"; 467 } 469 description "configure 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 531 4.2. ietf-vbng-cp module 533 file "ietf-vbng@2019-01-09.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-01-09{ 566 description "Initial a new vbng control and user plane separation 567 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this module 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 control plane and user plane 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 ; 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 "ietf-bng configuration!"; 898 } 899 description "augment lne model"; 900 } 901 903 4.3. ietf-vbng-up module 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; 915 } 917 organization 918 "IETF NETCONF Working Group"; 920 contact 921 " 922 WG List: 924 Editor: Guangping Huang 925 926 "; 928 description 929 "The YANG module defines a generic configuration 930 model for vbng"; 932 revision 2019-01-09{ 933 description "Initial a new vbng control and user plane separation 934 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this module 935 is ietf-vbng-up"; 936 reference 937 "draft-cuspdt-rtgwg-cu-separation-yang-model-02"; 938 } 940 /* Typedefs */ 942 typedef address-family-type { 943 type enumeration { 944 enum ipv4 { 945 description 946 "IPv4"; 947 } 948 enum ipv6 { 949 description 950 "IPv6"; 951 } 952 } 953 description 954 "Typedef for address family type."; 955 } 957 /* Configuration Data */ 959 augment /lne:logical-network-elements/lne:logical-network-element { 960 container ietf-vbng-up{ 961 list vbng-up { 962 key shelf-no ; 963 leaf shelf-no { 964 type uint8 { 965 range 1..127 ; 966 } 967 description 'Configure shelf-no of forwarder,1-127.'; 968 } 970 leaf vbng-up-name { 971 type string { 972 length 1..31 ; 973 } 974 description 'Configure bng up name.' ; 975 } 976 container netconf-client { 977 presence netconf-client ; 978 list address-family { 979 key "af"; 980 leaf af { 981 type address-family-type; 982 description 983 "Address family type value."; 984 } 985 leaf ip { 986 type inet:ip-address; 987 mandatory true ; 988 description 'Configure ip address of netconf server.'; 989 } 990 description "address family list"; 991 } 992 leaf user-name { 993 type string { 994 length 1..65 ; 995 } 996 description 'configure user name, default: "who".'; 997 } 998 leaf password { 999 type string { 1000 length 3..32 ; 1001 } 1002 description 'configure password, default: "who".'; 1003 } 1005 leaf port { 1006 type uint32; 1007 description 'Configure port.'; 1008 } 1009 description 'Configure netconf server.'; 1010 } 1012 leaf keepalive-sink { 1013 type enumeration { 1014 enum enable { 1015 value 1 ; 1016 description 'enable the keepalive-sink function'; 1017 } 1018 enum disable { 1019 value 0 ; 1020 description 'disable keepalive-sink function'; 1021 } 1022 } 1023 description "configure keepalive-sink"; 1024 } 1025 description "configure vbng-up list"; 1026 } 1027 description "vbng-up configuration!"; 1028 } 1029 description "augment lne model"; 1030 } 1031 } 1032 1034 5. Security Considerations 1036 The YANG module specified in this document defines a schema for data 1037 that is designed to be accessed via network management protocols such 1038 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1039 is the secure transport layer, and the mandatory-to-implement secure 1040 transport is Secure Shell (SSH)[RFC6242]. The lowest RESTCONF layer 1041 is HTTPS, and the mandatory-to-implement secure transport is TLS 1042 [RFC5246]. 1044 The NETCONF access control model [RFC6536] provides the means to 1045 restrict access for particular NETCONF or RESTCONF users to a 1046 preconfigured subset of all available NETCONF or RESTCONF protocol 1047 operations and content. 1049 vBNG(vBNG-CP, vBNG-UP) represents device and network configuration 1050 information based on the LNE. As such, the security of this 1051 information is important, but it is fundamentally no different than 1052 any other interface or device configuration information that has 1053 already been covered in other documents such as 1054 [I-D.ietf-rtgwg-lne-model]. 1056 The vulnerable "config true" parameters and subtree are the 1057 following: 1059 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1060 interfaces: this subtree specifies vBNG-UP interface parameters 1061 configuration. Modify the configuration can cause the vBNG-UP 1062 interfaces disable. 1064 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1065 control-channel: this subtree specifies control channel parameters 1066 configuration. Modify the configuration can cause the CUSP protocol 1067 sessions interrupted among the vBNG-CPs and vBNG-UPs. 1069 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1070 service-channel: this subtree specifies the service channel 1071 parameters configuration among vbng user planes and control plane. 1072 Modify the configuration can cause the VxLAN session interrupted 1073 among vBGN-UPs and vBNG-CPs. 1075 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1076 cp/netconf-server: this subtree specifies netconf parameters of vBNG- 1077 CP. Modify the configuration can cause the netconf session among 1078 vBNG-CPs and vBNG-UPs interrupted. 1080 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1081 cp/vbng-pppoe: this subtree specifies PPPoE parameters of vBNG-CP. 1082 Modify the configuration can cause the PPPoE session interrupted. 1084 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1085 cp/netconf-client: this subtree specifies netconf parameters of vBNG- 1086 UP. Modify the configuration can cause the netconf session among 1087 vBNG-CP and vBNG-UP interrupted. 1089 Unauthorized access to any of these lists can adversely affect the 1090 security of both the local device and the network. This may lead to 1091 network malfunctions, delivery of packets to inappropriate 1092 destinations, and other problems. 1094 6. Acknowledgements 1096 7. IANA Considerations 1098 This document registers three URI in the IETF XML registry [RFC3688]. 1099 Following the format in [RFC3688], the following registrations are 1100 requested to be made. 1102 URI: urn:ietf:params:xml:ns:yang:ietf-vbng. 1104 Registrant Contact: The IESG. 1106 XML: N/A, the requested URI is an XML namespace. 1108 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-cp. 1110 Registrant Contact: The IESG. 1112 XML: N/A, the requested URI is an XML namespace. 1114 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-up. 1116 Registrant Contact: The IESG. 1118 XML: N/A, the requested URI is an XML namespace. 1120 This document registers three YANG modules in the YANG Module Names 1121 registry [RFC6020]. 1123 name: ietf-vbng 1124 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng 1125 prefix: vbng 1126 reference: RFC XXXX 1128 name: ietf-vbng 1129 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-cp 1130 prefix: vbng-cp 1131 reference: RFC XXXX 1133 name: ietf-vbng 1134 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-up 1135 prefix: vbng-up 1136 reference: RFC XXXX 1138 8. References 1140 8.1. Normative References 1142 [I-D.asechoud-rtgwg-qos-model] 1143 Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., 1144 and I. Chen, "YANG Model for QoS", draft-asechoud-rtgwg- 1145 qos-model-07 (work in progress), July 2018. 1147 [I-D.ietf-netmod-acl-model] 1148 Jethanandani, M., Agarwal, S., Huang, L., and D. Blair, 1149 "Network Access Control List (ACL) YANG Data Model", 1150 draft-ietf-netmod-acl-model-21 (work in progress), 1151 November 2018. 1153 [I-D.ietf-rtgwg-lne-model] 1154 Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. 1155 Liu, "YANG Model for Logical Network Elements", draft- 1156 ietf-rtgwg-lne-model-10 (work in progress), March 2018. 1158 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1159 Requirement Levels", BCP 14, RFC 2119, 1160 DOI 10.17487/RFC2119, March 1997, 1161 . 1163 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1164 DOI 10.17487/RFC3688, January 2004, 1165 . 1167 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1168 (TLS) Protocol Version 1.2", RFC 5246, 1169 DOI 10.17487/RFC5246, August 2008, 1170 . 1172 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1173 the Network Configuration Protocol (NETCONF)", RFC 6020, 1174 DOI 10.17487/RFC6020, October 2010, 1175 . 1177 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1178 and A. Bierman, Ed., "Network Configuration Protocol 1179 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1180 . 1182 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1183 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1184 . 1186 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1187 Protocol (NETCONF) Access Control Model", RFC 6536, 1188 DOI 10.17487/RFC6536, March 2012, 1189 . 1191 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1192 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1193 . 1195 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1196 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1197 May 2017, . 1199 8.2. Informative References 1201 [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] 1202 Hu, S., Eastlake, D., Wang, Z., Qin, F., Li, Z., Song, J., 1203 and T. Chua, "Control-Plane and User-Plane Separation BNG 1204 Control Channel Protocol", draft-cuspdt-rtgwg-cu- 1205 separation-bng-protocol-03 (work in progress), November 1206 2018. 1208 [I-D.hu-nvo3-vxlan-gpe-extension-for-vbng] 1209 Hu, S., Qin, F., Li, Z., Wang, Z., and T. Ao, "VXLAN GPE 1210 Extension for Packets Exchange Between Control and User 1211 Plane of vBNG", draft-hu-nvo3-vxlan-gpe-extension-for- 1212 vbng-01 (work in progress), December 2018. 1214 Authors' Addresses 1216 Guangping Huang 1217 ZTE Corporation 1218 No.50, Software Avenue 1219 Nanjing, Jiangsu 210012 1220 China 1222 Email: huang.guangping@zte.com.cn 1224 Fangwei Hu 1225 ZTE Corporation 1226 No.889 Bibo Rd 1227 Shanghai 201203 1228 China 1230 Phone: +86 21 68896273 1231 Email: hu.fangwei@zte.com.cn 1232 Shujun Hu 1233 China Mobile 1234 32 Xuanwumen West Ave, Xicheng District 1235 Beijing 100053 1236 China 1238 Email: shujun_hu@outlook.com 1240 Fengwei Qin 1241 China Mobile 1242 32 Xuanwumen West Ave, Xicheng District 1243 Beijing, Beijing 100053 1244 China 1246 Email: qinfengwei@chinamobile.com