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