-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsdh6c.mib,v 1.8 2012/09/07 09:52:05 siva Exp $

SUPERMICRO-DHCPv6-CLIENT-MIB DEFINITIONS ::= BEGIN
-- ******************************************************************
-- RFC-3736 Stateless DHCPv6 Client MIB
-- ******************************************************************
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Counter32,enterprises,
    Unsigned32,NOTIFICATION-TYPE         FROM SNMPv2-SMI
    RowStatus, TEXTUAL-CONVENTION,
    TruthValue,DisplayString             FROM SNMPv2-TC
    ;
fsdhcpv6clnt MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com" 
    DESCRIPTION 
       "This MIB is a proprietary MIB for Stateless-DHCPv6 client
        and conforms to RFC 3736(04/2004)."
    REVISION "201209050000Z" 
    DESCRIPTION 
       "This MIB is a proprietary MIB for Stateless-DHCPv6 client
        and conforms to RFC 3736(04/2004)."
    ::=  { enterprises supermicro-computer-inc(10876) super-switch(101) basic(2) 43 }
fsDhcp6ClntNotify           OBJECT IDENTIFIER ::= { fsdhcpv6clnt 0 }
fsDhcp6ClntSystem           OBJECT IDENTIFIER ::= { fsdhcpv6clnt 1 }
fsDhcp6ClntConfig           OBJECT IDENTIFIER ::= { fsdhcpv6clnt 2 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************
FsDhcp6ClntDuidValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Each DHCP client has a unique DUID. DHCP servers use DUIDs to identify 
        clients for the selection of configuration parameters and in the 
        association of IAs with clients.  DHCP clients use DUIDs to Identify 
        a client in messages where a client needs to be identified.
        Clients MUST treat DUIDs as opaque values and MUST only compare DUIDs 
        for equality Clients and servers MUST NOT in any Other way interpret 
        DUIDs. The DUID is carried in an option because it may be variable length 
        and because it is not required in all DHCP messages.  The DUID is 
        designed to be unique across all DHCP clients and servers, and stable
        for any specific client or server - that is, the DUID used by a client 
        or server SHOULD NOT change over time if at all possible; for example, 
        a device's DUID should not change as a result of a change in
        the device's network hardware.
        The motivation for having more than one type of DUID is that the DUID 
        must be globally unique, and must also be easy to generate. The sort of 
        globally-unique identifier that is easy to generate for any given device 
        can differ quite widely. Also, some devices may not contain any 
        persistent storage. Retaining a generated DUID in such a device is not 
        possible, so the DUID scheme must accommodate such devices. A DUID can be
        no more than 128 octets"
    REFERENCE
        "Section 9. DHCP Unique Identifier (DUID) RFC 3315"
    SYNTAX  OCTET STRING (SIZE(1..128)) 

FsDhcp6ClntDuidType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A DUID consists of a two-octet type code represented in network byte
        order, followed by a variable number of octets that make up the
        actual identifier. The following types are currently defined:

        1   Link-layer address plus time
        2   Vendor-assigned unique ID based on Enterprise Number
        3   Link-layer address

        DUID Based on Link-layer Address plus Time [DUID-LLT]

        This type of DUID consists of a two octet type field containing the
        value 1, a two octet hardware type code, four octets containing a
        time value, followed by link-layer address of any one network
        interface that is connected to the DHCP device at the time
        that the DUID is generated.  The time value is the time that the
        DUID is generated represented in seconds since midnight
        (UTC), January 1, 2000, modulo 2^32.

        The following diagram illustrates the format of a DUID-LLT:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |               1               |    hardware type (16 bits)    |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                        time (32 bits)                         |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        .                                                               .
        .             link-layer address (variable length)              .
        .                                                               .
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


        The choice of network interface can be completely arbitrary, as long
        as that interface provides a globally unique link-layer address for
        the link type, and the same DUID-LLT SHOULD be used in configuring
        all network interfaces connected to the device, regardless of which
        interface's link-layer address was used to generate the DUID-LLT.

        Clients and servers using this type of DUID MUST store the
        DUID-LLT in stable storage, and MUST continue to use this DUID-LLT even
        if the network interface used to generate the DUID-LLT is removed.
        Clients and servers that do not have any stable storage MUST NOT
        use this type of DUID.

        Clients and servers that use this DUID SHOULD attempt to configure
        the time prior to generating the DUID, if that is possible, and MUST
        use some sort of time source (for example, a real-time clock) in
        generating the DUID, even if that time source could not be configured
        prior to generating the DUID.  The use of a time source makes it
        unlikely that two identical DUID-LLTs will be generated if the
        network interface is removed from the client and another client then
        uses the same network interface to generate a DUID-LLT.  A collision
        between two DUID-LLTs is very unlikely even if the clocks have not
        been configured prior to generating the DUID.

        This method of DUID generation is recommended for all general purpose
        computing devices such as desktop computers and laptop computers, and
        also for devices such as printers, routers, and so on, that contain
        some form of writable non-volatile storage.

        DUID Assigned by Vendor Based on Enterprise Number [DUID-EN]

        This form of DUID is assigned by the vendor to the device.  It
        consists of the vendor's registered Private Enterprise Number as
        maintained by IANA [6] followed by a unique identifier assigned by
        the vendor. 

        The following diagram summarizes the structure of a DUID-EN:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |               2               |       enterprise-number       |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |   enterprise-number (contd)   |                               |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
        .                           identifier                          .
        .                       (variable length)                       .
        .                                                               .
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The source of the identifier is left up to the vendor defining it,
        but each identifier part of each DUID-EN MUST be unique to the
        device that is using it, and MUST be assigned to the device at the time
        it is manufactured and stored in some form of non-volatile
        storage. The generated DUID SHOULD be recorded in non-erasable storage. 

        DUID Based on Link-layer Address [DUID-LL]:-

        This type of DUID consists of two octets containing the DUID type 3,
        a two octet network hardware type code, followed by the link-layer
        address of any one network interface that is permanently connected to
        the client or server device.

        The following diagram illustrates the format of a DUID-LL:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |               3               |    hardware type (16 bits)    |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        .                                                               .
        .             link-layer address (variable length)              .
        .                                                               .
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The choice of network interface can be completely arbitrary, as long
        as that interface provides a unique link-layer address and is
        permanently attached to the device on which the DUID-LL is being
        generated.  The same DUID-LL SHOULD be used in configuring all
        network interfaces connected to the device, regardless of which
        interface's link-layer address was used to generate the DUID.

        DUID-LL is recommended for devices that have a permanently-connected
        network interface with a link-layer address, and do not have
        nonvolatile, writable stable storage.  DUID-LL MUST NOT be used by
        DHCP clients or servers that cannot tell whether or not a network
        interface is permanently attached to the device on which the DHCP
        client is running."
    REFERENCE
        "Section 9. DHCP Unique Identifier (DUID) RFC 3315"
    SYNTAX  INTEGER {
             dtLlt     (1),
             dtEn      (2),
             dtLl      (3)
            }

-- ******************************************************************
-- Start the Scalars defination
-- ******************************************************************
fsDhcp6ClntTrapAdminControl OBJECT-TYPE
    SYNTAX      BITS{
                   none(0),
                   trapInvalidPacketIn(1),
                   trapHmacAuthFail(2)
                  }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Object is used to enable or disable the transmission of 
        TRAP notification messages. A vector of Boolean notification types, 
        used to enable or disable the client notification types:
        none (0)
        trapInvalidPacketIn(1)   
        trapHmacAuthFail(2)  

        when client declares the received message as invalid then 
        the SNMP trap notification will come only when bit 1 of fsDhcp6ClntTrapAdminControl 
        is set.
        When client declares the received message is unauthenticated then  
        the SNMP trap notification will come only when bit 2 fsDhcp6ClntTrapAdminControl 
        is set.
        "
    DEFVAL { "\0" }
    ::= { fsDhcp6ClntSystem 1 }

fsDhcp6ClntDebugTrace OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object stores the trace option string input given by the user.
        Based on the input to this object, trace statements corresponding
        to the given options are displayed. To enable particular
        trace the user has to enter the corresponding string(given below)
        assigned for that. For enabling more than one traces
        the user has to enter the corresponding strings with
        SPACE (delimiter) between each string.
        For example,
        To enable the below traces:
         - Init and Shutdown traces
         - Management traces
         - Data path traces
         - Control plane traces
         - Packet Dump traces
        The input should be fed as follows:
        enable init-shut mgmt data ctrl pkt-dump
        To disable the below traces:
         - Init and Shutdown traces
         - Data path traces
         - Control plane traces
        The input should be, disable init-shut data ctrl
        The entered input string is parsed to get the trace
        options.
        enable          - Enables the corresponding option.
        disable         - Disables the corresponding option.
        init-shut       - Init and Shutdown traces
        mgmt            - Management traces
        ctrl            - Control Plane traces
        pkt-dump        - Packet Dump traces
        resource        - Traces related to all resources
                          except buffers
        all-fail        - All Failure traces
        buffer          - Buffer allocation/
                            release traces
        critical        - Sl-DHCPv6 Client Critical traces"
    DEFVAL  { "critical" }
    ::=  { fsDhcp6ClntSystem 2 }  

fsDhcp6ClntSysLogAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                         enabled (1),
                         disabled (2) 
                        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to enable or disable the transmission of
        syslog notification messages. 
        DHCPv6 Cleint will generate the syslog messages only when 
        fsDhcp6ClntSysLogAdminStatus is set as enabled (1).

        disabled (2) means that DHCP cleint will not generate any 
        syslog messages."
    DEFVAL { disabled }
    ::= { fsDhcp6ClntSystem 3 }

fsDhcp6ClntListenPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This object contains the UDP listen port number. 
       Client puts the listen port number in UDP header of 
       Information Request message. Default value of listen port 
       number is 546. Client process the received reply message 
       only when the destination port number in UDP header is 
       equal to configured fsDhcp6ClntListenPort value."
    DEFVAL { 546 }
    ::= { fsDhcp6ClntSystem 4 }

fsDhcp6ClntTransmitPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object contains the UDP Destination Port Number. 
       Client Put the Destination Port Number in UDP Header of 
       Information Request message.Default value of Destination Port 
       Number is 547."
    DEFVAL { 547 }
    ::= { fsDhcp6ClntSystem 5 }

-- ******************************************************************
-- End the Scalars defination
-- ******************************************************************
-- ******************************************************************
-- Start of Interface Table {fsDhcp6ClntIfTable)
-- ******************************************************************
fsDhcp6ClntIfTable OBJECT-TYPE  
    SYNTAX SEQUENCE OF FsDhcp6ClntIfEntry  
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "This table contains the statistics of SL-DHCPv6 Client on each 
        interface. It will give the number of messages sent and received at
        any time and the configuration received from the SL-DHCPv6 Server"
    ::=  { fsDhcp6ClntConfig 1 }  
  
fsDhcp6ClntIfEntry OBJECT-TYPE  
    SYNTAX FsDhcp6ClntIfEntry  
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "Entries of the fsDhcp6ClntCounterTable"
    INDEX {fsDhcp6ClntIfIndex}
    ::=  { fsDhcp6ClntIfTable 1 }  

FsDhcp6ClntIfEntry ::= SEQUENCE {
    fsDhcp6ClntIfIndex            Integer32,
    fsDhcp6ClntIfSrvAddress       OCTET STRING,
    fsDhcp6ClntIfDuidType         FsDhcp6ClntDuidType,
    fsDhcp6ClntIfDuid             FsDhcp6ClntDuidValue,
    fsDhcp6ClntIfDuidIfIndex      Integer32,
    fsDhcp6ClntIfMaxRetCount      Integer32,
    fsDhcp6ClntIfMaxRetDelay      Integer32,
    fsDhcp6ClntIfMaxRetTime       Integer32,
    fsDhcp6ClntIfInitRetTime      Integer32,
    fsDhcp6ClntIfCurrRetTime      Integer32,
    fsDhcp6ClntIfMinRefreshTime   Unsigned32,
    fsDhcp6ClntIfCurrRefreshTime  Unsigned32,
    fsDhcp6ClntIfRealmName        OCTET STRING,
    fsDhcp6ClntIfKey              OCTET STRING,
    fsDhcp6ClntIfKeyId            Unsigned32,
    fsDhcp6ClntIfInformOut        Counter32,
    fsDhcp6ClntIfReplyIn          Counter32,
    fsDhcp6ClntIfInvalidPktIn     Counter32,
    fsDhcp6ClntIfHmacFailCount    Counter32,
    fsDhcp6ClntIfCounterRest      TruthValue,
    fsDhcp6ClntIfRowStatus        RowStatus
    }  

fsDhcp6ClntIfIndex OBJECT-TYPE  
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current  
    DESCRIPTION  
       "Index of one entry in fsDhcp6ClntCounterTable"  
    ::= { fsDhcp6ClntIfEntry 1 }  
 
fsDhcp6ClntIfSrvAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION
       "The object indicates the IP Address of the current DHCP server."
    ::= { fsDhcp6ClntIfEntry 2 }  
fsDhcp6ClntIfDuidType OBJECT-TYPE
    SYNTAX      FsDhcp6ClntDuidType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This Object contains the type of DUID. Client sends the Client Identifier 
        TLV in the Information request message. 
        The value dtLlt(1) indicates that DHCP client will use the Link layer address
        of the interface and Current System time value for the Client Identifier
        option TLV value.
        The value dtEn (2) indicates that DHCP client will use the Vendor-assigned
        unique ID based on Enterprise Number for the Client Identifier
        option TLV value.
        The value dtLl (3) indicates that DHCP client will use the link layer address 
        for the client Identifier option TLV value."
    DEFVAL { dtLlt }
    ::= { fsDhcp6ClntIfEntry 3 }

fsDhcp6ClntIfDuid OBJECT-TYPE
    SYNTAX      FsDhcp6ClntDuidValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This Object contains the value of DUID used as client ID. Depending upon
        the fsDhcp6ClntClientIdType this will return the current value of the
        DUID."
    ::= { fsDhcp6ClntIfEntry 4 }

fsDhcp6ClntIfDuidIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
       "Interface which will be used for formation of DUID Based on
        Link-layer Address plus Time and DUID based on Link-layer 
        Address, if not specified then an arbitrary interface value 
        will be used."
    DEFVAL { 1 }
    ::=  { fsDhcp6ClntIfEntry 5 }
 
fsDhcp6ClntIfMaxRetCount OBJECT-TYPE
    SYNTAX     Integer32 (0..10)  
    MAX-ACCESS read-create
    STATUS     current  
    DESCRIPTION  
       "This Objects contains the Maximum retransmission Count value. Client
        terminate the message exchange and consider it as fail when client 
        has transmitted the information-request message MRC time when MRC is non 
        ZERO. Client continue to transmit information-request message until 
        it receives a reply response from the server when MRC is zero."
    DEFVAL    { 0 }
    ::=  { fsDhcp6ClntIfEntry 6 }  

fsDhcp6ClntIfMaxRetDelay OBJECT-TYPE
    SYNTAX      Integer32 (0..100) 
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current  
    DESCRIPTION  
       "This Objects contains the Maximum retransmission Delay value. Client
        terminate the message exchange and consider it as fail once MRD seconds
        have elapsed since the client first transmitted the information-request
        message when MRD is non zero. Client continue to transmit
        information-request message until it receives a reply response from the
        server when MRD is zero. Default value is 0 sec."
    DEFVAL    { 0 }
    ::=  { fsDhcp6ClntIfEntry 7 }  

fsDhcp6ClntIfMaxRetTime OBJECT-TYPE
    SYNTAX      Integer32 (0..120)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current  
    DESCRIPTION  
       "This objects contains the maximum retransmission Time value.
        client calculates the RT on every retransmission of information request
        message as RT = IRT + RAND*IRT. when RT becomes greater than MRT then
        equation changes to RT = MRT + RAND*MRT.
        MRT - Maximum retransmission time
        IRT -Initial retransmission time
        RT - Retransmission timeout."
    DEFVAL    { 120 }
    ::=  { fsDhcp6ClntIfEntry 8 }  

fsDhcp6ClntIfInitRetTime OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current  
    DESCRIPTION  
       "This objects contains the initial retransmission Time value.
        client calculates the RT on every retransmission of information request
        message as RT = IRT + RAND*IRT. when RT becomes greater than MRT then
        equation changes to RT = MRT + RAND*MRT.
        MRT - Maximum retransmission time
        IRT -Initial retransmission time
        RT - Retransmission timeout."
    DEFVAL    { 1 }
    ::=  { fsDhcp6ClntIfEntry 9 }  

fsDhcp6ClntIfCurrRetTime OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current  
    DESCRIPTION  
       "This objects contains the current retransmission Time value.
        client calculates the RT on every retransmission of information request
        message as RT = IRT + RAND*IRT. when RT becomes greater than MRT then
        equation changes to RT = MRT + RAND*MRT.
        MRT - Maximum retransmission time
        IRT -Initial retransmission time
        RT - Retransmission timeout
        RAND is a random number between -0.1 to +0.1
        client compute every subsequent RT as follows:-
        RT = 2*RTprev + RAND*RTprev."
    ::=  { fsDhcp6ClntIfEntry 10 }  

fsDhcp6ClntIfMinRefreshTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..4294967295)  
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the minimum acceptable information refresh time.
       If the server sends an information refresh time option of less than the 
       configured minimum refresh time, the configured minimum refresh time 
       will be used instead.
       the information request message. The units of refresh timer is 10ms."
    DEFVAL    { 86400 }
    ::=  { fsDhcp6ClntIfEntry 11 }  
fsDhcp6ClntIfCurrRefreshTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..4294967295)  
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the current information refresh time.
       The value of current refresh timer will be the minimum value of 
       fsDhcp6ClntIfMinRefreshTime or received Refresh option request value in
       reply message . The units of refresh timer is sec."
    ::=  { fsDhcp6ClntIfEntry 12 }  

fsDhcp6ClntIfRealmName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..128))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object contains the unique name of the container for the
        HMAC-MD5 authentication key."
    ::=  { fsDhcp6ClntIfEntry 13 }

fsDhcp6ClntIfKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates the HMAC-MD5 key string which will be 
        used to authenticate the information-request message."
    ::=  { fsDhcp6ClntIfEntry 14 }

fsDhcp6ClntIfKeyId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indentifies the key-ID to be used with fsDhcp6ClntAuthKey
        object and is transmitted as part of authentication information in
        information-request message, the server using this key-ID searches in
        its local database for the related key to calculate the HMAC."
    DEFVAL    { 1 }
    ::=  { fsDhcp6ClntIfEntry 15 }

fsDhcp6ClntIfInformOut OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of Information-Request packets transmitted from the
        interface." 
    ::= { fsDhcp6ClntIfEntry 16 } 
                 
fsDhcp6ClntIfReplyIn OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of Reply packets received on the Interface." 
    ::= { fsDhcp6ClntIfEntry 17 } 
                 
