-- 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.

-- $Log: ZYXEL-IP-FORWARD-MIB.mib $ 
-- Revision 1.6  2016/03/03 02:14:55  Viktor 
-- add route uptime on route table. 
-- Revision 1.5  2013/12/06 07:05:58  ccho 
-- remove uncessary imports 
-- Revision 1.4  2013/11/06 05:41:22  ccho 
-- fix mib style 
-- Revision 1.3  2012/09/19 07:37:25  Kevin 
-- if it's leaf node, revise the vender name from zyxel to zy 
-- Revision 1.2  2012/07/05 06:23:03  Kevin 
-- 1. upgrade from SNMP to SNMPv2  
-- 2. clean warning 
-- Revision 1.1  2012/05/30 07:49:38  Kevin 
-- Initial revision 

ZYXEL-IP-FORWARD-MIB DEFINITIONS ::= BEGIN
    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	DisplayString                                          
	  	FROM SNMPv2-TC

	IpAddress	  	
			FROM SNMPv2-SMI
	  	
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelIpForward MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for ip forward"
		::= { esMgmt 32 }	
	
	zyxelRouteDomainStatus	OBJECT IDENTIFIER ::= { zyxelIpForward 1 }
	zyxelHostStatus			OBJECT IDENTIFIER ::= { zyxelIpForward 2 }
	zyxelIpRouteStatus		OBJECT IDENTIFIER ::= { zyxelIpForward 3 }
	
--
--
--  32.ipForward
--
--

--  1.  zyxelRouteDomainStatus  		                          
-- 		zyxelRouteDomainTable
        zyxelRouteDomainTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelRouteDomainEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains route domain information."
        ::= { zyxelRouteDomainStatus 1 }
        
		zyxelRouteDomainEntry OBJECT-TYPE
        SYNTAX	ZyxelRouteDomainEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains route domain information. "
        INDEX          	{ zyRouteDomainIpAddress, zyRouteDomainIpMaskBits }
        ::= { zyxelRouteDomainTable 1 }

        ZyxelRouteDomainEntry ::=
           SEQUENCE {
        	zyRouteDomainIpAddress		IpAddress,
        	zyRouteDomainIpMaskBits		INTEGER,
        	zyRouteDomainVid			INTEGER
           }

        zyRouteDomainIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "IP address of your switch in dotted decimal notation. 
		 This is the IP address of the switch in an IP routing domain."
        ::= { zyxelRouteDomainEntry 1 }

        zyRouteDomainIpMaskBits OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "IP subnet mask of an IP routing domain."
        ::= { zyxelRouteDomainEntry 2 }

        zyRouteDomainVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "VLAN identification number to which an IP routing domain belongs."
        ::= { zyxelRouteDomainEntry 3 }  
        
-- 2.zyxelHostStatus                                               
            
-- 		zyxelHostTable                  
        zyxelHostTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelHostEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"The table contains host information."
        ::= { zyxelHostStatus 1 }
        
		zyxelHostEntry OBJECT-TYPE
        SYNTAX	ZyxelHostEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        "An entry contains host information."
        INDEX          	{ zyHostIpAddress, zyHostVid}
        ::= { zyxelHostTable 1 }

        ZyxelHostEntry ::=
		SEQUENCE {
        	zyHostIpAddress	IpAddress,
        	zyHostVid		INTEGER,
        	zyHostPort		DisplayString,
        	zyHostType		INTEGER
         }

        zyHostIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The IP address of the incoming packets from which device."
        ::= { zyxelHostEntry 1 }

        zyHostVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "VLAN group to which the packet belongs."
        ::= { zyxelHostEntry 2 }

        zyHostPort OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "Port number from which the above IP address was learned. 
		 This field displays CPU to indicate the IP address belongs to the switch."           
        ::= { zyxelHostEntry 3 }

        zyHostType OBJECT-TYPE
        SYNTAX  INTEGER{		
			static(1),
			dynamic(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"Show whether the IP address is dynamic or static."
        ::= { zyxelHostEntry 4 }

--3.	zyxelIpRouteStatus     
--		zyxelIpRouteTable        
        zyxelIpRouteTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelIpRouteEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"The table contains IP route information."
        ::= { zyxelIpRouteStatus 1 }
        
		zyxelIpRouteEntry OBJECT-TYPE
        SYNTAX	ZyxelIpRouteEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        "An entry contains IP route information."
		INDEX          	{ zyIpRouteDestinationIpAddress, zyIpRouteDestinationMaskBits, zyIpRouteGateway}
        ::= { zyxelIpRouteTable 1 }

        ZyxelIpRouteEntry ::=
		SEQUENCE {
       	zyIpRouteDestinationIpAddress	IpAddress,
        zyIpRouteDestinationMaskBits	INTEGER,
        zyIpRouteGateway  				IpAddress,
        zyIpRouteIf						IpAddress,
        zyIpRouteMetric   				INTEGER,
        zyIpRouteType   				INTEGER,
	zyIpRouteUptime                 TimeTicks
        }      
		
        zyIpRouteDestinationIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The destination IP address of the route domain."
        ::= { zyxelIpRouteEntry 1 }

        zyIpRouteDestinationMaskBits OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The mask bits of the route domain."
        ::= { zyxelIpRouteEntry 2 }

        zyIpRouteGateway OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"The IP address of the gateway device."
        ::= { zyxelIpRouteEntry 3 }

        zyIpRouteIf OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"The IP address of the interface."
        ::= { zyxelIpRouteEntry 4 }

        zyIpRouteMetric OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"The cost of the route."
        ::= { zyxelIpRouteEntry 5 }
        
        zyIpRouteType OBJECT-TYPE
        SYNTAX  INTEGER{		
			rip(1),
			bgp(2),
			ospf(3),
			static(4)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"The method used to learn the route."
        ::= { zyxelIpRouteEntry 6 }
		
	zyIpRouteUptime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The time period since this route entry has been added in route table."           
        ::= { zyxelIpRouteEntry 7 }
		
END
