-- =================================================================
-- Copyright (C) 2006 by HUAWEI TECHNOLOGIES. All rights reserved
-- 
-- Description:HUAWEI DHCP SNOOPING MIB
-- Reference:
-- Version: V1.00
-- History:
--    wangcheng 60005987 initial    16/02/2006
--  hexiaoqin 60020960 modified   25/12/2006
--      wangcheng 64651    modified   1/3/2007
-- =================================================================
    
    HUAWEI-DHCP-SNOOPING-MIB DEFINITIONS ::= BEGIN
     
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB
            MODULE-IDENTITY, IpAddress, OBJECT-TYPE        
                FROM SNMPv2-SMI    
            InterfaceIndexOrZero
                FROM IF-MIB
            VlanId     
                FROM Q-BRIDGE-MIB
            EnabledStatus
                FROM P-BRIDGE-MIB                                             
            RowStatus,MacAddress,DisplayString            
                FROM SNMPv2-TC;
                
--
-- Textual conventions                
--

     HWVlanId ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
                "A 12-bit VLAN ID used in the VLAN Tag header.
                 When the value is 0, it means do not belong to a vlan."
        SYNTAX      Integer32(0..4094)   

     HWMatchMode ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                " 
                The vlan mode of Dhcp  packets matched in the snooping bind table.
                pvlan(1),
                cvlan(2),
                all(3)
                "
            SYNTAX INTEGER
                { 
                pvlan(1),
                cvlan(2),
                all(3)
                }  
     HWTransmitAction ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                " The action of specific color packet.
                  discard (1)
                  pass (2)
                "
            SYNTAX INTEGER
                { 
                discard(1),
                pass(2)
                }
               
    
--
-- Module Identifier                
--
    hwDhcpSnpMib MODULE-IDENTITY 
        LAST-UPDATED "200609161800Z"            -- Sep 16th, 2006 at 18:00 GMT
        ORGANIZATION 
            "Huawei Technologies co., Ltd."
        CONTACT-INFO 
            " R&D NanJing, Huawei Technologies co.,Ltd.
            Huihong Bld.,NO.91 Baixia Rd., 
            Bai-Xia District NanJing P.R. China
            Zip:210001 
            Http://www.huawei.com                                       
            E-mail:support@huawei.com "
        DESCRIPTION 
            "This MIB describes objects used for Dhcp Snooping,including
            configuring snooping,creating snooping bind table and collecting
            false packets' statistic information. When the system is attacked,
            some traps will be given."
        REVISION "200609161800Z"            -- Sep 16th, 2006 at 18:00 GMT
        DESCRIPTION
            "The initial revision of this MIB module."
        ::= { hwDatacomm 112 }
    
--
-- Objects Identifier
--

    hwDhcpSnpObjects OBJECT IDENTIFIER ::= { hwDhcpSnpMib 1 }

