

ZTE-DSL-DHCP-MIB	DEFINITIONS ::= BEGIN
	IMPORTS
		TEXTUAL-CONVENTION, DisplayString,RowStatus,MacAddress    FROM SNMPv2-TC
		MODULE-IDENTITY, OBJECT-TYPE, enterprises, Integer32	  FROM SNMPv2-SMI
    ifIndex                                                       FROM IF-MIB
    InetAddress, InetAddressPrefixLength                          FROM INET-ADDRESS-MIB;

	zxDslDhcpMib	MODULE-IDENTITY
		LAST-UPDATED	"200701101400Z"
		ORGANIZATION	"ZTE Corporation"
		CONTACT-INFO	"suchunshan
                  Mail: suchunshan@zte.com.cn
                  Tel : 021-68896292"
		DESCRIPTION		"This MIB defines zte dsl DHCP function modules' managed objects."
		::=  {  zxDsl  28  }

    zte       OBJECT IDENTIFIER ::= { enterprises 3902 }
    zxDsl     OBJECT IDENTIFIER ::= { zte 1004 }

  

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.DHCP Snooping Table
-- 2.DHCP port Table
-- 3.DHCP pvc interface Table
-- 4.DHCP L3 interface Table
-- 5.DHCP Client Domain Table
-- 6.DHCP Global
--------------------------------------------------------------------------------


