-- ***************************************************************** -- DLINKES-ROUTE-MAP-MIB.mib : Route Map MIB -- -- Copyright (c) 2012 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-ROUTE-MAP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32, Integer32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF InterfaceIndex FROM IF-MIB DisplayString, RowStatus FROM SNMPv2-TC dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsRouteMapMIB MODULE-IDENTITY LAST-UPDATED "201512150000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for Route Map." REVISION "201310170000Z" DESCRIPTION "This is the first version of the MIB file for configuring route map." REVISION "201402250000Z" DESCRIPTION "Add a new value 'setIpRecursiveNexthop' for object esRouteMapClauseTypeId." REVISION "201406030000Z" DESCRIPTION "Change some objects' name." REVISION "201503310000Z" DESCRIPTION "Fix typo." REVISION "201512070000Z" DESCRIPTION "Add two value 'matchIpv6Nexthop' and 'matchIpv6NexthopPrefixList' in object 'esRouteMapClauseTypeId'." REVISION "201512150000Z" DESCRIPTION "Add 'matchIpv6PrefixList' in object 'esRouteMapClauseTypeId'." ::= { dlinkCommon 172 } -- ----------------------------------------------------------------------------- esRouteMapNotifications OBJECT IDENTIFIER ::= { dlinkEsRouteMapMIB 0 } esRouteMapObjects OBJECT IDENTIFIER ::= { dlinkEsRouteMapMIB 1 } esRouteMapConform OBJECT IDENTIFIER ::= { dlinkEsRouteMapMIB 2 } -- ----------------------------------------------------------------------------- -- Route Map configuration -- ----------------------------------------------------------------------------- esRouteMapTable OBJECT-TYPE SYNTAX SEQUENCE OF EsRouteMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries for route maps instances." ::= { esRouteMapObjects 1 } esRouteMapEntry OBJECT-TYPE SYNTAX EsRouteMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry is a specific instance of the route map." INDEX { esRouteMapName, esRouteMapSeqNum } ::= { esRouteMapTable 1 } EsRouteMapEntry ::= SEQUENCE { esRouteMapName DisplayString, esRouteMapSeqNum Unsigned32, esRouteMapMatchAction INTEGER, esRouteMapRowStatus RowStatus } esRouteMapName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The name of the route map to which this instance entry belongs." ::= { esRouteMapEntry 1 } esRouteMapSeqNum OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Multiple entries of the same route map can be created by assigning a different sequence number to it. Each instance is identified by the route map name and the sequence number. The value of the sequence number associated with the particular route map instance determines the order in which the routing protocol evaluates routes; the instance of having lowest sequence number is evaluated first. If the routes pass all the match conditions specified in the lowest-numbered instance, and if all set clause elements are successfully configured, then no other instance of the route map is considered. However, any routes that do not pass all the match conditions are evaluated against the next instance of the route map." ::= { esRouteMapEntry 2 } esRouteMapMatchAction OBJECT-TYPE SYNTAX INTEGER { permit(1), deny(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the action performed by this route map instance." ::= { esRouteMapEntry 3 } esRouteMapRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Controls creation/deletion of entries in this table according to the RowStatus textual convention. The writable columns in a row cannot be changed if the row is active. In other words, once created, esRouteMapMatchAction cannot be modified directly. It is required to destroy the instance and then create it with the new value. Before configure match or set a clause/element, it is required to create the same route map instance. Deletion of the route map instance will also delete all the clause elements confgured which associate the deleted route map." ::= { esRouteMapEntry 4 } -- -- The route-map clauses(match and set command) table -- esRouteMapClauseTable OBJECT-TYPE SYNTAX SEQUENCE OF EsRouteMapClauseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries for instances of the route map clause elements." ::= { esRouteMapObjects 2 } esRouteMapClauseEntry OBJECT-TYPE SYNTAX EsRouteMapClauseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry describes the characteristics of one route map clause element instance." INDEX { esRouteMapName, esRouteMapSeqNum, esRouteMapClauseTypeId, esRouteMapClauseSubId } ::= { esRouteMapClauseTable 1 } EsRouteMapClauseEntry ::= SEQUENCE { esRouteMapClauseTypeId INTEGER, esRouteMapClauseSubId Integer32, esRouteMapClauseAddOption INTEGER, esRouteMapClauseElementValue DisplayString, esRouteMapClauseRowStatus RowStatus } esRouteMapClauseTypeId OBJECT-TYPE SYNTAX INTEGER { -- match clause element selection options matchIpAccessList(1), matchIpPrefixList(2), matchIpv6AccessList(3), matchAsPath(4), matchCommunity(5), matchExtCommunity(6), macthIpNexthop(7), matchIpNexthopPrefixList(8), matchMetric(9), matchInterface(10), matchRouteType(11), matchIpRouteSource(12), matchIpv6Nexthop(13), matchIpv6NexthopPrefixList(14), matchIpv6PrefixList(15), matchMetricType(16), matchIpv6RouteSource(17), -- set clause element selection options setIpNexthop(129), setIpDefaultNexthop(130), setIpv6Nexthop(131), setIpv6DefaultNexthop(132), setInterface(133), setDefaultInterface(134), setIpPrecedence(135), setAsPath(136), setCommunity(137), setCommunityCreateList(138), setMetric(139), setLocalPreference(140), setOrigin(141), setWeight(142), setDampening(143), setMetricType(144), setIpRecursiveNexthop(145), setIpv6RecursiveNexthop(146), setIpv6Precedence(147) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of match or set command in this entry. A route map entry can contain multiple match and set statements. To match a route against a route map entry, all of the match clause elements in a route map sequence must be satisfied. When a route map entry is matched, all the set clause elements in the sequence will be performed (if applicable) for a 'permit' sequence. The valid values and ranges of esRouteMapClauseAddOption and esRouteMapClauseElementValue depends on this object. Please refer to the esRouteMapClauseRowStatus object's DESCRIPTION for details." ::= { esRouteMapClauseEntry 1 } esRouteMapClauseSubId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the clause element sub ID. Because for some clause types (e.g. setIpNexthop), multiple instances can be created, this object is used solely to distinguish specific instance of the element. If the created instance has same esRouteMapName, esRouteMapSeqNum, esRouteMapClauseTypeId and esRouteMapClauseElementValue as the entry exists in the esRouteMapClauseTable,the creation will be rejected. This value is determined by choosing the next available by walking the table and may change across system reboots." ::= { esRouteMapClauseEntry 2 } esRouteMapClauseAddOption OBJECT-TYPE SYNTAX INTEGER { notApplicable(0), exact(1), additive(2), communityNone(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This indicates the additional option selected along with the main option (esRouteMapClauseTypeId) whenever it applies. For more information on how to map this object value to each value, refer to the route-map clauses table in the esRouteMapClauseRowStatus object's DESCRIPTION." DEFVAL { notApplicable } ::= { esRouteMapClauseEntry 3 } esRouteMapClauseElementValue OBJECT-TYPE SYNTAX DisplayString (SIZE(0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "This represents match and set clauses' variable element instance values in character string form. Whatever may be the data type of the attribute element instance value, it is always interpreted as a set of characters for both configuration and display purposes. It is up to the user to know the element's data type mapping in order to input the correct value while configuring. Refer to the route-map clauses table in the esRouteMapClauseRowStatus object descrption for detailed information." ::= { esRouteMapClauseEntry 4 } esRouteMapClauseRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Controls creation/deletion of entries in this table according to the RowStatus textual convention. The writable columns in a row cannot be changed if the row is active. In other words, the table entry elements may not be modified. Make sure the corresponding route map(s) are created before configuring their corresponding clause elements. The table below explains how to determine the values and ranges of esRouteMapClauseAddOption and esRouteMapClauseElementValue. Clause element configuration table ==================================================== Clause Type Addtional Option Element Value esRouteMapClauseTypeId esRouteMapClauseAddOption esRouteMapClauseElementValue ======================= ========================== ================== matchIpAccessList notApplicable DisplayString (SIZE(1..32)) matchIpPrefixList notApplicable DisplayString (SIZE(1..32)) matchIpv6AccessList notApplicable DisplayString (SIZE(1..32)) matchAsPath notApplicable DisplayString (SIZE(1..32)) matchCommunity exact/ DisplayString (SIZE(1..32)) notApplicable DisplayString (SIZE(1..32)) matchExtCommunity exact/ DisplayString (SIZE(1..32)) notApplicable DisplayString (SIZE(1..32)) macthIpNexthop notApplicable DisplayString (SIZE(1..32)) matchIpNexthopPrefixList notApplicable DisplayString (SIZE(1..32)) matchMetric notApplicable DisplayString (SIZE(1..32)) matchInterface notApplicable DisplayString (SIZE(1..32)) matchRouteType notApplicable DisplayString (SIZE(1..32)) (1) internal (2) external type-1 (3) external type-2 (4) nssa external matchIpRouteSource notApplicable DisplayString (SIZE(1..32)) setIpNexthop notApplicable InetAddressIPv4 setIpDefaultNexthop notApplicable InetAddressIPv4 setIpv6Nexthop notApplicable InetAddressIPv6 setIpv6DefaultNexthop notApplicable InetAddressIPv6 setInterface notApplicable InterfaceIndex setDefaultInterface notApplicable InterfaceIndex setIpPrecedence notApplicable Unsigned32 (0..7) setAsPath notApplicable DisplayString (SIZE(1..32)) setCommunity(Note#1) additive/ DisplayString (SIZE(1..32)) communityNone zero-length string notApplicable DisplayString (SIZE(1..32)) setMetric notApplicable Unsigned32 setLocalPreference notApplicable Unsigned32 setOrigin notApplicable { egp, igp, incomplete } (Note#2) setWeight notApplicable Interger32 (0..65535) setDampening notApplicable Interger32 (0..65535) setMetricType notApplicable Interger32 (0..65535) setIpRecursiveNexthop notApplicable InetAddressIPv4 setIpv6RecursiveNexthop notApplicable InetAddressIPv6 setIpv6Precedence notApplicable Unsigned32 (0..7) ======================================================================================== Note#1: Given a {route map, sequence number}, setCommunity will have at most one instance, i.e., all options and values will be aggregated into one esRouteMapClauseSubId. When 'additive' is chosen for esRouteMapClauseAddOption, the specified community list will be added to the existed community list. If 'communityNone' is chosen, the esRouteMapClauseElementValue should be a zeor-length string. When read esRouteMapClauseElementValue, the value 'additive' is never returned. Note#2: The element value needs choose the exact case-sensitive string to set the option. For example, for setOrigin, egp or igp or incomplete will be the valid options to select." ::= { esRouteMapClauseEntry 5 } -- Conformance Information esRouteMapMIBGroups OBJECT IDENTIFIER ::= { esRouteMapConform 1 } esRouteMapMIBCompliances OBJECT IDENTIFIER ::= { esRouteMapConform 2 } -- Compliance Statements esRouteMapMIBFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement" MODULE -- this module MANDATORY-GROUPS { esRouteMapGroup, esRouteMapClauseGroup } ::= { esRouteMapMIBCompliances 1 } -- units of conformance esRouteMapGroup OBJECT-GROUP OBJECTS { esRouteMapMatchAction, esRouteMapRowStatus } STATUS current DESCRIPTION "These objects are used for managing/monitoring route map configurations." ::= { esRouteMapMIBGroups 1 } esRouteMapClauseGroup OBJECT-GROUP OBJECTS { esRouteMapClauseAddOption, esRouteMapClauseElementValue, esRouteMapClauseRowStatus } STATUS current DESCRIPTION "These objects are used for managing/monitoring route map clauses." ::= { esRouteMapMIBGroups 2 } END