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