fsDhcp6ClntIfInvalidPktIn OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of Invalid packet received on the interface"
    ::= { fsDhcp6ClntIfEntry 18 } 
             
fsDhcp6ClntIfHmacFailCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object identifies the number of unauthenticated messages received
        on the interface. This counter increment only when Authentication
        TLV is present in the received message and Digest calculated by the
        realm and key id does not match with received digest present in the
        Authentication TLV."
    ::= { fsDhcp6ClntIfEntry 19 }

fsDhcp6ClntIfCounterRest OBJECT-TYPE 
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to reset all the statistics counter
        objects present in this table. This will be done by setting the
        value of this column to 'true(1)'.This column always reads back to
        'false(2)'."
    ::= { fsDhcp6ClntIfEntry 20 } 

fsDhcp6ClntIfRowStatus OBJECT-TYPE 
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to create/delete a row in the interface table.
        when the interface is deleted from the system the corresponding
        row from this table will also be deleted."
    ::= { fsDhcp6ClntIfEntry 21 } 

-- ******************************************************************
-- End of Interface Table {fsDhcp6ClntIfTable)
-- ******************************************************************
-- ******************************************************************
-- Start of Client Option Table {fsDhcp6ClntOptionTable)
-- ******************************************************************
fsDhcp6ClntOptionTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF FsDhcp6ClntOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "This table maintains the information received in the reply message.
        Following are valid options :- 
        1 Vendor-specific Information with type fsDhcp6ClntOptionType 17
        2 SIP server domain name list with type fsDhcp6ClntOptionType 21
        3 SIP server IPV6 address list with type fsDhcp6ClntOptionType 22
        4 DNS recursive name server with type fsDhcp6ClntOptionType 23
        5 Domain search list with type fsDhcp6ClntOptionType 24."
    ::= { fsDhcp6ClntConfig 2 }

