idnits 2.17.1 draft-cuspdt-rtgwg-cu-separation-yang-model-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 8 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 204 has weird spacing: '...w index uin...' == Line 213 has weird spacing: '...nterval uin...' == Line 215 has weird spacing: '...ivetime uin...' == Line 224 has weird spacing: '...xlan-id vxl...' == Line 242 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 (August 21, 2018) is 2074 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 == Outdated reference: A later version (-21) exists of draft-ietf-netmod-acl-model-19 ** 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-01 Summary: 3 errors (**), 0 flaws (~~), 11 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IETF RTGWG Fangwei Hu 3 Internet-Draft RongRong Hua 4 Intended status: Standards Track ZTE Corporation 5 Expires: February 22, 2019 Shujun Hu 6 Fengwei Qin 7 China Mobile 8 August 21, 2018 10 YANG Data Model for Configuration Interface of Control-Plane and User- 11 Plane separation BNG 12 draft-cuspdt-rtgwg-cu-separation-yang-model-00.txt 14 Abstract 16 This document defines the YANG data model for operation management of 17 Control-Plane and User-Plane separation BNG (Broadband Network 18 Gateway). 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on February 22, 2019. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Conventions used in this document . . . . . . . . . . . . . . 4 56 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 57 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 58 3. Design Tree . . . . . . . . . . . . . . . . . . . . . . . . . 4 59 3.1. Yang Data model through Management Interfaces . . . . . . 4 60 3.2. YANG Data Model for vBNG-CP . . . . . . . . . . . . . . . 6 61 3.3. YANG Data Model for vBNG-UP . . . . . . . . . . . . . . . 7 62 4. vBNG YANG Data Model . . . . . . . . . . . . . . . . . . . . 7 63 4.1. ietf-vbng module . . . . . . . . . . . . . . . . . . . . 7 64 4.2. ietf-vbng-cp module . . . . . . . . . . . . . . . . . . . 12 65 4.3. ietf-vbng-up module . . . . . . . . . . . . . . . . . . . 20 66 5. Security Considerations . . . . . . . . . . . . . . . . . . . 22 67 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 68 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 69 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 70 8.1. Normative References . . . . . . . . . . . . . . . . . . 25 71 8.2. Informative References . . . . . . . . . . . . . . . . . 26 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 74 1. Introduction 76 The main idea of BNG Control-Plane and User-Plane separation is to 77 extract and centralize the user management functions of multiple BNG 78 devices, forming an unified and centralized control plane (CP), while 79 the traditional router's Control Plane and forwarding plane are both 80 preserved on BNG devices in the form of a user plane (UP).We name the 81 control-Plane and User-plane separation BNG as vBNG. 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 and vBNG-UP: Service 117 interface, control interface and management interface. The service 118 interface is used to carry PPPoE/IPoE dialup packets between user 119 plane and control plane. The requirement and possible solution is 120 defined in the [I-D.huang-nvo3-vxlan-extension-for-vbras]. Control 121 interface is used for setting forwarding entries of user plane 122 through CUSP [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] or other 123 protocols. 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 vBNG-UP by network management directly, and the YANG data models for 130 BGN-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 vBNG: Virtualization Broadband Network Gateway. An vBNG is to 143 extract and centralize the user management functions of multiple BNG 144 devices, and to form an unified and centralized control plane (CP). 145 The vBNG devices include vBNG-UP and vBNG-CP. 147 vBNG-CP: vBNG Control Plane. The vBNG-CP is a user control 148 management component which support to manage UP's resources such as 149 the user entry and forwarding policy. 151 vBNG-UP: vBNG User Plane. vBNG-UP is a network edge and user policy 152 implementation component. 154 2.2. Requirements Language 156 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 157 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 158 "OPTIONAL" in this document are to be interpreted as described in BCP 159 14 [RFC2119] [RFC8174] when, and only when, they appear in all 160 capitals, as shown here. 162 3. Design Tree 164 3.1. Yang Data model through Management Interfaces 166 The vBNG-UP or vBNG-CP part can be a physical or virtualized network 167 element. The LNE model [I-D.ietf-rtgwg-lne-model] is augmented to 168 define the YANG data models for vBNG-UP and vBNG-CP in this document. 170 The YANG data model for vBNG through management interface includes 171 vBNG-UP interface configuration, control channel and service channel 172 configuration, ACL and QoS. 174 The vBNG-UP interface configuration is to configure the basic 175 interface informations of vBNG-UP element, such as interface name, 176 the VLAN parameters for the sub-interface. 178 The control channel is to configure the CUSP parameters. The control 179 channel parameters include: name, id, port, CUSP version, hello 180 interval, dead time, and keepalive time. 182 The VXLAN tunnel is the suggestion service interface protocol between 183 vBNG-CP and vBNG-UP. The VXLAN tunnel parameters include: tunnel- 184 source-ip,tunnel-destination-ip, vxlan-id, vxlan-tunnel-id, vxlan- 185 tunnel-name, etc. 187 The ACL information includes ipv4-acl,ipv6-acl,link-acl,etc. The 188 YANG data model for ACL refers to [I-D.ietf-netmod-acl-model] 190 The QoS information includes IP-DSCP, MPLS,VPLS, VPWS etc. The YANG 191 data model for QoS refers to [I-D.asechoud-rtgwg-qos-model] 193 module: ietf-vbng 194 augment /lne:logical-network-elements/lne:logical-network-element: 195 +--rw ietf-vbng 196 +--rw interfaces 197 | +--rw interface* [name] 198 | +--rw name if:interface-ref 199 | +--rw ethernet 200 | | +--rw lacp? boolean 201 | +--rw mac-offset? uint32 202 | +--rw vlans 203 | +--rw tag* [index] 204 | +--rw index uint8 205 | +--rw tag 206 | +--rw tag-type? string 207 | +--rw vlan-id? vlan-id 208 +--rw control-channel 209 | +--rw name? string 210 | +--rw id? uint32 211 | +--rw port? uint32 212 | +--rw version uint8 213 | +--rw hellointerval uint32 214 | +--rw deadtime uint32 215 | +--rw keepalivetime uint32 216 +--rw service-channel* [vxlan-tunnel-id] 217 | +--rw vxlan-tunnel-id uint32 218 | +--rw vxlan-tunnel-name? string 219 | +--rw address-family* [af] 220 | +--rw af address-family-type 221 | +--rw tunnel-source-ip? inet:ip-address 222 | +--rw tunnel-destination-ip? inet:ip-address 223 | +--rw bind-vxlan-id* [vxlan-id] 224 | +--rw vxlan-id vxlan-id 225 +--rw acl 226 ... ... 227 +--rw qos 228 ... ... 230 3.2. YANG Data Model for vBNG-CP 232 The ietf-vbng-cp module is to configure vBNG-CP. The YANG data model 233 includes: vbng-cp-name, netconf-server and PPPoE parameters, etc. 235 module: ietf-vbng-cp 236 augment /lne:logical-network-elements/lne:logical-network-element: 237 +--rw ietf-vbng-cp 238 +--rw vbng-cp-name? string 239 +--rw enable? boolean 240 +--rw netconf-server! 241 | +--rw address-family* [af] 242 | | +--rw af address-family-type 243 | | +--rw ip inet:ip-address 244 | +--rw user-name? string 245 | +--rw password? string 246 | +--rw port? uint32 247 +--rw vbng-pppoe 248 +--rw pppoe-switch 249 | +--rw delay-time? uint16 250 | +--rw keepalive-timer? enumeration 251 | +--rw ppp-max-payload? enumeration 252 | +--rw service? enumeration 253 | +--rw ppp-mru-verify? enumeration 254 | +--rw keepalive-fast-reply? enumeration 255 +--rw pppoe-cfg* [template] 256 +--rw template uint32 257 +--rw ppp-authentication? enumeration 258 +--rw ppp-check-magic-num? enumeration 259 +--rw ppp-mru? uint32 260 +--rw pppoe-ac-name? string 261 +--rw pppoe-service-name-omit? enumeration 262 +--rw pppoe-ac-cookie-check? enumeration 263 +--rw pppoe-password-string? string 264 +--rw pppoe-username-string? string 265 +--rw (ppp-quick-redial)? 266 | +--:(quick-redial-disable) 267 | | +--rw ppp-quick-redial-disable? enumeration 268 | +--:(fast-response) 269 | +--rw ppp-fast-response? enumeration 270 | +--rw ppp-quick-redial-enable? enumeration 271 +--rw ppp-keepalive 272 | +--rw ppp-keepalive-timer? uint32 273 | +--rw ppp-keepalive-count? uint16 274 +--rw ppp-timeout 275 +--rw ppp-timeout-negtimeoutsec? uint8 276 +--rw ppp-timeout-authentication? uint8 278 3.3. YANG Data Model for vBNG-UP 280 The ietf-vbng-up module is to configure the vBNG-UP. The YANG data 281 model includes: shelf-number, vbng-up-name, netconf-client and 282 keepalive-sink , etc. 284 module: ietf-vbng-up 285 augment /lne:logical-network-elements/lne:logical-network-element: 286 +--rw ietf-vbng-up 287 +--rw vbng-up* [shelf-no] 288 +--rw shelf-no uint8 289 +--rw vbng-up-name? string 290 +--rw netconf-client! 291 | +--rw address-family* [af] 292 | | +--rw af address-family-type 293 | | +--rw ip inet:ip-address 294 | +--rw user-name? string 295 | +--rw password? string 296 | +--rw port? uint32 297 +--rw keepalive-sink? enumeration 299 4. vBNG YANG Data Model 301 4.1. ietf-vbng module 303 file "ietf-vbng@2018-08-02.yang" 304 module ietf-vbng{ 305 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng"; 306 prefix "vbng"; 308 import ietf-inet-types { 309 prefix "inet"; 310 } 312 import ietf-interfaces { 313 prefix if; 314 } 316 import ietf-logical-network-element { 317 prefix lne; 318 } 320 organization 321 "IETF NETCONF Working Group"; 323 contact 324 " 325 WG List: 327 Editor: Fangwei Hu 328 329 "; 331 description 332 "The YANG module defines a generic configuration 333 model for vbng"; 335 revision 2018-08-02{ 336 description "Initial a new vbng control and user plane separation 337 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, 338 this module is ietf-vbng"; 339 reference 340 "draft-cuspdt-rtgwg-cu-separation-yang-model-00"; 341 } 343 /* Typedefs */ 345 typedef vlan-id { 346 type uint16 { 347 range "0..4094"; 348 } 349 description 350 "Typedef for VLAN ID."; 351 } 353 typedef vxlan-id { 354 type uint32; 355 description 356 "Typedef for VxLAN ID."; 357 } 359 typedef address-family-type { 360 type enumeration { 361 enum ipv4 { 362 description 363 "IPv4"; 364 } 365 enum ipv6 { 366 description 367 "IPv6"; 368 } 369 } 370 description 371 "Typedef for address family type."; 373 } 375 /* 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"; 385 } 386 container ethernet { 387 leaf lacp { 388 type boolean; 389 description "enable lacp function"; 390 } 391 description "configure ethernet interface"; 392 } 393 leaf mac-offset { 394 type uint32; 395 description "configure mac offset"; 396 } 397 container vlans { 398 list tag { 399 key index; 400 max-elements 2; 401 leaf index { 402 type uint8 { 403 range "0..1"; 404 } 405 must ". = 0 or 406 count(../../tag[index = 0]/index) > 0" { 407 error-message "An inner tag can only be specified if an 408 outer tag has also been specified"; 409 description "Ensure that an inner tag cannot be 410 specified without an outer tag'"; 411 } 413 description "The index into the tag stack, outermost tag 414 assigned index 0"; 415 } 417 container tag{ 418 leaf tag-type { 419 type string; 420 description "tag type"; 421 } 422 leaf vlan-id { 423 type vlan-id; 424 description "vlan id value"; 425 } 427 description "tag"; 428 } 429 description "tag list"; 430 } 431 description "vlans"; 432 } 433 description "interfaces list"; 434 } 435 description "interface container"; 436 } 438 container control-channel { 439 leaf name { 440 type string; 441 description "control channel protocol logical name"; 442 } 443 leaf id { 444 type uint32; 445 description "the cusp session id"; 446 } 447 leaf port { 448 type uint32; 449 description "cusp tcp connection port number"; 450 } 451 leaf version { 452 type uint8; 453 description "cusp version number"; 454 } 455 leaf hellointerval { 456 type uint32; 457 description "cusp hello interval"; 458 } 459 leaf deadtime { 460 type uint32; 461 description "cusp dead time"; 462 } 463 leaf keepalivetime { 464 type uint32; 465 description "cusp keepalive time"; 466 } 468 description "configure cusp parameters"; 470 } 472 list service-channel{ 473 key vxlan-tunnel-id; 474 leaf vxlan-tunnel-id { 475 type uint32; 476 description 477 "Static VxLAN tunnel ID."; 478 } 480 leaf vxlan-tunnel-name { 481 type string; 482 description 483 "Name of the static VxLAN tunnel."; 484 } 486 list address-family { 487 key "af"; 488 leaf af { 489 type address-family-type; 490 description 491 "Address family type value."; 492 } 494 leaf tunnel-source-ip { 495 type inet:ip-address; 496 description 497 "Source IP address for the static VxLAN tunnel"; 498 } 500 leaf tunnel-destination-ip { 501 type inet:ip-address; 502 description 503 "Destination IP address for the static VxLAN tunnel"; 504 } 506 list bind-vxlan-id { 507 key vxlan-id; 508 leaf vxlan-id { 509 type vxlan-id; 510 description 511 "VxLAN ID."; 512 } 513 description 514 "VxLAN ID list for the VTEP."; 515 } 517 description 518 "Per-af params."; 519 } 520 description 521 "Configure VxLAN channel"; 522 } 523 description "ietf-bng configuration!"; 524 } 525 description "augment lne model"; 526 } 527 } 528 530 4.2. ietf-vbng-cp module 532 file "ietf-vbng@2018-08-02.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: Fangwei Hu 557 558 "; 560 description 561 "The YANG module defines a generic configuration 562 model for vbng-cp"; 564 revision 2018-08-02{ 565 description "Initial a new vbng control and user plane separation 566 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this module 567 is ietf-vbng-cp"; 568 reference 569 "draft-cuspdt-rtgwg-cu-separation-yang-model-00"; 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 control plane and user plane 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 ; 626 } 627 description 'configure password, default: "who".'; 628 } 630 leaf port { 631 type uint32; 632 description 'Configure port.'; 633 } 634 description 'Configure netconf server.'; 635 } 636 container vbng-pppoe { 637 container pppoe-switch { 638 leaf delay-time { 639 type uint16 { 640 range 1..300 ; 641 } 642 description 'Trigger user offline when VCC phys-interface down'; 643 } 644 leaf keepalive-timer { 645 type enumeration { 646 enum start { 647 value 1 ; 648 description "start keepalive timer"; 649 } 650 enum stop { 651 value 0 ; 652 description "stop keepalive timer"; 653 } 654 } 655 default start ; 656 description 'Start or stop send keepalive packet'; 657 } 658 leaf ppp-max-payload { 659 type enumeration { 660 enum disable { 661 value 0 ; 662 description "disable ppp max payload"; 663 } 664 enum enable { 665 value 1 ; 666 description "enable ppp max payload"; 667 } 668 } 669 default disable ; 670 description 'Enable or disable pppoe ppp-max-payload'; 671 } 672 leaf service { 673 type enumeration { 674 enum advertise{ 675 value 1 ; 676 description "enable ppp service!"; 677 } 678 enum disable { 679 value 0 ; 680 description "disable ppp service!"; 681 } 682 } 683 default advertise ; 684 description 'Open or close pppoe service'; 685 } 686 leaf ppp-mru-verify { 687 type enumeration { 688 enum open { 689 value 1 ; 690 description "enable ppp mru verify!"; 691 } 692 enum close { 693 value 0 ; 694 description "disable ppp mru!"; 695 } 696 } 697 default close ; 698 description 'set ppp lcp mru verify when mru over 1492'; 699 } 701 leaf keepalive-fast-reply { 702 type enumeration { 703 enum enable { 704 value 1 ; 705 description 'Enable keepalive fast reply!'; 706 } 707 enum disable { 708 value 0 ; 709 description 'Disable keepalive fast reply!'; 710 } 711 } 712 description 'Set keepalive fast reply flag.'; 713 } 714 description 'Configuration about pppoe switch.'; 715 } 716 list pppoe-cfg { 717 key template ; 718 leaf template { 719 type uint32 { 720 range 1..1000 ; 721 } 722 description 'PPPoX template number'; 723 } 724 leaf ppp-authentication { 725 type enumeration { 726 enum pap { 727 value 1 ; 728 description "configure pap authentication!"; 729 } 730 enum chap { 731 value 2 ; 732 description "configure chap authentication!"; 733 } 734 enum mschapv1 { 735 value 6 ; 736 description "configure mschapv1 authentication!"; 737 } 738 enum mschapv2 { 739 value 7 ; 740 description "configure mschapv2 authentication!"; 741 } 742 enum pap-chap { 743 value 21 ; 744 description "configure pap-chap authentication!"; 745 } 746 } 747 default pap-chap ; 748 description 'Set ppp authentication'; 749 } 750 leaf ppp-check-magic-num { 751 type enumeration { 752 enum disable { 753 value 0 ; 754 description 'disable ppp magic check'; 755 } 756 enum enable { 757 value 1 ; 758 description 'enable ppp magic check'; 759 } 760 } 761 default enable ; 762 description 'Check magic number or not'; 763 } 764 leaf ppp-mru { 766 type uint32 { 767 range 320..9000 ; 768 } 769 default 1492 ; 770 description 'Set mru value'; 771 } 772 leaf pppoe-ac-name { 773 type string ; 774 description 'Set ac-name'; 775 } 776 leaf pppoe-service-name-omit { 777 type enumeration { 778 enum disable { 779 value 0 ; 780 description "disable pppoe service name omit"; 781 } 782 enum enable { 783 value 1 ; 784 description "enable pppoe service name omit"; 785 } 786 } 787 default disable ; 788 description 'Check service-name value'; 789 } 790 leaf pppoe-ac-cookie-check { 791 type enumeration { 792 enum disable { 793 value 0 ; 794 description "disable pppoe ac cookie check"; 795 } 796 enum enable { 797 value 1 ; 798 description "enable pppoe ac cookie check"; 799 } 800 } 801 default enable ; 802 description 'Check options'; 803 } 804 leaf pppoe-password-string { 805 type string ; 806 description 'Set authen fail password error string'; 807 } 808 leaf pppoe-username-string { 809 type string ; 810 description 'Set authen fail username error string'; 811 } 813 choice ppp-quick-redial { 814 case quick-redial-disable { 815 leaf ppp-quick-redial-disable { 816 type enumeration { 817 enum disable { 818 value 0 ; 819 description "disable ppp quick redial"; 820 } 821 } 822 default disable ; 823 description 'disable quick-redial'; 824 } 825 description 'disable quick-redial'; 826 } 827 case fast-response { 828 leaf ppp-fast-response { 829 type enumeration { 830 enum diable { 831 value 0 ; 832 description "disable ppp fast response"; 833 } 834 enum enable { 835 value 1 ; 836 description "enable ppp fast response"; 837 } 838 } 839 description 'set Response the access request immediately'; 840 } 841 leaf ppp-quick-redial-enable { 842 type enumeration { 843 enum enable { 844 value 1 ; 845 description "enable ppp quick redial"; 846 } 847 } 848 default enable ; 849 description 'Enable quick-redial'; 850 } 851 description 'set quick-redial or Response the access request immediately'; 852 } 853 default quick-redial-disable ; 854 description 'Enable or disable quick-redial'; 855 } 856 container ppp-keepalive { 857 leaf ppp-keepalive-timer { 858 type uint32 { 859 range 10..14400 ; 860 } 861 default 60 ; 862 description 'Set keepalive time(unit:seconds)'; 863 } 864 leaf ppp-keepalive-count { 865 type uint16 { 866 range 1..10 ; 867 } 868 default 3 ; 869 description 'Set keepalive counter'; 870 } 871 description 'Set keepalive time and counter'; 872 } 873 container ppp-timeout { 874 leaf ppp-timeout-negtimeoutsec { 875 type uint8 { 876 range 1..10 ; 877 } 878 default 3 ; 879 description 'Set ppp negtimeoutsec timeout(unit:seconds)'; 880 } 881 leaf ppp-timeout-authentication { 882 type uint8 { 883 range 1..10 ; 884 } 885 default 3 ; 886 description 'Set ppp authentication timeout(unit:seconds)'; 887 } 888 description 'Set ppp negtimeoutsec and authentication timeout'; 889 } 890 description 'Configuration pppoe template'; 891 } 892 description 'Configuration vBRAS PPPoE.'; 893 } 894 description "configure bng-cp"; 895 } 896 description "ietf-bng configuration!"; 897 } 898 description "augment lne model"; 899 } 900 902 4.3. ietf-vbng-up module 904 module ietf-vbng-up{ 905 namespace "urn:ietf:params:xml:ns:yang:ietf-vbng-up"; 906 prefix "vbng-up"; 908 import ietf-inet-types { 909 prefix "inet"; 910 } 912 import ietf-logical-network-element { 913 prefix lne; 914 } 916 organization 917 "IETF NETCONF Working Group"; 919 contact 920 " 921 WG List: 923 Editor: Fangwei Hu 924 925 "; 927 description 928 "The YANG module defines a generic configuration 929 model for vbng"; 931 revision 2018-08-02{ 932 description "Initial a new vbng control and user plane separation 933 yang data model, the yang data model includes ietf-vbng, ietf-vbng-cp,and ietf-vbng-up, this module 934 is ietf-vbng-up"; 935 reference 936 "draft-cuspdt-rtgwg-cu-separation-yang-model-00"; 937 } 939 /* Typedefs */ 941 typedef address-family-type { 942 type enumeration { 943 enum ipv4 { 944 description 945 "IPv4"; 946 } 947 enum ipv6 { 948 description 949 "IPv6"; 950 } 951 } 952 description 953 "Typedef for address family type."; 954 } 956 /* Configuration Data */ 958 augment /lne:logical-network-elements/lne:logical-network-element { 959 container ietf-vbng-up{ 960 list vbng-up { 961 key shelf-no ; 962 leaf shelf-no { 963 type uint8 { 964 range 1..127 ; 965 } 966 description 'Configure shelf-no of forwarder,1-127.'; 967 } 969 leaf vbng-up-name { 970 type string { 971 length 1..31 ; 972 } 973 description 'Configure bng up name.' ; 974 } 975 container netconf-client { 976 presence netconf-client ; 977 list address-family { 978 key "af"; 979 leaf af { 980 type address-family-type; 981 description 982 "Address family type value."; 983 } 984 leaf ip { 985 type inet:ip-address; 986 mandatory true ; 987 description 'Configure ip address of netconf server.'; 988 } 989 description "address family list"; 990 } 991 leaf user-name { 992 type string { 993 length 1..65 ; 994 } 995 description 'configure user name, default: "who".'; 996 } 997 leaf password { 998 type string { 999 length 3..32 ; 1000 } 1001 description 'configure password, default: "who".'; 1002 } 1004 leaf port { 1005 type uint32; 1006 description 'Configure port.'; 1007 } 1008 description 'Configure netconf server.'; 1009 } 1011 leaf keepalive-sink { 1012 type enumeration { 1013 enum enable { 1014 value 1 ; 1015 description 'enable the keepalive-sink function'; 1016 } 1017 enum disable { 1018 value 0 ; 1019 description 'disable keepalive-sink function'; 1020 } 1021 } 1022 description "configure keepalive-sink"; 1023 } 1024 description "configure vbng-up list"; 1025 } 1026 description "vbng-up configuration!"; 1027 } 1028 description "augment lne model"; 1029 } 1030 } 1031 1033 5. Security Considerations 1035 The YANG module specified in this document defines a schema for data 1036 that is designed to be accessed via network management protocols such 1037 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1038 is the secure transport layer, and the mandatory-to-implement secure 1039 transport is Secure Shell (SSH)[RFC6242]. The lowest RESTCONF layer 1040 is HTTPS, and the mandatory-to-implement secure transport is TLS 1041 [RFC5246]. 1043 The NETCONF access control model [RFC6536] provides the means to 1044 restrict access for particular NETCONF or RESTCONF users to a 1045 preconfigured subset of all available NETCONF or RESTCONF protocol 1046 operations and content. 1048 vBNG(vBNG-CP, vBNG-UP) represents device and network configuration 1049 information based on the LNE. As such, the security of this 1050 information is important, but it is fundamentally no different than 1051 any other interface or device configuration information that has 1052 already been covered in other documents such as 1053 [I-D.ietf-rtgwg-lne-model]. 1055 The vulnerable "config true" parameters and subtree are the 1056 following: 1058 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1059 interfaces: this subtree specifies vBNG-UP interface parameters 1060 configuration. Modify the configuration can cause the vBNG-UP 1061 interfaces disable. 1063 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1064 control-channel: this subtree specifies control channel parameters 1065 configuration. Modify the configuration can cause the CUSP protocol 1066 sessions interrupted among the vBNG-CPs and vBNG-UPs. 1068 lne:logical-network-elements/lne:logical-network-element/ietf-vbng/ 1069 service-channel: this subtree specifies the service channel 1070 parameters configuration among vbng user planes and control plane. 1071 Modify the configuration can cause the VxLAN session interrupted 1072 among vBGN-UPs and vBNG-CPs. 1074 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1075 cp/netconf-server: this subtree specifies netconf parameters of vBNG- 1076 CP. Modify the configuration can cause the netconf session among 1077 vBNG-CPs and vBNG-UPs interrupted. 1079 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1080 cp/vbng-pppoe: this subtree specifies PPPoE parameters of vBNG-CP. 1081 Modify the configuration can cause the PPPoE session interrupted. 1083 lne:logical-network-elements/lne:logical-network-element/ietf-vbng- 1084 cp/netconf-client: this subtree specifies netconf parameters of vBNG- 1085 UP. Modify the configuration can cause the netconf session among 1086 vBNG-CP and vBNG-UP interrupted. 1088 Unauthorized access to any of these lists can adversely affect the 1089 security of both the local device and the network. This may lead to 1090 network malfunctions, delivery of packets to inappropriate 1091 destinations, and other problems. 1093 6. Acknowledgements 1095 7. IANA Considerations 1097 This document registers three URI in the IETF XML registry [RFC3688]. 1098 Following the format in [RFC3688], the following registrations are 1099 requested to be made. 1101 URI: urn:ietf:params:xml:ns:yang:ietf-vbng. 1103 Registrant Contact: The IESG. 1105 XML: N/A, the requested URI is an XML namespace. 1107 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-cp. 1109 Registrant Contact: The IESG. 1111 XML: N/A, the requested URI is an XML namespace. 1113 URI: urn:ietf:params:xml:ns:yang:ietf-vbng-up. 1115 Registrant Contact: The IESG. 1117 XML: N/A, the requested URI is an XML namespace. 1119 This document registers three YANG modules in the YANG Module Names 1120 registry [RFC6020]. 1122 name: ietf-vbng 1123 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng 1124 prefix: vbng 1125 reference: RFC XXXX 1127 name: ietf-vbng 1128 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-cp 1129 prefix: vbng-cp 1130 reference: RFC XXXX 1132 name: ietf-vbng 1133 namespace: urn:ietf:params:xml:ns:yang:ietf-vbng-up 1134 prefix: vbng-up 1135 reference: RFC XXXX 1137 8. References 1139 8.1. Normative References 1141 [I-D.asechoud-rtgwg-qos-model] 1142 Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., 1143 and I. Chen, "YANG Model for QoS", draft-asechoud-rtgwg- 1144 qos-model-07 (work in progress), July 2018. 1146 [I-D.ietf-netmod-acl-model] 1147 Jethanandani, M., Huang, L., Agarwal, S., and D. Blair, 1148 "Network Access Control List (ACL) YANG Data Model", 1149 draft-ietf-netmod-acl-model-19 (work in progress), April 1150 2018. 1152 [I-D.ietf-rtgwg-lne-model] 1153 Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. 1154 Liu, "YANG Model for Logical Network Elements", draft- 1155 ietf-rtgwg-lne-model-10 (work in progress), March 2018. 1157 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1158 Requirement Levels", BCP 14, RFC 2119, 1159 DOI 10.17487/RFC2119, March 1997, 1160 . 1162 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1163 DOI 10.17487/RFC3688, January 2004, 1164 . 1166 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1167 (TLS) Protocol Version 1.2", RFC 5246, 1168 DOI 10.17487/RFC5246, August 2008, 1169 . 1171 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1172 the Network Configuration Protocol (NETCONF)", RFC 6020, 1173 DOI 10.17487/RFC6020, October 2010, 1174 . 1176 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1177 and A. Bierman, Ed., "Network Configuration Protocol 1178 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1179 . 1181 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1182 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1183 . 1185 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1186 Protocol (NETCONF) Access Control Model", RFC 6536, 1187 DOI 10.17487/RFC6536, March 2012, 1188 . 1190 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1191 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1192 . 1194 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1195 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1196 May 2017, . 1198 8.2. Informative References 1200 [I-D.cuspdt-rtgwg-cu-separation-bng-protocol] 1201 Hu, S., Wang, Z., Qin, F., Li, Z., Song, J., and T. Chua, 1202 "Control-Plane and User-Plane separation BNG control 1203 channel Protocol", draft-cuspdt-rtgwg-cu-separation-bng- 1204 protocol-01 (work in progress), July 2018. 1206 [I-D.huang-nvo3-vxlan-extension-for-vbras] 1207 Huang, L. and S. Hu, "VxLAN Extension Requirement for 1208 Signaling Exchange Between Control and User Plane of 1209 vBras", draft-huang-nvo3-vxlan-extension-for-vbras-00 1210 (work in progress), March 2017. 1212 Authors' Addresses 1214 Fangwei Hu 1215 ZTE Corporation 1216 No.889 Bibo Rd 1217 Shanghai 201203 1218 China 1220 Phone: +86 21 68896273 1221 Email: hu.fangwei@zte.com.cn 1223 RongRong Hua 1224 ZTE Corporation 1225 No.50 Software Avenue,Yuhuatai District 1226 Nanjing, Jiangsu Province 210012 1227 China 1229 Email: hua.rongrong@zte.com.cn 1230 Shujun Hu 1231 China Mobile 1232 32 Xuanwumen West Ave, Xicheng District 1233 Beijing 100053 1234 China 1236 Email: shujun_hu@outlook.com 1238 Fengwei Qin 1239 China Mobile 1240 32 Xuanwumen West Ave, Xicheng District 1241 Beijing, Beijing 100053 1242 China 1244 Email: qinfengwei@chinamobile.com