-- =========================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description: DHCP Snooping MIB 2
-- Reference:
-- Version:     V1.2
-- History:
-- V1.0 The initial version, created by lilin, 2012.05.15
-- V1.1 Modified the mib description by lilin, 2013.04.15
-- V1.2 Modified hpnicfDhcpSnoop2IfMaxLearnNum by yuguoqing, 2014.03.20
-- =========================================================================
HPN-ICF-DHCP-SNOOP2-MIB DEFINITIONS ::= BEGIN

-- =========================================================================
-- Imported variables and types
-- =========================================================================
IMPORTS
    TruthValue, RowStatus, MacAddress
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Counter64, Unsigned32
        FROM SNMPv2-SMI
    ifIndex, InterfaceIndexOrZero
        FROM IF-MIB
    InetAddressIPv4
        FROM INET-ADDRESS-MIB
    hpnicfCommon
        FROM HPN-ICF-OID-MIB;

-- =========================================================================
-- Module identity
-- =========================================================================
hpnicfDhcpSnoop2 MODULE-IDENTITY
    LAST-UPDATED "201304150000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION "DHCP SNOOPING MIB 2"
    REVISION
         "201304150000Z"
    DESCRIPTION
        "The private MIB file includes the DHCP Snooping profile."
    ::= { hpnicfCommon  124 }

-- ==========================================================================
-- Scalar objects definition
-- ==========================================================================
    hpnicfDhcpSnoop2ScalarObjects OBJECT IDENTIFIER ::= {  hpnicfDhcpSnoop2 1  }

-- ==================================================================
-- hpnicfDhcpSnoop2ScalarObjects: hpnicfDhcpSnoop2ConfigGroup
-- ==================================================================
hpnicfDhcpSnoop2ConfigGroup   OBJECT IDENTIFIER ::= { hpnicfDhcpSnoop2ScalarObjects 1 }

hpnicfDhcpSnoop2Enabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "If the value of this object is set to 'true',
         DHCP snooping is enabled."
    DEFVAL { false }
    ::= { hpnicfDhcpSnoop2ConfigGroup 1 }

