-- ============================================================================
-- Copyright (C) 2018 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- Description:  The MIB is used for defining Huawei's DHCPv6 attribute. It includes
--               DHCPv6 Relay Layer-2 and Layer-3.
-- Reference:    HUAWEI-MIB, SNMPv2-SMI, IF-MIB, SNMPv2-TC, INET-ADDRESS-MIB
-- Version:      V1.20
-- ============================================================================
    HUAWEI-DSLAM-DHCPV6-RELAY-MIB DEFINITIONS ::= BEGIN

        IMPORTS 
            huaweiMgmt            
                FROM HUAWEI-MIB            
            OBJECT-TYPE, Integer32, Counter32, MODULE-IDENTITY    
                FROM SNMPv2-SMI            
            ifIndex         
                FROM IF-MIB
            RowStatus
                FROM SNMPv2-TC
            InetAddress, InetAddressType
                FROM INET-ADDRESS-MIB;
            
        hwDhcpv6Relay MODULE-IDENTITY
            LAST-UPDATED "201808010000Z"
            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 DHCPv6 attribute. It includes
                DHCPv6 Relay Layer-2 and Layer-3." 
            
            -- Revision history
            REVISION     "201808010000Z"  
            DESCRIPTION  "V1.20, add an rebuild(3) value to the leaf node hwDhcpv6OptionStatus."                 

            REVISION     "201706080000Z"  
            DESCRIPTION  "V1.19, added the leaf node hwDhcpv6OptionCheckAddress."                 

            -- Revision history
            REVISION     "201608250000Z"  
            DESCRIPTION  "V1.18, added the leaf node hwDhcpv6Reverse." 
            
            -- Revision history
            REVISION     "201508190000Z"  
            DESCRIPTION  "V1.17, added table node hwDhcpv6DuidTable." 
                 
            -- Revision history
            REVISION     "201507140000Z"  
            DESCRIPTION  "V1.16, added the leaf node hwDhcpv6OptionAntiIllegalOptionStatus." 
            
            REVISION     "201503180000Z"
            DESCRIPTION  "V1.15, add an invalid(-1) value to the leaf node hwDhcpv6ServerSelectMode" 	    
	    
            REVISION     "201411240000Z"
            DESCRIPTION  "V1.14, Modify the MAX-ACCESS attribute of node hwDhcpv6RowStatus."       
   
            REVISION     "201407150000Z"
            DESCRIPTION  "V1.13, added hwDhcpv6OptionTransparentUserVlanType and hwDhcpv6OptionTransparentSingleUserVlanList."

            REVISION     "201309100000Z"  
            DESCRIPTION  "V1.12, added the leaf node hwDhcpv6ServerSelectMode."            
	    
            REVISION     "201305280000Z"  
            DESCRIPTION  "V1.11, modified the value range of node hwDhcpv6XponOntIndex."            
            
            REVISION     "201305220000Z"  
            DESCRIPTION  "V1.10, modified the description of leaf node hwDhcpv6XponOntIndex."
            
            REVISION     "201212190000Z"  
            DESCRIPTION  "V1.09, added the leaf node hwDhcpv6L2ReceiveRelayReplyWithUnknownRelayPolicy."
            
            REVISION     "201207270000Z"  
            DESCRIPTION  "V1.08, added the leaf node hwDhcpv6OptionUplinkCasadePortStatus."
               
            REVISION     "201108190000Z"  
            DESCRIPTION  "V1.07, modified the format of InetAddress and InetAddressType in IMPORTS."
              
            REVISION     "201107130000Z"          
            DESCRIPTION  "V1.06, added the leaf node hwDhcpv6RelayInterfaceSrcipv6 and hwDhcpv6RelayInterfaceSrcipv6LoopbackIfIndex."

            REVISION     "201104200000Z"          
            DESCRIPTION  "V1.05, modified the systax and description of leaf node hwDhcpv6XponOntIndex,
                          hwIpDhcpv6ServerAddrType1,hwIpDhcpv6ServerAddrType2, hwIpDhcpv6ServerAddrType3, 
                          and hwIpDhcpv6ServerAddrType4."
            
            REVISION     "201104060000Z"          
            DESCRIPTION  "V1.04, modified the description of leaf node hwIpDhcpv6ServerAddrType1,
                          hwIpDhcpv6ServerAddrType2, hwIpDhcpv6ServerAddrType3 and 
                          hwIpDhcpv6ServerAddrType4."
                          
            REVISION     "201101200000Z"          
            DESCRIPTION  "V1.03, modified the description of leaf node hwIfindexDhcpv6ServerInterface1,
                          hwIfindexDhcpv6ServerInterface2, hwIfindexDhcpv6ServerInterface3 and 
                          hwIfindexDhcpv6ServerInterface4."
            
            REVISION     "201101090000Z"          
            DESCRIPTION  "V1.02, added table node hwDhcpv6L2StatisticsTable, hwDhcpv6GroupTable,
                          hwDhcpv6ToL3IfTable for supporting dhcpv6 l3 relay."
                     
            REVISION     "201011090000Z"          
            DESCRIPTION  "V1.01, added DHCPv6 Suboption "
       
            ::= { huaweiMgmt 111 }        
        
        hwDhcpv6RelayMibObject OBJECT IDENTIFIER ::= { hwDhcpv6Relay 1 }
                
        --   DHCPv6 layer-2 statistics     
        hwDhcpv6L2StatisticsTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6L2StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCPv6 L2 relay packets.
                 The index of this table is ifIndex, and the value of the index must be 0.
                "
            ::= { hwDhcpv6RelayMibObject 1 }
            
        hwDhcpv6L2StatisticsEntry    OBJECT-TYPE
            SYNTAX          HwDhcpv6L2StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCPv6 L2 relay packets.
                 The index of this entry is ifIndex, and the value of the index must be 0.
                "
            INDEX  {
                     ifIndex
                    }
            ::= { hwDhcpv6L2StatisticsTable  1 }
   
        HwDhcpv6L2StatisticsEntry    ::= SEQUENCE  { 
            hwDhcpv6L2ReceiveSolicit                                Counter32,
            hwDhcpv6L2ReceiveAdvertise                              Counter32,
            hwDhcpv6L2ReceiveRequest                                Counter32,
            hwDhcpv6L2ReceiveConfirm                                Counter32,
            hwDhcpv6L2ReceiveRenew                                  Counter32,
            hwDhcpv6L2ReceiveRebind                                 Counter32,
            hwDhcpv6L2ReceiveReply                                  Counter32,
            hwDhcpv6L2ReceiveRelease                                Counter32,
            hwDhcpv6L2ReceiveDecline                                Counter32,
            hwDhcpv6L2ReceiveReconfigure                            Counter32,
            hwDhcpv6L2ReceiveInform                                 Counter32,
            hwDhcpv6L2ReceiveRelayForward                           Counter32,
            hwDhcpv6L2ReceiveRelayReply                             Counter32,
            hwDhcpv6L2ReceiveLeasequery                             Counter32,
            hwDhcpv6L2ReceiveLeasequeryReply                        Counter32,
            hwDhcpv6L2ReceiveLeasequeryDone                         Counter32,
            hwDhcpv6L2ReceiveLeasequeryData                         Counter32,
            hwDhcpv6L2SentSolicit                                   Counter32,
            hwDhcpv6L2SentAdvertise                                 Counter32,
            hwDhcpv6L2SentRequest                                   Counter32,
            hwDhcpv6L2SentConfirm                                   Counter32,
            hwDhcpv6L2SentRenew                                     Counter32,
            hwDhcpv6L2SentRebind                                    Counter32,
            hwDhcpv6L2SentReply                                     Counter32,
            hwDhcpv6L2SentRelease                                   Counter32,
            hwDhcpv6L2SentDecline                                   Counter32,
            hwDhcpv6L2SentReconfigure                               Counter32,
            hwDhcpv6L2SentInform                                    Counter32,
            hwDhcpv6L2SentRelayForward                              Counter32,
            hwDhcpv6L2SentRelayReply                                Counter32,
            hwDhcpv6L2SentLeasequery                                Counter32,
            hwDhcpv6L2SentLeasequeryReply                           Counter32,
            hwDhcpv6L2SentLeasequeryDone                            Counter32,
            hwDhcpv6L2SentLeasequeryData                            Counter32,
            hwDhcpv6L2ReceiveUnknownType                            Counter32,
            hwDhcpv6L2ReceiveInvalidUnicast                         Counter32,
            hwDhcpv6L2ReceiveOverlength                             Counter32,
            hwDhcpv6L2ReceiveHopcountTooBig                         Counter32,
            hwDhcpv6L2ReceiveUntrustRelayed                         Counter32,
            hwDhcpv6L2ReceiveDownstreamOnClientsidePort             Counter32,
            hwDhcpv6L2ReceiveRelayReplyWithoutOption9               Counter32,
            hwDhcpv6L2ReceiveRelayReplyWithoutOption18              Counter32,
            hwDhcpv6L2ReceiveRelayReplyWithInvalidPeerAddress       Counter32,
            hwDhcpv6L2ReceiveRelayReplyLinkAddressNotZero           Counter32,
            hwDhcpv6L2StatisticsClear                               INTEGER,
            hwDhcpv6L2ReceiveRelayReplyWithUnknownRelayPolicy       Counter32
            }
          
        hwDhcpv6L2ReceiveSolicit   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 solicit packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 1 }
        
        hwDhcpv6L2ReceiveAdvertise   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 advertise packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 2 }    
   
        hwDhcpv6L2ReceiveRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 request packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 3 }    
   
        hwDhcpv6L2ReceiveConfirm   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 confirm packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 4 }    
   
        hwDhcpv6L2ReceiveRenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 renew packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 5 }    
   
        hwDhcpv6L2ReceiveRebind   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 rebind packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 6 }   
             
        hwDhcpv6L2ReceiveReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 7 }    
         
        hwDhcpv6L2ReceiveRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 release packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 8 }    
            
        hwDhcpv6L2ReceiveDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 decline packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 9 }     

        hwDhcpv6L2ReceiveReconfigure   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 reconfigure packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 10 }    
   
        hwDhcpv6L2ReceiveInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 information-request packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 11 }    
   
        hwDhcpv6L2ReceiveRelayForward   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-forward packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 12 }    
   
        hwDhcpv6L2ReceiveRelayReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 13 }    

        hwDhcpv6L2ReceiveLeasequery   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 14 }  
            
        hwDhcpv6L2ReceiveLeasequeryReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 15 }  
            
        hwDhcpv6L2ReceiveLeasequeryDone   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-done packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 16 }  
            
        hwDhcpv6L2ReceiveLeasequeryData   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-data packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 17 }  
                                                   
        hwDhcpv6L2SentSolicit   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 solicit packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 18 }
        
        hwDhcpv6L2SentAdvertise   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 advertise packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 19 }    
   
        hwDhcpv6L2SentRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 request packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 20 }    
   
        hwDhcpv6L2SentConfirm   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 confirm packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 21 }    
   
        hwDhcpv6L2SentRenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 renew packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 22 }    
   
        hwDhcpv6L2SentRebind   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 rebind packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 23 }    
   
        hwDhcpv6L2SentReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 24 }   
   
        hwDhcpv6L2SentRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 release packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 25 }    
    
        hwDhcpv6L2SentDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 decline packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 26 }   
               
        hwDhcpv6L2SentReconfigure   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 reconfigure packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 27 }    
   
        hwDhcpv6L2SentInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 information-request packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 28 }    

        hwDhcpv6L2SentRelayForward   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 relay-forward packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 29 }   
   
        hwDhcpv6L2SentRelayReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 relay-reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 30 }    

        hwDhcpv6L2SentLeasequery   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 31 }  

        hwDhcpv6L2SentLeasequeryReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-reply packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 32 }  

        hwDhcpv6L2SentLeasequeryDone   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-done packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 33 }  

        hwDhcpv6L2SentLeasequeryData   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-data packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 34 }  
               
        hwDhcpv6L2ReceiveUnknownType   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 unknown packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 35 }        
   
        hwDhcpv6L2ReceiveInvalidUnicast  OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received unicast DHCPv6 Solicit, Information-request, Confirm and Rebind packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 36 }   
   
        hwDhcpv6L2ReceiveOverlength   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 packets that exceed the maximum packet length.
                "
            ::= { hwDhcpv6L2StatisticsEntry 37 }    
   
        hwDhcpv6L2ReceiveHopcountTooBig   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 packets that hop count not less than 32.
                "
            ::= { hwDhcpv6L2StatisticsEntry 38 }    
   
        hwDhcpv6L2ReceiveUntrustRelayed   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 untrust relayed packets.
                "
            ::= { hwDhcpv6L2StatisticsEntry 39 }    
   
        hwDhcpv6L2ReceiveDownstreamOnClientsidePort   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 downstream packets from user side port.
                "
            ::= { hwDhcpv6L2StatisticsEntry 40 }    

        hwDhcpv6L2ReceiveRelayReplyWithoutOption9   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets without option9.
                "
            ::= { hwDhcpv6L2StatisticsEntry 41 }   
      
        hwDhcpv6L2ReceiveRelayReplyWithoutOption18   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets without option18.
                "
            ::= { hwDhcpv6L2StatisticsEntry 42 } 
   
        hwDhcpv6L2ReceiveRelayReplyWithInvalidPeerAddress   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets whose peer-addresses are not equal to the destination addresses.
                "
            ::= { hwDhcpv6L2StatisticsEntry 43 }
   
        hwDhcpv6L2ReceiveRelayReplyLinkAddressNotZero   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets whose link-addresses are not the unspecified addresses.
                "
            ::= { hwDhcpv6L2StatisticsEntry 44 }
   
        hwDhcpv6L2StatisticsClear   OBJECT-TYPE
            SYNTAX       INTEGER{ clear(1) }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Resets the DHCPv6 packet statistics.
                 Options: 
                 1. clear(1) -resets the DHCPv6 packet statistics
                "
            ::= { hwDhcpv6L2StatisticsEntry 45 }  

        hwDhcpv6L2ReceiveRelayReplyWithUnknownRelayPolicy   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets with unknown relay policy.
                "
            ::= { hwDhcpv6L2StatisticsEntry 46 }

        --   DHCPv6 layer-3 statistics     
        hwDhcpv6L3StatisticsTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6L3StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCPv6 L3 relay packets.
                 The index of this table is ifIndex, and the value of the index must be 0.
                "
            ::= { hwDhcpv6RelayMibObject 2 }
            
        hwDhcpv6L3StatisticsEntry    OBJECT-TYPE
            SYNTAX          HwDhcpv6L3StatisticsEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and resets the statistics of transmitted and received DHCPv6 L3 relay packets.
                 The index of this entry is ifIndex, and the value of the index must be 0.
                "
            INDEX  {
                     ifIndex
                    }
            ::= { hwDhcpv6L3StatisticsTable  1 }
   
        HwDhcpv6L3StatisticsEntry    ::= SEQUENCE  { 
            hwDhcpv6L3ReceiveSolicit                                Counter32,
            hwDhcpv6L3ReceiveAdvertise                              Counter32,
            hwDhcpv6L3ReceiveRequest                                Counter32,
            hwDhcpv6L3ReceiveConfirm                                Counter32,
            hwDhcpv6L3ReceiveRenew                                  Counter32,
            hwDhcpv6L3ReceiveRebind                                 Counter32,
            hwDhcpv6L3ReceiveReply                                  Counter32,
            hwDhcpv6L3ReceiveRelease                                Counter32,
            hwDhcpv6L3ReceiveDecline                                Counter32,
            hwDhcpv6L3ReceiveReconfigure                            Counter32,
            hwDhcpv6L3ReceiveInform                                 Counter32,
            hwDhcpv6L3ReceiveRelayForward                           Counter32,
            hwDhcpv6L3ReceiveRelayReply                             Counter32,
            hwDhcpv6L3ReceiveLeasequery                             Counter32,
            hwDhcpv6L3ReceiveLeasequeryReply                        Counter32,
            hwDhcpv6L3ReceiveLeasequeryDone                         Counter32,
            hwDhcpv6L3ReceiveLeasequeryData                         Counter32,
            hwDhcpv6L3SentSolicit                                   Counter32,
            hwDhcpv6L3SentAdvertise                                 Counter32,
            hwDhcpv6L3SentRequest                                   Counter32,
            hwDhcpv6L3SentConfirm                                   Counter32,
            hwDhcpv6L3SentRenew                                     Counter32,
            hwDhcpv6L3SentRebind                                    Counter32,
            hwDhcpv6L3SentReply                                     Counter32,
            hwDhcpv6L3SentRelease                                   Counter32,
            hwDhcpv6L3SentDecline                                   Counter32,
            hwDhcpv6L3SentReconfigure                               Counter32,
            hwDhcpv6L3SentInform                                    Counter32,
            hwDhcpv6L3SentRelayForward                              Counter32,
            hwDhcpv6L3SentRelayReply                                Counter32,
            hwDhcpv6L3SentLeasequery                                Counter32,
            hwDhcpv6L3SentLeasequeryReply                           Counter32,
            hwDhcpv6L3SentLeasequeryDone                            Counter32,
            hwDhcpv6L3SentLeasequeryData                            Counter32,
            hwDhcpv6L3ReceiveUnknownType                            Counter32,
            hwDhcpv6L3ReceiveInvalidUnicast                         Counter32,
            hwDhcpv6L3ReceiveInvalidSourceAddress                   Counter32,
            hwDhcpv6L3ReceiveOverlength                             Counter32,
            hwDhcpv6L3ReceiveHopcountTooBig                         Counter32,
            hwDhcpv6L3ReceiveUntrustRelayed                         Counter32,
            hwDhcpv6L3ReceiveDownstreamOnClientsidePort             Counter32,
            hwDhcpv6L3ReceiveRelayReplyWithoutOption9               Counter32,
            hwDhcpv6L3StatisticsClear                               INTEGER
            }
          
        hwDhcpv6L3ReceiveSolicit   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 solicit packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 1 }
        
        hwDhcpv6L3ReceiveAdvertise   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 advertise packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 2 }    
   
        hwDhcpv6L3ReceiveRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 request packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 3 }    
   
        hwDhcpv6L3ReceiveConfirm   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 confirm packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 4 }    
   
        hwDhcpv6L3ReceiveRenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 renew packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 5 }    
   
        hwDhcpv6L3ReceiveRebind   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 rebind packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 6 }   
             
        hwDhcpv6L3ReceiveReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 7 }    
         
        hwDhcpv6L3ReceiveRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 release packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 8 }    
            
        hwDhcpv6L3ReceiveDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 decline packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 9 }     

        hwDhcpv6L3ReceiveReconfigure   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 reconfigure packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 10 }    
   
        hwDhcpv6L3ReceiveInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 information-request packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 11 }    
   
        hwDhcpv6L3ReceiveRelayForward   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-forward packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 12 }    
   
        hwDhcpv6L3ReceiveRelayReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 13 }    

        hwDhcpv6L3ReceiveLeasequery   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 14 }  
            
        hwDhcpv6L3ReceiveLeasequeryReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 15 }  
            
        hwDhcpv6L3ReceiveLeasequeryDone   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-done packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 16 }  
            
        hwDhcpv6L3ReceiveLeasequeryData   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 leasequery-data packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 17 }  
                                                   
        hwDhcpv6L3SentSolicit   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 solicit packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 18 }
        
        hwDhcpv6L3SentAdvertise   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 advertise packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 19 }    
   
        hwDhcpv6L3SentRequest   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 request packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 20 }    
   
        hwDhcpv6L3SentConfirm   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 confirm packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 21 }    
   
        hwDhcpv6L3SentRenew   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 renew packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 22 }    
   
        hwDhcpv6L3SentRebind   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 rebind packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 23 }    
   
        hwDhcpv6L3SentReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 24 }   
   
        hwDhcpv6L3SentRelease   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 release packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 25 }    
    
        hwDhcpv6L3SentDecline   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 decline packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 26 }   
               
        hwDhcpv6L3SentReconfigure   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 reconfigure packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 27 }    
   
        hwDhcpv6L3SentInform   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 information-request packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 28 }    

        hwDhcpv6L3SentRelayForward   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 relay-forward packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 29 }   
   
        hwDhcpv6L3SentRelayReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 relay-reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 30 }    

        hwDhcpv6L3SentLeasequery   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 31 }  

        hwDhcpv6L3SentLeasequeryReply   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-reply packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 32 }  

        hwDhcpv6L3SentLeasequeryDone   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-done packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 33 }  

        hwDhcpv6L3SentLeasequeryData   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of sent DHCPv6 leasequery-data packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 34 }  
               
        hwDhcpv6L3ReceiveUnknownType   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 unknown packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 35 }        
   
        hwDhcpv6L3ReceiveInvalidUnicast  OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received unicast DHCPv6 Solicit, Information-request, Confirm and Rebind packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 36 }        
   
         hwDhcpv6L3ReceiveInvalidSourceAddress  OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 packets whose source address is LLA and is not filled with zero in its bits 16 to 31.
                "
            ::= { hwDhcpv6L3StatisticsEntry 37 }      
   
        hwDhcpv6L3ReceiveOverlength   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 packets that exceed the maximum packet length.
                "
            ::= { hwDhcpv6L3StatisticsEntry 38 }    
   
        hwDhcpv6L3ReceiveHopcountTooBig   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 packets that hop count not less than 32.
                "
            ::= { hwDhcpv6L3StatisticsEntry 39 }    
   
        hwDhcpv6L3ReceiveUntrustRelayed   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 untrust relayed packets.
                "
            ::= { hwDhcpv6L3StatisticsEntry 40 }    
   
        hwDhcpv6L3ReceiveDownstreamOnClientsidePort   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 downstream packets from user side port.
                "
            ::= { hwDhcpv6L3StatisticsEntry 41 }    

        hwDhcpv6L3ReceiveRelayReplyWithoutOption9   OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
                "Indicates the total number of received DHCPv6 relay-reply packets without option9.
                "
            ::= { hwDhcpv6L3StatisticsEntry 42 }   

        hwDhcpv6L3StatisticsClear   OBJECT-TYPE
            SYNTAX       INTEGER{ clear(1) }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Resets the DHCPv6 packet statistics.
                 Options: 
                 1. clear(1) -resets the DHCPv6 packet statistics
                "
            ::= { hwDhcpv6L3StatisticsEntry 43 }
            
        --   DHCPv6 relay config     
        hwDhcpv6RelayConfigTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6RelayConfigEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and sets the global config of DHCPv6 relay, including dhcpv6 relay mode, dhcpv6 option and dhcpv6 max-length.
                 The index of this table is ifIndex, and the value of the index must be 0.
                "
            ::= { hwDhcpv6RelayMibObject 3 }
            
        hwDhcpv6RelayConfigEntry    OBJECT-TYPE
            SYNTAX          HwDhcpv6RelayConfigEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and sets the global config of DHCPv6 relay, including dhcpv6 relay mode, dhcpv6 option and dhcpv6 max-length.
                 The index of this entry is ifIndex, and the value of the index must be 0.
                "
            INDEX  {
                     ifIndex
                   }
            ::= { hwDhcpv6RelayConfigTable  1 }
   
        HwDhcpv6RelayConfigEntry    ::= SEQUENCE  { 
            hwDhcpv6RelayMode                            INTEGER,
            hwDhcpv6OptionStatus                         INTEGER,
            hwDhcpv6MaxLenAppendOption                   Integer32,
            hwDhcpv6RelayInterfaceSrcipv6                INTEGER,
            hwDhcpv6RelayInterfaceSrcipv6LoopbackIfIndex Integer32,
            hwDhcpv6OptionUplinkCasadePortStatus         INTEGER,
            hwDhcpv6ServerSelectMode                     INTEGER,
            hwDhcpv6OptionAntiIllegalOptionStatus        INTEGER,
            hwDhcpv6OptionCheckAddress                   INTEGER 
            }            
            
        hwDhcpv6RelayMode   OBJECT-TYPE
            SYNTAX INTEGER{
                layer2(1),
                layer3(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 forwarding mode of the system.
                Options:
                 1. layer2(1) -indicates dhcpv6 L2 mode
                 2. layer3(2) -indicates dhcpv6 L3 mode
                 Default: layer2(1)
                "
            ::= { hwDhcpv6RelayConfigEntry 1 }
            
        hwDhcpv6OptionStatus   OBJECT-TYPE
            SYNTAX INTEGER{
                enable(1),
                disable(2),
                rebuild(3)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 option switch status.
                 Options:
                 1. enable(1)  -indicates that DHCPv6 option function is enabled
                 2. disable(2) -indicates that DHCPv6 option function is disabled
                 3. rebuild(3) -indicates that DHCPv6 option function is rebuilt
                 Default: disable(2)                
                "
            ::= { hwDhcpv6RelayConfigEntry 2 }            
            
        hwDhcpv6MaxLenAppendOption   OBJECT-TYPE
            SYNTAX       Integer32(500..1500)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the allowable maximum length of a DHCPv6 packet.
                 Range: 500-1500
                 Unit: byte
                 Default: 1500 bytes 
                "
            ::= { hwDhcpv6RelayConfigEntry 3 }    
        
        hwDhcpv6RelayInterfaceSrcipv6   OBJECT-TYPE
            SYNTAX INTEGER
            {  
            	receive(1),
            	send(2),
            	loopback(3)
            }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "The mode for the Layer 3 DHCPv6 relay to fill in the source IPv6 address of the packet.When hwDhcpv6RelayInterfaceSrcipv6 is in 
                 loopback mode, hwDhcpv6RelayInterfaceSrcipv6LoopbackIfIndex must be issued together. 
                 Data type: integer
                 Options:
                 1. receive(1)  -Means to fill in the IPv6 address of the receive interface as the source IPv6 address of the Relay-Forward packet
                 2. send(2)     -Means to fill in the IPv6 address of the send interface as the source IPv6 address of the Relay-Forward packet  
                 3. loopback(3) -Means to fill in the IPv6 address of the loopback interface as the source IPv6 address of the Relay-Forward packet 
                 Default: send(2)                
                "
            ::= { hwDhcpv6RelayConfigEntry 4 } 
        
        hwDhcpv6RelayInterfaceSrcipv6LoopbackIfIndex  OBJECT-TYPE
            SYNTAX       Integer32(-1|0..31)
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  
                "It is the loopback interface ID when the mode for the Layer 3 DHCPv6 relay to fill in the source IPv6 address of the packet is loopback, 
                 and is the invalid value -1 when the mode is not loopback.
                 Range: -1-31  
                 Default: -1 
                "
            ::= { hwDhcpv6RelayConfigEntry 5 } 
        
        hwDhcpv6OptionUplinkCasadePortStatus   OBJECT-TYPE
            SYNTAX INTEGER{
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 option switch status of uplink and cascade port.
                 Options:
                 1. enable(1)  -indicates that DHCPv6 option function of uplink and cascade port is enabled
                 2. disable(2) -indicates that DHCPv6 option function of uplink and cascade port is disabled
                 Default: enable(1)                
                "
            ::= { hwDhcpv6RelayConfigEntry 6 } 

	hwDhcpv6ServerSelectMode   OBJECT-TYPE
            SYNTAX INTEGER{
                standard(1),
                option16(2),
                invalid(-1)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 server relay mode.
                 Options:
                 1. standard(1)  -indicates that DHCPv6 server relay mode is standard
                 2. option16(2)  -indicates that DHCPv6 server relay mode is option16
                 3. invalid(-1)  -indicates the mode is not configured in the DHCPv6 L2 relay mode
                 Default: standard(1)                
                "
            ::= { hwDhcpv6RelayConfigEntry 7 } 

        hwDhcpv6OptionAntiIllegalOptionStatus   OBJECT-TYPE
            SYNTAX INTEGER{
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 option switch status of anti-illegal-option.
                 Options:
                 1. enable(1)  -indicates that DHCPv6 option function of anti-illegal-option is enabled
                 2. disable(2) -indicates that DHCPv6 option function of anti-illegal-option is disabled
                 Default: disable(2)                
                "
            ::= { hwDhcpv6RelayConfigEntry 8 } 
            
        hwDhcpv6OptionCheckAddress   OBJECT-TYPE
            SYNTAX INTEGER{
                all(1),
                none(2),
                unRelayed(3)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 L2 relay function rules to check the IPv6 address of DHCPv6 packets.
                 Options:
                 1. all(1)  -indicates that the IPv6 address of all DHCPv6 packets will be checked
                 2. none(2) -indicates that the Ipv6 address of all DHCPv6 packets will not be checked
                 3. unRelayed(3) -indicates that only the IPv6 address of un-relayed DHCPv6 packets will be checked
                 Default: all(1)                
                "
            ::= { hwDhcpv6RelayConfigEntry 9 } 
            
        --   DHCPv6 option permit-forwarding table     
        hwDhcpv6OptionForwardTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6OptionForwardEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and sets DHCPv6 option permit-forwarding switch.
                The indexes of this table are ifIndex and hwDhcpv6XponOntIndex.
                "
            ::= { hwDhcpv6RelayMibObject 4 }
            
        hwDhcpv6OptionForwardEntry    OBJECT-TYPE
            SYNTAX          HwDhcpv6OptionForwardEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Queries and sets DHCPv6 option permit-forwarding switch.
                The indexes of this entry are ifIndex and hwDhcpv6XponOntIndex.
                "
            INDEX  {
                     ifIndex,
                     hwDhcpv6XponOntIndex
                   }
            ::= { hwDhcpv6OptionForwardTable  1 }
   
        HwDhcpv6OptionForwardEntry    ::= SEQUENCE  { 
            hwDhcpv6XponOntIndex                   Integer32,
            hwDhcpv6OptionForward                  INTEGER
            }            
            
        hwDhcpv6XponOntIndex   OBJECT-TYPE
            SYNTAX Integer32(0..255|2147483647)
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION
                "ONT index
                The ONT index should be set to 2147483647 when the ifIndex indicates that the port type is not xPON."
            ::= { hwDhcpv6OptionForwardEntry 1 }   
                        
        hwDhcpv6OptionForward   OBJECT-TYPE
            SYNTAX INTEGER{
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Queries and sets DHCPv6 option permit-forwarding switch status.
                Options:
                 1. enable(1)  -indicates that DHCPv6 option permit-forwarding function is enabled
                 2. disable(2) -indicates that DHCPv6 option permit-forwarding function is disabled
                 Default: enable(1)                
                "
            ::= { hwDhcpv6OptionForwardEntry 2 }       
            
        --   DHCPv6 server group table     
        hwDhcpv6GroupTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6GroupEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCPv6 server group, including IPv6 addresses of each DHCPv6 server and interfaces
                that connects to each DHCPv6 server in each group. It supports the create, modify, delete, and 
                query operations.
                 The index of this table is hwDhcpv6GroupID.
                "
            ::= { hwDhcpv6RelayMibObject 5 }
            
        hwDhcpv6GroupEntry    OBJECT-TYPE
            SYNTAX          HwDhcpv6GroupEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCPv6 server group, including IPv6 addresses of each DHCPv6 server and interfaces
                that connects to each DHCPv6 server in each group. It supports the create, modify, delete, and 
                query operations.
                 The index of this entry is hwDhcpv6GroupID.
                "
            INDEX  {
                     hwDhcpv6GroupID
                   }
            ::= { hwDhcpv6GroupTable  1 }
   
        HwDhcpv6GroupEntry    ::= SEQUENCE  { 
            hwDhcpv6GroupID                        Integer32,
            hwIpDhcpv6ServerAddrType1              InetAddressType,
            hwIpDhcpv6ServerAddr1                  InetAddress,
            hwIfindexDhcpv6ServerInterface1        Integer32,
            hwIpDhcpv6ServerAddrType2              InetAddressType,
            hwIpDhcpv6ServerAddr2                  InetAddress,
            hwIfindexDhcpv6ServerInterface2        Integer32,
            hwIpDhcpv6ServerAddrType3              InetAddressType,
            hwIpDhcpv6ServerAddr3                  InetAddress,
            hwIfindexDhcpv6ServerInterface3        Integer32,
            hwIpDhcpv6ServerAddrType4              InetAddressType,
            hwIpDhcpv6ServerAddr4                  InetAddress,
            hwIfindexDhcpv6ServerInterface4        Integer32,
            hwDhcpv6RowStatus                      RowStatus
            }            
            
        hwDhcpv6GroupID      OBJECT-TYPE
            SYNTAX Integer32 (0..19)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the index of the DHCPv6 server group. 
                 Range: 0-19
                "
            ::= { hwDhcpv6GroupEntry 1 }  
        
        hwIpDhcpv6ServerAddrType1 OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address type of the first server in the DHCPv6 server group. 
                 Options:
	  	 1. unknown(0)  -indicates that DHCPv6 server address is not configurated. It is
	  	 only used in the query operation.
	 	 2. ipv6(2)     -indicates that DHCPv6 server address type is ipv6.
                "
            ::= { hwDhcpv6GroupEntry 2 } 
                   
        hwIpDhcpv6ServerAddr1 OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address of the first server in the DHCPv6 server group. 
                 It must be a valid unicast IPv6 address and the interface must be configured when
                 the IPv6 address is LLA.
                "
            ::= { hwDhcpv6GroupEntry 3 }
     
        hwIfindexDhcpv6ServerInterface1 OBJECT-TYPE
            SYNTAX Integer32 (-1|1..4093)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the interface that connects to the first server in the DHCPv6 server group. 
                 The value of this leaf is VLAN ID. It must be configured when the IPv6 address is LLA
                 and cannot be configured when the IPv6 address is GUA. 
                 If the interface that connects to the first server is not configured, the value of 
                 this leaf is -1.
                 Range: -1, 1-4093
                "
            ::= { hwDhcpv6GroupEntry 4 }  
        
        hwIpDhcpv6ServerAddrType2 OBJECT-TYPE
            SYNTAX InetAddressType 
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address type of the second server in the DHCPv6 server group. 
                Options:
	  	 1. unknown(0)  -indicates that DHCPv6 server address is not configurated. It is
	  	 only used in the query operation.
	 	 2. ipv6(2)     -indicates that DHCPv6 server address type is ipv6.
                "
            ::= { hwDhcpv6GroupEntry 5 } 
                   
        hwIpDhcpv6ServerAddr2 OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address of the second server in the DHCPv6 server group. 
                 It must be a valid unicast IPv6 address and the interface must be configured when
                the IPv6 address is LLA.
                "
            ::= { hwDhcpv6GroupEntry 6 }
     
        hwIfindexDhcpv6ServerInterface2 OBJECT-TYPE
            SYNTAX Integer32 (-1|1..4093)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the interface that connects to the second server in the DHCPv6 server group. 
                 The value of this leaf is VLAN ID. It must be configured when the IPv6 address is LLA
                 and cannot be configured when the IPv6 address is GUA. 
                 If the interface that connects to the second server is not configured, the value of 
                 this leaf is -1.
                 Range: -1, 1-4093
                "
            ::= { hwDhcpv6GroupEntry 7 }  
        
        hwIpDhcpv6ServerAddrType3 OBJECT-TYPE
            SYNTAX InetAddressType 
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address type of the third server in the DHCPv6 server group. 
                Options:
	  	 1. unknown(0)  -indicates that DHCPv6 server address is not configurated. It is
	  	 only used in the query operation.
	 	 2. ipv6(2)     -indicates that DHCPv6 server address type is ipv6.
                "
            ::= { hwDhcpv6GroupEntry 8 } 
                   
        hwIpDhcpv6ServerAddr3 OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address of the third server in the DHCPv6 server group. 
                 It must be a valid unicast IPv6 address and the interface must be configured when
                the IPv6 address is LLA.
                "
            ::= { hwDhcpv6GroupEntry 9 }
     
        hwIfindexDhcpv6ServerInterface3 OBJECT-TYPE
            SYNTAX Integer32 (-1|1..4093)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the interface that connects to the third server in the DHCPv6 server group. 
                 The value of this leaf is VLAN ID. It must be configured when the IPv6 address is LLA
                 and cannot be configured when the IPv6 address is GUA. 
                 If the interface that connects to the third server is not configured, the value of 
                 this leaf is -1.
                 Range: -1, 1-4093
                "
            ::= { hwDhcpv6GroupEntry 10 }  
        
        hwIpDhcpv6ServerAddrType4 OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address type of the fourth server in the DHCPv6 server group. 
                Options:
	  	 1. unknown(0)  -indicates that DHCPv6 server address is not configurated. It is
	  	 only used in the query operation.
	 	 2. ipv6(2)     -indicates that DHCPv6 server address type is ipv6.
                "
            ::= { hwDhcpv6GroupEntry 11 } 
                   
        hwIpDhcpv6ServerAddr4 OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IPv6 address of the fourth server in the DHCPv6 server group. 
                 It must be a valid unicast IPv6 address and the interface must be configured when
                the IPv6 address is LLA.
                "
            ::= { hwDhcpv6GroupEntry 12 }
     
        hwIfindexDhcpv6ServerInterface4 OBJECT-TYPE
            SYNTAX Integer32 (-1|1..4093)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the interface that connects to the fourth server in the DHCPv6 server group. 
                 The value of this leaf is VLAN ID. It must be configured when the IPv6 address is LLA
                 and cannot be configured when the IPv6 address is GUA. 
                 If the interface that connects to the fourth server is not configured, the value of 
                 this leaf is -1.
                 Range: -1, 1-4093
                "
            ::= { hwDhcpv6GroupEntry 13 }
            
        hwDhcpv6RowStatus      OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status, used for configuring the DHCPv6 server group.
                 Options:
                 1. active(1)      -when this leaf is queried, the value is fixed to active(1).
                 2. createAndGo(4) -create a DHCPv6 server group
                 3. destroy(6)     -delete a DHCPv6 server group
                 
                 To create a DHCPv6 server group, specify the index, hwIpDhcpv6ServerAddrType1 and
                 leaf hwIpDhcpv6ServerAddr1(other leaves are optional), set hwDhcpv6RowStatus to 
                 createAndGo, and perform the set operation.
                 
                 To modify a DHCPv6 server group, specify the index, hwIpDhcpv6ServerAddrType1 and
                 leaf hwIpDhcpv6ServerAddr1(other leaves are optional), and perform the set operation.
                 
                 To delete a DHCPv6 server group, specify index hwDhcpv6GroupID, set hwDhcpv6RowStatus
                 to destroy(6), and perform the set operation.
                 
                 In the query operation, the value of this leaf is always active(1).
                "
            ::= { hwDhcpv6GroupEntry 14 }  

        --   DHCPv6 To L3 IfIndex table     
        hwDhcpv6ToL3IfTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6ToL3IfEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCPv6 server group. 
                 It supports the create, query, and modify operations.
                 The index of this table is hwDhcpv6ToL3VlanIfIndex.
                "
            ::= { hwDhcpv6RelayMibObject 6 }   
            
        hwDhcpv6ToL3IfEntry OBJECT-TYPE
            SYNTAX HwDhcpv6ToL3IfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the binding between the VLAN interface and the DHCPv6 server group. 
                 It supports the create, query, and modify operations.
                 The index of this entry is hwDhcpv6ToL3VlanIfIndex.
                "
            INDEX { hwDhcpv6ToL3VlanIfIndex }
            ::= { hwDhcpv6ToL3IfTable 1 }  

        HwDhcpv6ToL3IfEntry ::=
            SEQUENCE { 
                hwDhcpv6ToL3VlanIfIndex
                    Integer32,
                hwDhcpv6ToL3GroupId
                    Integer32,
                hwDhcpv6ToL3RowStatus
                    RowStatus
             }

        hwDhcpv6ToL3VlanIfIndex OBJECT-TYPE
            SYNTAX Integer32 (1..4093)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the VLAN bound to the DHCPv6 server group. 
                 It uses hwVlanInterfaceID of hwVlanInterfaceTable.
                 Range: 1-4093
                "
            ::= { hwDhcpv6ToL3IfEntry 1 }

        hwDhcpv6ToL3GroupId OBJECT-TYPE
            SYNTAX Integer32 (0..19)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the corresponding DHCPv6 server group of the VLAN interface. 
                 Range: 0-19
                 In the configuration, if the value of hwDhcpv6ToL3GroupId is in the range of 0-19, 
                 ensure that the server group corresponding to this ID exists. 
                "
            ::= { hwDhcpv6ToL3IfEntry 2 }

        hwDhcpv6ToL3RowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the row status, used to configure the corresponding DHCPv6 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 DHCPv6 server group
                 3. destroy(6)     -delete a binding between the VLAN interface and the DHCPv6 server group
                 
                 Creates the binding between the VLAN interface and the DHCPv6 server group.
                 Specify the hwDhcpv6ToL3VlanIfIndex and hwDhcpv6ToL3GroupId, set hwDhcpv6ToL3RowStatus 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 DHCPv6 server group.
                 Specify the hwDhcpv6ToL3VlanIfIndex and hwDhcpv6ToL3GroupId, and perform the set operation. 
                   
                 Deletes the binding between the VLAN interface and the DHCPv6 server group,
                 Specify the hwDhcpv6ToL3VlanIfIndex, set hwDhcpv6ToL3RowStatus to destroy(6), and perform the set operation.
                "
            ::= { hwDhcpv6ToL3IfEntry 3 }
            
        hwDhcpv6OptionTransparentUserVlanType OBJECT-TYPE
            SYNTAX   BITS
            {
                untag(0),
                singleTag(1),
                multiTag(2)
            }
            MAX-ACCESS read-write
            STATUS       current
            DESCRIPTION
            "
            Indicates the user VLAN based on which DHCPv6 option 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 hwDhcpv6OptionTransparentSingleUserVlanList to a null character string. 
            When singleTag is 1, set hwDhcpv6OptionTransparentSingleUserVlanList to a valid character string.
            "
            ::= { hwDhcpv6RelayMibObject 7 }
            
        hwDhcpv6OptionTransparentSingleUserVlanList 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 DHCPv6 option 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 hwDhcpv6OptionTransparentUserVlanType, hwDhcpv6OptionTransparentSingleUserVlanList: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 hwDhcpv6OptionTransparentUserVlanType, hwDhcpv6OptionTransparentSingleUserVlanList is a null character string.
            "
            ::= { hwDhcpv6RelayMibObject 8 }
            
        --   DHCPv6 To Duid table     
        hwDhcpv6DuidTable    OBJECT-TYPE
            SYNTAX          SEQUENCE OF HwDhcpv6DuidEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Describes the DHCPv6 DUID. 
                 It supports the create, query, modify and delete operations.
                 The index of this table is hwDhcpv6DuidMode.
                "
            ::= { hwDhcpv6RelayMibObject 9 }   
            
        hwDhcpv6DuidEntry OBJECT-TYPE
            SYNTAX HwDhcpv6DuidEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the DHCPv6 DUID. 
                 It supports the create, query, modify and delete operations.
                 The index of this entry is hwDhcpv6DuidMode.
                "
            INDEX { hwDhcpv6DuidMode }
            ::= { hwDhcpv6DuidTable 1 }  

        HwDhcpv6DuidEntry ::=
            SEQUENCE { 
                hwDhcpv6DuidMode
                    INTEGER,
                hwDhcpv6DuidValue
                    OCTET STRING
             }

        hwDhcpv6DuidMode   OBJECT-TYPE
            SYNTAX INTEGER{
                manual(1),
                llt(2)
                }
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION
                "Indicates the setting mode of DHCPv6 DUID.
                 Options:
                 1. manual(1) -indicates that DHCPv6 DUID setting mode is manual.
                 2. llt(2)    -indicates that DHCPv6 DUID setting mode is llt.
                 Default: manual(1)                
                "
            ::= { hwDhcpv6DuidEntry 1 } 

        hwDhcpv6DuidValue OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (0..14))
            MAX-ACCESS read-write
            STATUS       current
            DESCRIPTION
                "
                 Indicates the value of DHCPv6 DUID. The value range is 0 or 4-14. 0 indicates that the DHCPv6 DUID is deleted.
                "
            ::= { hwDhcpv6DuidEntry 2 } 

        hwDhcpv6Reverse   OBJECT-TYPE
            SYNTAX       INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Indicates the status of the global reverse DHCPv6 packets switch.
                 Options: 
                 1. enable(1)  -indicates the reverse DHCPv6 packets are forwarded.                  
                 2. disable(2) -indicates the reverse DHCPv6 packets are dropped.
                 Default: disable(2)
                "     
            ::= { hwDhcpv6RelayMibObject 10} 

END
