1-- ***************************************************************** 2-- CISCO-VRF-MIB.my 3-- 4-- July 2009, Ganesan Rajam 5-- 6-- Copyright (c) 2009 by cisco Systems Inc. 7-- All rights reserved. 8-- ***************************************************************** 9-- 10 11CISCO-VRF-MIB DEFINITIONS ::= BEGIN 12 13IMPORTS 14 MODULE-IDENTITY, 15 OBJECT-TYPE, 16 Unsigned32, 17 NOTIFICATION-TYPE 18 FROM SNMPv2-SMI 19 MODULE-COMPLIANCE, 20 OBJECT-GROUP, 21 NOTIFICATION-GROUP 22 FROM SNMPv2-CONF 23 StorageType, 24 RowStatus, 25 TruthValue, 26 TEXTUAL-CONVENTION 27 FROM SNMPv2-TC 28 ifIndex, 29 InterfaceIndex, 30 ifName 31 FROM IF-MIB 32 SnmpAdminString 33 FROM SNMP-FRAMEWORK-MIB 34 ciscoMgmt 35 FROM CISCO-SMI; 36 37 38ciscoVrfMIB MODULE-IDENTITY 39 LAST-UPDATED "200912100000Z" 40 ORGANIZATION "Cisco Systems, Inc." 41 CONTACT-INFO 42 "Cisco Systems 43 Customer Service 44 Postal: 170 W Tasman Drive 45 San Jose, CA 95134 46 USA 47 Tel: +1 800 553-NETS 48 E-mail: cs-snmp@cisco.com" 49 DESCRIPTION 50 "The MIB module for provisioning and managing network 51 virtualization features. 52 53 This module provides manageability for VRF, VRF-Lite and 54 vNET. VRF stands for Virtual Routing and Forwarding. VRF 55 is an extension of IP routing that provides multiple routing 56 instances. VRF provides independent routing instances and 57 hence the same or over-lapping addresses can be used without 58 conflicting each other. VRFs are used in conjunction with 59 MPLS VPN to provide traffic separation between multiple VPN 60 customers. 61 62 A VRF-Lite enabled device implements VRFs and does not require 63 MPLS for end to end communication. Instead of using MPLS 64 labels, VRF-Lite uses the interfaces to distinguish routes for 65 different VPNs. VRF-Lite forms virtual packet-forwarding tables 66 by associating one or more interfaces with each VRF, and 67 interfaces cannot belong to more than one VRF at any time. 68 69 VRF-Lite is an IP based hop-by-hop virtualization mechanism and 70 it involves complex configuration of every hop in the network. 71 vNET, virtual network, is also an IP based hop-by-hop mechanism 72 that can provide end-to-end virtualization of the network. vNET 73 greatly reduces the complexity in VRF-Lite deployment. 74 75 This MIB module will allow the user to perform the following 76 77 * Create and monitor VRFs 78 * Group VRFs to create VRF List 79 * Associate/Dis-associate interface to/from a VRF 80 * Enable vNET trunking on an interface 81 * Specify VRF list per trunk" 82 REVISION "200912100000Z" 83 DESCRIPTION 84 "Latest version of this MIB module." 85 ::= { ciscoMgmt 711 } 86 87 88 89-- User Defined Types used in this MIB 90 91CvVrfIfType ::= TEXTUAL-CONVENTION 92 STATUS current 93 DESCRIPTION 94 "The type value denotes the manner in which the interface is 95 used. 96 97 vNETTrunkSI(1) : The sub-interface is created under a vNET 98 trunk interface to carry vNET tagged traffic 99 belonging to a VRF. 100 vNETEdge(2) : The interface is assigned to a VRF which is 101 tagged with a vNET tag. 102 vrfEdge(3) : The interface is assigned to an untagged VRF." 103 SYNTAX INTEGER { 104 vNETTrunkSI(1), 105 vNETEdge(2), 106 vrfEdge(3) 107 } 108 109CvVnetTagOrZero ::= TEXTUAL-CONVENTION 110 STATUS current 111 DESCRIPTION 112 "The tag value assigned to a vNET. The tag value is global, 113 meaning on each router, the same vNET must be assigned the 114 same numerical tag value. This is assigned by the system 115 operator or NMS or through a network tag distribution 116 mechanism. 117 118 The valid tag value is ranged from 2 to 4094. Traffic that 119 carries a vNET tag is called tagged traffic. On the other 120 hand, traffic that does not carry a vNET tag is called 121 untagged traffic. A vNET is defined as a VRF with a tag 122 assigned. A valid tag value assigned to a VRF indicates 123 it is a vNET. 124 125 Zero(0) is a special value and its meaning should be 126 interpreted in conjunction with the object definition 127 using this type." 128 SYNTAX Unsigned32 (0 | 2..4094) 129-- Top Level Object hierarchy 130 131ciscoVrfMIBObjects OBJECT IDENTIFIER 132 ::= { ciscoVrfMIB 1 } 133 134ciscoVrfMIBNotifs OBJECT IDENTIFIER 135 ::= { ciscoVrfMIB 0 } 136 137ciscoVrfMIBConform OBJECT IDENTIFIER 138 ::= { ciscoVrfMIB 2 } 139 140cvVrf OBJECT IDENTIFIER 141 ::= { ciscoVrfMIBObjects 1 } 142 143cvInterface OBJECT IDENTIFIER 144 ::= { ciscoVrfMIBObjects 2 } 145 146cvNotifCntl OBJECT IDENTIFIER 147 ::= { ciscoVrfMIBObjects 3 } 148 149-- Object definitions 150 151cvVrfTable OBJECT-TYPE 152 SYNTAX SEQUENCE OF CvVrfEntry 153 MAX-ACCESS not-accessible 154 STATUS current 155 DESCRIPTION 156 "This table contains entries representing a VRF - Virtual 157 Routing and Forwarding instance. There will be an entry for 158 each VRF instance created in the system." 159 ::= { cvVrf 1 } 160 161cvVrfEntry OBJECT-TYPE 162 SYNTAX CvVrfEntry 163 MAX-ACCESS not-accessible 164 STATUS current 165 DESCRIPTION 166 "An entry representing the information pertaining to a virtual 167 routing and forwarding instance." 168 INDEX { cvVrfIndex } 169 ::= { cvVrfTable 1 } 170 171CvVrfEntry ::= SEQUENCE { 172 cvVrfIndex Unsigned32, 173 cvVrfName SnmpAdminString, 174 cvVrfVnetTag CvVnetTagOrZero, 175 cvVrfOperStatus INTEGER, 176 cvVrfRouteDistProt BITS, 177 cvVrfStorageType StorageType, 178 cvVrfRowStatus RowStatus 179} 180 181cvVrfIndex OBJECT-TYPE 182 SYNTAX Unsigned32 (1..65535) 183 MAX-ACCESS not-accessible 184 STATUS current 185 DESCRIPTION 186 "An identifier that is assigned to each VRF and is used to 187 uniquely identify it. The uniqueness of this identifier is 188 restricted only to this device." 189 ::= { cvVrfEntry 1 } 190 191cvVrfName OBJECT-TYPE 192 SYNTAX SnmpAdminString (SIZE (1..64)) 193 MAX-ACCESS read-create 194 STATUS current 195 DESCRIPTION 196 "The human-readable name of the VRF instance. This name 197 uniquely identifies the VRF instance in the system. 198 199 This object is mandatory for creating an entry in this table." 200 ::= { cvVrfEntry 2 } 201 202cvVrfVnetTag OBJECT-TYPE 203 SYNTAX CvVnetTagOrZero (0 | 2..4094) 204 MAX-ACCESS read-create 205 STATUS current 206 DESCRIPTION 207 "The vNET tag assigned to this VRF instance. 208 209 A value of zero(0) indicates the VRF instance is not a vNET and 210 such vrf could be part of a VRF-Lite or MPLS deployment. 211 212 A set with a value of zero(0) will remove the vNET tag assigned 213 to this VRF. 214 215 The value of this object can be changed even when 216 cvVrfRowStatus is having a value of active(1)." 217 DEFVAL { 0 } 218 ::= { cvVrfEntry 3 } 219 220cvVrfOperStatus OBJECT-TYPE 221 SYNTAX INTEGER { 222 up(1), 223 down(2) 224 } 225 MAX-ACCESS read-only 226 STATUS current 227 DESCRIPTION 228 "Denotes whether a VRF is operational or not. A VRF is 229 up(1) when at least one interface associated with the 230 VRF, which ifOperStatus is up(1). A VRF is down(2) when: 231 232 a. There does not exist at least one interface whose 233 ifOperStatus is up(1). 234 235 b. There are no interfaces associated with the VRF." 236 ::= { cvVrfEntry 4 } 237 238cvVrfRouteDistProt OBJECT-TYPE 239 SYNTAX BITS { 240 none(0), 241 other(1), 242 ospf(2), 243 rip(3), 244 isis(4), 245 eigrp(5), 246 bgp(6) 247 } 248 MAX-ACCESS read-only 249 STATUS current 250 DESCRIPTION 251 "Denotes the route distribution protocol enabled in this 252 VRF. Note that more than one routing protocol may be 253 enabled at the same time." 254 ::= { cvVrfEntry 5 } 255 256cvVrfStorageType OBJECT-TYPE 257 SYNTAX StorageType 258 MAX-ACCESS read-only 259 STATUS current 260 DESCRIPTION 261 "The storage type for this entry." 262 ::= { cvVrfEntry 6 } 263 264cvVrfRowStatus OBJECT-TYPE 265 SYNTAX RowStatus 266 MAX-ACCESS read-create 267 STATUS current 268 DESCRIPTION 269 "This object is used to create, modify, and/or delete a row in 270 this table." 271 ::= { cvVrfEntry 7 } 272 273 274 275cvVrfListTable OBJECT-TYPE 276 SYNTAX SEQUENCE OF CvVrfListEntry 277 MAX-ACCESS not-accessible 278 STATUS current 279 DESCRIPTION 280 "This table contains the entries representing the VRFs in a VRF 281 List." 282 ::= { cvVrf 2 } 283 284cvVrfListEntry OBJECT-TYPE 285 SYNTAX CvVrfListEntry 286 MAX-ACCESS not-accessible 287 STATUS current 288 DESCRIPTION 289 "An entry in this table represents a VRF in a VRF list. A VRF 290 list is a collection of VRFs grouped together. The list defined 291 292 here can be associated to a vNET trunk interface, which would 293 then act as a trunk carrying traffic for all VRFs in the VRF 294 list. 295 296 An example of a VRF List - 297 list1.1 = Vrf_Finance 298 list1.2 = Vrf_HR" 299 INDEX { 300 cvVrfListName, 301 cvVrfListVindex 302 } 303 ::= { cvVrfListTable 1 } 304 305CvVrfListEntry ::= SEQUENCE { 306 cvVrfListName SnmpAdminString, 307 cvVrfListVindex Unsigned32, 308 cvVrfListVrfIndex Unsigned32, 309 cvVrfListStorageType StorageType, 310 cvVrfListRowStatus RowStatus 311} 312 313cvVrfListName OBJECT-TYPE 314 SYNTAX SnmpAdminString (SIZE (1..64)) 315 MAX-ACCESS not-accessible 316 STATUS current 317 DESCRIPTION 318 "The human-readable name of the VRF List. This name uniquely 319 identifies the VRF List in the system." 320 ::= { cvVrfListEntry 1 } 321 322cvVrfListVindex OBJECT-TYPE 323 SYNTAX Unsigned32 (1..32) 324 MAX-ACCESS not-accessible 325 STATUS current 326 DESCRIPTION 327 "This index uniquely identifies a VRF within the VRF list." 328 ::= { cvVrfListEntry 2 } 329 330cvVrfListVrfIndex OBJECT-TYPE 331 SYNTAX Unsigned32 (1..65535) 332 MAX-ACCESS read-create 333 STATUS current 334 DESCRIPTION 335 "This object indicates the associated VRF in the cvVrfTable. 336 The value of this object is index value (cvVrfIndex) 337 of cvVrfTable. 338 339 The value of this object cannot be modified when the entry is 340 in active(1) state." 341 ::= { cvVrfListEntry 3 } 342 343cvVrfListStorageType OBJECT-TYPE 344 SYNTAX StorageType 345 MAX-ACCESS read-only 346 STATUS current 347 DESCRIPTION 348 "The storage type for this entry." 349 ::= { cvVrfListEntry 4 } 350 351cvVrfListRowStatus OBJECT-TYPE 352 SYNTAX RowStatus 353 MAX-ACCESS read-create 354 STATUS current 355 DESCRIPTION 356 "This object is used to create, modify, and/or delete a row in 357 this table." 358 ::= { cvVrfListEntry 5 } 359 360 361 362cvVrfInterfaceTable OBJECT-TYPE 363 SYNTAX SEQUENCE OF CvVrfInterfaceEntry 364 MAX-ACCESS not-accessible 365 STATUS current 366 DESCRIPTION 367 "This table contains the entries representing the interfaces 368 associated with a VRF instance." 369 ::= { cvInterface 1 } 370 371cvVrfInterfaceEntry OBJECT-TYPE 372 SYNTAX CvVrfInterfaceEntry 373 MAX-ACCESS not-accessible 374 STATUS current 375 DESCRIPTION 376 "An entry in this table represents an interface to which a VRF 377 is associated. A VRF can be associated to multiple interfaces. 378 There will be one entry per interface for each VRF instance in 379 this table." 380 INDEX { 381 cvVrfIndex, 382 cvVrfInterfaceIndex 383 } 384 ::= { cvVrfInterfaceTable 1 } 385 386CvVrfInterfaceEntry ::= SEQUENCE { 387 cvVrfInterfaceIndex InterfaceIndex, 388 cvVrfInterfaceType CvVrfIfType, 389 cvVrfInterfaceVnetTagOverride CvVnetTagOrZero, 390 cvVrfInterfaceStorageType StorageType, 391 cvVrfInterfaceRowStatus RowStatus 392} 393 394cvVrfInterfaceIndex OBJECT-TYPE 395 SYNTAX InterfaceIndex (1..2147483647) 396 MAX-ACCESS not-accessible 397 STATUS current 398 DESCRIPTION 399 "This is a unique index for an entry in this table. A non-zero 400 index for an entry indicates the ifIndex for the corresponding 401 interface entry in the ifTable. Note that this table does not 402 necessarily correspond one-to-one with all entries in the 403 Interface MIB." 404 ::= { cvVrfInterfaceEntry 1 } 405 406cvVrfInterfaceType OBJECT-TYPE 407 SYNTAX CvVrfIfType 408 MAX-ACCESS read-only 409 STATUS current 410 DESCRIPTION 411 "The VRF type of this interface. The type of the interface is 412 determined based on the VRF associated with this interface. 413 If the VRF is not tagged with vnet tag then the type will be 414 vrfEdge. If the VRF is tagged with vnet tag then it will become 415 vnetEdge. For vNETTrunkSI, the sub-interface in question is 416 automatically created for a VRF when trunking is enabled on the 417 main interface." 418 ::= { cvVrfInterfaceEntry 2 } 419 420cvVrfInterfaceVnetTagOverride OBJECT-TYPE 421 SYNTAX CvVnetTagOrZero (0 | 2..4094) 422 MAX-ACCESS read-create 423 STATUS current 424 DESCRIPTION 425 "This object can be used to over-ride the vNET tag assigned 426 to the VRF traffic going through this interface. This object is 427 applicable only if the cvVrfInterfaceType of this interface 428 has a value of vNETTrunkSI(1). 429 430 By default the tagged traffic will use the value denoted by 431 cvVrfVnetTag of this VRF. In which case this object will 432 have a value of zero(0). 433 434 A set with a value of zero(0) will revert the tag assignment 435 behaviour to default behaviour mentioned above." 436 DEFVAL { 0 } 437 ::= { cvVrfInterfaceEntry 3 } 438 439cvVrfInterfaceStorageType OBJECT-TYPE 440 SYNTAX StorageType 441 MAX-ACCESS read-only 442 STATUS current 443 DESCRIPTION 444 "The storage type for this entry." 445 ::= { cvVrfInterfaceEntry 4 } 446 447cvVrfInterfaceRowStatus OBJECT-TYPE 448 SYNTAX RowStatus 449 MAX-ACCESS read-create 450 STATUS current 451 DESCRIPTION 452 "This object is used to create, modify, and/or delete a row in 453 this table. 454 455 When a row is created in this table the VRF is associated to an 456 interface. When a row is deleted from this table the VRF is 457 dis-associated from the interface." 458 ::= { cvVrfInterfaceEntry 5 } 459 460 461 462cvInterfaceTable OBJECT-TYPE 463 SYNTAX SEQUENCE OF CvInterfaceEntry 464 MAX-ACCESS not-accessible 465 STATUS current 466 DESCRIPTION 467 "This table contains entries representing the interfaces on 468 which the vNET trunking can be enabled." 469 ::= { cvInterface 2 } 470 471cvInterfaceEntry OBJECT-TYPE 472 SYNTAX CvInterfaceEntry 473 MAX-ACCESS not-accessible 474 STATUS current 475 DESCRIPTION 476 "An entry in this table represents an interface on which the 477 vNET trunking can be enabled. When an interface is enabled for 478 vNET trunking, it will carry the traffic for the VRFs which are 479 tagged with the vNET tag." 480 INDEX { ifIndex } 481 ::= { cvInterfaceTable 1 } 482 483CvInterfaceEntry ::= SEQUENCE { 484 cvInterfaceVnetTrunkEnabled TruthValue, 485 cvInterfaceVnetVrfList SnmpAdminString 486} 487 488cvInterfaceVnetTrunkEnabled OBJECT-TYPE 489 SYNTAX TruthValue 490 MAX-ACCESS read-write 491 STATUS current 492 DESCRIPTION 493 "This object represents the vNET trunking status for this 494 interface. When enabled for vNET trunking the interface will 495 carry traffic of all vNETs in the device." 496 DEFVAL { false } 497 ::= { cvInterfaceEntry 1 } 498 499cvInterfaceVnetVrfList OBJECT-TYPE 500 SYNTAX SnmpAdminString (SIZE (0 | 1..32)) 501 MAX-ACCESS read-write 502 STATUS current 503 DESCRIPTION 504 "The name of the VRF List associated with this interface. 505 A non-zero length string represent a list of vNET tagged VRFs, 506 whose traffic will be forwarded through this interface. 507 A zero length string denotes that the traffic for all the vNET 508 tagged VRFs will be forwarded through this interface." 509 DEFVAL { "" } 510 ::= { cvInterfaceEntry 2 } 511 512 513 514-- Notification control objects 515 516cvVrfIfNotifEnable OBJECT-TYPE 517 SYNTAX TruthValue 518 MAX-ACCESS read-write 519 STATUS current 520 DESCRIPTION 521 "This object indicates whether the device should generate 522 notifications related to VRF Interface status change." 523 DEFVAL { false } 524 ::= { cvNotifCntl 1 } 525 526cvVnetTrunkNotifEnable OBJECT-TYPE 527 SYNTAX TruthValue 528 MAX-ACCESS read-write 529 STATUS current 530 DESCRIPTION 531 "This object indicates whether the device should generate 532 notifications related to vNET Trunk Interface status change." 533 DEFVAL { false } 534 ::= { cvNotifCntl 2 } 535 536-- Notification definitions 537 538cvVrfIfUp NOTIFICATION-TYPE 539 OBJECTS { 540 ifName, 541 cvVrfName, 542 cvVrfOperStatus 543 } 544 STATUS current 545 DESCRIPTION 546 "This notification is generated when: 547 a. The ifOperStatus of an interface associated with a VRF 548 changes to the up(1) state. 549 b. When an interface with ifOperStatus = up(1) is 550 associated with a VRF. 551 552 The interface is identified by ifName and the VRF is 553 identified by cvVrfName varbinds respectively." 554 ::= { ciscoVrfMIBNotifs 1 } 555 556cvVrfIfDown NOTIFICATION-TYPE 557 OBJECTS { 558 ifName, 559 cvVrfName, 560 cvVrfOperStatus 561 } 562 STATUS current 563 DESCRIPTION 564 "This notification is generated when: 565 a. The ifOperStatus of an interface associated with a VRF 566 changes to the down(2) state. 567 b. When an interface with ifOperStatus = up(1) state is 568 disassociated with a VRF. 569 570 The interface is identified by ifName and the VRF is 571 identified by cvVrfName varbinds respectively. 572 573 If all the interfaces associated with the VRF are in down(2) 574 state or if there are no more interfaces associated with the 575 VRF, then the cvVrfOperStatus will have a value of down(2)." 576 ::= { ciscoVrfMIBNotifs 2 } 577 578cvVnetTrunkUp NOTIFICATION-TYPE 579 OBJECTS { ifName } 580 STATUS current 581 DESCRIPTION 582 "This notification is generated when the ifOperStatus of a vNET 583 trunk interface changes to the up(1) state. The interface is 584 identified by ifName varbind. The notification will be 585 generated for only those interfaces for which the 586 cvInterfaceVnetTrunkEnabled object has a value of True(1)." 587 ::= { ciscoVrfMIBNotifs 3 } 588 589cvVnetTrunkDown NOTIFICATION-TYPE 590 OBJECTS { ifName } 591 STATUS current 592 DESCRIPTION 593 "This notification is generated when the ifOperStatus of a vNET 594 trunk interface changes to the down(2) state. The interface is 595 identified by ifName varbind. The notification will be 596 generated for only those interfaces for which the 597 cvInterfaceVnetTrunkEnabled object has a value of True(1)." 598 ::= { ciscoVrfMIBNotifs 4 } 599-- Units of Conformance 600 601cvMIBGroups OBJECT IDENTIFIER 602 ::= { ciscoVrfMIBConform 1 } 603 604 605cvMIBVrfGroup OBJECT-GROUP 606 OBJECTS { 607 cvVrfOperStatus, 608 cvVrfStorageType, 609 cvVrfRowStatus, 610 cvVrfRouteDistProt, 611 cvVrfInterfaceType, 612 cvVrfInterfaceStorageType, 613 cvVrfInterfaceRowStatus, 614 cvVrfIfNotifEnable, 615 cvVrfName 616 } 617 STATUS current 618 DESCRIPTION 619 "Collection of objects needed for VRF and VRF-Lite management." 620 ::= { cvMIBGroups 1 } 621 622cvMIBVrfNotifGroup NOTIFICATION-GROUP 623 NOTIFICATIONS { 624 cvVrfIfUp, 625 cvVrfIfDown 626 } 627 STATUS current 628 DESCRIPTION 629 "Collection of VRF notifications." 630 ::= { cvMIBGroups 2 } 631 632cvMIBVnetGroup OBJECT-GROUP 633 OBJECTS { 634 cvVrfVnetTag, 635 cvVrfListVrfIndex, 636 cvVrfListStorageType, 637 cvVrfListRowStatus, 638 cvVrfInterfaceVnetTagOverride, 639 cvInterfaceVnetTrunkEnabled, 640 cvInterfaceVnetVrfList, 641 cvVnetTrunkNotifEnable 642 } 643 STATUS current 644 DESCRIPTION 645 "Collection of objects needed for vNET management." 646 ::= { cvMIBGroups 3 } 647 648cvMIBVnetNotifGroup NOTIFICATION-GROUP 649 NOTIFICATIONS { 650 cvVnetTrunkUp, 651 cvVnetTrunkDown 652 } 653 STATUS current 654 DESCRIPTION 655 "Collection of VRF and vNET notifications." 656 ::= { cvMIBGroups 4 } 657cvMIBCompliances OBJECT IDENTIFIER 658 ::= { ciscoVrfMIBConform 2 } 659 660 661cvMIBCompliance MODULE-COMPLIANCE 662 STATUS current 663 DESCRIPTION 664 "The compliance statement for SNMP Agents which 665 implement this MIB." 666 MODULE -- this module 667 MANDATORY-GROUPS { 668 cvMIBVrfGroup, 669 cvMIBVrfNotifGroup 670 } 671 672 GROUP cvMIBVnetGroup 673 DESCRIPTION 674 "This group is required to manage vNETs." 675 676 GROUP cvMIBVnetNotifGroup 677 DESCRIPTION 678 "The group is required to provide VRF and vNET notifications." 679 680 OBJECT cvVrfVnetTag 681 MIN-ACCESS read-only 682 DESCRIPTION 683 "It is enough to provide read-only access to this object even 684 though write access is desirable." 685 686 OBJECT cvVrfInterfaceVnetTagOverride 687 MIN-ACCESS read-only 688 DESCRIPTION 689 "It is enough to provide read-only access to this object even 690 though write access is desirable." 691 692 OBJECT cvVrfRowStatus 693 MIN-ACCESS read-only 694 DESCRIPTION 695 "It is enough to provide read-only access to the table 696 containing this object even though it is desirable to use this 697 object to create a row in the table." 698 699 OBJECT cvVrfListRowStatus 700 MIN-ACCESS read-only 701 DESCRIPTION 702 "It is enough to provide read-only access to the table 703 containing this object even though it is desirable to use this 704 object to create a row in the table." 705 706 OBJECT cvVrfInterfaceRowStatus 707 MIN-ACCESS read-only 708 DESCRIPTION 709 "It is enough to provide read-only access to the table 710 containing this object even though it is desirable to use this 711 object to create a row in the table." 712 713 OBJECT cvInterfaceVnetTrunkEnabled 714 MIN-ACCESS read-only 715 DESCRIPTION 716 "It is enough to provide read-only access to this object even 717 though write access is desirable." 718 719 OBJECT cvInterfaceVnetVrfList 720 MIN-ACCESS read-only 721 DESCRIPTION 722 "It is enough to provide read-only access to this object even 723 though write access is desirable." 724 ::= { cvMIBCompliances 1 } 725 726END 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828