-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-POLICY-ROUTE-MIB.mib
-- Revision 1.4  2013/12/06 

ZYXEL-POLICY-ROUTE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB
 	
    IpAddress
        FROM SNMPv2-SMI
 
  	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelPolicyRoute MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for policy route"
		::= { esMgmt 60 }
		
	zyxelPolicyRouteSetup   OBJECT IDENTIFIER ::= { zyxelPolicyRoute 1 }
	
  
-- *******************************************************************
-- *
-- * zyxelPolicyRouteSetup
-- *
-- *******************************************************************

-- zyxelPolicyRouteMaxNumberOfProfiles
		zyPolicyRouteMaxNumberOfProfiles OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION  
					"The maximum number of policy route profile that can be created."
		::= { zyxelPolicyRouteSetup 1 }   
		
-- zyxelPolicyRouteProfileTable 
     	zyxelPolicyRouteProfileTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPolicyRouteProfileEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains policy route profile configuration."
        ::= { zyxelPolicyRouteSetup 2 }    
       
		zyxelPolicyRouteProfileEntry OBJECT-TYPE
        SYNTAX	ZyxelPolicyRouteProfileEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains policy route profile configuration."
        INDEX          	{ zyPolicyRouteProfileName}
        ::= { zyxelPolicyRouteProfileTable 1 }

        ZyxelPolicyRouteProfileEntry ::=
		SEQUENCE {
        	zyPolicyRouteProfileState		EnabledStatus,
        	zyPolicyRouteProfileName		DisplayString,
        	zyPolicyRouteProfileRowStatus	RowStatus
          }
                
        zyPolicyRouteProfileState OBJECT-TYPE
        SYNTAX  EnabledStatus           
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/Disable this policy routing profile and rule in the profile."
        ::= { zyxelPolicyRouteProfileEntry 1 }      
        
        
        zyPolicyRouteProfileName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"A descriptive name for identification policy route profile."
        ::= { zyxelPolicyRouteProfileEntry 2 }
  
        

        zyPolicyRouteProfileRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                     	"This object allows entries to be created and deleted from the policy route profile table."

        ::= { zyxelPolicyRouteProfileEntry 3 } 

-- zyxelPolicyRouteMaxNumberOfRules
		zyPolicyRouteMaxNumberOfRules OBJECT-TYPE
		SYNTAX	INTEGER
		MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION  
					"The maximum number of policy route rule that can be created."
		::= { zyxelPolicyRouteSetup 3 } 

-- zyxelPolicyRouteTable 
     	zyxelPolicyRouteTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPolicyRouteEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains policy route rule configuration."
        ::= { zyxelPolicyRouteSetup 4 }
		
		zyxelPolicyRouteEntry OBJECT-TYPE
        SYNTAX	ZyxelPolicyRouteEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    
					"An entry contains policy route rule configuration. "
        INDEX          	{ zyPolicyRouteProfile, zyPolicyRouteSequence}
        ::= { zyxelPolicyRouteTable 1 }

        ZyxelPolicyRouteEntry ::=
		SEQUENCE {
        	zyPolicyRouteProfile        DisplayString,
        	zyPolicyRouteSequence    	INTEGER,
        	zyPolicyRouteStatement 	  	INTEGER,
        	zyPolicyRouteCalssifier		DisplayString,
        	zyPolicyRouteNextHop		IpAddress,
        	zyPolicyRouteRowStatus		RowStatus
          }
                
        zyPolicyRouteProfile OBJECT-TYPE
        SYNTAX  DisplayString           
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"The policy routing profile you configure."
        ::= { zyxelPolicyRouteEntry 1 }      
        
        
        zyPolicyRouteSequence OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"The rule number from 1 to 64. The ordering of your rules is important as rules are applied in turn."
        ::= { zyxelPolicyRouteEntry 2 }
  
  		zyPolicyRouteStatement OBJECT-TYPE
        SYNTAX  INTEGER{
			permit(0),
			deny(1)
        }        
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Statement of policy route rule. 
						Select Permit to forward traffic that matches this rule to the gateway specified in the rule. 
						Select Deny to disable the rule action and forward traffic that matches this rule according to the routing table on the switch."
        ::= { zyxelPolicyRouteEntry 3 }
        
        zyPolicyRouteCalssifier OBJECT-TYPE
        SYNTAX  DisplayString           
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The available active classifiers you configure, which are not used by any policy rule or policy routing rule."
        ::= { zyxelPolicyRouteEntry 4 } 
        
        zyPolicyRouteNextHop OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Next hop IP address if the incoming packets match the criteria.  0.0.0.0 means nothing be done."
        ::= { zyxelPolicyRouteEntry 5 }
         
        
        zyPolicyRouteRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                     	"This object allows entries to be created and deleted from the policy route rule table."
        
        ::= { zyxelPolicyRouteEntry 6 }  
END

