rap working group Man Li Internet Draft Nokia Expires August 2003 February 2003 MPLS Traffic Engineering Policy Information Base draft-li-rap-mplspib-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright c The Internet Society (2003). All Rights Reserved. Distribution of this memo is unlimited. Abstract This document specifies a set of policy rule classes (PRC) for configuring MPLS traffic engineering policy at network elements. Instances of these classes reside in a virtual information store called the MPLS-TE Policy Information Base (PIB). The COPS protocol [3] with extensions for provisioning [4] is used to transmit this policy information to network elements. The PRCs defined in this document are intended for use by the COPS-PR MPLS client type. These PRCs are in addition to any other PIBs that may be defined for the MPLS client type, as well as the PRCs defined in the Framework PIB [5]. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and Li Expires August 2003 1 MPLS Policy Information Base February 2003 "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [2]. 1. Introduction The policy rule classes (PRC) defined in this document contain parameters to be used by ingress routers to establish MPLS tunnels through RSVP-TE [6] and to map traffic into the MPLS tunnels. In addition, the PRCs allow a static provision of Diffserv over MPLS tunnels. This PIB also supports the signaling of Differv over MPLS tunnels through the extensions to the RSVP-TE [7]. This document assumes that IP packets are carried by MPLS and that RSVP-TE signaling with its extension to support Diffserv over MPLS is used to establish MPLS tunnels. ATM based MPLS is out of the scope of this document. 2. Summary of the MPLS PIB tables 2.1 mplsLsp group This group specifies the parameters associated LSP tunnels. 2.1.1 mplsLspTable This table specifies LSPs. It contains pointers to other tables that together indicate the properties of the LSPs. 2.1.2 mplsFlowSpecTable This table specifies the traffic characteristics of the data flow to be carried by this tunnel. 2.1.3 mplsSessionTable This table specifies Session attributes. All LSPs associated with a session share the same session attributes. 2.1.4 mplsAffinityTable This table specifies resource affinity information that may be associated with sessions. 2.1.5 mplsExplicitRoutePathTable This table specifies paths for explicit routes of LSPs. It contains pointers to the AbstractNodeTable to indicate an ordered list of abstract nodes to be included within an explicit route. 2.1.6 mplsAbstractNodeTable This table specifies abstract nodes. 2.1.7 mplsFecTable This table specifies forward equivalent classes associated with LSPs. 2.2 mplsDiffserv group Li Expires August 2003 2 MPLS Policy Information Base February 2003 This group specifies Diffserv over MPLS as per RFC 3270 [7]. 2.2.1 mplsDiffservRuleTable This table specifies Diffserv over MPLS rules. 2.2.2 mplsExpPhbMapSetTable This table specifies groups of EXP to PHB mappings to be used by E-LSP. 2.2.3 mplsExpPhbMapTable This table specifies EXP to PHB mappings. 2.2 mplsPolicyPibConformance group This group specifies requirements for conformance to the MPLS Policy PIB. 3. Open issues The mode (pipe or uniform) of MPLS tunnels is not specified in this PIB. The mode of a tunnel is configured at the egress router whereas this PIB is to configure ingress routers so that RSVP-TE can be used to set up the tunnels. RSVP-TE, however, does not have a field to specify the mode of the tunnel. More investigation is needed on this subject. 4. The MPLS PIB Module MPLS-POLICY-PIB PIB-DEFINITIONS ::= BEGIN IMPORTS Unsigned32, MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, TEXTUAL-CONVENTION, MODULE-COMPLIANCE, OBJECT-GROUP, pib FROM COPS-PR-SPPI TruthValue FROM SNMPv2-TC InstanceId, ReferenceId, TagId, TagReferenceId, Prid FROM COPS-PR-SPPI-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB IfDirection FROM DIFFSERV-MIB InetAddress, InetAddressType FROM INET-ADDRESS-MIB RoleCombination FROM FRAMEWORK-TC-PIB; mplsPolicyPib MODULE-IDENTITY SUBJECT-CATEGORIES { tbd } -- MPLS Client Type -- LAST-UPDATED "200301021800Z" ORGANIZATION "IETF tbd WG" CONTACT-INFO " Man Li Li Expires August 2003 3 MPLS Policy Information Base February 2003 Nokia 5 Wayside Road, Burlington, MA 01803 Phone: +1 781 993 3923 Email: man.m.li@nokia.com" DESCRIPTION "This PIB module contains a set of policy rule classes that describe MPLS policies." REVISION "200301022300Z" DESCRIPTION "Initial version, published as RFC xxxx." ::= { pib yyy } -- yyy to be assigned by IANA -- Unsigned16 ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An unsigned 16 bit integer." SYNTAX Unsigned32 (0..65535) Unsigned8 ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An unsigned 16 bit integer." SYNTAX Unsigned32 (0..255) mplsLsp OBJECT-IDENTITY STATUS current DESCRIPTION "This group specifies LSP tunnels." ::= { mplsPolicyPib 1 } mplsDiffserv OBJECT-IDENTITY STATUS current DESCRIPTION "This group specifies Diffserv over MPLS as per RFC 3270." ::= { mplsPolicyPib 2 } mplsPolicyPibConformance OBJECT-IDENTITY STATUS current DESCRIPTION "This group specifies requirements for conformance to the MPLS Policy PIB" ::= { mplsPolicyPib 3 } -- -- Li Expires August 2003 4 MPLS Policy Information Base February 2003 -- The mplsSessionTable -- mplsSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsSessionEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies session attributes." ::= { mplsLsp 1 } mplsSessionEntry OBJECT-TYPE SYNTAX MplsSessionEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsSessionPrid } UNIQUENESS { mplsSessionName, mplsSessionSetupPriority, mplsSessionHoldPriority, mplsSessionFlags, mplsSessionAffinityId } ::= { mplsSessionTable 1 } MplsSessionEntry ::= SEQUENCE { mplsSessionPrid InstanceId, mplsSessionName OCTET STRING, mplsSessionSetupPriority Unsigned8, mplsSessionHoldPriority Unsigned8, mplsSessionFlags INTEGER, mplsSessionAffinityId ReferenceId } mplsSessionPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsSessionEntry 1 } mplsSessionName OBJECT-TYPE SYNTAX OCTET STRING STATUS current DESCRIPTION "Specifies the name of the session. This attribute SHALL be used to fill the 'Session Name' field of a Session Attribute Object of RSVP- TE." ::= { mplsSessionEntry 2 } mplsSessionSetupPriority OBJECT-TYPE Li Expires August 2003 5 MPLS Policy Information Base February 2003 SYNTAX Unsigned8 STATUS current DESCRIPTION "Specifies the set up priority of the session. It is the priority of the session with respect to taking resources, in the range of 0 to 7. This attribute SHALL be used to fill the 'Setup Priority' field of a Session Attribute Object of RSVP-TE." ::= { mplsSessionEntry 3 } mplsSessionHoldPriority OBJECT-TYPE SYNTAX Unsigned8 STATUS current DESCRIPTION "Specifies the holding priority of the session. It is the priority of the session with respect to holding resources, in the range of 0 to 7. This attribute SHALL be used to fill the 'Holding Priority' field of a Session Attribute Object of RSVP-TE. " ::= { mplsSessionEntry 4 } mplsSessionFlags OBJECT-TYPE SYNTAX INTEGER { Local-protection-desired(1), Label-recording-desired(2), SE-style-desired(4) } STATUS current DESCRIPTION "Flags associated with the session attribute. This attribute SHALL be used to fill the 'Flags' field of a Session Attribute Object of RSVP-TE." ::= { mplsSessionEntry 5 } mplsSessionAffinityId OBJECT-TYPE SYNTAX ReferenceId PIB-REFERENCES {mplsAffinityEntry } STATUS current DESCRIPTION "A pointer to a valid instance in the mplsAffinityTable to specify the affinity associated with the session." ::= { mplsSessionEntry 6 } -- -- -- The mplsAffinityTable -- mplsAffinityTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsAffinityEntry PIB-ACCESS install STATUS current DESCRIPTION Li Expires August 2003 6 MPLS Policy Information Base February 2003 "Specifies the affinity that may be associated with LSP tunnel. The attributes specified in this table SHALL be used to fill the 'Exclude-any', 'Include-any' and 'Include-all' fields of the Session Attribute Object of RSVP-TE. " ::= { mplsLsp 2 } mplsAffinityEntry OBJECT-TYPE SYNTAX MplsAffinityEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsAffinityPrid } UNIQUENESS { mplsAffinityExcludeAny, mplsAffinityIncludeAny, mplsAffinityIncludeAll } ::= { mplsAffinityTable 1 } MplsAffinityEntry ::= SEQUENCE { mplsAffinityPrid InstanceId, mplsAffinityExcludeAny BITS, mplsAffinityIncludeAny BITS, mplsAffinityIncludeAll BITS } mplsAffinityPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsAffinityEntry 1 } mplsAffinityExcludeAny OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "A 32-bit vector representing a set of attribute filters associated with a tunnel, any of which renders a link unacceptable." ::= { mplsAffinityEntry 2 } mplsAffinityIncludeAny OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "A 32-bit vector representing a set of attribute filters associated with a tunnel, any of which renders a link acceptable (with respect to this test). When all bits are zero, this test automatically passes. " ::= { mplsAffinityEntry 3 } Li Expires August 2003 7 MPLS Policy Information Base February 2003 mplsAffinityIncludeAll OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "A 32-bit vector representing a set of attribute filters associated with a tunnel, all of which must be present for a link to be acceptable (with respect to this test). When all bits are zero, this test automatically passes. " ::= { mplsAffinityEntry 4 } -- -- -- The mplsExplicitRoutePathTable -- mplsExplicitRoutePathTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsExplicitRoutePathEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies explicit route paths. Each path consists of an ordered list of abstract nodes. All nodes that are associated with the same SetId is in the same path. The order of the nodes within the path is specified by the Order attribute." ::= { mplsLsp 3 } mplsExplicitRoutePathEntry OBJECT-TYPE SYNTAX MplsExplicitRoutePathEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsExplicitRoutePathPrid } UNIQUENESS { mplsExplicitRoutePathSetId, mplsExplicitRoutePathOrder, mplsExplicitRoutePathAbstractNodeId, mplsExplicitRoutePathLoose } ::= { mplsExplicitRoutePathTable 1 } MplsExplicitRoutePathEntry ::= SEQUENCE { mplsExplicitRoutePathPrid InstanceId, mplsExplicitRoutePathSetId TagId, mplsExplicitRoutePathOrder Unsigned16, mplsExplicitRoutePathAbstractNodeId ReferenceId, mplsExplicitRoutePathLoose TruthValue } mplsExplicitRoutePathPrid OBJECT-TYPE SYNTAX InstanceId STATUS current Li Expires August 2003 8 MPLS Policy Information Base February 2003 DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsExplicitRoutePathEntry 1 } mplsExplicitRoutePathSetId OBJECT-TYPE SYNTAX TagId STATUS current DESCRIPTION "Tad Id that is used to group the abstract nodes into a path." ::= { mplsExplicitRoutePathEntry 2 } mplsExplicitRoutePathOrder OBJECT-TYPE SYNTAX Unsigned16 STATUS current DESCRIPTION "Specifies the order of the abstract node within a path. A node with a smaller order value is traversed before nodes with larger order values." ::= { mplsExplicitRoutePathEntry 3 } mplsExplicitRoutePathAbstractNodeId OBJECT-TYPE SYNTAX ReferenceId PIB-REFERENCES {mplsAbstractNodeEntry } STATUS current DESCRIPTION "A pointer to a valid instance in the mplsAbstractNodeTable to specify an abstract node. " ::= { mplsExplicitRoutePathEntry 4 } mplsExplicitRoutePathLoose OBJECT-TYPE SYNTAX TruthValue STATUS current DESCRIPTION "Specifies if the abstract node pointed by AbstractNodeId is a loose hop. When this value is true, the L bit in the sub-object of the Explicit Route Object of RSVP-TE MUST be set." ::= { mplsExplicitRoutePathEntry 5 } -- -- -- The mplsAbstractNodeTable -- mplsAbstractNodeTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsAbstractNodeEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies abstract nodes to be used for explicit routes." ::= { mplsLsp 4 } Li Expires August 2003 9 MPLS Policy Information Base February 2003 mplsAbstractNodeEntry OBJECT-TYPE SYNTAX MplsAbstractNodeEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsAbstractNodePrid } UNIQUENESS { mplsAbstractNodeIpAddrType, mplsAbstractNodeIpAddr, mplsAbstractNodePrefixLength, mplsAbstractNodeASNumber } ::= { mplsAbstractNodeTable 1 } MplsAbstractNodeEntry ::= SEQUENCE { mplsAbstractNodePrid InstanceId, mplsAbstractNodeIpAddrType INTEGER, mplsAbstractNodeIpAddr OCTET STRING, mplsAbstractNodePrefixLength Unsigned32, mplsAbstractNodeASNumber Unsigned32 } mplsAbstractNodePrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsAbstractNodeEntry 1 } mplsAbstractNodeIpAddrType OBJECT-TYPE SYNTAX INTEGER { IPv4(1), IPv6(2), AS(3) } STATUS current DESCRIPTION "Specifies the address type of this abstract node. Address types may be IPv4(1), IPv6(2) or autonomous system (AS) number (3). " ::= { mplsAbstractNodeEntry 2 } mplsAbstractNodeIpAddr OBJECT-TYPE SYNTAX OCTET STRING STATUS current DESCRIPTION "The IP address used to define the abstract node. This attribute must be ignored if the address type is not IPv4 or IPv6." ::= { mplsAbstractNodeEntry 3 } mplsAbstractNodePrefixLength OBJECT-TYPE SYNTAX Unsigned32 STATUS current Li Expires August 2003 10 MPLS Policy Information Base February 2003 DESCRIPTION "Specifies the length in bits of the address prefix. This attribute must be ignored if the address type is not IPv4 or IPv6." ::= { mplsAbstractNodeEntry 4 } mplsAbstractNodeASNumber OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the AS number of the abstract node. This attribute is meaningful only when the address type is specified as AS number. When the address type is not AS number, this attribute MUST be ignored." ::= { mplsAbstractNodeEntry 5 } -- -- -- The mplsFlowSpecTable -- mplsFlowSpecTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFlowSpecEntry PIB-ACCESS install STATUS current DESCRIPTION "Defines the traffic characteristics of the data flow to be carried by this tunnel. The attributes specified in this table SHALL be used to fill in the fields of SENDER_TSPEC object of RSVP. " ::= { mplsLsp 5 } mplsFlowSpecEntry OBJECT-TYPE SYNTAX MplsFlowSpecEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsFlowSpecPrid } UNIQUENESS { mplsFlowSpecTokenRate, mplsFlowSpecBucketSize, mplsFlowSpecPeakRate, mplsFlowSpecMinPoliced, mplsFlowSpecMaxPktSize } ::= { mplsFlowSpecTable 1 } MplsFlowSpecEntry ::= SEQUENCE { mplsFlowSpecPrid InstanceId, mplsFlowSpecTokenRate Unsigned32, mplsFlowSpecBucketSize Unsigned32, mplsFlowSpecPeakRate Unsigned32, mplsFlowSpecMinPoliced Unsigned32, Li Expires August 2003 11 MPLS Policy Information Base February 2003 mplsFlowSpecMaxPktSize Unsigned32 } mplsFlowSpecPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsFlowSpecEntry 1 } mplsFlowSpecTokenRate OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the token rate." ::= { mplsFlowSpecEntry 2 } mplsFlowSpecBucketSize OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the bucket size." ::= { mplsFlowSpecEntry 3 } mplsFlowSpecPeakRate OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the peak rate." ::= { mplsFlowSpecEntry 4 } mplsFlowSpecMinPoliced OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the minimum policed packet size." ::= { mplsFlowSpecEntry 5 } mplsFlowSpecMaxPktSize OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "Specifies the maximum packet size." ::= { mplsFlowSpecEntry 6 } -- -- -- The mplsFecTable -- mplsFecTable OBJECT-TYPE Li Expires August 2003 12 MPLS Policy Information Base February 2003 SYNTAX SEQUENCE OF MplsFecEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies forward equivalent classes (FEC) that may contain one or more filters." ::= { mplsLsp 6 } mplsFecEntry OBJECT-TYPE SYNTAX MplsFecEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsFecPrid } UNIQUENESS { mplsFecSetId, mplsFecFilterId } ::= { mplsFecTable 1 } MplsFecEntry ::= SEQUENCE { mplsFecPrid InstanceId, mplsFecSetId TagId, mplsFecFilterId Prid } mplsFecPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsFecEntry 1 } mplsFecSetId OBJECT-TYPE SYNTAX TagId STATUS current DESCRIPTION "Tag Id that is used to group multiple filters into a forward equivalent class." ::= { mplsFecEntry 2 } mplsFecFilterId OBJECT-TYPE SYNTAX Prid STATUS current DESCRIPTION "A pointer to a valid instance in another table that can be used as a filter. When it points to an instance in the mplsAbstractNodeTable, the filter matches all packets that are destined to the pointed abstract node. It may also point to an instance in a filter table specified in other PIB modules. " ::= { mplsFecEntry 3 } Li Expires August 2003 13 MPLS Policy Information Base February 2003 -- -- -- The mplsLspTunnelTable -- mplsLspTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLspTunnelEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies LSP tunnels." ::= { mplsLsp 7 } mplsLspTunnelEntry OBJECT-TYPE SYNTAX MplsLspTunnelEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsLspTunnelPrid } UNIQUENESS { mplsLspTunnelEgressAddrType, mplsLspTunnelEgressAddr, mplsLspTunnelRecordRoute, mplsLspTunnelLspType, mplsLspTunnelPsc, mplsLspTunnelExpPhbMapSetId, mplsLspTunnelFecId, mplsLspTunnelFlowSpecId, mplsLspTunnelExplicitRouteSetId, mplsLspTunnelSessionId } ::= { mplsLspTunnelTable 1 } MplsLspTunnelEntry ::= SEQUENCE { mplsLspTunnelPrid InstanceId, mplsLspTunnelEgressAddrType InetAddressType, mplsLspTunnelEgressAddr InetAddress, mplsLspTunnelRecordRoute TruthValue, mplsLspTunnelLspType INTEGER, mplsLspTunnelPsc BITS, mplsLspTunnelExpPhbMapSetId TagReferenceId, mplsLspTunnelFecId TagReferenceId, mplsLspTunnelFlowSpecId ReferenceId, mplsLspTunnelExplicitRouteSetId TagReferenceId, mplsLspTunnelSessionId ReferenceId } mplsLspTunnelPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION Li Expires August 2003 14 MPLS Policy Information Base February 2003 "An integer index that uniquely identifies an instance of this class." ::= { mplsLspTunnelEntry 1 } mplsLspTunnelEgressAddrType OBJECT-TYPE SYNTAX InetAddressType STATUS current DESCRIPTION "Specifies the address type of the egress node of this LSP." ::= { mplsLspTunnelEntry 2 } mplsLspTunnelEgressAddr OBJECT-TYPE SYNTAX InetAddress STATUS current DESCRIPTION "Specifies the IP address of the egress node of this LSP. " ::= { mplsLspTunnelEntry 3 } mplsLspTunnelRecordRoute OBJECT-TYPE SYNTAX TruthValue STATUS current DESCRIPTION "Specifies if a record route is required." ::= { mplsLspTunnelEntry 4 } mplsLspTunnelLspType OBJECT-TYPE SYNTAX INTEGER { E-LSP(1), L-LSP(2) } STATUS current DESCRIPTION "Specifies the type of LSP for Diffserv over MPLS. A value of 1 indicates that it is an E-LSP and a value of 2 indicates that it is an L-LSP." ::= { mplsLspTunnelEntry 5 } mplsLspTunnelPsc OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "16 bits used to specify the Per-Hop Scheduling Class (PSC) to be supported by the L-LSP. The encoding is specified in RFC 2836. This attribute SHALL be used to fill the RSVP-TE extension 'PSC' field of a Diffserv Object for L-LSP as specified in RFC 3270. This attribute is meaningful only when the LSP is an L-LSP. Otherwise, this attribute MUST be ignored." ::= { mplsLspTunnelEntry 6 } mplsLspTunnelExpPhbMapSetId OBJECT-TYPE SYNTAX TagReferenceId PIB-TAG { mplsExpPhbMapSetSetId } Li Expires August 2003 15 MPLS Policy Information Base February 2003 STATUS current DESCRIPTION "A pointer to a set of EXP to PHB mappings. When the LspType is E- LSP and the value of this attribute is not zero, the pointed mapping rules over ride default EXP to PHB mappings. When the LspType is E- LSP and the value of this attribute is zero, default EXP to PHB mappings apply. This attribute MUST be ignored if the LspType is not E-LSP." ::= { mplsLspTunnelEntry 7 } mplsLspTunnelFecId OBJECT-TYPE SYNTAX TagReferenceId PIB-TAG { mplsFecSetId } STATUS current DESCRIPTION "A pointer to a set of filters that make an FEC. Packets that match the filters are carried by this LSP." ::= { mplsLspTunnelEntry 8 } mplsLspTunnelFlowSpecId OBJECT-TYPE SYNTAX ReferenceId PIB-REFERENCES {mplsFlowSpecEntry } STATUS current DESCRIPTION "A pointer to a valid instance in the mplsFlowSpecTable to specify the flow characteristics of the traffic to be carried by the LSP." ::= { mplsLspTunnelEntry 9 } mplsLspTunnelExplicitRouteSetId OBJECT-TYPE SYNTAX TagReferenceId PIB-TAG { mplsExplicitRoutePathSetId } STATUS current DESCRIPTION "A pointer to a set of abstract nodes that make a path. If the value of this attribute is zero, this LSP is routed through the default routing protocol supported by the network." ::= { mplsLspTunnelEntry 10 } mplsLspTunnelSessionId OBJECT-TYPE SYNTAX ReferenceId PIB-REFERENCES {mplsSessionEntry } STATUS current DESCRIPTION "A pointer to a valid instance in mplsSessionTable to specify the session this LSP tunnel belongs to. All LSPs that belong to the same session constitute a set of traffic engineering tunnels. Refer to RFC 3209 for more information on traffic engineering tunnels." ::= { mplsLspTunnelEntry 11 } -- -- Li Expires August 2003 16 MPLS Policy Information Base February 2003 -- The mplsDiffservRuleTable -- mplsDiffservRuleTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsDiffservRuleEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies Diffserv over MPLS rules." ::= { mplsDiffserv 1 } mplsDiffservRuleEntry OBJECT-TYPE SYNTAX MplsDiffservRuleEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsDiffservRulePrid } UNIQUENESS { mplsDiffservRuleCapSetName, mplsDiffservRuleRoles, mplsDiffservRuleIfDirection, mplsDiffservRuleExpPhbMapSetId } ::= { mplsDiffservRuleTable 1 } MplsDiffservRuleEntry ::= SEQUENCE { mplsDiffservRulePrid InstanceId, mplsDiffservRuleCapSetName SnmpAdminString, mplsDiffservRuleRoles RoleCombination, mplsDiffservRuleIfDirection IfDirection, mplsDiffservRuleExpPhbMapSetId TagReferenceId } mplsDiffservRulePrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsDiffservRuleEntry 1 } mplsDiffservRuleCapSetName OBJECT-TYPE SYNTAX SnmpAdminString STATUS current DESCRIPTION "The capability set associated with this rule entry. The capability set name specified by this attribute must exist in the frwkCapabilitySetTable prior to association with an instance of this class." ::= { mplsDiffservRuleEntry 2 } mplsDiffservRuleRoles OBJECT-TYPE SYNTAX RoleCombination Li Expires August 2003 17 MPLS Policy Information Base February 2003 STATUS current DESCRIPTION "The interfaces to which this rule applies, specified in terms of roles. There must exist an entry in the frwkIfRoleComboTable specifying this role combination, together with the capability set specified by the CapSetName, prior to association with an instance of this class." ::= { mplsDiffservRuleEntry 3 } mplsDiffservRuleIfDirection OBJECT-TYPE SYNTAX IfDirection STATUS current DESCRIPTION "Specifies the direction for which this rule entry applies." ::= { mplsDiffservRuleEntry 4 } mplsDiffservRuleExpPhbMapSetId OBJECT-TYPE SYNTAX TagReferenceId PIB-TAG { mplsExpPhbMapSetSetId } STATUS current DESCRIPTION "A pointer to a set of EXP to PHB mappings rules for E-LSP. This set serves as the default mappings on the interfaces where this rule applies." ::= { mplsDiffservRuleEntry 5 } -- -- -- The mplsExpPhbMapSetTable -- mplsExpPhbMapSetTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsExpPhbMapSetEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies sets of EXP to PHB mappings for E-LSP." ::= { mplsDiffserv 2 } mplsExpPhbMapSetEntry OBJECT-TYPE SYNTAX MplsExpPhbMapSetEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsExpPhbMapSetPrid } UNIQUENESS { mplsExpPhbMapSetSetId, mplsExpPhbMapSetExpPhbMapId } ::= { mplsExpPhbMapSetTable 1 } MplsExpPhbMapSetEntry ::= SEQUENCE { Li Expires August 2003 18 MPLS Policy Information Base February 2003 mplsExpPhbMapSetPrid InstanceId, mplsExpPhbMapSetSetId TagId, mplsExpPhbMapSetExpPhbMapId ReferenceId } mplsExpPhbMapSetPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsExpPhbMapSetEntry 1 } mplsExpPhbMapSetSetId OBJECT-TYPE SYNTAX TagId STATUS current DESCRIPTION "Tag Id that is used to group the EXP to PHB mapping." ::= { mplsExpPhbMapSetEntry 2 } mplsExpPhbMapSetExpPhbMapId OBJECT-TYPE SYNTAX ReferenceId PIB-REFERENCES {mplsExpPhbMapEntry } STATUS current DESCRIPTION "A pointer to a valid instance in the mplsExpPhbMapTable." ::= { mplsExpPhbMapSetEntry 3 } -- -- -- The mplsExpPhbMapTable -- mplsExpPhbMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsExpPhbMapEntry PIB-ACCESS install STATUS current DESCRIPTION "Specifies EXP to PHB mappings for E-LSP. The attributes specified SHALL be used to fill the RSVP-TE extension 'MAP' field of a Diffserv Object for E-LSP as specified in RFC 3270." ::= { mplsDiffserv 3 } mplsExpPhbMapEntry OBJECT-TYPE SYNTAX MplsExpPhbMapEntry STATUS current DESCRIPTION "Specifies an instance of this class" PIB-INDEX { mplsExpPhbMapPrid } UNIQUENESS { mplsExpPhbMapExp, mplsExpPhbMapPhb Li Expires August 2003 19 MPLS Policy Information Base February 2003 } ::= { mplsExpPhbMapTable 1 } MplsExpPhbMapEntry ::= SEQUENCE { mplsExpPhbMapPrid InstanceId, mplsExpPhbMapExp BITS, mplsExpPhbMapPhb BITS } mplsExpPhbMapPrid OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "An integer index that uniquely identifies an instance of this class." ::= { mplsExpPhbMapEntry 1 } mplsExpPhbMapExp OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "Specifies the three EXP bits in the MPLS header." ::= { mplsExpPhbMapEntry 2 } mplsExpPhbMapPhb OBJECT-TYPE SYNTAX BITS STATUS current DESCRIPTION "16 bits used to specifies the Diffserv Per Hop Behavior. The encoding is specified in RFC 2836." ::= { mplsExpPhbMapEntry 3 } -- -- -- Conformance Section -- mplsPolicyPibConformanceCompliances OBJECT IDENTIFIER ::= { mplsPolicyPibConformance 1 } mplsPolicyPibConformanceGroups OBJECT IDENTIFIER ::= { mplsPolicyPibConformance 2 } mplsPolicyPibCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION " Compliance statement" MODULE --this module MANDATORY-GROUPS { mplsSessionGroup, mplsAffinityGroup, mplsExplicitRoutePathGroup, Li Expires August 2003 20 MPLS Policy Information Base February 2003 mplsAbstractNodeGroup, mplsFlowSpecGroup, mplsFecGroup, mplsLspTunnelGroup, mplsDiffservRuleGroup, mplsExpPhbMapSetGroup, mplsExpPhbMapGroup } OBJECT mplsLspTunnelExpPhbMapSetId PIB-MIN-ACCESS not-accessible DESCRIPTION " Support of this attribute is optional" ::= { mplsPolicyPibConformanceCompliances 1 } mplsSessionGroup OBJECT-GROUP OBJECTS { mplsSessionPrid, mplsSessionName, mplsSessionSetupPriority, mplsSessionHoldPriority, mplsSessionFlags, mplsSessionAffinityId } STATUS current DESCRIPTION "Objects from the mplsSessionTable." ::= { mplsPolicyPibConformanceGroups 1 } mplsAffinityGroup OBJECT-GROUP OBJECTS { mplsAffinityPrid, mplsAffinityExcludeAny, mplsAffinityIncludeAny, mplsAffinityIncludeAll } STATUS current DESCRIPTION "Objects from the mplsAffinityTable." ::= { mplsPolicyPibConformanceGroups 2 } mplsExplicitRoutePathGroup OBJECT-GROUP OBJECTS { mplsExplicitRoutePathPrid, mplsExplicitRoutePathSetId, mplsExplicitRoutePathOrder, mplsExplicitRoutePathAbstractNodeId, mplsExplicitRoutePathLoose } STATUS current DESCRIPTION "Objects from the mplsExplicitRoutePathTable." Li Expires August 2003 21 MPLS Policy Information Base February 2003 ::= { mplsPolicyPibConformanceGroups 3 } mplsAbstractNodeGroup OBJECT-GROUP OBJECTS { mplsAbstractNodePrid, mplsAbstractNodeIpAddrType, mplsAbstractNodeIpAddr, mplsAbstractNodePrefixLength, mplsAbstractNodeASNumber } STATUS current DESCRIPTION "Objects from the mplsAbstractNodeTable." ::= { mplsPolicyPibConformanceGroups 4 } mplsFlowSpecGroup OBJECT-GROUP OBJECTS { mplsFlowSpecPrid, mplsFlowSpecTokenRate, mplsFlowSpecBucketSize, mplsFlowSpecPeakRate, mplsFlowSpecMinPoliced, mplsFlowSpecMaxPktSize } STATUS current DESCRIPTION "Objects from the mplsFlowSpecTable." ::= { mplsPolicyPibConformanceGroups 5 } mplsFecGroup OBJECT-GROUP OBJECTS { mplsFecPrid, mplsFecSetId, mplsFecFilterId } STATUS current DESCRIPTION "Objects from the mplsFecTable." ::= { mplsPolicyPibConformanceGroups 6 } mplsLspTunnelGroup OBJECT-GROUP OBJECTS { mplsLspTunnelPrid, mplsLspTunnelEgressAddrType, mplsLspTunnelEgressAddr, mplsLspTunnelRecordRoute, mplsLspTunnelLspType, mplsLspTunnelPsc, mplsLspTunnelExpPhbMapSetId, mplsLspTunnelFecId, mplsLspTunnelFlowSpecId, mplsLspTunnelExplicitRouteSetId, mplsLspTunnelSessionId Li Expires August 2003 22 MPLS Policy Information Base February 2003 } STATUS current DESCRIPTION "Objects from the mplsLspTunnelTable." ::= { mplsPolicyPibConformanceGroups 7 } mplsDiffservRuleGroup OBJECT-GROUP OBJECTS { mplsDiffservRulePrid, mplsDiffservRuleCapSetName, mplsDiffservRuleRoles, mplsDiffservRuleIfDirection, mplsDiffservRuleExpPhbMapSetId } STATUS current DESCRIPTION "Objects from the mplsDiffservRuleTable." ::= { mplsPolicyPibConformanceGroups 8 } mplsExpPhbMapSetGroup OBJECT-GROUP OBJECTS { mplsExpPhbMapSetPrid, mplsExpPhbMapSetSetId, mplsExpPhbMapSetExpPhbMapId } STATUS current DESCRIPTION "Objects from the mplsExpPhbMapSetTable." ::= { mplsPolicyPibConformanceGroups 9 } mplsExpPhbMapGroup OBJECT-GROUP OBJECTS { mplsExpPhbMapPrid, mplsExpPhbMapExp, mplsExpPhbMapPhb } STATUS current DESCRIPTION "Objects from the mplsExpPhbMapTable." ::= { mplsPolicyPibConformanceGroups 10 } END 5. Normative Reference 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 Li Expires August 2003 23 MPLS Policy Information Base February 2003 3. J. Boyle, R. Cohen, D. Durham, S. Herzog, R. Rajan, A. Sastry, ôThe COPS (Common Open Policy Service) Protocolö, RFC 2748, January 2000. 4. K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, ôCOPS Usage for Policy Provisioningö, RFC 3084, March 2001. 5. M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, A. Smith, F. Reichmeyer ôFramework Policy Information Baseö, draft- ietf-rap-frameworkpib-09.txt, June 2002. 6. D. Awduche et al, ôRSVP-TE: Extensions to RSVP for LSP Tunnelsö, RFC 3209, December 2001. 7. F. Le Faucheur et al, ôMulti-Protocol Label Switching (MPLS)Support of Differentiated Servicesö, RFC 3270, May 2002. 8. A. Westerinen, et al ôTerminology for Policy-Based Managementö, RFC 3198, November 2001. 9. K. McCloghrie, M. Fine, J. Seligson, K. Chan, S. Chan, A. Smith, F. Reichmeyer, ôStructure of Policy Provisioning Informationö, RFC 3159, August 2001. 6. Informative References 10. J. Walker, A. Kulkarni, ôCOPS Over TLSö, draft-ietf-rap-cops- tls-04.txt, June 2002. 7. Author's Addresses Man Li Nokia 5 Wayside Road, Burlington, MA 01803 Phone: +1 781 993 3923 Email: man.m.li@nokia.com 8. Full Copyright Statement Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the Li Expires August 2003 24 MPLS Policy Information Base February 2003 procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Li Expires August 2003 25