hpnicfDhcpSnoop2BindDbName OBJECT-TYPE
    SYNTAX     OCTET STRING(SIZE(0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Name of the file that used to store binding information.

         If the value of the object is set to a zero-length string,
         the configuration will be removed."
    ::= { hpnicfDhcpSnoop2ConfigGroup 2 }

hpnicfDhcpSnoop2BindRefreshIntvl OBJECT-TYPE
    SYNTAX     Unsigned32(60..864000)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The refresh interval of the binding information in seconds."
    DEFVAL { 300 }
    ::= { hpnicfDhcpSnoop2ConfigGroup 3 }

hpnicfDhcpSnoop2BindRefresh OBJECT-TYPE
    SYNTAX     INTEGER
    {
        on(1)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "If the value of this object is set to 'on', the binding
         information will be refreshed immediately."
    ::= { hpnicfDhcpSnoop2ConfigGroup 4 }

-- ==================================================================
-- hpnicfDhcpSnoop2ScalarObjects: hpnicfDhcpSnoop2StatisticsGroup
-- ==================================================================
hpnicfDhcpSnoop2StatisticsGroup   OBJECT IDENTIFIER ::= { hpnicfDhcpSnoop2ScalarObjects 2 }

hpnicfDhcpSnoop2PktSentNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets send by DHCP snooping."
    ::= { hpnicfDhcpSnoop2StatisticsGroup 1 }

hpnicfDhcpSnoop2PktRcvNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets received by
         DHCP snooping."
    ::= { hpnicfDhcpSnoop2StatisticsGroup 2 }

hpnicfDhcpSnoop2PktDropNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets dropped by
         DHCP snooping."
    ::= { hpnicfDhcpSnoop2StatisticsGroup 3 }

-- ==========================================================================
-- Table definition
-- ==========================================================================
    hpnicfDhcpSnoop2Tables OBJECT IDENTIFIER ::= {  hpnicfDhcpSnoop2 2  }

-- ==========================================================================
-- 1st Table of hpnicfDhcpSnoop2Tables: hpnicfDhcpSnoop2BindTable
-- ==========================================================================
hpnicfDhcpSnoop2BindTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF HpnicfDhcpSnoop2BindEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The table containing information of DHCP clients listened by
         DHCP snooping."
    ::= { hpnicfDhcpSnoop2Tables 1 }

hpnicfDhcpSnoop2BindEntry OBJECT-TYPE
    SYNTAX     HpnicfDhcpSnoop2BindEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing information of DHCP clients."
    INDEX
        {
            hpnicfDhcpSnoop2BindIpAddr,
            hpnicfDhcpSnoop2BindVlanId,
            hpnicfDhcpSnoop2BindSecVlanId
        }
    ::= { hpnicfDhcpSnoop2BindTable 1 }

HpnicfDhcpSnoop2BindEntry ::=
    SEQUENCE
        {
            hpnicfDhcpSnoop2BindIpAddr           InetAddressIPv4,
            hpnicfDhcpSnoop2BindVlanId           Unsigned32,
            hpnicfDhcpSnoop2BindSecVlanId        Unsigned32,
            hpnicfDhcpSnoop2BindMacAddr          MacAddress,
            hpnicfDhcpSnoop2BindLease            Unsigned32,
            hpnicfDhcpSnoop2BindPortIndex        InterfaceIndexOrZero,
            hpnicfDhcpSnoop2BindRowStatus        RowStatus
        }

hpnicfDhcpSnoop2BindIpAddr OBJECT-TYPE
    SYNTAX     InetAddressIPv4
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "DHCP client's IP addresses collected by DHCP snooping."
    ::= { hpnicfDhcpSnoop2BindEntry 1 }

hpnicfDhcpSnoop2BindVlanId OBJECT-TYPE
    SYNTAX     Unsigned32(1..4094)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "DHCP client's VLAN ID collected by DHCP snooping."
    ::= { hpnicfDhcpSnoop2BindEntry 2 }

hpnicfDhcpSnoop2BindSecVlanId OBJECT-TYPE
    SYNTAX     Unsigned32(1..4094 | 65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "DHCP client's second VLAN ID collected by DHCP snooping.
         65535 means no second VLAN."
    ::= { hpnicfDhcpSnoop2BindEntry 3 }

hpnicfDhcpSnoop2BindMacAddr OBJECT-TYPE
    SYNTAX     MacAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "DHCP client's MAC address collected by DHCP snooping."
    ::= { hpnicfDhcpSnoop2BindEntry 4 }

hpnicfDhcpSnoop2BindLease OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Left lease time in seconds collected by DHCP snooping.
         The value of this object cannot be 0."
    ::= { hpnicfDhcpSnoop2BindEntry 5 }

hpnicfDhcpSnoop2BindPortIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "DHCP client's port index collected by DHCP snooping.
         The value of zero means unknown port."
    ::= { hpnicfDhcpSnoop2BindEntry 6 }

hpnicfDhcpSnoop2BindRowStatus    OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "RowStatus.  Only destroy action is allow to use."
     ::= { hpnicfDhcpSnoop2BindEntry 7 }

-- ==========================================================================
-- 2nd Table of hpnicfDhcpSnoop2Tables: hpnicfDhcpSnoop2IfConfigTable
-- ==========================================================================
hpnicfDhcpSnoop2IfConfigTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF HpnicfDhcpSnoop2IfConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table is used to configure DHCP snooping functions on ports."
    ::= {hpnicfDhcpSnoop2Tables 2 }

hpnicfDhcpSnoop2IfConfigEntry OBJECT-TYPE
    SYNTAX     HpnicfDhcpSnoop2IfConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing DHCP snooping configurations of ports."
    INDEX   { ifIndex }
    ::= {hpnicfDhcpSnoop2IfConfigTable 1}

HpnicfDhcpSnoop2IfConfigEntry  ::=
    SEQUENCE
        {
            hpnicfDhcpSnoop2IfTrustStatus                INTEGER,
            hpnicfDhcpSnoop2IfCheckMac                   TruthValue,
            hpnicfDhcpSnoop2IfCheckRequest               TruthValue,
            hpnicfDhcpSnoop2IfRateLimit                  Unsigned32,
            hpnicfDhcpSnoop2IfRecordBind                 TruthValue,
            hpnicfDhcpSnoop2IfMaxLearnNum                Unsigned32,
            hpnicfDhcpSnoop2IfOpt82Enable                TruthValue,
            hpnicfDhcpSnoop2IfOpt82Strategy              INTEGER,
            hpnicfDhcpSnoop2IfOpt82CIDMode               INTEGER,
            hpnicfDhcpSnoop2IfOpt82CIDNodeType           INTEGER,
            hpnicfDhcpSnoop2IfOpt82CIDNodeStr            OCTET STRING,
            hpnicfDhcpSnoop2IfOpt82CIDStr                OCTET STRING,
            hpnicfDhcpSnoop2IfOpt82CIDFormat             INTEGER,
            hpnicfDhcpSnoop2IfOpt82RIDMode               INTEGER,
            hpnicfDhcpSnoop2IfOpt82RIDStr                OCTET STRING,
            hpnicfDhcpSnoop2IfOpt82RIDFormat             INTEGER
        }

hpnicfDhcpSnoop2IfTrustStatus OBJECT-TYPE
    SYNTAX     INTEGER
    {
        untrusted(0),
        trusted(1)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Trusted status of the port."
    DEFVAL { untrusted }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 1 }

hpnicfDhcpSnoop2IfCheckMac OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value is 'true', MAC address of DHCP packets received
         on the port will be checked."
    DEFVAL { false }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 2 }

hpnicfDhcpSnoop2IfCheckRequest OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "If the value is 'true', DHCP request packets will be checked."
    DEFVAL { false }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 3 }

hpnicfDhcpSnoop2IfRateLimit OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The rate limit in Kbps.
         If the value is 0, there is no rate limit on the port."
    DEFVAL { 0 }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 4 }

hpnicfDhcpSnoop2IfRecordBind OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "If the value is 'true', information of DHCP packets received
         on the port will be recorded."
    DEFVAL { false }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 5 }