fsDhcp6ClntOptionEntry   OBJECT-TYPE 
    SYNTAX      FsDhcp6ClntOptionEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The Client Option Table entry. This entry is not lost upon reboot.
        It is backed up by stable storage. Each entry in this table
        contains the required attribute values."
    INDEX { fsDhcp6ClntIfIndex, fsDhcp6ClntOptionType }
    ::= { fsDhcp6ClntOptionTable 1 }

FsDhcp6ClntOptionEntry ::=  SEQUENCE {
    fsDhcp6ClntOptionType               Integer32,
    fsDhcp6ClntOptionLength             Integer32,
    fsDhcp6ClntOptionValue              OCTET STRING
    }

fsDhcp6ClntOptionType OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The object identifies the option, this is the tag octet of the DHCP 
        option."
    ::= { fsDhcp6ClntOptionEntry 1}

fsDhcp6ClntOptionLength OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object identifies the length of the option
        indicated by the option type. This length does not
        include the octets specifying the type and length."
    ::= { fsDhcp6ClntOptionEntry 2}

fsDhcp6ClntOptionValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..128)) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object identifies the octets of data, of length
        specified by fsDhcp6ClntOptionLength for that entry.
        "
    ::= { fsDhcp6ClntOptionEntry 3}

-- ******************************************************************
-- End of Client Option Table {fsDhcp6ClntOptionTable)
-- ******************************************************************
-- *****************************************************************************
--              fsDhcp6ClntNotify subtree
-- *****************************************************************************

fsDhcp6ClntInvalidPacketTrap NOTIFICATION-TYPE
    OBJECTS {
             fsDhcp6ClntIfInvalidPktIn
            }
    STATUS      current
    DESCRIPTION
        "This trap is generated when received reply Message is Invalid."
    ::= {fsDhcp6ClntNotify 1}

fsDhcp6ClntHmacAuthenticationFailTrap NOTIFICATION-TYPE
    OBJECTS {
             fsDhcp6ClntIfHmacFailCount
            }
    STATUS      current
    DESCRIPTION
       "This trap is generated when received reply Message contains 
        the authentication TLV and the Digest calculated at the client End
        with the realm and key id value does not match with received
        digest value."
    ::= {fsDhcp6ClntNotify 2}
END
