Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / pibs / tubs / PPVPN-PIB
1    PPVPN-PIB PIB-DEFINITIONS ::= BEGIN 
2    
3    IMPORTS 
4        ibrpib
5                FROM TUBS-SMI
6        Unsigned32, Integer32, MODULE-IDENTITY, MODULE-COMPLIANCE, 
7        OBJECT-TYPE, OBJECT-GROUP, pib, TEXTUAL-CONVENTION 
8                FROM COPS-PR-SPPI 
9        InstanceId, ReferenceId, Prid, TagId, TagReferenceId 
10                FROM COPS-PR-SPPI-TC 
11        zeroDotZero 
12             FROM SNMPv2-SMI 
13        TruthValue, DisplayString
14                FROM SNMPv2-TC 
15        RoleCombination, AttrIdentifier 
16                FROM FRAMEWORK-TC-PIB
17        InetAddress, InetAddressType
18                FROM INET-ADDRESS-MIB
19        SnmpAdminString
20                FROM SNMP-FRAMEWORK-MIB
21        InterfaceIndexOrZero
22                FROM IF-MIB;
23    
24    
25    ppvpn2547PolicyPib  MODULE-IDENTITY 
26        SUBJECT-CATEGORIES { all } -- PPVPN COPS Client Type 
27                                   -- to be assigned by IANA 
28        LAST-UPDATED "200203081800Z" 
29        ORGANIZATION "IETF PPVPN WG" 
30        CONTACT-INFO " 
31                       Yacine El Mghazli
32                       Alcatel R&I
33                       Route de Nozay
34                       F-91460 Marcoussis - FRANCE
35                       Phone: +33 1 69 63 41 87
36                       Email: yacine.el_mghazli@alcatel.fr"
37        DESCRIPTION 
38             "The PIB module containing a set of provisioning classes 
39             that describe provider provisioned virtual private networks 
40             (PPVPN) policies for BGP/MPLS VPN. It includes general 
41             classes that may be extended by other PIB specifications as 
42             well as a set of PIB classes related to PPVPNs." 
43        REVISION "200203081800Z" 
44        DESCRIPTION 
45             "Initial version, published as RFC xxxx." 
46        ::= { ibrpib 18 } -- xxx to be assigned by IANA 
47    
48    
49 -- BGP/MPLS VPN specific Textual Conventions.
50    
51    Ppvpn2547RouteDistinguisher ::= TEXTUAL-CONVENTION
52       STATUS        current
53       DESCRIPTION
54           "Syntax for a route distinguisher."
55       SYNTAX  OCTET STRING(SIZE (0..256))
56    
57    Ppvpn2547RouteTarget ::= TEXTUAL-CONVENTION
58       STATUS        current
59       DESCRIPTION
60           "Syntax for a route target."
61       SYNTAX  OCTET STRING(SIZE (0..256))
62    
63    
64 -- BGP/MPLS VPN PIB module
65    
66    ppvpn2547CapabilityClasses 
67       OBJECT IDENTIFIER ::= { ppvpn2547PolicyPib 1 } 
68    ppvpn2547PolicyClasses 
69       OBJECT IDENTIFIER ::= { ppvpn2547PolicyPib 2 } 
70    ppvpn2547PibConformance 
71       OBJECT IDENTIFIER ::= { ppvpn2547PolicyPib 3 } 
72    
73    
74 -- Capabilities Group
75
76 -- 
77 -- BGP/MPLS VPN PE Routing Capabilities
78 -- 
79    
80    ppvpn2547RoutingCapsTable OBJECT-TYPE 
81        SYNTAX         SEQUENCE OF Ppvpn2547RoutingCapsEntry 
82        PIB-ACCESS     notify 
83        STATUS         current 
84        DESCRIPTION 
85            "This class represents routing capabilities of a device
86             (PE)."
87        ::= { ppvpn2547CapabilityClasses 1 } 
88    
89    ppvpn2547RoutingCapsEntry OBJECT-TYPE 
90       SYNTAX         Ppvpn2547RoutingCapsEntry 
91       STATUS         current 
92       DESCRIPTION 
93           "An instance of the ppvpn2547RoutingCaps class." 
94       PIB-INDEX { ppvpn2547RoutingCapsPrid } 
95       ::= { ppvpn2547RoutingCapsTable 1 } 
96    
97    Ppvpn2547RoutingCapsEntry ::= SEQUENCE { 
98            ppvpn2547RoutingCapsPrid           InstanceId,
99            ppvpn2547RoutingCapsDistProtocol   BITS,
100            ppvpn2547RoutingCapsMaxRoutes      Unsigned32,
101    
102            ppvpn2547RoutingCapsMaxVrfs        Unsigned32
103    }
104    
105    ppvpn2547RoutingCapsPrid OBJECT-TYPE 
106        SYNTAX         InstanceId 
107        STATUS         current 
108        DESCRIPTION 
109            "An arbitrary integer index that uniquely identifies an 
110            instance of the class." 
111        ::= { ppvpn2547RoutingCapsEntry 1 } 
112    
113    ppvpn2547RoutingCapsDistProtocol OBJECT-TYPE 
114        SYNTAX         BITS { none  (0),
115                              ebgp  (1),
116                              ospf  (2),
117                              rip   (3),
118                              isis  (4),
119                              other (5)
120        }
121        STATUS         current 
122        DESCRIPTION 
123            "Denotes the route distribution protocol supported by the PE 
124             across the PE-CE links. Note that more than one routing 
125             protocol may be enabled at the same time."
126        ::= { ppvpn2547RoutingCapsEntry 2 } 
127    
128    ppvpn2547RoutingCapsMaxRoutes OBJECT-TYPE 
129        SYNTAX        Unsigned32
130        STATUS        current
131        DESCRIPTION
132           "Denotes maximum number of routes which this PE is 
133            able to hold."
134        ::= { ppvpn2547RoutingCapsEntry 3 } 
135    
136    ppvpn2547RoutingCapsMaxVrfs OBJECT-TYPE 
137        SYNTAX        Unsigned32
138        STATUS        current
139        DESCRIPTION
140           "Denotes maximum number of VRF which this PE is 
141            able to hold."
142        ::= { ppvpn2547RoutingCapsEntry 4 } 
143    
144    
145 -- 
146 -- PE Interface Capabilities 
147 -- 
148    
149    ppvpn2547IfCapsTable OBJECT-TYPE 
150        SYNTAX         SEQUENCE OF Ppvpn2547IfCapsEntry 
151        PIB-ACCESS     notify 
152        STATUS         current 
153        DESCRIPTION 
154          " This class represents interfaces capabilities of a device 
155    
156            (PE) in terms of MPLS support." 
157        ::= { ppvpn2547CapabilityClasses 2 } 
158    
159    ppvpn2547IfCapsEntry OBJECT-TYPE 
160        SYNTAX         Ppvpn2547IfCapsEntry 
161        STATUS         current 
162        DESCRIPTION 
163          "An instance of the ppvpn2547IfCaps class." 
164        PIB-INDEX { ppvpn2547IfCapsPrid } 
165        UNIQUENESS {}
166    ::= { ppvpn2547IfCapsTable 1 } 
167    
168    Ppvpn2547IfCapsEntry ::= SEQUENCE { 
169            ppvpn2547IfCapsPrid           InstanceId,
170            ppvpn2547IfCapsMplsSupport    INTEGER,
171            ppvpn2547IfCapsLabelEdgeType  INTEGER
172    } 
173    
174    ppvpn2547IfCapsPrid OBJECT-TYPE 
175        SYNTAX         InstanceId 
176        STATUS         current 
177        DESCRIPTION 
178            "An arbitrary integer index that uniquely identifies an 
179            instance of the class." 
180        ::= { ppvpn2547IfCapsEntry 1 } 
181    
182    ppvpn2547IfCapsMplsSupport OBJECT-TYPE 
183        SYNTAX         INTEGER { nonMpls    (0),
184                                 mpls       (1),
185                                 mplsTunnel (2)
186        }
187        STATUS         current 
188        DESCRIPTION 
189            " Denotes the interface type in accordance with [IFMIB] which 
190              states that the interfaces tables contains information on 
191              the managed resource's interfaces and each sub-layer bellow 
192              the internetwork layer interface is considered as an  
193              interface." 
194        ::= { ppvpn2547IfCapsEntry 2 } 
195    
196    ppvpn2547IfCapsLabelEdgeType OBJECT-TYPE 
197        SYNTAX         INTEGER { providerEdge (1),
198                                 customerEdge (2) 
199        }
200        STATUS         current 
201        DESCRIPTION 
202            " Either the providerEdge(0) or customerEdge(1) bit MUST be 
203              set. Denotes if the interface is an exterior interface 
204             (customerEdge) or a interior interface (providerEdge), 
205             regarding to the provider network."
206        ::= { ppvpn2547IfCapsEntry 3 } 
207    
208    
209    
210 -- BGP/MPLS VPN Policy Classes  
211     
212 -- 
213 -- BGP/MPLS VPN VRF Table 
214 -- 
215    
216    ppvpn2547VrfTable OBJECT-TYPE 
217        SYNTAX       SEQUENCE OF Ppvpn2547VrfEntry 
218        PIB-ACCESS   install 
219        STATUS       current 
220        DESCRIPTION 
221           "This class specifies BGP/MPLS VPN VRF Table associated 
222            information. Entries in this table define VRF instances 
223            associated with MPLS/VPN interfaces. Note that multiple 
224            interfaces can belong to the same VRF instance." 
225        ::= { ppvpn2547PolicyClasses 1 } 
226    
227    ppvpn2547VrfEntry OBJECT-TYPE 
228        SYNTAX       Ppvpn2547VrfEntry 
229        STATUS       current 
230        DESCRIPTION 
231           "An entry in this table is created by the provider for
232            every VRF capable of supporting MPLS/BGP VPN." 
233        PIB-INDEX {  ppvpn2547VrfPrid } 
234        UNIQUENESS { ppvpn2547VrfId,
235                     ppvpn2547VrfRoles,
236                     ppvpn2547VrfIfName,
237                     ppvpn2547VrfRD }
238        ::= { ppvpn2547VrfTable 1 } 
239     
240    Ppvpn2547VrfEntry ::= SEQUENCE  { 
241        ppvpn2547VrfPrid        InstanceId, 
242        ppvpn2547VrfRoles       RoleCombination,
243        ppvpn2547VrfIfName      SnmpAdminString,
244        ppvpn2547VrfId          TagReferenceId, 
245        ppvpn2547VrfDescription SnmpAdminString,
246        ppvpn2547VrfRD          Ppvpn2547RouteDistinguisher,
247        ppvpn2547VrfMaxRoutes   Unsigned32
248    }
249    
250    ppvpn2547VrfPrid OBJECT-TYPE 
251        SYNTAX       InstanceId 
252        STATUS       current 
253        DESCRIPTION 
254           "An arbitrary integer index that uniquely identifies an 
255            instance of the class." 
256        ::= { ppvpn2547VrfEntry 1 } 
257     
258    ppvpn2547VrfRoles OBJECT-TYPE 
259        SYNTAX       RoleCombination 
260        STATUS       current 
261        DESCRIPTION 
262           "The interfaces to which the VRF is attached to, 
263    
264    
265            specified in terms of roles.  There must exist an entry 
266            in the frwkIfRoleComboTable [FR-PIB] specifying 
267            this role combination, together with the interface 
268            capability set specified by ppvpn2547IfName, prior to 
269            association with an instance of this class." 
270        ::= { ppvpn2547VrfEntry 2 }
271
272    ppvpn2547VrfIfName OBJECT-TYPE 
273        SYNTAX       SnmpAdminString 
274        STATUS       current 
275        DESCRIPTION 
276           "The interface capability set to which the VRF is attached to.
277            The interface capability name specified by this attribute 
278            must exist in the frwkIfCapSetTable [FR-PIB] prior to 
279            association with an instance of this class." 
280        ::= { ppvpn2547VrfEntry 3 } 
281    
282    ppvpn2547VrfId OBJECT-TYPE 
283        SYNTAX       TagReferenceId 
284        STATUS       current 
285        DESCRIPTION 
286           "Identifies a VRF instance." 
287        ::= { ppvpn2547VrfEntry 4 } 
288    
289    ppvpn2547VrfDescription OBJECT-TYPE
290        SYNTAX        SnmpAdminString
291        STATUS        current
292        DESCRIPTION
293            "The human-readable description of this VRF."
294        ::= { ppvpn2547VrfEntry 5 }
295    
296    ppvpn2547VrfRD OBJECT-TYPE
297        SYNTAX        Ppvpn2547RouteDistinguisher
298        STATUS        current
299        DESCRIPTION
300            "The route distinguisher for this VRF."
301        ::= { ppvpn2547VrfEntry 6 }
302    
303    ppvpn2547VrfMaxRoutes OBJECT-TYPE
304        SYNTAX        Unsigned32
305        STATUS        current
306        DESCRIPTION
307            "Denotes maximum number of routes which this VRF is 
308             configured to hold."
309        ::= { ppvpn2547VrfEntry 7 }
310    
311    
312 -- 
313 -- BGP/MPLS VPN Route Target Table
314 -- 
315    
316    ppvpn2547RouteTargetTable OBJECT-TYPE
317        SYNTAX        SEQUENCE OF Ppvpn2547RouteTargetEntry
318    
319        PIB-ACCESS    install
320        STATUS        current
321        DESCRIPTION
322            "This table specifies per-VRF route target association. Each 
323            entry identifies a connectivity policy supported as part of a 
324            VPN."
325    ::= { ppvpn2547PolicyClasses 2 }
326    
327    ppvpn2547RouteTargetEntry OBJECT-TYPE
328        SYNTAX        Ppvpn2547RouteTargetEntry
329        STATUS        current
330        DESCRIPTION
331            "An entry in this table is created for each route target 
332            configured for a VRF supporting a MPLS/BGP VPN instance. The 
333            precedence attribute provides an ordering per-VRF instance."
334       PIB-INDEX  { ppvpn2547RouteTargetPrid}
335       UNIQUENESS { ppvpn2547RouteTargetVrfId,
336                    ppvpn2547RouteTargetType,
337 --                   ppvpn2547RouteTargetPrecedence,
338                    ppvpn2547RouteTargetRT
339       }
340    ::= { ppvpn2547RouteTargetTable 1 } 
341     
342 Ppvpn2547RouteTargetEntry ::= SEQUENCE {
343      ppvpn2547RouteTargetPrid       InstanceId, 
344      ppvpn2547RouteTargetType       INTEGER,
345      ppvpn2547RouteTargetVrfId      TagId,
346 --     ppvpn2547RouteTargetPrecedence Unsigned32,
347      ppvpn2547RouteTargetRT         Ppvpn2547RouteTarget,
348      ppvpn2547RouteTargetDescr      DisplayString
349    }
350    
351    ppvpn2547RouteTargetPrid OBJECT-TYPE 
352        SYNTAX       InstanceId 
353        STATUS       current 
354        DESCRIPTION 
355            "An arbitrary integer index that uniquely identifies an 
356            instance of the class." 
357        ::= { ppvpn2547RouteTargetEntry 1 }
358    
359    ppvpn2547RouteTargetType OBJECT-TYPE
360        SYNTAX        INTEGER { import(1),
361                                export(2),
362                                both(3) }
363        STATUS        current
364        DESCRIPTION
365            "The route target distribution type."
366        ::= { ppvpn2547RouteTargetEntry 2 }
367    
368    ppvpn2547RouteTargetVrfId OBJECT-TYPE
369        SYNTAX        TagId
370        STATUS        current
371        DESCRIPTION
372    
373            " A VRF is composed of an import RT list and a export RT 
374            list. Each RT belonging to the same VRF uses the same VRF ID. 
375            Hence, a VRF Id identifies which this RT is a part of. This 
376            needs to be the value of ppvpn2547VrfId attribute for an 
377            existing instance of ppvpn2547VrfEntry."
378    ::= { ppvpn2547RouteTargetEntry 3 }
379    
380    ppvpn2547RouteTargetRT OBJECT-TYPE
381        SYNTAX        Ppvpn2547RouteTarget
382        STATUS        current
383        DESCRIPTION
384            "The route target value."
385        ::= { ppvpn2547RouteTargetEntry 4 }
386    
387    ppvpn2547RouteTargetDescr OBJECT-TYPE
388        SYNTAX        DisplayString
389        STATUS        current
390        DESCRIPTION
391            "Description of the route target."
392        ::= { ppvpn2547RouteTargetEntry 5 }
393    
394    
395 -- 
396 -- BGP/MPLS VPN Interface Table
397 -- 
398    
399    ppvpn2547IfTable  OBJECT-TYPE
400        SYNTAX        SEQUENCE OF Ppvpn2547IfEntry
401        PIB-ACCESS    install
402        STATUS        current
403        DESCRIPTION
404            "This table specifies per-interface configuration information 
405             related to PE-CE links."
406        ::= { ppvpn2547PolicyClasses 3 }
407    
408    ppvpn2547IfEntry OBJECT-TYPE
409        SYNTAX        Ppvpn2547IfEntry
410        STATUS        current
411        DESCRIPTION
412            "An entry in this table is created for every interface type 
413            supporting MPLS/BGP VPN. Each entry in this table is meant to 
414            correspond to an entry in the Interfaces Table."
415        PIB-INDEX { ppvpn2547IfPrid }
416        UNIQUENESS { ppvpn2547IfRoles,
417                     ppvpn2547IfName }
418        ::= { ppvpn2547IfTable 1 }
419    
420    Ppvpn2547IfEntry ::= SEQUENCE {
421            ppvpn2547IfPrid               InstanceId,
422            ppvpn2547IfRoles              RoleCombination,
423            ppvpn2547IfName               SnmpAdminString,
424            ppvpn2547IfVpnClassification  INTEGER,
425            ppvpn2547IfRouteDistProtocol  BITS
426    
427    }
428    
429    ppvpn2547IfPrid OBJECT-TYPE 
430        SYNTAX       InstanceId 
431        STATUS       current 
432        DESCRIPTION 
433           "An arbitrary integer index that uniquely identifies an 
434            instance of the class." 
435        ::= { ppvpn2547IfEntry 1 }
436    
437    ppvpn2547IfName OBJECT-TYPE 
438        SYNTAX       SnmpAdminString 
439        STATUS       current 
440        DESCRIPTION 
441           "The interface capability set to configure. The interface 
442            capability name specified by this attribute must exist in the 
443            frwkIfCapSetTable [FR-PIB] prior to association with an 
444            instance of this class." 
445        ::= { ppvpn2547IfEntry 2 } 
446    
447    
448    ppvpn2547IfRoles OBJECT-TYPE 
449        SYNTAX       RoleCombination 
450        STATUS       current
451        DESCRIPTION 
452           "The interfaces to which the VRF is attached to, 
453            specified in terms of roles.  There must exist an entry 
454            in the frwkIfRoleComboTable [FR-PIB] specifying 
455            this role combination, together with the interface 
456            capability set specified by ppvpn2547IfName, prior to 
457            association with an instance of this class." 
458        ::= { ppvpn2547IfEntry 3 }
459    
460    ppvpn2547IfVpnClassification OBJECT-TYPE
461        SYNTAX        INTEGER { carrierOfCarrier (1),
462                                enterprise (2),
463                                interProvider (3)
464        }
465        STATUS        current
466        DESCRIPTION
467            "Denotes whether this link participates in a carrier-of-
468            carrier's, enterprise, or inter-provider scenario."
469        ::= { ppvpn2547IfEntry 4 }
470    
471    ppvpn2547IfRouteDistProtocol OBJECT-TYPE
472        SYNTAX        BITS { none  (0),
473                             ebgp  (1),
474                             ospf  (2),
475                             rip   (3),
476                             isis  (4),
477                             other (5)
478        }
479        STATUS        current
480    
481        DESCRIPTION
482            "Denotes the route distribution protocol across the PE-CE 
483            link. Note that more than one routing protocol may be enabled 
484            at the same time."
485        ::= { ppvpn2547IfEntry 5 }
486    
487    
488 -- 
489 -- BGP/MPLS VPN BGP Peer Address Table
490 -- 
491     
492    ppvpn2547BgpPeerTable OBJECT-TYPE
493        SYNTAX        SEQUENCE OF Ppvpn2547BgpPeerEntry
494        PIB-ACCESS    install
495        STATUS        current
496        DESCRIPTION
497            "Each entry in this table specifies a per-interface 
498             MPLS/BGP neighbor."
499        ::= { ppvpn2547PolicyClasses 5 }
500    
501    ppvpn2547BgpPeerEntry OBJECT-TYPE
502        SYNTAX        Ppvpn2547BgpPeerEntry
503        STATUS        current
504        DESCRIPTION
505            "An entry in this table is created by an LSR for
506             every VRF capable of supporting MPLS/BGP VPN. The
507             indexing provides an ordering of VRFs per-VPN
508             interface."
509        PIB-INDEX  { ppvpn2547BgpPeerPrid }
510        UNIQUENESS { ppvpn2547BgpPeerVrfId,
511                     ppvpn2547BgpPeerAddrType,
512                     ppvpn2547BgpPeerAddr
513        }
514        ::= { ppvpn2547BgpPeerTable 1 }
515    
516    Ppvpn2547BgpPeerEntry ::= SEQUENCE {
517            ppvpn2547BgpPeerPrid         InstanceId,
518            ppvpn2547BgpPeerVrfId        TagId, 
519            ppvpn2547BgpPeerRole         INTEGER,
520            ppvpn2547BgpPeerAddrType     InetAddressType,
521            ppvpn2547BgpPeerAddr         InetAddress
522    }
523    
524    ppvpn2547BgpPeerPrid OBJECT-TYPE
525        SYNTAX        InstanceId
526        STATUS        current
527        DESCRIPTION
528             "An arbitrary integer index that uniquely identifies an 
529             instance of the class."
530        ::= { ppvpn2547BgpPeerEntry 1 }
531    
532    ppvpn2547BgpPeerVrfId OBJECT-TYPE
533        SYNTAX        TagId
534    
535        STATUS        current
536        DESCRIPTION
537            "Each BGP neighbor to the same VRF uses the same VRF ID. 
538            Hence, a VRF Id identifies which VRF this device is the 
539            neighbor. This needs to be the value of ppvpn2547VrfId
540            attribute for an existing instance of ppvpn2547VrfEntry."
541    ::= { ppvpn2547BgpPeerEntry 2 }
542    
543    ppvpn2547BgpPeerRole  OBJECT-TYPE
544        SYNTAX        INTEGER { ce(1), 
545                                pe(2) 
546        }
547        STATUS        current
548        DESCRIPTION
549            "Denotes the role played by this BGP neighbor
550             with respect to this VRF."
551        ::= { ppvpn2547BgpPeerEntry 3 }
552    
553    ppvpn2547BgpPeerAddrType  OBJECT-TYPE
554        SYNTAX        InetAddressType
555        STATUS        current
556        DESCRIPTION
557            "Denotes the address family of the PE address."
558        ::= { ppvpn2547BgpPeerEntry 4 }
559     
560    ppvpn2547BgpPeerAddr  OBJECT-TYPE
561        SYNTAX        InetAddress
562        STATUS        current
563        DESCRIPTION
564        "Denotes the EBGP neighbor address."
565    ::= { ppvpn2547BgpPeerEntry 5 }
566    
567    
568 -- 
569 -- VRF Routing Table
570 -- 
571    
572    ppvpn2547RouteTable  OBJECT-TYPE
573        SYNTAX        SEQUENCE OF Ppvpn2547RouteEntry
574        PIB-ACCESS    install
575        STATUS        current
576        DESCRIPTION
577            "This table specifies per-VRF MPLS/BGP VPN routing 
578            information. Entries in this table define VRF routing entries 
579            associated with the specified MPLS/VPN interfaces. Note
580            that this table contains both BGP and IGP routes, as both may
581            appear in the same VRF." 
582        ::= { ppvpn2547PolicyClasses 4 }
583    
584    ppvpn2547RouteEntry OBJECT-TYPE
585        SYNTAX        Ppvpn2547RouteEntry 
586        STATUS        current
587        DESCRIPTION
588            "An entry in this table is created by an LSR for every route
589    
590             present configured (either dynamically or statically) within
591             the context of a specific VRF capable of supporting MPLS/BGP
592             VPN. The indexing provides an ordering of VRFs per-VPN
593             interface."
594        PIB-INDEX { ppvpn2547RoutePrid }
595        UNIQUENESS { ppvpn2547RouteVrfId,
596                     ppvpn2547RouteDest,
597                     ppvpn2547RouteMask,
598                     ppvpn2547RouteTos,
599                     ppvpn2547RouteNextHop }
600           ::= { ppvpn2547RouteTable 1 }
601    
602    Ppvpn2547RouteEntry ::= SEQUENCE {
603            ppvpn2547RoutePrid               InstanceId,
604            ppvpn2547RouteVrfId              TagId,
605            ppvpn2547RouteDest               InetAddress,
606            ppvpn2547RouteDestAddrType       InetAddressType,
607            ppvpn2547RouteMask               InetAddress,
608            ppvpn2547RouteMaskAddrType       InetAddressType,
609            ppvpn2547RouteTos                Unsigned32,
610            ppvpn2547RouteNextHop            InetAddress,
611            ppvpn2547RouteNextHopAddrType    InetAddressType,
612            ppvpn2547RouteIfIndex            InterfaceIndexOrZero,
613            ppvpn2547RouteType               INTEGER,
614            ppvpn2547RouteProto              INTEGER,
615            ppvpn2547RouteInfo               OBJECT IDENTIFIER,
616            ppvpn2547RouteNextHopAS          Unsigned32,
617            ppvpn2547RouteMetric1            Integer32,
618            ppvpn2547RouteMetric2            Integer32,
619            ppvpn2547RouteMetric3            Integer32,
620            ppvpn2547RouteMetric4            Integer32,
621            ppvpn2547RouteMetric5            Integer32 
622    }
623    
624    ppvpn2547RoutePrid OBJECT-TYPE
625        SYNTAX        InstanceId
626        STATUS        current
627        DESCRIPTION
628             "An arbitrary integer index that uniquely identifies an 
629             instance of the class."
630        ::= { ppvpn2547RouteEntry 1 }
631    
632    ppvpn2547RouteVrfId OBJECT-TYPE
633        SYNTAX        TagId
634        STATUS        current
635        DESCRIPTION
636            "Each route belonging to the same VRF uses the same VRF ID. 
637            Hence, a VRF Id identifies which routing table this route is 
638            a part of. This needs to be the value of ppvpn2547VrfId 
639            attribute for an existing instance of ppvpn2547VrfEntry."
640    ::= { ppvpn2547RouteEntry 2 }
641    
642    ppvpn2547RouteDest  OBJECT-TYPE
643    
644       SYNTAX        InetAddress 
645       STATUS        current
646       DESCRIPTION
647           "The destination IP address of this route.
648            This object may not take a Multicast (Class D)
649            address value.
650            Any assignment (implicit or otherwise) of an
651            instance of this object to a value x must be
652            rejected if the bit-wise logical-AND of x with
653            the value of the corresponding instance of the
654            ppvpn2547RouteMask object is not equal to x."
655       ::= { ppvpn2547RouteEntry 3 }
656    
657    ppvpn2547RouteDestAddrType  OBJECT-TYPE
658       SYNTAX        InetAddressType
659       STATUS        current
660       DESCRIPTION
661           "The address type of the ppvpn2547RouteDest
662            entry."
663       ::= { ppvpn2547RouteEntry 4 }
664    
665    ppvpn2547RouteMask  OBJECT-TYPE
666        SYNTAX        InetAddress 
667        STATUS        current
668        DESCRIPTION
669            "Indicate the mask to be logical-ANDed with the
670            destination  address  before  being compared to
671            the value  in  the  ppvpn2547RouteDest field.
672            For those  systems  that  do  not support
673            arbitrary subnet masks, an agent constructs the
674            value of the ppvpn2547RouteMask by reference
675            to the IP Address Class.
676            Any assignment (implicit or otherwise) of an
677            instance of this object to a value x must be
678            rejected if the bit-wise logical-AND of x with
679            the value of the corresponding instance of the
680            ppvpn2547RouteDest object is not equal to
681            ppvpn2547RouteDest."
682        ::= { ppvpn2547RouteEntry 5 }
683    
684    ppvpn2547RouteMaskAddrType  OBJECT-TYPE
685        SYNTAX        InetAddressType 
686        STATUS        current
687        DESCRIPTION
688            "The address type of ppvpn2547RouteMask."
689        ::= { ppvpn2547RouteEntry 6 }
690    
691    ppvpn2547RouteTos  OBJECT-TYPE
692        SYNTAX        Unsigned32 
693        STATUS        current
694        DESCRIPTION
695           "The IP TOS Field is used to specify the policy to
696           be applied to this route.  The encoding of IP TOS
697    
698    
699           is as specified  by  the  following convention.
700           Zero indicates the default path if no more
701           specific policy applies.
702    
703           +-----+-----+-----+-----+-----+-----+-----+-----+
704           |                 |                       |     |
705           |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
706           |                 |                       |     |
707           +-----+-----+-----+-----+-----+-----+-----+-----+
708    
709                      IP TOS                IP TOS
710                 Field     Policy      Field     Policy
711                 Contents    Code      Contents    Code
712                 0 0 0 0  ==>   0      0 0 0 1  ==>   2
713                 0 0 1 0  ==>   4      0 0 1 1  ==>   6
714                 0 1 0 0  ==>   8      0 1 0 1  ==>  10
715                 0 1 1 0  ==>  12      0 1 1 1  ==>  14
716                 1 0 0 0  ==>  16      1 0 0 1  ==>  18
717                 1 0 1 0  ==>  20      1 0 1 1  ==>  22
718                 1 1 0 0  ==>  24      1 1 0 1  ==>  26
719                 1 1 1 0  ==>  28      1 1 1 1  ==>  30."
720       ::= { ppvpn2547RouteEntry 7 }
721    
722    ppvpn2547RouteNextHop  OBJECT-TYPE
723        SYNTAX        InetAddress 
724        STATUS        current
725        DESCRIPTION
726            "On remote routes, the address of the next
727            system en route; Otherwise, 0.0.0.0. ."
728        ::= { ppvpn2547RouteEntry 8 }
729    
730    ppvpn2547RouteNextHopAddrType  OBJECT-TYPE
731        SYNTAX        InetAddressType 
732        STATUS        current
733        DESCRIPTION
734            "The address type of the ppvpn2547RouteNextHopAddrType
735            object."
736        ::= { ppvpn2547RouteEntry 9 }
737    
738    ppvpn2547RouteIfIndex  OBJECT-TYPE
739        SYNTAX        InterfaceIndexOrZero 
740        STATUS        current
741        DESCRIPTION
742            "The ifIndex value that identifies the local
743            interface  through  which  the next hop of this
744            route should be reached. If this value is set to 0,
745            this indicates that no interface is associated with 
746            this route."
747        ::= { ppvpn2547RouteEntry 10 }
748    
749    ppvpn2547RouteType  OBJECT-TYPE
750        SYNTAX  INTEGER { other  (1), -- not specified
751                          reject (2), -- route to discard traffic
752    
753                          local  (3), -- local interface
754                          remote (4)  -- remote destination
755                        } 
756        STATUS        current
757        DESCRIPTION
758            "The type of route.  Note that local(3)  refers
759            to a route for which the next hop is the final
760            destination; remote(4) refers to a route for
761            that the next  hop is not the final destination.
762            Routes which do not result in traffic forwarding or
763            rejection should not be displayed even if the
764            implementation keeps them stored internally.
765            Reject (2) refers to a route which, if matched,
766            discards the message as unreachable. This is used
767            in some protocols as a means of correctly aggregating
768            routes."
769       ::= { ppvpn2547RouteEntry 11 }
770    
771    ppvpn2547RouteProto  OBJECT-TYPE
772        SYNTAX INTEGER { other     (1),  -- not specified
773                         local     (2),  -- local interface
774                         netmgmt   (3),  -- static route
775                         icmp      (4),  -- result of ICMP Redirect
776    
777                         -- the following are all dynamic
778                         -- routing protocols
779    
780                         egp        (5),  -- Exterior Gateway Protocol
781                         ggp        (6),  -- Gateway-Gateway Protocol
782                         hello      (7),  -- FuzzBall HelloSpeak
783                         rip        (8),  -- Berkeley RIP or RIP-II
784                         isIs       (9),  -- Dual IS-IS
785                         esIs       (10), -- ISO 9542
786                         ciscoIgrp  (11), -- Cisco IGRP
787                         bbnSpfIgp  (12), -- BBN SPF IGP
788                         ospf       (13), -- Open Shortest Path First
789                         bgp        (14), -- Border Gateway Protocol
790                         idpr       (15), -- InterDomain Policy Routing
791                         ciscoEigrp (16)  -- Cisco EIGRP
792                       } 
793        STATUS        current
794        DESCRIPTION
795            "The routing mechanism via which this route was
796            learned.  Inclusion of values for gateway rout-
797            ing protocols is not  intended  to  imply  that
798            hosts should support those protocols."
799        ::= { ppvpn2547RouteEntry 12 }
800    
801    ppvpn2547RouteInfo               OBJECT-TYPE
802        SYNTAX        OBJECT IDENTIFIER 
803        STATUS        current
804        DESCRIPTION
805            "A reference to MIB definitions specific to the
806    
807            particular routing protocol which is responsi-
808            ble for this route, as determined by the  value
809            specified  in the route's ppvpn2547RouteProto
810            value. If this information is not present, its
811            value SHOULD be set to the OBJECT IDENTIFIER
812            { 0 0 }, which is a syntactically valid object
813            identif-ier, and any implementation conforming
814            to ASN.1 and the Basic Encoding Rules must be
815            able to generate and recognize this value."
816        ::= { ppvpn2547RouteEntry 13 }
817    
818    ppvpn2547RouteNextHopAS          OBJECT-TYPE
819        SYNTAX        Unsigned32 
820        STATUS        current
821        DESCRIPTION
822            "The Autonomous System Number of the Next Hop.
823            The semantics of this object are determined by
824            the routing-protocol specified in the route's
825            ppvpn2547RouteProto value. When this object is
826            unknown or not relevant its value should be set
827            to zero."
828        ::= { ppvpn2547RouteEntry 14 }
829    
830    ppvpn2547RouteMetric1  OBJECT-TYPE
831        SYNTAX        Integer32 
832        STATUS        current
833        DESCRIPTION
834            "The primary routing metric for this route.
835            The semantics of this metric are determined by
836            the routing-protocol specified in  the  route's
837            ppvpn2547RouteProto value. If this metric is not
838            used, its value should be set to -1."
839        ::= { ppvpn2547RouteEntry 15 }
840    
841    ppvpn2547RouteMetric2  OBJECT-TYPE
842        SYNTAX        Integer32
843        STATUS        current
844        DESCRIPTION
845            "An alternate routing metric for this route.
846            The semantics of this metric are determined by
847            the routing-protocol specified in  the  route's
848            ppvpn2547RouteProto value. If this metric is not
849            used, its value should be set to -1."
850        ::= { ppvpn2547RouteEntry 16 }
851    
852    ppvpn2547RouteMetric3  OBJECT-TYPE
853        SYNTAX        Integer32
854        STATUS        current
855        DESCRIPTION
856            "An alternate routing metric for this route.
857            The semantics of this metric are determined by
858            the routing-protocol specified in  the  route's
859            ppvpn2547RouteProto value. If this metric is not
860    
861            used, its value should be set to -1."
862        ::= { ppvpn2547RouteEntry 17 }
863    
864    ppvpn2547RouteMetric4  OBJECT-TYPE
865        SYNTAX        Integer32
866        STATUS        current
867        DESCRIPTION
868            "An alternate routing metric for this route.
869            The semantics of this metric are determined by
870            the routing-protocol specified in  the  route's
871            ppvpn2547RouteProto value. If this metric is not
872            used, its value should be set to -1."
873        ::= { ppvpn2547RouteEntry 18 }
874    
875    ppvpn2547RouteMetric5  OBJECT-TYPE
876        SYNTAX        Integer32
877        STATUS        current
878        DESCRIPTION
879            "An alternate routing metric for this route.
880            The semantics of this metric are determined by
881            the routing-protocol specified in  the  route's
882            ppvpn2547RouteProto value. If this metric is not
883            used, its value should be set to -1."
884        ::= { ppvpn2547RouteEntry 19 }
885    
886    
887    -- 
888    -- Conformance Section 
889    -- 
890     
891
892     
893    ppvpn2547PibCompliances 
894        OBJECT IDENTIFIER ::= { ppvpn2547PibConformance 1 } 
895    ppvpn2547PibGroups 
896        OBJECT IDENTIFIER ::= { ppvpn2547PibConformance 2 } 
897    
898    ppvpn2547PibCompliance MODULE-COMPLIANCE 
899        STATUS  current 
900        DESCRIPTION 
901                "Describes the requirements for conformance to the 
902                PPVPN BGP/MPLS VPN Policy PIB." 
903         
904        MODULE  -- this module 
905            MANDATORY-GROUPS { 
906                ppvpn2547PibVrfGroup, 
907                ppvpn2547PibRouteTargetGroup, 
908                ppvpn2547PibIfGroup, 
909                ppvpn2547PibBgpPeerGroup,
910                ppvpn2547PibRouteGroup
911            }
912        ::= { ppvpn2547PibCompliances 1 } 
913    
914    ppvpn2547PibVrfGroup OBJECT-GROUP
915        OBJECTS { ppvpn2547VrfRoles,
916    
917                  ppvpn2547VrfIfName,
918                  ppvpn2547VrfId,
919                  ppvpn2547VrfDescription,
920                  ppvpn2547VrfRD,
921                  ppvpn2547VrfMaxRoutes 
922        } 
923        STATUS current 
924        DESCRIPTION 
925           "The VRF Group defines the PIB Objects that describe a VRF." 
926        ::= { ppvpn2547PibGroups 1 }
927
928    ppvpn2547PibRouteTargetGroup OBJECT-GROUP
929        OBJECTS { ppvpn2547RouteTargetType,
930                  ppvpn2547RouteTargetVrfId,
931 --                 ppvpn2547RouteTargetPrecedence,
932                  ppvpn2547RouteTargetRT,
933                  ppvpn2547RouteTargetDescr
934        } 
935        STATUS current 
936        DESCRIPTION 
937           "The Route Target Group defines the PIB Objects  that describe 
938           a Route Target." 
939        ::= { ppvpn2547PibGroups 2 }
940
941    ppvpn2547PibIfGroup OBJECT-GROUP
942        OBJECTS { ppvpn2547IfRoles,
943                  ppvpn2547IfName,
944                  ppvpn2547IfVpnClassification,
945                  ppvpn2547IfRouteDistProtocol  
946        } 
947        STATUS current 
948        DESCRIPTION 
949           "The Interface Group defines  the  PIB  Objects  that 
950           describe a Interface." 
951        ::= { ppvpn2547PibGroups 3 }
952
953    ppvpn2547PibBgpPeerGroup OBJECT-GROUP
954        OBJECTS { ppvpn2547BgpPeerVrfId,
955                  ppvpn2547BgpPeerRole,
956                  ppvpn2547BgpPeerAddrType,
957                  ppvpn2547BgpPeerAddr         
958        } 
959        STATUS current 
960        DESCRIPTION 
961           "The BGP Peer Group defines  the  PIB  Objects  that 
962           describe a BGP Peer." 
963        ::= { ppvpn2547PibGroups 4 }
964    
965    ppvpn2547PibRouteGroup OBJECT-GROUP
966        OBJECTS { ppvpn2547RouteVrfId,
967                  ppvpn2547RouteDest,
968                  ppvpn2547RouteDestAddrType,
969    
970                  ppvpn2547RouteMask,
971                  ppvpn2547RouteMaskAddrType,
972                  ppvpn2547RouteTos,
973                  ppvpn2547RouteNextHop,
974                  ppvpn2547RouteNextHopAddrType,
975                  ppvpn2547RouteIfIndex,
976
977                  ppvpn2547RouteType,
978                  ppvpn2547RouteProto,
979                  ppvpn2547RouteInfo,
980                  ppvpn2547RouteNextHopAS,
981                  ppvpn2547RouteMetric1,
982                  ppvpn2547RouteMetric2,
983                  ppvpn2547RouteMetric3,
984                  ppvpn2547RouteMetric4,
985                  ppvpn2547RouteMetric5
986        } 
987        STATUS current 
988        DESCRIPTION 
989           "The Route Group defines the PIB Objects that 
990           describe a Route." 
991        ::= { ppvpn2547PibGroups 5 }
992
993 END