hpnicfDhcpSnoop2IfMaxLearnNum OBJECT-TYPE
    SYNTAX     Unsigned32(0..4294967295)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The maximum number of binding entries that could be learned on
         the port.
         If the value is 0, it means that there is no threshold on the
         port."
    DEFVAL { 0 }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 6 }

hpnicfDhcpSnoop2IfOpt82Enable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "If DHCP snooping supports option 82 functions, the
         value is 'true'.
         If DHCP snooping does NOT support option 82 functions,
         the value is 'false'."
    DEFVAL     { false }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 7 }

hpnicfDhcpSnoop2IfOpt82Strategy     OBJECT-TYPE
    SYNTAX      INTEGER
    {
        drop(1),
        keep(2),
        replace(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The strategy of DHCP snooping handling option 82.

         'drop' indicates DHCP snooping discarding the request
         packet including option 82.

         'keep' indicates DHCP snooping accepting the request
         packet without any change of the option 82.

         'replace' indicates DHCP snooping accepting the
         request packet on condition that it generates a new
         option 82 to replace the original one."
    DEFVAL      { replace }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 8 }

hpnicfDhcpSnoop2IfOpt82CIDMode OBJECT-TYPE
    SYNTAX      INTEGER
    {
        normal(1),
        verbose(2),
        userDefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The mode of filling in the circuit ID suboption
         of DHCP option 82.

         'normal' is the standard mode.

         'verbose' is the detailed mode.

         'userDefine' is the user-defined mode.

         If the value of this object is set to 'userDefine',
         hpnicfDhcpSnoop2IfOpt82CIDStr must also be set."
    DEFVAL      { normal }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 9 }

hpnicfDhcpSnoop2IfOpt82CIDNodeType OBJECT-TYPE
    SYNTAX     INTEGER
    {
        invalid(1),
        mac(2),
        sysname(3),
        userDefine(4)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Type of access node identifier that is used to fill
         in the circuit ID suboption of option 82 when the value
         of hpnicfDhcpSnoop2IfOption82CIDMode is set to 'verbose'.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82CIDMode.

         'invalid' indicates that the node identifier is NOT used
         to fill in the circuit ID suboption of option 82.
         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is NOT
         'verbose', the value of this object is set to 'invalid'
         automatically.
         Otherwise the value of this object cannot be set to 'invalid'.

         'mac' indicates that the node identifier is
         filled in with the bridge MAC of DHCP snooping device.
         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is set to
         'verbose', the default value of this object is 'mac'.

         'sysname' indicates that the node identifier
         is filled in with the sysname of the DHCP snooping.

         'userDefine' indicates the node identifier
         is filled in with the string defined by the object
         of hpnicfDhcpSnoop2IfOpt82CIDNodeStr.
         If the value is set to 'userDefine', the value of
         hpnicfDhcpSnoop2IfOpt82CIDNodeStr must also be set to
         a non-zero length string."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 10 }

hpnicfDhcpSnoop2IfOpt82CIDNodeStr      OBJECT-TYPE
    SYNTAX     OCTET STRING(SIZE(0..50))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The string defined by user to fill in the
         node identifier in the verbose mode.

         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is NOT
         'verbose', or the value of hpnicfDhcpSnoop2IfOpt82CIDNodeType
         is NOT 'userDefine', it is set to a zero-length string
         automatically.
         Otherwise it must be set to a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82CIDMode and
         hpnicfDhcpSnoop2IfOpt82CIDNodeType."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 11 }

hpnicfDhcpSnoop2IfOpt82CIDStr      OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0|3..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The string defined by user to fill in the circuit ID
         suboption of option 82 in the user-define mode.

         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is
         NOT 'userDefine', it is set to a zero-length string
         automatically.
         Otherwise it must be set to a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82CIDMode."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 12 }

hpnicfDhcpSnoop2IfOpt82CIDFormat    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        hex(1),
        ascii(2),
        undefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The format of the circuit ID suboption of DHCP
         option 82.

         'hex' is the hex format.

         'ascii' is the ascii format.

         'undefine' is the undefine format.

         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is
         'normal', this object is set with 'hex' automatically
         and cannot be set with 'undefine'.

         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is
         'verbose', the default value of this object is 'undefine'.

         If the value of hpnicfDhcpSnoop2IfOpt82CIDMode is
         'userDefine', this object is set with 'ascii' automatically
         and cannot be set with other value.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82CIDMode."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 13 }

hpnicfDhcpSnoop2IfOpt82RIDMode OBJECT-TYPE
    SYNTAX      INTEGER
    {
        normal(1),
        sysname(2),
        userDefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The mode of filling in the remote ID suboption
         of DHCP option 82.

         'normal' is the standard mode.

         'userDefine' is the user-defined mode.

         'sysname' is the sysname mode.

         If the value of this object is set to 'userDefine',
         hpnicfDhcpSnoop2IfOpt82RIDStr must also be set."
    DEFVAL      { normal }
    ::= { hpnicfDhcpSnoop2IfConfigEntry 14 }

hpnicfDhcpSnoop2IfOpt82RIDStr  OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The string defined by user to fill in the
         remote ID in the user-defined mode.

         If the value of hpnicfDhcpSnoop2IfOpt82RIDMode is
         NOT 'userDefine', this object is set with a zero-length
         string automatically.
         Otherwise it must be set with a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82RIDMode."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 15 }

hpnicfDhcpSnoop2IfOpt82RIDFormat    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        hex(1),
        ascii(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The format of DHCP option 82 remote ID in 'normal' mode.

         'hex' is the hex format.

         'ascii' is the ascii format.

         If the value of hpnicfDhcpSnoop2IfOpt82RIDMode is
         'sysname' or 'userDefine', this object is set with 'ascii'
         automatically and cannot be set with other value.

         If the value of hpnicfDhcpSnoop2IfOpt82RIDMode is
         'normal', the default value of this object is 'hex'.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfOpt82RIDMode."
    ::= { hpnicfDhcpSnoop2IfConfigEntry 16 }

-- ==================================================================
-- 3rd Table of hpnicfDhcpSnoop2Tables: hpnicfDhcpSnoop2IfVlanCIDTable
-- ==================================================================
hpnicfDhcpSnoop2IfVlanCIDTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpSnoop2IfVlanCIDEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the information of the circuit ID
         suboption of DHCP option 82 in VLAN."
    ::= { hpnicfDhcpSnoop2Tables 3 }

hpnicfDhcpSnoop2IfVlanCIDEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpSnoop2IfVlanCIDEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the information of the circuit ID
         suboption of DHCP option 82 in VLAN."
    INDEX { ifIndex, hpnicfDhcpSnoop2IfVlanCIDVlanIndex }
    ::= { hpnicfDhcpSnoop2IfVlanCIDTable 1 }

HpnicfDhcpSnoop2IfVlanCIDEntry   ::=
    SEQUENCE
    {
        hpnicfDhcpSnoop2IfVlanCIDVlanIndex          Unsigned32,
        hpnicfDhcpSnoop2IfVlanCIDStr                OCTET STRING,
        hpnicfDhcpSnoop2IfVlanCIDRowStatus          RowStatus
    }

hpnicfDhcpSnoop2IfVlanCIDVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VLAN ID."
    ::= { hpnicfDhcpSnoop2IfVlanCIDEntry 1 }

hpnicfDhcpSnoop2IfVlanCIDStr      OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(3..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The string defined by user to fill in the
         circuit ID suboption of option 82."
    ::= { hpnicfDhcpSnoop2IfVlanCIDEntry 2 }

hpnicfDhcpSnoop2IfVlanCIDRowStatus    OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "Operation status of this table entry.
          Three actions are used: active,
          createAndGo, destroy."
     ::= { hpnicfDhcpSnoop2IfVlanCIDEntry 3 }

-- ==================================================================
-- 4th Table of hpnicfDhcpSnoop2Tables: hpnicfDhcpSnoop2IfVlanRIDTable
-- ==================================================================
hpnicfDhcpSnoop2IfVlanRIDTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpSnoop2IfVlanRIDEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the information of the remote ID
         suboption of DHCP option 82 in VLAN."
    ::= { hpnicfDhcpSnoop2Tables 4 }

hpnicfDhcpSnoop2IfVlanRIDEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpSnoop2IfVlanRIDEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the information of the remote ID
         suboption of DHCP option 82 in VLAN."
    INDEX { ifIndex, hpnicfDhcpSnoop2IfVlanRIDVlanIndex }
    ::= { hpnicfDhcpSnoop2IfVlanRIDTable 1 }

HpnicfDhcpSnoop2IfVlanRIDEntry   ::=
    SEQUENCE
    {
        hpnicfDhcpSnoop2IfVlanRIDVlanIndex              Unsigned32,
        hpnicfDhcpSnoop2IfVlanRIDMode                   INTEGER,
        hpnicfDhcpSnoop2IfVlanRIDStr                    OCTET STRING,
        hpnicfDhcpSnoop2IfVlanRIDRowStatus              RowStatus
    }

hpnicfDhcpSnoop2IfVlanRIDVlanIndex    OBJECT-TYPE
    SYNTAX      Unsigned32(1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VLAN ID."
    ::= { hpnicfDhcpSnoop2IfVlanRIDEntry 1 }

hpnicfDhcpSnoop2IfVlanRIDMode    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        sysname(1),
        userDefine(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The mode of filling in the remote ID suboption
         of DHCP option 82 in VLAN.

         'sysname' indicates using the device sysname to fill in
         the suboption.

         'userDefine' indicates using the string defined
         by hpnicfDhcpSnoop2IfVlanRIDStr to fill in the suboption.

         If the value of this object is set to 'userDefine',
         hpnicfDhcpSnoop2IfVlanRIDStr must also be set."
    ::= { hpnicfDhcpSnoop2IfVlanRIDEntry 2 }

hpnicfDhcpSnoop2IfVlanRIDStr      OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The string used to fill in the remote ID suboption.

         If the value of hpnicfDhcpSnoop2IfVlanRIDMode is NOT 'userDefine',
         this object is set with a zero-length string automatically.
         Otherwise it must be set with a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpSnoop2IfVlanRIDMode."
    ::= { hpnicfDhcpSnoop2IfVlanRIDEntry 3 }

hpnicfDhcpSnoop2IfVlanRIDRowStatus    OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "Operation status of this table entry.
          Three actions are used: active,
          createAndGo, destroy."
     ::= { hpnicfDhcpSnoop2IfVlanRIDEntry 4 }

END