------------------------------------------------------------------------------
-- 1.DHCP Snooping Table
------------------------------------------------------------------------------

  zxDslDhcpSnoopingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslDhcpSnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Dhcp Snooping information table"
        ::= { zxDslDhcpMib 1 }
        
   zxDslDhcpSnoopingEntry OBJECT-TYPE
        SYNTAX ZxDslDhcpSnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Dhcp Snooping information table"
      INDEX { ifIndex,zxDslDhcpSnoopingBindMac }
        ::= { zxDslDhcpSnoopingTable 1 }
            
    ZxDslDhcpSnoopingEntry ::= SEQUENCE 
    {
	      zxDslDhcpSnoopingBindMac     	  MacAddress,
	      zxDslDhcpSnoopingPvcNo          Integer32,
        zxDslDhcpSnoopingBindIp         IpAddress,
	      zxDslDhcpSnoopingBindIpLeaseTime  Integer32,
        zxDslDhcpSnoopingBindVlan       Integer32,
	      zxDslDhcpSnoopingIpSourceGuard  INTEGER
    }   


    zxDslDhcpSnoopingBindMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The bound mac in this interface."
          ::= { zxDslDhcpSnoopingEntry 1}        
    
     zxDslDhcpSnoopingPvcNo OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The pvc number."
          ::= { zxDslDhcpSnoopingEntry 2}   

                  

    zxDslDhcpSnoopingBindIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound ip. "
          ::= { zxDslDhcpSnoopingEntry 3}  

    zxDslDhcpSnoopingBindIpLeaseTime OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The lease time of bound ip."
          ::= { zxDslDhcpSnoopingEntry 4}  


    zxDslDhcpSnoopingBindVlan OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound vlan."
          ::= { zxDslDhcpSnoopingEntry 5}  


    zxDslDhcpSnoopingIpSourceGuard OBJECT-TYPE
    		SYNTAX			INTEGER
		                { enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of Ip Source Guard."
          ::= { zxDslDhcpSnoopingEntry 6}  

                   

------------------------------------------------------------------------------
-- 2.DHCP port Table
------------------------------------------------------------------------------
    zxDslDhcpIfTable OBJECT-TYPE 
    	SYNTAX SEQUENCE OF ZxDslDhcpIfEntry 
    	MAX-ACCESS not-accessible 
    	STATUS current 
    	DESCRIPTION 
    	"port dhcp properties table" 
    	::= { zxDslDhcpMib 3 }
    
    zxDslDhcpIfEntry OBJECT-TYPE 
    	SYNTAX ZxDslDhcpIfEntry
    	MAX-ACCESS not-accessible 
    	STATUS current 
    	DESCRIPTION 
    	" port Locating dhcp entry. "
    	INDEX { ifIndex } 
    	::= { zxDslDhcpIfTable 1 }
    
    ZxDslDhcpIfEntry ::= SEQUENCE {
        zxDslDhcpIfDhcpSnoopingEnable   INTEGER,
        zxDslDhcpIfDhcpSnoopingLimit    Integer32,
        zxDslDhcpv6IfDhcpSnoopingEnable INTEGER,
        zxDslDhcpv6IfDhcpSnoopingLimit  Integer32
        }

	zxDslDhcpIfDhcpSnoopingEnable    	OBJECT-TYPE	
  		SYNTAX			INTEGER
  		            { enable ( 1 ) , disable ( 2 ) } 
  		MAX-ACCESS	read-write
  		STATUS			current
  		DESCRIPTION		"Dhcp snooping control of the port."
  		DEFVAL { disable }
     	::=  {  zxDslDhcpIfEntry 1  }
	

	zxDslDhcpIfDhcpSnoopingLimit    	OBJECT-TYPE	
    		SYNTAX			Integer32(1..256)
    		MAX-ACCESS	read-write
    		STATUS			current
    		DESCRIPTION		"Dhcp snooping limit of the port."
    		DEFVAL { 8 }
       	::=  {  zxDslDhcpIfEntry 2  }
	        
	zxDslDhcpv6IfDhcpSnoopingEnable    	OBJECT-TYPE	
  		SYNTAX			INTEGER
  		            { enable ( 1 ) , disable ( 2 ) } 
  		MAX-ACCESS	read-write
  		STATUS			current
  		DESCRIPTION		"Dhcpv6 snooping control of the port."
  		DEFVAL { disable }
     	::=  {  zxDslDhcpIfEntry 3  }	

	zxDslDhcpv6IfDhcpSnoopingLimit    	OBJECT-TYPE	
    		SYNTAX			Integer32(1..256)
    		MAX-ACCESS	read-write
    		STATUS			current
    		DESCRIPTION		"Dhcpv6 snooping limit of the port."
    		DEFVAL { 8 }
       	::=  {  zxDslDhcpIfEntry 4  }        


------------------------------------------------------------------------------
-- 3.DHCP pvc interface Table
------------------------------------------------------------------------------

    zxDslDhcpPvcIfTable OBJECT-TYPE 
    	SYNTAX SEQUENCE OF ZxDslDhcpPvcIfEntry 
    	MAX-ACCESS not-accessible 
    	STATUS current 
    	DESCRIPTION 
    	"Pvc interface dhcp properties table" 
    	::= { zxDslDhcpMib 2 }
    
    zxDslDhcpPvcIfEntry OBJECT-TYPE 
    	SYNTAX ZxDslDhcpPvcIfEntry
    	MAX-ACCESS not-accessible 
    	STATUS current 
    	DESCRIPTION 
    	" pvc interface dhcp properties  entry. "
    	INDEX { ifIndex,zxDslDhcpPvcNo } 
    	::= { zxDslDhcpPvcIfTable 1 }
    
    ZxDslDhcpPvcIfEntry ::= SEQUENCE {
        zxDslDhcpPvcNo                       Integer32,
        zxDslDhcpPvcIfIpSourceGuardEnable    INTEGER,
        zxDslDhcpPvcIfShortLeaseEnable       INTEGER,
        zxDslDhcpv6PvcIfIpSourceGuardEnable  INTEGER
        }


	zxDslDhcpPvcNo    	OBJECT-TYPE	
  		SYNTAX			Integer32
  		MAX-ACCESS	read-write
  		STATUS			current
  		DESCRIPTION		"Pvc No in this port."
     	::=  {  zxDslDhcpPvcIfEntry 1  }
	
	zxDslDhcpPvcIfIpSourceGuardEnable    	OBJECT-TYPE	
    		SYNTAX			INTEGER
    		            { enable ( 1 ) , disable ( 2 ) } 
    		MAX-ACCESS	read-write
    		STATUS			current
    		DESCRIPTION		"Dhcp Ip Source Guard control of the port."
    		DEFVAL { enable }
       	::=  {  zxDslDhcpPvcIfEntry 2  }

	zxDslDhcpPvcIfShortLeaseEnable    	OBJECT-TYPE	
    		SYNTAX			INTEGER
    		            { enable ( 1 ) , disable ( 2 ) } 
    		MAX-ACCESS	read-write
    		STATUS			current
    		DESCRIPTION		"DHCP proxy short lease enable control for port pvc."
    		DEFVAL { disable }
       	::=  {  zxDslDhcpPvcIfEntry 3  }
	
	zxDslDhcpv6PvcIfIpSourceGuardEnable    	OBJECT-TYPE	
    		SYNTAX			INTEGER { enable ( 1 ) , disable ( 2 ) } 
    		MAX-ACCESS	    read-write
    		STATUS			current
    		DESCRIPTION		"Dhcpv6 Ip Source Guard control of the port."
    		DEFVAL          { enable }
       	::=  {  zxDslDhcpPvcIfEntry 4  }

------------------------------------------------------------------------------
-- 4.DHCP L3 interface Table
------------------------------------------------------------------------------
  zxDslDhcpL3IfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslDhcpL3IfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { zxDslDhcpMib 4 }
        
   zxDslDhcpL3IfEntry OBJECT-TYPE
        SYNTAX ZxDslDhcpL3IfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
      INDEX { zxDslDhcpL3IfIndex }
        ::= { zxDslDhcpL3IfTable 1 }	  

   ZxDslDhcpL3IfEntry ::= SEQUENCE {
        zxDslDhcpL3IfIndex        Integer32,
        zxDslDhcpL3IfIpAddress    IpAddress,
        zxDslDhcpL3IfIpMask       IpAddress,
        zxDslDhcpL3IfDhcpServerIp IpAddress,
        zxDslDhcpL3IfRowstatus	  RowStatus
    }  

  zxDslDhcpL3IfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            ""
          ::= { zxDslDhcpL3IfEntry 1}   

    zxDslDhcpL3IfIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            ""
          ::= { zxDslDhcpL3IfEntry 2}  
	  
    zxDslDhcpL3IfIpMask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            ""
          ::= { zxDslDhcpL3IfEntry 3}    

    zxDslDhcpL3IfDhcpServerIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            ""
          ::= { zxDslDhcpL3IfEntry 4}  

    zxDslDhcpL3IfRowstatus	  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            ""
          ::= { zxDslDhcpL3IfEntry 5}           
          




------------------------------------------------------------------------------
-- 5.DHCP Client Domain Table
------------------------------------------------------------------------------
   zxDslDhcpClientDomainTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslDhcpClientDomainEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { zxDslDhcpMib 5 }
        
   zxDslDhcpClientDomainEntry OBJECT-TYPE
        SYNTAX ZxDslDhcpClientDomainEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
      INDEX { zxDslDhcpClientDomainName }
        ::= { zxDslDhcpClientDomainTable 1 }
            
    ZxDslDhcpClientDomainEntry ::= SEQUENCE {
        zxDslDhcpClientDomainName   DisplayString,
        zxDslDhcpServerIp           IpAddress,
        zxDslDhcpClientDomainRowstatus		RowStatus
    }    


    zxDslDhcpClientDomainName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The name of dhcp client domain, e.g., 'domain1'."
        ::= { zxDslDhcpClientDomainEntry 1 }    

    zxDslDhcpServerIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "dhcp server ip in the client domain"
          ::= { zxDslDhcpClientDomainEntry 2}  

    zxDslDhcpClientDomainRowstatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "entry status"
          ::= { zxDslDhcpClientDomainEntry 3}            


------------------------------------------------------------------------------
-- 6.DHCP Global
------------------------------------------------------------------------------
   zxDslDhcpGlobal
        OBJECT IDENTIFIER ::= { zxDslDhcpMib 6 }

    zxDslDhcpProxyShortLease OBJECT-TYPE
        SYNTAX     Integer32( 1 .. 86400  ) 
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The DHCP proxy short lease. It use to configure the lease time of IP address over DHCP server."
        DEFVAL { 7200 }
        ::= { zxDslDhcpGlobal 1 } 
        
        
------------------------------------------------------------------------------
-- 7.DHCPv6
------------------------------------------------------------------------------
   zxDslDhcpv6
        OBJECT IDENTIFIER ::= { zxDslDhcpMib 7 }
    
   zxDslDhcpv6SnoopingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslDhcpv6SnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Dhcpv6 Snooping information table"
        ::= { zxDslDhcpv6 1 }
        
   zxDslDhcpv6SnoopingEntry OBJECT-TYPE
        SYNTAX ZxDslDhcpv6SnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Dhcpv6 Snooping information table"
      INDEX { ifIndex,zxDslDhcpv6SnoopingBindMac,zxDslDhcpv6SnoopingBindIp }
        ::= { zxDslDhcpv6SnoopingTable 1 }
            
    ZxDslDhcpv6SnoopingEntry ::= SEQUENCE 
    {
	      zxDslDhcpv6SnoopingBindMac     	    MacAddress,
          zxDslDhcpv6SnoopingBindIp             InetAddress,
	      zxDslDhcpv6SnoopingPvcNo              Integer32,
	      zxDslDhcpv6SnoopingBindIpLeaseTime    Integer32,
          zxDslDhcpv6SnoopingBindVlan           Integer32,
	      zxDslDhcpv6SnoopingIpSourceGuard      INTEGER,
          zxDslDhcpv6SnoopingBindIpPrefixLength InetAddressPrefixLength
    }   


    zxDslDhcpv6SnoopingBindMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The bound mac in this interface."
          ::= { zxDslDhcpv6SnoopingEntry 1}                 

    zxDslDhcpv6SnoopingBindIp OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound ip. "
          ::= { zxDslDhcpv6SnoopingEntry 2}     
    
     zxDslDhcpv6SnoopingPvcNo OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The pvc number."
          ::= { zxDslDhcpv6SnoopingEntry 3}         

    zxDslDhcpv6SnoopingBindIpLeaseTime OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The lease time of bound ip."
          ::= { zxDslDhcpv6SnoopingEntry 4}  

    zxDslDhcpv6SnoopingBindVlan OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound vlan."
          ::= { zxDslDhcpv6SnoopingEntry 5}  

    zxDslDhcpv6SnoopingIpSourceGuard OBJECT-TYPE
        SYNTAX		INTEGER { enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of Ip Source Guard."
          ::= { zxDslDhcpv6SnoopingEntry 6}    
          
    zxDslDhcpv6SnoopingBindIpPrefixLength OBJECT-TYPE
        SYNTAX		InetAddressPrefixLength 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound ip prefix length."
          ::= { zxDslDhcpv6SnoopingEntry 7}    
END
    