Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / MPLS-L3VPN-STD-MIB
1 MPLS-L3VPN-STD-MIB DEFINITIONS ::= BEGIN
2 IMPORTS
3    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
4    Integer32, Counter32, Unsigned32, Gauge32
5       FROM SNMPv2-SMI                                     -- [RFC2578]
6    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
7       FROM SNMPv2-CONF                                    -- [RFC2580]
8    TEXTUAL-CONVENTION, TruthValue, RowStatus,
9    TimeStamp, StorageType
10       FROM SNMPv2-TC                                      -- [RFC2579]
11    InterfaceIndex, InterfaceIndexOrZero
12       FROM IF-MIB                                         -- [RFC2863]
13    VPNIdOrZero
14      FROM VPN-TC-STD-MIB                                  -- [RFC4265]
15    SnmpAdminString
16       FROM SNMP-FRAMEWORK-MIB                             -- [RFC3411]
17    IANAipRouteProtocol
18       FROM IANA-RTPROTO-MIB                               -- [RTPROTO]
19    InetAddress, InetAddressType,
20    InetAddressPrefixLength,
21    InetAutonomousSystemNumber
22       FROM INET-ADDRESS-MIB                               -- [RFC4001]
23    mplsStdMIB
24       FROM MPLS-TC-STD-MIB                                -- [RFC3811]
25
26
27
28    MplsIndexType
29       FROM MPLS-LSR-STD-MIB                               -- [RFC3813]
30    ;
31
32 mplsL3VpnMIB MODULE-IDENTITY
33    LAST-UPDATED "200601230000Z"  -- 23 January 2006
34    ORGANIZATION "IETF Layer-3 Virtual Private
35                  Networks Working Group."
36    CONTACT-INFO
37           "        Thomas D. Nadeau
38                    tnadeau@cisco.com
39
40                    Harmen van der Linde
41                    havander@cisco.com
42
43                    Comments and discussion to l3vpn@ietf.org"
44    DESCRIPTION
45         "This MIB contains managed object definitions for the
46          Layer-3 Multiprotocol Label Switching Virtual
47          Private Networks.
48
49         Copyright (C) The Internet Society (2006).  This
50         version of this MIB module is part of RFC4382; see
51         the RFC itself for full legal notices."
52   -- Revision history.
53   REVISION
54       "200601230000Z"  -- 23 January 2006
55    DESCRIPTION
56       "Initial version.  Published as RFC 4382."
57    ::= { mplsStdMIB 11 }
58
59 -- Textual Conventions.
60 MplsL3VpnName ::= TEXTUAL-CONVENTION
61    STATUS        current
62    DESCRIPTION
63        "An identifier that is assigned to each MPLS/BGP VPN and
64         is used to uniquely identify it.  This is assigned by the
65         system operator or NMS and SHOULD be unique throughout
66         the MPLS domain.  If this is the case, then this identifier
67         can then be used at any LSR within a specific MPLS domain
68         to identify this MPLS/BGP VPN.  It may also be possible to
69         preserve the uniqueness of this identifier across MPLS
70         domain boundaries, in which case this identifier can then
71         be used to uniquely identify MPLS/BGP VPNs on a more global
72         basis.  This object MAY be set to the VPN ID as defined in
73         RFC 2685."
74    REFERENCE
75         "RFC 2685 Fox B., et al, 'Virtual Private
76
77
78
79          Networks Identifier', September 1999."
80    SYNTAX OCTET STRING (SIZE (0..31))
81
82 MplsL3VpnRouteDistinguisher ::= TEXTUAL-CONVENTION
83    STATUS        current
84    DESCRIPTION
85        "Syntax for a route distinguisher and route target
86         as defined in [RFC4364]."
87    REFERENCE
88         "[RFC4364]"
89    SYNTAX  OCTET STRING(SIZE (0..256))
90
91 MplsL3VpnRtType ::= TEXTUAL-CONVENTION
92    STATUS        current
93    DESCRIPTION
94        "Used to define the type of a route target usage.
95         Route targets can be specified to be imported,
96         exported, or both.  For a complete definition of a
97         route target, see [RFC4364]."
98    REFERENCE
99         "[RFC4364]"
100    SYNTAX INTEGER { import(1), export(2), both(3) }
101
102 -- Top level components of this MIB.
103 mplsL3VpnNotifications OBJECT IDENTIFIER ::= { mplsL3VpnMIB 0 }
104 mplsL3VpnObjects       OBJECT IDENTIFIER ::= { mplsL3VpnMIB 1 }
105 mplsL3VpnScalars       OBJECT IDENTIFIER ::= { mplsL3VpnObjects 1 }
106 mplsL3VpnConf          OBJECT IDENTIFIER ::= { mplsL3VpnObjects 2 }
107 mplsL3VpnPerf          OBJECT IDENTIFIER ::= { mplsL3VpnObjects 3 }
108 mplsL3VpnRoute         OBJECT IDENTIFIER ::= { mplsL3VpnObjects 4 }
109 mplsL3VpnConformance   OBJECT IDENTIFIER ::= { mplsL3VpnMIB 2 }
110
111 --
112 -- Scalar Objects
113 --
114
115 mplsL3VpnConfiguredVrfs OBJECT-TYPE
116    SYNTAX        Unsigned32
117    MAX-ACCESS    read-only
118    STATUS        current
119    DESCRIPTION
120        "The number of VRFs that are configured on this node."
121    ::= { mplsL3VpnScalars 1 }
122
123 mplsL3VpnActiveVrfs OBJECT-TYPE
124    SYNTAX        Gauge32
125    MAX-ACCESS    read-only
126    STATUS        current
127
128
129
130    DESCRIPTION
131        "The number of VRFs that are active on this node.
132         That is, those VRFs whose corresponding mplsL3VpnVrfOperStatus
133         object value is equal to operational (1)."
134    ::= { mplsL3VpnScalars 2 }
135
136 mplsL3VpnConnectedInterfaces OBJECT-TYPE
137    SYNTAX        Gauge32
138    MAX-ACCESS    read-only
139    STATUS        current
140    DESCRIPTION
141        "Total number of interfaces connected to a VRF."
142    ::= { mplsL3VpnScalars 3 }
143
144 mplsL3VpnNotificationEnable OBJECT-TYPE
145    SYNTAX        TruthValue
146    MAX-ACCESS    read-write
147    STATUS        current
148    DESCRIPTION
149         "If this object is true, then it enables the
150          generation of all notifications defined in
151          this MIB.  This object's value should be
152          preserved across agent reboots."
153    REFERENCE
154        "See also [RFC3413] for explanation that
155         notifications are under the ultimate control of the
156         MIB modules in this document."
157    DEFVAL { false }
158    ::= { mplsL3VpnScalars 4 }
159
160 mplsL3VpnVrfConfMaxPossRts  OBJECT-TYPE
161    SYNTAX        Unsigned32
162    MAX-ACCESS    read-only
163    STATUS        current
164    DESCRIPTION
165      "Denotes maximum number of routes that the device
166       will allow all VRFs jointly to hold.  If this value is
167       set to 0, this indicates that the device is
168       unable to determine the absolute maximum.  In this
169       case, the configured maximum MAY not actually
170       be allowed by the device."
171    ::= { mplsL3VpnScalars 5 }
172
173 mplsL3VpnVrfConfRteMxThrshTime  OBJECT-TYPE
174    SYNTAX        Unsigned32
175    UNITS         "seconds"
176    MAX-ACCESS    read-only
177    STATUS        current
178
179
180
181    DESCRIPTION
182      "Denotes the interval in seconds, at which the route max threshold
183       notification may be reissued after the maximum value has been
184       exceeded (or has been reached if mplsL3VpnVrfConfMaxRoutes and
185       mplsL3VpnVrfConfHighRteThresh are equal) and the initial
186       notification has been issued.  This value is intended to prevent
187       continuous generation of notifications by an agent in the event
188       that routes are continually added to a VRF after it has reached
189       its maximum value.  If this value is set to 0, the agent should
190       only issue a single notification at the time that the maximum
191       threshold has been reached, and should not issue any more
192       notifications until the value of routes has fallen below the
193       configured threshold value.  This is the recommended default
194       behavior."
195    DEFVAL { 0 }
196    ::= { mplsL3VpnScalars 6 }
197
198 mplsL3VpnIllLblRcvThrsh OBJECT-TYPE
199    SYNTAX        Unsigned32
200    MAX-ACCESS    read-write
201    STATUS        current
202    DESCRIPTION
203        "The number of illegally received labels above which
204         the mplsNumVrfSecIllglLblThrshExcd notification
205         is issued.  The persistence of this value mimics
206         that of the device's configuration."
207    ::= { mplsL3VpnScalars 7 }
208
209 -- VPN Interface Configuration Table
210
211 mplsL3VpnIfConfTable  OBJECT-TYPE
212    SYNTAX        SEQUENCE OF MplsL3VpnIfConfEntry
213    MAX-ACCESS    not-accessible
214    STATUS        current
215    DESCRIPTION
216        "This table specifies per-interface MPLS capability
217         and associated information."
218    ::= { mplsL3VpnConf 1 }
219
220 mplsL3VpnIfConfEntry OBJECT-TYPE
221    SYNTAX        MplsL3VpnIfConfEntry
222    MAX-ACCESS    not-accessible
223    STATUS        current
224    DESCRIPTION
225        "An entry in this table is created by an LSR for
226         every interface capable of supporting MPLS L3VPN.
227         Each entry in this table is meant to correspond to
228         an entry in the Interfaces Table."
229
230
231
232    INDEX       { mplsL3VpnVrfName, mplsL3VpnIfConfIndex }
233    ::= { mplsL3VpnIfConfTable 1 }
234
235 MplsL3VpnIfConfEntry ::= SEQUENCE {
236   mplsL3VpnIfConfIndex             InterfaceIndex,
237   mplsL3VpnIfVpnClassification     INTEGER,
238   mplsL3VpnIfVpnRouteDistProtocol  BITS,
239   mplsL3VpnIfConfStorageType       StorageType,
240   mplsL3VpnIfConfRowStatus         RowStatus
241 }
242
243 mplsL3VpnIfConfIndex OBJECT-TYPE
244    SYNTAX        InterfaceIndex
245    MAX-ACCESS    not-accessible
246    STATUS        current
247    DESCRIPTION
248        "This is a unique index for an entry in the
249         mplsL3VpnIfConfTable.  A non-zero index for an
250         entry indicates the ifIndex for the corresponding
251         interface entry in the MPLS-VPN-layer in the ifTable.
252         Note that this table does not necessarily correspond
253         one-to-one with all entries in the Interface MIB
254         having an ifType of MPLS-layer; rather, only those
255         that are enabled for MPLS L3VPN functionality."
256    REFERENCE
257        "RFC2863"
258    ::= { mplsL3VpnIfConfEntry 1 }
259
260 mplsL3VpnIfVpnClassification OBJECT-TYPE
261    SYNTAX        INTEGER { carrierOfCarrier (1),
262                            enterprise (2),
263                            interProvider (3)
264    }
265    MAX-ACCESS    read-create
266    STATUS        current
267    DESCRIPTION
268        "Denotes whether this link participates in a
269         carrier's carrier, enterprise, or inter-provider
270         scenario."
271    DEFVAL { enterprise }
272    ::= { mplsL3VpnIfConfEntry 2 }
273
274 mplsL3VpnIfVpnRouteDistProtocol OBJECT-TYPE
275    SYNTAX        BITS { none (0),
276                         bgp (1),
277                         ospf (2),
278                         rip(3),
279                         isis(4),
280
281
282
283                         static(5),
284                         other (6)
285    }
286    MAX-ACCESS    read-create
287    STATUS        current
288    DESCRIPTION
289        "Denotes the route distribution protocol across the
290         PE-CE link.  Note that more than one routing protocol
291         may be enabled at the same time; thus, this object is
292         specified as a bitmask.  For example, static(5) and
293         ospf(2) are a typical configuration."
294    ::= { mplsL3VpnIfConfEntry 3 }
295
296 mplsL3VpnIfConfStorageType  OBJECT-TYPE
297    SYNTAX      StorageType
298    MAX-ACCESS  read-create
299    STATUS      current
300    DESCRIPTION
301        "The storage type for this VPN If entry.
302         Conceptual rows having the value 'permanent'
303         need not allow write access to any columnar
304         objects in the row."
305    REFERENCE
306         "See RFC2579."
307    DEFVAL { volatile }
308    ::= { mplsL3VpnIfConfEntry 4 }
309
310 mplsL3VpnIfConfRowStatus  OBJECT-TYPE
311    SYNTAX      RowStatus
312    MAX-ACCESS  read-create
313    STATUS      current
314    DESCRIPTION
315        "This variable is used to create, modify, and/or
316         delete a row in this table.  Rows in this
317         table signify that the specified interface is
318         associated with this VRF.  If the row creation
319         operation succeeds, the interface will have been
320         associated with the specified VRF, otherwise the
321         agent MUST not allow the association.  If the agent
322         only allows read-only operations on this table, it
323         MUST create entries in this table as they are created
324         on the device.  When a row in this table is in
325         active(1) state, no objects in that row can be
326         modified except mplsL3VpnIfConfStorageType and
327         mplsL3VpnIfConfRowStatus."
328    ::= { mplsL3VpnIfConfEntry 5 }
329
330 -- VRF Configuration Table
331
332
333
334 mplsL3VpnVrfTable  OBJECT-TYPE
335    SYNTAX        SEQUENCE OF MplsL3VpnVrfEntry
336    MAX-ACCESS    not-accessible
337    STATUS        current
338    DESCRIPTION
339        "This table specifies per-interface MPLS L3VPN
340         VRF Table capability and associated information.
341         Entries in this table define VRF routing instances
342         associated with MPLS/VPN interfaces.  Note that
343         multiple interfaces can belong to the same VRF
344         instance.  The collection of all VRF instances
345         comprises an actual VPN."
346    ::= { mplsL3VpnConf 2 }
347
348 mplsL3VpnVrfEntry OBJECT-TYPE
349    SYNTAX        MplsL3VpnVrfEntry
350    MAX-ACCESS    not-accessible
351    STATUS        current
352    DESCRIPTION
353        "An entry in this table is created by an LSR for
354         every VRF capable of supporting MPLS L3VPN.  The
355         indexing provides an ordering of VRFs per-VPN
356         interface."
357    INDEX       { mplsL3VpnVrfName }
358    ::= { mplsL3VpnVrfTable 1 }
359 MplsL3VpnVrfEntry ::= SEQUENCE {
360   mplsL3VpnVrfName                      MplsL3VpnName,
361   mplsL3VpnVrfVpnId                     VPNIdOrZero,
362   mplsL3VpnVrfDescription               SnmpAdminString,
363   mplsL3VpnVrfRD                        MplsL3VpnRouteDistinguisher,
364   mplsL3VpnVrfCreationTime              TimeStamp,
365   mplsL3VpnVrfOperStatus                INTEGER,
366   mplsL3VpnVrfActiveInterfaces          Gauge32,
367   mplsL3VpnVrfAssociatedInterfaces      Unsigned32,
368   mplsL3VpnVrfConfMidRteThresh          Unsigned32,
369   mplsL3VpnVrfConfHighRteThresh         Unsigned32,
370   mplsL3VpnVrfConfMaxRoutes             Unsigned32,
371   mplsL3VpnVrfConfLastChanged           TimeStamp,
372   mplsL3VpnVrfConfRowStatus             RowStatus,
373   mplsL3VpnVrfConfAdminStatus           INTEGER,
374   mplsL3VpnVrfConfStorageType           StorageType
375 }
376
377 mplsL3VpnVrfName OBJECT-TYPE
378    SYNTAX        MplsL3VpnName
379    MAX-ACCESS    not-accessible
380    STATUS        current
381    DESCRIPTION
382
383
384
385        "The human-readable name of this VPN.  This MAY
386         be equivalent to the [RFC2685] VPN-ID, but may
387         also vary.  If it is set to the VPN ID, it MUST
388         be equivalent to the value of mplsL3VpnVrfVpnId.
389         It is strongly recommended that all sites supporting
390         VRFs that are part of the same VPN use the same
391         naming convention for VRFs as well as the same VPN
392         ID."
393    REFERENCE
394        "[RFC2685]"
395    ::= { mplsL3VpnVrfEntry 1 }
396
397 mplsL3VpnVrfVpnId OBJECT-TYPE
398    SYNTAX        VPNIdOrZero
399    MAX-ACCESS    read-create
400    STATUS        current
401    DESCRIPTION
402        "The VPN ID as specified in [RFC2685].  If a VPN ID
403         has not been specified for this VRF, then this
404         variable SHOULD be set to a zero-length OCTET
405         STRING."
406    ::= { mplsL3VpnVrfEntry 2 }
407
408 mplsL3VpnVrfDescription OBJECT-TYPE
409    SYNTAX        SnmpAdminString
410    MAX-ACCESS    read-create
411    STATUS        current
412    DESCRIPTION
413        "The human-readable description of this VRF."
414    DEFVAL { "" }
415    ::= { mplsL3VpnVrfEntry 3 }
416
417 mplsL3VpnVrfRD OBJECT-TYPE
418    SYNTAX        MplsL3VpnRouteDistinguisher
419    MAX-ACCESS    read-create
420    STATUS        current
421    DESCRIPTION
422        "The route distinguisher for this VRF."
423    DEFVAL { "" }
424    ::= { mplsL3VpnVrfEntry 4 }
425
426 mplsL3VpnVrfCreationTime OBJECT-TYPE
427    SYNTAX        TimeStamp
428    MAX-ACCESS    read-only
429    STATUS        current
430    DESCRIPTION
431        "The time at which this VRF entry was created."
432    ::= { mplsL3VpnVrfEntry 5 }
433
434
435
436 mplsL3VpnVrfOperStatus OBJECT-TYPE
437    SYNTAX        INTEGER { up (1),
438                            down (2)
439                          }
440    MAX-ACCESS    read-only
441    STATUS        current
442    DESCRIPTION
443        "Denotes whether or not a VRF is operational.  A VRF is
444         up(1) when there is at least one interface associated
445         with the VRF whose ifOperStatus is up(1).  A VRF is
446         down(2) when:
447         a. There does not exist at least one interface whose
448            ifOperStatus is up(1).
449         b. There are no interfaces associated with the VRF."
450    ::= { mplsL3VpnVrfEntry 6 }
451
452 mplsL3VpnVrfActiveInterfaces OBJECT-TYPE
453    SYNTAX        Gauge32
454    MAX-ACCESS    read-only
455    STATUS        current
456    DESCRIPTION
457        "Total number of interfaces connected to this VRF with
458         ifOperStatus = up(1).
459
460         This value should increase when an interface is associated
461         with the corresponding VRF and its corresponding ifOperStatus
462         is equal to up(1).  If an interface is associated whose
463         ifOperStatus is not up(1), then the value is not incremented
464         until such time as it transitions to this state.
465
466         This value should be decremented when an interface is
467         disassociated with a VRF or the corresponding ifOperStatus
468         transitions out of the up(1) state to any other state.
469        "
470    ::= { mplsL3VpnVrfEntry 7 }
471
472 mplsL3VpnVrfAssociatedInterfaces OBJECT-TYPE
473    SYNTAX        Unsigned32
474    MAX-ACCESS    read-only
475    STATUS        current
476    DESCRIPTION
477        "Total number of interfaces connected to this VRF
478         (independent of ifOperStatus type)."
479    ::= { mplsL3VpnVrfEntry 8 }
480
481 mplsL3VpnVrfConfMidRteThresh    OBJECT-TYPE
482    SYNTAX        Unsigned32
483    MAX-ACCESS    read-create
484
485
486
487    STATUS        current
488    DESCRIPTION
489      "Denotes mid-level water marker for the number
490       of routes that this VRF may hold."
491   DEFVAL { 0 }
492   ::= { mplsL3VpnVrfEntry 9 }
493
494 mplsL3VpnVrfConfHighRteThresh  OBJECT-TYPE
495    SYNTAX        Unsigned32
496    MAX-ACCESS    read-create
497    STATUS        current
498    DESCRIPTION
499      "Denotes high-level water marker for the number of
500       routes that this VRF may hold."
501    DEFVAL { 0 }
502   ::= { mplsL3VpnVrfEntry 10 }
503
504 mplsL3VpnVrfConfMaxRoutes  OBJECT-TYPE
505    SYNTAX        Unsigned32
506    MAX-ACCESS    read-create
507    STATUS        current
508    DESCRIPTION
509      "Denotes maximum number of routes that this VRF is
510       configured to hold.  This value MUST be less than or
511       equal to mplsL3VpnVrfConfMaxPossRts unless it is set
512       to 0."
513    DEFVAL { 0 }
514   ::= { mplsL3VpnVrfEntry 11 }
515
516 mplsL3VpnVrfConfLastChanged  OBJECT-TYPE
517    SYNTAX        TimeStamp
518    MAX-ACCESS    read-only
519    STATUS        current
520    DESCRIPTION
521      "The value of sysUpTime at the time of the last
522       change of this table entry, which includes changes of
523       VRF parameters defined in this table or addition or
524       deletion of interfaces associated with this VRF."
525   ::= { mplsL3VpnVrfEntry 12 }
526
527 mplsL3VpnVrfConfRowStatus OBJECT-TYPE
528    SYNTAX        RowStatus
529    MAX-ACCESS    read-create
530    STATUS        current
531    DESCRIPTION
532        "This variable is used to create, modify, and/or
533         delete a row in this table.
534
535
536
537
538         When a row in this table is in active(1) state, no
539         objects in that row can be modified except
540         mplsL3VpnVrfConfAdminStatus, mplsL3VpnVrfConfRowStatus,
541         and mplsL3VpnVrfConfStorageType."
542   ::= { mplsL3VpnVrfEntry 13 }
543
544 mplsL3VpnVrfConfAdminStatus OBJECT-TYPE
545    SYNTAX     INTEGER {
546                       up(1),     -- ready to pass packets
547                       down(2),   -- can't pass packets
548                       testing(3) -- in some test mode
549                 }
550    MAX-ACCESS    read-create
551    STATUS        current
552    DESCRIPTION
553         "Indicates the desired operational status of this
554          VRF."
555   ::= { mplsL3VpnVrfEntry 14 }
556
557 mplsL3VpnVrfConfStorageType  OBJECT-TYPE
558    SYNTAX      StorageType
559    MAX-ACCESS  read-create
560    STATUS      current
561    DESCRIPTION
562         "The storage type for this VPN VRF entry.
563          Conceptual rows having the value 'permanent'
564          need not allow write access to any columnar
565          objects in the row."
566    REFERENCE
567         "See RFC2579."
568    DEFVAL { volatile }
569    ::= { mplsL3VpnVrfEntry 15 }
570
571
572 -- MplsL3VpnVrfRTTable
573 mplsL3VpnVrfRTTable OBJECT-TYPE
574     SYNTAX        SEQUENCE OF MplsL3VpnVrfRTEntry
575     MAX-ACCESS    not-accessible
576     STATUS        current
577     DESCRIPTION
578         "This table specifies per-VRF route target association.
579          Each entry identifies a connectivity policy supported
580          as part of a VPN."
581     ::= { mplsL3VpnConf 3 }
582
583 mplsL3VpnVrfRTEntry OBJECT-TYPE
584     SYNTAX        MplsL3VpnVrfRTEntry
585     MAX-ACCESS    not-accessible
586
587
588
589     STATUS        current
590     DESCRIPTION
591        "An entry in this table is created by an LSR for
592         each route target configured for a VRF supporting
593         a MPLS L3VPN instance.  The indexing provides an
594         ordering per-VRF instance.  See [RFC4364] for a
595         complete definition of a route target."
596     INDEX  { mplsL3VpnVrfName, mplsL3VpnVrfRTIndex,
597              mplsL3VpnVrfRTType }
598     ::= { mplsL3VpnVrfRTTable 1 }
599
600 MplsL3VpnVrfRTEntry ::= SEQUENCE {
601      mplsL3VpnVrfRTIndex       Unsigned32,
602      mplsL3VpnVrfRTType        MplsL3VpnRtType,
603      mplsL3VpnVrfRT            MplsL3VpnRouteDistinguisher,
604      mplsL3VpnVrfRTDescr       SnmpAdminString,
605      mplsL3VpnVrfRTRowStatus   RowStatus,
606      mplsL3VpnVrfRTStorageType StorageType
607    }
608
609 mplsL3VpnVrfRTIndex OBJECT-TYPE
610    SYNTAX        Unsigned32 (1..4294967295)
611    MAX-ACCESS    not-accessible
612    STATUS        current
613    DESCRIPTION
614        "Auxiliary index for route targets configured for a
615         particular VRF."
616    ::= { mplsL3VpnVrfRTEntry 2 }
617
618 mplsL3VpnVrfRTType OBJECT-TYPE
619    SYNTAX        MplsL3VpnRtType
620    MAX-ACCESS    not-accessible
621    STATUS        current
622    DESCRIPTION
623        "The route target distribution type."
624    ::= { mplsL3VpnVrfRTEntry 3 }
625
626 mplsL3VpnVrfRT OBJECT-TYPE
627    SYNTAX        MplsL3VpnRouteDistinguisher
628    MAX-ACCESS    read-create
629    STATUS        current
630    DESCRIPTION
631        "The route target distribution policy."
632    DEFVAL { "" }
633    ::= { mplsL3VpnVrfRTEntry 4 }
634
635 mplsL3VpnVrfRTDescr OBJECT-TYPE
636    SYNTAX        SnmpAdminString
637
638
639
640    MAX-ACCESS    read-create
641    STATUS        current
642    DESCRIPTION
643        "Description of the route target."
644    DEFVAL { "" }
645    ::= { mplsL3VpnVrfRTEntry 5 }
646
647 mplsL3VpnVrfRTRowStatus OBJECT-TYPE
648    SYNTAX        RowStatus
649    MAX-ACCESS    read-create
650    STATUS        current
651    DESCRIPTION
652        "This variable is used to create, modify, and/or
653         delete a row in this table.  When a row in this
654         table is in active(1) state, no objects in that row
655         can be modified except mplsL3VpnVrfRTRowStatus."
656    ::= { mplsL3VpnVrfRTEntry 6 }
657
658 mplsL3VpnVrfRTStorageType OBJECT-TYPE
659    SYNTAX        StorageType
660    MAX-ACCESS    read-create
661    STATUS        current
662    DESCRIPTION
663         "The storage type for this VPN route target (RT) entry.
664          Conceptual rows having the value 'permanent'
665          need not allow write access to any columnar
666          objects in the row."
667    REFERENCE
668         "See RFC2579."
669    DEFVAL { volatile }
670    ::= { mplsL3VpnVrfRTEntry 7 }
671
672 -- VRF Security Table
673
674 mplsL3VpnVrfSecTable  OBJECT-TYPE
675    SYNTAX        SEQUENCE OF MplsL3VpnVrfSecEntry
676    MAX-ACCESS    not-accessible
677    STATUS        current
678    DESCRIPTION
679        "This table specifies per MPLS L3VPN VRF Table
680         security-related counters."
681    ::= { mplsL3VpnConf 6 }
682
683 mplsL3VpnVrfSecEntry OBJECT-TYPE
684    SYNTAX        MplsL3VpnVrfSecEntry
685    MAX-ACCESS    not-accessible
686    STATUS        current
687    DESCRIPTION
688
689
690
691        "An entry in this table is created by an LSR for
692         every VRF capable of supporting MPLS L3VPN.  Each
693         entry in this table is used to indicate security-related
694         information for each VRF entry."
695    AUGMENTS      { mplsL3VpnVrfEntry }
696       ::= { mplsL3VpnVrfSecTable 1 }
697
698 MplsL3VpnVrfSecEntry ::= SEQUENCE {
699        mplsL3VpnVrfSecIllegalLblVltns     Counter32,
700        mplsL3VpnVrfSecDiscontinuityTime   TimeStamp
701 }
702
703 mplsL3VpnVrfSecIllegalLblVltns OBJECT-TYPE
704    SYNTAX        Counter32
705    MAX-ACCESS    read-only
706    STATUS        current
707    DESCRIPTION
708        "Indicates the number of illegally received
709         labels on this VPN/VRF.
710
711         Discontinuities in the value of this counter can occur
712         at re-initialization of the management system, and at
713         other times as indicated by the value of
714         mplsL3VpnVrfSecDiscontinuityTime."
715    ::= { mplsL3VpnVrfSecEntry 1 }
716
717 mplsL3VpnVrfSecDiscontinuityTime  OBJECT-TYPE
718    SYNTAX              TimeStamp
719    MAX-ACCESS          read-only
720    STATUS              current
721    DESCRIPTION
722        "The value of sysUpTime on the most recent occasion at
723         which any one or more of this entry's counters suffered
724         a discontinuity.  If no such discontinuities have
725         occurred since the last re-initialization of the local
726         management subsystem, then this object contains a zero
727         value."
728    ::= { mplsL3VpnVrfSecEntry 2 }
729
730
731 -- VRF Performance Table
732
733 mplsL3VpnVrfPerfTable  OBJECT-TYPE
734    SYNTAX        SEQUENCE OF MplsL3VpnVrfPerfEntry
735    MAX-ACCESS    not-accessible
736    STATUS        current
737    DESCRIPTION
738        "This table specifies per MPLS L3VPN VRF Table performance
739
740
741
742         information."
743    ::= { mplsL3VpnPerf 1 }
744
745 mplsL3VpnVrfPerfEntry OBJECT-TYPE
746    SYNTAX        MplsL3VpnVrfPerfEntry
747    MAX-ACCESS    not-accessible
748    STATUS        current
749    DESCRIPTION
750        "An entry in this table is created by an LSR for
751         every VRF capable of supporting MPLS L3VPN."
752    AUGMENTS      { mplsL3VpnVrfEntry }
753       ::= { mplsL3VpnVrfPerfTable 1 }
754
755 MplsL3VpnVrfPerfEntry ::= SEQUENCE {
756    mplsL3VpnVrfPerfRoutesAdded       Counter32,
757    mplsL3VpnVrfPerfRoutesDeleted     Counter32,
758    mplsL3VpnVrfPerfCurrNumRoutes     Gauge32,
759    mplsL3VpnVrfPerfRoutesDropped     Counter32,
760    mplsL3VpnVrfPerfDiscTime          TimeStamp
761 }
762
763 mplsL3VpnVrfPerfRoutesAdded OBJECT-TYPE
764    SYNTAX        Counter32
765    MAX-ACCESS    read-only
766    STATUS        current
767    DESCRIPTION
768        "Indicates the number of routes added to this VPN/VRF
769         since the last discontinuity.  Discontinuities in
770         the value of this counter can occur
771         at re-initialization of the management system, and at
772         other times as indicated by the value of
773         mplsL3VpnVrfPerfDiscTime."
774    ::= { mplsL3VpnVrfPerfEntry 1 }
775
776 mplsL3VpnVrfPerfRoutesDeleted OBJECT-TYPE
777    SYNTAX        Counter32
778    MAX-ACCESS    read-only
779    STATUS        current
780    DESCRIPTION
781        "Indicates the number of routes removed from this VPN/VRF.
782
783         Discontinuities in the value of this counter can occur
784         at re-initialization of the management system, and at
785         other times as indicated by the value of
786         mplsL3VpnVrfPerfDiscTime."
787    ::= { mplsL3VpnVrfPerfEntry 2 }
788
789 mplsL3VpnVrfPerfCurrNumRoutes     OBJECT-TYPE
790
791
792
793    SYNTAX        Gauge32
794    MAX-ACCESS    read-only
795    STATUS        current
796    DESCRIPTION
797        "Indicates the number of routes currently used by this
798         VRF."
799    ::= { mplsL3VpnVrfPerfEntry 3 }
800
801
802 mplsL3VpnVrfPerfRoutesDropped OBJECT-TYPE
803    SYNTAX        Counter32
804    MAX-ACCESS    read-only
805    STATUS        current
806    DESCRIPTION
807        "This counter should be incremented when the number of routes
808         contained by the specified VRF exceeds or attempts to exceed
809         the maximum allowed value as indicated by
810         mplsL3VpnVrfMaxRouteThreshold.
811
812         Discontinuities in the value of this counter can occur
813         at re-initialization of the management system, and at
814         other times as indicated by the value of
815         mplsL3VpnVrfPerfDiscTime."
816   ::= { mplsL3VpnVrfPerfEntry 4 }
817
818 mplsL3VpnVrfPerfDiscTime  OBJECT-TYPE
819    SYNTAX              TimeStamp
820    MAX-ACCESS          read-only
821    STATUS              current
822    DESCRIPTION
823        "The value of sysUpTime on the most recent occasion at
824         which any one or more of this entry's counters suffered
825         a discontinuity.  If no such discontinuities have
826         occurred since the last re-initialization of the local
827         management subsystem, then this object contains a zero
828         value."
829   ::= { mplsL3VpnVrfPerfEntry 5 }
830
831 -- VRF Routing Table
832
833 mplsL3VpnVrfRteTable  OBJECT-TYPE
834    SYNTAX        SEQUENCE OF MplsL3VpnVrfRteEntry
835    MAX-ACCESS    not-accessible
836    STATUS        current
837    DESCRIPTION
838        "This table specifies per-interface MPLS L3VPN VRF Table
839         routing information.  Entries in this table define VRF routing
840         entries associated with the specified MPLS/VPN interfaces.  Note
841
842
843
844         that this table contains both BGP and Interior Gateway Protocol
845         IGP routes, as both may appear in the same VRF."
846     REFERENCE
847        "[RFC2096]"
848    ::= { mplsL3VpnRoute 1 }
849
850 mplsL3VpnVrfRteEntry OBJECT-TYPE
851    SYNTAX        MplsL3VpnVrfRteEntry
852    MAX-ACCESS    not-accessible
853    STATUS        current
854    DESCRIPTION
855        "An entry in this table is created by an LSR for every route
856         present configured (either dynamically or statically) within
857         the context of a specific VRF capable of supporting MPLS/BGP
858         VPN.  The indexing provides an ordering of VRFs per-VPN
859         interface.
860
861         Implementers need to be aware that there are quite a few
862         index objects that together can exceed the size allowed
863         for an Object Identifier (OID).  So implementers must make
864         sure that OIDs of column instances in this table will have
865         no more than 128 sub-identifiers, otherwise they cannot be
866         accessed using SNMPv1, SNMPv2c, or SNMPv3."
867
868       INDEX  { mplsL3VpnVrfName,
869                mplsL3VpnVrfRteInetCidrDestType,
870                mplsL3VpnVrfRteInetCidrDest,
871                mplsL3VpnVrfRteInetCidrPfxLen,
872                mplsL3VpnVrfRteInetCidrPolicy,
873                mplsL3VpnVrfRteInetCidrNHopType,
874                mplsL3VpnVrfRteInetCidrNextHop
875       }
876       ::= { mplsL3VpnVrfRteTable 1 }
877
878 MplsL3VpnVrfRteEntry ::= SEQUENCE {
879          mplsL3VpnVrfRteInetCidrDestType     InetAddressType,
880          mplsL3VpnVrfRteInetCidrDest         InetAddress,
881          mplsL3VpnVrfRteInetCidrPfxLen       InetAddressPrefixLength,
882          mplsL3VpnVrfRteInetCidrPolicy       OBJECT IDENTIFIER,
883          mplsL3VpnVrfRteInetCidrNHopType     InetAddressType,
884          mplsL3VpnVrfRteInetCidrNextHop      InetAddress,
885          mplsL3VpnVrfRteInetCidrIfIndex      InterfaceIndexOrZero,
886          mplsL3VpnVrfRteInetCidrType         INTEGER,
887          mplsL3VpnVrfRteInetCidrProto        IANAipRouteProtocol,
888          mplsL3VpnVrfRteInetCidrAge          Gauge32,
889          mplsL3VpnVrfRteInetCidrNextHopAS    InetAutonomousSystemNumber,
890          mplsL3VpnVrfRteInetCidrMetric1      Integer32,
891          mplsL3VpnVrfRteInetCidrMetric2      Integer32,
892
893
894
895          mplsL3VpnVrfRteInetCidrMetric3      Integer32,
896          mplsL3VpnVrfRteInetCidrMetric4      Integer32,
897          mplsL3VpnVrfRteInetCidrMetric5      Integer32,
898          mplsL3VpnVrfRteXCPointer            MplsIndexType,
899          mplsL3VpnVrfRteInetCidrStatus       RowStatus
900        }
901
902     mplsL3VpnVrfRteInetCidrDestType OBJECT-TYPE
903         SYNTAX     InetAddressType
904         MAX-ACCESS not-accessible
905         STATUS     current
906         DESCRIPTION
907                "The type of the mplsL3VpnVrfRteInetCidrDest address, as
908                 defined in the InetAddress MIB.
909
910                 Only those address types that may appear in an actual
911                 routing table are allowed as values of this object."
912         REFERENCE "RFC4001"
913         ::= { mplsL3VpnVrfRteEntry 1 }
914
915     mplsL3VpnVrfRteInetCidrDest OBJECT-TYPE
916         SYNTAX     InetAddress
917         MAX-ACCESS not-accessible
918         STATUS     current
919         DESCRIPTION
920                "The destination IP address of this route.
921
922                 The type of this address is determined by the value of
923                 the mplsL3VpnVrfRteInetCidrDestType object.
924
925                 The values for the index objects
926                 mplsL3VpnVrfRteInetCidrDest and
927                 mplsL3VpnVrfRteInetCidrPfxLen must be consistent.  When
928                 the value of mplsL3VpnVrfRteInetCidrDest is x, then
929                 the bitwise logical-AND of x with the value of the mask
930                 formed from the corresponding index object
931                 mplsL3VpnVrfRteInetCidrPfxLen MUST be
932                 equal to x.  If not, then the index pair is not
933                 consistent and an inconsistentName error must be
934                 returned on SET or CREATE requests."
935         ::= { mplsL3VpnVrfRteEntry 2 }
936
937     mplsL3VpnVrfRteInetCidrPfxLen OBJECT-TYPE
938         SYNTAX     InetAddressPrefixLength (0..128)
939         MAX-ACCESS not-accessible
940         STATUS     current
941         DESCRIPTION
942                "Indicates the number of leading one bits that form the
943
944
945
946                 mask to be logical-ANDed with the destination address
947                 before being compared to the value in the
948                 mplsL3VpnVrfRteInetCidrDest field.
949
950                 The values for the index objects
951                 mplsL3VpnVrfRteInetCidrDest and
952                 mplsL3VpnVrfRteInetCidrPfxLen must be consistent.  When
953                 the value of mplsL3VpnVrfRteInetCidrDest is x, then the
954                 bitwise logical-AND of x with the value of the mask
955                 formed from the corresponding index object
956                 mplsL3VpnVrfRteInetCidrPfxLen MUST be
957                 equal to x.  If not, then the index pair is not
958                 consistent and an inconsistentName error must be
959                 returned on SET or CREATE requests."
960         ::= { mplsL3VpnVrfRteEntry 3 }
961
962     mplsL3VpnVrfRteInetCidrPolicy OBJECT-TYPE
963         SYNTAX     OBJECT IDENTIFIER
964         MAX-ACCESS not-accessible
965         STATUS     current
966         DESCRIPTION
967                "This object is an opaque object without any defined
968                 semantics.  Its purpose is to serve as an additional
969                 index that may delineate between multiple entries to
970                 the same destination.  The value { 0 0 } shall be used
971                 as the default value for this object."
972         ::= { mplsL3VpnVrfRteEntry 4 }
973
974     mplsL3VpnVrfRteInetCidrNHopType OBJECT-TYPE
975         SYNTAX     InetAddressType
976         MAX-ACCESS not-accessible
977         STATUS     current
978         DESCRIPTION
979                "The type of the mplsL3VpnVrfRteInetCidrNextHop address,
980                 as defined in the InetAddress MIB.
981
982                 Value should be set to unknown(0) for non-remote
983                 routes.
984
985                 Only those address types that may appear in an actual
986                 routing table are allowed as values of this object."
987         REFERENCE "RFC4001"
988         ::= { mplsL3VpnVrfRteEntry 5 }
989
990     mplsL3VpnVrfRteInetCidrNextHop OBJECT-TYPE
991         SYNTAX     InetAddress
992         MAX-ACCESS not-accessible
993         STATUS     current
994
995
996
997         DESCRIPTION
998                "On remote routes, the address of the next system en
999                 route.  For non-remote routes, a zero-length string.
1000                 The type of this address is determined by the value of
1001                 the mplsL3VpnVrfRteInetCidrNHopType object."
1002         ::= { mplsL3VpnVrfRteEntry 6 }
1003
1004     mplsL3VpnVrfRteInetCidrIfIndex OBJECT-TYPE
1005         SYNTAX     InterfaceIndexOrZero
1006         MAX-ACCESS read-create
1007         STATUS     current
1008         DESCRIPTION
1009                "The ifIndex value that identifies the local interface
1010                 through which the next hop of this route should be
1011                 reached.  A value of 0 is valid and represents the
1012                 scenario where no interface is specified."
1013         DEFVAL { 0 }
1014         ::= { mplsL3VpnVrfRteEntry 7 }
1015
1016     mplsL3VpnVrfRteInetCidrType OBJECT-TYPE
1017         SYNTAX     INTEGER {
1018                     other    (1), -- not specified by this MIB
1019                     reject   (2), -- route which discards traffic and
1020                                   --   returns ICMP notification
1021                     local    (3), -- local interface
1022                     remote   (4), -- remote destination
1023                     blackhole(5)  -- route which discards traffic
1024                                   --   silently
1025                  }
1026         MAX-ACCESS read-create
1027         STATUS     current
1028         DESCRIPTION
1029                "The type of route.  Note that local(3) refers to a
1030                 route for which the next hop is the final destination;
1031                 remote(4) refers to a route for which the next hop is
1032                 not the final destination.
1033
1034                 Routes that do not result in traffic forwarding or
1035                 rejection should not be displayed even if the
1036                 implementation keeps them stored internally.
1037
1038                 reject(2) refers to a route that, if matched, discards
1039                 the message as unreachable and returns a notification
1040                 (e.g., ICMP error) to the message sender.  This is used
1041                 in some protocols as a means of correctly aggregating
1042                 routes.
1043
1044                 blackhole(5) refers to a route that, if matched,
1045
1046
1047
1048                 discards the message silently."
1049         DEFVAL { other }
1050         ::= { mplsL3VpnVrfRteEntry 8 }
1051
1052     mplsL3VpnVrfRteInetCidrProto OBJECT-TYPE
1053         SYNTAX     IANAipRouteProtocol
1054         MAX-ACCESS read-only
1055         STATUS     current
1056         DESCRIPTION
1057                "The routing mechanism via which this route was learned.
1058                 Inclusion of values for gateway routing protocols is
1059                 not intended to imply that hosts should support those
1060                 protocols."
1061         ::= { mplsL3VpnVrfRteEntry 9 }
1062
1063     mplsL3VpnVrfRteInetCidrAge OBJECT-TYPE
1064         SYNTAX     Gauge32
1065         MAX-ACCESS read-only
1066         STATUS     current
1067         DESCRIPTION
1068                "The number of seconds since this route was last updated
1069                 or otherwise determined to be correct.  Note that no
1070                 semantics of 'too old' can be implied except through
1071                 knowledge of the routing protocol by which the route
1072                 was learned."
1073         ::= { mplsL3VpnVrfRteEntry 10 }
1074
1075     mplsL3VpnVrfRteInetCidrNextHopAS OBJECT-TYPE
1076         SYNTAX     InetAutonomousSystemNumber
1077         MAX-ACCESS read-create
1078         STATUS     current
1079         DESCRIPTION
1080                "The Autonomous System Number of the next hop.  The
1081                 semantics of this object are determined by the
1082                 routing protocol specified in the route's
1083                 mplsL3VpnVrfRteInetCidrProto value.  When this
1084                 object is unknown or not relevant, its value should
1085                 be set to zero."
1086         DEFVAL { 0 }
1087         ::= { mplsL3VpnVrfRteEntry 11 }
1088
1089     mplsL3VpnVrfRteInetCidrMetric1 OBJECT-TYPE
1090         SYNTAX     Integer32 (-1 | 0..2147483647)
1091         MAX-ACCESS read-create
1092         STATUS     current
1093         DESCRIPTION
1094                "The primary routing metric for this route.  The
1095                 semantics of this metric are determined by the
1096
1097
1098
1099                 routing protocol specified in the route's
1100                 mplsL3VpnVrfRteInetCidrProto value.  If this
1101                 metric is not used, its value should be set to
1102                 -1."
1103         DEFVAL { -1 }
1104         ::= { mplsL3VpnVrfRteEntry 12 }
1105
1106     mplsL3VpnVrfRteInetCidrMetric2 OBJECT-TYPE
1107         SYNTAX     Integer32 (-1 | 0..2147483647)
1108         MAX-ACCESS read-create
1109         STATUS     current
1110         DESCRIPTION
1111                "An alternate routing metric for this route.  The
1112                 semantics of this metric are determined by the routing
1113                 protocol specified in the route's
1114                 mplsL3VpnVrfRteInetCidrProto
1115                 value.  If this metric is not used, its value should be
1116                 set to -1."
1117         DEFVAL { -1 }
1118         ::= { mplsL3VpnVrfRteEntry 13 }
1119
1120     mplsL3VpnVrfRteInetCidrMetric3 OBJECT-TYPE
1121         SYNTAX     Integer32 (-1 | 0..2147483647)
1122         MAX-ACCESS read-create
1123         STATUS     current
1124         DESCRIPTION
1125                "An alternate routing metric for this route.  The
1126                 semantics of this metric are determined by the routing
1127                 protocol specified in the route's
1128                 mplsL3VpnVrfRteInetCidrProto
1129                 value.  If this metric is not used, its value should be
1130                 set to -1."
1131         DEFVAL { -1 }
1132         ::= { mplsL3VpnVrfRteEntry 14 }
1133
1134     mplsL3VpnVrfRteInetCidrMetric4 OBJECT-TYPE
1135         SYNTAX     Integer32 (-1 | 0..2147483647)
1136         MAX-ACCESS read-create
1137         STATUS     current
1138         DESCRIPTION
1139                "An alternate routing metric for this route.  The
1140                 semantics of this metric are determined by the routing
1141                 protocol specified in the route's
1142                 mplsL3VpnVrfRteInetCidrProto value.  If this metric
1143                 is not used, its value should be set to -1."
1144         DEFVAL { -1 }
1145         ::= { mplsL3VpnVrfRteEntry 15 }
1146
1147
1148
1149
1150     mplsL3VpnVrfRteInetCidrMetric5 OBJECT-TYPE
1151         SYNTAX     Integer32 (-1 | 0..2147483647)
1152         MAX-ACCESS read-create
1153         STATUS     current
1154         DESCRIPTION
1155                "An alternate routing metric for this route.  The
1156                 semantics of this metric are determined by the routing
1157                 protocol specified in the route's
1158                 mplsL3VpnVrfRteInetCidrProto value.  If this metric is
1159                 not used, its value should be set to -1."
1160         DEFVAL { -1 }
1161         ::= { mplsL3VpnVrfRteEntry 16 }
1162
1163    mplsL3VpnVrfRteXCPointer  OBJECT-TYPE
1164       SYNTAX        MplsIndexType
1165       MAX-ACCESS    read-create
1166       STATUS        current
1167       DESCRIPTION
1168         "Index into mplsXCTable that identifies which cross-
1169         connect entry is associated with this VRF route entry
1170         by containing the mplsXCIndex of that cross-connect entry.
1171         The string containing the single-octet 0x00 indicates that
1172         a label stack is not associated with this route entry.  This
1173         can be the case because the label bindings have not yet
1174         been established, or because some change in the agent has
1175         removed them.
1176
1177         When the label stack associated with this VRF route is created,
1178         it MUST establish the associated cross-connect
1179         entry in the mplsXCTable and then set that index to the value
1180         of this object.  Changes to the cross-connect object in the
1181         mplsXCTable MUST automatically be reflected in the value of
1182         this object.  If this object represents a static routing entry,
1183         then the manager must ensure that this entry is maintained
1184         consistently in the corresponding mplsXCTable as well."
1185       REFERENCE
1186        "RFC 3813 - Multiprotocol Label Switching (MPLS) Label Switching
1187         Router (LSR) Management Information base (MIB), C. Srinivasan,
1188         A. Vishwanathan, and T. Nadeau, June 2004"
1189        ::= { mplsL3VpnVrfRteEntry 17 }
1190
1191     mplsL3VpnVrfRteInetCidrStatus OBJECT-TYPE
1192         SYNTAX     RowStatus
1193         MAX-ACCESS read-create
1194         STATUS     current
1195         DESCRIPTION
1196                "The row status variable, used according to row
1197                 installation and removal conventions.
1198
1199
1200
1201                 A row entry cannot be modified when the status is
1202                 marked as active(1)."
1203         ::= { mplsL3VpnVrfRteEntry 18 }
1204
1205
1206 -- MPLS L3VPN Notifications
1207 mplsL3VpnVrfUp NOTIFICATION-TYPE
1208    OBJECTS     { mplsL3VpnIfConfRowStatus,
1209                  mplsL3VpnVrfOperStatus
1210                }
1211    STATUS      current
1212    DESCRIPTION
1213        "This notification is generated when:
1214         a. No interface is associated with this VRF, and the first
1215            (and only first) interface associated with it has its
1216            ifOperStatus change to up(1).
1217
1218         b. One interface is associated with this VRF, and
1219            the ifOperStatus of this interface changes to up(1).
1220
1221         c. Multiple interfaces are associated with this VRF, and the
1222            ifOperStatus of all interfaces is down(2), and the first
1223            of those interfaces has its ifOperStatus change to up(1)."
1224    ::= { mplsL3VpnNotifications 1 }
1225
1226 mplsL3VpnVrfDown NOTIFICATION-TYPE
1227    OBJECTS     { mplsL3VpnIfConfRowStatus,
1228                  mplsL3VpnVrfOperStatus
1229                }
1230    STATUS      current
1231    DESCRIPTION
1232        "This notification is generated when:
1233         a. One interface is associated with this VRF, and
1234            the ifOperStatus of this interface changes from up(1)
1235            to down(2).
1236
1237         b. Multiple interfaces are associated with this VRF, and
1238            the ifOperStatus of all except one of these interfaces is
1239            equal to up(1), and the ifOperStatus of that interface
1240            changes from up(1) to down(2).
1241
1242         c. The last interface with ifOperStatus equal to up(1)
1243            is disassociated from a VRF."
1244    ::= { mplsL3VpnNotifications 2 }
1245
1246 mplsL3VpnVrfRouteMidThreshExceeded NOTIFICATION-TYPE
1247    OBJECTS     { mplsL3VpnVrfPerfCurrNumRoutes,
1248                  mplsL3VpnVrfConfMidRteThresh
1249
1250
1251
1252                }
1253    STATUS      current
1254    DESCRIPTION
1255        "This notification is generated when the number of routes
1256         contained by the specified VRF exceeds the value indicated by
1257         mplsL3VpnVrfMidRouteThreshold.  A single notification MUST be
1258         generated when this threshold is exceeded, and no other
1259         notifications of this type should be issued until the value
1260         of mplsL3VpnVrfPerfCurrNumRoutes has fallen below that of
1261         mplsL3VpnVrfConfMidRteThresh."
1262    ::= { mplsL3VpnNotifications 3 }
1263
1264 mplsL3VpnVrfNumVrfRouteMaxThreshExceeded NOTIFICATION-TYPE
1265    OBJECTS     { mplsL3VpnVrfPerfCurrNumRoutes,
1266                  mplsL3VpnVrfConfHighRteThresh
1267                }
1268    STATUS      current
1269    DESCRIPTION
1270        "This notification is generated when the number of routes
1271         contained by the specified VRF exceeds or attempts to exceed
1272         the maximum allowed value as indicated by
1273         mplsL3VpnVrfMaxRouteThreshold.  In cases where
1274         mplsL3VpnVrfConfHighRteThresh is set to the same value
1275         as mplsL3VpnVrfConfMaxRoutes, mplsL3VpnVrfConfHighRteThresh
1276         need not be exceeded; rather, just reached for this notification
1277         to be issued.
1278
1279         Note that mplsL3VpnVrfConfRteMxThrshTime denotes the interval
1280         at which the this notification will be reissued after the
1281         maximum value has been exceeded (or reached if
1282         mplsL3VpnVrfConfMaxRoutes and mplsL3VpnVrfConfHighRteThresh are
1283         equal) and the initial notification has been issued.  This value
1284         is intended to prevent continuous generation of notifications by
1285         an agent in the event that routes are continually added to a VRF
1286         after it has reached its maximum value.  The default value is 0
1287         minutes.  If this value is set to 0, the agent should only issue
1288         a single notification at the time that the maximum threshold has
1289         been reached, and should not issue any more notifications until
1290         the value of routes has fallen below the configured threshold
1291         value."
1292    ::= { mplsL3VpnNotifications 4 }
1293
1294 mplsL3VpnNumVrfSecIllglLblThrshExcd NOTIFICATION-TYPE
1295    OBJECTS     { mplsL3VpnVrfSecIllegalLblVltns }
1296    STATUS      current
1297    DESCRIPTION
1298        "This notification is generated when the number of illegal
1299         label violations on a VRF as indicated by
1300
1301
1302
1303         mplsL3VpnVrfSecIllegalLblVltns has exceeded
1304         mplsL3VpnIllLblRcvThrsh.  The threshold is not
1305         included in the varbind here because the value of
1306         mplsL3VpnVrfSecIllegalLblVltns should be one greater than
1307         the threshold at the time this notification is issued."
1308    ::= { mplsL3VpnNotifications 5 }
1309
1310
1311 mplsL3VpnNumVrfRouteMaxThreshCleared NOTIFICATION-TYPE
1312    OBJECTS     { mplsL3VpnVrfPerfCurrNumRoutes,
1313                  mplsL3VpnVrfConfHighRteThresh
1314                }
1315    STATUS      current
1316    DESCRIPTION
1317        "This notification is generated only after the number of routes
1318         contained by the specified VRF exceeds or attempts to exceed
1319         the maximum allowed value as indicated by
1320         mplsVrfMaxRouteThreshold, and then falls below this value.  The
1321         emission of this notification informs the operator that the
1322         error condition has been cleared without the operator having to
1323         query the device.
1324
1325         Note that mplsL3VpnVrfConfRteMxThrshTime denotes the interval at
1326         which the mplsNumVrfRouteMaxThreshExceeded notification will
1327         be reissued after the maximum value has been exceeded (or
1328         reached if mplsL3VpnVrfConfMaxRoutes and
1329         mplsL3VpnVrfConfHighRteThresh are equal) and the initial
1330         notification has been issued.  Therefore,
1331         the generation of this notification should also be emitted with
1332         this same frequency (assuming that the error condition is
1333         cleared).  Specifically, if the error condition is reached and
1334         cleared several times during the period of time specified in
1335         mplsL3VpnVrfConfRteMxThrshTime, only a single notification will
1336         be issued to indicate the first instance of the error condition
1337         as well as the first time the error condition is cleared.
1338         This behavior is intended to prevent continuous generation of
1339         notifications by an agent in the event that routes are
1340         continually added and removed to/from a VRF after it has
1341         reached its maximum value.  The default value is 0.  If this
1342         value is set to 0, the agent should issue a notification
1343         whenever the maximum threshold has been cleared."
1344    ::= { mplsL3VpnNotifications 6 }
1345
1346 -- Conformance Statement
1347 mplsL3VpnGroups
1348       OBJECT IDENTIFIER ::= { mplsL3VpnConformance 1 }
1349
1350 mplsL3VpnCompliances
1351
1352
1353
1354       OBJECT IDENTIFIER ::= { mplsL3VpnConformance 2 }
1355
1356 -- Module Compliance
1357
1358 mplsL3VpnModuleFullCompliance MODULE-COMPLIANCE
1359       STATUS current
1360       DESCRIPTION
1361           "Compliance statement for agents that provide full support
1362            for the MPLS-L3VPN-STD-MIB"
1363       MODULE -- this module
1364          MANDATORY-GROUPS    { mplsL3VpnScalarGroup,
1365                                mplsL3VpnVrfGroup,
1366                                mplsL3VpnIfGroup,
1367                                mplsL3VpnPerfGroup,
1368                                mplsL3VpnVrfRteGroup,
1369                                mplsL3VpnVrfRTGroup,
1370                                mplsL3VpnSecGroup,
1371                                mplsL3VpnNotificationGroup
1372                              }
1373
1374    GROUP       mplsL3VpnPerfRouteGroup
1375    DESCRIPTION "This group is only mandatory for LSRs that
1376                 support tracking the number of routes attempted
1377                 to be added to VRFs."
1378
1379    OBJECT       mplsL3VpnIfConfRowStatus
1380    SYNTAX       RowStatus { active(1), notInService(2) }
1381    WRITE-SYNTAX RowStatus { active(1), notInService(2),
1382                             createAndGo(4), destroy(6)
1383                           }
1384    DESCRIPTION "Support for createAndWait and notReady is
1385                 not required."
1386
1387
1388    OBJECT       mplsL3VpnVrfConfRowStatus
1389    SYNTAX       RowStatus { active(1), notInService(2) }
1390    WRITE-SYNTAX RowStatus { active(1), notInService(2),
1391                             createAndGo(4), destroy(6)
1392                           }
1393    DESCRIPTION "Support for createAndWait and notReady is
1394                 not required."
1395    OBJECT       mplsL3VpnVrfRTRowStatus
1396    SYNTAX       RowStatus { active(1), notInService(2) }
1397    WRITE-SYNTAX RowStatus { active(1), notInService(2),
1398                             createAndGo(4), destroy(6)
1399                           }
1400    DESCRIPTION "Support for createAndWait and notReady is
1401                 not required."
1402
1403
1404
1405    ::= { mplsL3VpnCompliances 1 }
1406
1407
1408 --
1409 -- ReadOnly Compliance
1410 --
1411
1412 mplsL3VpnModuleReadOnlyCompliance MODULE-COMPLIANCE
1413       STATUS current
1414       DESCRIPTION "Compliance requirement for implementations that only
1415                    provide read-only support for MPLS-L3VPN-STD-MIB.
1416                    Such devices can then be monitored but cannot be
1417                    configured using this MIB module."
1418
1419       MODULE -- this module
1420          MANDATORY-GROUPS    { mplsL3VpnScalarGroup,
1421                                mplsL3VpnVrfGroup,
1422                                mplsL3VpnIfGroup,
1423                                mplsL3VpnPerfGroup,
1424                                mplsL3VpnVrfRteGroup,
1425                                mplsL3VpnVrfRTGroup,
1426                                mplsL3VpnSecGroup,
1427                                mplsL3VpnNotificationGroup
1428                              }
1429
1430    GROUP       mplsL3VpnPerfRouteGroup
1431    DESCRIPTION "This group is only mandatory for LSRs that
1432                 support tracking the number of routes attempted to
1433                 be added to VRFs."
1434
1435    OBJECT       mplsL3VpnIfConfRowStatus
1436    SYNTAX       RowStatus { active(1) }
1437    MIN-ACCESS   read-only
1438    DESCRIPTION  "Write access is not required."
1439
1440    OBJECT       mplsL3VpnVrfConfRowStatus
1441    SYNTAX       RowStatus { active(1) }
1442    MIN-ACCESS   read-only
1443    DESCRIPTION  "Write access is not required."
1444
1445    OBJECT       mplsL3VpnVrfRTRowStatus
1446    SYNTAX       RowStatus { active(1) }
1447    MIN-ACCESS   read-only
1448    DESCRIPTION  "Write access is not required."
1449
1450    OBJECT       mplsL3VpnIfVpnClassification
1451    MIN-ACCESS   read-only
1452    DESCRIPTION "Write access is not required."
1453
1454
1455
1456    OBJECT       mplsL3VpnIfVpnRouteDistProtocol
1457    MIN-ACCESS   read-only
1458    DESCRIPTION "Write access is not required."
1459
1460    OBJECT       mplsL3VpnIfConfStorageType
1461    MIN-ACCESS   read-only
1462    DESCRIPTION "Write access is not required."
1463
1464    OBJECT       mplsL3VpnVrfVpnId
1465    MIN-ACCESS   read-only
1466    DESCRIPTION "Write access is not required."
1467
1468    OBJECT       mplsL3VpnVrfDescription
1469    MIN-ACCESS   read-only
1470    DESCRIPTION "Write access is not required."
1471
1472    OBJECT       mplsL3VpnVrfRD
1473    MIN-ACCESS   read-only
1474    DESCRIPTION "Write access is not required."
1475
1476    OBJECT       mplsL3VpnVrfConfMidRteThresh
1477    MIN-ACCESS   read-only
1478    DESCRIPTION "Write access is not required."
1479
1480    OBJECT       mplsL3VpnVrfConfHighRteThresh
1481    MIN-ACCESS   read-only
1482    DESCRIPTION "Write access is not required."
1483
1484    OBJECT       mplsL3VpnVrfConfMaxRoutes
1485    MIN-ACCESS   read-only
1486    DESCRIPTION "Write access is not required."
1487
1488    OBJECT       mplsL3VpnVrfConfStorageType
1489    MIN-ACCESS   read-only
1490    DESCRIPTION "Write access is not required."
1491
1492    OBJECT       mplsL3VpnVrfRT
1493    MIN-ACCESS   read-only
1494    DESCRIPTION "Write access is not required."
1495
1496    OBJECT       mplsL3VpnVrfRTDescr
1497    MIN-ACCESS   read-only
1498    DESCRIPTION "Write access is not required."
1499
1500    OBJECT       mplsL3VpnVrfRTStorageType
1501    MIN-ACCESS   read-only
1502    DESCRIPTION "Write access is not required."
1503
1504
1505
1506
1507    OBJECT       mplsL3VpnVrfRteInetCidrIfIndex
1508    MIN-ACCESS   read-only
1509    DESCRIPTION "Write access is not required."
1510
1511    OBJECT       mplsL3VpnVrfRteInetCidrType
1512    MIN-ACCESS   read-only
1513    DESCRIPTION "Write access is not required."
1514
1515    OBJECT       mplsL3VpnVrfRteInetCidrNextHopAS
1516    MIN-ACCESS   read-only
1517    DESCRIPTION "Write access is not required."
1518
1519    OBJECT       mplsL3VpnVrfRteInetCidrMetric1
1520    MIN-ACCESS   read-only
1521    DESCRIPTION "Write access is not required."
1522
1523    OBJECT       mplsL3VpnVrfRteInetCidrMetric2
1524    MIN-ACCESS   read-only
1525    DESCRIPTION "Write access is not required."
1526
1527    OBJECT       mplsL3VpnVrfRteInetCidrMetric3
1528    MIN-ACCESS   read-only
1529    DESCRIPTION "Write access is not required."
1530
1531    OBJECT       mplsL3VpnVrfRteInetCidrMetric4
1532    MIN-ACCESS   read-only
1533    DESCRIPTION "Write access is not required."
1534
1535    OBJECT       mplsL3VpnVrfRteInetCidrMetric5
1536    MIN-ACCESS   read-only
1537    DESCRIPTION "Write access is not required."
1538
1539    OBJECT       mplsL3VpnVrfRteXCPointer
1540    MIN-ACCESS   read-only
1541    DESCRIPTION "Write access is not required."
1542
1543    OBJECT       mplsL3VpnVrfRteInetCidrStatus
1544    SYNTAX       RowStatus { active(1) }
1545    MIN-ACCESS   read-only
1546    DESCRIPTION  "Write access is not required."
1547    ::= { mplsL3VpnCompliances 2 }
1548
1549
1550    -- Units of conformance.
1551    mplsL3VpnScalarGroup OBJECT-GROUP
1552       OBJECTS { mplsL3VpnConfiguredVrfs,
1553                 mplsL3VpnActiveVrfs,
1554                 mplsL3VpnConnectedInterfaces,
1555
1556
1557
1558                 mplsL3VpnNotificationEnable,
1559                 mplsL3VpnVrfConfMaxPossRts,
1560                 mplsL3VpnVrfConfRteMxThrshTime,
1561                 mplsL3VpnIllLblRcvThrsh
1562              }
1563       STATUS  current
1564       DESCRIPTION
1565              "Collection of scalar objects required for MPLS VPN
1566               management."
1567       ::= { mplsL3VpnGroups 1 }
1568
1569    mplsL3VpnVrfGroup OBJECT-GROUP
1570       OBJECTS { mplsL3VpnVrfVpnId,
1571                 mplsL3VpnVrfDescription,
1572                 mplsL3VpnVrfRD,
1573                 mplsL3VpnVrfCreationTime,
1574                 mplsL3VpnVrfOperStatus,
1575                 mplsL3VpnVrfActiveInterfaces,
1576                 mplsL3VpnVrfAssociatedInterfaces,
1577                 mplsL3VpnVrfConfMidRteThresh,
1578                 mplsL3VpnVrfConfHighRteThresh,
1579                 mplsL3VpnVrfConfMaxRoutes,
1580                 mplsL3VpnVrfConfLastChanged,
1581                 mplsL3VpnVrfConfRowStatus,
1582                 mplsL3VpnVrfConfAdminStatus,
1583                 mplsL3VpnVrfConfStorageType
1584        }
1585       STATUS  current
1586       DESCRIPTION
1587              "Collection of objects needed for MPLS VPN VRF
1588               management."
1589       ::= { mplsL3VpnGroups 2 }
1590
1591    mplsL3VpnIfGroup OBJECT-GROUP
1592         OBJECTS { mplsL3VpnIfVpnClassification,
1593                   mplsL3VpnIfVpnRouteDistProtocol,
1594                   mplsL3VpnIfConfStorageType,
1595                   mplsL3VpnIfConfRowStatus
1596            }
1597       STATUS  current
1598       DESCRIPTION
1599              "Collection of objects needed for MPLS VPN interface
1600               management."
1601       ::= { mplsL3VpnGroups 3 }
1602
1603    mplsL3VpnPerfGroup OBJECT-GROUP
1604       OBJECTS { mplsL3VpnVrfPerfRoutesAdded,
1605                 mplsL3VpnVrfPerfRoutesDeleted,
1606
1607
1608
1609                 mplsL3VpnVrfPerfCurrNumRoutes
1610              }
1611       STATUS  current
1612       DESCRIPTION
1613              "Collection of objects needed for MPLS VPN
1614               performance information."
1615       ::= { mplsL3VpnGroups 4 }
1616
1617    mplsL3VpnPerfRouteGroup OBJECT-GROUP
1618       OBJECTS { mplsL3VpnVrfPerfRoutesDropped,
1619                 mplsL3VpnVrfPerfDiscTime
1620              }
1621       STATUS  current
1622       DESCRIPTION
1623              "Collection of objects needed to track MPLS VPN
1624               routing table dropped routes."
1625       ::= { mplsL3VpnGroups 5 }
1626
1627    mplsL3VpnSecGroup OBJECT-GROUP
1628       OBJECTS { mplsL3VpnVrfSecIllegalLblVltns,
1629                 mplsL3VpnVrfSecDiscontinuityTime }
1630       STATUS  current
1631       DESCRIPTION
1632              "Collection of objects needed for MPLS VPN
1633               security-related information."
1634       ::= { mplsL3VpnGroups 7 }
1635
1636    mplsL3VpnVrfRteGroup OBJECT-GROUP
1637       OBJECTS {
1638             mplsL3VpnVrfRteInetCidrIfIndex,
1639             mplsL3VpnVrfRteInetCidrType,
1640             mplsL3VpnVrfRteInetCidrProto,
1641             mplsL3VpnVrfRteInetCidrAge,
1642             mplsL3VpnVrfRteInetCidrNextHopAS,
1643             mplsL3VpnVrfRteInetCidrMetric1,
1644             mplsL3VpnVrfRteInetCidrMetric2,
1645             mplsL3VpnVrfRteInetCidrMetric3,
1646             mplsL3VpnVrfRteInetCidrMetric4,
1647             mplsL3VpnVrfRteInetCidrMetric5,
1648             mplsL3VpnVrfRteXCPointer,
1649             mplsL3VpnVrfRteInetCidrStatus
1650        }
1651       STATUS  current
1652       DESCRIPTION
1653              "Objects required for VRF route table management."
1654    ::= { mplsL3VpnGroups 8 }
1655
1656    mplsL3VpnVrfRTGroup OBJECT-GROUP
1657
1658
1659
1660       OBJECTS { mplsL3VpnVrfRTDescr,
1661                 mplsL3VpnVrfRT,
1662                 mplsL3VpnVrfRTRowStatus,
1663                 mplsL3VpnVrfRTStorageType
1664               }
1665       STATUS  current
1666       DESCRIPTION
1667              "Objects required for VRF route target management."
1668    ::= { mplsL3VpnGroups 9 }
1669
1670    mplsL3VpnNotificationGroup NOTIFICATION-GROUP
1671        NOTIFICATIONS { mplsL3VpnVrfUp,
1672                        mplsL3VpnVrfDown,
1673                        mplsL3VpnVrfRouteMidThreshExceeded,
1674                        mplsL3VpnVrfNumVrfRouteMaxThreshExceeded,
1675                        mplsL3VpnNumVrfSecIllglLblThrshExcd,
1676                        mplsL3VpnNumVrfRouteMaxThreshCleared
1677                      }
1678       STATUS  current
1679       DESCRIPTION
1680              "Objects required for MPLS VPN notifications."
1681    ::= { mplsL3VpnGroups 10 }
1682 END