idnits 2.17.1 draft-zhang-nvo3-yang-cfg-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 15 instances of too long lines in the document, the longest one being 24 characters in excess of 72. ** There are 54 instances of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 194 has weird spacing: '...peer-ip ine...' == Line 197 has weird spacing: '...peer-ip ine...' == Line 199 has weird spacing: '...t-group ine...' == Line 208 has weird spacing: '...pn-name pub...' == Line 234 has weird spacing: '...peer-ip ine...' == (3 more instances...) -- The document date (December 16, 2018) is 1930 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.zhang-nvo3-yang-active-active' is defined on line 993, but no explicit reference was found in the text == Unused Reference: 'I-D.sridharan-virtualization-nvgre' is defined on line 997, but no explicit reference was found in the text ** Downref: Normative reference to an Informational draft: draft-ietf-nvo3-overlay-problem-statement (ref. 'RFC7364') ** Downref: Normative reference to an Informational draft: draft-ietf-nvo3-framework (ref. 'RFC7365') -- Possible downref: Normative reference to a draft: ref. 'I-D.ietf-nvo3-dataplane-requirements' ** Downref: Normative reference to an Informational RFC: RFC 7348 -- No information found for draft-zhang-nvo3-yang-active-active - is the name correct? Summary: 5 errors (**), 0 flaws (~~), 9 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 INTERNET-DRAFT Mingui Zhang 3 Intended Status: Standards Track Yuan Gao 4 Haibo Wang 5 Huawei 6 Fu Qiao 7 China Mobile 8 Expires: June 18, 2016 December 16, 2018 10 YANG Data Model for NVO3 Protocols 11 draft-zhang-nvo3-yang-cfg-04.txt 13 Abstract 15 This document describes the base YANG data model that can be used by 16 operators to configure and manage NVO3 protocols. 18 Status of this Memo 20 This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that 25 other groups may also distribute working documents as 26 Internet-Drafts. 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 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/1id-abstracts.html 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html 39 Copyright and License Notice 41 Copyright (c) 2015 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 2. Acronyms and Terminology . . . . . . . . . . . . . . . . . . . 3 58 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 60 3. The YANG Data Model for NVO3 . . . . . . . . . . . . . . . . . 3 61 3.1. The Configuration Parameters . . . . . . . . . . . . . . . 3 62 3.1.1. NVE ID . . . . . . . . . . . . . . . . . . . . . . . . 4 63 3.1.2. Virtual Network Instance . . . . . . . . . . . . . . . 4 64 3.1.3. Flags in the Header . . . . . . . . . . . . . . . . . . 4 65 3.1.4. BUM Mode . . . . . . . . . . . . . . . . . . . . . . . 5 66 3.2. Statistics . . . . . . . . . . . . . . . . . . . . . . . . 5 67 3.3. Model Structure . . . . . . . . . . . . . . . . . . . . . . 5 68 3.4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . 8 69 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 21 70 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 21 71 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 21 72 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 73 6.1. Normative References . . . . . . . . . . . . . . . . . . . 22 74 6.2. Informative References . . . . . . . . . . . . . . . . . . 22 75 Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23 77 1. Introduction 79 Network Virtualization Overlays (NVO3) enable network virtualization 80 for data center networks environment that assumes an IP-based 81 underlay. 83 YANG [RFC6020] is a data definition language that was introduced to 84 define the contents of a conceptual data store that allows networked 85 devices to be managed using NETCONF [RFC6241]. This document 86 specifies a YANG data model that can be used to configure and manage 87 NVO3 protocols. The model covers the configuration of preliminary 88 NVO3 instances as well as their operation states. We call it the base 89 model for NVO3 in this document. 91 Two default data plane encapsulation techniques for NVO3 are 92 incorporated in the base module. It allows other possible 93 encapsulations developed in the industry later on to be included by 94 introducing a new encapsulation as a new 'choice'. As new solutions 95 for NVO3 are developed, corresponding YANG data modules may be 96 specified. The base module can be augmented to accommodate these new 97 solutions. 99 2. Acronyms and Terminology 101 2.1. Acronyms 103 NVO3: Network Virtualization Overlays 104 VNI: Virtual Network Instance 105 BUM: Broadcast, Unknown Unicast, Multicast traffic 107 2.2. Terminology 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 111 document are to be interpreted as described in RFC 2119 [RFC2119]. 113 Familiarity with [RFC7364], [RFC7365], [I-D.ietf-nvo3-dataplane- 114 requirements] and [RFC7348] is assumed in this document. 116 3. The YANG Data Model for NVO3 118 The NVO3 base YANG module is divided in three containers. The first 119 container contains writable parameters. The second container contains 120 the writable enablers per VNI for the statistical operational states 121 as well as the status of these enablers. The third container contains 122 the statistical operational states. 124 3.1. The Configuration Parameters 125 3.1.1. NVE ID 127 The 'nvo3Nves' list contains NVEs under the management. The NVE is 128 identified using the 'srcAddr', which is the underlay IP address of 129 the NVE. 131 3.1.2. Virtual Network Instance 133 A Virtual Network Instance ('VNI') is a specific VN instance on an 134 NVE [RFC7365]. At each NVE, a Tenant System is connect to VNIs 135 through Virtual Access Points (VAP). VAPs can be physical ports or 136 virtual ports identified by the bridge domain Identifier ('bdId'). 137 The mapping between VNI and bdId is managed by the operator. 139 3.1.3. Flags in the Header 141 Flags in the NVO3 header are to be configured. For VxLAN, the I bit 142 of 'flag' MUST be set to 1 while other 7 bits are reserved and MUST 143 be set to zero on transmission and ignored on receipt. For NVGRE, 144 bits in position 0 and 3 MUST be set to zero. The bit in position 2 145 MUST be set to 1. Bits from position 4 through 12 are reserved and 146 MUST be set to zero on transmission and ignored on receipt. 148 3.1.4. BUM Mode 150 An NVE SHOULD support either ingress replication or point to 151 multipoint tunnels [I-D.ietf-nvo3-dataplane-requirements] on a per- 152 VNI basis. It is possible that both modes be used simultaneously in 153 one NVO3 network by different NVEs. 155 If ingress replication is used, the receiver addresses are listed in 156 'peerAddr'. If the choice is point to multipoint tunnels, the 157 multicast address is given as 'multiAddr'. 159 3.2. Statistics 161 Operators can determine whether a NVE should gather statistic values 162 on a per-VNI base. The enablers are contained in the 'nvo3Info' list 163 as 'statisticsEnable' leaf. 165 If the gathering for a VNI is enabled, the statistical information 166 about the local NVEs, the remote NVEs, the flows and the MAC 167 addresses will be collected by the NVEs in this VNI. 169 3.3. Model Structure 171 module: ietf-vxlan 172 +--rw vxlan 173 +--rw common 174 | +--rw vxlan-enable? boolean 175 +--rw nves 176 | +--rw nve* [if-name source-interface] 177 | +--rw if-name pub-type:ifName 178 | +--rw vtep-ip? inet:ipv4-address-no-zone 179 | +--rw ipv6-vtep-ip? inet:ipv6-address-no-zone 180 | +--rw source-interface pub-type:ifName 181 | +--rw mac-address? pub-type:macAddress 182 | +--rw bypass-vtep-ip? inet:ipv4-address-no-zone 183 | +--rw vni-members 184 | | +--rw vni-member* [vni-id] 185 | | +--rw vni-id uint32 186 | | +--rw protocol-bgp? protocolType 187 | | +--rw peers 188 | | | +--rw peer* [peer-ip] 189 | | | +--rw peer-ip inet:ipv4-address-no-zone 190 | | | +--rw out-vni-id? uint32 191 | | | +--rw split-horizon-group? string 192 | | +--rw ipv6-peers 193 | | | +--rw ipv6-peer* [ipv6-peer-ip] 194 | | | +--rw ipv6-peer-ip inet:ipv6-address-no-zone 195 | | +--rw flood-proxys 196 | | | +--rw flood-proxy* [peer-ip] 197 | | | +--rw peer-ip inet:ipv4-address-no-zone 198 | | +--rw mcast-group* [mcast-group] 199 | | +--rw mcast-group inet:ipv4-address-no-zone 200 | +--rw vni-map-l2vpns 201 | | +--rw vni-map-l2vpn* [vni-id] 202 | | +--rw l2vpn-id uint32 203 | | +--rw l2vpn-name? string 204 | | +--rw vni-id uint32 205 | | +--rw split-horizon-group? string 206 | +--rw vni-map-l3vpns 207 | | +--rw vni-map-l3vpn* [l3vpn-name] 208 | | +--rw l3vpn-name pub-type:vrfName 209 | | +--rw vni-id? uint32 210 | +--ro vni-statistics-infos 211 | | +--ro vni-statistic-info* [vni-id] 212 | | +--ro vni-id uint32 213 | | +--ro vni-statistics 214 | | +--ro rx-bits-persec? uint64 215 | | +--ro rx-pkts-persec? uint64 216 | | +--ro tx-bits-persec? uint64 217 | | +--ro tx-pkts-persec? uint64 218 | | +--ro rx-pkts? uint64 219 | | +--ro rx-bytes? uint64 220 | | +--ro tx-pkts? uint64 221 | | +--ro tx-bytes? uint64 222 | | +--ro rx-unicast-pkts? uint64 223 | | +--ro rx-multicast-pkts? uint64 224 | | +--ro rx-broadcast-pkts? uint64 225 | | +--ro drop-unicast-pkts? uint64 226 | | +--ro drop-multicast-pkts? uint64 227 | | +--ro drop-broadcast-pkts? uint64 228 | | +--ro tx-unicast-pkts? uint64 229 | | +--ro tx-multicast-pkts? uint64 230 | | +--ro tx-broadcast-pkts? uint64 231 | +--rw vnipeer-statistics-cfgs 232 | | +--rw vnipeer-satistics-cfg* [vni-id peer-ip] 233 | | +--rw vni-id uint32 234 | | +--rw peer-ip inet:ipv4-address-no-zone 235 | +--ro vnipeer-statistics-infos 236 | | +--ro vnipeer-satistics-info* [vni-id source-ip peer-ip] 237 | | +--ro vni-id uint32 238 | | +--ro source-ip inet:ipv4-address-no-zone 239 | | +--ro peer-ip inet:ipv4-address-no-zone 240 | | +--ro vnipeer_statistics 241 | | +--ro rx-bits-persec? uint64 242 | | +--ro rx-pkts-persec? uint64 243 | | +--ro tx-bits-persec? uint64 244 | | +--ro tx-pkts-persec? uint64 245 | | +--ro rx-pkts? uint64 246 | | +--ro rx-bytes? uint64 247 | | +--ro tx-pkts? uint64 248 | | +--ro tx-bytes? uint64 249 | | +--ro rx-unicast-pkts? uint64 250 | | +--ro rx-multicast-pkts? uint64 251 | | +--ro rx-broadcast-pkts? uint64 252 | | +--ro drop-unicast-pkts? uint64 253 | | +--ro drop-multicast-pkts? uint64 254 | | +--ro drop-broadcast-pkts? uint64 255 | | +--ro tx-unicast-pkts? uint64 256 | | +--ro tx-multicast-pkts? uint64 257 | | +--ro tx-broadcast-pkts? uint64 258 | +--rw ipv6-vnipeer-statistics-cfgs 259 | | +--rw ipv6-vnipeer-statistics-cfg* [vni-id ipv6-source-ip ipv6-peer-ip] 260 | | +--rw vni-id uint32 261 | | +--rw ipv6-source-ip inet:ipv6-address-no-zone 262 | | +--rw ipv6-peer-ip inet:ipv6-address-no-zone 263 | +--ro ipv6-vnipeer-statistics-infos 264 | +--ro ipv6-vnipeer-statistics-info* [vniId ipv6-source-ip ipv6-peer-ip] 265 | +--ro vniId uint32 266 | +--ro ipv6-source-ip inet:ipv6-address-no-zone 267 | +--ro ipv6-peer-ip inet:ipv6-address-no-zone 268 | +--ro ipv6_vnipeer_statistics 269 | +--ro rx-bits-persec? uint64 270 | +--ro rx-pkts-persec? uint64 271 | +--ro tx-bits-persec? uint64 272 | +--ro tx-pkts-persec? uint64 273 | +--ro rx-pkts? uint64 274 | +--ro rx-bytes? uint64 275 | +--ro tx-pkts? uint64 276 | +--ro tx-bytes? uint64 277 | +--ro rx-unicast-pkts? uint64 278 | +--ro rx-multicast-pkts? uint64 279 | +--ro rx-broadcast-pkts? uint64 280 | +--ro drop-unicast-pkts? uint64 281 | +--ro drop-multicast-pkts? uint64 282 | +--ro drop-broadcast-pkts? uint64 283 | +--ro tx-unicast-pkts? uint64 284 | +--ro tx-multicast-pkts? uint64 285 | +--ro tx-broadcast-pkts? uint64 286 +--ro vnipeer-infos 287 | +--ro vnipeer-info* [vni-id source-ip peer-ip] 288 | +--ro vni-id uint32 289 | +--ro source-ip inet:ip-address-no-zone 290 | +--ro peer-ip inet:ip-address-no-zone 291 | +--ro type? peerType 292 | +--ro out-vni-id? uint32 293 +--rw vni-infos 294 | +--rw vni_info* [vni-id] 295 | +--rw vni-id uint32 296 | +--rw statistics-enable? vniStatisticsEnable 297 +--ro tunnel-infos 298 +--ro tunnel-infos* [tunnel-id] 299 +--ro tunnel-id uint32 300 +--ro source-ip? inet:ip-address-no-zone 301 +--ro peer-ip? inet:ip-address-no-zone 302 +--ro status? tunnelStatus 303 +--ro type? tunnelType 304 +--ro up-time? string 305 +--ro vrf-name? pub-type:vrfName 307 Figure 3.1. The tree structure of YANG module for vxlan configuration 309 3.4. YANG Module 311 file "ietf-vxlan-base@2018-12-18.yang" 313 module ietf-vxlan-base { 314 namespace "urn:ietf:params:xml:ns:yang:ietf-vxlan-base"; 315 //namespace need to be assigned by IANA 316 prefix "vxlan"; 317 import ietf-inet-types { 318 prefix "inet"; 319 } 320 organization "IETF NVO3 Working Group"; 321 contact "zhangmingui@huawei.com 322 sean.gao@huawei.com"; 323 description "vxlan yang module"; 324 revision "2015-12-16" { 325 description 326 "Initial version"; 327 reference "RFC 7364"; 328 } 330 container vxlan { 331 container common { 332 leaf vxlan-enable { 333 type boolean; 334 default "false"; 335 description 336 "Enable/Disable VXLAN featrue"; 337 } 338 } 339 container nves { 340 list nve { 341 key "if-name source-interface"; 342 ext:entry-from "system"; 343 leaf if-name { 344 type pub-type:ifName; 345 description 346 "nve interface name"; 347 } 348 leaf vtep-ip { 349 type inet:ipv4-address-no-zone; 350 description 351 "vxlan tunnel source address"; 352 ext:allowDelete "true"; 353 } 354 leaf ipv6-vtep-ip { 355 type inet:ipv6-address-no-zone; 356 description 357 "ipv6 vxlan tunnel source address"; 358 ext:allowDelete "true"; 359 } 360 leaf source-interface { 361 type pub-type:ifName; 362 description 363 "source interface"; 364 } 365 leaf mac-address { 366 type pub-type:macAddress; 367 description 368 "mac address"; 369 ext:allowDelete "true"; 370 } 371 leaf bypass-vtep-ip { 372 type inet:ipv4-address-no-zone; 373 description 374 "bypass vxlan tunnel source address"; 375 ext:allowDelete "true"; 376 } 377 container vni-members { 378 list vni-member { 379 key "vni-id"; 380 description 381 "nve vni member"; 382 leaf vni-id { 383 type uint32 { 384 range "1..16777215"; 385 } 386 description 387 "Associate VXLAN VNIs (Virtual Network Identifiers) with the NVE interface."; 388 } 389 leaf protocol-bgp { 390 type protocolType; 391 default "null"; 392 description 393 "Enables BGP EVPN with ingress replication for the VNI."; 394 ext:allowDelete "true"; 395 } 396 container peers { 397 list peer { 398 key "peer-ip"; 399 leaf peer-ip { 400 type inet:ipv4-address-no-zone; 401 description 402 "peer ip address"; 403 } 404 leaf out-vni-id { 405 type uint32 { 406 range "1..16777215"; 407 } 408 description 409 "out vni id"; 410 ext:allowDelete "true"; 411 } 412 leaf split-horizon-group { 413 type string { 414 length "1..31"; 415 } 416 description 417 "split group name"; 418 ext:allowDelete "true"; 419 } 420 } 421 } 422 container ipv6-peers { 423 list ipv6-peer { 424 key "ipv6-peer-ip"; 425 leaf ipv6-peer-ip { 426 type inet:ipv6-address-no-zone; 427 description 428 "peer ipv6 address"; 430 } 431 } 432 } 433 container flood-proxys { 434 list flood-proxy { 435 key "peer-ip"; 436 leaf peer-ip { 437 type inet:ipv4-address-no-zone; 438 description 439 "peer ip address"; 440 } 441 } 442 } 443 list mcast-group { 444 key "mcast-group"; 445 leaf mcast-group { 446 type inet:ipv4-address-no-zone; 447 description 448 "mcast ip address"; 449 } 450 } 451 } 452 } 453 container vni-map-l2vpns { 454 list vni-map-l2vpn { 455 key "vni-id"; 456 leaf l2vpn-id { 457 type uint32 { 458 range "1..16777215"; 459 } 460 mandatory true; 461 description 462 "l2vpn id"; 463 } 464 leaf l2vpn-name { 465 type string { 466 length "1..31"; 467 } 468 description 469 "l2vpn name"; 470 ext:allowDelete "true"; 471 } 472 leaf vni-id { 473 type uint32 { 474 range "1..16777215"; 475 } 476 description 477 "vni id"; 478 } 479 leaf split-horizon-group { 480 type string { 481 length "1..31"; 482 } 483 description 484 "split group name"; 485 ext:allowDelete "true"; 486 } 487 } 488 } 489 container vni-map-l3vpns { 490 list vni-map-l3vpn { 491 key "l3vpn-name"; 492 leaf l3vpn-name { 493 type pub-type:vrfName; 494 description 495 "l3vpn name"; 496 } 497 leaf vni-id { 498 type uint32 { 499 range "1..16777215"; 500 } 501 description 502 "vni id"; 503 ext:allowDelete "true"; 504 } 505 } 506 } 507 container vni-statistics-infos { 508 config false; 509 list vni-statistic-info { 510 key "vni-id"; 511 config false; 512 leaf vni-id { 513 type uint32 { 514 range "1..16777215"; 515 } 516 config false; 517 description 518 "vni id"; 519 } 520 container vni-statistics { 521 config false; 522 leaf rx-bits-persec { 523 type uint64; 524 config false; 525 } 526 leaf rx-pkts-persec { 527 type uint64; 528 config false; 529 } 530 leaf tx-bits-persec { 531 type uint64; 532 config false; 533 } 534 leaf tx-pkts-persec { 535 type uint64; 536 config false; 537 } 538 leaf rx-pkts { 539 type uint64; 540 config false; 541 } 542 leaf rx-bytes { 543 type uint64; 544 config false; 545 } 546 leaf tx-pkts { 547 type uint64; 548 config false; 549 } 550 leaf tx-bytes { 551 type uint64; 552 config false; 553 } 554 leaf rx-unicast-pkts { 555 type uint64; 556 config false; 557 } 558 leaf rx-multicast-pkts { 559 type uint64; 560 config false; 561 } 562 leaf rx-broadcast-pkts { 563 type uint64; 564 config false; 565 } 566 leaf drop-unicast-pkts { 567 type uint64; 568 config false; 569 } 570 leaf drop-multicast-pkts { 571 type uint64; 572 config false; 573 } 574 leaf drop-broadcast-pkts { 575 type uint64; 576 config false; 577 } 578 leaf tx-unicast-pkts { 579 type uint64; 580 config false; 581 } 582 leaf tx-multicast-pkts { 583 type uint64; 584 config false; 585 } 586 leaf tx-broadcast-pkts { 587 type uint64; 588 config false; 589 } 590 } 591 } 592 } 593 container vnipeer-statistics-cfgs { 594 list vnipeer-satistics-cfg { 595 key "vni-id peer-ip"; 596 leaf vni-id { 597 type uint32 { 598 range "1..16777215"; 599 } 600 description 601 "vni id"; 602 } 603 leaf peer-ip { 604 type inet:ipv4-address-no-zone; 605 } 606 } 607 } 608 container vnipeer-statistics-infos { 609 config false; 610 list vnipeer-satistics-info { 611 key "vni-id source-ip peer-ip"; 612 config false; 613 leaf vni-id { 614 type uint32 { 615 range "0..16777215"; 616 } 617 config false; 618 description 619 "vni id"; 620 } 621 leaf source-ip { 622 type inet:ipv4-address-no-zone; 623 config false; 624 } 625 leaf peer-ip { 626 type inet:ipv4-address-no-zone; 627 config false; 628 } 629 container vnipeer_statistics { 630 config false; 631 leaf rx-bits-persec { 632 type uint64; 633 config false; 634 } 635 leaf rx-pkts-persec { 636 type uint64; 637 config false; 638 } 639 leaf tx-bits-persec { 640 type uint64; 641 config false; 642 } 643 leaf tx-pkts-persec { 644 type uint64; 645 config false; 646 } 647 leaf rx-pkts { 648 type uint64; 649 config false; 650 } 651 leaf rx-bytes { 652 type uint64; 653 config false; 654 } 655 leaf tx-pkts { 656 type uint64; 657 config false; 658 } 659 leaf tx-bytes { 660 type uint64; 661 config false; 662 } 663 leaf rx-unicast-pkts { 664 type uint64; 665 config false; 666 } 667 leaf rx-multicast-pkts { 668 type uint64; 669 config false; 671 } 672 leaf rx-broadcast-pkts { 673 type uint64; 674 config false; 675 } 676 leaf drop-unicast-pkts { 677 type uint64; 678 config false; 679 } 680 leaf drop-multicast-pkts { 681 type uint64; 682 config false; 683 } 684 leaf drop-broadcast-pkts { 685 type uint64; 686 config false; 687 } 688 leaf tx-unicast-pkts { 689 type uint64; 690 config false; 691 } 692 leaf tx-multicast-pkts { 693 type uint64; 694 config false; 695 } 696 leaf tx-broadcast-pkts { 697 type uint64; 698 config false; 699 } 700 } 701 } 702 } 703 container ipv6-vnipeer-statistics-cfgs { 704 list ipv6-vnipeer-statistics-cfg { 705 key "vni-id ipv6-source-ip ipv6-peer-ip"; 706 leaf vni-id { 707 type uint32 { 708 range "1..16777215"; 709 } 710 description 711 "vni id"; 712 } 713 leaf ipv6-source-ip { 714 type inet:ipv6-address-no-zone; 715 } 716 leaf ipv6-peer-ip { 717 type inet:ipv6-address-no-zone; 718 } 720 } 721 } 722 container ipv6-vnipeer-statistics-infos { 723 config false; 724 list ipv6-vnipeer-statistics-info { 725 key "vniId ipv6-source-ip ipv6-peer-ip"; 726 config false; 727 leaf vniId { 728 type uint32 { 729 range "1..16777215"; 730 } 731 config false; 732 description 733 "vni id"; 734 } 735 leaf ipv6-source-ip { 736 type inet:ipv6-address-no-zone; 737 config false; 738 } 739 leaf ipv6-peer-ip { 740 type inet:ipv6-address-no-zone; 741 config false; 742 } 743 container ipv6_vnipeer_statistics { 744 config false; 745 leaf rx-bits-persec { 746 type uint64; 747 config false; 748 } 749 leaf rx-pkts-persec { 750 type uint64; 751 config false; 752 } 753 leaf tx-bits-persec { 754 type uint64; 755 config false; 756 } 757 leaf tx-pkts-persec { 758 type uint64; 759 config false; 760 } 761 leaf rx-pkts { 762 type uint64; 763 config false; 764 } 765 leaf rx-bytes { 766 type uint64; 767 config false; 769 } 770 leaf tx-pkts { 771 type uint64; 772 config false; 773 } 774 leaf tx-bytes { 775 type uint64; 776 config false; 777 } 778 leaf rx-unicast-pkts { 779 type uint64; 780 config false; 781 } 782 leaf rx-multicast-pkts { 783 type uint64; 784 config false; 785 } 786 leaf rx-broadcast-pkts { 787 type uint64; 788 config false; 789 } 790 leaf drop-unicast-pkts { 791 type uint64; 792 config false; 793 } 794 leaf drop-multicast-pkts { 795 type uint64; 796 config false; 797 } 798 leaf drop-broadcast-pkts { 799 type uint64; 800 config false; 801 } 802 leaf tx-unicast-pkts { 803 type uint64; 804 config false; 805 } 806 leaf tx-multicast-pkts { 807 type uint64; 808 config false; 809 } 810 leaf tx-broadcast-pkts { 811 type uint64; 812 config false; 813 } 814 } 815 } 816 } 818 } 819 } 820 container vnipeer-infos { 821 config false; 822 list vnipeer-info { 823 key "vni-id source-ip peer-ip"; 824 config false; 825 leaf vni-id { 826 type uint32 { 827 range "1..16777215"; 828 } 829 config false; 830 description 831 "vni-id"; 832 } 833 leaf source-ip { 834 type inet:ip-address-no-zone; 835 config false; 836 description 837 "source ip"; 838 } 839 leaf peer-ip { 840 type inet:ip-address-no-zone; 841 config false; 842 description 843 "peer ip"; 844 } 845 leaf type { 846 type peerType; 847 config false; 848 description 849 "tunnel type"; 850 } 851 leaf out-vni-id { 852 type uint32 { 853 range "1..16777215"; 854 } 855 config false; 856 description 857 "out vni id"; 858 } 859 } 860 } 861 container vni-infos { 862 list vni_info { 863 key "vni-id"; 864 leaf vni-id { 865 type uint32 { 866 range "1..16777215"; 867 } 868 description 869 "vni id"; 870 } 871 leaf statistics-enable { 872 type vniStatisticsEnable; 873 default "disable"; 874 ext:allowDelete "true"; 875 } 876 } 877 } 878 container tunnel-infos { 879 config false; 880 list tunnel-infos { 881 key "tunnel-id"; 882 config false; 883 leaf tunnel-id { 884 type uint32 { 885 range "1..4294967295"; 886 } 887 config false; 888 description 889 "tunnel id"; 890 } 891 leaf source-ip { 892 type inet:ip-address-no-zone; 893 config false; 894 description 895 "source"; 896 ext:support-filter "true"; 897 } 898 leaf peer-ip { 899 type inet:ip-address-no-zone; 900 config false; 901 description 902 "peer ip"; 903 ext:support-filter "true"; 904 } 905 leaf status { 906 type tunnelStatus; 907 config false; 908 description 909 "tunnel status"; 911 } 912 leaf type { 913 type tunnelType; 914 config false; 915 description 916 "tunnel type"; 917 } 918 leaf up-time { 919 type string { 920 length "1..10"; 921 } 922 config false; 923 description 924 "tunnel up time"; 925 } 926 leaf vrf-name { 927 type pub-type:vrfName; 928 default "_public_"; 929 config false; 930 description 931 "vrf"; 932 } 933 } 934 } 935 } 936 938 4. Security Considerations 940 This document raises no new security issues. 942 5. IANA Considerations 944 The namespace URI defined in Section 3.3 need be registered in the 945 IETF XML registry [RFC3688]. 947 This document need to register the 'ietf-nvo3-base' YANG module in 948 the YANG Module Names registry [RFC6020]. 950 Acknowledgements 952 Authors would like to thank the comments and suggestions from Tao 953 Han, Shouchuan Yang, Feng Zheng, Lianshu Zheng, Weilian Jiang. 955 6. References 957 6.1. Normative References 959 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 960 Requirement Levels", BCP 14, RFC 2119, March 1997. 962 [RFC7364] T. Narten, E. Gray, et al, "Problem Statement: Overlays for 963 Network Virtualization", draft-ietf-nvo3-overlay-problem- 964 statement, working in progress. 966 [RFC7365] Marc Lasserre, Florin Balus, et al, "Framework for DC 967 Network Virtualization", draft-ietf-nvo3-framework, working 968 in progress. 970 [I-D.ietf-nvo3-dataplane-requirements] Nabil Bitar, Marc Lasserre, et 971 al, "NVO3 Data Plane Requirements", draft-ietf-nvo3- 972 dataplane-requirements, working in progress. 974 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, 975 L., Sridhar, T., Bursell, M., and C. Wright, "Virtual 976 eXtensible Local Area Network (VXLAN): A Framework for 977 Overlaying Virtualized Layer 2 Networks over Layer 3 978 Networks", RFC 7348, August 2014. 980 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 981 January 2004. 983 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 984 the Network Configuration Protocol (NETCONF)", RFC 6020, 985 October 2010. 987 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 988 and A. Bierman, Ed., "Network Configuration Protocol 989 (NETCONF)", RFC 6241, June 2011. 991 6.2. Informative References 993 [I-D.zhang-nvo3-yang-active-active] M. Zhang, J. Xia, "YANG Data 994 Model for NVO3 Active Active Access", draft-zhang-nvo3- 995 yang-active-active, working in progress. 997 [I-D.sridharan-virtualization-nvgre] M. Sridharan, A. Greenberg, et 998 al, "NVGRE: Network Virtualization using Generic Routing 999 Encapsulation", draft-sridharan-virtualization-nvgre, 1000 working in progress. 1002 Author's Addresses 1004 Mingui Zhang 1005 Huawei Technologies 1006 No. 156 Beiqing Rd. Haidian District, 1007 Beijing 100095 1008 P.R. China 1010 EMail: zhangmingui@huawei.com 1012 Yuan Gao 1013 Huawei Technologies 1014 No. 101 Nanjing Rd. Yuhua District, 1015 Nanjing 210012 1016 P.R. China 1018 EMail: sean.gao@huawei.com 1020 Haibo Wang 1021 Huawei Technologies 1022 No. 156 Beiqing Rd. Haidian District, 1023 Beijing 100095 1024 P.R. China 1026 EMail: rainsword.wang@huawei.com 1028 Fu Qiao 1029 China Mobile 1031 EMail: fuqiao@chinamobile.com