--
-- Nodes Identifier
--
    
    hwDhcpSnpGlobal OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Global Snooping. Enable this before you want to enable
             the port,vlan,other interfaces snooping. "
        DEFVAL { disable }
        ::= { hwDhcpSnpObjects 1 }
    
    
    hwDhcpPktRateCheck OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Whether to check the rate of Dhcp packets received. "
        DEFVAL { disable }
        ::= { hwDhcpSnpObjects 2 }
    
            
    hwDhcpPktRate     OBJECT-TYPE
        SYNTAX     Integer32(1..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The area of Dhcp packets received rate. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpObjects 3 }    
    
            
    hwDhcpPktRateAlarmThreshold OBJECT-TYPE
        SYNTAX     Integer32(1..1000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold of the Dhcp packets rate Alarm. When the actual rate
             beyond the maximum rate configured and reach this threshold once, 
             there will be a notification can be sent at the same time. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpObjects 4 }
    
            
    hwDhcpPktRateAlarmEnable OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Whether to send the Dhcp packets rate alarm when the actual rate beyond
             the maximum rate configured and reach the rate threshold. "
        DEFVAL { disable }
        ::= { hwDhcpSnpObjects 5 }
    
    
    hwDhcpSnpBindTblNomatchedArpGlobalAction OBJECT-TYPE
        SYNTAX     INTEGER
            {
            forward(0),
            discard(1)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "How to deal with the Arp packets that do not match the Dhcp snooping 
             bind table in global view. "
        DEFVAL { forward }
        ::= { hwDhcpSnpObjects 6 }        
    
    
    hwDhcpSnpBindTblNomatchedIpGlobalAction OBJECT-TYPE
        SYNTAX     INTEGER
            {
            forward(0),
            discard(1)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "How to deal with the Ip packets that do not match the Dhcp snooping 
             bind table in global view. "
        DEFVAL { forward }
        ::= { hwDhcpSnpObjects 7 }        
    
    
    hwDhcpSnpBindTblAutosaveFilename OBJECT-TYPE
        SYNTAX     DisplayString(SIZE(1..51))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Autosave file name. Make sure the disk name have been given, and the file
             must be named with '.tbl' postfixally. "
        ::= { hwDhcpSnpObjects 8 }
    
            
    hwDhcpSnpBindTblAutosave OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Whether to save snooping bind table . "
        DEFVAL { disable }
        ::= { hwDhcpSnpObjects 9 }    
       
        
    hwDhcpSnpGlobalThreshold OBJECT-TYPE
        SYNTAX     Integer32(1..1000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dhcp snooping global threshold. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpObjects 10 }    
    
    
    hwDhcpPktRateDiscardNum OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Dhcp packets that discarded for the rate limit. "
        ::= { hwDhcpSnpObjects 11 }
    
    
            
    hwDhcpSnpCfgTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HWDhcpSnpCfgEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The snooping configuration table. "
            ::= { hwDhcpSnpObjects 13 }
    
           
    hwDhcpSnpCfgEntry OBJECT-TYPE
            SYNTAX HWDhcpSnpCfgEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the snooping configuration table."
            INDEX { hwDhcpSnpIfIndex,hwDhcpSnpVlanIndex,hwDhcpSnpVsiIndex }
            ::= { hwDhcpSnpCfgTable 1 }
            
    HWDhcpSnpCfgEntry ::=
            SEQUENCE {
                hwDhcpSnpIfIndex            InterfaceIndexOrZero,
                hwDhcpSnpVlanIndex            VlanId,
                hwDhcpSnpVsiIndex              Integer32,
                hwDhcpSnpEnable                INTEGER,
                hwDhcpTrusted                INTEGER,
                hwDhcpOption82Insert            INTEGER,
                hwDhcpOption82Rebuild            INTEGER,
                hwDhcpChaddrCheck                INTEGER,
                hwDhcpChaddrAlarmThreshold        Integer32,
                hwDhcpChaddrAlarmEnable        INTEGER,
                hwDhcpArpCheck                INTEGER,
                hwDhcpSnpBindTblNomatchedArpAction    INTEGER,
                hwDhcpArpAlarmThreshold        Integer32,
                hwDhcpArpAlarmEnable        INTEGER,
                hwDhcpIpCheck            INTEGER,
                hwDhcpSnpBindTblNomatchedIpAction    INTEGER,
                hwDhcpIpAlarmThreshold        Integer32,
                hwDhcpIpAlarmEnable            INTEGER,
                hwDhcpUntrustReplyAlarmThreshold    Integer32,
                hwDhcpUntrustReplyAlarmEnable    INTEGER,
                hwDhcpSnpBindTblCheck        INTEGER,
                hwDhcpSnpBindTblAlarmThreshold    Integer32,
                hwDhcpSnpBindTblAlarmEnable        INTEGER,
                hwDhcpSnpMatchMode               HWMatchMode, 
                hwDhcpSnpDynamicItemCheck           INTEGER,
                hwDhcpSnpMaxUserNum                 Integer32,
                hwDhcpSnpUserLimitAlarmThreshold    Integer32, 
                hwDhcpSnpUserLimitAlarmEnable    INTEGER,            
                hwDhcpSnpCfgTblRowStatus        RowStatus,
-- begin add for dhcprateAnddhcpoption82
            hwDhcpPktIfRateCheck                EnabledStatus,
            hwDhcpPktIfRate                     Integer32,
            hwDhcpPktIfRateAlarmThreshold       Integer32,
            hwDhcpPktIfRateAlarmEnable          EnabledStatus,
            hwDhcpSnpIfVlanOption82RemoteId     DisplayString,
            hwDhcpSnpIfVlanOption82CircuitId    DisplayString
-- end add for dhcprateAnddhcpoption82                              
                }
    
    hwDhcpSnpIfIndex OBJECT-TYPE
            SYNTAX  InterfaceIndexOrZero
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The Ifindex."
            ::= { hwDhcpSnpCfgEntry 1 }
           
    hwDhcpSnpVlanIndex OBJECT-TYPE
            SYNTAX  VlanId
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION " The VLAN-ID or other identifier refering to this VLAN."
            ::= { hwDhcpSnpCfgEntry 2 } 
    
    hwDhcpSnpVsiIndex OBJECT-TYPE
               SYNTAX  Integer32 (0..4095|65535)
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   " The VSI ID."
               ::= { hwDhcpSnpCfgEntry 3 }         
            
    hwDhcpSnpEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to enable snooping on this interface/vlan. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 5 }
    
    
    hwDhcpTrusted OBJECT-TYPE
            SYNTAX  INTEGER
                {
                trusted(1),
                untrusted(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "This interface/vlan is trusted or untrusted. 
                 When enabled the snooping, it turns to untrusted as default until be changed."    
            ::= { hwDhcpSnpCfgEntry 6 }
            
    hwDhcpOption82Insert OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to insert Option82 to Dhcp packets. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 7 }
    
    
    hwDhcpOption82Rebuild OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to rebuild the Option82 in Dhcp packets. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 8 }        
    
    
    hwDhcpChaddrCheck OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                   }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to enable check Chaddr in Dhcp packets with source mac-address in ethernet frame. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 9 }
    
            
    hwDhcpChaddrAlarmThreshold OBJECT-TYPE
            SYNTAX  Integer32(1..1000)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The threshold of Chaddr check alarm. A trap can be sent when the chaddr-false Dhcp 
                 packets count beyond it."
            DEFVAL { 100 }    
            ::= { hwDhcpSnpCfgEntry 10 }
    
            
    hwDhcpChaddrAlarmEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to send chaddr trap when its' count beyond the threshold. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 11 }
    
           
    hwDhcpArpCheck OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to enable check Arp packets with the snooping bind table. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 12 }
            
            
    hwDhcpSnpBindTblNomatchedArpAction OBJECT-TYPE
        SYNTAX     INTEGER
            {
            forward(0),
            discard(1)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "How to deal with the Arp packets that do not match the Dhcp snooping 
             bind table in port/vlan view. "
        DEFVAL { forward }
        ::= { hwDhcpSnpCfgEntry 13 }
           
           
    hwDhcpArpAlarmThreshold OBJECT-TYPE
            SYNTAX  Integer32(1..1000)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The threshold of Arp check alarm. A trap can be sent when the false Arp 
                 packets discarded count beyond it. "
            DEFVAL { 100 }    
            ::= { hwDhcpSnpCfgEntry 14 }
    
            
    hwDhcpArpAlarmEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to send Arp trap when its count beyond the threshold. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 15 }
    
           
    hwDhcpIpCheck OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to enable check Ip packets with the snooping bind table. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 16 }
            
            
    hwDhcpSnpBindTblNomatchedIpAction OBJECT-TYPE
        SYNTAX     INTEGER
            {
            forward(0),
            discard(1)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "How to deal with the Ip packets that do not match the Dhcp snooping 
             bind table in port/vlan view. "
        DEFVAL { forward }
        ::= { hwDhcpSnpCfgEntry 17 }
    
           
    hwDhcpIpAlarmThreshold OBJECT-TYPE
            SYNTAX  Integer32(1..1000)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The threshold of Ip check alarm. A trap can be sent when the false Ip 
                 packets count beyond it. "
            DEFVAL { 100 }    
            ::= { hwDhcpSnpCfgEntry 18 }
    
           
    hwDhcpIpAlarmEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to send Ip trap when its count beyond the threshold. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 19 }
    
           
    hwDhcpUntrustReplyAlarmThreshold OBJECT-TYPE
            SYNTAX  Integer32(1..1000)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The threshold of Dhcp reply packets check alarm. A trap can be sent when the Dhcp 
                 reply packets count on untrusted interface/vlan beyond it. "
            DEFVAL { 100 }    
            ::= { hwDhcpSnpCfgEntry 20 }
    
           
    hwDhcpUntrustReplyAlarmEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to send untrusted Dhcp reply trap when its count beyond the threshold. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 21 }
            
            
    hwDhcpSnpBindTblCheck OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Whether to check Dhcp request packets with the snooping bind table. "
        DEFVAL { disable }
        ::= { hwDhcpSnpCfgEntry 22 }    
    
            
    hwDhcpSnpBindTblAlarmThreshold OBJECT-TYPE
        SYNTAX     Integer32(1..1000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The threshold of Dhcp request packets checking alarm with the snooping bind table. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpCfgEntry 23 }    
    
            
    hwDhcpSnpBindTblAlarmEnable OBJECT-TYPE
        SYNTAX     INTEGER
            {
            enable(1),
            disable(0)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Whether to send the snooping bind table alarm when beyond its threshold. "
        DEFVAL { disable }
        ::= { hwDhcpSnpCfgEntry 24 }   
        
    hwDhcpSnpMatchMode OBJECT-TYPE
        SYNTAX     HWMatchMode
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            " Setting the vlan mode of the dhcp packets matched in the bind table.
            pvlan(1),
            cvlan(2),
            all(3)
            "
        DEFVAL { 1 }
        ::= { hwDhcpSnpCfgEntry 25 }
        
    hwDhcpSnpDynamicItemCheck OBJECT-TYPE
        SYNTAX     INTEGER
            {
            ip(1),
            ipMac(2),
            ipInterface(3),
            ipMacInterface(4),
            undo(0)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Check items of Dynamic DHCP snooping binding table by ip address or mac-address or interface. "
        DEFVAL { ipMacInterface }
        ::= { hwDhcpSnpCfgEntry 26 }          

    hwDhcpSnpMaxUserNum OBJECT-TYPE
               SYNTAX  Integer32 (0..16384)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "MaxUserNumber: the limitation of the user number on the interface."
               DEFVAL { 0 }
               ::= { hwDhcpSnpCfgEntry 27}        

    hwDhcpSnpUserLimitAlarmThreshold OBJECT-TYPE
            SYNTAX  Integer32(1..100)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The threshold of user-number limitation. A trap can be sent when the current binding-items
                 exceed it."
            DEFVAL { 100 }    
            ::= { hwDhcpSnpCfgEntry 28 }    
    
    hwDhcpSnpUserLimitAlarmEnable OBJECT-TYPE
            SYNTAX  INTEGER
                {
                enable(1),
                disable(0)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Whether to send trap when the binding item number exceeds the threshold. "
            DEFVAL { disable }    
            ::= { hwDhcpSnpCfgEntry 29 }
                    
    hwDhcpSnpCfgTblRowStatus  OBJECT-TYPE
               SYNTAX  RowStatus
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The snooping configuration table rowstatus."
               ::= { hwDhcpSnpCfgEntry 30 }                    

-- begin add for dhcprateAnddhcpoption82            
    hwDhcpPktIfRateCheck OBJECT-TYPE
        SYNTAX     EnabledStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Whether to limit the rate of DHCP packets received on the interface. "
        ::= { hwDhcpSnpCfgEntry 31 }      
        
    hwDhcpPktIfRate OBJECT-TYPE
        SYNTAX     Integer32(1..100)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The area of DHCP packets received rate on the interface. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpCfgEntry 32 }      
        
    hwDhcpPktIfRateAlarmThreshold OBJECT-TYPE
        SYNTAX     Integer32(1..1000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The threshold of the DHCP packets rate Alarm on the interface. When the actual rate
             beyond the maximum rate configured and reach this threshold once, 
             there will be a notification can be sent at the same time. "
        DEFVAL { 100 }
        ::= { hwDhcpSnpCfgEntry 33 }          
        
    hwDhcpPktIfRateAlarmEnable OBJECT-TYPE
        SYNTAX     EnabledStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Whether to send the DHCP packets rate alarm when the actual rate beyond
             the maximum rate configured and reach the rate threshold on the interface. "
        DEFVAL { disabled }
        ::= { hwDhcpSnpCfgEntry 34 }  
        
        
    hwDhcpSnpIfVlanOption82RemoteId OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (1..63))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify the remote ID in the Option 82 field. "
        ::= { hwDhcpSnpCfgEntry 35 }          
        
    hwDhcpSnpIfVlanOption82CircuitId OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (1..63))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify the circuit ID in the Option 82 field."
        ::= { hwDhcpSnpCfgEntry 36 }  
                                                    
-- end add for dhcprateAnddhcpoption82

    
    hwDhcpSnpBindTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HWDhcpSnpBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The snooping bind table.You must give out 
                (1)one of the ifIndex, vlanId and vsiId at least 
                (2)the mac-address,ip-address,static type
                if you want to create a static bind row of the table,
                dynamic can not be created."
            ::= { hwDhcpSnpObjects 14 }
    
          
    hwDhcpSnpBindEntry OBJECT-TYPE
            SYNTAX HWDhcpSnpBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the snooping bind table."
            INDEX { hwDhcpSnpBindIpIndex, hwDhcpSnpBindPVlanIndex, hwDhcpSnpBindCVlanIndex, 
                hwDhcpSnpBindVRFIdIndex, hwDhcpSnpBindVsiIndex }
            ::= { hwDhcpSnpBindTable 1 }
            
    HWDhcpSnpBindEntry ::=
            SEQUENCE { 
                hwDhcpSnpBindIpIndex        IpAddress,
                hwDhcpSnpBindPVlanIndex        VlanId,
                hwDhcpSnpBindCVlanIndex        VlanId,
                hwDhcpSnpBindVRFIdIndex        Integer32,
                hwDhcpSnpBindVsiIndex        Integer32,
                hwDhcpSnpBindIfDescr        DisplayString,
                hwDhcpSnpBindPVlanId        VlanId,
                hwDhcpSnpBindCVlanId        VlanId,
                hwDhcpSnpBindVRFId            Integer32,
                hwDhcpSnpBindVsiId            Integer32,
                hwDhcpSnpBindMac             MacAddress,
                hwDhcpSnpBindIp                IpAddress,
                hwDhcpSnpBindStatus            INTEGER,
                hwDhcpSnpBindLease            Counter32,
                hwDhcpSnpBindRowStatus        RowStatus
                }
    
    hwDhcpSnpBindIpIndex OBJECT-TYPE
               SYNTAX  IpAddress
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   "Index: the Ip of the bind table."
               ::= { hwDhcpSnpBindEntry 1 }
               
    hwDhcpSnpBindPVlanIndex OBJECT-TYPE
               SYNTAX  VlanId
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   "Index: the P-Vlan of the bind table."
               ::= { hwDhcpSnpBindEntry 2 }
               
    hwDhcpSnpBindCVlanIndex OBJECT-TYPE
               SYNTAX  VlanId
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   "Index: the C-Vlan of the bind table."
               ::= { hwDhcpSnpBindEntry 3 }
               
    hwDhcpSnpBindVRFIdIndex OBJECT-TYPE
               SYNTAX  Integer32 (0..1000)
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   "Index: the VRFID of the bind table."
               ::= { hwDhcpSnpBindEntry 4 }
               
    hwDhcpSnpBindVsiIndex OBJECT-TYPE
               SYNTAX  Integer32 (0..4095|65535)
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION 
                   "Index: the Vsi of the bind table."
               ::= { hwDhcpSnpBindEntry 5 }                                                       
    
    
    hwDhcpSnpBindIfDescr OBJECT-TYPE
               SYNTAX  DisplayString (SIZE (0..47))
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The description of the interfaces that binded."
               ::= { hwDhcpSnpBindEntry 6 }
    
    
    hwDhcpSnpBindPVlanId OBJECT-TYPE
               SYNTAX  VlanId
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The pvlan Id."
               ::= { hwDhcpSnpBindEntry 7 }
               
    hwDhcpSnpBindCVlanId OBJECT-TYPE
               SYNTAX  VlanId
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The cvlan Id."
               ::= { hwDhcpSnpBindEntry 8 }           
               
               
    hwDhcpSnpBindVRFId OBJECT-TYPE
               SYNTAX  Integer32 (0..1000)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The VRFID for L3VPN."
               ::= { hwDhcpSnpBindEntry 9 }
               
    hwDhcpSnpBindVsiId OBJECT-TYPE
               SYNTAX  Integer32 (0..4095|65535)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The Vsi for L2VPN."
               ::= { hwDhcpSnpBindEntry 10 }    
          
    hwDhcpSnpBindMac OBJECT-TYPE
               SYNTAX  MacAddress
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                    "Mac-address bind. Value of hwDhcpSnpBindMac is optional, if you did not specify 
                     hwDhcpSnpBindMac any value when you created, invalid value 0 is returned after 
                     you perform Get operation of hwDhcpSnpBindMac."
               ::= { hwDhcpSnpBindEntry 11 }   
    
           
    hwDhcpSnpBindIp OBJECT-TYPE
               SYNTAX  IpAddress
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Ip-address bind."
               ::= { hwDhcpSnpBindEntry 12 } 
    
    
    hwDhcpSnpBindStatus OBJECT-TYPE
               SYNTAX  INTEGER
                   {
                   dynamic(1),
                   static(2)
                   }
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The bind status:dynamic(1) or static(2)."
               ::= { hwDhcpSnpBindEntry 13 }
    
          
    hwDhcpSnpBindLease OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The time of the dynamic bind lease to be end."
               ::= { hwDhcpSnpBindEntry 14 } 
    
          
    hwDhcpSnpBindRowStatus  OBJECT-TYPE
               SYNTAX  RowStatus
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The snooping bind table rowstatus."
               ::= { hwDhcpSnpBindEntry 18 }                     
    

    
    hwDhcpSnpFalsePktStatisticTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HWDhcpSnpFalsePktStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The false packets statistic information table."
            ::= { hwDhcpSnpObjects 15 }
    
           
    hwDhcpSnpFalsePktStatisticEntry OBJECT-TYPE
            SYNTAX HWDhcpSnpFalsePktStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the snooping false packets statistic information table."
            INDEX { hwDhcpSnpIfIndex, hwDhcpSnpVlanIndex,hwDhcpSnpVsiIndex }
            ::= { hwDhcpSnpFalsePktStatisticTable 1 }
            
    HWDhcpSnpFalsePktStatisticEntry ::=
            SEQUENCE { 
                hwDhcpSnpStatisticIfDescr        DisplayString,
                hwDhcpSnpStatisticVlanId        VlanId,    
                hwChaddrNomatchSrcMacDhcpPktNum     Counter32,
                hwArpNomatchSnpBindTblPktNum    Counter32,
                hwIpNomatchSnpBindTblPktNum        Counter32,
                hwNomatchSnpBindTblDhcpPktNum    Counter32,
                hwUntrustedReplyPktNum        Counter32,
                hwDhcpSnpStatisticVsiId             Integer32,
                hwSnpBindingItemNum                 Counter32,
                hwSnpCfgMaxUserNum                  Counter32,
-- begin add for dhcprateAnddhcpoption82
                 hwDhcpPktIfRateDiscardNum           Counter32      
-- end add for dhcprateAnddhcpoption82
                          }
    
    
    hwDhcpSnpStatisticIfDescr OBJECT-TYPE
               SYNTAX  DisplayString(SIZE(1..47))
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The description of the interfaces."
               ::= { hwDhcpSnpFalsePktStatisticEntry 1 }
    
    hwDhcpSnpStatisticVlanId OBJECT-TYPE
               SYNTAX  VlanId
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The vlan Id."
               ::= { hwDhcpSnpFalsePktStatisticEntry 2 }
          
    hwChaddrNomatchSrcMacDhcpPktNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The false packets(chaddr in Dhcp packets is not same with source mac-address in
                   ethernet frame) count."
               ::= { hwDhcpSnpFalsePktStatisticEntry 3 }
    
          
    hwArpNomatchSnpBindTblPktNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The false Arp packets match in snooping bind table count."
               ::= { hwDhcpSnpFalsePktStatisticEntry 4 }
    
           
    hwIpNomatchSnpBindTblPktNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The false Ip packets do not match snooping bind table count."
               ::= { hwDhcpSnpFalsePktStatisticEntry 5 }
    
    
    hwNomatchSnpBindTblDhcpPktNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The Dhcp request packets do not match the snooping bind table."
               ::= { hwDhcpSnpFalsePktStatisticEntry 6 }      
    
          
    hwUntrustedReplyPktNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The untrusted port Dhcp reply packets count."
               ::= { hwDhcpSnpFalsePktStatisticEntry 7 } 
               
    hwDhcpSnpStatisticVsiId OBJECT-TYPE
               SYNTAX  Integer32(0..4095|65535)
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The Vsi for L2VPN."
               ::= { hwDhcpSnpFalsePktStatisticEntry 8 }          

    hwSnpBindingItemNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The number of current binding-table items."
               ::= { hwDhcpSnpFalsePktStatisticEntry 9 }
               
    hwSnpCfgMaxUserNum OBJECT-TYPE
               SYNTAX  Counter32
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION 
                   "The limitation of the user number on the interface."
               ::= { hwDhcpSnpFalsePktStatisticEntry 10 }
                              
-- begin add for dhcprateAnddhcpoption82
    hwDhcpPktIfRateDiscardNum OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "DHCP packets that discarded for the rate limit on the interface. "
        ::= { hwDhcpSnpFalsePktStatisticEntry 11 }      
-- end add for dhcprateAnddhcpoption82
                    
               
     hwDhcpSnpCarCfgTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HWDhcpSnpCarCfgEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The DHCP Snooping CAR table for control of the traffic. The CAR is based on IP and Mac, but configured with interface and vlan."
            ::= { hwDhcpSnpObjects 16 }
    

           
    hwDhcpSnpCarCfgEntry OBJECT-TYPE
            SYNTAX HWDhcpSnpCarCfgEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the DHCP Snooping CAR table."
            INDEX { hwDhcpSnpIfIndex, hwDhcpSnpVlanIndex }
            ::= { hwDhcpSnpCarCfgTable 1 }
            
    HWDhcpSnpCarCfgEntry ::=
            SEQUENCE { 
                
                hwDhcpSnpCarEnable     EnabledStatus,
                hwDhcpSnpCarCir        Integer32,
                hwDhcpSnpCarPir        Integer32,
                hwDhcpSnpCaCbs         Integer32,
                hwDhcpSnpCarPbs        Integer32,
                hwDhcpSnpCarYellow     HWTransmitAction,
                hwDhcpSnpCarRed        HWTransmitAction,
                hwDhcpSnpCarRowStatus  RowStatus
                    }
                      
     
     hwDhcpSnpCarEnable OBJECT-TYPE
        SYNTAX     EnabledStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            " Whether to apply CAR on the traffic of specific IP and Mac"
        DEFVAL { disable }
        ::= { hwDhcpSnpCarCfgEntry 11 } 
                  
     hwDhcpSnpCarCir OBJECT-TYPE
               SYNTAX  Integer32(100..10000000)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Committed infomation rate.Unit:kbps."
               ::= { hwDhcpSnpCarCfgEntry 12  }
               
    hwDhcpSnpCarPir OBJECT-TYPE
               SYNTAX  Integer32(100..10000000)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Peak information rate.Unit:kbps."
               ::= { hwDhcpSnpCarCfgEntry 13  }
               
    hwDhcpSnpCaCbs OBJECT-TYPE
               SYNTAX  Integer32(64..39314432)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Committed burst size.Unit:Byte" 
               DEFVAL { 32768 }
               ::= { hwDhcpSnpCarCfgEntry 14  }
               
    hwDhcpSnpCarPbs OBJECT-TYPE
               SYNTAX  Integer32(64..39314432)
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Peak burst size.Unit:Byte" 
            DEFVAL { 65536 }          
               ::= { hwDhcpSnpCarCfgEntry 15  } 
               
     hwDhcpSnpCarYellow OBJECT-TYPE
               SYNTAX  HWTransmitAction
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Yellow action:
                 pass (1)
                 discard (2)"
            DEFVAL { 2 }          
               ::= { hwDhcpSnpCarCfgEntry 16  } 
     hwDhcpSnpCarRed OBJECT-TYPE
               SYNTAX  HWTransmitAction
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "Red action:
                 pass (1)
                 discard (2)"
            DEFVAL { 1 }          
               ::= { hwDhcpSnpCarCfgEntry 17  }
               
     hwDhcpSnpCarRowStatus  OBJECT-TYPE
               SYNTAX  RowStatus
               MAX-ACCESS read-create
               STATUS current
               DESCRIPTION 
                   "The DHCP Snooping CAR table rowstatus."
               ::= { hwDhcpSnpCarCfgEntry 50 } 
               
-- begin add for dhcprateAnddhcpoption82        
    hwDhcpSnpGlobalOption82Format OBJECT-TYPE
        SYNTAX     INTEGER
            {
            hex(1),
            ascii(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The format type of Option82. "
        DEFVAL { hex }
        ::= { hwDhcpSnpObjects 17 }
        
     hwDhcpSnpGlobalOption82PacketFormat OBJECT-TYPE
        SYNTAX     INTEGER
            {
            extended(1),
            standard(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The format mode of Option82. "
        DEFVAL { extended }
        ::= { hwDhcpSnpObjects 18 }        
    
     hwDhcpSnpGlobalOption82RemoteId OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..63))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Option82 global remote ID. "
        ::= { hwDhcpSnpObjects 19 }
        
     hwDhcpSnpGlobalOption82RemoteIdSysName OBJECT-TYPE
        SYNTAX     EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Config Option82 global remote ID as system name. "
        DEFVAL { disabled }
        ::= { hwDhcpSnpObjects 20 }
        
    hwDhcpSnpGlobalOption82CircuitId OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..63))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Option82 global circuit ID."
        ::= { hwDhcpSnpObjects 21 }
        
    hwDhcpSnpGlobalOption82PktFormatTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwDhcpSnpGlobalOption82PktFormatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table about the packet format of option82."
        ::= { hwDhcpSnpObjects 22 }

    hwDhcpSnpGlobalOption82PktFormatEntry OBJECT-TYPE
        SYNTAX HwDhcpSnpGlobalOption82PktFormatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An entry about the packet format of option82." 
        INDEX { hwDhcpSnpGlobalOption82Type }
        ::= { hwDhcpSnpGlobalOption82PktFormatTable 1 }
                     
    HwDhcpSnpGlobalOption82PktFormatEntry ::=
        SEQUENCE { 
                 hwDhcpSnpGlobalOption82Type
                 INTEGER,
                 hwDhcpSnpGlobalOption82PktFormat 
	         INTEGER,        		                       	
	         hwDhcpSnpGlobalOption82DefString
	         DisplayString     
                }
                                        
   hwDhcpSnpGlobalOption82Type OBJECT-TYPE
        SYNTAX 	INTEGER
        {
	  circuitid(1),
	  remoteid(2)
        } 
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                " The option of the option82"
        ::= { hwDhcpSnpGlobalOption82PktFormatEntry 1 }
                        
   hwDhcpSnpGlobalOption82PktFormat OBJECT-TYPE
        SYNTAX 	INTEGER
	{
	common(1),
	extend(2),
	userdefined(3),
	default(4)
	} 
	 	                       	                                
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The format of the option82"
        ::= { hwDhcpSnpGlobalOption82PktFormatEntry 2 }
                
   hwDhcpSnpGlobalOption82DefString OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The content of the option when the format is userdefined."
        ::= { hwDhcpSnpGlobalOption82PktFormatEntry 3 } 
                         
                		
--  end add for dhcprateAnddhcpoption82                             
--
-- Traps Identifier
--

    hwDhcpSnpTraps OBJECT IDENTIFIER ::= { hwDhcpSnpMib 2 }
    
    hwDhcpSnpChaddrAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwChaddrNomatchSrcMacDhcpPktNum } 
            STATUS current     
            DESCRIPTION 
                "CHADDR in Dhcp packets do not match source mac-address in Ethernet frame. "
            ::= { hwDhcpSnpTraps 1 }
                  
    hwArpNomatchSnpBindTblPktAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwArpNomatchSnpBindTblPktNum } 
            STATUS current     
            DESCRIPTION 
                "Arp packets do not match the snooping bind table."
            ::= { hwDhcpSnpTraps 2 } 
                  
    hwIpNomatchSnpBindTblPktAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwIpNomatchSnpBindTblPktNum } 
            STATUS current     
            DESCRIPTION 
                "Ip packets do not match the snooping bind table. "
            ::= { hwDhcpSnpTraps 3 } 
                  
    hwUntrustedReplyPktAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwUntrustedReplyPktNum } 
            STATUS current     
            DESCRIPTION 
                "Untrusted ports have received the Dhcp reply packets."
            ::= { hwDhcpSnpTraps 4 }
                                
    hwNomatchSnpBindTblDhcpPktAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwNomatchSnpBindTblDhcpPktNum } 
            STATUS current     
            DESCRIPTION 
                "There are Dhcp request packets do not match the snooping bind table."
            ::= {hwDhcpSnpTraps 5 }  
            
    hwDhcpPktRateAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpPktRateDiscardNum } 
            STATUS current     
            DESCRIPTION 
                "The rate of Dhcp packets received is too large."
            ::= { hwDhcpSnpTraps 6 }

    hwSnpUserNumberAlarm NOTIFICATION-TYPE
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwSnpBindingItemNum,hwSnpCfgMaxUserNum } 
            STATUS current     
            DESCRIPTION 
                "The number of the binding items exceeds the threshold of user-limit on the interface."
            ::= {hwDhcpSnpTraps 7 }              
       
    
    hwDhcpSnpMibGroups OBJECT IDENTIFIER ::= { hwDhcpSnpMib 3 }
    
    hwDhcpSnpCfgGroup OBJECT-GROUP
            OBJECTS { hwDhcpSnpGlobal, hwDhcpPktRateCheck, hwDhcpPktRate, hwDhcpPktRateAlarmThreshold, 
            hwDhcpPktRateAlarmEnable, hwDhcpSnpBindTblNomatchedArpGlobalAction, hwDhcpSnpBindTblNomatchedIpGlobalAction,
            hwDhcpSnpBindTblAutosaveFilename, hwDhcpSnpBindTblAutosave, hwDhcpSnpGlobalThreshold, hwDhcpSnpEnable,
                    hwDhcpTrusted, hwDhcpOption82Insert, hwDhcpOption82Rebuild, hwDhcpChaddrCheck,
                    hwDhcpChaddrAlarmThreshold, hwDhcpChaddrAlarmEnable, hwDhcpArpCheck, hwDhcpSnpBindTblNomatchedArpAction,
                    hwDhcpArpAlarmThreshold, hwDhcpArpAlarmEnable, hwDhcpIpCheck, hwDhcpSnpBindTblNomatchedIpAction,
                    hwDhcpIpAlarmThreshold, hwDhcpIpAlarmEnable, hwDhcpUntrustReplyAlarmThreshold, hwDhcpUntrustReplyAlarmEnable,
                    hwDhcpSnpBindTblCheck, hwDhcpSnpBindTblAlarmThreshold, hwDhcpSnpBindTblAlarmEnable,hwDhcpSnpMatchMode,
                    hwDhcpSnpDynamicItemCheck,hwDhcpSnpMaxUserNum,hwDhcpSnpUserLimitAlarmThreshold,hwDhcpSnpUserLimitAlarmEnable,hwDhcpSnpCfgTblRowStatus,
-- begin add for dhcprateAnddhcpoption82                    
                    hwDhcpPktIfRateCheck,hwDhcpPktIfRate,hwDhcpPktIfRateAlarmThreshold,hwDhcpPktIfRateAlarmEnable,hwDhcpSnpIfVlanOption82RemoteId,hwDhcpSnpIfVlanOption82CircuitId,
-- end add for dhcprateAnddhcpoption82                    
                    hwDhcpSnpCarEnable,hwDhcpSnpCarCir,hwDhcpSnpCarPir,hwDhcpSnpCaCbs,hwDhcpSnpCarPbs,hwDhcpSnpCarYellow,hwDhcpSnpCarRed,
                    hwDhcpSnpGlobalOption82Format,hwDhcpSnpGlobalOption82PacketFormat,hwDhcpSnpGlobalOption82RemoteId,hwDhcpSnpGlobalOption82RemoteIdSysName,hwDhcpSnpGlobalOption82CircuitId,
                    hwDhcpSnpGlobalOption82PktFormat,hwDhcpSnpGlobalOption82DefString,
                    hwDhcpSnpCarRowStatus                   }

             STATUS current
            DESCRIPTION 
                "The DHCPSNP's Configuration group."
            ::= { hwDhcpSnpMibGroups 1 }
    
    hwDhcpSnpBindGroup OBJECT-GROUP
            OBJECTS { hwDhcpSnpBindIfDescr, hwDhcpSnpBindPVlanId, hwDhcpSnpBindCVlanId, hwDhcpSnpBindVRFId, hwDhcpSnpBindMac,
            hwDhcpSnpBindVsiId, hwDhcpSnpBindIp, hwDhcpSnpBindStatus, hwDhcpSnpBindLease ,hwDhcpSnpBindRowStatus}
            STATUS current
            DESCRIPTION 
                "The DHCPSNP's Bind group."
            ::= { hwDhcpSnpMibGroups 2 }
    
    hwDhcpSnpStatisticGroup OBJECT-GROUP
            OBJECTS { hwDhcpSnpStatisticIfDescr,hwDhcpSnpStatisticVlanId,hwChaddrNomatchSrcMacDhcpPktNum, hwArpNomatchSnpBindTblPktNum, hwIpNomatchSnpBindTblPktNum, 
            hwNomatchSnpBindTblDhcpPktNum, hwUntrustedReplyPktNum, hwDhcpPktRateDiscardNum,hwDhcpSnpStatisticVsiId,hwSnpBindingItemNum,hwSnpCfgMaxUserNum
-- begin add for dhcprateAnddhcpoption82            
            ,hwDhcpPktIfRateDiscardNum
-- end add for dhcprateAnddhcpoption82    
            }
            STATUS current
            DESCRIPTION 
                "The DHCPSNP's Statistic group."
            ::= { hwDhcpSnpMibGroups 3 }
            
    hwDhcpSnpTrapGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwDhcpSnpChaddrAlarm, hwArpNomatchSnpBindTblPktAlarm, hwIpNomatchSnpBindTblPktAlarm,
            hwUntrustedReplyPktAlarm, hwNomatchSnpBindTblDhcpPktAlarm, hwDhcpPktRateAlarm, hwSnpUserNumberAlarm}
            STATUS current
            DESCRIPTION 
                "The DHCPSNP's Notification group."
            ::= { hwDhcpSnpMibGroups 4 } 
                                                                               

        END
