-- extracted from draft-ietf-mpls-ftn-mib-03.txt -- at Wed Aug 22 06:05:53 2001 MPLS-FTN-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, Counter64, experimental FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, StorageType, DisplayString, RowPointer, TruthValue FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB MplsTunnelIndex, MplsPortNumber, MplsFTNIndex, MplsFTNIndexOrZero FROM MPLS-TC-MIB InetAddressIPv4, InetAddressIPv6, InetAddressType FROM INET-ADDRESS-MIB; mplsFTNMIB MODULE-IDENTITY LAST-UPDATED "200108211200Z" -- 21 August 2001 12:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Thomas D. Nadeau Postal: Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-244-3051 Email: tnadeau@cisco.com Cheenu Srinivasan Postal: Alphion Corp. 4 Industrial Way West Eatontown, NJ 07724 Tel: +1-732-676-7066 Email: cheenu@alphion.com Arun Viswanathan Postal: Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Tel: +1-408-571-3516 Email: arun@force10networks.com " DESCRIPTION "This MIB module contains managed object definitions for specifying FEC to NHLFE (FTN) mappings and corresponding performance for MPLS." -- Revision history. REVISION "200108211200Z" -- 21 August 2001 12:00:00 GMT DESCRIPTION "Upgraded the SNMP boilerplate and updated references for new boilerplate. Cleaned up IMPORTS section." REVISION "200108161200Z" -- 16 August 2001 12:00:00 GMT DESCRIPTION "Updates to example section, which was TBD in the previous version. Added expBits to mplsFTNMask. Added mplsFTNExpBits to mplsFTNEntry. General cleanup of editorial issues including updating references." REVISION "200104011200Z" -- 1 April 2001 12:00:00 GMT DESCRIPTION "Updates based on MPLS working group feedback." REVISION "200009201200Z" -- 20 September 2000 12:00:00 GMT DESCRIPTION "First draft version issued as MPLS working group document." REVISION "200007141200Z" -- 14 July 2000 12:00:00 GMT DESCRIPTION "Updated draft version." REVISION "200003032030Z" -- 03 March 2000 20:30:00 GMT DESCRIPTION "Initial draft version." ::= { experimental 111 } -- Top-Level Components of this MIB. mplsFTNNotifications OBJECT IDENTIFIER ::= { mplsFTNMIB 0 } mplsFTNObjects OBJECT IDENTIFIER ::= { mplsFTNMIB 1 } mplsFTNConformance OBJECT IDENTIFIER ::= { mplsFTNMIB 2 } -- FTN table. mplsFTNIndexNext OBJECT-TYPE SYNTAX MplsFTNIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next appropriate value to be used for mplsFTNIndex when creating entries in the mplsFTNTable. If the number of unassigned entries is exhausted, this object MUST return a value of 0. To obtain the mplsFTNIndex value for a new entry, the manager must first issue a management protocol retrieval operation to obtain the current value of this object. The agent should modify the value to reflect the next unassigned index after each retrieval operation. After a manager retrieves a value the agent will determine through its local policy when this index value will be made available for reuse." ::= { mplsFTNObjects 1 } mplsFTNTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFTNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the currently defined FTN entries." ::= { mplsFTNObjects 2 } mplsFTNEntry OBJECT-TYPE SYNTAX MplsFTNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents one FTN entry which defines a rule to compare against incoming packets and an action to be taken on matching packets." INDEX { mplsFTNIndex } ::= { mplsFTNTable 1 } MplsFTNEntry ::= SEQUENCE { mplsFTNIndex MplsFTNIndex, mplsFTNRowStatus RowStatus, mplsFTNDescr DisplayString, mplsFTNApplied TruthValue, mplsFTNMask BITS, mplsFTNAddrType InetAddressType, mplsFTNSourceIpv4AddrMin InetAddressIPv4, mplsFTNSourceIpv6AddrMin InetAddressIPv6, mplsFTNSourceIpv4AddrMax InetAddressIPv4, mplsFTNSourceIpv6AddrMax InetAddressIPv6, mplsFTNDestIpv4AddrMin InetAddressIPv4, mplsFTNDestIpv6AddrMin InetAddressIPv6, mplsFTNDestIpv4AddrMax InetAddressIPv4, mplsFTNDestIpv6AddrMax InetAddressIPv6, mplsFTNSourcePortMin MplsPortNumber, mplsFTNSourcePortMax MplsPortNumber, mplsFTNDestPortMin MplsPortNumber, mplsFTNDestPortMax MplsPortNumber, mplsFTNProtocol INTEGER, mplsFTNActionType INTEGER, mplsFTNActionPointer RowPointer, mplsFTNExpBits Unsigned32, mplsFTNStorageType StorageType } mplsFTNIndex OBJECT-TYPE SYNTAX MplsFTNIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for the this entry." ::= { mplsFTNEntry 1 } mplsFTNRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used for controlling the creation and deletion of this row." ::= { mplsFTNEntry 2 } mplsFTNDescr OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The description of this FTN entry. Due to the arbitrary indexing of this table, this object should contain some meaningful text that an operator could use to further distinguish entries in this table." ::= { mplsFTNEntry 3 } mplsFTNApplied OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether this FTN entry is being applied on any interface (using mplsFTNMapTable) or not." ::= { mplsFTNEntry 4 } mplsFTNMask OBJECT-TYPE SYNTAX BITS { sourceAddr(0), destAddr(1), sourcePort(2), destPort(3), protocol(4), expBits(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bit map indicates which of the fields described next, namely source address range, destination address range, source port range, destination port range, protocol and exp bits is active for this FTN entry. If a particular bit is inactive (i.e., set to zero) then the corresponding field in the packet is ignored for comparison purposes." ::= { mplsFTNEntry 5 } mplsFTNAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "Type of IP packet that this entry will match against. If this object has the value ipv4(1) then the objects in this entry of type InetAddressIpv6 MUST be ignored by management applications. If this object has the value ipv6(1) then the objects in this entry of type InetAddressIpv4 MUST be ignored by management applications." DEFVAL { ipv4 } ::= { mplsFTNEntry 6 } mplsFTNSourceIpv4AddrMin OBJECT-TYPE SYNTAX InetAddressIPv4 MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of source address range - IPv4 version." ::= { mplsFTNEntry 7 } mplsFTNSourceIpv6AddrMin OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of source address range - IPv6 version." ::= { mplsFTNEntry 8 } mplsFTNSourceIpv4AddrMax OBJECT-TYPE SYNTAX InetAddressIPv4 MAX-ACCESS read-create STATUS current DESCRIPTION "The upper end of source address range - IPv4 version." ::= { mplsFTNEntry 9 } mplsFTNSourceIpv6AddrMax OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION "The upper end of source address range - IPv4 version." ::= { mplsFTNEntry 10 } mplsFTNDestIpv4AddrMin OBJECT-TYPE SYNTAX InetAddressIPv4 MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of destination address range - IPv4 version." ::= { mplsFTNEntry 11 } mplsFTNDestIpv6AddrMin OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of destination address range - IPv6 version." ::= { mplsFTNEntry 12 } mplsFTNDestIpv4AddrMax OBJECT-TYPE SYNTAX InetAddressIPv4 MAX-ACCESS read-create STATUS current DESCRIPTION "The upper end of destination address range - IPv4 version " ::= { mplsFTNEntry 13 } mplsFTNDestIpv6AddrMax OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION "The upper end of destination address range - IPv6 version " ::= { mplsFTNEntry 14 } mplsFTNSourcePortMin OBJECT-TYPE SYNTAX MplsPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of source port range." ::= { mplsFTNEntry 15 } mplsFTNSourcePortMax OBJECT-TYPE SYNTAX MplsPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The higher end of source port range " ::= { mplsFTNEntry 16 } mplsFTNDestPortMin OBJECT-TYPE SYNTAX MplsPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The lower end of the destination port range." ::= { mplsFTNEntry 17 } mplsFTNDestPortMax OBJECT-TYPE SYNTAX MplsPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The higher end of the destination port range." ::= { mplsFTNEntry 18 } mplsFTNProtocol OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The contents of the protocol ID field in the IP header." ::= { mplsFTNEntry 19 } mplsFTNActionType OBJECT-TYPE SYNTAX INTEGER { drop(1), -- discard this packet redirectLsp(2), -- redirect into LSP redirectTunnel(3) -- redirect into tunnel } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of action to be taken on packets matching this FTN entry." ::= { mplsFTNEntry 20 } mplsFTNActionPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsFTNActionType is redirectLsp(2), then this object indicates the instance of mplsXCEntry for the LSP to redirect matching packets to. If mplsFTNActionType is redirectTunnel(3), then this object indicates the instance of mplsTunnelEntry for the MPLS tunnel to redirect matching packets to. For other values of mplsFTNActionType this object MUST be ignored by management applications. Agents SHOULD return zeroDotZero as the value of this object to indicate this to management stations." ::= { mplsFTNEntry 21 } mplsFTNExpBits OBJECT-TYPE SYNTAX Unsigned32 (0..127) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the contents of the exp bits field to match incoming traffic against." ::= { mplsFTNEntry 22 } mplsFTNStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this FTN entry." ::= { mplsFTNEntry 23 } -- End of mplsFTNTable. -- FTN to interface mapping table. mplsFTNMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFTNMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects for mapping previously defined entries in mplsFTNTable to interfaces." ::= { mplsFTNObjects 3 } mplsFTNMapEntry OBJECT-TYPE SYNTAX MplsFTNMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry indicates the application of a particular entry as defined in mplsFTNTable on an interface. The order of application of FTN entries on an interface is the order in which they will be compared against incoming packets for a match. Each entry of this table is indexed by the interface index that the FTN entry is applied to, with the value 0 representing all interfaces, the index of the previous FTN entry applied on the interface and the index of the current FTN entry. This linked-list structure allows FTN entries to be inserted at arbitrary positions in the list. Agents MUST NOT allow the same FTN entries to be applied multiple times to the same interface. Agents MUST not allow the creation of rows in this table until the corresponding rows are created in the mplsFTNTable. If the corresponding row in the FTN table is destroyed, the agent MUST destroy the corresponding entries in this table as well." INDEX { mplsFTNMapIfIndex, mplsFTNMapPrevIndex, mplsFTNMapCurrIndex } ::= { mplsFTNMapTable 1 } MplsFTNMapEntry ::= SEQUENCE { mplsFTNMapIfIndex InterfaceIndexOrZero, mplsFTNMapPrevIndex MplsFTNIndexOrZero, mplsFTNMapCurrIndex MplsFTNIndex, mplsFTNMapRowStatus RowStatus, mplsFTNMapStorageType StorageType } mplsFTNMapIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "The interface index that this FTN entry is being applied to. Zero represents all interfaces." ::= { mplsFTNMapEntry 1 } mplsFTNMapPrevIndex OBJECT-TYPE SYNTAX MplsFTNIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "The index of the previous FTN entry that was applied to this interface. Zero indicates that this should be the first FTN entry in the list." ::= { mplsFTNMapEntry 2 } mplsFTNMapCurrIndex OBJECT-TYPE SYNTAX MplsFTNIndex MAX-ACCESS read-create STATUS current DESCRIPTION "Index of the current FTN entry that is being applied to this interface." ::= { mplsFTNMapEntry 3 } mplsFTNMapRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For controlling the creation and deletion of this row." ::= { mplsFTNMapEntry 4 } mplsFTNMapStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsFTNMapEntry 5 } -- End of mplsFTNMapTable -- FTN entry performance table mplsFTNPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFTNPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains performance statistics on FTN entries on a per-interface basis." ::= { mplsFTNObjects 4 } mplsFTNPerfEntry OBJECT-TYPE SYNTAX MplsFTNPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains performance information for the specified interface and FTN entry activated/mapped to this interface." INDEX { mplsFTNMapIfIndex, mplsFTNMapCurrIndex } ::= { mplsFTNPerfTable 1 } MplsFTNPerfEntry ::= SEQUENCE { mplsFTNMatchedPackets Counter32, mplsFTNMatchedOctets Counter32, mplsFTNMatchedHCPackets Counter64, mplsFTNMatchedHCOctets Counter64 } mplsFTNMatchedPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets that matched the specified FTN entry if it is applied/mapped to the specified interface." ::= { mplsFTNPerfEntry 1 } mplsFTNMatchedOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of octets that matched the specified FTN entry if it is applied/mapped to the specified interface." ::= { mplsFTNPerfEntry 2 } mplsFTNMatchedHCPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for the number of packets that matched the specified FTN entry if it is applied/mapped to the specified interface." ::= { mplsFTNPerfEntry 3 } mplsFTNMatchedHCOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for the number of octets that matched the specified FTN entry if it is applied/mapped to the specified interface." ::= { mplsFTNPerfEntry 4 } -- End of mplsFTNPerfTable -- Module compliance. mplsFTNGroups OBJECT IDENTIFIER ::= { mplsFTNConformance 1 } mplsFTNCompliances OBJECT IDENTIFIER ::= { mplsFTNConformance 2 } mplsFTNModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the MPLS FTN MIB." MODULE -- this module -- The mandatory groups have to be implemented -- by all LSRs. However, they may all be supported -- as read-only objects in the case where manual -- configuration is unsupported. MANDATORY-GROUPS { mplsFTNRuleGroup, mplsFTNMapGroup } GROUP mplsFTNHCPerfGroup DESCRIPTION "This group is mandatory for those performance entries for which the object mplsFTNMatchedHCOctets and mplsFTNMatchedHCPackets wrap around too quickly." ::= { mplsFTNCompliances 1 } -- Units of conformance. mplsFTNRuleGroup OBJECT-GROUP OBJECTS { mplsFTNIndexNext, mplsFTNRowStatus, mplsFTNDescr, mplsFTNApplied, mplsFTNMask, mplsFTNAddrType, mplsFTNSourceIpv4AddrMin, mplsFTNSourceIpv6AddrMin, mplsFTNSourceIpv4AddrMax, mplsFTNSourceIpv6AddrMax, mplsFTNDestIpv4AddrMin, mplsFTNDestIpv6AddrMin, mplsFTNDestIpv4AddrMax, mplsFTNDestIpv6AddrMax, mplsFTNSourcePortMin, mplsFTNSourcePortMax, mplsFTNDestPortMin, mplsFTNDestPortMax, mplsFTNProtocol, mplsFTNActionType, mplsFTNActionPointer, mplsFTNExpBits, mplsFTNStorageType } STATUS current DESCRIPTION "Collection of objects needed for MPLS FTN configuration." ::= { mplsFTNGroups 1 } mplsFTNMapGroup OBJECT-GROUP OBJECTS { mplsFTNMapIfIndex, mplsFTNMapPrevIndex, mplsFTNMapCurrIndex, mplsFTNMapRowStatus, mplsFTNMapStorageType } STATUS current DESCRIPTION "Collection of objects needed for MPLS FTN activation." ::= { mplsFTNGroups 2 } mplsFTNPerfGroup OBJECT-GROUP OBJECTS { mplsFTNMatchedPackets, mplsFTNMatchedOctets } STATUS current DESCRIPTION "Collection of objects needed for MPLS FTN performance monitoring." ::= { mplsFTNGroups 3 } mplsFTNHCPerfGroup OBJECT-GROUP OBJECTS { mplsFTNMatchedHCPackets, mplsFTNMatchedHCOctets } STATUS current DESCRIPTION "Collection of objects needed for MPLS FTN performance monitoring using high-capacity counters." ::= { mplsFTNGroups 4 } END -- -- Copyright (C) The Internet Society (2001). 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 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.