1 IP-TE-PIB PIB-DEFINITIONS ::= BEGIN
6 Unsigned32, Integer32, MODULE-IDENTITY,
7 MODULE-COMPLIANCE, OBJECT-TYPE, OBJECT-GROUP,
10 InstanceId, ReferenceId, Prid, TagId
13 InetAddress, InetAddressType
16 FROM ACCOUNTING-FRAMEWORK-PIB
17 TruthValue, TEXTUAL-CONVENTION
22 FROM SNMP-FRAMEWORK-MIB;
25 ipTePib MODULE-IDENTITY
27 SUBJECT-CATEGORIES { all } -- IP TE client-type to be
29 LAST-UPDATED "200106180900Z"
30 ORGANIZATION "France Telecom"
38 Phone: +33 2 31 75 94 28
39 E-Mail: christian.jacquenet@francetelecom.com"
41 "The PIB module containing a set of policy rule classes
42 that describe IP Traffic Engineering policies to be
43 enforced within and between domains."
44 REVISION "200111061600Z"
48 ::= { ibrpib 23 } -- tbd to be assigned by IANA
50 ipTeFwdClasses OBJECT IDENTIFIER ::= { ipTePib 1 }
51 ipTeMetricsClasses OBJECT IDENTIFIER ::= { ipTePib 2 }
52 ipTeStatsClasses OBJECT IDENTIFIER ::= { ipTePib 3 }
55 -- Forwarding classes. The information contained in these classes
56 -- is meant to provide a detailed description of the traffic
57 -- engineered routes. One table has been specified so far, but there
58 -- is room for depicting specific kinds of routes, like MPLS LSP
59 -- paths, for example.
69 ipTeRouteTable OBJECT-TYPE
71 SYNTAX SEQUENCE OF IpTeRouteEntry
75 "This table describes the traffic engineered routes
76 that are installed in the forwarding tables of the
79 ::= { ipTeFwdClasses 1 }
81 ipTeRouteEntry OBJECT-TYPE
86 "A particular traffic engineered route to a particular
89 PIB-INDEX { ipTeRoutePrid }
90 UNIQUENESS { ipTeRouteDest,
93 ipTeRouteNextHopAddress,
94 ipTeRouteNextHopMask }
96 ::= { ipTeRouteTable 1 }
98 IpTeRouteEntry ::= SEQUENCE {
99 ipTeRoutePrid InstanceId,
100 ipTeRouteDestAddrType InetAddressType,
101 ipTeRouteDest InetAddress,
102 ipTeRouteMask Unsigned32,
103 ipTeRouteNextHopAddrType InetAddressType,
104 ipTeRouteNextHopAddress InetAddress,
105 ipTeRouteNextHopMask Unsigned32,
106 ipTeRoutePhbId Integer32,
107 ipTeRouteOrigin Integer32,
108 ipTeRouteIfIndex Unsigned32
111 ipTeRoutePrid OBJECT-TYPE
116 "An integer index that uniquely identifies this route
117 entry among all the route entries."
120 ::= { ipTeRouteEntry 1 }
122 ipTeRouteDestAddrType OBJECT-TYPE
124 SYNTAX InetAddressType
127 "The address type enumeration value ([16]) used to
128 specify the type of a route's destination IP address."
130 ::= { ipTeRouteEntry 2 }
132 ipTeRouteDest OBJECT-TYPE
137 "The IP address to match against the packet's
138 destination address."
140 ::= { ipTeRouteEntry 3 }
142 ipTeRouteMask OBJECT-TYPE
144 SYNTAX Unsigned32 (0..128)
147 "Indicates the length of a mask for the matching of the
148 destination IP address. Masks are constructed by
149 setting bits in sequence from the most-significant bit
150 downwards for ipTeRouteMask bits length. All other bits
151 in the mask, up to the number needed to fill the length
152 of the address ipTeRouteDest are cleared to zero. A
153 zero bit in the mask then means that the corresponding
154 bit in the address always matches."
156 ::= { ipTeRouteEntry 4 }
158 ipTeRouteNextHopAddrType OBJECT-TYPE
160 SYNTAX InetAddressType
163 "The address type enumeration value used to specify the
164 type of the next hop's IP address."
166 ::= { ipTeRouteEntry 5 }
168 ipTeRouteNextHopAddress OBJECT-TYPE
174 "On remote routes, the address of the next router en
175 route; Otherwise, 0.0.0.0."
177 ::= { ipTeRouteEntry 6 }
179 ipTeRouteNextHopMask OBJECT-TYPE
181 SYNTAX Unsigned32 (0..128)
184 "Indicates the length of a mask for the matching of the
185 next hop's IP address. Masks are constructed by setting
186 bits in sequence from the most-significant bit
187 downwards for ipTeRouteNextHopMask bits length. All
188 other bits in the mask, up to the number needed to fill
189 the length of the address ipTeRouteNextHop are cleared
190 to zero. A zero bit in the mask then means that the
191 corresponding bit in the address always matches."
193 ::= { ipTeRouteEntry 7 }
195 ipTeRoutePhbId OBJECT-TYPE
197 SYNTAX Integer32 (-1 | 0..63)
200 "The binary encoding that uniquely identifies a Per Hop
201 Behaviour (PHB, [17]) or a set of PHBs associated to
202 the DiffServ Code Point (DSCP, [15]) marking of the IP
203 datagrams that will be conveyed along this traffic
204 engineered route. A value of -1 indicates that a
205 specific PHB ID value has not been defined, and thus,
206 all PHB ID values are considered a match."
208 ::= { ipTeRouteEntry 8 }
210 ipTeRouteOrigin OBJECT-TYPE
221 "The value indicates the origin of the route. Either
222 the route has been computed by OSPF, by IS-IS,
223 announced by BGP4, is static, or else."
226 ::= { ipTeRouteEntry 9 }
228 ipTeRouteIfIndex OBJECT-TYPE
230 SYNTAX Unsigned32 (0..65535)
233 "The ifIndex value that identifies the local interface
234 through which the next hop of this route is
237 ::= { ipTeRouteEntry 10 }
241 -- Traffic engineering metrics classes.
243 -- The information stored in the following tables is meant to provide
244 -- the description of the metric values that will be taken into
245 -- account by intra- and inter-domain routing protocols for the
246 -- computation and the selection of traffic-engineered routes. So
247 -- far, two tables have been identified: one which is based upon the
248 -- traffic engineering extensions of OSPF, the other which is based
249 -- upon the contents of a specific BGP4 attribute. Next versions of
250 -- the draft will include IS-IS specific information, as well as
251 -- extensions of the BGP4-specific provisioning information for the
252 -- "basic" enforcement of a BGP4 routing policy.
257 -- The ospfTeMetricsTable
260 ospfTeMetricsTable OBJECT-TYPE
262 SYNTAX SEQUENCE OF OspfTeMetricsEntry
263 PIB-ACCESS install-notify
266 "This class describes the link and traffic engineering
267 metrics that will be used by OSPF for TE route
268 calculation purposes."
270 ::= { ipTeMetricsClasses 1 }
272 ospfTeMetricsEntry OBJECT-TYPE
274 SYNTAX OspfTeMetricsEntry
278 "The collection of OSPF metrics assigned to the router
279 on a per interface and per DSCP basis."
281 PIB-INDEX { ospfTeMetricsPrid }
282 UNIQUENESS { ospfTeMetricsIfMetricValue,
283 ospfTeMetricsDscpValue,
284 ospfTeMetricsSubTlvLinkType,
285 ospfTeMetricsSubTlvLinkId,
286 ospfTeMetricsSubTlvLocalIfAddress,
287 ospfTeMetricsSubTlvRemoteIfAddress,
288 ospfTeMetricsSubTlvTeMetric,
289 ospfTeMetricsSubTlvMaxBandwidth,
290 ospfTeMetricsSubTlvMaxRsvBandwidth,
291 ospfTeMetricsSubTlvUnrsvBandwidth,
292 ospfTeMetricsIfIndex }
294 ::= { ospfTeMetricsTable 1 }
296 OspfTeMetricsEntry ::= SEQUENCE {
298 ospfTeMetricsPrid InstanceId,
299 ospfTeMetricsIfMetricValue Unsigned32,
300 ospfTeMetricsDscpValue Integer32,
301 ospfTeMetricsTopTlvAddressType InetAddressType,
302 ospfTeMetricsTopTlvRouterAddress InetAddress,
303 ospfTeMetricsTopTlvRouterAddrMask Unsigned32,
304 ospfTeMetricsSubTlvLinkType INTEGER,
305 ospfTeMetricsSubTlvLinkIdAddressType InetAddressType,
306 ospfTeMetricsSubTlvLinkId InetAddress,
307 ospfTeMetricsSubTlvLinkIdMask Unsigned32,
308 ospfTeMetricsSubTlvLocalIfAddressType InetAddressType,
309 ospfTeMetricsSubTlvLocalIfAddress InetAddress,
310 ospfTeMetricsSubTlvLocalIfAddrMask Unsigned32,
311 ospfTeMetricsSubTlvRemoteIfAddressType InetAddressType,
312 ospfTeMetricsSubTlvRemoteIfAddress InetAddress,
313 ospfTeMetricsSubTlvRemoteIfAddrMask Unsigned32,
314 ospfTeMetricsSubTlvTeMetric Unsigned32,
315 ospfTeMetricsSubTlvMaxBandwidth Unsigned32,
316 ospfTeMetricsSubTlvMaxRsvBandwidth Unsigned32,
317 ospfTeMetricsSubTlvUnrsvBandwidth Unsigned32,
318 ospfTeMetricsIfIndex Unsigned32
321 ospfTeMetricsPrid OBJECT-TYPE
326 "An integer index that uniquely identifies this instance of
327 the ospfTeMetrics class."
329 ::= { ospfTeMetricsEntry 1 }
332 ospfTeMetricsIfMetricValue OBJECT-TYPE
334 SYNTAX Unsigned32 (1..65535)
337 "The link metric assigned on a per-DSCP and per-interface
338 basis, as defined in this instance of the
341 ::= { ospfTeMetricsEntry 2 }
343 ospfTeMetricsDscpValue OBJECT-TYPE
345 SYNTAX Integer32 (-1 | 0..63)
348 "The DSCP value associated to the link metric value, as
349 defined in the ospfTeMetricsIfMetricValue object. A value of
350 -1 indicates that a specific DSCP value has not been defined
351 and thus all DSCP values are considered a match."
353 ::= { ospfTeMetricsEntry 3 }
355 ospfTeMetricsTopTlvAddressType OBJECT-TYPE
357 SYNTAX InetAddressType
360 "The address type enumeration value used to specify the IP
361 address of the advertising router. This IP address is always
362 reachable, and is typically implemented as a 'loopback'
365 ::= { ospfTeMetricsEntry 4 }
367 ospfTeMetricsTopTlvRouterAddress OBJECT-TYPE
372 "The IP address (typically a 'loopback' address) of the
375 ::= { ospfTeMetricsEntry 5 }
377 ospfTeMetricsTopTlvRouterAddrMask OBJECT-TYPE
379 SYNTAX Unsigned32 (0..128)
384 "Indicates the length of a mask for the matching of the
385 advertising router's IP address. Masks are constructed by
386 setting bits in sequence from the most-significant bit
387 downwards for ospfTeMetricsTopTlvRouterAddrMask bits length.
388 All other bits in the mask, up to the number needed to fill
389 the length of the address ospfTeMetricsTopTlvRouterAddress
390 are cleared to zero. A zero bit in the mask then means that
391 the corresponding bit in the address always matches."
393 ::= { ospfTeMetricsEntry 6 }
395 ospfTeMetricsSubTlvLinkType OBJECT-TYPE
403 "The type of the link, either point-to-point or multi-
404 access, as defined in [8]."
406 ::= { ospfTeMetricsEntry 7 }
408 ospfTeMetricsSubTlvLinkIdAddressType OBJECT-TYPE
410 SYNTAX InetAddressType
413 "The address type enumeration value used to identify the
414 other end of the link, described as an IP address."
416 ::= { ospfTeMetricsEntry 8 }
418 ospfTeMetricsSubTlvLinkId OBJECT-TYPE
423 "The identification of the other end of the link, described
426 ::= { ospfTeMetricsEntry 9 }
428 ospfTeMetricsSubTlvLinkIdMask OBJECT-TYPE
430 SYNTAX Unsigned32 (0..128)
433 "Indicates the length of a mask for the matching of the
434 other end of the link, described as an IP address. Masks
435 are constructed by setting bits in sequence from the most-
437 significant bit downwards for ospfTeMetricsSubTlvLinkMask
438 bits length. All other bits in the mask, up to the number
439 needed to fill the length of the address
440 ospfTeMetricsSubTlvLinkId are cleared to zero. A zero bit
441 in the mask then means that the corresponding bit in the
442 address always matches."
444 ::= { ospfTeMetricsEntry 10 }
446 ospfTeMetricsSubTlvLocalIfAddressType OBJECT-TYPE
448 SYNTAX InetAddressType
451 "The address type enumeration value used to specify the IP
452 address of the interface corresponding to this instance of
453 the ospfTeMetricsSubTlvLinkType object."
455 ::= { ospfTeMetricsEntry 11 }
457 ospfTeMetricsSubTlvLocalIfAddress OBJECT-TYPE
462 "Specifies the IP address of the interface of the
463 advertising router which is connected to the link described
464 as an instance of the ospfTeMetricsSubTlvLinkType object."
466 ::= { ospfTeMetricsEntry 12 }
468 ospfTeMetricsSubTlvLocalIfAddrMask OBJECT-TYPE
470 SYNTAX Unsigned32 (0..128)
473 "Indicates the length of a mask for the matching of the IP
474 address of the interface corresponding to this instance of
475 the ospfTeMetricsSubTlvLinkType object. Masks are
476 constructed by setting bits in sequence from the most-
477 significant bit downwards for
478 ospfTeMetricsSubTlvLocalIfAddrMask bits length. All other
479 bits in the mask, up to the number needed to fill the length
480 of the address ospfTeMetricsSubTlvLocalIfAddress are cleared
481 to zero. A zero bit in the mask then means that the
482 corresponding bit in the address always matches."
484 ::= { ospfTeMetricsEntry 13 }
487 ospfTeMetricsSubTlvRemoteIfAddressType OBJECT-TYPE
490 SYNTAX InetAddressType
493 "The address type enumeration value used to specify the IP
494 address(es) of the neighbour's interface corresponding to
495 this instance of the ospfTeMetricsSubTlvLinkType object."
497 ::= { ospfTeMetricsEntry 14 }
499 ospfTeMetricsSubTlvRemoteIfAddress OBJECT-TYPE
504 "Specifies the IP address of the neighbour's interface that
505 is attached to this instance of the
506 ospfTeMetricsSubTlvLinkType object."
508 ::= { ospfTeMetricsEntry 15 }
510 ospfTeMetricsSubTlvRemoteIfAddrMask OBJECT-TYPE
512 SYNTAX Unsigned32 (0..128)
515 "Indicates the length of a mask for the matching of the IP
516 address of the neighbor's interface corresponding to this
517 instance of the ospfTeMetricsSubTlvLinkType object. Masks
518 are constructed by setting bits in sequence from the most-
519 significant bit downwards for
520 ospfTeMetricSubTlvRemoteIfAddrMaskbits length. All other
521 bits in the mask, up to the number needed to fill the length
522 of the address ospfTeMetricSubTlvRemoteIfAddress are cleared
523 to zero. A zero bit in the mask then means that the
524 corresponding bit in the address always matches."
526 ::= { ospfTeMetricsEntry 16 }
529 ospfTeMetricsSubTlvTeMetric OBJECT-TYPE
531 SYNTAX Unsigned32 (1..65535)
534 "The link metric that has been assigned for traffic
535 engineering purposes. This metric may be different from the
536 ospfTeMetricsLinkMetricValue object of the ospfTeMetrics
539 ::= { ospfTeMetricsEntry 17 }
541 ospfTeMetricsSubTlvMaxBandwidth OBJECT-TYPE
544 SYNTAX Unsigned32 (0..4294967295)
545 UNITS "bytes per second"
548 "Specifies the maximum bandwidth that can be used on this
549 instance of the ospfTeMetricsSubTlvLinkType object in this
550 direction (from the advertising router), expressed in bytes
553 ::= { ospfTeMetricsEntry 18 }
555 ospfTeMetricsSubTlvMaxRsvBandwidth OBJECT-TYPE
557 SYNTAX Unsigned32 (0..4294967295)
558 UNITS "bytes per second"
561 "Specifies the maximum bandwidth that may be reserved on
562 this instance of the ospfTeMetricsSubTlvLinkType object in
563 this direction (from the advertising router), expressed in
566 ::= { ospfTeMetricsEntry 19 }
568 ospfTeMetricsSubTlvUnrsvBandwidth OBJECT-TYPE
570 SYNTAX Unsigned32 (0..4294967295)
571 UNITS "bytes per second"
574 "Specifies the amount of bandwidth that has not been
575 reserved on this instance of the ospfTeMetricsSubTlvLinkType
576 object in this direction yet (from the advertising router),
577 expressed in bytes per second."
579 ::= { ospfTeMetricsEntry 20 }
581 ospfTeMetricsIfIndex OBJECT-TYPE
583 SYNTAX Unsigned32 (0..65535)
586 "The ifIndex value that identifies the local interface that
587 has been assigned a (set of) metrics."
589 ::= { ospfTeMetricsEntry 21 }
596 bgpTeTable OBJECT-TYPE
598 SYNTAX SEQUENCE OF BgpTeEntry
599 PIB-ACCESS install-notify
602 "This class describes the QoS information that MAY be
603 conveyed in BGP4 UPDATE messages for the purpose of
604 enforcing an inter-domain traffic engineering policy."
606 ::= { ipTeMetricsClasses 2 }
608 bgpTeEntry OBJECT-TYPE
613 "The collection of QoS information to be exchanged by
614 BGP peers, as far as the announcement of traffic
615 engineered routes between domains is concerned."
617 PIB-INDEX { bgpTePrid }
618 UNIQUENESS { bgpTeNlriAddress,
626 bgpTeAverageOneWayDelay,
627 bgpTeInterPacketDelay }
631 BgpTeEntry ::= SEQUENCE {
633 bgpTePrid InstanceId,
634 bgpTeNlriAddressType InetAddressType,
635 bgpTeNlriAddress InetAddress,
636 bgpTeNlriAddressMask Unsigned32,
637 bgpTeNextHopAddressType InetAddressType,
638 bgpTeNextHopAddress InetAddress,
639 bgpTeNextHopMask Unsigned32,
640 bgpTeReservedRate Unsigned32,
641 bgpTeAvailableRate Unsigned32,
642 bgpTeLossRate Unsigned32,
643 bgpTePhbId Integer32,
644 bgpTeMinOneWayDelay Unsigned32,
645 bgpTeMaxOneWayDelay Unsigned32,
646 bgpTeAverageOneWayDelay Unsigned32,
647 bgpTeInterPacketDelay Unsigned32
651 bgpTePrid OBJECT-TYPE
656 "An integer index that uniquely identifies this instance of
661 bgpTeNlriAddressType OBJECT-TYPE
663 SYNTAX InetAddressType
666 "The address type enumeration value ([18]) used to
667 specify the type of a route's destination IP address."
671 bgpTeNlriAddress OBJECT-TYPE
676 "The IP address to match against the NLRI field of the
677 QOS_NLRI attribute of the BGP4 UPDATE message."
681 bgpTeNlriAddressMask OBJECT-TYPE
683 SYNTAX Unsigned32 (0..128)
686 "Indicates the length of a mask for the matching of the
687 NLRI field of the QOS_NLRI attribute of the BGP4 UPDATE
688 message. Masks are constructed by setting bits in
689 sequence from the most-significant bit downwards for
690 bgpTeNlriMask bits length. All other bits in the mask,
691 up to the number needed to fill the length of the
692 address bgpTeNlri are cleared to zero. A zero bit in
693 the mask then means that the corresponding bit in the
694 address always matches."
698 bgpTeNextHopAddressType OBJECT-TYPE
700 SYNTAX InetAddressType
704 "The address type enumeration value used to specify the
705 type of the next hop's IP address."
709 bgpTeNextHopAddress OBJECT-TYPE
714 "On remote routes, the address of the next router en
715 route; Otherwise, 0.0.0.0."
719 bgpTeNextHopMask OBJECT-TYPE
721 SYNTAX Unsigned32 (0..128)
724 "Indicates the length of a mask for the matching of the next
725 hop's IP address. Masks are constructed by setting bits in
726 sequence from the most-significant bit downwards for
727 bgpTeNextHopMask bits length. All other bits in the mask, up
728 to the number needed to fill the length of the address
729 bgpTeNextHopAddress are cleared to zero. A zero bit in the
730 mask then means that the corresponding bit in the address
735 bgpTeReservedRate OBJECT-TYPE
737 SYNTAX Unsigned32 (0..4294967295)
738 UNITS "kilobits per second"
741 "Specifies the reserved rate that cannot be used on this
742 instance of the bgpTeNlriAddress object in this direction
743 (from the advertising BGP peer), expressed in kilobits per
748 bgpTeAvailableRate OBJECT-TYPE
750 SYNTAX Unsigned32 (0..4294967295)
751 UNITS "kilobits per second"
755 "Specifies the available rate that may be reserved on this
756 instance of the bgpTeNlriAddress object in this direction
757 (from the advertising BGP peer), expressed in kilobits per
762 bgpTeLossRate OBJECT-TYPE
764 SYNTAX Unsigned32 (0..4294967295)
767 "Specifies the packet loss ratio that has been observed on
768 this route instantiated by the bgpTeNlriAddress object."
770 ::= { bgpTeEntry 10 }
772 bgpTePhbId OBJECT-TYPE
774 SYNTAX Integer32 (-1 | 0..63)
777 "The binary encoding that uniquely identifies a Per Hop
778 Behaviour (PHB) or a set of PHBs associated to the
779 DiffServ Code Point marking of the IP datagrams that
780 are to be conveyed along this traffic engineered route.
781 A value of -1 indicates that a specific PHB ID value
782 has not been defined, and thus, all PHB ID values are
785 ::= { bgpTeEntry 11 }
787 bgpTeMinOneWayDelay OBJECT-TYPE
789 SYNTAX Unsigned32 (0..4294967295)
793 "Specifies the minimum one-way delay that has been observed
794 on this route instantiated by the bgpTeNlriAddress object,
795 expressed in milliseconds."
797 ::= { bgpTeEntry 12 }
799 bgpTeMaxOneWayDelay OBJECT-TYPE
801 SYNTAX Unsigned32 (0..4294967295)
808 "Specifies the maximum one-way delay that has been observed
809 on this route instantiated by the bgpTeNlriAddress object,
810 expressed in milliseconds."
812 ::= { bgpTeEntry 13 }
814 bgpTeAverageOneWayDelay OBJECT-TYPE
816 SYNTAX Unsigned32 (0..4294967295)
820 "Specifies the average one-way delay that has been observed
821 on this route instantiated by the bgpTeNlriAddress object,
822 expressed in milliseconds."
824 ::= { bgpTeEntry 14 }
826 bgpTeInterPacketDelay OBJECT-TYPE
828 SYNTAX Unsigned32 (0..4294967295)
832 "Specifies the inter-packet delay variation that has been
833 observed on this route instantiated by the bgpTeNlriAddress
836 ::= { bgpTeEntry 15 }
839 -- Traffic engineering statistics classes. The information contained
840 -- in the yet-to-be defined tables aim at reporting statistics about
841 -- COPS control traffic, engineered traffic and potential errors. The
842 -- next version of the draft will provide a first table that will be
843 -- based upon the use of the "count" clause.