idnits 2.17.1 draft-shytyi-opsawg-vysm-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 212 has weird spacing: '...Balance vFire...' == Line 285 has weird spacing: '...pe:link tri...' == Line 287 has weird spacing: '...:switch str...' == Line 289 has weird spacing: '...pe:port uin...' == Line 295 has weird spacing: '...pe:port str...' == (4 more instances...) -- The document date (October 18, 2019) is 1645 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: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 8 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Shytyi 3 Internet-Draft L. Beylier 4 Intended status: Informational SFR 5 Expires: April 20, 2020 L. Iannone 6 Telecom ParisTech 7 October 18, 2019 9 A YANG Module for uCPE management. 10 draft-shytyi-opsawg-vysm-03 12 Abstract 14 This document provides a YANG data model for uCPE management (VYSM) 15 and definition of the uCPE equipment. The YANG Service Model serves 16 as a base framework for managing an universal Customer-Premises 17 Equipment (uCPE) subsystem. The model can be used by a Network 18 Service Orchestrator. 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 April 20, 2020. 37 Copyright Notice 39 Copyright (c) 2019 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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 56 3. Universal CPE . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3.1. uCPE purpose . . . . . . . . . . . . . . . . . . . . . . 4 58 3.2. uCPE VNF ecosystem example . . . . . . . . . . . . . . . 4 59 3.3. Internal uCPE service example . . . . . . . . . . . . . . 5 60 4. YANG Service Model for uCPE management . . . . . . . . . . . 5 61 5. uCPE YANG Service Model tree diagram overview . . . . . . . . 7 62 6. Specification of the VNF YANG Service Model . . . . . . . . . 9 63 7. XML example . . . . . . . . . . . . . . . . . . . . . . . . . 37 64 8. Security Considerations . . . . . . . . . . . . . . . . . . . 39 65 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 66 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 40 67 11. Normative References . . . . . . . . . . . . . . . . . . . . 40 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40 70 1. Introduction 72 Network Function Virtualization is a technology that allows to 73 virtualize the network services running on dedicaded hardware. This 74 technology became a base for universal Customer-Premises Equipment 75 (uCPE). This document defines the uCPE as harware with x86 76 capabilities that has a hypervisor. In other words, uCPE is a host 77 that may run multiple Virtual Machines with guest OSs, where each 78 Guest OS may represent a Physical Network Function. This document 79 presents the YANG Service Model (VYSM) to manage from an Orchestrator 80 the infrastructure inside the uCPE. 82 2. Terminology 84 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 85 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 86 document are to be interpreted as described in RFC 2119 [RFC2119]. 88 Link - is an entity that enables link layer communication of nodes. 90 Port - node connector to the link. 92 NE - Network Element. 94 NSYM - Network Service Yang Module. 96 VYSM - VNF YANG Service Model. 98 3. Universal CPE 100 Firstly, this document defines the platform that is controlled with 101 VYSM - universal CPE (uCPE). The uCPE as harware with x86 102 capabilities that is generally running Linux distibution with 103 additinal virtualisation layer. Virtualization layer provides 104 virtual compute, virtual storage and virtual network resources. Each 105 VNF runnning in the uCPE requires the amount of virtual resources 106 (for example: 4 vCPUs, 4GB RAM, 40GB storege, 4 vPorts). VNFs MAY be 107 interconnected between each other and physical ports via Virtual 108 Networks. Topology construction and VM lifecycle management is 109 allowed via high level interface (Configuration can be done in the 110 same transaction). The figure below presents the uCPE architecture. 112 ----------------------------------------|-------------- 113 VNF1 VNF2 VNF3 | 114 ----------------------------------------| 115 Virtual Virtual Virtual | uCPE software 116 Compute Storage Networks| 117 ----------------------------------------|--------------- 118 PHY x86 RAM+PHY PHYsical| uCPE Hardware 119 processor storage ports | 121 The next elements can be managed in the uCPE: 123 o Virtual Network Funcitons: 125 * Number of assigned vCPUs. 127 * Size of allocated RAM. 129 * VNF day0 config (bootstrap). 131 * vLinks that are attached to the VNF. 133 o Virtual Switches: 135 * vLinks that are attached to the vSW. 137 o Virtual Links(vLinks). 139 o Physical Ports of the uCPE. 141 3.1. uCPE purpose 143 o uCPE replaces multiple types of equipment (Node#1 - Node#5) with 1 144 unit by virtualizing them as Virtual Network Functions on the top 145 of NFVIs: 147 : NODE #1 : NODE #2 : NODE #3 :NODE #4: NODE #5 : 148 : +-----------+ : +------+ : +------+ : +--+ : +-----+ : 149 ...-----|Aggregation|----|CE-L2 |----|CPE-L3|----|FW|----|SDWAN|---LAN 150 : | switch | : | | : | | : | | : | | : 151 : +-----------+ : +------+ : +------+ : +--+ : +-----+ : 153 : NODE #1 : NODE #2 : 154 : : +.........................................+ : 155 : +-----------+ : | +------+ +------+ +--+ +-----+ | : 156 ...---|Aggregation|---|--|CE-L2 |----|CPE-L3|----|FW|---|SDWAN|-|---LAN 157 : | switch | : | | | | | | | | | | : 158 : +-----------+ : | +------+ +------+ +--+ +-----+ | : 159 : : | universal Customer-Premises Equipment | : 160 : : +-----------------------------------------+ : 162 o uCPE falicitates the interconnection between the Network Funtions 163 (NF) as interconnection between NF is performed via virtual 164 links(that is part of the uCPE management). That meens that no 165 need to hire technichian to cable the equipment, it could be done 166 via orchestrator. 168 o uCPE falicitates the 0day configuration of the VNFs as its 0day 169 configuration can be putted remotely. 171 3.2. uCPE VNF ecosystem example 173 uCPE supports a Virtual Network Funcitons of different type: 175 o SD-WAN 177 o vRouter(vCPE) 179 o vFirewall 181 o vLB(vLoad Balancer) 183 o vCGNAT(vCarrier Grade NAT) 184 o virtual WAN Optimistaion 186 o vWireless LAN controller 188 o Other... 190 3.3. Internal uCPE service example 192 The VNF in the uCPE could be a vRouter or vFirewall or an SD-WAN that 193 is not a default part of virtual network resources of the uCPE. 194 Multiple VNFs MAY be instantiated in the uCPE. With support of links 195 and swithes, VNFs MAY participate a service chains. Example of 196 service chains (Note that virtual switch "vs(WAN)" connected to LAN 197 ports and vSW(WAN) is connected to WAN ports): 199 o vSW(WAN)-l1-vRouter(vCPE)-l2-vSW(LAN). 201 o vSW(WAN)-l1-vRouter(vCPE)-l2-vSW(Service)-l3-vFirewall- 202 l4-vSW(LAN). 204 o vSW(WAN)-l1-vRouter(vCPE)-l2-vSW(Service1)-l3-vFirewall-l4- 205 vSW(Service2)-l5-SD-WAN-l6-vSW(LAN). 207 o vSW(WAN)-l1-SDWAN-l2-vSW(Service)-l3-vFirewall-l4-vSW(LAN). 209 o 211 vSW(WAN1)--vRouter--+ 212 +--vLoadBalance vFirewall--vSW(LAN) 213 vSW(WAN2)--vRouter--+ | | 214 +-vSW(Service1)+ 216 o 218 vSW(WAN1)--vRouter(ISP1)--+ 219 +--SD-WAN vFirewall--vSW(LAN) 220 vSW(WAN2)--vRouter(ISP2)--+ | | 221 +-vSW(Service1)+ 223 4. YANG Service Model for uCPE management 225 Secondly, this document defines and classifies the VYSM as Network 226 Service YANG Module(NSYM) layer component RFC 8199 [RFC8199]. Thus 227 it inherits the characteristics of the NSYM Layer. VYSM is a modeled 228 representation of the specific service requirements. It provides 229 abstraction of services configuration and operations that MAY be 230 implemented in Network Elemets (NEs). Thus VYSM does not describe 231 all configuration to be performed on the devices, but provides the 232 configuration that is required for the "Network Service to Network 233 Element(s)" decomposition process RFC 8199 [RFC8199]. Example of the 234 decomposition is presented in the figure below. 236 The Network Service YANG module exposes the configuration commands 237 via the Northbound interfaces of the orchestrator. Therefore the set 238 of the commands modeled in the VYSM can be inputed via Notrhbound 239 interfaces(for example CLI). In the example the command "vm VNF1" is 240 passed via Northbound interface to the orchestrator. It defines the 241 virtual machine name. Further the same configuration MAY be 242 transormed to the one or multiple Network Element payloads (for 243 example xml for NETCONF) that carry an equivalent of commands such as 244 "nf nf-name VNF1" 245 +-+-+-+-+-+-+-+-+-+ 246 | | 247 | config t | 248 | vm VNF1 | 249 +-+-+-+-+-+-+-+-+-+ 250 # 251 # 252 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 253 : : 254 : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : 255 : | Network Service YANG Module | : 256 : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : 257 : # : 258 : ############################## orchestrator : 259 : # # # : 260 : '---------' '------------' '-----------' : 261 : 'Module1 ' ' Module 2 ' ' Module3 ' <= Network Element : 262 : '---------' '------------' '-----------' YANG Modules : 263 : # # # : 264 : # # ####################### : 265 : #### ############## # : 266 : # # # : 267 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 268 # # # 269 Network # element 1 Network # element 2 Network # element3 270 ++-+-+-+-+-+-+-+-+-+-+ -+-+-+-++-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+ 271 | domains domain VNF1| |tenants tenant name VNF1| |nf nf-name VNF1| 272 ++-+-+-+-+-+-+-+-+-+-+ -+-+-+-++-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+ 274 5. uCPE YANG Service Model tree diagram overview 276 This section provides an overview of the Service YANG Model (VSYM) 277 that MAY be made with "pyang" utility. The figure below presents the 278 tree diagram of VYSM. 280 module: ietf-ucpe 281 +--rw ietf-ucpe:ucpe* [name] 282 +--rw ietf-ucpe:name -> /ncs:devices/device/name 283 +--rw ietf-ucpe:device* -> ../name 284 +--rw ietf-ucpe:links* [link] 285 | +--rw ietf-ucpe:link tring 286 +--rw ietf-ucpe:switches* [switch] 287 | +--rw ietf-ucpe:switch string 288 | +--rw ietf-ucpe:ports* [port] 289 | +--rw ietf-ucpe:port uint64 290 | +--rw ietf-ucpe:name? string 291 | +--rw ietf-ucpe:link? -> ../../../links/link 292 +--rw ietf-ucpe:vms* [vm] 293 | +--rw ietf-ucpe:vm string 294 | +--rw ietf-ucpe:ports* [port] 295 | | +--rw ietf-ucpe:port string 296 | | +--rw ietf-ucpe:name? string 297 | | +--rw ietf-ucpe:link? -> ../../../links/link 298 | +--rw ietf-ucpe:ram? string 299 | +--rw ietf-ucpe:cpu? string 300 | +--rw ietf-ucpe:storages* [id] 301 | | +--rw ietf-ucpe:id string 302 | | +--rw ietf-ucpe:location? string 303 | +--rw ietf-ucpe:day0-config 304 | +--rw ietf-ucpe:location? string 305 | +--rw ietf-ucpe:day0-var-path? string 306 | +--rw ietf-ucpe:variable* [name] 307 | +--rw ietf-ucpe:name string 308 | +--rw ietf-ucpe:value? string 309 +--rw ucpe-if:interfaces 310 | +--rw ucpe-if:interface* [name] 311 | +--rw ucpe-if:name string 312 | +--rw ucpe-if:description? string 313 | +--rw ucpe-if:type identityref 314 | +--rw ucpe-if:enabled? boolean 315 | +--rw ucpe-if:link-up-down-trap-enable? enumeration {if-mib}? 316 | +--ro ucpe-if:admin-status enumeration {if-mib}? 317 | +--ro ucpe-if:oper-status enumeration 318 | +--ro ucpe-if:last-change? yang:date-and-time 319 | +--ro ucpe-if:if-index int32 {if-mib}? 320 | +--ro ucpe-if:phys-address? yang:phys-address 321 | +--ro ucpe-if:higher-layer-if* interface-ref 322 | +--ro ucpe-if:lower-layer-if* interface-ref 323 | +--ro ucpe-if:speed? yang:gauge64 324 | +--ro ucpe-if:statistics 325 | | +--ro ucpe-if:discontinuity-time yang:date-and-time 326 | | +--ro ucpe-if:in-octets? yang:counter64 327 | | +--ro ucpe-if:in-unicast-pkts? yang:counter64 328 | | +--ro ucpe-if:in-broadcast-pkts? yang:counter64 329 | | +--ro ucpe-if:in-multicast-pkts? yang:counter64 330 | | +--ro ucpe-if:in-discards? yang:counter32 331 | | +--ro ucpe-if:in-errors? yang:counter32 332 | | +--ro ucpe-if:in-unknown-protos? yang:counter32 333 | | +--ro ucpe-if:out-octets? yang:counter64 334 | | +--ro ucpe-if:out-unicast-pkts? yang:counter64 335 | | +--ro ucpe-if:out-broadcast-pkts? yang:counter64 336 | | +--ro ucpe-if:out-multicast-pkts? yang:counter64 337 | | +--ro ucpe-if:out-discards? yang:counter32 338 | | +--ro ucpe-if:out-errors? yang:counter32 339 | +--rw ucpe-interface:ports* [port] 340 | +--rw ucpe-interface:port string 341 | +--rw ucpe-interface:link?-> ../../../../ietf-nfv:links/link 342 x--ro ucpe-if:interfaces-state 343 x--ro ucpe-if:interface* [name] 344 x--ro ucpe-if:name string 345 x--ro ucpe-if:type identityref 346 x--ro ucpe-if:admin-status enumeration {if-mib}? 347 x--ro ucpe-if:oper-status enumeration 348 x--ro ucpe-if:last-change? yang:date-and-time 349 x--ro ucpe-if:if-index int32 {if-mib}? 350 x--ro ucpe-if:phys-address? yang:phys-address 351 x--ro ucpe-if:speed? yang:gauge64 352 x--ro ucpe-if:statistics 353 x--ro ucpe-if:discontinuity-time yang:date-and-time 354 x--ro ucpe-if:in-octets? yang:counter64 355 x--ro ucpe-if:in-unicast-pkts? yang:counter64 356 x--ro ucpe-if:in-broadcast-pkts? yang:counter64 357 x--ro ucpe-if:in-multicast-pkts? yang:counter64 358 x--ro ucpe-if:in-discards? yang:counter32 359 x--ro ucpe-if:in-errors? yang:counter32 360 x--ro ucpe-if:in-unknown-protos? yang:counter32 361 x--ro ucpe-if:out-octets? yang:counter64 362 x--ro ucpe-if:out-unicast-pkts? yang:counter64 363 x--ro ucpe-if:out-broadcast-pkts? yang:counter64 364 x--ro ucpe-if:out-multicast-pkts? yang:counter64 365 x--ro ucpe-if:out-discards? yang:counter32 366 x--ro ucpe-if:out-errors? yang:counter32 368 6. Specification of the VNF YANG Service Model 370 This section presents the specification of the VYSM. 372 file "ietf-ucpe@2019-09-16.yang" 373 module ietf-vysm-service { 374 namespace "urn:ietf:params:xml:ns:yang:nfv-service"; 375 prefix ietf-ucpe; 377 import tailf-ncs { 378 prefix ncs; 379 } 381 organization "SFR"; 382 contact 383 "Dmytro Shytyi 384 EMail:ietf.dmytro@shytyi.net"; 385 description 386 "This is a Network Function Virtualization (NFV) YANG 387 service model."; 389 revision 2019-09-16 { 390 description 391 "Added 0day config for VNFs. 392 Yang model modified according 393 to the received comments."; 394 reference "draft-shytyi-opsawg-vysm-00"; 395 } 396 revision 2018-01-07 { 397 description 398 "Initial revision."; 399 reference "draft-shytyi-netmod-vysm-01"; 400 } 402 list ucpe { 403 key "name"; 404 leaf name { 405 type leafref { 406 path "/ncs:devices/ncs:device/ncs:name"; 407 } 408 description 409 "Name of the instance of the service"; 410 } 411 leaf-list device { 412 type leafref { 413 path "../name"; 414 } 415 description 416 "List of the devices in available in the 417 orchestrator"; 418 } 419 // replace with your own stuff here 420 list links { 421 key "link"; 422 leaf link { 423 type string { 424 pattern "[a-zA-Z0-9]*"; 425 } 426 description 427 "Name of the virtual link from the pool of 428 the links"; 429 } 430 description 431 "Pool of the virtual links that connect 432 VMs and Interfaces"; 433 } 434 list switches { 435 key "switch"; 436 leaf switch { 437 type string; 438 description 440 list ports { 441 key "port"; 442 leaf port { 443 type uint64 { 444 range "10..15"; 445 } 446 description 447 "Name of the connector"; 448 } 449 leaf name { 450 type string; 451 description 452 "Name of the subconnector"; 453 } 454 leaf link { 455 type leafref { 456 path "../../../links/link"; 457 } 458 description 459 "Link that is connected to the switch 460 via port"; 461 } 462 description 463 "Set of the connectors the forwarding 464 domain has"; 465 } 466 description 467 "Set of the forwarding domains"; 468 } 469 list vms { 470 key "vm"; 471 leaf vm { 472 type string { 473 pattern "[a-zA-Z]*"; 474 } 475 description 476 "Name of the Virtual Machine"; 477 } 478 list ports { 479 key "port"; 480 leaf port { 481 type string; 482 description 483 "Name of the connector"; 484 } 485 leaf name { 486 type string; 487 description 488 "Name of the subconnector"; 489 } 490 leaf link { 491 type leafref { 492 path "../../../links/link"; 493 } 494 description 495 "Link that connects the VM with a 496 switch or Interface via connector"; 497 } 498 description 499 "Set of Virtual Machine connectors"; 500 } 501 leaf ram { 502 type uint64; 503 description 504 "Size of RAM to allocate for the 505 Guest OS"; 506 } 507 leaf cpu { 508 type uint64; 509 description 510 "Number of vCPUs to allocate for the 511 Guest OS"; 512 } 513 list storages { 514 key "id"; 515 leaf id { 516 type string; 517 description 518 "Name of the Storage"; 519 } 520 leaf location { 521 type string; 522 description 523 "External location where the image is 524 saved."; 525 } 526 description 527 "Virtual storge of the image for the 528 Virtual Machine"; 529 } 530 container day0-config { 531 leaf location { 532 type string; 533 description 534 "0day configuration location"; 535 } 536 leaf day0-var-path { 537 type string; 538 description 539 "path of the file that contains the 540 0day variables"; 541 } 542 list variable { 543 key "name"; 544 leaf name { 545 type string; 546 description 547 "variable name"; 548 } 549 leaf value { 550 type string; 551 description 552 "variable value"; 553 } 554 } 555 description 556 "0day configuration:init config"; 557 } 558 description 559 "Set of the Virtual Machines configured on 560 the universal Customer-Premises Equipment"; 561 } 562 description 563 "This is an CFS virtualization service"; 564 } 565 } 567 569 module ietf-vysm-interfaces { 570 namespace "urn:ietf:params:xml:ns:yang:ucpe-interface"; 571 prefix ucpe-interface; 573 import tailf-ncs { 574 prefix ncs; 575 } 576 } 577 import ietf-vysm-service { 578 prefix ietf-nfv; 579 } 580 import ietf-interfaces { 581 prefix ietf-if; 582 } 584 organization "SFR"; 585 contact 586 "Dmytro Shytyi 587 EMail:ietf.dmytro@shytyi.net"; 588 description 589 "This is a Network Function Virtualization (NFV) YANG 590 model for interfaces."; 592 revision 2019-10-03 { 593 description 594 "Initial revision."; 595 reference "draft-shytyi-opsawg-vysm-01"; 596 } 598 augment "/ietf-nfv:ucpe/ietf-if:interfaces/ietf-if:interface" { 599 list ports { 600 key "port"; 601 leaf port { 602 type string; 603 description 604 "Name of the connector"; 605 } 606 leaf link { 607 type leafref { 608 path "../../../../ietf-nfv:links/ietf-nfv:link"; 609 } 610 description 611 "Link that is connected to the port 612 via connector"; 613 } 614 description 615 "Set of the connectors the physical 616 interface has"; 617 } 618 } 619 } 621 623 module ietf-interfaces { 624 yang-version 1.1; 625 namespace "urn:ietf:params:xml:ns:yang:ietf-ucpe-interfaces"; 626 prefix ucpe-if; 628 import ietf-yang-types { 629 prefix yang; 630 } 631 import ietf-vysm-service { 632 prefix ietf-vysm; 633 } 635 organization "IETF NETMOD (Network Modeling) Working Group"; 636 contact 637 "WG Web: 638 WG List: 640 Editor: Martin Bjorklund 641 "; 642 description 643 "This module contains a collection of YANG definitions for 644 managing network interfaces. 646 Copyright (c) 2018 IETF Trust and the persons identified as 647 authors of the code. All rights reserved. 649 Redistribution and use in source and binary forms, with or 650 without modification, is permitted pursuant to, and subject 651 to the license terms contained in, the Simplified BSD License 652 set forth in Section 4.c of the IETF Trust's Legal Provisions 653 Relating to IETF Documents 654 (https://trustee.ietf.org/license-info). 656 This version of this YANG module is part of RFC 8343; see 657 the RFC itself for full legal notices."; 659 revision 2018-02-20 { 660 description 661 "Updated to support NMDA."; 662 reference "RFC 8343: A YANG Data Model for Interface Management"; 663 } 664 revision 2014-05-08 { 665 description 666 "Initial revision."; 667 reference "RFC 7223: A YANG Data Model for Interface Management"; 668 } 670 /* 671 * Typedefs 672 */ 674 typedef interface-ref { 675 type leafref { 676 path "/ietf-vysm:ucpe/"+ 677 "ucpe-if:interfaces/ucpe-if:interface/ucpe-if:name"; 678 } 679 description 680 "This type is used by data models that need to reference 681 interfaces."; 682 } 684 /* 685 * Identities 686 */ 688 identity interface-type { 689 description 690 "Base identity from which specific interface types are 691 derived."; 692 } 694 /* 695 * Features 696 */ 698 feature arbitrary-names { 699 description 700 "This feature indicates that the device allows user-controlled 701 interfaces to be named arbitrarily."; 702 } 704 feature pre-provisioning { 705 description 706 "This feature indicates that the device supports 707 pre-provisioning of interface configuration, i.e., it is 708 possible to configure an interface whose physical interface 709 hardware is not present on the device."; 710 } 712 feature if-mib { 713 description 714 "This feature indicates that the device implements 715 the IF-MIB."; 716 reference "RFC 2863: The Interfaces Group MIB"; 717 } 718 /* 719 * Data nodes 720 */ 722 augment "/ietf-vysm:ucpe" { 723 container interfaces { 724 description 725 "Interface parameters."; 726 list interface { 727 key "name"; 728 description 729 "The list of interfaces on the device. 731 The status of an interface is available in this list in the 732 operational state. If the configuration of a 733 system-controlled interface cannot be used by the system 734 (e.g., the interface hardware present does not match the 735 interface type), then the configuration is not applied to 736 the system-controlled interface shown in the operational 737 state. If the configuration of a user-controlled interface 738 cannot be used by the system, the configured interface is 739 not instantiated in the operational state. 741 System-controlled interfaces created by the system are 742 always present in this list in the operational state, 743 whether or not they are configured."; 744 leaf name { 745 type string; 746 description 747 "The name of the interface. 749 A device MAY restrict the allowed values for this leaf, 750 possibly depending on the type of the interface. 751 For system-controlled interfaces, this leaf is the 752 device-specific name of the interface. 754 If a client tries to create configuration for a 755 system-controlled interface that is not present in the 756 operational state, the server MAY reject the request if 757 the implementation does not support pre-provisioning of 758 interfaces or if the name refers to an interface that can 759 never exist in the system. A Network Configuration 760 Protocol (NETCONF) server MUST reply with an rpc-error 761 with the error-tag 'invalid-value' in this case. 763 If the device supports pre-provisioning of interface 764 configuration, the 'pre-provisioning' feature is 765 advertised. 767 If the device allows arbitrarily named user-controlled 768 interfaces, the 'arbitrary-names' feature is advertised. 770 When a configured user-controlled interface is created by 771 the system, it is instantiated with the same name in the 772 operational state. 774 A server implementation MAY map this leaf to the ifName 775 MIB object. Such an implementation needs to use some 776 mechanism to handle the differences in size and 777 characters 778 allowed between this leaf and ifName. The definition of 779 such a mechanism is outside the scope of this document."; 780 reference "RFC 2863: The Interfaces Group MIB - ifName"; 781 } 782 leaf description { 783 type string; 784 description 785 "A textual description of the interface. 787 A server implementation MAY map this leaf to the ifAlias 788 MIB object. Such an implementation needs to use some 789 mechanism to handle the differences in size and 790 characters 791 allowed between this leaf and ifAlias. The definition of 792 such a mechanism is outside the scope of this document. 794 Since ifAlias is defined to be stored in non-volatile 795 storage, the MIB implementation MUST map ifAlias to the 796 value of 'description' in the persistently stored 797 configuration."; 798 reference "RFC 2863: The Interfaces Group MIB - ifAlias"; 799 } 800 leaf type { 801 type identityref { 802 base interface-type; 803 } 804 mandatory true; 805 description 806 "The type of the interface. 808 When an interface entry is created, a server MAY 809 initialize the type leaf with a valid value, e.g., if it 810 is possible to derive the type from the name of the 811 interface. 813 If a client tries to set the type of an interface to a 814 value that can never be used by the system, e.g., if the 815 type is not supported or if the type does not match the 816 name of the interface, the server MUST reject the request. 817 A NETCONF server MUST reply with an rpc-error with the 818 error-tag 'invalid-value' in this case."; 819 reference "RFC 2863: The Interfaces Group MIB - ifType"; 820 } 821 leaf enabled { 822 type boolean; 823 default "true"; 824 description 825 "This leaf contains the configured, desired state of the 826 interface. 828 Systems that implement the IF-MIB use the value of this 829 leaf in the intended configuration to set 830 IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry 831 has been initialized, as described in RFC 2863. 833 Changes in this leaf in the intended configuration are 834 reflected in ifAdminStatus."; 835 reference "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; 836 } 837 leaf link-up-down-trap-enable { 838 if-feature if-mib; 839 type enumeration { 840 enum "enabled" { 841 value 1; 842 description 843 "The device will generate linkUp/linkDown SNMP 844 notifications for this interface."; 845 } 846 enum "disabled" { 847 value 2; 848 description 849 "The device will not generate linkUp/linkDown SNMP 850 notifications for this interface."; 851 } 852 } 853 description 854 "Controls whether linkUp/linkDown SNMP notifications 855 should be generated for this interface. 857 If this node is not configured, the value 'enabled' is 858 operationally used by the server for interfaces that do 859 not operate on top of any other interface (i.e., there 860 are 861 no 'lower-layer-if' entries), and 'disabled' otherwise."; 862 reference 863 "RFC 2863: The Interfaces Group MIB - 864 ifLinkUpDownTrapEnable"; 865 } 866 leaf admin-status { 867 if-feature if-mib; 868 type enumeration { 869 enum "up" { 870 value 1; 871 description 872 "Ready to pass packets."; 873 } 874 enum "down" { 875 value 2; 876 description 877 "Not ready to pass packets and not in some test mode."; 878 } 879 enum "testing" { 880 value 3; 881 description 882 "In some test mode."; 883 } 884 } 885 config false; 886 mandatory true; 887 description 888 "The desired state of the interface. 890 This leaf has the same read semantics as ifAdminStatus."; 891 reference "RFC 2863: The Interfaces Group MIB ifAdminStatus"; 892 } 893 leaf oper-status { 894 type enumeration { 895 enum "up" { 896 value 1; 897 description 898 "Ready to pass packets."; 899 } 900 enum "down" { 901 value 2; 902 description 903 "The interface does not pass any packets."; 904 } 905 enum "testing" { 906 value 3; 907 description 908 "In some test mode. No operational packets can 909 be passed."; 910 } 911 enum "unknown" { 912 value 4; 913 description 914 "Status cannot be determined for some reason."; 915 } 916 enum "dormant" { 917 value 5; 918 description 919 "Waiting for some external event."; 920 } 921 enum "not-present" { 922 value 6; 923 description 924 "Some component (typically hardware) is missing."; 925 } 926 enum "lower-layer-down" { 927 value 7; 928 description 929 "Down due to state of lower-layer interface(s)."; 930 } 931 } 932 config false; 933 mandatory true; 934 description 935 "The current operational state of the interface. 937 This leaf has the same semantics as ifOperStatus."; 938 reference "RFC 2863: The Interfaces Group MIB - ifOperStatus"; 939 } 940 leaf last-change { 941 type yang:date-and-time; 942 config false; 943 description 944 "The time the interface entered its current operational 945 state. If the current state was entered prior to the 946 last re-initialization of the local network management 947 subsystem, then this node is not present."; 948 reference "RFC 2863: The Interfaces Group MIB - ifLastChange"; 949 } 950 leaf if-index { 951 if-feature if-mib; 952 type int32 { 953 range "1..2147483647"; 955 } 956 config false; 957 mandatory true; 958 description 959 "The ifIndex value for the ifEntry represented by this 960 interface."; 961 reference "RFC 2863: The Interfaces Group MIB - ifIndex"; 962 } 963 leaf phys-address { 964 type yang:phys-address; 965 config false; 966 description 967 "The interface's address at its protocol sub-layer. For 968 example, for an 802.x interface, this object normally 969 contains a Media Access Control (MAC) address. The 970 interface's media-specific modules must define the bit 971 and byte ordering and the format of the value of this 972 object. For interfaces that do not have such an address 973 (e.g., a serial line), this node is not present."; 974 reference "RFC 2863: The Interfaces Group MIB ifPhysAddress"; 975 } 976 leaf-list higher-layer-if { 977 type interface-ref; 978 config false; 979 description 980 "A list of references to interfaces layered on top of this 981 interface."; 982 reference "RFC 2863: The Interfaces Group MIB 983 - ifStackTable"; 984 } 985 leaf-list lower-layer-if { 986 type interface-ref; 987 config false; 988 description 989 "A list of references to interfaces layered 990 underneath this interface."; 991 reference "RFC 2863: The Interfaces Group MIB - ifStackTable"; 992 } 993 leaf speed { 994 type yang:gauge64; 995 units "bits/second"; 996 config false; 997 description 998 "An estimate of the interface's current bandwidth in bits 999 per second. For interfaces that do not vary in 1000 bandwidth or for those where no accurate estimation can 1001 be made, this node should contain the nominal bandwidth. 1002 For interfaces that have no concept of bandwidth, this 1003 node is not present."; 1004 reference 1005 "RFC 2863: The Interfaces Group MIB - 1006 ifSpeed, ifHighSpeed"; 1007 } 1008 container statistics { 1009 config false; 1010 description 1011 "A collection of interface-related statistics objects."; 1012 leaf discontinuity-time { 1013 type yang:date-and-time; 1014 mandatory true; 1015 description 1016 "The time on the most recent occasion at which any one 1017 or more of this interface's counters suffered a 1018 discontinuity. If no such discontinuities have occurred 1019 since the last re-initialization of the local management 1020 subsystem, then this node contains the time the local 1021 management subsystem re-initialized itself."; 1022 } 1023 leaf in-octets { 1024 type yang:counter64; 1025 description 1026 "The total number of octets received on the interface, 1027 including framing characters. 1029 Discontinuities in the value of this counter can occur 1030 at re-initialization of the management system and at 1031 other times as indicated by the value of 1032 'discontinuity-time'."; 1033 reference "RFC 2863: The Interfaces Group MIB ifHCInOctets"; 1034 } 1035 leaf in-unicast-pkts { 1036 type yang:counter64; 1037 description 1038 "The number of packets, delivered by this sub-layer to a 1039 higher (sub-)layer, that were not addressed to a 1040 multicast or broadcast address at this sub-layer. 1042 Discontinuities in the value of this counter can occur 1043 at re-initialization of the management system and at 1044 other times as indicated by the value of 1045 'discontinuity-time'."; 1046 reference "RFC 2863: The Interfaces Group MIB - 1047 ifHCInUcastPkts"; 1048 } 1049 leaf in-broadcast-pkts { 1050 type yang:counter64; 1051 description 1052 "The number of packets, delivered by this sub-layer to a 1053 higher (sub-)layer, that were addressed to a broadcast 1054 address at this sub-layer. 1056 Discontinuities in the value of this counter can occur 1057 at re-initialization of the management system and at 1058 other times as indicated by the value of 1059 'discontinuity-time'."; 1060 reference 1061 "RFC 2863: The Interfaces Group MIB - 1062 ifHCInBroadcastPkts"; 1063 } 1064 leaf in-multicast-pkts { 1065 type yang:counter64; 1066 description 1067 "The number of packets, delivered by this sub-layer to a 1068 higher (sub-)layer, that were addressed to a multicast 1069 address at this sub-layer. For a MAC-layer protocol, 1070 this includes both Group and Functional addresses. 1072 Discontinuities in the value of this counter can occur 1073 at re-initialization of the management system and at 1074 other times as indicated by the value of 1075 'discontinuity-time'."; 1076 reference 1077 "RFC 2863: The Interfaces Group MIB - 1078 ifHCInMulticastPkts"; 1079 } 1080 leaf in-discards { 1081 type yang:counter32; 1082 description 1083 "The number of inbound packets that were chosen to be 1084 discarded even though no errors had been detected to 1085 prevent their being deliverable to a higher-layer 1086 protocol. One possible reason for discarding such a 1087 packet could be to free up buffer space. 1089 Discontinuities in the value of this counter can occur 1090 at re-initialization of the management system and at 1091 other times as indicated by the value of 1092 'discontinuity-time'."; 1093 reference "RFC 2863: The Interfaces Group MIB - 1094 ifInDiscards"; 1095 } 1096 leaf in-errors { 1097 type yang:counter32; 1098 description 1099 "For packet-oriented interfaces, the number of inbound 1100 packets that contained errors preventing them from being 1101 deliverable to a higher-layer protocol. For character- 1102 oriented or fixed-length interfaces, the number of 1103 inbound transmission units that contained errors 1104 preventing them from being deliverable to a higher-layer 1105 protocol. 1107 Discontinuities in the value of this counter can occur 1108 at re-initialization of the management system and at 1109 other times as indicated by the value of 1110 'discontinuity-time'."; 1111 reference "RFC 2863: The Interfaces Group MIB - 1112 ifInErrors"; 1113 } 1114 leaf in-unknown-protos { 1115 type yang:counter32; 1116 description 1117 "For packet-oriented interfaces, the number of packets 1118 received via the interface that were discarded because 1119 of an unknown or unsupported protocol. For 1120 character-oriented or fixed-length interfaces that 1121 support protocol multiplexing, the number of 1122 transmission units received via the interface that were 1123 discarded because of an unknown or unsupported protocol. 1124 For any interface that does not support protocol 1125 multiplexing, this counter is not present. 1127 Discontinuities in the value of this counter can occur 1128 at re-initialization of the management system and at 1129 other times as indicated by the value of 1130 'discontinuity-time'."; 1131 reference "RFC 2863: The Interfaces Group MIB - 1132 ifInUnknownProtos"; 1133 } 1134 leaf out-octets { 1135 type yang:counter64; 1136 description 1137 "The total number of octets transmitted out of the 1138 interface, including framing characters. 1140 Discontinuities in the value of this counter can occur 1141 at re-initialization of the management system and at 1142 other times as indicated by the value of 1143 'discontinuity-time'."; 1144 reference "RFC 2863: The Interfaces Group MIB - 1145 ifHCOutOctets"; 1147 } 1148 leaf out-unicast-pkts { 1149 type yang:counter64; 1150 description 1151 "The total number of packets that higher-level protocols 1152 requested be transmitted and that were not addressed 1153 to a multicast or broadcast address at this sub-layer, 1154 including those that were discarded or not sent. 1156 Discontinuities in the value of this counter can occur 1157 at re-initialization of the management system and at 1158 other times as indicated by the value of 1159 'discontinuity-time'."; 1160 reference "RFC 2863: The Interfaces Group MIB - 1161 ifHCOutUcastPkts"; 1162 } 1163 leaf out-broadcast-pkts { 1164 type yang:counter64; 1165 description 1166 "The total number of packets that higher-level protocols 1167 requested be transmitted and that were addressed to a 1168 broadcast address at this sub-layer, including those 1169 that were discarded or not sent. 1171 Discontinuities in the value of this counter can occur 1172 at re-initialization of the management system and at 1173 other times as indicated by the value of 1174 'discontinuity-time'."; 1175 reference 1176 "RFC 2863: The Interfaces Group MIB - 1177 ifHCOutBroadcastPkts"; 1178 } 1179 leaf out-multicast-pkts { 1180 type yang:counter64; 1181 description 1182 "The total number of packets that higher-level protocols 1183 requested be transmitted and that were addressed to a 1184 multicast address at this sub-layer, including those 1185 that were discarded or not sent. For a MAC-layer 1186 protocol, this includes both Group and Functional 1187 addresses. 1189 Discontinuities in the value of this counter can occur 1190 at re-initialization of the management system and at 1191 other times as indicated by the value of 1192 'discontinuity-time'."; 1193 reference 1194 "RFC 2863: The Interfaces Group MIB - 1195 ifHCOutMulticastPkts"; 1196 } 1197 leaf out-discards { 1198 type yang:counter32; 1199 description 1200 "The number of outbound packets that were chosen to be 1201 discarded even though no errors had been detected to 1202 prevent their being transmitted. One possible reason 1203 for discarding such a packet could be to free up buffer 1204 space. 1206 Discontinuities in the value of this counter can occur 1207 at re-initialization of the management system and at 1208 other times as indicated by the value of 1209 'discontinuity-time'."; 1210 reference "RFC 2863: The Interfaces Group MIB - 1211 ifOutDiscards"; 1212 } 1213 leaf out-errors { 1214 type yang:counter32; 1215 description 1216 "For packet-oriented interfaces, the number of outbound 1217 packets that could not be transmitted because of errors. 1218 For character-oriented or fixed-length interfaces, the 1219 number of outbound transmission units that could not be 1220 transmitted because of errors. 1222 Discontinuities in the value of this counter can occur 1223 at re-initialization of the management system and at 1224 other times as indicated by the value of 1225 'discontinuity-time'."; 1226 reference "RFC 2863: The Interfaces Group MIB - 1227 ifOutErrors"; 1228 } 1229 } 1230 } 1231 } 1232 /* 1233 * Legacy typedefs 1234 */ 1235 // typedef interface-state-ref { 1236 // type leafref { 1237 // path "/ietf-vysm:ucpe"+ 1238 // "ucpe-if:interfaces-state/ucpe-if:interface/ucpe-if:name"; 1239 // } 1240 // status deprecated; 1241 // description 1242 // "This type is used by data models that need to reference 1243 // the operationally present interfaces."; 1244 // } 1245 /* 1246 * Legacy operational state data nodes 1247 */ 1248 container interfaces-state { 1249 config false; 1250 status deprecated; 1251 description 1252 "Data nodes for the operational state of interfaces."; 1253 list interface { 1254 key "name"; 1255 status deprecated; 1256 description 1257 "The list of interfaces on the device. 1259 System-controlled interfaces created by the system are 1260 always present in this list, whether or not they are 1261 configured."; 1262 leaf name { 1263 type string; 1264 status deprecated; 1265 description 1266 "The name of the interface. 1268 A server implementation MAY map this leaf to the ifName 1269 MIB object. Such an implementation needs to use some 1270 mechanism to handle the differences in size and characters 1271 allowed between this leaf and ifName. The definition of 1272 such a mechanism is outside the scope of this document."; 1273 reference "RFC 2863: The Interfaces Group MIB - ifName"; 1274 } 1275 leaf type { 1276 type identityref { 1277 base interface-type; 1278 } 1279 mandatory true; 1280 status deprecated; 1281 description 1282 "The type of the interface."; 1283 reference "RFC 2863: The Interfaces Group MIB - ifType"; 1284 } 1285 leaf admin-status { 1286 if-feature if-mib; 1287 type enumeration { 1288 enum "up" { 1289 value 1; 1290 description 1291 "Ready to pass packets."; 1292 } 1293 enum "down" { 1294 value 2; 1295 description 1296 "Not ready to pass packets and not in some test mode."; 1297 } 1298 enum "testing" { 1299 value 3; 1300 description 1301 "In some test mode."; 1302 } 1303 } 1304 mandatory true; 1305 status deprecated; 1306 description 1307 "The desired state of the interface. 1309 This leaf has the same read semantics as ifAdminStatus."; 1310 reference "RFC 2863: The Interfaces Group MIB - 1311 ifAdminStatus"; 1312 } 1313 leaf oper-status { 1314 type enumeration { 1315 enum "up" { 1316 value 1; 1317 description 1318 "Ready to pass packets."; 1319 } 1320 enum "down" { 1321 value 2; 1322 description 1323 "The interface does not pass any packets."; 1324 } 1325 enum "testing" { 1326 value 3; 1327 description 1328 "In some test mode. No operational packets can 1329 be passed."; 1330 } 1331 enum "unknown" { 1332 value 4; 1333 description 1334 "Status cannot be determined for some reason."; 1335 } 1336 enum "dormant" { 1337 value 5; 1338 description 1339 "Waiting for some external event."; 1340 } 1341 enum "not-present" { 1342 value 6; 1343 description 1344 "Some component (typically hardware) is missing."; 1345 } 1346 enum "lower-layer-down" { 1347 value 7; 1348 description 1349 "Down due to state of lower-layer interface(s)."; 1350 } 1351 } 1352 mandatory true; 1353 status deprecated; 1354 description 1355 "The current operational state of the interface. 1357 This leaf has the same semantics as ifOperStatus."; 1358 reference "RFC 2863: The Interfaces Group MIB - 1359 ifOperStatus"; 1360 } 1361 leaf last-change { 1362 type yang:date-and-time; 1363 status deprecated; 1364 description 1365 "The time the interface entered its current operational 1366 state. If the current state was entered prior to the 1367 last re-initialization of the local network management 1368 subsystem, then this node is not present."; 1369 reference "RFC 2863: The Interfaces Group MIB - 1370 ifLastChange"; 1371 } 1372 leaf if-index { 1373 if-feature if-mib; 1374 type int32 { 1375 range "1..2147483647"; 1376 } 1377 mandatory true; 1378 status deprecated; 1379 description 1380 "The ifIndex value for the ifEntry represented by this 1381 interface."; 1382 reference "RFC 2863: The Interfaces Group MIB - ifIndex"; 1383 } 1384 leaf phys-address { 1385 type yang:phys-address; 1386 status deprecated; 1387 description 1388 "The interface's address at its protocol sub-layer. For 1389 example, for an 802.x interface, this object normally 1390 contains a Media Access Control (MAC) address. The 1391 interface's media-specific modules must define the bit 1392 and byte ordering and the format of the value of this 1393 object. For interfaces that do not have such an address 1394 (e.g., a serial line), this node is not present."; 1395 reference "RFC 2863: The Interfaces Group MIB - 1396 ifPhysAddress"; 1397 } 1398 // leaf-list higher-layer-if { 1399 // type interface-state-ref; 1400 // status deprecated; 1401 // description 1402 // "A list of references to interfaces layered on 1403 // top of this 1404 // interface."; 1405 // reference 1406 // "RFC 2863: The Interfaces Group MIB - 1407 // ifStackTable"; 1408 // } 1409 // 1410 // leaf-list lower-layer-if { 1411 // type interface-state-ref; 1412 // status deprecated; 1413 // description 1414 // "A list of references to interfaces 1415 // layered underneath this 1416 // interface."; 1417 // reference 1418 // "RFC 2863: The Interfaces Group MIB - 1419 // ifStackTable"; 1420 // } 1421 leaf speed { 1422 type yang:gauge64; 1423 units "bits/second"; 1424 status deprecated; 1425 description 1426 "An estimate of the interface's current bandwidth in bits 1427 per second. For interfaces that do not vary in 1428 bandwidth or for those where no accurate estimation can 1430 be made, this node should contain the nominal bandwidth. 1431 For interfaces that have no concept of bandwidth, this 1432 node is not present."; 1433 reference 1434 "RFC 2863: The Interfaces Group MIB - 1435 ifSpeed, ifHighSpeed"; 1436 } 1437 container statistics { 1438 status deprecated; 1439 description 1440 "A collection of interface-related statistics objects."; 1441 leaf discontinuity-time { 1442 type yang:date-and-time; 1443 mandatory true; 1444 status deprecated; 1445 description 1446 "The time on the most recent occasion at which any one or 1447 more of this interface's counters suffered a 1448 discontinuity. If no such discontinuities have occurred 1449 since the last re-initialization of the local management 1450 subsystem, then this node contains the time the local 1451 management subsystem re-initialized itself."; 1452 } 1453 leaf in-octets { 1454 type yang:counter64; 1455 status deprecated; 1456 description 1457 "The total number of octets received on the interface, 1458 including framing characters. 1460 Discontinuities in the value of this counter can occur 1461 at re-initialization of the management system and at 1462 other times as indicated by the value of 1463 'discontinuity-time'."; 1464 reference "RFC 2863: The Interfaces Group MIB - 1465 ifHCInOctets"; 1466 } 1467 leaf in-unicast-pkts { 1468 type yang:counter64; 1469 status deprecated; 1470 description 1471 "The number of packets, delivered by this sub-layer to a 1472 higher (sub-)layer, that were not addressed to a 1473 multicast or broadcast address at this sub-layer. 1474 Discontinuities in the value of this counter can occur 1475 at re-initialization of the management system and at 1476 other times as indicated by the value of 1477 'discontinuity-time'."; 1478 reference "RFC 2863: The Interfaces Group MIB - 1479 ifHCInUcastPkts"; 1480 } 1481 leaf in-broadcast-pkts { 1482 type yang:counter64; 1483 status deprecated; 1484 description 1485 "The number of packets, delivered by this sub-layer to a 1486 higher (sub-)layer, that were addressed to a broadcast 1487 address at this sub-layer. 1489 Discontinuities in the value of this counter can occur 1490 at re-initialization of the management system and at 1491 other times as indicated by the value of 1492 'discontinuity-time'."; 1493 reference 1494 "RFC 2863: The Interfaces Group MIB - 1495 ifHCInBroadcastPkts"; 1496 } 1497 leaf in-multicast-pkts { 1498 type yang:counter64; 1499 status deprecated; 1500 description 1501 "The number of packets, delivered by this sub-layer to a 1502 higher (sub-)layer, that were addressed to a multicast 1503 address at this sub-layer. For a MAC-layer protocol, 1504 this includes both Group and Functional addresses. 1506 Discontinuities in the value of this counter can occur 1507 at re-initialization of the management system and at 1508 other times as indicated by the value of 1509 'discontinuity-time'."; 1510 reference 1511 "RFC 2863: The Interfaces Group MIB - 1512 ifHCInMulticastPkts"; 1513 } 1514 leaf in-discards { 1515 type yang:counter32; 1516 status deprecated; 1517 description 1518 "The number of inbound packets that were chosen to be 1519 discarded even though no errors had been detected to 1520 prevent their being deliverable to a higher-layer 1521 protocol. One possible reason for discarding such a 1522 packet could be to free up buffer space. 1524 Discontinuities in the value of this counter can occur 1525 at re-initialization of the management system and at 1526 other times as indicated by the value of 1527 'discontinuity-time'."; 1528 reference "RFC 2863: The Interfaces Group MIB - 1529 ifInDiscards"; 1531 } 1532 leaf in-errors { 1533 type yang:counter32; 1534 status deprecated; 1535 description 1536 "For packet-oriented interfaces, the number of inbound 1537 packets that contained errors preventing them from being 1538 deliverable to a higher-layer protocol. For character- 1539 oriented or fixed-length interfaces, the number of 1540 inbound transmission units that contained errors 1541 preventing them from being deliverable to a higher-layer 1542 protocol. 1544 Discontinuities in the value of this counter can occur 1545 at re-initialization of the management system and at 1546 other times as indicated by the value of 1547 'discontinuity-time'."; 1548 reference "RFC 2863: The Interfaces Group MIB - 1549 ifInErrors"; 1550 } 1551 leaf in-unknown-protos { 1552 type yang:counter32; 1553 status deprecated; 1554 description 1555 "For packet-oriented interfaces, the number of packets 1556 received via the interface that were discarded because 1557 of an unknown or unsupported protocol. For 1558 character-oriented or fixed-length interfaces that 1559 support protocol multiplexing, the number of 1560 transmission units received via the interface that were 1561 discarded because of an unknown or unsupported protocol. 1562 For any interface that does not support protocol 1563 multiplexing, this counter is not present. 1564 Discontinuities in the value of this counter can occur 1565 at re-initialization of the management system and at 1566 other times as indicated by the value of 1567 'discontinuity-time'."; 1568 reference "RFC 2863: The Interfaces Group MIB - 1569 ifInUnknownProtos"; 1570 } 1571 leaf out-octets { 1572 type yang:counter64; 1573 status deprecated; 1574 description 1575 "The total number of octets transmitted out of the 1576 interface, including framing characters. 1578 Discontinuities in the value of this counter can occur 1579 at re-initialization of the management system and at 1580 other times as indicated by the value of 1581 'discontinuity-time'."; 1582 reference "RFC 2863: The Interfaces Group MIB - 1583 ifHCOutOctets"; 1584 } 1585 leaf out-unicast-pkts { 1586 type yang:counter64; 1587 status deprecated; 1588 description 1589 "The total number of packets that higher-level protocols 1590 requested be transmitted and that were not addressed 1591 to a multicast or broadcast address at this sub-layer, 1592 including those that were discarded or not sent. 1594 Discontinuities in the value of this counter can occur 1595 at re-initialization of the management system and at 1596 other times as indicated by the value of 1597 'discontinuity-time'."; 1598 reference "RFC 2863: The Interfaces Group MIB - 1599 ifHCOutUcastPkts"; 1600 } 1601 leaf out-broadcast-pkts { 1602 type yang:counter64; 1603 status deprecated; 1604 description 1605 "The total number of packets that higher-level protocols 1606 requested be transmitted and that were addressed to a 1607 broadcast address at this sub-layer, including those 1608 that were discarded or not sent. 1610 Discontinuities in the value of this counter can occur 1611 at re-initialization of the management system and at 1612 other times as indicated by the value of 1613 'discontinuity-time'."; 1614 reference 1615 "RFC 2863: The Interfaces Group MIB - 1616 ifHCOutBroadcastPkts"; 1617 } 1618 leaf out-multicast-pkts { 1619 type yang:counter64; 1620 status deprecated; 1621 description 1622 "The total number of packets that higher-level protocols 1623 requested be transmitted and that were addressed to a 1624 multicast address at this sub-layer, including those 1625 that were discarded or not sent. For a MAC-layer 1626 protocol, this includes both Group and Functional 1627 addresses. 1629 Discontinuities in the value of this counter can occur 1630 at re-initialization of the management system and at 1631 other times as indicated by the value of 1632 'discontinuity-time'."; 1633 reference 1634 "RFC 2863: The Interfaces Group MIB - 1635 ifHCOutMulticastPkts"; 1636 } 1637 leaf out-discards { 1638 type yang:counter32; 1639 status deprecated; 1640 description 1641 "The number of outbound packets that were chosen to be 1642 discarded even though no errors had been detected to 1643 prevent their being transmitted. One possible reason 1644 for discarding such a packet could be to free up buffer 1645 space. 1647 Discontinuities in the value of this counter can occur 1648 at re-initialization of the management system and at 1649 other times as indicated by the value of 1650 'discontinuity-time'."; 1651 reference "RFC 2863: The Interfaces Group MIB - 1652 ifOutDiscards"; 1653 } 1654 leaf out-errors { 1655 type yang:counter32; 1656 status deprecated; 1657 description 1658 "For packet-oriented interfaces, the number of outbound 1659 packets that could not be transmitted because of errors. 1660 For character-oriented or fixed-length interfaces, the 1661 number of outbound transmission units that could not be 1662 transmitted because of errors. 1664 Discontinuities in the value of this counter can occur 1665 at re-initialization of the management system and at 1666 other times as indicated by the value of 1667 'discontinuity-time'."; 1668 reference "RFC 2863: The Interfaces Group MIB - 1669 ifOutErrors"; 1670 } 1671 } 1673 } 1674 } 1675 } 1676 } 1677 1679 7. XML example 1681 The XML example below presents the configuration of the next service 1682 in the uCPE, where: vSW(LAN), vSW(WAN), vSW(Service) - virtual 1683 switches; l1,l2,l3,l4 - virtual links; VMs represent PNFs (Physical 1684 Network Fuctions) that could be bootstrapped with 0day config/ 1685 license. 1687 +--------+ +-------------+ +------------+ 1688 |vSW(LAN)|--l2--|VNF-vFirewall|--l3--| | 1689 +--------+ +-------------+ | | 1690 +--------+ +-------------+ |vSW(Service)| 1691 |vSW(WAN)|--l1--| VNF_vCPE |--l4--| | 1692 +--------+ +-------------+ +------------+ 1694 1695 ucpe1 1696 1697 l1 1698 1699 1700 l2 1701 1702 1703 l3 1704 1705 1706 l4 1707 1708 1709 lan 1710 1711 10 1712 l2p10 1713 l2 1714 1715 1716 1717 service 1718 1719 10 1720 l3p10 1721 l3 1722 1723 1724 11 1725 l4p10 1726 l4 1727 1728 1729 1730 wan 1731 1732 10 1733 l1 1734 1735 1736 1737 VNF-vCPE 1738 1739 1 1740 l1p1 1741 l1 1742 1743 1744 2 1745 l4p2 1746 l4 1747 1748 2048 1749 2 1750 1751 1 1752 http://192.168.2.1/vCPE-x86.qcow2 1753 1754 1755 https://192.168.2.1/vCPE-day0.iso 1756 /config.rom 1757 1758 hostname 1759 IETF-vCPE 1760 1761 1762 ipaddress 1763 192.168.1.2 255.255.255.0 1764 1766 1767 1768 1769 VNF-vFirewall 1770 1771 1 1772 l3p1 1773 l3 1774 1775 1776 2 1777 l2p2 1778 l2 1779 1780 2048 1781 2 1782 1783 1 1784 http://192.168.2.1/vFirewall-x86.qcow2 1785 1786 1787 https://192.168.2.1/vFirewall-day0.iso 1788 /config.rom 1789 1790 hostname 1791 vFirewall 1792 1793 1794 ipaddress 1795 192.168.1.3 255.255.255.0 1796 1797 1798 1799 1801 8. Security Considerations 1803 At this time, no security considerations are addressed by this memo. 1805 9. IANA Considerations 1807 No request to IANA at this time. 1809 10. Acknowledgements 1811 The authors would like to thank: 1813 o Mahesh Jethanandani. 1815 o Robert Varga. 1817 o Bill Wu. 1819 o Joe Clarke. 1821 for their valuable comments. 1823 11. Normative References 1825 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1826 Requirement Levels", BCP 14, RFC 2119, 1827 DOI 10.17487/RFC2119, March 1997, 1828 . 1830 [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module 1831 Classification", RFC 8199, DOI 10.17487/RFC8199, July 1832 2017, . 1834 Authors' Addresses 1836 Dmytro Shytyi 1837 SFR 1838 Paris , Ile-de-France 1839 France 1841 Email: ietf.dmytro@shytyi.net 1842 URI: https://dmytro.shytyi.net 1844 Laurent Beylier 1845 SFR 1846 Paris , Ile-de-France 1847 France 1849 Email: laurent.beylier@sfr.com 1850 Luigi Iannone 1851 Telecom ParisTech 1852 Paris , Ile-de-France 1853 France 1855 Email: luigi.iannone@telecom-paristech.fr