Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / MPLS-FTN-STD-MIB
1 MPLS-FTN-STD-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter64, Integer32
5        FROM SNMPv2-SMI                                   -- [RFC2578]
6    RowStatus, StorageType, RowPointer,
7    TEXTUAL-CONVENTION, TimeStamp
8        FROM SNMPv2-TC                                    -- [RFC2579]
9    MODULE-COMPLIANCE, OBJECT-GROUP
10        FROM SNMPv2-CONF                                  -- [RFC2580]
11    InterfaceIndexOrZero,
12    ifGeneralInformationGroup, ifCounterDiscontinuityGroup
13        FROM IF-MIB                                       -- [RFC2863]
14    SnmpAdminString
15        FROM SNMP-FRAMEWORK-MIB                           -- [RFC3411]
16    Dscp
17        FROM DIFFSERV-DSCP-TC                             -- [RFC3289]
18    InetAddressType, InetAddress, InetPortNumber
19        FROM INET-ADDRESS-MIB                             -- [RFC3291]
20    mplsStdMIB
21        FROM MPLS-TC-STD-MIB                              -- [RFC3811]
22
23
24
25    ;
26
27 mplsFTNStdMIB MODULE-IDENTITY
28    LAST-UPDATED "200406030000Z"  -- June 6, 2004
29    ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
30    CONTACT-INFO
31        "
32                 Thomas D. Nadeau
33         Postal: Cisco Systems, Inc.
34                 250 Apollo Drive
35                 Chelmsford, MA 01824
36         Tel:    +1-978-244-3051
37         Email:  tnadeau@cisco.com
38
39                 Cheenu Srinivasan
40         Postal: Bloomberg L.P.
41                 499 Park Avenue
42                 New York, NY 10022
43         Tel:    +1-212-893-3682
44         Email:  cheenu@bloomberg.net
45
46                 Arun Viswanathan
47         Postal: Force10 Networks, Inc.
48                 1440 McCarthy Blvd
49                 Milpitas, CA 95035
50         Tel:    +1-408-571-3516
51         Email:  arunv@force10networks.com
52
53         IETF MPLS Working Group email: mpls@uu.net"
54
55    DESCRIPTION
56         "Copyright (C) The Internet Society (2004). The
57         initial version of this MIB module was published
58         in RFC 3814. For full legal notices see the RFC
59         itself or see:
60         http://www.ietf.org/copyrights/ianamib.html
61
62         This MIB module contains managed object definitions for
63         specifying FEC to NHLFE (FTN) mappings and corresponding
64         performance for MPLS."
65
66    -- Revision history.
67
68    REVISION
69        "200406030000Z"  -- June 3, 2004
70
71    DESCRIPTION
72        "Initial version issued as part of RFC 3814."
73
74
75
76     ::= { mplsStdMIB 8 }
77
78 -- TEXTUAL-CONVENTIONs used in this MIB.
79 MplsFTNEntryIndex ::= TEXTUAL-CONVENTION
80    STATUS              current
81    DESCRIPTION
82        "Index for an entry in mplsFTNTable."
83    SYNTAX              Unsigned32 (1..4294967295)
84
85 MplsFTNEntryIndexOrZero ::= TEXTUAL-CONVENTION
86    STATUS              current
87    DESCRIPTION
88        "Index for an entry in mplsFTNTable or the special value
89         zero. The value zero is object-specific and must
90         therefore be defined as part of the description of any
91         object which uses this syntax.  Examples of the usage
92         of zero might include situations when none or all
93         entries in mplsFTNTable need to be referenced."
94    SYNTAX              Unsigned32 (0..4294967295)
95
96 -- Top-Level Components of this MIB.
97
98 mplsFTNNotifications OBJECT IDENTIFIER ::= { mplsFTNStdMIB 0 }
99 mplsFTNObjects       OBJECT IDENTIFIER ::= { mplsFTNStdMIB 1 }
100 mplsFTNConformance   OBJECT IDENTIFIER ::= { mplsFTNStdMIB 2 }
101
102 -- Next free index in mplsFTNTable.
103 mplsFTNIndexNext OBJECT-TYPE
104    SYNTAX              MplsFTNEntryIndexOrZero
105    MAX-ACCESS          read-only
106    STATUS              current
107    DESCRIPTION
108        "This object contains the next available valid value to
109         be used for mplsFTNIndex when creating entries in the
110         mplsFTNTable.
111
112         When creating a new conceptual row (configuration
113         entry) in mplsFTNTable with an SNMP SET operation the
114         command generator (Network Management Application) must
115         first issue a management protocol retrieval operation
116         to obtain the current value of this object.
117
118         If the command responder (agent) does not wish to allow
119         creation of more entries in mplsFTNTable, possibly
120         because of resource exhaustion, this object MUST return
121         a value of 0.
122
123         If a non-zero value is returned the Network Management
124
125
126
127         Application must determine whether the value is indeed
128         still unused since two Network Management Applications
129         may attempt to create a row simultaneously and use the
130         same value.
131
132         If it is currently unused and the SET succeeds, the
133         agent MUST change the value of this object to a
134         currently unused non-zero value (according to an
135         implementation specific algorithm) or zero (if no
136         further row creation will be permitted).
137
138         If the value is in use, however, the SET fails and the
139         Network Management Application must then reread this
140         object to obtain a new usable value."
141    ::= { mplsFTNObjects 1 }
142
143 -- Last time an object in mplsFTNTable changed.
144 mplsFTNTableLastChanged OBJECT-TYPE
145    SYNTAX              TimeStamp
146    MAX-ACCESS          read-only
147    STATUS              current
148    DESCRIPTION
149        "Indicates the last time an entry was added, deleted or
150         modified in mplsFTNTable.  Management stations should
151         consult this object to determine if mplsFTNTable
152         requires their attention.  This object is particularly
153         useful for applications performing a retrieval on
154         mplsFTNTable to ensure that the table is not modified
155         during the retrieval operation."
156    ::=  { mplsFTNObjects 2 }
157
158 -- Table of FTN entries.
159 mplsFTNTable  OBJECT-TYPE
160    SYNTAX          SEQUENCE OF MplsFTNEntry
161    MAX-ACCESS      not-accessible
162    STATUS          current
163    DESCRIPTION
164        "This table contains the currently defined FTN entries.
165         This table allows FEC to NHLFE mappings to be
166         specified.  Each entry in this table defines a rule to
167         be applied to incoming packets (on interfaces that the
168         FTN entry is activated on using mplsFTNMapTable) and an
169         action to be taken on matching packets
170         (mplsFTNActionPointer).
171
172         This table supports 6-tuple matching rules based on one
173         or more of source address range, destination address
174         range, source port range, destination port range, IPv4
175
176
177
178         Protocol field or IPv6 next-header field and the
179         DiffServ Code Point (DSCP) to be specified.
180
181         The action pointer points either to instance of
182         mplsXCEntry in MPLS-LSR-STD-MIB when the NHLFE is a non-
183         TE LSP, or to an instance of mplsTunnelEntry in the
184         MPLS-TE-STD-MIB when the NHLFE is an originating TE
185         tunnel."
186    REFERENCE
187        "J. Postel, Internet Protocol, RFC 791, STD 5, September
188         1981
189
190         Deering, S., and R. Hinden, Internet Protocol, Version
191         6 (IPv6) Specification, RFC 2460, December 1998
192
193         Nichols, K, Blake, S., Baker, F. and D. Black,
194         Definition of the Differentiated Services Field (DS
195         Field) in the IPv4 and IPv6 Headers, RFC 2474, December
196         1998
197
198         Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
199         Label Switch Router Management Information Base,
200         RFC 3813
201
202         Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
203         Traffic Engineering Management Information Base,
204         RFC 3812"
205    ::=  { mplsFTNObjects 3 }
206
207 mplsFTNEntry  OBJECT-TYPE
208    SYNTAX          MplsFTNEntry
209    MAX-ACCESS      not-accessible
210    STATUS          current
211    DESCRIPTION
212        "Each entry represents one FTN entry which defines a
213         rule to compare incoming packets with and an action to
214         be taken on matching packets."
215    INDEX { mplsFTNIndex }
216    ::=  { mplsFTNTable 1 }
217
218 MplsFTNEntry  ::=  SEQUENCE {
219       mplsFTNIndex               MplsFTNEntryIndex,
220       mplsFTNRowStatus           RowStatus,
221       mplsFTNDescr               SnmpAdminString,
222       mplsFTNMask                BITS,
223       mplsFTNAddrType            InetAddressType,
224       mplsFTNSourceAddrMin       InetAddress,
225       mplsFTNSourceAddrMax       InetAddress,
226
227
228
229       mplsFTNDestAddrMin         InetAddress,
230       mplsFTNDestAddrMax         InetAddress,
231       mplsFTNSourcePortMin       InetPortNumber,
232       mplsFTNSourcePortMax       InetPortNumber,
233       mplsFTNDestPortMin         InetPortNumber,
234       mplsFTNDestPortMax         InetPortNumber,
235       mplsFTNProtocol            Integer32,
236       mplsFTNDscp                Dscp,
237       mplsFTNActionType          INTEGER,
238       mplsFTNActionPointer       RowPointer,
239       mplsFTNStorageType         StorageType
240    }
241
242 mplsFTNIndex   OBJECT-TYPE
243    SYNTAX              MplsFTNEntryIndex
244    MAX-ACCESS          not-accessible
245    STATUS              current
246    DESCRIPTION
247        "This is the unique index for a conceptual row in
248         mplsFTNTable.
249
250         To create a new conceptual row in mplsFTNTable a
251         Network Management Application SHOULD retrieve the
252         current value of mplsFTNIndexNext to determine the next
253         valid available value of mplsFTNIndex."
254    ::= { mplsFTNEntry 1 }
255
256 mplsFTNRowStatus OBJECT-TYPE
257    SYNTAX              RowStatus
258    MAX-ACCESS          read-create
259    STATUS              current
260    DESCRIPTION
261        "Used for controlling the creation and deletion of this
262         row. All writeable objects in this row may be modified
263         at any time. If a Network Management Application
264         attempts to delete a conceptual row by setting this
265         object to 'destroy' and there are one or more entries
266         in mplsFTNMapTable pointing to the row (i.e., when
267         mplsFTNIndex of the conceptual row being deleted is
268         equal to mplsFTNMapCurrIndex for one or more entries in
269         mplsFTNMapTable), the agent MUST also destroy the
270         corresponding entries in mplsFTNMapTable."
271    ::= { mplsFTNEntry 2 }
272
273 mplsFTNDescr   OBJECT-TYPE
274    SYNTAX              SnmpAdminString
275    MAX-ACCESS          read-create
276    STATUS              current
277
278
279
280    DESCRIPTION
281        "The description of this FTN entry. Since the index for
282         this table has no particular significance or meaning,
283         this object should contain some meaningful text that an
284         operator could use to further distinguish entries in
285         this table."
286    ::= { mplsFTNEntry 3 }
287
288 mplsFTNMask OBJECT-TYPE
289    SYNTAX             BITS {
290                        sourceAddr(0),
291                        destAddr(1),
292                        sourcePort(2),
293                        destPort(3),
294                        protocol(4),
295                        dscp(5)
296                       }
297    MAX-ACCESS          read-create
298    STATUS              current
299    DESCRIPTION
300        "This bit map indicates which of the fields described
301         next, namely source address range, destination address
302         range, source port range, destination port range, IPv4
303         Protocol field or IPv6 next-header field and
304         Differentiated Services Code Point (DSCP) is active for
305         this FTN entry. If a particular bit is set to zero then
306         the corresponding field in the packet MUST be ignored
307         for comparison purposes."
308    ::= { mplsFTNEntry 4 }
309
310 mplsFTNAddrType OBJECT-TYPE
311    SYNTAX             InetAddressType
312    MAX-ACCESS         read-create
313    STATUS             current
314    DESCRIPTION
315        "This object determines the type of address contained in
316         the source and destination address objects
317         (mplsFTNSourceAddrMin, mplsFTNSourceAddrMax,
318         mplsFTNDestAddrMin and mplsFTNDestAddrMax) of a
319         conceptual row.
320
321         This object MUST NOT be set to unknown(0) when
322         mplsFTNMask has bit positions sourceAddr(0) or
323         destAddr(1) set to one.
324
325         When both these bit positions of mplsFTNMask are set to
326         zero the value of mplsFTNAddrType SHOULD be set to
327         unknown(0) and the corresponding source and destination
328
329
330
331         address objects SHOULD be set to zero-length strings."
332    ::= { mplsFTNEntry 5 }
333
334 mplsFTNSourceAddrMin OBJECT-TYPE
335    SYNTAX             InetAddress
336    MAX-ACCESS         read-create
337    STATUS             current
338    DESCRIPTION
339        "The lower end of the source address range. The type of
340         this object is determined by the corresponding
341         mplsFTNAddrType object."
342    ::= { mplsFTNEntry 6 }
343
344 mplsFTNSourceAddrMax OBJECT-TYPE
345    SYNTAX             InetAddress
346    MAX-ACCESS         read-create
347    STATUS             current
348    DESCRIPTION
349        "The upper end of the source address range. The type of
350         this object is determined by the corresponding
351         mplsFTNAddrType object."
352    ::= { mplsFTNEntry 7 }
353
354 mplsFTNDestAddrMin OBJECT-TYPE
355    SYNTAX             InetAddress
356    MAX-ACCESS         read-create
357    STATUS             current
358    DESCRIPTION
359        "The lower end of the destination address range. The
360         type of this object is determined by the corresponding
361         mplsFTNAddrType object."
362    ::= { mplsFTNEntry 8 }
363
364 mplsFTNDestAddrMax OBJECT-TYPE
365    SYNTAX             InetAddress
366    MAX-ACCESS         read-create
367    STATUS             current
368    DESCRIPTION
369        "The higher end of the destination address range. The
370         type of this object is determined by the corresponding
371         mplsFTNAddrType object."
372    ::= { mplsFTNEntry 9 }
373
374 mplsFTNSourcePortMin OBJECT-TYPE
375    SYNTAX             InetPortNumber
376    MAX-ACCESS         read-create
377    STATUS             current
378    DESCRIPTION
379
380
381
382        "The lower end of the source port range."
383    DEFVAL { 0 }
384    ::= { mplsFTNEntry 10 }
385
386 mplsFTNSourcePortMax OBJECT-TYPE
387    SYNTAX             InetPortNumber
388    MAX-ACCESS         read-create
389    STATUS             current
390    DESCRIPTION
391        "The higher end of the source port range "
392    DEFVAL { 65535 }
393    ::= { mplsFTNEntry 11 }
394
395 mplsFTNDestPortMin OBJECT-TYPE
396    SYNTAX             InetPortNumber
397    MAX-ACCESS         read-create
398    STATUS             current
399    DESCRIPTION
400        "The lower end of the destination port range."
401    DEFVAL { 0 }
402    ::= { mplsFTNEntry 12 }
403
404 mplsFTNDestPortMax OBJECT-TYPE
405    SYNTAX             InetPortNumber
406    MAX-ACCESS         read-create
407    STATUS             current
408    DESCRIPTION
409        "The higher end of the destination port range."
410    DEFVAL { 65535 }
411    ::= { mplsFTNEntry 13 }
412
413 mplsFTNProtocol OBJECT-TYPE
414    SYNTAX             Integer32 (0..255)
415    MAX-ACCESS         read-create
416    STATUS             current
417    DESCRIPTION
418        "The IP protocol to match against the IPv4 protocol
419         number or IPv6 Next-Header number in the packet. A
420         value of 255 means match all.  Note that the protocol
421         number of 255 is reserved by IANA, and Next-Header
422         number of 0 is used in IPv6."
423    DEFVAL { 255 }
424    ::= { mplsFTNEntry 14 }
425
426 mplsFTNDscp OBJECT-TYPE
427    SYNTAX             Dscp
428    MAX-ACCESS         read-create
429    STATUS             current
430
431
432
433    DESCRIPTION
434        "The contents of the DSCP field."
435    REFERENCE
436        "Nichols, K., Blake, S., Baker, F. and D. Black,
437         Definition of the Differentiated Services Field (DS
438         Field) in the IPv4 and IPv6 Headers, RFC 2474, December
439         1998."
440    ::= { mplsFTNEntry 15 }
441
442 mplsFTNActionType OBJECT-TYPE
443    SYNTAX    INTEGER {
444                 redirectLsp(1),   -- redirect into LSP
445                 redirectTunnel(2) -- redirect into tunnel
446              }
447    MAX-ACCESS         read-create
448    STATUS             current
449    DESCRIPTION
450        "The type of action to be taken on packets matching this
451         FTN entry."
452    ::= { mplsFTNEntry 16 }
453
454 mplsFTNActionPointer OBJECT-TYPE
455    SYNTAX             RowPointer
456    MAX-ACCESS         read-create
457    STATUS             current
458    DESCRIPTION
459        "If mplsFTNActionType is redirectLsp(1), then this
460         object MUST contain zeroDotZero or point to a instance
461         of mplsXCEntry indicating the LSP to redirect matching
462         packets to.
463
464         If mplsFTNActionType is redirectTunnel(2), then this
465         object MUST contain zeroDotZero or point to a instance
466         of mplsTunnelEntry indicating the MPLS TE tunnel to
467         redirect matching packets to.
468
469         If this object points to a conceptual row instance in a
470         table consistent with mplsFTNActionType but this
471         instance does not currently exist then no action will
472         be taken on packets matching such an FTN entry till
473         this instance comes into existence.
474
475         If this object contains zeroDotZero then no action will
476         be taken on packets matching such an FTN entry till it
477         is populated with a valid pointer consistent with the
478         value of mplsFTNActionType as explained above."
479    ::= { mplsFTNEntry 17 }
480
481
482
483
484 mplsFTNStorageType OBJECT-TYPE
485    SYNTAX             StorageType
486    MAX-ACCESS         read-create
487    STATUS             current
488    DESCRIPTION
489        "The storage type for this FTN entry. Conceptual rows
490         having the value 'permanent' need not allow write-
491         access to any columnar objects in the row."
492    DEFVAL { nonVolatile }
493    ::= { mplsFTNEntry 18 }
494
495 -- End of mplsFTNTable.
496
497 -- Last time an object in mplsFTNMapTable changed.
498
499 mplsFTNMapTableLastChanged OBJECT-TYPE
500    SYNTAX              TimeStamp
501    MAX-ACCESS          read-only
502    STATUS              current
503    DESCRIPTION
504        "Indicates the last time an entry was added, deleted or
505         modified in mplsFTNMapTable. Management stations should
506         consult this object to determine if the table requires
507         their attention.  This object is particularly useful
508         for applications performing a retrieval on
509         mplsFTNMapTable to ensure that the table is not
510         modified during the retrieval operation."
511    ::=  { mplsFTNObjects 4 }
512
513 -- FTN to interface mapping table.
514
515 mplsFTNMapTable OBJECT-TYPE
516    SYNTAX              SEQUENCE OF MplsFTNMapEntry
517    MAX-ACCESS          not-accessible
518    STATUS              current
519    DESCRIPTION
520        "This table contains objects which provide the
521         capability to apply or map FTN rules as defined by
522         entries in mplsFTNTable to specific interfaces in the
523         system.  FTN rules are compared with incoming packets
524         in the order in which they are applied on an interface.
525
526         The indexing structure of mplsFTNMapTable is as
527         follows.
528
529         - mplsFTNMapIndex indicates the interface to which the
530           rule is being applied.  A value of 0 represents the
531           application of the rule to all interfaces.
532
533
534
535
536         - mplsFTNMapPrevIndex specifies the rule on the
537           interface prior to the one being applied.  A value of
538           0 specifies that the rule is being inserted at the
539           head of the list of rules currently applied to the
540           interface.
541
542         - mplsFTNMapCurrIndex is the index in mplsFTNTable
543           corresponding to the rule being applied.
544
545         This indexing structure makes the entries in the table
546         behave like items in a linked-list.  The object
547         mplsFTNMapPrevIndex in each conceptual row is a pointer
548         to the previous entry that is applied to a particular
549         interface.  This allows a new entry to be 'inserted' at
550         an arbitrary position in a list of entries currently
551         applied to an interface.  This object is self-
552         adjusting, i.e., its value is automatically adjusted by
553         the agent, if necessary, after an insertion or deletion
554         operation.
555
556         Using this linked-list structure, one can retrieve FTN
557         entries in the order of application on a per-interface
558         basis as follows:
559
560         - To determine the first FTN entry on an interface
561           with index ifIndex perform a GETNEXT retrieval
562           operation on mplsFTNMapRowStatus.ifIndex.0.0; the
563           returned object, if one exists, is (say)
564           mplsFTNMapRowStatus.ifIndex.0.n (mplsFTNMapRowStatus
565           is the first accessible columnar object in the
566           conceptual row). Then the index of the first FTN
567           entry applied on this interface is n.
568
569         - To determine the FTN entry applied to an interface
570           after the one indexed by n perform a GETNEXT
571           retrieval operation on
572           mplsFTNMapRowStatus.ifIndex.n.0.  If such an entry
573           exists the returned object would be of the form
574           mplsFTNMapRowStatus.ifIndex.n.m.  Then the index of
575           the next FTN entry applied on this interface is m.
576
577         - If the FTN entry indexed by n is the last entry
578           applied to the interface with index ifIndex then the
579           object returned would either be:
580
581           1.mplsFTNMapRowStatus.ifIndexNext.0.k, where
582             ifIndexNext is the index of the next interface in
583
584
585
586             ifTable to which an FTN entry has been applied, in
587             which case k is the index of the first FTN entry
588             applied to the interface with index ifIndexNext;
589
590           or:
591
592           2.mplsFTNMapStorageType.firstIfIndex.0.p, if there
593             are no more entries in mplsFTNMapTable, where
594             firstIfIndex is the first entry in ifTable to
595             which an FTN entry has been mapped.
596
597         Use the above steps to retrieve all the applied FTN
598         entries on a per-interface basis in application order.
599         Note that the number of retrieval operations is the
600         same as the number of applied FTN entries (i.e., the
601         minimum number of GETNEXT operations needed using any
602         indexing scheme).
603
604         Agents MUST NOT allow the same FTN entry as specified
605         by mplsFTNMapCurrIndex to be applied multiple times to
606         the same interface.
607
608         Agents MUST NOT allow the creation of rows in this
609         table until the corresponding rows are created in the
610         mplsFTNTable.
611
612         If a row in mplsFTNTable is destroyed, the agent MUST
613         destroy the corresponding entries (i.e., ones with a
614         matching value of mplsFTNCurrIndex) in this table as
615         well."
616    ::=  { mplsFTNObjects 5 }
617
618 mplsFTNMapEntry OBJECT-TYPE
619    SYNTAX              MplsFTNMapEntry
620    MAX-ACCESS          not-accessible
621    STATUS              current
622    DESCRIPTION
623        "Each conceptual row represents the application of an
624         FTN rule at a specific position in the list of FTN
625         rules applied on an interface. "
626    INDEX {
627          mplsFTNMapIndex,
628          mplsFTNMapPrevIndex,
629          mplsFTNMapCurrIndex
630    }
631    ::=  { mplsFTNMapTable 1 }
632
633 MplsFTNMapEntry  ::=  SEQUENCE {
634
635
636
637       mplsFTNMapIndex       InterfaceIndexOrZero,
638       mplsFTNMapPrevIndex    MplsFTNEntryIndexOrZero,
639       mplsFTNMapCurrIndex    MplsFTNEntryIndex,
640       mplsFTNMapRowStatus    RowStatus,
641       mplsFTNMapStorageType  StorageType
642    }
643
644 mplsFTNMapIndex OBJECT-TYPE
645    SYNTAX              InterfaceIndexOrZero
646    MAX-ACCESS          not-accessible
647    STATUS              current
648    DESCRIPTION
649        "The interface index that this FTN entry is being
650         applied to. A value of zero indicates an entry that is
651         applied all interfaces.
652
653         Entries mapped to an interface by specifying its (non-
654         zero) interface index in mplsFTNMapIndex are applied
655         ahead of entries with mplsFTNMapIndex equal to zero."
656    ::= { mplsFTNMapEntry 1 }
657
658 mplsFTNMapPrevIndex OBJECT-TYPE
659    SYNTAX              MplsFTNEntryIndexOrZero
660    MAX-ACCESS          not-accessible
661    STATUS              current
662    DESCRIPTION
663        "The index of the previous FTN entry that was applied to
664         this interface. The special value zero indicates that
665         this should be the first FTN entry in the list."
666    ::=  { mplsFTNMapEntry 2 }
667
668 mplsFTNMapCurrIndex OBJECT-TYPE
669    SYNTAX              MplsFTNEntryIndex
670    MAX-ACCESS          not-accessible
671    STATUS              current
672    DESCRIPTION
673        "Index of the current FTN entry that is being applied to
674         this interface."
675    ::=  { mplsFTNMapEntry 3 }
676
677 mplsFTNMapRowStatus OBJECT-TYPE
678    SYNTAX              RowStatus {
679                              active(1),
680                              createAndGo(4),
681                              destroy(6)
682                           }
683    MAX-ACCESS          read-create
684    STATUS              current
685
686
687
688    DESCRIPTION
689        "Used for controlling the creation and deletion of this
690         row.
691
692         All writable objects in this row may be modified at any
693         time.
694
695         If a conceptual row in mplsFTNMapTable points to a
696         conceptual row in mplsFTNTable which is subsequently
697         deleted, the corresponding conceptual row in
698         mplsFTNMapTable MUST also be deleted by the agent."
699    ::=  { mplsFTNMapEntry 4 }
700
701 mplsFTNMapStorageType OBJECT-TYPE
702    SYNTAX              StorageType
703    MAX-ACCESS          read-create
704    STATUS              current
705    DESCRIPTION
706        "The storage type for this entry.  Conceptual rows
707         having the value 'permanent' need not allow write-
708         access to any columnar objects in this row."
709    DEFVAL { nonVolatile }
710    ::= { mplsFTNMapEntry 5 }
711
712 -- End of mplsFTNMapTable
713
714 -- FTN entry performance table
715
716 mplsFTNPerfTable OBJECT-TYPE
717    SYNTAX              SEQUENCE OF MplsFTNPerfEntry
718    MAX-ACCESS          not-accessible
719    STATUS              current
720    DESCRIPTION
721        "This table contains performance statistics on FTN
722         entries on a per-interface basis."
723    ::= { mplsFTNObjects 6 }
724
725 mplsFTNPerfEntry OBJECT-TYPE
726    SYNTAX              MplsFTNPerfEntry
727    MAX-ACCESS          not-accessible
728    STATUS              current
729    DESCRIPTION
730        "Each entry contains performance information for the
731         specified interface and an FTN entry mapped to this
732         interface."
733    INDEX  { mplsFTNPerfIndex, mplsFTNPerfCurrIndex }
734    ::=  { mplsFTNPerfTable 1 }
735
736
737
738
739 MplsFTNPerfEntry  ::=  SEQUENCE {
740       mplsFTNPerfIndex                     InterfaceIndexOrZero,
741       mplsFTNPerfCurrIndex                 MplsFTNEntryIndex,
742       mplsFTNPerfMatchedPackets            Counter64,
743       mplsFTNPerfMatchedOctets             Counter64,
744       mplsFTNPerfDiscontinuityTime         TimeStamp
745    }
746
747 mplsFTNPerfIndex OBJECT-TYPE
748    SYNTAX              InterfaceIndexOrZero
749    MAX-ACCESS          not-accessible
750    STATUS              current
751    DESCRIPTION
752        "The interface index of an interface that an FTN entry
753         has been applied/mapped to.  Each instance of this
754         object corresponds to an instance of mplsFTNMapIndex."
755    ::= { mplsFTNPerfEntry 1 }
756
757 mplsFTNPerfCurrIndex OBJECT-TYPE
758    SYNTAX              MplsFTNEntryIndex
759    MAX-ACCESS          not-accessible
760    STATUS              current
761    DESCRIPTION
762        "Index of an FTN entry that has been applied/mapped to
763         the specified interface.  Each instance of this object
764         corresponds to an instance of mplsFTNMapCurrIndex."
765    ::=  { mplsFTNPerfEntry 2 }
766
767 mplsFTNPerfMatchedPackets OBJECT-TYPE
768    SYNTAX              Counter64
769    MAX-ACCESS          read-only
770    STATUS              current
771    DESCRIPTION
772        "Number of packets that matched the specified FTN entry
773         if it is applied/mapped to the specified interface.
774         Discontinuities in the value of this counter can occur
775         at re-initialization of the management system, and at
776         other times as indicated by the value of
777         mplsFTNDiscontinuityTime."
778    ::= { mplsFTNPerfEntry 3 }
779
780 mplsFTNPerfMatchedOctets OBJECT-TYPE
781    SYNTAX              Counter64
782    MAX-ACCESS          read-only
783    STATUS              current
784    DESCRIPTION
785        "Number of octets that matched the specified FTN entry
786         if it is applied/mapped to the specified interface.
787
788
789
790         Discontinuities in the value of this counter can occur
791         at re-initialization of the management system, and at
792         other times as indicated by the value of
793         mplsFTNDiscontinuityTime."
794    ::= { mplsFTNPerfEntry 4 }
795
796 mplsFTNPerfDiscontinuityTime OBJECT-TYPE
797    SYNTAX              TimeStamp
798    MAX-ACCESS          read-only
799    STATUS              current
800    DESCRIPTION
801        "The value of sysUpTime on the most recent occasion at
802         which any one or more of this entry's counters suffered
803         a discontinuity.  If no such discontinuities have
804         occurred since the last re-initialization of the local
805         management subsystem, then this object contains a zero
806         value."
807    ::= { mplsFTNPerfEntry 5 }
808
809 -- End of mplsFTNPerfTable
810
811 -- Module compliance.
812
813 -- Top level object IDs.
814
815 mplsFTNGroups
816    OBJECT IDENTIFIER ::= { mplsFTNConformance 1 }
817 mplsFTNCompliances
818    OBJECT IDENTIFIER ::= { mplsFTNConformance 2 }
819
820 -- Compliance requirement for fully compliant implementations.
821 mplsFTNModuleFullCompliance MODULE-COMPLIANCE
822    STATUS current
823    DESCRIPTION
824        "Compliance statement for agents that provide full
825         support for MPLS-FTN-STD-MIB."
826
827    MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
828    MANDATORY-GROUPS {
829       ifGeneralInformationGroup,
830       ifCounterDiscontinuityGroup
831    }
832
833    MODULE -- This module.
834    MANDATORY-GROUPS {
835       mplsFTNRuleGroup,
836       mplsFTNMapGroup,
837       mplsFTNPerfGroup
838
839
840
841    }
842
843    OBJECT mplsFTNAddrType
844    SYNTAX InetAddressType { ipv4(1), ipv6(2) }
845    DESCRIPTION
846        "An implementation is only required to support IPv4
847         and/or IPv6 addresses.  An implementation is only
848         required to support the address types that are actually
849         supported on the LSR."
850
851    OBJECT mplsFTNSourceAddrMin
852    SYNTAX       InetAddress (SIZE (4 | 20))
853    DESCRIPTION
854        "An implementation is only required to support IPv4
855         and/or IPv6 addresses.  An implementation is only
856         required to support the address types that are actually
857         supported on the LSR."
858
859    OBJECT mplsFTNSourceAddrMax
860    SYNTAX       InetAddress (SIZE (4 | 20))
861    DESCRIPTION
862        "An implementation is only required to support IPv4
863         and/or IPv6 addresses.  An implementation is only
864         required to support the address types that are actually
865         supported on the LSR."
866
867    OBJECT mplsFTNDestAddrMin
868    SYNTAX       InetAddress (SIZE (4 | 20))
869    DESCRIPTION
870        "An implementation is only required to support IPv4
871         and/or IPv6 addresses.  An implementation is only
872         required to support the address types that are actually
873         supported on the LSR."
874
875    OBJECT mplsFTNDestAddrMax
876    SYNTAX       InetAddress (SIZE (4 | 20))
877    DESCRIPTION
878        "An implementation is only required to support IPv4
879         and/or IPv6 addresses.  An implementation is only
880         required to support the address types that are actually
881         supported on the LSR."
882    ::= { mplsFTNCompliances 1 }
883
884 -- Compliance requirement for read-only implementations.
885 mplsFTNModuleReadOnlyCompliance MODULE-COMPLIANCE
886    STATUS current
887    DESCRIPTION
888        "Compliance requirement for implementations that only
889
890
891
892         provide read-only support for MPLS-FTN-STD-MIB. Such
893         devices can then be monitored but cannot be configured
894         using this MIB module."
895
896    MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
897    MANDATORY-GROUPS {
898       ifGeneralInformationGroup,
899       ifCounterDiscontinuityGroup
900    }
901
902    MODULE -- This module
903    MANDATORY-GROUPS {
904       mplsFTNRuleGroup,
905       mplsFTNMapGroup,
906       mplsFTNPerfGroup
907    }
908
909    OBJECT mplsFTNIndexNext
910    MIN-ACCESS   not-accessible
911    DESCRIPTION
912        "This object is not needed when mplsFTNTable is
913         implemented as read-only."
914
915    OBJECT mplsFTNRowStatus
916    SYNTAX       RowStatus { active(1) }
917    MIN-ACCESS   read-only
918    DESCRIPTION
919        "Write access is not required, and active is the only
920         status that needs to be supported."
921
922    OBJECT mplsFTNDescr
923    MIN-ACCESS   read-only
924    DESCRIPTION
925        "Write access is not required."
926
927    OBJECT mplsFTNMask
928    MIN-ACCESS   read-only
929    DESCRIPTION
930        "Write access is not required."
931
932    OBJECT mplsFTNAddrType
933    SYNTAX       InetAddressType { ipv4(1), ipv6(2) }
934    MIN-ACCESS   read-only
935    DESCRIPTION
936        "Write access is not required. An implementation is only
937         required to support IPv4 and IPv6 addresses."
938
939    OBJECT mplsFTNSourceAddrMin
940
941
942
943    SYNTAX       InetAddress (SIZE (4 | 20))
944    MIN-ACCESS   read-only
945    DESCRIPTION
946        "Write access is not required. An implementation is only
947         required to support IPv4 and IPv6 addresses."
948
949    OBJECT mplsFTNSourceAddrMax
950    SYNTAX       InetAddress (SIZE (4 | 20))
951    MIN-ACCESS   read-only
952    DESCRIPTION
953        "Write access is not required. An implementation is only
954         required to support IPv4 and IPv6 addresses."
955
956    OBJECT mplsFTNDestAddrMin
957    SYNTAX       InetAddress (SIZE (4 | 20))
958    MIN-ACCESS   read-only
959    DESCRIPTION
960        "Write access is not required. An implementation is only
961         required to support IPv4 and IPv6 addresses."
962
963    OBJECT mplsFTNDestAddrMax
964    SYNTAX       InetAddress (SIZE (4 | 20))
965    MIN-ACCESS   read-only
966    DESCRIPTION
967        "Write access is not required. An implementation is only
968         required to support IPv4 and IPv6 addresses."
969
970    OBJECT mplsFTNSourcePortMin
971    MIN-ACCESS   read-only
972    DESCRIPTION
973        "Write access is not required."
974
975    OBJECT mplsFTNSourcePortMax
976    MIN-ACCESS   read-only
977    DESCRIPTION
978        "Write access is not required."
979
980    OBJECT mplsFTNDestPortMin
981    MIN-ACCESS   read-only
982    DESCRIPTION
983        "Write access is not required."
984
985    OBJECT mplsFTNDestPortMax
986    MIN-ACCESS   read-only
987    DESCRIPTION
988        "Write access is not required."
989
990    OBJECT mplsFTNProtocol
991
992
993
994    MIN-ACCESS   read-only
995    DESCRIPTION
996        "Write access is not required."
997
998    OBJECT mplsFTNActionType
999    MIN-ACCESS   read-only
1000    DESCRIPTION
1001        "Write access is not required."
1002
1003    OBJECT mplsFTNActionPointer
1004    MIN-ACCESS   read-only
1005    DESCRIPTION
1006        "Write access is not required."
1007
1008    OBJECT mplsFTNDscp
1009    MIN-ACCESS   read-only
1010    DESCRIPTION
1011        "Write access is not required."
1012
1013    OBJECT mplsFTNStorageType
1014    MIN-ACCESS   read-only
1015    DESCRIPTION
1016        "Write access is not required."
1017
1018    OBJECT mplsFTNMapRowStatus
1019    SYNTAX       RowStatus { active(1) }
1020    MIN-ACCESS   read-only
1021    DESCRIPTION
1022        "Write access is not required, and active(1) is the only
1023         status that needs to be supported."
1024
1025    OBJECT mplsFTNMapStorageType
1026    MIN-ACCESS   read-only
1027    DESCRIPTION
1028        "Write access is not required."
1029    ::= { mplsFTNCompliances 2 }
1030
1031 -- Units of conformance.
1032 mplsFTNRuleGroup OBJECT-GROUP
1033    OBJECTS {
1034          mplsFTNIndexNext,
1035          mplsFTNTableLastChanged,
1036          mplsFTNRowStatus,
1037          mplsFTNDescr,
1038          mplsFTNMask,
1039          mplsFTNAddrType,
1040          mplsFTNSourceAddrMin,
1041          mplsFTNSourceAddrMax,
1042
1043
1044
1045          mplsFTNDestAddrMin,
1046          mplsFTNDestAddrMax,
1047          mplsFTNSourcePortMin,
1048          mplsFTNSourcePortMax,
1049          mplsFTNDestPortMin,
1050          mplsFTNDestPortMax,
1051          mplsFTNProtocol,
1052          mplsFTNActionType,
1053          mplsFTNActionPointer,
1054          mplsFTNDscp,
1055          mplsFTNStorageType
1056    }
1057    STATUS current
1058    DESCRIPTION
1059        "Collection of objects that implement MPLS FTN rules."
1060    ::= { mplsFTNGroups 1 }
1061
1062 mplsFTNMapGroup OBJECT-GROUP
1063    OBJECTS {
1064          mplsFTNMapTableLastChanged,
1065          mplsFTNMapRowStatus,
1066          mplsFTNMapStorageType
1067    }
1068    STATUS current
1069    DESCRIPTION
1070        "Collection of objects that implement activation of MPLS
1071         FTN entries on interfaces."
1072    ::= { mplsFTNGroups 2 }
1073
1074 mplsFTNPerfGroup OBJECT-GROUP
1075    OBJECTS {
1076          mplsFTNPerfMatchedPackets,
1077          mplsFTNPerfMatchedOctets,
1078          mplsFTNPerfDiscontinuityTime
1079    }
1080    STATUS current
1081    DESCRIPTION
1082        "Collection of objects providing MPLS FTN performance
1083         information."
1084    ::= { mplsFTNGroups 3 }
1085
1086 END