TPLINK-ROUTEMAP-MIB	DEFINITIONS ::= BEGIN	
    IMPORTS
	    TPRowStatus       	 
  			FROM TPLINK-TC-MIB
		tplinkMgmt
			FROM TPLINK-MIB			
        OBJECT-TYPE,IpAddress
          	FROM SNMPv2-SMI;
          	  	          
    MacAddress ::= OCTET STRING (SIZE (6))
	
	TPRouteMapMode ::= TEXTUAL-CONVENTION
		STATUS      current 
		DESCRIPTION
			"The status column has two defined values:
			- `permit(1)' ;
			
			- `deny(2)' "
		SYNTAX 	INTEGER{
					permit(1),
					deny(2)
				}   
	
	tplinkRouteMapMIB MODULE-IDENTITY
		LAST-UPDATED    "201212130930Z"
		ORGANIZATION    "TPLINK"
		CONTACT-INFO    "www.tplink.com"
		DESCRIPTION	    "Private MIB for route map configuration."
		REVISION        "201212130930Z"
		DESCRIPTION
				"Initial version of this MIB module."
		::= { tplinkMgmt 76 }
		
	tplinkRouteMapMIBObjects	OBJECT IDENTIFIER	::= { tplinkRouteMapMIB 1 }
	tplinkRouteMapNotifications	OBJECT IDENTIFIER	::= { tplinkRouteMapMIB 2 }
	
	--****************************************************
	--Set ip prefix
	--****************************************************
		
    tpIpPrefixConfig 		OBJECT IDENTIFIER ::= {tplinkRouteMapMIBObjects 1}
    
	tpIpPrefixConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF STATICITEMCTRLENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpIpPrefixConfig 1 }
        
    tpIpPrefixConfigEntry OBJECT-TYPE
        SYNTAX  STATICITEMCTRLENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The item can be added or removed ."
        INDEX   { tpIpPrefixName,tpIpPrefixSeq}
        ::= { tpIpPrefixConfigTable 1 }
              
              
    STATICITEMCTRLENTRY ::=
        SEQUENCE {
            tpIpPrefixName
                OCTET STRING (SIZE (0..32)), 
            tpIpPrefixMode
                TPRouteMapMode,
            tpIpPrefixSeq
                INTEGER,
            tpNetwork
                OCTET STRING (SIZE (0..19)),
			tpMaskGe
				INTEGER,
			tpMaskLe
				INTEGER,
            tpIpPrefixItemStatus
                TPRowStatus
        }
              
    tpIpPrefixName  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..32))  
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map tag"
        ::= { tpIpPrefixConfigEntry 1 }
            
    tpIpPrefixMode  OBJECT-TYPE
        SYNTAX  TPRouteMapMode  
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Permit or deny set actions"
        ::= { tpIpPrefixConfigEntry 2 }
           
	tpIpPrefixSeq  OBJECT-TYPE
		SYNTAX  INTEGER  
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"Sequence to insert to/delete from existing route-map entry"
		::= { tpIpPrefixConfigEntry 3 }
			      
	tpNetwork  OBJECT-TYPE
		SYNTAX  OCTET STRING (SIZE (0..19))  
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The internet network address to match (e.g. 192.168.0.0/24)."
		::= { tpIpPrefixConfigEntry 4 }
	
	tpMaskGe  OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The minimum subnet mask length to match."
		::= { tpIpPrefixConfigEntry 5 }
	
	tpMaskLe  OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The maximum subnet length to match."
		::= { tpIpPrefixConfigEntry 6 }
		
	tpIpPrefixItemStatus OBJECT-TYPE
        SYNTAX  TPRowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            ""
        ::={tpIpPrefixConfigEntry 7}     

	--****************************************************
	--Route-map Config Tables
	--****************************************************
	tpRouteMapConfig 		OBJECT IDENTIFIER ::= {tplinkRouteMapMIBObjects 2}

	--****************************************************
	--Create route-map
	--****************************************************
	tpRouteMapConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ROUTEMAPCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapConfig 1 }
        
    tpRouteMapConfigEntry OBJECT-TYPE
        SYNTAX  ROUTEMAPCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The item can be added or removed ."
        INDEX   { tpRouteMapName,tpRuleId}
        ::= { tpRouteMapConfigTable 1 }
              
              
    ROUTEMAPCONFIGENTRY ::=
        SEQUENCE {
            tpRouteMapName
                OCTET STRING (SIZE (0..32)), 
            tpConfigMode
                TPRouteMapMode,
            tpRuleId
                INTEGER,
            tpConfigItemStatus
                TPRowStatus
        }
              
    tpRouteMapName  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..32))  
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Route map tag"
        ::= { tpRouteMapConfigEntry 1 }
	
	tpConfigMode  OBJECT-TYPE
        SYNTAX  TPRouteMapMode  
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Permit or deny set actions"
        ::= { tpRouteMapConfigEntry 2 }

	tpRuleId  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Route map rule Id"
        ::= { tpRouteMapConfigEntry 3 }
	
	tpConfigItemStatus OBJECT-TYPE
        SYNTAX  TPRowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            ""
        ::={tpRouteMapConfigEntry 4}  

	--****************************************************
	--Set route-map Match
	--****************************************************
	tpRouteMapMatchConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ROUTEMAPMATCHCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapConfig 2 }
        
    tpRouteMapMatchConfigEntry OBJECT-TYPE
        SYNTAX  ROUTEMAPMATCHCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The item can be added or removed ."
        INDEX   { tpRouteMapName,tpRuleId}
        ::= { tpRouteMapMatchConfigTable 1 }
              
              
    ROUTEMAPMATCHCONFIGENTRY ::=
        SEQUENCE {
            tpMatchMode
                TPRouteMapMode,
			tpSIPAcl
				OCTET STRING (SIZE (0..256)),
			tpSIPPrefixList
				OCTET STRING (SIZE (0..256)),
			tpDIPAcl
				OCTET STRING (SIZE (0..256)),
			tpDIPPrefixList
				OCTET STRING (SIZE (0..256)),
			tpNXPAcl
				OCTET STRING (SIZE (0..256)),
			tpNXPPrefixList
				OCTET STRING (SIZE (0..256)),
			tpMatchMetric
				INTEGER,
            tpMatchItemStatus
                TPRowStatus
        }
	
	tpMatchMode  OBJECT-TYPE
        SYNTAX  TPRouteMapMode  
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Permit or deny set actions"
        ::= { tpRouteMapMatchConfigEntry 1 }
	
	tpSIPAcl  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map source IP match condition defined by ACL."
        ::= { tpRouteMapMatchConfigEntry 2 }
	
	tpSIPPrefixList  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map source IP match condition defined by IP Prefix-List."
        ::= { tpRouteMapMatchConfigEntry 3 }
	
	tpDIPAcl  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map destination IP match condition defined by ACL."
        ::= { tpRouteMapMatchConfigEntry 4 }
	
	tpDIPPrefixList  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map destination IP match condition defined by IP Prefix-List."
        ::= { tpRouteMapMatchConfigEntry 5 }
		
	tpNXPAcl  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map nexthop IP match condition defined by ACL."
        ::= { tpRouteMapMatchConfigEntry 6 }
	
	tpNXPPrefixList  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map nexthop IP match condition defined by IP Prefix-List."
        ::= { tpRouteMapMatchConfigEntry 7 }
	
	tpMatchMetric  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map metric match condition."
        ::= { tpRouteMapMatchConfigEntry 8 }
	
	tpMatchItemStatus OBJECT-TYPE
        SYNTAX  TPRowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapMatchConfigEntry 9}

	--****************************************************
	--Set route-map Set
	--****************************************************
	tpRouteMapSetConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ROUTEMAPSETCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapConfig 3 }
        
    tpRouteMapSetConfigEntry OBJECT-TYPE
        SYNTAX  ROUTEMAPSETCONFIGENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The item can be added or removed ."
        INDEX   { tpRouteMapName,tpRuleId}
        ::= { tpRouteMapSetConfigTable 1 }
              
              
    ROUTEMAPSETCONFIGENTRY ::=
        SEQUENCE {
            tpSetMode
                TPRouteMapMode,
			tpSetMetric
				INTEGER,
			tpSetNexthop
				IpAddress,
            tpSetItemStatus
                TPRowStatus
        }
              
	tpSetMode  OBJECT-TYPE
        SYNTAX  TPRouteMapMode  
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Permit or deny set actions"
        ::= { tpRouteMapSetConfigEntry 1 }

	tpSetMetric  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Set metric for the matched"
        ::= { tpRouteMapSetConfigEntry 2 }
		
	tpSetNexthop  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Set nexthop for the matched"
        ::= { tpRouteMapSetConfigEntry 3 }
	
	tpSetItemStatus OBJECT-TYPE
        SYNTAX  TPRowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapSetConfigEntry 4}

	--****************************************************
	--route-map Binding
	--****************************************************
	tpRouteMapBindConfig 		OBJECT IDENTIFIER ::= {tplinkRouteMapMIBObjects 3}
    
	tpRouteMapBindConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ROUTEMAPBINDENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapBindConfig 1 }
        
    tpRouteMapBindConfigEntry OBJECT-TYPE
        SYNTAX  ROUTEMAPBINDENTRY
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The item can be added or removed ."
        INDEX   { tpRouteMapBindName,tpBindVid}
        ::= { tpRouteMapBindConfigTable 1 }
              
    ROUTEMAPBINDENTRY ::=
        SEQUENCE {
            tpRouteMapBindName
                OCTET STRING (SIZE (0..32)), 
            tpBindVid
                INTEGER,
            tpBindItemStatus
                TPRowStatus
        }
              
    tpRouteMapBindName  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..32))  
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Route map tag"
        ::= { tpRouteMapBindConfigEntry 1 }
	
	tpBindVid  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Route map binding vlan id"
        ::= { tpRouteMapBindConfigEntry 2 }
            
	tpBindItemStatus OBJECT-TYPE
        SYNTAX  TPRowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            ""
        ::= { tpRouteMapBindConfigEntry 3 }
END
	