-- ============================================================================
-- Copyright (C) 2018 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- Description:  The MIB is used for defining Huawei's DHCP attribute. It includes
--               DHCP L3 Relay, DHCP Proxy, DHCP Option82, DHCP User Log, and DHCP Simulation.
-- Reference:  
-- Version:      V3.61
-- ============================================================================
    HUAWEI-DHCP-PROXY-MIB DEFINITIONS ::= BEGIN

        IMPORTS 
            huaweiMgmt            
                FROM HUAWEI-MIB            
            IpAddress, OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, Integer32, Counter32, Gauge32, NOTIFICATION-TYPE        
                FROM SNMPv2-SMI            
            RowStatus, MacAddress, TruthValue, DateAndTime           
                FROM SNMPv2-TC
            hwVlanID, hwVlanIndex
                FROM HUAWEI-VLAN-MIB
            ifIndex         
                FROM IF-MIB
            
            InetAddressPrefixLength,
            InetAddressType,
            InetAddress,
            InetPortNumber
                FROM INET-ADDRESS-MIB;                         --  [RFC3291]

        hwDhcpProxy MODULE-IDENTITY
            LAST-UPDATED "201808220000Z"
            ORGANIZATION "Huawei Technologies Co.,Ltd."
            CONTACT-INFO                                              
                         "Huawei Industrial Base                      
                          Bantian, Longgang                           
                          Shenzhen 518129                             
                          People's Republic of China                  
                          Website: http://www.huawei.com              
                          Email: support@huawei.com                   
                         "                                            
            DESCRIPTION 
                "The MIB is used for defining Huawei's DHCP attribute. It includes
                DHCP L3 Relay, DHCP Proxy, DHCP Option82, DHCP User Log, and DHCP Simulation." 
                  
            -- Revision history
            REVISION     "201808220000Z"
            DESCRIPTION  "V3.61, Modified the description of hwDhcpUserPortIndex."
			
            REVISION     "201801220000Z"
            DESCRIPTION  "V3.60, Modified the syntax octet string size of hwDhcpGatewaySlaveList."              
            
            REVISION     "201708080000Z"
            DESCRIPTION  "V3.59, Added hwIpDhcpServerDscp and hwIpDhcpServerExp of hwDhcpGroupEntry."  
            
            REVISION     "201702270000Z"
            DESCRIPTION  "V3.58, Added primary(5) and secondary(6) to the value list of hwDhcpDomainGatewayPolicy."  
               
            REVISION     "201609270000Z"
            DESCRIPTION  "V3.57, Added hwIpDhcpServerVpnName of hwDhcpGroupEntry."  
                         
            REVISION     "201608080000Z"
            DESCRIPTION  "V3.56, Added hwIpDhcpServerDescInfo of hwDhcpGroupEntry."  
                        
            REVISION     "201605210000Z"
            DESCRIPTION  "V3.55, added hwDhcpSuboption4Status."     
            
            REVISION     "201510310000Z"
            DESCRIPTION  "V3.54, Modified the syntax info of hwDhcpGatewayGroupGatewayAddressInetType." 
	    
	    REVISION     "201505180000Z"
            DESCRIPTION  "V3.53, Modified the description of hwDhcpReverse."             
            
            REVISION     "201504160000Z"
            DESCRIPTION  "V3.52, Modified the syntax info of hwDhcpPriorityDscp and hwDhcpPriorityTos."            
            
            REVISION     "201504020000Z"
            DESCRIPTION  "V3.51, Deleted the hwDhcpPortPvcTable."
            
	    REVISION     "201503280000Z"
            DESCRIPTION  "V3.50, Modified the description of hwDhcpUserFlowID."
					
            REVISION     "201409040000Z"
            DESCRIPTION  "V3.49, Modified the value range and description of hwDhcpServerSelectMode."
            
            REVISION     "201407110000Z"
            DESCRIPTION  "V3.48, Modified value list in hwDhcpOption82TransparentUserVlanType: single-tag(1) is changed to singleTag(1), and multi-tag(2) changed to multiTag(2)."
            
            REVISION     "201401100000Z"
            DESCRIPTION  "V3.47, added hwDhcpOption82TransparentUserVlanType and hwDhcpOption82TransparentSingleUserVlanList."
            
            REVISION     "201309100000Z"
            DESCRIPTION  "V3.46, added hwDhcpDomainIPv6ServerGroupId, hwDhcpDomainIPv6GatewayLearn, hwDhcpDomainIPv6GatewayList, hwDhcpDomainIPv6ServerInVlan.
	                  Modified the value range and description of hwDhcpDomainServerInVlan."
	    
            REVISION     "201307100000Z"
            DESCRIPTION  "V3.45, added hwDhcpOption82ReceiveForcerenew, hwDhcpOption82SendDiscover, hwDhcpOption82SendOffer, hwDhcpOption82SendRequest, 
                          hwDhcpOption82SendDecline, hwDhcpOption82SendAck, hwDhcpOption82SendNak, hwDhcpOption82SendRelease, 
                          hwDhcpOption82SendInform, hwDhcpOption82SendForcerenew, hwDhcpOption82ReceiveMACConflict, 
                          hwDhcpOption82ReceiveUnknownType and hwDhcpOption82ReceiveUserNotZeroGiaddr."

	    REVISION     "201306180000Z"
            DESCRIPTION  "V3.44, added hwDhcpDomainDeviceDesc."
            
            REVISION     "201304190000Z"
            DESCRIPTION  "V3.43, added leaf node hwDhcpDomainGatewayPolicy, added table hwDhcpGatewayGroupTable, hwDhcpGatewayGroupGatewayTable,
                          hwDhcpGatewayGroupDomainServerTable, hwDhcpGatewayGroupDomainGatewayTable and hwDhcpDomainGatewayGroupTable."

            REVISION     "201303070000Z"
            DESCRIPTION  "V3.42, added hwDhcpPriorityDscp and hwDhcpPriorityTos."    
                       
            REVISION     "201212120000Z"
            DESCRIPTION  "V3.41, Modified the MAX-ACCESS of hwDhcpMacRangeName."           
            
            REVISION     "201208250000Z"
            DESCRIPTION  "V3.40, Modified the value of hwDhcpLeaseTime."
            
	    REVISION     "201207300000Z"
            DESCRIPTION  "V3.39, Modified the value range and description of hwDhcpSmltOption60 and hwDhcpUserIndex"
            
	    REVISION     "201206060000Z"
            DESCRIPTION  "V3.38, added hwDhcpDomainGatewayLearn, hwDhcpDomainGateway2 and hwDhcpDomainGateway3."

            REVISION     "201203140000Z"
            DESCRIPTION  "V3.37, Modified the value range of hwDhcpUserFlowID, hwDhcpSmltServicePortId and hwDhcpFlowStatisticsIndex."
            
            REVISION     "201112290000Z"
            DESCRIPTION  "V3.36, added the hwDhcpReverse."
                
            REVISION     "201109220000Z" 
            DESCRIPTION  "V3.35, modified the version of MIB."
 
            REVISION     "201107290000Z" 
            DESCRIPTION  "V3.34, modified the description of hwDhcpFlowStatisticsEntry."

            REVISION     "201102150000Z"                           
            DESCRIPTION  "V3.33, add hwDhcpFlowStatisticsTable for dhcp packet statistics on flow."
                          
            REVISION     "201011200000Z"                           
            DESCRIPTION  "V3.32, modified the description of hwDhcpSecurityTable, hwDhcpPortPvcTable, 
                          hwDhcpPortTable, hwDhcpSuboptionTable, hwDhcpMessagesStatisticsEntry, 
                          hwDhcpClientProperty and hwDhcpClientSystemAutoConfigStatus."
            
            REVISION     "201010200000Z"                           
            DESCRIPTION  "V3.31, added rebuild(4) to hwDhcpOption82Status."
                         
            REVISION     "201007240000Z"
            DESCRIPTION  "V3.30, modified the description."
            
            REVISION     "201005200000Z"
            DESCRIPTION  "V3.29, modified the value range of hwDhcpSmltOption60 and hwDhcpSmltDnsServerName."
        
            REVISION     "201004250000Z"
            DESCRIPTION  "V3.28, modified description of all leaves."
           
            REVISION     "201004060000Z"
            DESCRIPTION  "V3.27, added hwDhcpProxyVbOids and hwDhcpSmltResultTrap. 
                          Modified description of MIB file.
                          Modified the value range of leaves."
                 
            REVISION     "201003100000Z"
            DESCRIPTION  "V3.26, changed hwDhcpOption82ReceiveOverLenght to hwDhcpOption82ReceiveOverLength,
                          hwDhcpL3Option82ReceiveOverLenght to hwDhcpL3Option82ReceiveOverLength."
            
            REVISION     "201002230000Z"
            DESCRIPTION  "V3.25, added table hwDhcpMessagesStatisticsTable for dhcp packet statistics."

            REVISION     "201002100000Z"
            DESCRIPTION  "V3.24, modified description of MIB file."
            
            REVISION     "200912240000Z"
            DESCRIPTION  "V3.22, changed SMI to SMIv2 standard."
            
            REVISION     "200912140000Z"          
            DESCRIPTION  "V3.21, added value node hwSystemAutoConfigStatus for GE auto-config switch configuration."    
            
            REVISION     "200911250000Z"          
            DESCRIPTION  "V3.20, added table hwDhcpSmltTable for DHCP simulation."
            
            REVISION     "200602210000Z"          
            DESCRIPTION  "V1.0, added DHCP Suboption "
            ::= { huaweiMgmt 18 }        
        
        hwDhcpMibObject OBJECT IDENTIFIER ::= { hwDhcpProxy 1 }
        
        hwDhcpGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the DHCP server group, including IP addresses of the primary DHCP server and secondary 
                 server in each group. It supports the create, modify, delete, and query operations.
                 The index of this table is hwDhcpGroupID.
                "
            ::= { hwDhcpMibObject 1 }
        
        hwDhcpGroupEntry OBJECT-TYPE
            SYNTAX HwDhcpGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the DHCP server group, including IP addresses of the primary DHCP server and secondary 
                 server in each group. It supports the create, modify, delete, and query operations.
                 The index of this entry is hwDhcpGroupID.
                "
            INDEX { hwDhcpGroupID }
            ::= { hwDhcpGroupTable 1 }
        
        HwDhcpGroupEntry ::=
            SEQUENCE { 
                    hwDhcpGroupID
                        Integer32,
                    hwIpDhcpServerAddress1
                        IpAddress,
                    hwIpDhcpServerAddress2
                        IpAddress,
                    hwDhcpRowStatus
                        RowStatus,
                    hwIpDhcpCurrentServerAddress
                        IpAddress,
                    hwIpDhcpServerAddress3
                        IpAddress,
                    hwIpDhcpServerAddress4
                        IpAddress, 
                    hwIpDhcpServerDescInfo 
                        OCTET STRING,
                    hwIpDhcpServerVpnName
                        OCTET STRING,
                    hwIpDhcpServerDscp
                    	Integer32,
                    hwIpDhcpServerExp
                        Integer32
                 }

        hwDhcpGroupID OBJECT-TYPE
            SYNTAX Integer32 (0..19)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the index of the DHCP server group. 
                 Range: 0-19
                "
            ::= { hwDhcpGroupEntry 1 }
        
        hwIpDhcpServerAddress1 OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address of the first server in the DHCP server group. 
                 It must be a valid unicast IP address and must be different from existing 
                 IP addresses in other server groups.
                "
            ::= { hwDhcpGroupEntry 2 }
        
        hwIpDhcpServerAddress2 OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address of the second server in the DHCP server group. 
                 It must be a valid unicast IP address, must be different from existing 
                 IP addresses in other server groups, and must be different from 
                 hwIpDhcpServerAddress1. 
                 When hwIpDhcpServerAddress1 is not configured, hwIpDhcpServerAddress2 cannot be configured.
                "
            ::= { hwDhcpGroupEntry 3 }     
                    
        hwDhcpRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status, used for configuring the DHCP server group.
                 Options:
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a DHCP server group
                 3. destroy(6)     -delete a DHCP server group
                 
                 To create a DHCP server group, specify the index and leaf 
                 hwIpDhcpServerAddress1 (other leaves are optional), set 
                 hwDhcpRowStatus to createAndGo, and perform the set operation.
                 
                 To modify a DHCP server group, specify the index and leaf 
                 hwIpDhcpServerAddress1 (other leaves are optional) and 
                 perform the set operation.
                 
                 To delete a DHCP server group, specify index hwDhcpGroupID, 
                 set hwDhcpRowStatus to destroy(6), and perform the set operation.
                 
                 In the query operation, the value of this leaf is always active(1).
                "
            ::= { hwDhcpGroupEntry 4 }
        
        hwIpDhcpCurrentServerAddress OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the IP address of the current server in the DHCP server group. 
                 It is a read-only leaf and is meaningful only when the DHCP server works 
                 in the backup mode. If the server does not work in the backup mode, 
                 it is 0.0.0.0 by default.
                "
            ::= { hwDhcpGroupEntry 5 }   
   
        hwIpDhcpServerAddress3 OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address of the third server in the DHCP server group. 
                 It must be a valid unicast IP address, must be different from existing 
                 IP addresses in other server groups, and must be different from 
                 hwIpDhcpServerAddress1 or hwIpDhcpServerAddress2. 
                 When hwIpDhcpServerAddress1 and hwIpDhcpServerAddress2 are not configured, 
                 hwIpDhcpServerAddress3 cannot be configured.
                "
            ::= { hwDhcpGroupEntry 6 } 
            
        hwIpDhcpServerAddress4 OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address of the fourth server in the DHCP server group. 
                 It must be a valid unicast IP address, must be different from existing 
                 IP addresses in other server groups, and must be different from 
                 hwIpDhcpServerAddress1, hwIpDhcpServerAddress2, or hwIpDhcpServerAddress3. 
                 When hwIpDhcpServerAddress1, hwIpDhcpServerAddress2, and hwIpDhcpServerAddress3 
                 are not configured, hwIpDhcpServerAddress4 cannot be configured.
                "
            ::= { hwDhcpGroupEntry 7 }   
            
        hwIpDhcpServerDescInfo OBJECT-TYPE  
            SYNTAX OCTET STRING  (SIZE (0..32)) 
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the description of a DHCP server, which is used to describe 
                the information about a DHCP server. Note that the description may not be unique.
                The default value of the description string is null.  
                " 
            ::= { hwDhcpGroupEntry 8 } 
            
        hwIpDhcpServerVpnName OBJECT-TYPE  
            SYNTAX OCTET STRING  (SIZE (0..31)) 
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the name of VPN to which the DHCP server belongs. 
                When the DHCP server belongs to a public network, set hwIpDhcpServerVpnName to _public_.
                The default value of the VPN name string is null.  
                " 
            ::= { hwDhcpGroupEntry 9 }
            
        hwIpDhcpServerDscp OBJECT-TYPE
            SYNTAX Integer32  (-1|0..63)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the priority value of DSCP in the DHCP server group.
                The range of priority value is 0 to 63.
                -1 Indicates no config on the priority value.
                The default value is -1.
                "
            ::= { hwDhcpGroupEntry 10 }

        hwIpDhcpServerExp OBJECT-TYPE
            SYNTAX Integer32  (-1|0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the priority value of EXP in the DHCP server group.
                The range of priority value is 0 to 7.
                -1 Indicates no config on the priority value.
                The default value is -1.
                "
            ::= { hwDhcpGroupEntry 11 }         
      
        hwDhcpSecurityTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpSecurityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table containing the information of dhcp security.
                 If security feature is supported by DHCP, add/delete table item of the user address, 
                 whose IP is the index.
                 dhcp relay records in the table the IP address and MAC address of the legal user who 
                 acquire the IP address through relay. Through this table, the information of legal 
                 users can be queried. Moreover, in order to meet the needs of users to configure fixed 
                 IP address. This table enables the information configuration of the legal user with a 
                 fixed IP address. Specify the IP address, MAC address and the property of the static/dynamic 
                 address to implement the create operation.
                 The index of this table is hwDhcpClientIpAddress.
                "
            ::= { hwDhcpMibObject 2 }
        
        hwDhcpSecurityEntry OBJECT-TYPE
            SYNTAX HwDhcpSecurityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table containing the information of dhcp security.
                 If security feature is supported by DHCP, add/delete table item of the user address, 
                 whose IP is the index.
                 dhcp relay records in the table the IP address and MAC address of the legal user who 
                 acquire the IP address through relay. Through this table, the information of legal 
                 users can be queried. Moreover, in order to meet the needs of users to configure fixed 
                 IP address. This table enables the information configuration of the legal user with a 
                 fixed IP address. Specify the IP address, MAC address and the property of the static/dynamic 
                 address to implement the create operation.
                 The index of this entry is hwDhcpClientIpAddress.
                "
            INDEX { hwDhcpClientIpAddress }
            ::= { hwDhcpSecurityTable 1 }
            
        HwDhcpSecurityEntry ::=
            SEQUENCE { 
                hwDhcpClientIpAddress
                    IpAddress,
                hwDhcpClientMacAddress
                    MacAddress,
                hwDhcpClientProperty
                    INTEGER,
                hwDhcpClientRowStatus
                    RowStatus
             }

        hwDhcpClientIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The client IP address.
                "
            ::= { hwDhcpSecurityEntry 1 }
        
        hwDhcpClientMacAddress OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The client MAC address.
                "
            ::= { hwDhcpSecurityEntry 2 }
        
        hwDhcpClientProperty OBJECT-TYPE
            SYNTAX INTEGER
                {
                static(1),
                dynamic(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Property of client.
                 Options: 
                 1. static(1)  -indicates client property is static
                 2. dynamic(2) -indicates client property is dynamic
                "
            ::= { hwDhcpSecurityEntry 3 }
        
        hwDhcpClientRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Status of this table's entry.
                "
            ::= { hwDhcpSecurityEntry 4 }
    
    
    
        hwDhcpToL3IfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpToL3IfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group. 
                 It supports the create, query, and modify operations.
                 The index of this table is hwDhcpToL3VlanIfIndex.
                "
            ::= { hwDhcpMibObject 3 }
        
        hwDhcpToL3IfEntry OBJECT-TYPE
            SYNTAX HwDhcpToL3IfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group. 
                 It supports the create, query, and modify operations.
                 The index of this entry is hwDhcpToL3VlanIfIndex.
                "
            INDEX { hwDhcpToL3VlanIfIndex }
            ::= { hwDhcpToL3IfTable 1 }
        
        HwDhcpToL3IfEntry ::=
            SEQUENCE { 
                hwDhcpToL3VlanIfIndex
                    Integer32,
                hwDhcpToL3GroupId
                    Integer32,
                hwDhcpToL3AddressCheck
                    INTEGER,
                hwDhcpToL3RowStatus
                    RowStatus
             }

        hwDhcpToL3VlanIfIndex OBJECT-TYPE
            SYNTAX Integer32 (1..4093)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates binding to the VLAN ID of the DHCP server group. 
                 It uses hwVlanInterfaceID of hwVlanInterfaceTable.
                 Range: 1-4093
                "
            ::= { hwDhcpToL3IfEntry 1 }
        
        hwDhcpToL3GroupId OBJECT-TYPE
            SYNTAX Integer32 (0..20)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the corresponding DHCP server group of the VLAN interface. 
                 Range: 0-20
                 In the configuration, if the value of hwDhcpToL3GroupId is in the range of 0-19, 
                 ensure that the server group corresponding to this ID exists. 
                 Value 20 of hwDhcpToL3GroupId indicates unbinding. 
                 In the query, if this interface is not bound to any server group, 
                 value 20 of hwDhcpToL3GroupId is returned.
                "
            ::= { hwDhcpToL3IfEntry 2 }
        
        hwDhcpToL3AddressCheck OBJECT-TYPE
            SYNTAX INTEGER
                {
                enabled(1),
                disabled(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "If dhcp security check enabled for this vlan virtual interface.
                 By default, it is disabled.
                 Options: 
                 1. enabled(1)  -indicates dhcp security check is enabled
                 2. disabled(2) -indicates dhcp security check is disabled
                "
            ::= { hwDhcpToL3IfEntry 3 }
        
        hwDhcpToL3RowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the row status, used to configure the corresponding DHCP server group of the VLAN interface. 
                 Options: 
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a binding between the VLAN interface and the DHCP server group
                 3. destroy(6)     -delete a binding between the VLAN interface and the DHCP server group
                 
                 Creates the binding between the VLAN interface and the DHCP server group.
                 Specify the index and hwDhcpToL3GroupId, set hwDhcpToL3RowStatus to createAndGo(4), and perform the set operation.
                   
                 In the query operation, the value of this leaf is always active(1).
                
                 Modifies the binding between the VLAN interface and the DHCP server group.
                 Specify the index and hwDhcpToL3GroupId, set hwDhcpToL3RowStatus to active(1), and perform the set operation. 
                 Value 20 of hwDhcpToL3GroupId indicates unbinding.
                   
                 Deletes the binding between the VLAN interface and the DHCP server group,
                 Specify the index and hwDhcpToL3GroupId, set hwDhcpToL3RowStatus to destroy(6), and perform the set operation.
                "
            ::= { hwDhcpToL3IfEntry 4 }

 
             
        hwDhcpPortTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF  HwDhcpPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Indicates DHCP port management feature.
                 The index of this table is ifIndex.
                "
            ::= { hwDhcpMibObject 5 }
    
        hwDhcpPortEntry    OBJECT-TYPE
            SYNTAX          HwDhcpPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Indicates DHCP port management feature.
                 The index of this entry is ifIndex.
                "
            INDEX{ 
                ifIndex
                }
            ::= { hwDhcpPortTable  1 }

        HwDhcpPortEntry    ::= SEQUENCE  {
            hwDhcpPortOption82AdminStatus TruthValue,
            hwDhcpPortUpLinkStatus        TruthValue,
            hwDhcpPortRowStatus           RowStatus
            }
            
        hwDhcpPortOption82AdminStatus        OBJECT-TYPE
            SYNTAX       TruthValue
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "DHCP Option82 on port administer state: true(enable)/false(disable),the default is false.
                 Options: 
                 1. true(1)  -indicates DHCP Option82 is on
                 2. false(2) -indicates DHCP Option82 is off                
                "
            DEFVAL { false }
            ::= { hwDhcpPortEntry 1}
        
        hwDhcpPortUpLinkStatus        OBJECT-TYPE
            SYNTAX       TruthValue
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Up-link administer state, only a port on main board can be an up-link;
                 true(yes)/false(no),the default is true.
                 Options: 
                 1. true(1)  -indicates only a port on main board can be an up-link
                 2. false(2) -indicates not only a port on main board can be an up-link 
                "
            ::= { hwDhcpPortEntry 2}   
        
        hwDhcpPortRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status.
                 Add or delete a table item.
                "
            ::= { hwDhcpPortEntry 3}
   
        hwDhcpDomainTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpDomainEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCP domain information in the DHCP option 60 mode. 
                 It supports the query, create, modify, and delete operations.
                 The index of this table is hwDhcpDomainName.
                "
            ::= { hwDhcpMibObject 6 }
    
        hwDhcpDomainEntry    OBJECT-TYPE
            SYNTAX          HwDhcpDomainEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCP domain information in the DHCP option 60 mode. 
                 It supports the query, create, modify, and delete operations.
                 The index of this entry is hwDhcpDomainName.
                "
            INDEX{ hwDhcpDomainName}
            ::= { hwDhcpDomainTable  1 }

        HwDhcpDomainEntry    ::= 
        	SEQUENCE  {
	            hwDhcpDomainName                 OCTET STRING,       
	            hwDhcpDomainGroupId              Integer32,
	            hwDhcpDomainRowStatus            RowStatus,
	            hwDhcpDomainGatewayLearn         INTEGER,
	            hwDhcpDomainDeviceDesc           INTEGER,
	            hwDhcpDomainIPv6ServerGroupId    Integer32,
	            hwDhcpDomainIPv6GatewayLearn     INTEGER
            }  
                            
        hwDhcpDomainName        OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the DHCP domain name, which is used with the option 60 field in the user packets to differentiate various types 
                 of users in DHCP option 60 mode. 
                 Range: 1-32 characters
                 The format is character string length+character ASCII length. 
                 For example, the length of 'hwdomain' is 8 and its corresponding octet string is 8.104.119.100.111.109.97.105.110. 
                "
            ::= { hwDhcpDomainEntry 1}

        hwDhcpDomainGroupId OBJECT-TYPE
            SYNTAX Integer32 (0..20)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the corresponding DHCP server group of the domain. It uses hwDhcpGroupID in hwDhcpGroupTable.
                 Range: 0-20
                 0-19 indicates the ID of the server group; 20 indicates not binding with any server group.
                "
            ::= { hwDhcpDomainEntry 2 }

        hwDhcpDomainRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used for configuring the DHCP domain name. 
                 Options: 
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a DHCP domain name
                 3. destroy(6)     -delete a DHCP domain name
                 
                 Create a DHCP domain name, specify hwDhcpDomainName as the index, 
                 set hwDhcpDomainRowStatus to createAndGo(4), and perform the set operation. 
                 hwDhcpDomainGroupId is used to bind to a domain name or a DHCP server group. 
                 It is an optional leaf.            
                 
                 In the query operation, the value of this leaf is always active(1).                
                 
                 When modifying or configuring hwDhcpDomainGroupId, specify hwDhcpDomainName and hwDhcpDomainGroupId and perform the set operation.                
                 
                 When deleting a DHCP domain name, specify hwDhcpDomainName, set hwDhcpDomainRowStatus to destroy(6), and perform the set operation.
                "
            ::= { hwDhcpDomainEntry 3}
            
        hwDhcpDomainGatewayLearn      OBJECT-TYPE
            SYNTAX INTEGER{
                    enable(1),
                    disable(2)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the function of automatically learning the relay IP addresses of the DHCP packets that belong to this domain.
                 Data type:INTEGER
                 Options:
                 1. enable(1)  -enable the IP address learning function for the DHCP gateway
                 2. disable(2) -disable the IP address learning function for the DHCP gateway
                 Access right: read-write
                 Default: disable(2)
                "
            ::= { hwDhcpDomainEntry 4 }
     
        hwDhcpDomainDeviceDesc      OBJECT-TYPE
            SYNTAX INTEGER{
                    mta(1),
                    stb(2),
                    host(3),
                    router(4),
                    undefined(255)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the device description of the domain.
                 Users can configure the value undefined(255) to clear the current configuration.
                 Options:
                 1. mta(1)          -indicates the device description is MTA
                 2. stb(2)          -indicates the device description is STB
                 3. host(3)         -indicates the device description is Host
                 4. router(4)       -indicates the device description is Router
                 5. undefined(255)  -indicates the device description is not configured
                "
            DEFVAL { undefined }                
            ::= { hwDhcpDomainEntry 5 }        
                
        hwDhcpDomainIPv6ServerGroupId      OBJECT-TYPE
            SYNTAX Integer32 (-1 | 0..19)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the corresponding DHCPv6 server group of the domain. It uses hwDhcpv6GroupID in hwDhcpv6GroupTable.
                 Range: -1 | 0..19
                 0-19 indicates the ID of the server group; -1 indicates not binding with any server group.
                "
            DEFVAL { -1 }                
            ::= { hwDhcpDomainEntry 6 }
             
	hwDhcpDomainIPv6GatewayLearn      OBJECT-TYPE
            SYNTAX INTEGER{
                    enable(1),
                    disable(2)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the function of automatically learning the relay IPv6 addresses of the DHCPv6 packets that belong to this domain.
                 Data type:INTEGER
                 Options:
                 1. enable(1)  -enable the IPv6 address learning function for the DHCPv6 gateway
                 2. disable(2) -disable the IPv6 address learning function for the DHCPv6 gateway
                 Access right: read-write
                 Default: disable(2)
                "
	    DEFVAL { disable }	
            ::= { hwDhcpDomainEntry 7 }
                
        hwDhcpMacRangeTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpMacRangeEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCP MAC-range information in the DHCP MAC-range mode. 
                 It supports the query, create, modify, and delete operations.       
                 The index of this table is hwDhcpMacRangeName.
                "
            ::= { hwDhcpMibObject 7 }
    
        hwDhcpMacRangeEntry    OBJECT-TYPE
            SYNTAX          HwDhcpMacRangeEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCP MAC-range information in the DHCP MAC-range mode.
                 It supports the query, create, modify, and delete operations.
                 The index of this entry is hwDhcpMacRangeName.
                "
            INDEX   { 
                hwDhcpMacRangeName
                }
            ::= { hwDhcpMacRangeTable  1 }

        HwDhcpMacRangeEntry    ::= SEQUENCE  {   
            hwDhcpMacRangeName                 OCTET STRING,
            hwDhcpMacRangeStart                MacAddress,
            hwDhcpMacRangeEnd                  MacAddress,
            hwDhcpMacRangeGroupId              Integer32,
            hwDhcpMacRangeRowStatus            RowStatus
            }
                 
        hwDhcpMacRangeName        OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "DHCP MAC-range, used with the user MAC addresses to differentiate various types of users in DHCP MAC-range mode. 
                 Range: 1-32 characters 
                 For example, the index of 'mran' is 4.109.114.97.110.
                "
            ::= { hwDhcpMacRangeEntry 1}

        hwDhcpMacRangeStart OBJECT-TYPE
            SYNTAX       MacAddress
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the start address of the MAC-range, which must be a valid unicast MAC address. 
                 The format is a 6-byte hexadecimal character string, for example, 0x00 0xe0 0xfc 0x11 0x00 0x00.
                "
            ::= { hwDhcpMacRangeEntry 2 }

        hwDhcpMacRangeEnd OBJECT-TYPE
            SYNTAX       MacAddress
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the end address of the MAC-range, which must be a valid unicast MAC address. 
                 hwDhcpMacRangeEnd must be equal to or larger than hwDhcpMacRangeStart. 
                 The format is a 6-byte hexadecimal character string, for example, 0x00 0xe0 0xfc 0x11 0x00 0x00.
                "
            ::= { hwDhcpMacRangeEntry 3 }

        hwDhcpMacRangeGroupId OBJECT-TYPE
            SYNTAX       Integer32 (0..20)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the DHCP server group relevant to the MAC-range.
                "
            ::= { hwDhcpMacRangeEntry 4 }
        
        hwDhcpMacRangeRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used to create a MAC-range, modify a MAC-range, and bind a MAC-range to a DHCP server group. 
                 Options: 
                 1. active(1)      -in the query operation, the value of this leaf is always active(1).
                 2. createAndGo(4) -create a MAC-range to a DHCP server group
                 3. destroy(6)     -delete a MAC-range to a DHCP server group
                 
                 To create a MAC-range, hwDhcpMacRangeName must be specified. 
                 At the same time, hwDhcpMacRangeStart and hwDhcpMacRangeEnd can be selected and configured. 
                 In addition, hwDhcpMacRangeGroupId can also be configured. Finally, set hwDhcpMacRangeRowStatus 
                 to createAndGo(4) and perform the set operation.
                 
                 The restrictions on the modify and create operations are the same, but the row status need not be bound.
                 
                 In the query operation, the value of this leaf is always active(1).
                 
                 In the delete operation, hwDhcpMacRangeName needs to be specified. Set hwDhcpDomainRowStatus 
                 to destroy(6) and perform the set operation.
                "
            ::= { hwDhcpMacRangeEntry 5}
        
        hwDhcpDomainGatewayTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpDomainGatewayEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the DHCP domain and gateway corresponding to the VLAN interface in the DHCP option 60 mode. 
                 It supports the modify and query operations.
                 The indexes of this table are hwDhcpDomainGatewayVlanIfIndex and hwDhcpDomainGatewayDmName.
                "
            ::= { hwDhcpMibObject 8 }
    
        hwDhcpDomainGatewayEntry    OBJECT-TYPE
            SYNTAX          HwDhcpDomainGatewayEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the DHCP domain and gateway corresponding to the VLAN interface in the DHCP option 60 mode. 
                 It supports the modify and query operations.
                 The indexes of this entry are hwDhcpDomainGatewayVlanIfIndex and hwDhcpDomainGatewayDmName.
                "
            INDEX   { 
                hwDhcpDomainGatewayVlanIfIndex, hwDhcpDomainGatewayDmName
                }
            ::= { hwDhcpDomainGatewayTable  1 }
        
        HwDhcpDomainGatewayEntry    ::= SEQUENCE  {
            hwDhcpDomainGatewayVlanIfIndex     Integer32,
            hwDhcpDomainGatewayDmName          OCTET STRING,
            hwDhcpDomainGateway                IpAddress,
            hwDhcpDomainGatewayRowStatus       RowStatus,
            hwDhcpDomainGateway2               IpAddress,
            hwDhcpDomainGateway3               IpAddress,
            hwDhcpDomainGatewayPolicy          INTEGER,
            hwDhcpDomainIPv6GatewayList        OCTET STRING
            }
            
        hwDhcpDomainGatewayVlanIfIndex OBJECT-TYPE
            SYNTAX      Integer32(1..4093)
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the VLAN ID to be bound to the gateway. 
                 Range: 1-4093
                "
            ::= { hwDhcpDomainGatewayEntry 1 }
   
        hwDhcpDomainGatewayDmName        OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "DHCP domain name.
                 Range: 1-32 characters
                 The format is character string length+character ASCII length. 
                 For example, the length of 'hwdomain' is 8 and its corresponding octet string is 8.104.119.100.111.109.97.105.110.
                "
            ::= { hwDhcpDomainGatewayEntry 2}
        
        hwDhcpDomainGateway        OBJECT-TYPE
            SYNTAX       IpAddress
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the gateway IP address bound to the VLAN interface in the DHCP domain.
                "
            ::= { hwDhcpDomainGatewayEntry 3 }
        
        hwDhcpDomainGatewayRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used for binding a VLAN interface to a DHCP domain or gateway.
                 Options:
                 1. active(1) -indicates query operation
                 
                 When modifying the binding between the DHCP domain and the gateway, 
                 configure hwDhcpDomainGateway to the gateway IP address to be bound to. 
                 Make sure that the IP address exists under the interface, 
                 and it can be the primary or secondary IP address of the interface. 
                 If the value is 0.0.0.0, it indicates that no gateway is bound to.
                 
                 In the query operation, the value of this leaf is always active(1).
                "
            ::= { hwDhcpDomainGatewayEntry 4 }
  
        hwDhcpDomainGateway2        OBJECT-TYPE
            SYNTAX       IpAddress
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Indicates the second gateway IP address bound to the VLAN interface in the DHCP domain.
                "
            ::= { hwDhcpDomainGatewayEntry 5 }
            
        hwDhcpDomainGateway3        OBJECT-TYPE
            SYNTAX       IpAddress
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Indicates the third gateway IP address bound to the VLAN interface in the DHCP domain.
                "
            ::= { hwDhcpDomainGatewayEntry 6 }

        hwDhcpDomainGatewayPolicy OBJECT-TYPE
            SYNTAX  INTEGER{
                   traceLocationMaster(1),
                   traceLocationSlave(2),
                   traceRidMaster(3),
                   traceRidSlave(4),
                   primary(5),
                   secondary(6),
                   default(255)
                   }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the gateway policy in the DHCP domain.
                 In the set operation, if is set to 255, it indicates that undo the gateway policy in the DHCP domain.
                 In the query operation, if it is not set, the value obtained is 255.
                 Options:
                 1. traceLocationMaster(1)    - Indicates that trace the master gateway by location
                 2. traceLocationSlave(2)     - Indicates that trace the slave gateway by location
                 3. traceRidMaster(3)         - Indicates that trace the master gateway by RID
                 4. traceRidSlave(4)          - Indicates that trace the slave gateway by RID
                 5. primary(5)                - Indicates the primary IP address of the VLAN interface
                 6. secondary(6)              - Indicates the secondary IP address of the VLAN interface
                 7. default(255)              - Indicates the default value of the node
                 Default: default(255)
                "
            ::= { hwDhcpDomainGatewayEntry 7 }

	hwDhcpDomainIPv6GatewayList OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (48))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the gateway IPv6 address bound to the VLAN interface in the DHCP domain. 
                 The IPv6 address is a character string with 16 bytes. A maximum of three gateway IPv6 addresses can be configured. 
                 If a gateway IPv6 address is all zeros, the gateway is not bound to the VLAN interface in the DHCP domain. 
                 For example, if a gateway IPv6 address '2001:0000:0000:0000:0000:0000:0000:0001' is bound to the VLAN interface in the DHCP domain, 
		 it can be represented as '0x20 0x01 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 
                 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0'.
                "
            ::= { hwDhcpDomainGatewayEntry 8}
            
        hwDhcpMacGatewayTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpMacGatewayEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the gateway in the DHCP MAC-range mode. 
                 It supports the query and modify operations.
                 The indexes of this table are hwDhcpMacGatewayVlanIfIndex and hwDhcpMacGatewayMacName.  
                "
            ::= { hwDhcpMibObject 9 }
   
        hwDhcpMacGatewayEntry    OBJECT-TYPE
            SYNTAX          HwDhcpMacGatewayEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the gateway in the DHCP MAC-range mode. 
                 It supports the query and modify operations.
                 The indexes of this entry are hwDhcpMacGatewayVlanIfIndex and hwDhcpMacGatewayMacName.  
                "
            INDEX{ 
                hwDhcpMacGatewayVlanIfIndex, 
                hwDhcpMacGatewayMacName
                }
            ::= { hwDhcpMacGatewayTable  1 }

        HwDhcpMacGatewayEntry    ::= SEQUENCE  { 
            hwDhcpMacGatewayVlanIfIndex          Integer32,
            hwDhcpMacGatewayMacName              OCTET STRING,
            hwDhcpMacGateway                     IpAddress,
            hwDhcpMacGatewayRowStatus            RowStatus
            }
   
        hwDhcpMacGatewayVlanIfIndex OBJECT-TYPE
            SYNTAX      Integer32(1..4093)
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the VLAN ID to be bound to. 
                 Range: 1-4093         
                "
            ::= { hwDhcpMacGatewayEntry 1 }
        
        hwDhcpMacGatewayMacName        OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the name of the DHCP MAC-range. It uses hwDhcpMacRangeName in hwDhcpMacRangeTable. 
                 Range: 1-32 characters
                "
            ::= { hwDhcpMacGatewayEntry 2}
        
        hwDhcpMacGateway        OBJECT-TYPE
            SYNTAX       IpAddress
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the gateway IP address bound to the VLAN interface in the DHCP MAC-range. 
                 It uses hwVlanIpAddress (primary IP address) in hwVlanInterfaceTable. 
                 Make sure that the IP address exists under the interface, and it can be the primary or secondary IP address of the interface. 
                 If the value is 0.0.0.0, it indicates that no gateway is bound to.
                "
            ::= { hwDhcpMacGatewayEntry 3 }
    
        hwDhcpMacGatewayRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used to bind a MAC-range to the gateway IP address.
                 In the modify operation, specify hwDhcpMacGateway and perform the set operation.
                 In the query operation, the value of this leaf is always active(1).
                 Options:
                 1. active(1) -in the query operation, the value of this leaf is always active(1).                                  
                "
            ::= { hwDhcpMacGatewayEntry 4 }
        
        hwDhcpOption82StatisticsTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpOption82StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the statistics of various DHCP packets received on the DHCP L2 relay. It supports the query and set operations.
                 The index of this table is ifIndex.
                "
            ::= { hwDhcpMibObject 10 }
            
        hwDhcpOption82StatisticsEntry    OBJECT-TYPE
            SYNTAX          HwDhcpOption82StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the statistics of various DHCP packets received on the DHCP L2 relay. It supports the query and set operations.
                 The index of this entry is ifIndex.
                "    
            INDEX   { ifIndex }
            ::= { hwDhcpOption82StatisticsTable  1 }
        
        HwDhcpOption82StatisticsEntry    ::= SEQUENCE  { 
            hwDhcpOption82ReceiveUntrust Counter32,
            hwDhcpOption82ReceiveOverLength Counter32,
            hwDhcpOption82ReceiveDiscover Counter32,
            hwDhcpOption82ReceiveOffer Counter32,
            hwDhcpOption82ReceiveRequest Counter32,
            hwDhcpOption82ReceiveDecline Counter32,
            hwDhcpOption82ReceiveAck Counter32,
            hwDhcpOption82ReceiveNak Counter32,
            hwDhcpOption82ReceiveRelease Counter32,
            hwDhcpOption82ReceiveInform Counter32,
            hwDhcpOption82StatisticsClear INTEGER,
            hwDhcpOption82ReceiveOverMaxOption82Size Counter32,
            hwDhcpOption82ReceiveForcerenew Counter32,
            hwDhcpOption82SendDiscover Counter32,
            hwDhcpOption82SendOffer Counter32,
            hwDhcpOption82SendRequest Counter32,
            hwDhcpOption82SendDecline Counter32,
            hwDhcpOption82SendAck Counter32,
            hwDhcpOption82SendNak Counter32,
            hwDhcpOption82SendRelease Counter32,
            hwDhcpOption82SendInform Counter32,
            hwDhcpOption82SendForcerenew Counter32,
            hwDhcpOption82ReceiveMACConflict Counter32,
            hwDhcpOption82ReceiveUnknownType Counter32,
            hwDhcpOption82ReceiveUserNotZeroGiaddr Counter32
            }
            
        hwDhcpOption82ReceiveUntrust   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP packets containing the untrust option 82 information. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 1 }

        hwDhcpOption82ReceiveOverLength   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP packets that exceed the maximum packet length after option 82 is added. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 2 }

        hwDhcpOption82ReceiveDiscover   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP discover packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 3 }
        
        hwDhcpOption82ReceiveOffer   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP offer packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 4 }
        
        hwDhcpOption82ReceiveRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP request packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 5 }

        hwDhcpOption82ReceiveDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP decline packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 6 }
        
        hwDhcpOption82ReceiveAck   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP ACK packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 7 }
        
        hwDhcpOption82ReceiveNak   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP NAK packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 8 }

        hwDhcpOption82ReceiveRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP release packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 9 }
        
        hwDhcpOption82ReceiveInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP inform packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 10 }
        
        hwDhcpOption82StatisticsClear   OBJECT-TYPE
            SYNTAX       INTEGER{ clear(1) }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Resets the statistics of DHCP packets. 
                 Set it to clear(1) and perform the set operation.
                 Options: 
                 1. clear(1) -resets the statistics of DHCP packets                
                "
            ::= { hwDhcpOption82StatisticsEntry 11 }

        hwDhcpOption82ReceiveOverMaxOption82Size   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP packets that exceed the maximum 
                 option 82 length after the option 82 information is added.
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 12 }
            
        hwDhcpOption82ReceiveForcerenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP forcerenew packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 13 }
            
        hwDhcpOption82SendDiscover   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP discover packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 14 }
            
        hwDhcpOption82SendOffer   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP offer packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 15 }
            
        hwDhcpOption82SendRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP request packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 16 }
            
        hwDhcpOption82SendDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP decline packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 17 }
            
        hwDhcpOption82SendAck   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP ACK packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 18 }
            
        hwDhcpOption82SendNak   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP NAK packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 19 }
            
        hwDhcpOption82SendRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP release packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 20 }
            
        hwDhcpOption82SendInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP inform packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 21 }
            
        hwDhcpOption82SendForcerenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCP forcerenew packets. 
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 22 }
            
        hwDhcpOption82ReceiveMACConflict   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP packets that the MAC address conflict.
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 23 }
            
        hwDhcpOption82ReceiveUnknownType   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP packets with unknown type.
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 24 }
            
        hwDhcpOption82ReceiveUserNotZeroGiaddr   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP packets that subscriber packets with nonzero giaddr.
                 Range: 0-4294967295
                "
            ::= { hwDhcpOption82StatisticsEntry 25 }
            
        hwDhcpOption82Status   OBJECT-TYPE
            SYNTAX  INTEGER{
                   enable(1), 
                   disable(2), 
                   forward(3),
                   rebuild(4)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the status of the global DHCP Option82 switch.
                 Options:
                 1. enable(1)  -indicates adding a vendor tag to or deleting it from the DHCP packet on the device.
                 2. disable(2) -indicates not adding a vendor tag to or deleting it from the DHCP packet on the device.
                 3. forward(3) -indicates not processing the vendor tag of the DHCP packet. In this case, the packet is transparently transmitted.  
                 4. rebuild(4) -indicates rebuild the vendor tag from the ONU device,to meet the TR-156 needs.
                 Default: disable(2)
                "
            ::= { hwDhcpMibObject 16 }
        
        hwDhcpRelayMode   OBJECT-TYPE
            SYNTAX INTEGER{
                layer2(3),
                layer3(1)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Describes the current DHCP forwarding mode of the system.
                 Options:
                 1. layer2(3) -indicates L2 mode
                 2. layer3(1) -indicates L3 mode
                 Default: layer2(3)
                "
            ::= { hwDhcpMibObject 17 }

        hwDhcpServerSelectMode   OBJECT-TYPE
            SYNTAX INTEGER{
                standard(1),
                option60(2),
                macRange(3),
                invalid(-1)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Describes the global DHCP server selection mode.
                 Currently, there are three modes in DHCP L3 relay mode: standard mode, option 60 mode, and MAC-range mode.
                 the value invalid(-1) indicates the mode is not configured in the DHCP L2 relay mode.
                 Options: 
                 1. standard(1) -indicates the standard mode
                 2. option60(2) -indicates the domain mode
                 3. macRange(3) -indicates the MAC-range mode
                 4. invalid(-1) -indicates the mode is not configured
                "
            ::= { hwDhcpMibObject 18 }    

        hwDhcpMaxLenAppendOp82   OBJECT-TYPE
            SYNTAX       Integer32(500..1500)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the allowable maximum length of a DHCP packet.
                 Range: 500-1500
                 Unit: byte
                 Default: 1500 bytes
                "
            ::= { hwDhcpMibObject 19 }
        
        hwDhcpCIDState   OBJECT-TYPE
            SYNTAX       TruthValue
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Circuit-id writing state,true(writing to DHCP packet)/false(not writing to DHCP packet).
                 Default: true(1)
                "
            ::= { hwDhcpMibObject 20 }
   
        hwDhcpRIDState   OBJECT-TYPE
            SYNTAX       TruthValue
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Remote-id writing state,true(writing to DHCP packet)/false(not writing to DHCP packet).
                 Default: true(1)
                "
            ::= { hwDhcpMibObject 21 }
        
        hwDhcpSuboption90Status   OBJECT-TYPE
            SYNTAX INTEGER{
                    enable(1),
                    disable(2)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the status of Suboption90 of DHCP Option82.
                 Options:
                 1. enable(1)  -enable Suboption90 of DHCP Option82
                 2. disable(2) -disable Suboption90 of DHCP Option82
                 Default: disable(2)
                "
            ::= { hwDhcpMibObject 22 }
   
   
   
        hwDhcpRelayServerMode   OBJECT-TYPE
            SYNTAX INTEGER{
                shareload(1),
                backup(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Configures the working mode of the DHCP server.
                 Options: 
                 1. shareload(1) -indicates the load balancing mode. 
                                  In this mode, the system forwards 
                                  all DHCP packets from the user to 
                                  all servers in the DHCP server group.
                 2. backup(2)    -indicates the backup mode. 
                                  In this mode, the system forwards packets 
                                  from the user to only the primary server 
                                  in the DHCP server group. When the primary 
                                  server is disconnected, the packets are 
                                  forwarded to the secondary server.
                 Default: shareload(1)
                "
            ::= { hwDhcpMibObject 23 }
  
   
        hwDhcpServerReplyMaxTime   OBJECT-TYPE
            SYNTAX       Integer32(1..60)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Configures or queries the response timeout time of packets of the DHCP server when the server works in the backup mode. 
                 Range: 1-60
                 Unit: second
                 Default: 1
                "
            ::= { hwDhcpMibObject 24 }
        
        hwDhcpServerReplyOvertimeMaxTimes   OBJECT-TYPE
            SYNTAX       Integer32(1..255)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Configures or queries the response timeout times of packets of the DHCP server when the server works in the backup mode. 
                 Range: 1-255
                 Default: 1
                "
            ::= { hwDhcpMibObject 25 }

        hwDhcpSuboptionTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpSuboptionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates DHCP suboption feature.
                 The index of this table is hwDhcpSuboptionIndex.
                "
            ::= { hwDhcpMibObject 26 }
        
        hwDhcpSuboptionEntry OBJECT-TYPE
            SYNTAX HwDhcpSuboptionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates DHCP suboption feature.
                 The index of this entry is hwDhcpSuboptionIndex.
                "
            INDEX { hwDhcpSuboptionIndex }
            ::= { hwDhcpSuboptionTable 1 }
        
        HwDhcpSuboptionEntry ::=
            SEQUENCE { 
            hwDhcpSuboptionIndex
            Integer32,
            hwDhcpSuboptionStatus
            TruthValue
            }
       
        hwDhcpSuboptionIndex    OBJECT-TYPE
            SYNTAX Integer32 (1..15)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The index of DHCP suboption:
                 index 1 stand for suboption 0x81;
                 index 2 stand for suboption 0x82;
                 index 3 stand for suboption 0x83;
                 index 4 stand for suboption 0x84;
                 index 5 stand for suboption 0x85;
                 index 6 stand for suboption 0x86;
                 index 7 stand for suboption 0x87;
                 index 8 stand for suboption 0x88;
                 index 9 stand for suboption 0x89;
                 index 10 stand for suboption 0x8a;
                 index 11 stand for suboption 0x8b;
                 index 12 stand for suboption 0x8c;
                 index 13 stand for suboption 0x8d;
                 index 14 stand for suboption 0x8e;
                 index 15 stand for suboption 0x90;
                "
            ::= { hwDhcpSuboptionEntry 1 }
   
        hwDhcpSuboptionStatus   OBJECT-TYPE
            SYNTAX TruthValue  
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The configuration of DHCP suboption: true(enable)/false(disable),the default is false..
                 hwDhcpSuboptionStatus OBJECT-TYPE
                "
            ::= { hwDhcpSuboptionEntry 2 }
                                 
        hwDhcpSuboption7Status   OBJECT-TYPE                                                    
            SYNTAX   INTEGER{
                enable(1),
                disable(2)
                }                                                                               
            MAX-ACCESS   read-write                                                                               
            STATUS       current                                                                                  
            DESCRIPTION                                                                                           
                "Indicates the status of Suboption7 of DHCP Option82.
                 Options:
                 1. enable(1)  -indicates the Suboption7 of DHCP Option82 is enabled
                 2. disable(2) -indicates the Suboption7 of DHCP Option82 is disabled
                 Default: disable(2)
                "                                                                                                           
            ::= { hwDhcpMibObject 27 }   
                             
                                                                   
        hwDhcpProxyStatus   OBJECT-TYPE                                                       
            SYNTAX  INTEGER{
                enable(1),
                disable(2)
                }
                                                 
            MAX-ACCESS   read-write                                                                               
            STATUS       current                                                                                  
            DESCRIPTION                                                                                           
                "Describes the current status of the DHCP proxy switch. 
                 Options: 
                 1. enable(1)  -enable DHCP proxy
                 2. disable(2) -disable DHCP proxy
                 Default: disable(2)
                 Perform the query and modify operations through get and set operations.
                "                                                                                                          
            ::= { hwDhcpMibObject 28 }  
        
        hwDhcpLeaseTime   OBJECT-TYPE                                                                                                 
            SYNTAX       Integer32(0..10080)                                                
            MAX-ACCESS   read-write                                                                               
            STATUS       current                                                                                  
            DESCRIPTION                                                                                           
                "Describes the DHCP proxy lease time of the system. 
                 Range: 0, 5-10080 
                 Unit: minute
                 Default: 0 indicates that the lease time is not set. 
                 Perform the query and modify operations through get and set operations.
                "                                                                                                                                                                              
            ::= { hwDhcpMibObject 29 } 
        
        hwDhcpServerSelectModeByVlanTable    OBJECT-TYPE    
            SYNTAX SEQUENCE OF HwDhcpServerSelectModeByVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
            	"Describes the DHCP server selection mode of the VLAN and supports the query and modify operations.
            	 The index of this table is hwVlanIndex.
            	"
            ::= { hwDhcpMibObject 30 }
        
        hwDhcpServerSelectModeByVlanEntry    OBJECT-TYPE
            SYNTAX          HwDhcpServerSelectModeByVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCP server selection mode of the VLAN and supports the query and modify operations.
                 The index of this entry is hwVlanIndex.
            	"
            INDEX { 
                hwVlanIndex
                }      
            ::= { hwDhcpServerSelectModeByVlanTable 1 }
        
        HwDhcpServerSelectModeByVlanEntry ::= SEQUENCE {
            hwDhcpServerSelectModeByVlan   
               	INTEGER,
            hwDhcpServerSelectModeByVlanRowStatus 
               	RowStatus
             }
                 
        hwDhcpServerSelectModeByVlan        OBJECT-TYPE
            SYNTAX INTEGER
                {
                standard(1),
                option60(2),
                macRange(3)
                }           
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Indicates the DHCP server selection mode of the VLAN interface.
                 Options: 
                 1. standard(1) -indicates the standard mode
                 2. option60(2) -indicates the domain mode
                 3. macRange(3) -indicates the MAC-range mode
                 Default: standard(1)
                "
            ::= { hwDhcpServerSelectModeByVlanEntry 1}        
       
        hwDhcpServerSelectModeByVlanRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used to set the DHCP server selection mode of the VLAN interface.
                 Options: 
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a DHCP server selection mode of the VLAN interface
                 3. destroy(6)     -delete a DHCP server selection mode of the VLAN interface
                 
                 To create the DHCP server selection mode of the VLAN interface, bind to 
                 hwDhcpServerSelectModeByVlan, set hwDhcpServerSelectModeByVlanRowStatus to 
                 createAndGo, and then perform the set operation.
                 
                 In the query operation, the value of this leaf is always active(1).
                 
                 To modify the DHCP server selection mode of the VLAN interface, specify 
                 hwDhcpServerSelectModeByVlan and perform the set operation.
                 
                 To delete the DHCP server selection mode of the VLAN interface and use the
                 global selection mode, specify hwDhcpServerSelectModeByVlan, set
                 hwDhcpServerSelectModeByVlanRowStatus to destroy(6), and perform the set operation.
                "
            ::= { hwDhcpServerSelectModeByVlanEntry 2 } 
      
        --       Dhcp User Table        
        hwDhcpUserTable    OBJECT-TYPE
            SYNTAX  SEQUENCE OF HwDhcpUserEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Provides the function of DHCP proxy user management, including querying the user information and forcing a user to go offline.
                 The index of this table is hwDhcpUserIndex.
                "
            ::= { hwDhcpMibObject 31 }
            
        hwDhcpUserEntry    OBJECT-TYPE
            SYNTAX          HwDhcpUserEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "Provides the function of DHCP proxy user management, including querying the user information and forcing a user to go offline.
                The index of this entry is hwDhcpUserIndex.
               "
            INDEX   { hwDhcpUserIndex }      
            ::= { hwDhcpUserTable 1 }

        HwDhcpUserEntry ::=
            SEQUENCE {
                hwDhcpUserIndex  
                	Integer32,   
                hwDhcpUserPortIndex 
                	Integer32,
                hwDhcpUserFlowID  
                	Integer32, 
                hwDhcpUserVlanID
                	Integer32,
                hwDhcpUserIpAddress 
                	IpAddress, 
                hwDhcpUserMACAddress  
                	MacAddress,       
                hwDhcpUserServerIpAddress   
               	 	IpAddress,
                hwDhcpUserLeaseTime
                	Integer32,          
                hwDhcpUserRowStatus
                	RowStatus
                }  
                 
        hwDhcpUserIndex        OBJECT-TYPE
            SYNTAX      Integer32    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the DHCP user index.
                "
            ::= { hwDhcpUserEntry 1}        
        
        hwDhcpUserPortIndex        OBJECT-TYPE
            SYNTAX      Integer32    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the index of the port where the DHCP user resides. 
                 Its algorithm and value are the same as ifIndex.
                 -1 indicates the invalid port index.
                "
            ::= { hwDhcpUserEntry   2}
                  
        hwDhcpUserFlowID        OBJECT-TYPE
            SYNTAX      Integer32    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the ID of the service where the DHCP user resides. 
                 Here it indicates the service port ID created by the current device. 
                 The service port index on the NMS is 1 larger than the service port index on the host.
                 -1 indicates the invalid service port index.
                "
            ::= { hwDhcpUserEntry 3}        
        
        hwDhcpUserVlanID        OBJECT-TYPE
            SYNTAX      Integer32(1..4093)    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the DHCP user VLAN index.
                 Range: 1-4093
                "
            ::= { hwDhcpUserEntry 4}   
        
        hwDhcpUserIpAddress        OBJECT-TYPE
            SYNTAX      IpAddress    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the IP address of the DHCP user dynamically obtained from the DHCP server, 
                 in dotted decimal notation, for example, 10.11.104.10.
                "
            ::= { hwDhcpUserEntry 5}        
             
        hwDhcpUserMACAddress        OBJECT-TYPE
            SYNTAX      MacAddress    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the MAC address of the DHCP user. 
                 The format is a 6-byte hexadecimal character string, for example, 
                 0x00 0xe0 0xfc 0x11 0x00 0x00.
                "
            ::= { hwDhcpUserEntry 6}
        
        hwDhcpUserServerIpAddress        OBJECT-TYPE
            SYNTAX      IpAddress    
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the IP address of the DHCP server to which the DHCP user belongs, 
                 in dotted decimal notation, for example, 10.11.104.10.
                "
            ::= { hwDhcpUserEntry 7}
        
        hwDhcpUserLeaseTime                OBJECT-TYPE
            SYNTAX      Integer32   
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Indicates the lease time of the DHCP user. 
                 Unit: second
                "
            ::= { hwDhcpUserEntry 8}
        
        hwDhcpUserRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Indicates the row status, used to query and delete the DHCP proxy user. 
                 The set operation supports only destroy(6). 
                 During query, active(1) is fixedly returned for this leaf.
                 Options: 
                 1. active(1)  -when this leaf is queried, the value is fixed to active(1).
                 2. destroy(6) -delete a DHCP proxy user
                "
            ::= { hwDhcpUserEntry 9 }                  
     
        --        DHCP Domain server by vlan
        hwDhcpDomainServerInVlanTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpDomainServerInVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group in the domain mode. 
                 It supports the query, create, modify, and delete operations.
                 The indexes of this table are hwVlanIndex and hwDhcpDomainName.
                 hwVlanIndex is imported from hwVlanMIBTable in HUAWEI-VLAN-MIB.
                 hwDhcpDomainName is imported from hwDhcpDomainTable.
                "
            ::= { hwDhcpMibObject 32 }
        
        hwDhcpDomainServerInVlanEntry    OBJECT-TYPE
            SYNTAX          HwDhcpDomainServerInVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group in the domain mode. 
                 It supports the query, create, modify, and delete operations.
                 The indexes of this entry are hwVlanIndex and hwDhcpDomainName.
                 hwVlanIndex is imported from hwVlanMIBTable in HUAWEI-VLAN-MIB.
                 hwDhcpDomainName is imported from hwDhcpDomainTable.
                "
            INDEX   { 
                hwVlanIndex, hwDhcpDomainName
                }
            ::= { hwDhcpDomainServerInVlanTable  1 }
        
        HwDhcpDomainServerInVlanEntry    ::=  SEQUENCE  {
            hwDhcpDomainServerInVlan
            	Integer32,
            hwDhcpDomainServerInVlanRowStatus
            	RowStatus,
            hwDhcpDomainIPv6ServerInVlan
            	Integer32
            }
   
        hwDhcpDomainServerInVlan     OBJECT-TYPE
            SYNTAX Integer32 (-1 | 0..19)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the ID of the DHCP. It uses hwDhcpGroupID in hwDhcpGroupTable. 
                 Range: -1 | 0-19
                 0-19 indicates the ID of the server group; -1 indicates not binding with any server group.
                "
            DEFVAL { -1 }                
            ::= { hwDhcpDomainServerInVlanEntry 1 }  
        
        hwDhcpDomainServerInVlanRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used to configure the DHCP server group bound to a domain under a VLAN. 
                 Options: 
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a binding between a domain under a VLAN to a DHCP server group
                 3. destroy(6)     -delete the binding between a domain under a VLAN to the DHCP server group
                 
                 To create the binding between a domain under a VLAN to a DHCP server group, specify the index
                 and hwDhcpDomainServerInVlan, set hwDhcpDomainServerInVlanRowStatus to createAndGo(4), 
                 and perform the set operation.
                 
                 To modify the binding between a domain under a VLAN to a DHCP server group, 
                 specify the index and hwDhcpDomainServerInVlan and perform the set operation.
                 
                 To delete the binding between a domain under a VLAN to the DHCP server group, specify the index
                 and hwDhcpDomainServerInVlan, set hwDhcpDomainServerInVlanRowStatus to destroy(6), 
                 and perform the set operation.
                 
                 In the query operation, the value of this leaf is always active(1).
                "
            ::= { hwDhcpDomainServerInVlanEntry 2 }    
    
        hwDhcpDomainIPv6ServerInVlan     OBJECT-TYPE
            SYNTAX Integer32 (-1 | 0..19)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the ID of the DHCPv6. It uses hwDhcpv6GroupID in hwDhcpv6GroupTable. 
                 Range: -1 | 0-19
                 0-19 indicates the ID of the server group; -1 indicates not binding with any server group.
                "
            DEFVAL { -1 }                
            ::= { hwDhcpDomainServerInVlanEntry 3 }  
    
        --        DHCP MAC-RANGE server by vlan
        hwDhcpMacServerInVlanTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpMacServerInVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group in the MAC-range mode. 
                 It supports the create, modify, delete, and query operations.
                 The indexes of this table are hwVlanIndex and hwDhcpMacRangeName.
                 hwVlanIndex is imported from hwVlanMIBTable in HUAWEI-VLAN-MIB.
                 hwDhcpMacRangeName is imported from hwDhcpMacRangeTable.
                "
            ::= { hwDhcpMibObject 33 }
        
        hwDhcpMacServerInVlanEntry    OBJECT-TYPE
            SYNTAX          HwDhcpMacServerInVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCP server group in the MAC-range mode. 
                 It supports the create, modify, delete, and query operations.
                 The indexes of this entry are hwVlanIndex and hwDhcpMacRangeName.
                 hwVlanIndex is imported from hwVlanMIBTable in HUAWEI-VLAN-MIB.
                 hwDhcpMacRangeName is imported from hwDhcpMacRangeTable.
                "
            INDEX   { 
	                hwVlanIndex, 
	                hwDhcpMacRangeName
                }
            ::= { hwDhcpMacServerInVlanTable  1 }
            
        HwDhcpMacServerInVlanEntry    ::= 
        	SEQUENCE  {
	            hwDhcpMacServerInVlan
	            	Integer32,
	            hwDhcpMacServerInVlanRowStatus
	            	RowStatus
            }

        hwDhcpMacServerInVlan     OBJECT-TYPE
            SYNTAX Integer32 (0..19)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the ID of the DHCP. It uses hwDhcpGroupID in hwDhcpGroupTable. 
                 Range: 0-19
                " 
            ::= { hwDhcpMacServerInVlanEntry 1 }   
        
        hwDhcpMacServerInVlanRowStatus      OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "Row status, used to configure the gateway IP address to which the MAC-range is bound. 
                 Options: 
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create the binding between the MAC-range and the gateway IP address
                 3. destroy(6)     -delete the binding between the MAC-range and the gateway IP address
                 
                 To create the binding between the MAC-range and the gateway IP address, specify 
                 the index first. The index is in the format of VLAN ID+MAC-range character 
                 length+ASCII value of each character. For example, to configure the DHCP server 
                 group for MAC-range 'abc' under VLAN1, the index value is 1.3.97.98.99. 
                 Then, specify hwDhcpMacServerInVlan, set hwDhcpMacServerInVlanRowStatus to 
                 createAndGo(4), and perform the set operation.
                 
                 To modify the binding between the MAC-range and the gateway IP address, specify 
                 the index and hwDhcpMacServerInVlan and perform the set operation.
                 
                 In the query operation, the value of this leaf is always active(1).
                 
                 To delete the binding between the MAC-range and the gateway IP address, specify 
                 the index and hwDhcpMacServerInVlan, set hwDhcpMacServerInVlanRowStatus to 
                 destroy(6), and perform the set operation.
                "
            ::= { hwDhcpMacServerInVlanEntry 2 }    
    
        --   DHCP relay  setsrcip 
        hwDhcpRelayInterfaceSrcip   OBJECT-TYPE
            SYNTAX       INTEGER
                {
                receive(1),
                send(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Configures or queries the filling mode of the source IP address of the current DHCP-relay upstream packet.
                 Options: 
                 1. receive(1) -indicates that in the DHCP packet sent from the relay to the server, 
                                the source IP address is set to the IP address of the Rx interface (user-side interface).
                   
                 2. send(2)    -indicates that in the DHCP packet sent from the relay to the server, 
                                the source IP address is set to the IP address of the Tx interface (network-side interface).
                 Default: receive(1)
                "     
            ::= { hwDhcpMibObject 34 }     
        
        --  DHCP relay set relayagent  
        hwDhcpRelayInterfaceRelayAgent   OBJECT-TYPE
            SYNTAX       INTEGER
                {
                receive(1),
                send(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Configures or queries the filling mode of the GIADDR field of the current DHCP-relay upstream packet.
                 Options: 
                 1. receive(1) -indicates that in the DHCP packet sent from the DHCP relay to the server, 
                                the gateway IP address is set to the IP address of the Rx interface (user-side interface).
                   
                 2. send(2)    -indicates that in the DHCP packet sent from the DHCP relay to the server, 
                                the gateway IP address is set to the IP address of the Tx interface (network-side interface).
                 Default: receive(1)               
                "
            ::= { hwDhcpMibObject 35 }

        --  DHCP Simulation Management Table
        hwDhcpSmltTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpSmltEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Used to start and stop the DHCP emulation test and query the DHCP emulation test result.
                 The index of this table is hwDhcpSmltIndex.
                "
            ::= { hwDhcpMibObject 36 }
        
        hwDhcpSmltEntry OBJECT-TYPE
            SYNTAX HwDhcpSmltEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Used to start and stop the DHCP emulation test and query the DHCP emulation test result.
                 The index of this entry is hwDhcpSmltIndex.
                "
            INDEX   { 
                hwDhcpSmltIndex
                }              
            ::= { hwDhcpSmltTable 1 }
        
        HwDhcpSmltEntry ::=
            SEQUENCE { 
	            hwDhcpSmltIndex
	                Integer32,
	            hwDhcpSmltServicePortId
	                Integer32,
	            hwDhcpSmltOption60
	                OCTET STRING,
	            hwDhcpSmltOverTime
	                Integer32,            
	            hwDhcpSmltResult
	                Gauge32,
	            hwDhcpSmltStartTime
	                DateAndTime,
	            hwDhcpSmltEndTime
	                DateAndTime,    
	            hwDhcpSmltUserIp
	                IpAddress,
	            hwDhcpSmltSubNetMask
	                IpAddress,
	            hwDhcpSmltDhcpServerIp
	                IpAddress,
	            hwDhcpSmltDnsServerIp
	                IpAddress,
	            hwDhcpSmltDnsServerName
	                OCTET STRING,
	            hwDhcpSmltSecondaryDnsServerIp
	                IpAddress,
	            hwDhcpSmltGatewayIp 
	                IpAddress,
	            hwDhcpSmltRowStatus
	                RowStatus
            }

        hwDhcpSmltIndex OBJECT-TYPE
            SYNTAX Integer32 (1..255)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the index of a simulation user.
                 Range: 1-255
                 Currently, the system supports only one simulation user.
                "
            ::= { hwDhcpSmltEntry 1 }
        
        hwDhcpSmltServicePortId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the index of the service port.
                 The service port index here is 1 greater than the service port index queried through the CLI.
                "
            ::= { hwDhcpSmltEntry 2 }

        hwDhcpSmltOption60 OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(0..32))
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the DHCP option 60 field. If the DHCP option 60 is not configured, the default 
                configuration of the L3 interface is adopted. A string of 0-32 characters is supported.
               "
            ::= { hwDhcpSmltEntry 3 }
            
        hwDhcpSmltOverTime OBJECT-TYPE
            SYNTAX Integer32 (5..60)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the simulation timeout time.
                Range: 5-60
                Default: 5
                Unit: second
               "
            ::= { hwDhcpSmltEntry 4 }
            
        hwDhcpSmltResult OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the DHCP simulation result.
                0: Indicates that the DHCP simulation is successful.
                6921509: Indicates the DHCP simulation is being performed.
                6921510: Indicates that the DHCP simulation fails due to timeout.
               "
            ::= { hwDhcpSmltEntry 5 }

        hwDhcpSmltStartTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the start time of the DHCP simulation.
               "
            ::= { hwDhcpSmltEntry 6 }        
        
        hwDhcpSmltEndTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the end time of the DHCP simulation.
               "
            ::= { hwDhcpSmltEntry 7 }
            
        hwDhcpSmltUserIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the IP address obtained by the DHCP client.
               "
            ::= { hwDhcpSmltEntry 8 }

        hwDhcpSmltSubNetMask OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the subnet mask of the IP address obtained by the DHCP client.
               "
            ::= { hwDhcpSmltEntry 9 }

        hwDhcpSmltDhcpServerIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the IP address of the DHCP server.
               "
            ::= { hwDhcpSmltEntry 10 }

        hwDhcpSmltDnsServerIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the IP address of the primary DNS server.
               "
            ::= { hwDhcpSmltEntry 11 }

        hwDhcpSmltDnsServerName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(0..200))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the name of the DNS server.
               "
            ::= { hwDhcpSmltEntry 12 }

        hwDhcpSmltSecondaryDnsServerIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the IP address of the secondary DNS server.
               "
            ::= { hwDhcpSmltEntry 13 }

        hwDhcpSmltGatewayIp  OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "Indicates the IP address of the gateway.
               "
            ::= { hwDhcpSmltEntry 14 }
                                                                            
        hwDhcpSmltRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
               "Indicates the row status, used for starting and stopping the DHCP simulation. 
                Options:
                1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                2. createAndGo(4) -start the DHCP simulation
                3. destroy(6)     -stop the DHCP simulation
                
                To start the DHCP simulation, input the index of the service port, set 
                hwDhcpSmltRowStatus to createAndGo(4), and perform the set operation.
                To stop the DHCP simulation, input the simulation index, set hwDhcpSmltRowStatus 
                to destroy(6), and perform the set operation. 
                During the query operation, the value of this leaf is always active(1).
               "
            ::= { hwDhcpSmltEntry 15 }
            
        --   DHCP Client System Auto-Config Status  
        hwDhcpClientSystemAutoConfigStatus   OBJECT-TYPE
            SYNTAX       INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Set the system auto-config status
                 Options:
                 1. enable(1)  -indicates the system auto-config is enabled
                 2. disable(2) -indicates the system auto-config is disabled
                "
            ::= { hwDhcpMibObject 37 }
                        

        --   DHCP layer-3 packet statistics     
        hwDhcpMessagesStatisticsTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpMessagesStatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCP L3 relay packets.
                 The index of this table is ifIndex, and the value of the index must be 0.
                "
            ::= { hwDhcpMibObject 38 }
            
        hwDhcpMessagesStatisticsEntry    OBJECT-TYPE
            SYNTAX          HwDhcpMessagesStatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCP L3 relay packets.
                 The index of this entry is ifIndex, and the value of the index must be 0.
                "
            INDEX  {
                     ifIndex
                    }
            ::= { hwDhcpMessagesStatisticsTable  1 }
 
        HwDhcpMessagesStatisticsEntry    ::= SEQUENCE  { 
            hwDhcpL3Option82ReceiveUntrust 				Counter32,
            hwDhcpL3Option82ReceiveOverLength 			Counter32,
            hwDhcpL3Option82ReceiveOverMaxMessagesSize	Counter32,
            hwDhcpMessagesReceiveOffer 					Counter32,
            hwDhcpMessagesReceiveAck   					Counter32,
            hwDhcpMessagesReceiveNak 					Counter32,
            hwDhcpMessagesReceiveDecline 				Counter32,
            hwDhcpMessagesReceiveDiscover 				Counter32,
            hwDhcpMessagesReceiveInform 				Counter32,
            hwDhcpMessagesReceiveRelease 				Counter32,
            hwDhcpMessagesReceiveRequest 				Counter32,
            hwDhcpMessagesReceiveForceRenew 			Counter32,
            hwDhcpMessagesReceiveProxyPktAck 			Counter32,
            hwDhcpMessagesReceiveProxyPktRelease 		Counter32,
            hwDhcpMACConflictNum 						Counter32,
            hwDhcpSearchDownFailNum 					Counter32,
            hwDhcpUserNotZeroGiaddrPktNum 				Counter32,
            hwDhcpMessagesStatisticsClear 				INTEGER
            }
            
        hwDhcpL3Option82ReceiveUntrust   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP packets containing the untrust option 82 information.
                "
            ::= { hwDhcpMessagesStatisticsEntry 1 }

        hwDhcpL3Option82ReceiveOverLength   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP packets that exceeds the maximum packet length after the option 82 information is added.
                "
            ::= { hwDhcpMessagesStatisticsEntry 2 }
            
        hwDhcpL3Option82ReceiveOverMaxMessagesSize   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP packets that exceeds the maximum option 82 length after the option 82 information is added.
                "
            ::= { hwDhcpMessagesStatisticsEntry 3 }            

        hwDhcpMessagesReceiveOffer   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP offer packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 4 }

        hwDhcpMessagesReceiveAck   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP ACK packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 5 }
        
        hwDhcpMessagesReceiveNak   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP NAK packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 6 }

        hwDhcpMessagesReceiveDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP decline packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 7 }
        
        hwDhcpMessagesReceiveDiscover   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP discover packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 8 }
        
        hwDhcpMessagesReceiveInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP inform packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 9 }

        hwDhcpMessagesReceiveRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP release packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 10 }
        
        hwDhcpMessagesReceiveRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP request packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 11 }
                        
        hwDhcpMessagesReceiveForceRenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCP FORCERENEW packets.
                "
            ::= { hwDhcpMessagesStatisticsEntry 12 }
            
        hwDhcpMessagesReceiveProxyPktAck   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP ACK packets sent by the proxy.
                "
            ::= { hwDhcpMessagesStatisticsEntry 13 }     
            
            
        hwDhcpMessagesReceiveProxyPktRelease    OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of DHCP release packets sent by the proxy.
                "
            ::= { hwDhcpMessagesStatisticsEntry 14 }    
                                                                                          
                 
        hwDhcpMACConflictNum   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of packets that have MAC address conflict.
                "
            ::= { hwDhcpMessagesStatisticsEntry 15 }  
         
        hwDhcpSearchDownFailNum   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of ACK packets whose corresponding users cannot be found.
                "
            ::= { hwDhcpMessagesStatisticsEntry 16 } 
            
        hwDhcpUserNotZeroGiaddrPktNum   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of packets whose DHCP DISCOVER and REQUEST 'giaddr' are not zero on the user side.
                "
            ::= { hwDhcpMessagesStatisticsEntry 17 }          
                                          
                    
        hwDhcpMessagesStatisticsClear   OBJECT-TYPE
            SYNTAX       INTEGER{ clear(1) }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Resets the DHCP packet statistics.
                 Options: 
                 1. clear(1) -resets the DHCP packet statistics
                "
            ::= { hwDhcpMessagesStatisticsEntry 18 }

        -- the traps VbOids
        hwDhcpProxyVbOids OBJECT IDENTIFIER ::= { hwDhcpMibObject 39 } 
    
        hwDhcpSmltRequestID OBJECT-TYPE
            SYNTAX Integer32    
            MAX-ACCESS  accessible-for-notify
            STATUS  current
            DESCRIPTION
                "The Request ID of DHCP simulation.
                "    
            ::= { hwDhcpProxyVbOids 1 }   
        
        hwDhcpConfilctIpAddress OBJECT-TYPE
            SYNTAX IpAddress    
            MAX-ACCESS  accessible-for-notify
            STATUS  current
            DESCRIPTION
                "The conflicting IP address got by DHCP.
                "    
            ::= { hwDhcpProxyVbOids 2 }     
            
            
        hwDhcpConfilctIpAddressMask OBJECT-TYPE
            SYNTAX IpAddress    
            MAX-ACCESS  accessible-for-notify
            STATUS  current
            DESCRIPTION
                "The sub net mask of the conflicting IP address got by DHCP.
                "    
            ::= { hwDhcpProxyVbOids 3 }    
            
        --   DHCP packet statistics on flow    
        hwDhcpFlowStatisticsTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpFlowStatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of dhcp packets on flow.
                 The index of this table is hwDhcpFlowStatisticsIndex.
                 Statistics for a maximum of 64 service ports are supported at the same time.
                "
            ::= { hwDhcpMibObject 40 }
            
        hwDhcpFlowStatisticsEntry OBJECT-TYPE
            SYNTAX HwDhcpFlowStatisticsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queries and resets the statistics of dhcp packets on flow.
                 The index of this entry is hwDhcpFlowStatisticsIndex.
                 Statistics for a maximum of 64 service ports are supported at the same time.
                "
            INDEX { hwDhcpFlowStatisticsIndex }
            ::= { hwDhcpFlowStatisticsTable 1 }
        
        HwDhcpFlowStatisticsEntry::=
            SEQUENCE {
                hwDhcpFlowStatisticsIndex                    Unsigned32,
                hwDhcpFlowStatisticsRowStatus                RowStatus,
                hwDhcpFlowStatisticsOperMode                 INTEGER,
                hwDhcpFlowStatisticsReceiveDiscover          Unsigned32,
                hwDhcpFlowStatisticsReceiveOffer             Unsigned32,
                hwDhcpFlowStatisticsReceiveRequest           Unsigned32,
                hwDhcpFlowStatisticsReceiveDecline           Unsigned32,
                hwDhcpFlowStatisticsReceiveAck               Unsigned32,
                hwDhcpFlowStatisticsReceiveNak               Unsigned32,
                hwDhcpFlowStatisticsReceiveRelease           Unsigned32,
                hwDhcpFlowStatisticsReceiveInform            Unsigned32,
                hwDhcpFlowStatisticsReceiveRenew             Unsigned32,
                hwDhcpFlowStatisticsSendDiscover             Unsigned32,
                hwDhcpFlowStatisticsSendOffer                Unsigned32,
                hwDhcpFlowStatisticsSendRequest              Unsigned32,
                hwDhcpFlowStatisticsSendDecline              Unsigned32,
                hwDhcpFlowStatisticsSendAck                  Unsigned32,
                hwDhcpFlowStatisticsSendNak                  Unsigned32,
                hwDhcpFlowStatisticsSendRelease              Unsigned32,
                hwDhcpFlowStatisticsSendInform               Unsigned32,
                hwDhcpFlowStatisticsSendRenew                Unsigned32,
                hwDhcpFlowStatisticsReceiveUnknownType       Unsigned32,
                hwDhcpFlowStatisticsTagTooLong               Unsigned32,
                hwDhcpFlowStatisticsFrameTooLong             Unsigned32,
                hwDhcpFlowStatisticsReceiveUntrust           Unsigned32,
                hwDhcpFlowStatisticsReceiveWithGiaddr        Unsigned32
                }

        hwDhcpFlowStatisticsIndex OBJECT-TYPE
            SYNTAX Unsigned32 
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the dhcp flow statistics table.
                 Indicates service port ID.
                "
            ::= { hwDhcpFlowStatisticsEntry 1 }
        
        hwDhcpFlowStatisticsRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
               "Indicates the row status, used for enabling and disabling the DHCP statistics on flow. 
                Options:
                1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                2. createAndGo(4) -enable the DHCP statistics on flow.
                3. destroy(6)     -disable the DHCP statistics on flow.
                
                To start the DHCP statistics on flow, input the hwDhcpFlowStatisticsIndex, set 
                hwDhcpFlowStatisticsRowStatus to createAndGo(4), and perform the set operation.
                To stop the DHCP statistics on flow, input the hwDhcpFlowStatisticsIndex, set 
                hwDhcpFlowStatisticsRowStatus to destroy(6), and perform the set operation. 
                During the query operation, the value of this leaf is always active(1).
               "
            ::= { hwDhcpFlowStatisticsEntry 2 }

        hwDhcpFlowStatisticsOperMode OBJECT-TYPE
            SYNTAX INTEGER {
                   reset(1),
                   invalid(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Reset the DHCP flow statistics.
                 Options:
                 1. reset(1)   -Reset the DHCP flow statistics.
                 2. invalid(2) -In get operation, the invalid(2) will be returned.
                "
            ::= { hwDhcpFlowStatisticsEntry 3 }   
            
        hwDhcpFlowStatisticsReceiveDiscover OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP discover packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 4 }
        
        hwDhcpFlowStatisticsReceiveOffer OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP offer packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 5 }
            
        hwDhcpFlowStatisticsReceiveRequest OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP request packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 6 }
        
        hwDhcpFlowStatisticsReceiveDecline OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP decline packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 7 }

        hwDhcpFlowStatisticsReceiveAck OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP ack packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 8 }
        
        hwDhcpFlowStatisticsReceiveNak OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP nack packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 9 }
            
        hwDhcpFlowStatisticsReceiveRelease OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP release packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 10 }
        
        hwDhcpFlowStatisticsReceiveInform OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP inform packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 11 }
            
        hwDhcpFlowStatisticsReceiveRenew OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received DHCP renew packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 12 }

        hwDhcpFlowStatisticsSendDiscover OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP discover packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 13 }
        
        hwDhcpFlowStatisticsSendOffer OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP offer packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 14 }
            
        hwDhcpFlowStatisticsSendRequest OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP request packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 15 }
        
        hwDhcpFlowStatisticsSendDecline OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP decline packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 16 }

        hwDhcpFlowStatisticsSendAck OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP ack packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 17 }
        
        hwDhcpFlowStatisticsSendNak OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP nack packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 18 }
            
        hwDhcpFlowStatisticsSendRelease OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP release packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 19 }
        
        hwDhcpFlowStatisticsSendInform OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP inform packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 20 }
            
        hwDhcpFlowStatisticsSendRenew OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sent DHCP renew packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 21 }            

        hwDhcpFlowStatisticsReceiveUnknownType OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of received unknown type DHCP packets.
                "
            ::= { hwDhcpFlowStatisticsEntry 22 }

        hwDhcpFlowStatisticsTagTooLong OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of DHCP packets which option length is over 255.
                "
            ::= { hwDhcpFlowStatisticsEntry 23 }
        
        hwDhcpFlowStatisticsFrameTooLong OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of DHCP packets which packet length is over max length after adding options.
                The defalut value of DHCP packet max length is 1500 bytes. 
                "
            ::= { hwDhcpFlowStatisticsEntry 24 }
            
        hwDhcpFlowStatisticsReceiveUntrust OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of DHCP packets with untrusty options.
                "
            ::= { hwDhcpFlowStatisticsEntry 25 }
        
        hwDhcpFlowStatisticsReceiveWithGiaddr OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of DHCP packets which giaddr is not zero.
                "
            ::= { hwDhcpFlowStatisticsEntry 26 }

 --   DHCP reverse
        hwDhcpReverse   OBJECT-TYPE
            SYNTAX       INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the status of the global reverse DHCP packets switch.
                 Options: 
                 1. enable(1)  -indicates the reverse DHCP packets are forwarded.                  
                 2. disable(2) -indicates the reverse DHCP packets are dropped.
                 Default: disable(2)
                "     
            ::= { hwDhcpMibObject 41 } 
 
  --   DHCP priority
        hwDhcpPriorityDscp  OBJECT-TYPE
            SYNTAX Integer32 (-1|0..63)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                The priority value of DSCP.
                The range of priority value is 0 to 63.
                -1 Indicates no config on the priority value.
                The default value is -1.
                "
            ::= { hwDhcpMibObject 42 }           
                           
        hwDhcpPriorityTos  OBJECT-TYPE
            SYNTAX Integer32 (-1|0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                The priority value of TOS.
                The range of priority value is 0 to 7.
                -1 Indicates no config on the priority value.
                The default value is -1.
                "
            ::= { hwDhcpMibObject 43 }                           

        --   DHCP gateway group    
        hwDhcpGatewayGroupTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpGatewayGroupEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Indicates the configuration of the gateway group.
                 The index of this table is hwDhcpGatewayGroupName.
                "
            ::= { hwDhcpMibObject 44 }
            
        hwDhcpGatewayGroupEntry OBJECT-TYPE
            SYNTAX HwDhcpGatewayGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the configuration of the gateway group.
                 The index of this entry is hwDhcpGatewayGroupName.
                "
            INDEX { hwDhcpGatewayGroupName }
            ::= { hwDhcpGatewayGroupTable 1 }
        
        HwDhcpGatewayGroupEntry::=
            SEQUENCE {
                hwDhcpGatewayGroupName               OCTET STRING,
                hwDhcpGatewayMasterList              OCTET STRING,
                hwDhcpGatewaySlaveList               OCTET STRING,
                hwDhcpGatewayGroupRowStatus          RowStatus
                }

        hwDhcpGatewayGroupName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..32)) 
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the name of gateway group.
                 The main input rules of the string are as the follows.
                 1. The ASCII vlaue of characters must be between 0x20 and 0x7E.
                 2. The double quotation marks are not supported. 
                 3. The special characters such as ',', ''', '?', ':', ';', and '~', are not supported.
                "
            ::= { hwDhcpGatewayGroupEntry 1 }
        
        hwDhcpGatewayMasterList OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (4)) 
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
               "Indicates the master gateway of gateway group.
                Hexadecimal format, every 4 octets represent a gateway IP(for
                example, the hexadecimal value 01020304 means that the master ip is 1.2.3.4).
                If the input value is all-zero, which means that delete the master gateway.
               "
            ::= { hwDhcpGatewayGroupEntry 2 }

        hwDhcpGatewaySlaveList OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..256))
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the slavery gateway of gateway group.
                Hexadecimal format, every 4 octets represent a gateway IP(for
                example, the hexadecimal value 0101010102020202030303030000000000000000 means that 
                there are three slave gateway address, they are 1.1.1.1,2.2.2.2,3.3.3.3).  
                If the input value is all-zero, which means that delete all slave gateway addresses.
                All these gateway addresses must be sorted according to the lexicographical.               
               "
            ::= { hwDhcpGatewayGroupEntry 3 }
            
        hwDhcpGatewayGroupRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "
                This object is used to create a new row or to modify or delete an existing row in this table.
                Options:
                1. active(1)          -the status of the row is active
                2. notInService(2)    -the status of the row is notInService
                3. notReady(3)        -the status of the row is notReady
                4. createAndGo(4)     -the status of the row is createAndGo
                5. createAndWait(5)   -the status of the row is createAndWait
                6. destroy(6)         -the status of the row is destroy
                Active(1) and notInService(2) are states, these values may be read or written.
                NotReady(3) is a state, this value may be read, but not written.
                CreateAndGo(4), createAndWait(5) and destroy(6) are actions, these values may
                be written, but are never read.
                "
            ::= { hwDhcpGatewayGroupEntry 255 }

        --   DHCP gateway group ip address   
        hwDhcpGatewayGroupGatewayTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpGatewayGroupGatewayEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the gateway configration of gateway group.
                 The indexes of this table are hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayType,
                 hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress.
                "
            ::= { hwDhcpMibObject 45 }

        hwDhcpGatewayGroupGatewayEntry OBJECT-TYPE
            SYNTAX HwDhcpGatewayGroupGatewayEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the gateway configration of gateway group.
                 The indexes of this entry are hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayType,
                 hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress.
                "
            INDEX { hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayType, hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress }
            ::= { hwDhcpGatewayGroupGatewayTable 1 }

        HwDhcpGatewayGroupGatewayEntry ::=
            SEQUENCE {
                hwDhcpGatewayGroupGatewayType             INTEGER,
                hwDhcpGatewayGroupGatewayAddressInetType  InetAddressType,
                hwDhcpGatewayGroupGatewayAddress          InetAddress,
                hwDhcpGatewayGroupGatewayRowStatus  RowStatus
             }

        hwDhcpGatewayGroupGatewayType OBJECT-TYPE
            SYNTAX  INTEGER{
                   master(1),
                   slave(2)
                   }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the type of the gateway.
                 Options:
 	             1. master(1)  -indicates the gateway is a master gateway
 	             2. slave(2)   -indicates the gateway is a slave gateway
                "
            ::= { hwDhcpGatewayGroupGatewayEntry 1 }

        hwDhcpGatewayGroupGatewayAddressInetType OBJECT-TYPE
	    SYNTAX InetAddressType
           MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the type of the gateway IP address.             
                 Only support the IPv4 addresses.
                 Options:
                 1. ipv4(1) -An IPv4 address as defined by the InetAddressIPv4 textual convention.                 
                "
            ::= { hwDhcpGatewayGroupGatewayEntry 2 }

        hwDhcpGatewayGroupGatewayAddress OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the gateway IP address.
                 The type of this address is specified by the value of the 
                 hwDhcpGatewayGroupGatewayAddressInetType object.
                "
            ::= { hwDhcpGatewayGroupGatewayEntry 3 }
                
        hwDhcpGatewayGroupGatewayRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "
                This object is used to create a new row or to modify or delete an existing row in this table.
                Options:
                1. active(1)          -the status of the row is active
                2. notInService(2)    -the status of the row is notInService
                3. notReady(3)        -the status of the row is notReady
                4. createAndGo(4)     -the status of the row is createAndGo
                5. createAndWait(5)   -the status of the row is createAndWait
                6. destroy(6)         -the status of the row is destroy
                Active(1) and notInService(2) are states, these values may be read or written.
                NotReady(3) is a state, this value may be read, but not written.
                CreateAndGo(4), createAndWait(5) and destroy(6) are actions, these values may
                be written, but are never read.
                "
            ::= { hwDhcpGatewayGroupGatewayEntry 255 }     
        
        
        --    hwDhcpGatewayGroupDomainServerTable
        hwDhcpGatewayGroupDomainServerTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpGatewayGroupDomainServerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the DHCP server configration of gateway group.
                 The indexes of this table are hwDhcpGatewayGroupName, hwDhcpGatewayGroupServerDomainName, hwDhcpGatewayGroupDomainServer.
                "
            ::= { hwDhcpMibObject 46 }


        hwDhcpGatewayGroupDomainServerEntry OBJECT-TYPE
            SYNTAX HwDhcpGatewayGroupDomainServerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the DHCP server configration of gateway group.
                 The indexes of this entry are hwDhcpGatewayGroupName, hwDhcpGatewayGroupServerDomainName, hwDhcpGatewayGroupDomainServer.
                "
            INDEX { hwDhcpGatewayGroupName, hwDhcpGatewayGroupServerDomainName, hwDhcpGatewayGroupDomainServer }
            ::= { hwDhcpGatewayGroupDomainServerTable 1 }


        HwDhcpGatewayGroupDomainServerEntry ::=
            SEQUENCE {
                hwDhcpGatewayGroupServerDomainName         OCTET STRING,
                hwDhcpGatewayGroupDomainServer             Integer32,
                hwDhcpGatewayGroupDomainRowStatus    RowStatus
            }

        hwDhcpGatewayGroupServerDomainName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..32))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the DHCP domain name.
                "
            ::= { hwDhcpGatewayGroupDomainServerEntry 1 }
	
	hwDhcpGatewayGroupDomainServer OBJECT-TYPE
            SYNTAX Integer32 (0..19)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the DHCP server group ID.
                 Range: 0..19
                "
            ::= { hwDhcpGatewayGroupDomainServerEntry 2 }
            
        hwDhcpGatewayGroupDomainRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "
                This object is used to create a new row or to modify or delete an existing row in this table.
                Options:
                1. active(1)          -the status of the row is active
                2. notInService(2)    -the status of the row is notInService
                3. notReady(3)        -the status of the row is notReady
                4. createAndGo(4)     -the status of the row is createAndGo
                5. createAndWait(5)   -the status of the row is createAndWait
                6. destroy(6)         -the status of the row is destroy
                Active(1) and notInService(2) are states, these values may be read or written.
                NotReady(3) is a state, this value may be read, but not written.
                CreateAndGo(4), createAndWait(5) and destroy(6) are actions, these values may
                be written, but are never read.
                "
            ::= { hwDhcpGatewayGroupDomainServerEntry 255 }
                            
        --    hwDhcpGatewayGroupDomainGatewayTable
        hwDhcpGatewayGroupDomainGatewayTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpGatewayGroupDomainGatewayEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the domain gateway configration of gateway group.
                 The indexes of this table are hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayDomainName,
                 hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress.  
                "
            ::= { hwDhcpMibObject 47 }


        hwDhcpGatewayGroupDomainGatewayEntry OBJECT-TYPE
            SYNTAX HwDhcpGatewayGroupDomainGatewayEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the domain gateway configration of gateway group.
                 The indexes of this entry are hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayDomainName,
                 hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress.  
               "
            INDEX { hwDhcpGatewayGroupName, hwDhcpGatewayGroupGatewayDomainName, hwDhcpGatewayGroupGatewayAddressInetType, hwDhcpGatewayGroupGatewayAddress }
            ::= { hwDhcpGatewayGroupDomainGatewayTable 1 }


        HwDhcpGatewayGroupDomainGatewayEntry ::=
            SEQUENCE {
                hwDhcpGatewayGroupGatewayDomainName         OCTET STRING,
                hwDhcpGatewayGroupDomainGatewayRowStatus    RowStatus
            }

        hwDhcpGatewayGroupGatewayDomainName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..32))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the DHCP domain name.
                "
            ::= { hwDhcpGatewayGroupDomainGatewayEntry 1 }

        hwDhcpGatewayGroupDomainGatewayRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "
                This object is used to create a new row or to modify or delete an existing row in this table.
                Options:
                1. active(1)          -the status of the row is active
                2. notInService(2)    -the status of the row is notInService
                3. notReady(3)        -the status of the row is notReady
                4. createAndGo(4)     -the status of the row is createAndGo
                5. createAndWait(5)   -the status of the row is createAndWait
                6. destroy(6)         -the status of the row is destroy
                Active(1) and notInService(2) are states, these values may be read or written.
                NotReady(3) is a state, this value may be read, but not written.
                CreateAndGo(4), createAndWait(5) and destroy(6) are actions, these values may
                be written, but are never read.
                "
            ::= { hwDhcpGatewayGroupDomainGatewayEntry 255 }
        
        --    hwDhcpDomainGatewayGroupTable
        hwDhcpDomainGatewayGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwDhcpDomainGatewayGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the gateway group configration of DHCP domain.
                 The indexes of this table are hwDhcpDomainGatewayVlanIfIndex, hwDhcpDomainGatewayDmName, hwDhcpDomainGatewayGroupName.
                "
            ::= { hwDhcpMibObject 48 }


        hwDhcpDomainGatewayGroupEntry OBJECT-TYPE
            SYNTAX HwDhcpDomainGatewayGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the gateway group configration of DHCP domain.
                 The indexes of this entry are hwDhcpDomainGatewayVlanIfIndex, hwDhcpDomainGatewayDmName, hwDhcpDomainGatewayGroupName.
                "
            INDEX { hwDhcpDomainGatewayVlanIfIndex, hwDhcpDomainGatewayDmName, hwDhcpGatewayGroupName }
            ::= { hwDhcpDomainGatewayGroupTable 1 }

        HwDhcpDomainGatewayGroupEntry ::=
            SEQUENCE {
                hwDhcpDomainGatewayGroupRowStatus    RowStatus
            }

        hwDhcpDomainGatewayGroupRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "
                This object is used to create a new row or to modify or delete an existing row in this table.
                Options:
                1. active(1)          -the status of the row is active
                2. notInService(2)    -the status of the row is notInService
                3. notReady(3)        -the status of the row is notReady
                4. createAndGo(4)     -the status of the row is createAndGo
                5. createAndWait(5)   -the status of the row is createAndWait
                6. destroy(6)         -the status of the row is destroy
                Active(1) and notInService(2) are states, these values may be read or written.
                NotReady(3) is a state, this value may be read, but not written.
                CreateAndGo(4), createAndWait(5) and destroy(6) are actions, these values may
                be written, but are never read.
                "
            ::= { hwDhcpDomainGatewayGroupEntry 255 }

        hwDhcpOption82TransparentUserVlanType OBJECT-TYPE
            SYNTAX   BITS
            {
             untag(0),
             singleTag(1),
             multiTag(2)
            }
            MAX-ACCESS read-write
            STATUS       current
            DESCRIPTION
            "
            Indicates the user VLAN based on which DHCP option82 is transparently transmitted.
            Options:
            1. untag(0)            -indicates that the user packet does not contain VLANs
            2. singleTag(1)       -indicates that the user packet contains a single VLAN
            3. multiTag(2)        -indicates that the user packet contains multiple VLANs
            When singleTag is 0, set hwDhcpOption82TransparentSingleUserVlanList to a null character string. 
            When singleTag is 1, set hwDhcpOption82TransparentSingleUserVlanList to a valid character string.
            "
            ::= { hwDhcpMibObject 49 }
            
        hwDhcpOption82TransparentSingleUserVlanList OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (0..255))
            MAX-ACCESS read-write
            STATUS       current
            DESCRIPTION
            "
             Indicates the list of user single VLANs contained in the packets whose DHCP option82 is transparently transmitted.
             VLAN ranges from 0 to 4095. The VLAN list is a character string consisting of digits (0-9) or digits and VLAN segments. 
             Digits and VLAN segments are separated by a comma, for example, 2,200-300.
             For example:
             1.To set user-side VLAN status to singleTag, VLAN list to 2,100-300, do as follows:
               singleTag(1) is set to 1 in hwDhcpOption82TransparentUserVlanType, hwDhcpOption82TransparentSingleUserVlanList:2,100-300
             2.To set user-side VLAN status to untag and multiTag, do as follows:
               untag(0) and multiTag(2) are set to 1 in hwDhcpOption82TransparentUserVlanType, hwDhcpOption82TransparentSingleUserVlanList is a null character string.
            "
            ::= { hwDhcpMibObject 50 }
        
        hwDhcpL3CasCapStatus   OBJECT-TYPE
            SYNTAX INTEGER{
                    enable(1),
                    disable(2)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the capture status of dhcp layer-3 cascade-port.
                 Options:
                 1. enable(1)  -enable capture of dhcp layer-3 cascade-port
                 2. disable(2) -disable capture of dhcp layer-3 cascade-port
                 Default: enable(1)
                "
            ::= { hwDhcpMibObject 51 }

         hwDhcpSuboption4Status   OBJECT-TYPE                                                    
            SYNTAX   INTEGER{
                enable(1),
                disable(2)
                }                                                                               
            MAX-ACCESS   read-write                                                                               
            STATUS       current                                                                                  
            DESCRIPTION                                                                                           
                "Indicates the status of Suboption4 of DHCP Option82.
                 Options:
                 1. enable(1)  -indicates the Suboption4 of DHCP Option82 is enabled
                 2. disable(2) -indicates the Suboption4 of DHCP Option82 is disabled
                 Default: disable(2)
                "                                                                                                           
            ::= { hwDhcpMibObject 52 }   
            
        --    hwDhcpProxyTraps
        hwDhcpProxyTraps OBJECT IDENTIFIER ::= { hwDhcpProxy 2 }
        
        hwDhcpProxyCommonTraps OBJECT IDENTIFIER ::= { hwDhcpProxyTraps 1 }
        hwDhcpProxyCommonTrapsPrefix OBJECT IDENTIFIER ::= { hwDhcpProxyCommonTraps 0 }
        
        hwDhcpSmltResultTrap NOTIFICATION-TYPE
            OBJECTS    {
                hwDhcpSmltRequestID,
                hwDhcpSmltIndex,
                hwDhcpSmltServicePortId,
                hwDhcpSmltOverTime,
                hwDhcpSmltResult,
                hwDhcpSmltStartTime,
                hwDhcpSmltEndTime,
                hwDhcpSmltUserIp,
                hwDhcpSmltSubNetMask,
                hwDhcpSmltDhcpServerIp,
                hwDhcpSmltDnsServerIp,
                hwDhcpSmltDnsServerName,
                hwDhcpSmltSecondaryDnsServerIp,
                hwDhcpSmltGatewayIp
                    }         
            STATUS current
            DESCRIPTION
                "This notification is generated when DHCP client has found network-side DHCP server or finding timeout."  
            ::= { hwDhcpProxyCommonTraps 0 1 }  
        
        hwDhcpProxyAlarmTraps OBJECT IDENTIFIER ::= { hwDhcpProxyTraps 2 }
        
        hwDhcpProxyAlarmTrapsPrefix OBJECT IDENTIFIER ::= { hwDhcpProxyAlarmTraps 0 }
        
        hwIpConflictTrap NOTIFICATION-TYPE
            OBJECTS    {
                hwVlanID,
                hwDhcpConfilctIpAddress,
                hwDhcpConfilctIpAddressMask
                    }         
            STATUS current
            DESCRIPTION
                "This notification is generated when an IP address got by DHCP client for the interface 
                 conflicted with those assigned to other interfaces."  
            ::= { hwDhcpProxyAlarmTraps 0 1 }  
END



