-- 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-PPPoE-MIB.mib $ 
-- Revision 1.7  2013/12/06 07:08:14  ccho 
-- remove uncessary imports 
-- Revision 1.6  2013/11/20 06:54:23  ccho 
-- renaming identifier name for SMI.V2 
-- Revision 1.5  2013/11/06 05:42:24  ccho 
-- fix mib style 
-- Revision 1.4  2012/10/23 03:03:15  Kevin 
-- revise access type of zyPppoeIaVlanVid and zyPppoeIaPortVlanVid 
-- Revision 1.3  2012/09/19 07:44:53  Kevin 
-- if it's leaf node, revise the vender name from zyxel to zy 
-- Revision 1.2  2012/07/05 06:24:23  Kevin 
-- 1. upgrade from SNMP to SNMPv2  
-- 2. clean warning 
-- Revision 1.1  2012/05/30 07:50:27  Kevin 
-- Initial revision 

ZYXEL-PPPoE-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

	dot1dBasePort
       	FROM BRIDGE-MIB

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelPppoe MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Point-to-Point Protocol over Ethernet (PPPoE)"
		::= { esMgmt 67 }
		
	zyxelPppoeIaSetup		OBJECT IDENTIFIER ::= { zyxelPppoe 1 }
		
-- 	******************************************************************
-- *
-- 125. PPPoE IA
-- *
-- ******************************************************************  

	
     
        zyPppoeIaState	OBJECT-TYPE
		SYNTAX	EnabledStatus
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
	    	          "Enable/Disable PPPoE intermediate agent globally on the switch."
		::= { zyxelPppoeIaSetup 1 }
        
        zyPppoeIaAccessNodeIdString	OBJECT-TYPE
        SYNTAX	DisplayString
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                      	"Up to 20 alphanumeric characters to identify the PPPoE intermediate agent. 
                      	Hyphens and spaces are also allowed. The default is the switch's host name."
        ::= { zyxelPppoeIaSetup 2 }
    
        zyPppoeIaFlexibleCircuitIdSyntaxState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/Disable this if you want the switch to add the user-defined identifier string and 
                      	variables to PADI and PADR packets from PPPoE clients."
        ::= { zyxelPppoeIaSetup 3 }

        zyPppoeIaFlexibleCircuitIdSyntaxIdString OBJECT-TYPE
        SYNTAX	DisplayString
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                       	"Specify a string that the switch adds in the agent Circuit ID sub-option."
        ::= { zyxelPppoeIaSetup 4 }    
                                     
        zyPppoeIaFlexibleCircuitIdSyntaxOption OBJECT-TYPE
        SYNTAX  INTEGER {
            sp(1),
        	sv(2),
        	pv(3),
        	spv(4)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Select the variables that you want the switch to generate and add in the agnet circuit 
                      	ID sub-option. The variable options include sp, sv,pv and spv which indicate combinations 
                      	of slot-port, slot-VLAN, port-VLAN and slot-port-VLAN respectively."
        ::= { zyxelPppoeIaSetup 5 }

        zyPppoeIaFlexibleCircuitIdSyntaxDelimiter OBJECT-TYPE
        SYNTAX  INTEGER {
			poundSign(1),
        	dot(2),
        	comma(3),
        	semicolon(4),
        	slash(5),
        	space(6)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Select a delimiter to spearate the identifier-string, slot ID, port number and/or VLAN ID from each other. "
        ::= { zyxelPppoeIaSetup 6 }                    

--
--  	pppoe ia interface table
--

        zyxelPppoeIaPortTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPppoeIaPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains PPPoE intermediate agent on the specified port configuration. "
        ::= { zyxelPppoeIaSetup 7 }

		zyxelPppoeIaPortEntry OBJECT-TYPE
        SYNTAX	ZyxelPppoeIaPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        			"An entry contains PPPoE intermediate agent on the specified port configuration"
        INDEX          	{ dot1dBasePort }
        ::= { zyxelPppoeIaPortTable 1 }

        ZyxelPppoeIaPortEntry ::=
		SEQUENCE {
        	zyPppoeIaPortTrustState			EnabledStatus, 
        	zyPppoeIaPortCircuitIdString	DisplayString,
        	zyPppoeIaPortRemoteIdString		DisplayString
        }

       
        zyPppoeIaPortTrustState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable trusted port on the specified port.
			Trusted ports are uplink ports connected to PPPoE servers. 
			 If a PADO (PPPoE Active Discovery Offer), PADS (PPPoE Active Discovery Session-confirmation), or PADT (PPPoE Active Discovery Terminate) packet is sent from a PPPoE server and received on a trusted port, the Switch forwards it to all other ports.
			 If a PADI or PADR packet is sent from a PPPoE client but received on a trusted port, the Switch forwards it to other trusted port(s).
			 Untrusted ports are downlink ports connected to subscribers. 
			 If a PADI, PADR, or PADT packet is sent from a PPPoE client and received on an untrusted port, the Switch adds a vendor-specific tag to the packet and then forwards it to the trusted port(s).
			 The Switch discards PADO and PADS packets which are sent from a PPPoE server but received on an untrusted port."
        ::= { zyxelPppoeIaPortEntry 1 }        
                
        zyPppoeIaPortCircuitIdString OBJECT-TYPE
        SYNTAX	DisplayString
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
			"Enter a string of up to 63 ASCII characters that the switch adds into the Agent Circuit ID 
 			sub-option for PPPoE discovery packets received on this port. Spaces are allowed."
        ::= { zyxelPppoeIaPortEntry 2 }

        zyPppoeIaPortRemoteIdString OBJECT-TYPE
        SYNTAX	DisplayString
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
			"Enter a string of up to 63 ASCII characters that the switch adds into the Agent Remote ID sub-option 
			for PPPoE discovery packets received on this port. Space are allows. If you do not specify a string 
			here or in the Remote-id field for a VLAN on a port, the Switch automatically uses the PPPoE client's
			MAC address. "
        ::= { zyxelPppoeIaPortEntry 3 }

        zyPppoeIaMaxNumberOfVlans OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The maximum number of PPPoE IA vlan entries that can be created."
        ::= { zyxelPppoeIaSetup 8 }        
                
      
--
--  	pppoe ia vlan table
--
        zyxelPppoeIaVlanTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPppoeIaVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains PPPoE intermediate agent for the specified VLAN configuration. "
        ::= { zyxelPppoeIaSetup 9 }

		zyxelPppoeIaVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelPppoeIaVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains PPPoE intermediate agent for the specified VLAN  configuration."
        INDEX          	{ zyPppoeIaVlanVid }
        ::= { zyxelPppoeIaVlanTable 1 }

        ZyxelPppoeIaVlanEntry ::=
		SEQUENCE {
        	zyPppoeIaVlanVid			INTEGER,
        	zyPppoeIaVlanCircuitIdState	EnabledStatus,
        	zyPppoeIaVlanRemoteIdState	EnabledStatus,
        	zyPppoeIaVlanRowStatus		RowStatus
        }

        zyPppoeIaVlanVid	OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"VLAN ID you want to configure."
        ::= { zyxelPppoeIaVlanEntry 1 }
        
        zyPppoeIaVlanCircuitIdState	OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable circuit ID setting for a specific VLAN take effect"
        ::= { zyxelPppoeIaVlanEntry 2 }
        
        zyPppoeIaVlanRemoteIdState	OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable remote ID settings for a specific VLAN take effect."
        ::= { zyxelPppoeIaVlanEntry 3 }
        
        zyPppoeIaVlanRowStatus	OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION 
			"This object allows entries to be created and deleted from the PPPoE IA VLAN table."
        ::= { zyxelPppoeIaVlanEntry 4 } 
        
     	zyPppoeIaMaxNumberOfPortVlans OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The maximum number of PPPoE IA per port per vlan entries that can be created."
        ::= { zyxelPppoeIaSetup 10 }        
                

--
--  	pppoe ia port and vlan table
--
        zyxelPppoeIaPortVlanTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPppoeIaPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains PPPoE intermediate agent for the specified VLAN on the specified port configuration. "
        ::= { zyxelPppoeIaSetup 11 }
        
		zyxelPppoeIaPortVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelPppoeIaPortVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        	"An entry contains PPPoE intermediate agent for the specified VLAN on the specified port configuration"
        INDEX          	{ dot1dBasePort, zyPppoeIaPortVlanVid }
        ::= { zyxelPppoeIaPortVlanTable 1 }

        ZyxelPppoeIaPortVlanEntry ::=
           SEQUENCE {
        	zyPppoeIaPortVlanVid				INTEGER,
        	zyPppoeIaPortVlanCircuitIdString	DisplayString,   
        	zyPppoeIaPortVlanRemoteIdString		DisplayString,
         	zyPppoeIaPortVlanRowStatus			RowStatus
           }

        zyPppoeIaPortVlanVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"VLAN ID you want to configure."
        ::= { zyxelPppoeIaPortVlanEntry 1 }               
               
        zyPppoeIaPortVlanCircuitIdString OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A string of up to 63 ASCII characters that the switch adds into the agent circuit ID sub-option for 
			PPPoE discovery packets received on this VLAN on the specified port. The circuit ID you configure for 
			a specific VLAN on a port has the highest priority."
        ::= { zyxelPppoeIaPortVlanEntry 2 }
   
       zyPppoeIaPortVlanRemoteIdString OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A string of up to 63 ASCII characters that the switch adds into the agent remote ID sub-option for 
			PPPoE discovery packets received on this VLAN on the specified port. If you do not specify a string 
			here or in the Remote-id field for a specific port, the Switch automatically uses the PPPoE client's
			 MAC address. The remote ID you configure for a specific VLAN on a port has the highest priority."
        ::= { zyxelPppoeIaPortVlanEntry 3 }
   
        zyPppoeIaPortVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
			"This object allows entries to be created and deleted from the PPPoE IA port VLAN table."
        ::= { zyxelPppoeIaPortVlanEntry 4 }


END

