SWITCHING-MIB DEFINITIONS ::= BEGIN

-- Quanta Switching MIB
-- Copyright 2004- Quanta Computer, Inc. All rights reserved.

-- This SNMP Management Information Specification
-- embodies Quanta Computer Inc.'s confidential and proprietary
-- intellectual property. Quanta Computer Inc. retains all title
-- and ownership in the Specification including any revisions.

-- This Specification is supplied "AS IS", Quanta Computer Inc.
-- makes no warranty, either expressed or implied,
-- as to the use, operation, condition, or performance of the
-- Specification.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress,
    Integer32, Unsigned32, Counter32, Gauge32, TimeTicks
                                        FROM SNMPv2-SMI
    RowStatus, TruthValue, MacAddress, DateAndTime, TEXTUAL-CONVENTION
                                        FROM SNMPv2-TC
    switch, AgentPortMask               FROM QUANTA-SWITCH-MIB
    DisplayString, PhysAddress          FROM RFC1213-MIB
    VlanId, VlanIndex, dot1qVlanIndex, dot1qFdbId 
                                        FROM Q-BRIDGE-MIB
    IANAifType                          FROM IANAifType-MIB
    InterfaceIndex, ifIndex, InterfaceIndexOrZero             FROM IF-MIB
    InetAddressType, InetAddress        FROM INET-ADDRESS-MIB
    Ipv6Address, Ipv6AddressPrefix      FROM IPV6-TC;

    switching MODULE-IDENTITY
        LAST-UPDATED "201108310000Z" -- 26 Jan 2011 12:00:00 GMT
        ORGANIZATION "QCT"
        CONTACT-INFO
                                "QCT LLC
				47709 Fremont Boulevard, Fremont, CA 94538	
				TOLL FREE: 855-QCT-MUST
          			Tel: +1 510-270-6111
	  			FAX: +1 510-270-6161 
          			WEB: www.QuantaQCT.com"
        DESCRIPTION
          "The QCI Private MIB for Switching"
    ::= { switch 1 }

PortList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING

VlanList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        vlans, with the first octet specifying vlans 1 through
        8, the second octet specifying vlans 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered vlan, and the least significant bit
        represents the highest numbered vlan.  Thus, each vlan
        supported is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then the associated port is in that vlan; the port is
        not included if the vlans bit has a value of '0'."
    SYNTAX      OCTET STRING



--   Ipv6Address ::= TEXTUAL-CONVENTION
--             DISPLAY-HINT "2x:"
--             STATUS       current
--             DESCRIPTION
--               "This data type is used to model IPv6 addresses.
--                This is a binary string of 16 octets in network
--                byte-order."
--             SYNTAX       OCTET STRING (SIZE (16))
--
--        Ipv6AddressPrefix ::= TEXTUAL-CONVENTION
--             DISPLAY-HINT "2x:"
--             STATUS       current
--             DESCRIPTION
--               "This data type is used to model IPv6 address
--               prefixes. This is a binary string of up to 16
--               octets in network byte-order."
--             SYNTAX       OCTET STRING (SIZE (0..16))
--
--        Ipv6AddressIfIdentifier ::= TEXTUAL-CONVENTION
--             DISPLAY-HINT "2x:"
--             STATUS       current
--             DESCRIPTION
--               "This data type is used to model IPv6 address
--               interface identifiers. This is a binary string
--                of up to 8 octets in network byte-order."
--             SYNTAX      OCTET STRING (SIZE (0..8))
--
--    Ipv6IfIndex ::= TEXTUAL-CONVENTION
--             DISPLAY-HINT "d"
--             STATUS       current
--             DESCRIPTION
--               "A unique value, greater than zero for each
--               internetwork-layer interface in the managed
--               system. It is recommended that values are assigned
--               contiguously starting from 1. The value for each
--               internetwork-layer interface must remain constant
--               at least from one re-initialization of the entity's
--               network management system to the next
--
--
--
--
--               re-initialization."
--             SYNTAX       Integer32 (1..2147483647)
--
--        Ipv6IfIndexOrZero ::= TEXTUAL-CONVENTION
--             DISPLAY-HINT "d"
--             STATUS       current
--             DESCRIPTION
--                 "This textual convention is an extension of the
--                 Ipv6IfIndex convention.  The latter defines
--                 a greater than zero value used to identify an IPv6
--                 interface in the managed system.  This extension
--                 permits the additional value of zero.  The value
--                 zero is object-specific and must therefore be
--                 defined as part of the description of any object
--                 which uses this syntax.  Examples of the usage of
--                 zero might include situations where interface was
--                 unknown, or when none or all interfaces need to be
--                 referenced."
--             SYNTAX       Integer32 (0..2147483647)




--**************************************************************************************
--    agentInfoGroup
--**************************************************************************************

agentInfoGroup                             OBJECT IDENTIFIER ::= { switching 1 }


    --**************************************************************************************
    -- agentInventoryGroup
    --
    --**************************************************************************************


    agentInventoryGroup        OBJECT IDENTIFIER ::= { agentInfoGroup 1 }


    agentInventorySysDescription OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Inventory system description.  "
         ::= { agentInventoryGroup 1 }

    agentInventoryMachineType OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Type of the Machine used in the Switch "
         ::= { agentInventoryGroup 2 }

    agentInventoryMachineModel OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Machine Model. "
         ::= { agentInventoryGroup 3 }

    agentInventorySerialNumber OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Serial number of the switch."
         ::= { agentInventoryGroup 4 }

    agentInventoryFRUNumber OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "FRU Number of the switch"
         ::= { agentInventoryGroup 5 }

    agentInventoryMaintenanceLevel OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Inventory Maintenance Level"
         ::= { agentInventoryGroup 6 }

    agentInventoryPartNumber OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Inventory Part Number"
         ::= { agentInventoryGroup 7 }

    agentInventoryHardwareVersion OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Lists the version of hardware of this unit. This is a
                     platform dependant string."
         ::= { agentInventoryGroup 8 }

    agentInventoryBurnedInMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Burned-In MAC Address"

         ::= { agentInventoryGroup 9 }

    agentInventoryOperatingSystem OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Operating System running on this unit"
         ::= { agentInventoryGroup 10 }

    agentInventoryNetworkProcessingDevice OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Network Processing Device for this unit"
         ::= { agentInventoryGroup 11 }

    agentInventoryAdditionalPackages OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Lists additional functional packages available on this unit."
         ::= { agentInventoryGroup 12 }

    agentInventorySoftwareVersion OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Lists the version of software loaded on this unit."
         ::= { agentInventoryGroup 13 }

    agentInventoryManufacturer OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Name of the Manufacturer of this unit"
         ::= { agentInventoryGroup 14 }


    --**************************************************************************************
    -- agentTrapLogGroup
    --
    --**************************************************************************************

    agentTrapLogGroup          OBJECT IDENTIFIER ::= { agentInfoGroup 2}

    agentTrapLogTotal OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The total number of traps sent since last reset."
         ::= { agentTrapLogGroup 1 }

    agentTrapLogTotalSinceLastViewed OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of traps sent since last viewed."
         ::= { agentTrapLogGroup 3 }

   --**************************************************************************************
   -- agentTrapLogTable

    agentTrapLogTable OBJECT-TYPE
         SYNTAX SEQUENCE OF AgentTrapLogEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Agent Trap Log"
         ::= { agentTrapLogGroup 4 }

    agentTrapLogEntry OBJECT-TYPE
         SYNTAX      AgentTrapLogEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Agent trap log entry"
         INDEX { agentTrapLogIndex }
         ::= { agentTrapLogTable 1 }

    AgentTrapLogEntry ::= SEQUENCE {
          agentTrapLogIndex
              Integer32,
          agentTrapLogSystemTime
              DisplayString, 
          agentTrapLogTrap
              DisplayString
          }

    agentTrapLogIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Unique index of trap entry"
         ::= { agentTrapLogEntry 1 }

    agentTrapLogSystemTime OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "System uptime when trap was sent.
                     This entry shows how long the system has been up when the trap occurred."
         ::= { agentTrapLogEntry 2 }

    agentTrapLogTrap OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (0..512))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Description of the trap sent."
         ::= { agentTrapLogEntry 3 }

   --**************************************************************************************
   -- agentSupportedMibTable
   --**************************************************************************************

    agentSupportedMibTable OBJECT-TYPE
         SYNTAX SEQUENCE OF AgentSupportedMibEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Supported MIB table"
         ::= { agentInfoGroup 3 }

    agentSupportedMibEntry OBJECT-TYPE
         SYNTAX      AgentSupportedMibEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Supported MIB entry"
         INDEX { agentSupportedMibIndex }
         ::= { agentSupportedMibTable 1 }

    AgentSupportedMibEntry ::= SEQUENCE {
          agentSupportedMibIndex
              Integer32,
          agentSupportedMibName
              DisplayString,
          agentSupportedMibDescription
              DisplayString
          }

    agentSupportedMibIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Unique index of the Supported MIB entry"
         ::= { agentSupportedMibEntry 1 }

    agentSupportedMibName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The name of the MIB (RFC or IEEE) that is supported."
         ::= { agentSupportedMibEntry 2 }

    agentSupportedMibDescription OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (0..512))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Description of the MIB (RFC or IEEE) that is supported."
         ::= { agentSupportedMibEntry 3 }

   --**************************************************************************************
   -- agentPortStatsRateGroup
   --**************************************************************************************

    agentPortStatsRateGroup         OBJECT IDENTIFIER ::= { agentInfoGroup 8 }

    agentPortStatsRateTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPortStatsRateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentPortStatsRateGroup 1 }

    agentPortStatsRateEntry OBJECT-TYPE
         SYNTAX      AgentPortStatsRateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         INDEX       { ifIndex }
         ::= { agentPortStatsRateTable 1 }

    AgentPortStatsRateEntry ::= SEQUENCE {
--         agentPortStatsRateBitsPerSecondRx
--              Counter32,
--         agentPortStatsRateBitsPerSecondTx
--              Counter32,
--         agentPortStatsRatePacketsPerSecondRx
--              Counter32,
--         agentPortStatsRatePacketsPerSecondTx
--              Counter32,
--         agentPortStatsRateOverflowBitsPerSecondRx
--              Counter32,
--         agentPortStatsRateOverflowBitsPerSecondTx
--              Counter32,
--         agentPortStatsRateOverflowPacketsPerSecondRx
--              Counter32,
--         agentPortStatsRateOverflowPacketsPerSecondTx
--              Counter32,
         agentPortStatsRateHCBitsPerSecondRx
              Counter64,
         agentPortStatsRateHCBitsPerSecondTx
              Counter64,
         agentPortStatsRateHCPacketsPerSecondRx
              Counter64,
         agentPortStatsRateHCPacketsPerSecondTx
              Counter64
         }

--    agentPortStatsRateBitsPerSecondRx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "bits"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The number of bits per second received.
--                     This value is an exponentially weighted average and is affected by the
--                     configured agentPortLoadStatsInterval."
--         ::= { agentPortStatsRateEntry 1 }
--
--    agentPortStatsRateBitsPerSecondTx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "bits"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The number of bits per second transmitted.
--                     This value is an exponentially weighted average and is affected by the
--                     configured agentPortLoadStatsInterval."
--         ::= { agentPortStatsRateEntry 2 }
--
--    agentPortStatsRatePacketsPerSecondRx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "packets"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The number of packets per second received.
--                     This value is an exponentially weighted average and is affected by the
--                     configured agentPortLoadStatsInterval."
--         ::= { agentPortStatsRateEntry 3 }
--
--    agentPortStatsRatePacketsPerSecondTx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "packets"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The number of packets per second transmitted.
--                     This value is an exponentially weighted average and is affected by the
--                     configured agentPortLoadStatsInterval."
--         ::= { agentPortStatsRateEntry 4 }
--
--
--    agentPortStatsRateOverflowBitsPerSecondRx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "bits"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The counter in which stored the number of times
--                     the associated agentPortStatsRateBitsPerSecondRx counter
--                     has overflowed."
--         ::= { agentPortStatsRateEntry 5 }
--
--    agentPortStatsRateOverflowBitsPerSecondTx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "bits"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The counter in which stored the number of times
--                     the associated agentPortStatsRateBitsPerSecondTx counter
--                     has overflowed."
--         ::= { agentPortStatsRateEntry 6 }
--
--    agentPortStatsRateOverflowPacketsPerSecondRx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "packets"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The counter in which stored the number of times
--                     the associated agentPortStatsRatePacketsPerSecondRx counter
--                     has overflowed."
--         ::= { agentPortStatsRateEntry 7 }
--
--    agentPortStatsRateOverflowPacketsPerSecondTx OBJECT-TYPE
--         SYNTAX     Counter32
--         UNITS      "packets"
--         MAX-ACCESS read-only
--         STATUS     current
--         DESCRIPTION
--                    "The counter in which stored the number of times
--                     the associated agentPortStatsRatePacketsPerSecondTx counter
--                     has overflowed."
--         ::= { agentPortStatsRateEntry 8 }


    agentPortStatsRateHCBitsPerSecondRx OBJECT-TYPE
         SYNTAX     Counter64
         UNITS      "bits"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The number of bits per second received.
                     This value is an exponentially weighted average and is affected by the
                     configured agentPortLoadStatsInterval."
         ::= { agentPortStatsRateEntry 9 }

    agentPortStatsRateHCBitsPerSecondTx OBJECT-TYPE
         SYNTAX     Counter64
         UNITS      "bits"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The number of bits per second transmitted.
                     This value is an exponentially weighted average and is affected by the
                     configured agentPortLoadStatsInterval."
         ::= { agentPortStatsRateEntry 10 }

    agentPortStatsRateHCPacketsPerSecondRx OBJECT-TYPE
         SYNTAX     Counter64
         UNITS      "packets"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The number of packets per second received.
                     This value is an exponentially weighted average and is affected by the
                     configured agentPortLoadStatsInterval."
         ::= { agentPortStatsRateEntry 11 }

    agentPortStatsRateHCPacketsPerSecondTx OBJECT-TYPE
         SYNTAX     Counter64
         UNITS      "packets"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The number of packets per second transmitted.
                     This value is an exponentially weighted average and is affected by the
                     configured agentPortLoadStatsInterval."
         ::= { agentPortStatsRateEntry 12 }

 --**************************************************************************************
   -- agentSwitchCpuProcessGroup -> contains MIB objects displaying various values used in Processfer
   --allocations
   --
   --**************************************************************************************

    agentSwitchCpuProcessGroup       OBJECT IDENTIFIER ::= { agentInfoGroup 4 }

    agentSwitchCpuProcessMemFree OBJECT-TYPE
      SYNTAX      Integer32 (0..2147483647)
      UNITS      "KBytes"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The total memory free for utilization in KBytes."
     ::= { agentSwitchCpuProcessGroup 1 }

    agentSwitchCpuProcessMemAvailable OBJECT-TYPE
      SYNTAX     Integer32 (0..2147483647)
      UNITS      "KBytes"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       "  The total memory available in KBytes."
      DEFVAL { 2 }
    ::= { agentSwitchCpuProcessGroup 2 }

    agentSwitchCpuProcessRisingThreshold OBJECT-TYPE
      SYNTAX        Unsigned32(0..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The CPU Rising utilization threshold in percentage. A zero percent 
                    threshold indicates CPU Utilization Notification feature is disabled. 
                    A notification is triggered when the total CPU utilization exceeds this 
                    threshold over the configured Rising threshold interval. 
                    If the Rising threshold is configured to be less than the Falling threshold, 
                    the Falling threshold is set equal to the Rising threshold."
      DEFVAL { 0 }
      ::= { agentSwitchCpuProcessGroup 3 }

    agentSwitchCpuProcessRisingThresholdInterval OBJECT-TYPE
      SYNTAX        Unsigned32(0|5..86400)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The CPU Rising threshold interval in seconds. 
                    The time interval is configured in multiples of 5 seconds. 
                    A zero Rising interval indicates CPU Utilization Notification feature is disabled."
      ::= { agentSwitchCpuProcessGroup 4 }

    agentSwitchCpuProcessFallingThreshold OBJECT-TYPE
      SYNTAX        Unsigned32(0..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The CPU Falling utilization threshold in percentage. Configuration of this 
                    object value is optional. Value '0' is not allowed for configuration, 
                    if the Rising threshold is non-zero. If the Falling threshold is configured 
                    to be greater than the Rising threshold, the Rising threshold is set equal 
                    to the Falling threshold. If the Falling threshold is not configured, 
                    it takes the same value as the Rising threshold. 
                    A notification is triggered when the total CPU utilization 
                    falls below this threshold over the configured Falling threshold interval."
      DEFVAL { 0 }
      ::= { agentSwitchCpuProcessGroup 5 }

    agentSwitchCpuProcessFallingThresholdInterval OBJECT-TYPE
      SYNTAX        Unsigned32(0|5..86400)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The CPU Falling threshold interval in seconds. Configuration of this object 
                    value is optional. Value '0' is not allowed for configuration, 
                    if the Rising interval is non-zero. If the Falling interval 
                    is not configured, it takes the same value as the Rising interval. 
                    The time interval is configured in multiples of 5 seconds."
      ::= { agentSwitchCpuProcessGroup 6 }

    agentSwitchCpuProcessFreeMemoryThreshold OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The CPU Free Memory threshold in kilobytes. A zero threshold value 
                    indicates the CPU Free Memory Notification feature is disabled. 
                    Notifications are triggered when the CPU Free Memory falls below the 
                    configured threshold and when it rises to 10% above the configured threshold."
      DEFVAL { 0 }
      ::= { agentSwitchCpuProcessGroup 7 }


   --**************************************************************************************
   -- agentSwitchCpuProcessTable

    agentSwitchCpuProcessTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF AgentSwitchCpuProcessEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
       " A table of Task and cpu utilization."
      ::= { agentSwitchCpuProcessGroup 8 }


   agentSwitchCpuProcessEntry OBJECT-TYPE

         SYNTAX      AgentSwitchCpuProcessEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a Task Table."
         INDEX       { agentSwitchCpuProcessIndex }
         ::= { agentSwitchCpuProcessTable  1 }


    AgentSwitchCpuProcessEntry ::= SEQUENCE {
          agentSwitchCpuProcessIndex
              Integer32,
          agentSwitchCpuProcessName
              DisplayString,
          agentSwitchCpuProcessPercentageUtilization
              DisplayString,
          agentSwitchCpuProcessId
              DisplayString
          }

    agentSwitchCpuProcessIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Unique index of process table"
         ::= { agentSwitchCpuProcessEntry 1 }

    agentSwitchCpuProcessName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Name of the process"
         ::= { agentSwitchCpuProcessEntry 2 }

    agentSwitchCpuProcessPercentageUtilization OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "CPU utilization per task in Percentage over a period of 5, 60, 300 seconds, 
                     and the Rising threshold period also in seconds, if configured."
         ::= { agentSwitchCpuProcessEntry 3 }

    agentSwitchCpuProcessId OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Process ID"
         ::= { agentSwitchCpuProcessEntry 4 }


   --**************************************************************************************
   -- agentSwitchCpuProcessTotalUtilization

    agentSwitchCpuProcessTotalUtilization OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                    "Total CPU utilization over a period of 5, 60, 300 seconds, 
                    and the Rising threshold period also in seconds, if configured."
         ::= { agentSwitchCpuProcessGroup 9 }



 --**************************************************************************************
 -- agentConfigGroup
 --
 --**************************************************************************************

    agentConfigGroup                           OBJECT IDENTIFIER ::= { switching 2 }

    agentCLIConfigGroup                        OBJECT IDENTIFIER ::= { agentConfigGroup 1 }

    --**************************************************************************************
    -- agentLoginSessionTable
    --
    --**************************************************************************************

    agentLoginSessionTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentLoginSessionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's login session"
         ::= { agentCLIConfigGroup 1 }

    agentLoginSessionEntry OBJECT-TYPE
         SYNTAX      AgentLoginSessionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Login Session Entry"
         INDEX { agentLoginSessionIndex }
         ::= { agentLoginSessionTable 1 }

    AgentLoginSessionEntry ::= SEQUENCE {
           agentLoginSessionIndex
               Integer32,
           agentLoginSessionUserName
               DisplayString,
--           agentLoginSessionIPAddress
--               IpAddress,
           agentLoginSessionConnectionType
               INTEGER,
           agentLoginSessionIdleTime
               TimeTicks,
           agentLoginSessionSessionTime
               TimeTicks,
           agentLoginSessionStatus
               RowStatus,
           agentLoginSessionInetAddressType
               InetAddressType,
           agentLoginSessionInetAddress
               InetAddress
       }

    agentLoginSessionIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Login Session Index of the switch"
         ::= { agentLoginSessionEntry 1 }

    agentLoginSessionUserName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Login Session UserName of the switch"
         ::= { agentLoginSessionEntry 2 }

--    agentLoginSessionIPAddress OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-only
--         STATUS      obsolete
--         DESCRIPTION
--                     "Agent Login Session IP Address of the switch"
--         ::= { agentLoginSessionEntry 3 }

    agentLoginSessionConnectionType OBJECT-TYPE
         SYNTAX      INTEGER {
                      unknown(0),
                      serial(1),
                      telnet(2),
                      ssh(3),
                      http(4),
                      https(5)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Login Session Connection Type of the switch"
         ::= { agentLoginSessionEntry 4 }

    agentLoginSessionIdleTime OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Login Session Idle Time of the switch"
         ::= { agentLoginSessionEntry 5 }

    agentLoginSessionSessionTime OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Login Session Time of the switch"
         ::= { agentLoginSessionEntry 6 }

    agentLoginSessionStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Status of the user.
                     active(1)    - This connection is active.
                     destroy(6)   - Set to this value to disconnect this user."
         ::= { agentLoginSessionEntry 7 }

    agentLoginSessionInetAddressType OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Type of address agentLoginSessionInetAddress is returning.
                     Can be either unknown(0), ipv4(1), or ipv6 (2).  Will return
                     unknown(0) in the case of a serial login."
         ::= { agentLoginSessionEntry 8 }

    agentLoginSessionInetAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Inet Address of the connecting the user is logging in with.
                     Will return a zero-length string in the case of a serial login."
         ::= { agentLoginSessionEntry 9 }

    --**************************************************************************************
    -- agentTelnetConfigGroup
    --
    --**************************************************************************************

    agentTelnetConfigGroup                  OBJECT IDENTIFIER ::= { agentCLIConfigGroup 2 }

    agentTelnetLoginTimeout OBJECT-TYPE
         SYNTAX      Integer32 (1..160)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Telnet login timeout (minutes)

                     Config telnet timeout  will set the telnet session timeout value.
                     A session is active as long as the session has not remained idle for
                     the value set. Specify a value from 1 to 160.
                     Note: Changing the timeout value for active
                     sessions does not become effective until the session is reaccessed.
                     Any keystroke will also activate the new timeout duration."
         ::= { agentTelnetConfigGroup 1 }

    agentTelnetMaxSessions OBJECT-TYPE
         SYNTAX      Integer32 (0..5)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Maximum number of Telnet Sessions
                     Config telnet maxsessions is an integer value from 0 to 5 that specifies the
                     maximum number of telnet sessions that can be established.
                     If the value is 0, no Telnet session can be established.
                     "
         ::= { agentTelnetConfigGroup 2 }

    agentTelnetAllowNewMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Allow new telnet sessions (enable or disable)
                     Config telnet disable means that no new Telnet sessions are to be
                     established. Any already established session remains active until
                     the session is ended or an abnormal network error ends it.
                     "
          ::= { agentTelnetConfigGroup 3 }

    --**************************************************************************************
    -- agentUserConfigGroup
    --
    --**************************************************************************************

    agentUserConfigGroup                    OBJECT IDENTIFIER ::= { agentCLIConfigGroup 3 }


    agentUserConfigCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..8))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Create a new user.
                     When set with a non-empty string, a new user with that name will be created.
                     This object will only return an empty string.
                     This string is limited to alpha-numeric strings (uncluding the '-' and '_' characters)."
         ::= { agentUserConfigGroup 1 }

    --**************************************************************************************

    agentUserConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentUserConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Config Table"
         ::= { agentUserConfigGroup 2 }

    agentUserConfigEntry OBJECT-TYPE
         SYNTAX      AgentUserConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Config Entry"
         INDEX { agentUserIndex }
         ::= { agentUserConfigTable 1 }

    AgentUserConfigEntry ::= SEQUENCE {
                 agentUserIndex
                     Integer32,
                 agentUserName
                     DisplayString,
                 agentUserPassword
                     DisplayString,
                 agentUserAccessMode
                     INTEGER,
                 agentUserStatus
                     RowStatus,
                 agentUserAuthenticationType
                     INTEGER,
                 agentUserEncryptionType
                     INTEGER,
                 agentUserEncryptionPassword
                     DisplayString,
                 agentUserLockoutStatus
                     INTEGER,
                 agentUserPasswordExpireTime
                     DateAndTime,
                 agentUserSnmpv3AccessMode
                     INTEGER,
                 agentUserPrivilegeLevel
                     Integer32
             }

    agentUserIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Agent User Config Index"
         ::= { agentUserConfigEntry 1 }

    agentUserName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Name.
                     This string is limited to alpha-numeric strings (including the '-' and '_' characters)."
         ::= { agentUserConfigEntry 2 }

    agentUserPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(8..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Password
                     This object will return an empty string even if a password is set."
         ::= { agentUserConfigEntry 3 }

    agentUserAccessMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     suspended(0),
                     read(1),
                     write(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Access Mode, access level 0 for Read Acecess(WEB suspended)"
         ::= { agentUserConfigEntry 4 }

    agentUserStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Status.
                     active(1)  - This user account is active.
                     destroy(6) - Set to this value to remove this user account."
         ::= { agentUserConfigEntry 5 }

    agentUserAuthenticationType OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     hmacmd5(2),
                     hmacsha(3)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "SNMPv3 User Authentication.  The user passsword must be set
                     to a string greater than or equal to 8 characters for this to be
                     set to anything but none(1).

                     none(1)      - no authentication used
                     hmacmd5(2)   - Use HMAC-MD5 authentication
                     hmacsha(3)   - Use HMAC-SHA authentication"
         ::= { agentUserConfigEntry 6 }

    agentUserEncryptionType OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     des(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "SNMPv3 User Encryption
                     Can not be set to des(2) if agentUserAuthenticationType is set to
                     none(1).

                     none(1) - no encryption used
                     des(2)  - DES encryption used"
         ::= { agentUserConfigEntry 7 }

    agentUserEncryptionPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(8..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "SNMPv3 User Encryption Password
                     This object will return an empty string even if a password is
                     set. agentUserEncryptionType must be set to des(2) before this
                     object can be configured.
                     This object will return an empty string even if a password is set."
         ::= { agentUserConfigEntry 8 }

    agentUserLockoutStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays whether the user account is locked due to excessive failed login attempts."
         ::= { agentUserConfigEntry 9 }

    agentUserPasswordExpireTime OBJECT-TYPE
         SYNTAX      DateAndTime
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Date and time when the user's password expires (past or present).  Only valid when
                      password aging is enabled."
         ::= { agentUserConfigEntry 10 }

    agentUserSnmpv3AccessMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     read(1),
                     write(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "SNMPv3 Access Mode
                     read(1)  - read-only
                     write(2) - read-write"
         ::= { agentUserConfigEntry 11 }

    agentUserPrivilegeLevel OBJECT-TYPE
         SYNTAX      Integer32 (0..1|15)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Privilege Level 0 suspended(web login), 1 read-only, 15 read-write."
         ::= { agentUserConfigEntry 12 }

    --**************************************************************************************
    -- agentSerialGroup
    --
    --**************************************************************************************

    agentSerialGroup                    OBJECT IDENTIFIER ::= { agentCLIConfigGroup 5 }

    agentSerialTimeout OBJECT-TYPE
         SYNTAX      Integer32 (0..160)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "agentSerialTimeout specifies the maximum connect time(in minutes)
                     without console activity. A value of 0 indicates that a console can
                     be connected indefinitely. The time range is 0 to 160. "
         ::= { agentSerialGroup 1 }

    agentSerialBaudrate OBJECT-TYPE
         SYNTAX      INTEGER {
                      baud-1200(1),
                      baud-2400(2),
                      baud-4800(3),
                      baud-9600(4),
                      baud-19200(5),
                      baud-38400(6),
                      baud-57600(7),
                      baud-115200(8)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     " agentSerialBaudrate specifies the current baud rate at which
                       the serial port will try to connect. The available values
                       are 1200, 2400, 4800, 9600, 19200, 38400,57600, and 115200 baud. "
         ::= { agentSerialGroup 2 }

    agentSerialCharacterSize OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "agentSerialCharacterSize  specifies the number of bits in
                      a character. The number of bits is always 8."
         ::= { agentSerialGroup 3 }

    agentSerialHWFlowControlMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                      }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "agentSerialHardwareFlowControl specifies whether hardware
                      flow-control is enabled or disabled. Hardware Flow Control is
                      always disabled."
         ::= { agentSerialGroup 4 }

    agentSerialStopBits OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " agentSerialStopBits specifies the number of Stop bits per
                      character. The number of Stop bits is always 1."
         ::= { agentSerialGroup 5 }

    agentSerialParityType OBJECT-TYPE
         SYNTAX      INTEGER {
                      even(1),
                      odd(2),
                      none(3)
                      }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " agentSerialParityType specifies the Parity Method used on
                     the Serial Port. The Parity Method is always None. "
         ::= { agentSerialGroup 6 }

    agentSerialTerminalLength OBJECT-TYPE
         SYNTAX      Integer32 (10..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     " agentSerialTerminalLength specifies the height of words
					 in terminal screen."
         ::= { agentSerialGroup 7 }

    --**************************************************************************************
    -- agentPasswordManagementConfigGroup
    --
    --**************************************************************************************

    agentPasswordManagementConfigGroup                  OBJECT IDENTIFIER ::= { agentCLIConfigGroup 6 }

    agentPasswordManagementMinLength OBJECT-TYPE
         SYNTAX      Integer32 (0 | 8..64)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Minimum length for user passwords
                     All new local user passwords must be at least this many characters in length.
                     "
         ::= { agentPasswordManagementConfigGroup 1 }

    agentPasswordManagementHistory OBJECT-TYPE
         SYNTAX      Integer32 (0..10)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of previous passwords to store for prevention of password reuse.
                     This ensures that each user does not reuse passwords often.  A value of 0
                     indicates that no previous passwords will be stored.
                     "
         ::= { agentPasswordManagementConfigGroup 2 }

    agentPasswordManagementAging OBJECT-TYPE
         SYNTAX      Integer32 (1..365)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The maximum time that user passwords are valid, in days, from the time the
                     password is set.  Once a password expires, the user will be required to enter
                     a new password following the first login after password expiration.
                     A value of 0 indicates that passwords never expire.
                     "
         ::= { agentPasswordManagementConfigGroup 3 }

    agentPasswordManagementLockAttempts OBJECT-TYPE
         SYNTAX      Integer32 (1..5)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of allowable failed local authentication attempts before the user's
                     account is locked.  A value of 0 indicates that user accounts will never be locked.
                     "
         ::= { agentPasswordManagementConfigGroup 4 }

      agentPasswordManagementPasswordStrengthCheck OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable (1),
                     disable (2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures Password Strength Check feature."
         ::= { agentPasswordManagementConfigGroup 5 }


    agentPasswordManagementStrengthMinUpperCase OBJECT-TYPE
         SYNTAX      Integer32 (0..16)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "The number of minimum allowable uppercase letters in a 
                      password. Minimum of 0 means no restriction on that set 
                      of characters."
         ::= { agentPasswordManagementConfigGroup 6}

    agentPasswordManagementStrengthMinLowerCase OBJECT-TYPE
         SYNTAX      Integer32 (0..16)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of minimum allowable lowercase letters in a 
                      password. Minimum of 0 means no restriction on that set 
                      of characters."

         ::= { agentPasswordManagementConfigGroup 7}

    agentPasswordManagementStrengthMinNumericNumbers OBJECT-TYPE
         SYNTAX      Integer32 (0..16)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of minimum allowable numeric numbers in a 
                      password. Minimum of 0 means no restriction on that set 
                      of characters."
         ::= { agentPasswordManagementConfigGroup 8}

    agentPasswordManagementStrengthMinSpecialCharacters OBJECT-TYPE
         SYNTAX      Integer32 (0..16)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of minimum allowable special characters in a 
                      password. Minimum of 0 means no restriction on that set 
                      of characters."
         ::= { agentPasswordManagementConfigGroup 9}

    agentPasswordManagementStrengthMaxConsecutiveCharacters OBJECT-TYPE
         SYNTAX      Integer32 (0..15)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of maximum consecutive characters can be 
                      present in a password. Maximum of 0 means disabling the 
                      restriction."
         ::= { agentPasswordManagementConfigGroup 10}

    agentPasswordManagementStrengthMaxRepeatedCharacters OBJECT-TYPE
         SYNTAX      Integer32 (0..15)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The number of maximum repeated characters can be present 
                      in a password. Maximum of 0 means disabling the 
                      restriction."

         ::= { agentPasswordManagementConfigGroup 11}


    agentPasswordManagementStrengthMinCharacterClasses OBJECT-TYPE
         SYNTAX      Integer32 (0..4)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "The number of minimum allowable character classes in a 
                      password. Minimum of 0 means no restriction on that set 
                      of characters."
         ::= { agentPasswordManagementConfigGroup 12}


    agentPasswordMgmtLastPasswordSetResult OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "Retrieves the last password set Result."
         ::= { agentPasswordManagementConfigGroup 14}


    agentPasswordManagementStrengthExcludeKeywordTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPasswordManagementStrengthExcludeKeywordEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "Represents Password strength restricted keywords from the configurable password."
         ::= { agentPasswordManagementConfigGroup 15}
                                
    agentPasswordManagementStrengthExcludeKeywordEntry OBJECT-TYPE
         SYNTAX      AgentPasswordManagementStrengthExcludeKeywordEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "Represents Password strength restricted keywords from the configurable password."
         INDEX       { agentPasswordMgmtStrengthExcludeKeyword }
         ::= { agentPasswordManagementStrengthExcludeKeywordTable 1 }
 
    AgentPasswordManagementStrengthExcludeKeywordEntry ::= SEQUENCE {
         agentPasswordMgmtStrengthExcludeKeyword        DisplayString,
         agentPasswordMgmtStrengthExcludeKeywordStatus  RowStatus
    }

    agentPasswordMgmtStrengthExcludeKeyword OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "Specifies the given keyword string restricted from the configurable password."
         ::= { agentPasswordManagementStrengthExcludeKeywordEntry 1}

    agentPasswordMgmtStrengthExcludeKeywordStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION "Create the Exclude Keyword Index and configure (Create or Destroy) the keyword to it."
         ::= { agentPasswordManagementStrengthExcludeKeywordEntry 2}



    --**************************************************************************************
    --agentIASUserConfigGroup -> Contains MIB objects to configure IAS User Database
    --
    --**************************************************************************************
        agentIASUserConfigGroup OBJECT IDENTIFIER ::= { agentCLIConfigGroup 7 }

        agentIASUserConfigCreate OBJECT-TYPE
                 SYNTAX      DisplayString (SIZE(1..32))
                 MAX-ACCESS  read-write
                 STATUS      current
                 DESCRIPTION
                             "Create a new user.
                             When set with a non-empty string, a new user with that name will be created.
                             This object will only return an empty string.
                             This string is limited to alpha-numeric strings (including the '-' and '_' characters)."
                 ::= { agentIASUserConfigGroup 1 }

        agentIASUserConfigTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF AgentIASUserConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION "A table for dot1x Client details and associated functionality."
                ::= { agentIASUserConfigGroup 2 }

        agentIASUserConfigEntry OBJECT-TYPE
                SYNTAX      AgentIASUserConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION "Represents entry for port config table."
                INDEX       { agentIASUserIndex}
                ::= {agentIASUserConfigTable 1 }

        AgentIASUserConfigEntry ::= SEQUENCE {
                agentIASUserIndex
                        Integer32,
                agentIASUserName
                        DisplayString,
                agentIASUserPassword
                        DisplayString,
                agentIASUserStatus
                        RowStatus
    }

     agentIASUserIndex  OBJECT-TYPE
                SYNTAX           Integer32 (0..99)
                MAX-ACCESS       not-accessible
                STATUS           current
                DESCRIPTION
                        "IAS user config index. "
                ::= { agentIASUserConfigEntry 1}

     agentIASUserName OBJECT-TYPE
                SYNTAX           DisplayString (SIZE(1..32))
                MAX-ACCESS       read-write
                STATUS           current
                DESCRIPTION
                        "IAS user name.
                         This string is limited to alpha-numeric strings (including '-' and '_'
                         characters). "
                ::= { agentIASUserConfigEntry 2}

     agentIASUserPassword OBJECT-TYPE
                SYNTAX           DisplayString (SIZE(0..64))
                MAX-ACCESS       read-write
                STATUS           current
                DESCRIPTION
                        "IAS user password."
                ::= { agentIASUserConfigEntry 3}

     agentIASUserStatus OBJECT-TYPE
                 SYNTAX      RowStatus
                 MAX-ACCESS  read-write
                 STATUS      current
                 DESCRIPTION
                             "IAS User Status.
                             active(1)  - This user account is active.
                             destroy(6) - Set to this value to remove this user account."
                 ::= { agentIASUserConfigEntry 4 }

    --**************************************************************************************
    -- agentLagConfigGroup
    --
    --**************************************************************************************
    agentLagConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 2 }

--    agentLagConfigCreate OBJECT-TYPE
--         SYNTAX      DisplayString (SIZE(0|1..15))		 
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Agent LAG Create.
--                     When this object is set with a non-empty string, a new LAG
--                     will be created if possible, with the entered string as its
--                     name.
--                     Get operation on this MIB object returns a null-value, as
--                     for the purpose of viewing the LAG name, the user should
--                     perform the traversal of agentLagSummaryConfigTable. For
--                     this reason the get operation on this object
--                     agentLagConfigCreate becomes insignificant."
--         ::= { agentLagConfigGroup 1 }

	agentLagConfigCreate OBJECT-TYPE
		 SYNTAX      Integer32 (1..64)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG Create.
                     When this object is set with a LAG index value, a new LAG
                     will be created if possible.
					 
                     Get operation on this MIB object returns a null-value, as
                     for the purpose of viewing the LAG name, the user should
                     perform the traversal of agentLagSummaryConfigTable. For
                     this reason the get operation on this object
                     agentLagConfigCreate becomes insignificant."
         ::= { agentLagConfigGroup 1 }
		 
    agentLagSummaryConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentLagSummaryConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A summary table of the switch's LAG config entries"
         ::= { agentLagConfigGroup 2 }

    agentLagSummaryConfigEntry OBJECT-TYPE
         SYNTAX      AgentLagSummaryConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's LAG config entry"
         INDEX       { agentLagSummaryLagIndex }
         ::= { agentLagSummaryConfigTable 1 }

    AgentLagSummaryConfigEntry ::= SEQUENCE {
             agentLagSummaryLagIndex
                 Integer32,
             agentLagSummaryName
                 DisplayString,
             agentLagSummaryFlushTimer
                 Integer32,
             agentLagSummaryLinkTrap
                 INTEGER,
             agentLagSummaryAdminMode
                 INTEGER,
             agentLagSummaryStpMode
                 INTEGER,
             agentLagSummaryAddPort
                 Integer32,
             agentLagSummaryDeletePort
                 Integer32,
             agentLagSummaryStatus
                 RowStatus,
             agentLagSummaryType
                 INTEGER,
             agentLagSummaryPortStaticCapability
                 INTEGER,
             agentLagSummaryHash
                 INTEGER,
             agentLagSummaryHashOption
                 Integer32
             ,
             agentLagSummaryRateLoadInterval
                 Integer32
           }

    agentLagSummaryLagIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent LAG IfIndex.

                     This value corresponds with the LAG interface in the ifTable."
         ::= { agentLagSummaryConfigEntry 1 }

    agentLagSummaryName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
--         MAX-ACCESS  read-write
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent LAG Name.

                     The associated name of the LAG used during creation."
         ::= { agentLagSummaryConfigEntry 2 }

    agentLagSummaryFlushTimer OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Agent LAG FlushTimer."
         ::= { agentLagSummaryConfigEntry 3 }

    agentLagSummaryLinkTrap OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG LinkTrap.

                     Configures sending Link Up/Down traps when the LAG interface goes Up or Down."
         ::= { agentLagSummaryConfigEntry 4 }

    agentLagSummaryAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG AdminMode.

                     Administratively enables or disables this LAG interface."
         ::= { agentLagSummaryConfigEntry 5 }

    agentLagSummaryStpMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      dot1d(1),
                      fast(2),
                      off(3),
                      dot1s(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG StpMode

                     If Dot1d is enabled, the valid values are:
                     dot1d(1), fast(2), and off(3)

                     If Dot1s is enabled, the valid values are:
                     off(3) and dot1s(4)"

         ::= { agentLagSummaryConfigEntry 6 }

    agentLagSummaryAddPort OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG AddPort.

                     Set to a non 0 value to add a port to the LAG.  Values correspond to
                     ifIndex values in the ifTable.

                     Note: agentPortType for the port to be added must be full duplex
                     and the same speed as previously added port(s), if any."
         ::= { agentLagSummaryConfigEntry 7 }

    agentLagSummaryDeletePort OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG DeletePort.

                     Set to a non 0 value to remove a port from the LAG.  Values correspond to
                     ifIndex values in the ifTable."
         ::= { agentLagSummaryConfigEntry 8 }

    agentLagSummaryStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG Status.

                     active(1)  - This LAG is enabled.
                     destroy(6) - Set to this value to remove the LAG."
         ::= { agentLagSummaryConfigEntry 9 }

    agentLagSummaryType OBJECT-TYPE
         SYNTAX      INTEGER {
                     static(1),
                     dynamic(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent LAG Type.

                     static(1)  - This LAG is staticly maintained.
                     dynamic(2) - This LAG is dynamicly maintained."
         ::= { agentLagSummaryConfigEntry 10 }

    agentLagSummaryPortStaticCapability OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG Static Capability

                     enable(1) - Static capability is enabled for this LAG interface
                     disable(2) - Static capability is disabled for this LAG interface"
         DEFVAL { disable }
         ::= { agentLagSummaryConfigEntry 11 }

    agentLagSummaryHash OBJECT-TYPE
         SYNTAX      INTEGER {
                     src-mac(1),
                     dst-mac(2),
                     src-dst-mac(3),
                     src-ip-src-ipport(7),
                     dst-ip-dst-ipport(8),
                     src-dst-ip-ipports(9)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Agent LAG HASH algorithm.

                     Allow the user to specify which hash distribution algorithm want
                     to be applied all LAG groups.

                     src-mac(1)            - Source MAC address.
                     dst-mac(2)            - Destination MAC address.
                     src-dst-mac(3)        - Source and Destination MAC address.
                     src-ip(4)             - Source IP address (IPv4 and IPv6).
                     dst-ip(5)             - Destination IP address (IPv4 and IPv6).
                     src-dst-ip(6)         - Source and Destination IP address (IPv4 and IPv6).
                     src-ip-src-ipport(7)  - Source IP address and Source IP L4 Port (IPv4 and IPv6).
                     dst-ip-dst-ipport(8)  - Destination IP address and Destination IP L4 Port (IPv4 and IPv6).
                     src-dst-ip-ipports(9) - Source and Destination IP address and Source IP L4 Port
                                             and Destination IP L4 Port (IPv4 and IPv6)(default).
                     src-dst-ip-x1(10)     - Source and Destination IP address XOR Mode 1.
                     src-dst-ip-x1(11)     - Source and Destination IP address XOR Mode 2.
                     src-dst-ip-x1(12)     - Source and Destination IP address XOR Mode 4.
                     src-dst-ip-x1(13)     - Source and Destination IP address XOR Mode 8."
         ::= { agentLagSummaryConfigEntry 12 }

    agentLagSummaryHashOption OBJECT-TYPE
         SYNTAX      Integer32 (1..7)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "LAG Hashing Option.

                       Valid values correspond to

                      1 (=Source MAC, VLAN, EtherType, and incoming port
                             associated with the packet)
                      2 (=Destination MAC, VLAN, EtherType, and incoming port
                             associated with the packet)
                      3 (=Source/Destination MAC, VLAN, EtherType, and incoming
                             port associated with the packet)
                      4 (=Source IP and Source TCP/UDP fields of the packet)
                      5 (=Destination IP and Destination TCP/UDP Port fields
                             of the packet)
                      6 (=Source/Destination IP and source/destination TCP/UDP
                             Port fields of the packet)
                      7 (=Enhanced hashing mode)

                      Support for particular options may vary by device."
         ::= { agentLagSummaryConfigEntry 13 }


    agentLagSummaryRateLoadInterval OBJECT-TYPE
         SYNTAX      Integer32 (30..600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The length of time for which data is used to compute load statistics.
                      The value is given in seconds, and must be a multiple of 30.  The allowable
                      range is 30 to 600 seconds."
         ::= { agentLagSummaryConfigEntry 15 }

    --**************************************************************************************

    agentLagDetailedConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentLagDetailedConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A detailed table of the switch's LAG config entries"
         ::= { agentLagConfigGroup 3 }

    agentLagDetailedConfigEntry OBJECT-TYPE
         SYNTAX      AgentLagDetailedConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's LAG config entry"
         INDEX       { agentLagDetailedLagIndex, agentLagDetailedIfIndex }
         ::= { agentLagDetailedConfigTable 1 }

    AgentLagDetailedConfigEntry ::= SEQUENCE {
             agentLagDetailedLagIndex
                 Integer32,
             agentLagDetailedIfIndex
                 Integer32,
             agentLagDetailedPortSpeed
                 OBJECT IDENTIFIER,
             agentLagDetailedPortStatus
                 INTEGER
             }

    agentLagDetailedLagIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG index"
         ::= { agentLagDetailedConfigEntry 1 }

    agentLagDetailedIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG port index"
         ::= { agentLagDetailedConfigEntry 2 }

    agentLagDetailedPortSpeed OBJECT-TYPE
         SYNTAX      OBJECT IDENTIFIER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG port speed.  See agentPortType for a description and list
                      of valid values."
         ::= { agentLagDetailedConfigEntry 3 }

    agentLagDetailedPortStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     inactive(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG port status.

                     active(1)   - Actively participating in the LAG.
                     inactive(2) - Not participating in the LAG."
         ::= { agentLagDetailedConfigEntry 4 }

    --**************************************************************************************

    agentLagConfigStaticCapability OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Agent LAG Static Capability.
                     Configures whether Static LAGs are supported on this device."
         ::= { agentLagConfigGroup 4 }
    agentLagConfigGroupHashOption OBJECT-TYPE
         SYNTAX      Integer32 (1..7)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "LAG Hashing Option.

                       Valid values correspond to

                      1 (=Source MAC, VLAN, EtherType, and incoming port
                             associated with the packet)
                      2 (=Destination MAC, VLAN, EtherType, and incoming port
                             associated with the packet)
                      3 (=Source/Destination MAC, VLAN, EtherType, and incoming
                             port associated with the packet)
                      4 (=Source IP and Source TCP/UDP fields of the packet)
                      5 (=Destination IP and Destination TCP/UDP Port fields
                             of the packet)
                      6 (=Source/Destination IP and source/destination TCP/UDP
                             Port fields of the packet)
                      7 (=Enhanced hashing mode)

                      Support for particular options may vary by device.

                      In BCM 53115 device only options 1 to 3 are support and only
                      MAC address associated with the packet is used. "
         ::= { agentLagConfigGroup 5 }

    --**************************************************************************************
    -- agentNetworkConfigGroup
    --
    --**************************************************************************************

    agentNetworkConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 3 }

    agentNetworkIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's network ip address"
         ::= { agentNetworkConfigGroup 1 }

    agentNetworkSubnetMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's network subnet mask"
         ::= { agentNetworkConfigGroup 2 }

    agentNetworkDefaultGateway OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's network default gateway"
         ::= { agentNetworkConfigGroup 3 }

    agentNetworkBurnedInMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's network Burned-In MAC address"
         ::= { agentNetworkConfigGroup 4 }

    agentNetworkLocalAdminMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The switch's network locally administered MAC address"
          ::= { agentNetworkConfigGroup 5 }

    agentNetworkMacAddressType OBJECT-TYPE
         SYNTAX      INTEGER {
                     burned-in(1),
                     local(2)
                  }
         MAX-ACCESS   read-only
         STATUS      deprecated
         DESCRIPTION
                     "The switch's network Mac Address Type"
         ::= { agentNetworkConfigGroup 6 }

    agentNetworkConfigProtocol OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     bootp(2),
                     dhcp(3)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's network config protocol"
         ::= { agentNetworkConfigGroup 7 }

    agentNetworkWebMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "The switch's network config protocol on next bootup

                     This object has been obsoleted by agentHTTPWebMode."

          ::= { agentNetworkConfigGroup 8 }

    agentNetworkJavaMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Configures the use of the Java interface through the Web.

                     This object has been obsoleted by agentHTTPJavaMode."

         ::= { agentNetworkConfigGroup 9 }

    agentNetworkMgmtVlan OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The VLAN ID through which the switch can be managed using the
                     agentNetworkIPAddress"
         ::= { agentNetworkConfigGroup 10 }

    agentNetworkConfigProtocolDhcpRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The switch's network config protocol dhcp is renewed."
         ::= { agentNetworkConfigGroup 11 }

    agentNetworkConfigIpDhcpRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Renew serviceport or interface ip address when dhcp is enabled.
					 Equivalent to ip dhcp restart.
					 deprecate agentNetworkConfigProtocolDhcpRenew
					 and agentServicePortProtocolDhcpRenew"
         ::= { agentNetworkConfigGroup 20 }

    agentNetworkConfigIpv6DhcpRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Renew serviceport or interface ipv6 address when dhcp is enabled.
					 Equivalent to ipv6 dhcp restart."
         ::= { agentNetworkConfigGroup 21 }




    --**************************************************************************************
    -- ipv6 agentNetworkPortConfigGroup
    --
    --**************************************************************************************

      agentNetworkIpv6AdminMode OBJECT-TYPE
         SYNTAX   INTEGER {
                    enabled(1),
                    disabled(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                "The network port IPv6 administrative state"
          ::= { agentNetworkConfigGroup 12 }

      agentNetworkIpv6Gateway OBJECT-TYPE
             SYNTAX      Ipv6AddressPrefix
             MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                     "The network port IPv6 Gateway Address
                      If Ipv6 Address is unspecified (all zero),
                      this means network Ipv6 gateway is not set."
             ::=  { agentNetworkConfigGroup 13 }

      agentNetworkIpv6AddrTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF AgentNetworkIpv6AddrEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                  "The list of IPv6 address prefixes
                   for the network port."
             ::=  { agentNetworkConfigGroup 14 }

 agentNetworkIpv6AddrEntry OBJECT-TYPE
             SYNTAX  AgentNetworkIpv6AddrEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "An interface entry containing objects of
                 a particular IPv6 address prefix"
             INDEX   {
                       agentNetworkIpv6AddrPrefix
                       }
             ::= { agentNetworkIpv6AddrTable 1 }
      AgentNetworkIpv6AddrEntry ::= SEQUENCE {
        agentNetworkIpv6AddrPrefix
          Ipv6AddressPrefix,
        agentNetworkIpv6AddrPrefixLength
          INTEGER,
        agentNetworkIpv6AddrEuiFlag
          INTEGER,
        agentNetworkIpv6AddrStatus
        RowStatus
    }

      agentNetworkIpv6AddrPrefix OBJECT-TYPE
             SYNTAX      Ipv6AddressPrefix
             MAX-ACCESS  not-accessible --read-write
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Address Prefix"
             ::=  { agentNetworkIpv6AddrEntry 1 }

     agentNetworkIpv6AddrPrefixLength OBJECT-TYPE
             SYNTAX      INTEGER (0..128)
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Address Prefix Length"
             ::=  { agentNetworkIpv6AddrEntry 2 }

     agentNetworkIpv6AddrEuiFlag OBJECT-TYPE
             SYNTAX      INTEGER {
                                  enabled(1),
                                  disabled(2)
                                 }
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Eui Flag"
             ::=  { agentNetworkIpv6AddrEntry 3 }

      agentNetworkIpv6AddrStatus OBJECT-TYPE
             SYNTAX      RowStatus
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                          ""
              ::= { agentNetworkIpv6AddrEntry 4}

      agentNetworkIpv6AddressAutoConfig OBJECT-TYPE
           SYNTAX     INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ipv6 address autoconfig allows the device to perform IPv6
                     stateless address auto-configuration to discover prefixes on the
                     link and then to add the eui-64 based addresses to the network interface."
         DEFVAL { disable }
         ::= { agentNetworkConfigGroup 15 }

      agentNetworkIpv6ConfigProtocol OBJECT-TYPE
           SYNTAX      INTEGER {
                       none(1),
                       dhcp(2)
                    }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
                       "The switch's network IPv6 config protocol"
           ::= { agentNetworkConfigGroup 16 }

    agentNetworkDhcp6ClientDuid OBJECT-TYPE
      SYNTAX      DisplayString (SIZE(1..255))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
       " The DHCPv6 Client unique DUID. This value cannot be modified"
    ::= { agentNetworkConfigGroup 17 }

    --**************************************************************************************
    -- ipv6 agentNetworkStatsGroup
    --
    --**************************************************************************************

    agentNetworkStatsGroup                 OBJECT IDENTIFIER ::= { agentNetworkConfigGroup 18 }

    agentNetworkDhcp6ADVERTISEMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type ADVERTISE that have been received by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 1 }

    agentNetworkDhcp6REPLYMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REPLY that have been received by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 2 }

    agentNetworkDhcp6ADVERTISEMessagesDiscarded OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type ADVERTISE that have been discarded by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 3 }

    agentNetworkDhcp6REPLYMessagesDiscarded OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REPLY that have been discarded by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 4 }

    agentNetworkDhcp6MalformedMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages received malformed by the DHCPv6 client on the network port."
    ::= { agentNetworkStatsGroup 5 }
    agentNetworkDhcp6SOLICITMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type SOLICIT that have been sent by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 6 }

    agentNetworkDhcp6REQUESTMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REQUEST that have been sent by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 7 }

    agentNetworkDhcp6RENEWMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type RENEW that have been sent by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 8 }

    agentNetworkDhcp6REBINDMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REBIND that have been sent by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 9 }

    agentNetworkDhcp6RELEASEMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type RELEASE that have been sent by the DHCPv6
       client on the network port."
    ::= { agentNetworkStatsGroup 10 }

    agentNetworkDhcp6StatsReset OBJECT-TYPE
       SYNTAX  INTEGER {
           none(0),
           reset(1)
       }
      MAX-ACCESS   read-write
      STATUS       current
      DESCRIPTION
           "Clear the DHCPv6 Client statistics on the network port. A value of reset(1)
            is used to reset the statistics. A read on this object will
            always return the value none(0). The value none(0) cannot
            be forcibly set by the administrator."
      ::= { agentNetworkStatsGroup 11 }

    --**************************************************************************************
    -- agentServicePortConfigGroup
    --
    --**************************************************************************************

    agentServicePortConfigGroup         OBJECT IDENTIFIER ::= { agentConfigGroup 4 }

    agentServicePortIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort ip address"
         ::= { agentServicePortConfigGroup 1 }

    agentServicePortSubnetMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort subnet mask"
         ::= { agentServicePortConfigGroup 2 }

    agentServicePortDefaultGateway OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort default gateway"
         ::= { agentServicePortConfigGroup 3 }

    agentServicePortBurnedInMacAddress OBJECT-TYPE
         SYNTAX      PhysAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort Burned-In MAC address"
         ::= { agentServicePortConfigGroup 4 }

    agentServicePortConfigProtocol OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     bootp(2),
                     dhcp(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort config protocol"
          ::= { agentServicePortConfigGroup 5 }

     agentServicePortProtocolDhcpRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The switch's ServicePort protocol dhcp is renewed."
          ::= { agentServicePortConfigGroup 6 }

    --**************************************************************************************
    -- agentServicePort2ConfigGroup
    --
    --**************************************************************************************

--    agentServicePort2ConfigGroup         OBJECT IDENTIFIER ::= { agentConfigGroup 5 }
--
--    agentServicePort2IPAddress OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The switch's ServicePort2 ip address"
--         ::= { agentServicePort2ConfigGroup 1 }
--
--    agentServicePort2SubnetMask OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-write
--         STATUS      current
--        DESCRIPTION
--                     "The switch's ServicePort2 subnet mask"
--         ::= { agentServicePort2ConfigGroup 2 }
--
--    agentServicePort2DefaultGateway OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The switch's ServicePort2 default gateway"
--         ::= { agentServicePort2ConfigGroup 3 }
--
--    agentServicePort2BurnedInMacAddress OBJECT-TYPE
--         SYNTAX      PhysAddress
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "The switch's ServicePort2 Burned-In MAC address"
--         ::= { agentServicePort2ConfigGroup 4 }
--
--    agentServicePort2ConfigProtocol OBJECT-TYPE
--         SYNTAX      INTEGER {
--                    none(1),
--                     bootp(2),
--                     dhcp(3)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The switch's ServicePort2 config protocol"
--          ::= { agentServicePort2ConfigGroup 5 }

    --**************************************************************************************
    -- ipv6 mgmt on serviceport
    --
    --**************************************************************************************
    agentServicePortIpv6AdminMode OBJECT-TYPE
         SYNTAX   INTEGER {
                     enabled(1),
                     disabled(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                "The service port IPv6 administrative state"
          ::= { agentServicePortConfigGroup 7 }

    agentServicePortIpv6Gateway OBJECT-TYPE
             SYNTAX      Ipv6AddressPrefix
             MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Gateway Address
                      If Ipv6 Address is unspecified (all zero),
                      this means serviceport Ipv6 gateway is not set."
             ::=  { agentServicePortConfigGroup 8 }

    agentServicePortIpv6AddrTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF AgentServicePortIpv6AddrEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                  "The list of IPv6 address prefixes for the
                   service port."
             ::=  { agentServicePortConfigGroup 9 }

    agentServicePortIpv6AddrEntry OBJECT-TYPE
             SYNTAX  AgentServicePortIpv6AddrEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "An interface entry containing objects of
                  a particular IPv6 address prefix"
             INDEX { agentServicePortIpv6AddrPrefix }
             ::= { agentServicePortIpv6AddrTable 1 }

    AgentServicePortIpv6AddrEntry ::= SEQUENCE {
        agentServicePortIpv6AddrPrefix
          Ipv6AddressPrefix,
        agentServicePortIpv6AddrPrefixLength
          INTEGER,
        agentServicePortIpv6AddrEuiFlag
          INTEGER,
        agentServicePortIpv6AddrStatus
        RowStatus
    }

      agentServicePortIpv6AddrPrefix OBJECT-TYPE
             SYNTAX      Ipv6AddressPrefix
             MAX-ACCESS  not-accessible --read-write
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Address Prefix"
             ::=  { agentServicePortIpv6AddrEntry 1 }

     agentServicePortIpv6AddrPrefixLength OBJECT-TYPE
             SYNTAX      INTEGER (0..128)
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Address Prefix Length"
             ::=  { agentServicePortIpv6AddrEntry 2 }

     agentServicePortIpv6AddrEuiFlag OBJECT-TYPE
             SYNTAX      INTEGER {
                                  enabled(1),
                                  disabled(2)
                                 }
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                  "The service port IPv6 Eui Flag"
             ::=  { agentServicePortIpv6AddrEntry 3 }

      agentServicePortIpv6AddrStatus OBJECT-TYPE
             SYNTAX      RowStatus
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                          ""
              ::= { agentServicePortIpv6AddrEntry 4}

      agentServicePortIpv6AddressAutoConfig OBJECT-TYPE
           SYNTAX     INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ipv6 address autoconfig allows the device to perform IPv6
                     stateless address auto-configuration to discover prefixes on the
                     link and then to add the eui-64 based addresses to the serviceport interface."
         DEFVAL { enable }
         ::= { agentServicePortConfigGroup 10 }

    agentServicePortIpv6ConfigProtocol OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     dhcp(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The Service Port.s IPv6 protocol configured on the switch."
          ::= { agentServicePortConfigGroup 11 }

    agentServicePortDhcp6ClientDuid OBJECT-TYPE
      SYNTAX      DisplayString (SIZE(1..255))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
       " The DHCPv6 Client unique DUID. This value cannot be modified"
    ::= { agentServicePortConfigGroup 12 }

    --**************************************************************************************
    -- ipv6 agentServicePortStatsGroup
    --
    --**************************************************************************************

    agentServicePortStatsGroup                 OBJECT IDENTIFIER ::= {agentServicePortConfigGroup 13 }

    agentServicePortDhcp6ADVERTISEMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type ADVERTISE that have been received by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 1 }

    agentServicePortDhcp6REPLYMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REPLY that have been received by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 2 }

    agentServicePortDhcp6ADVERTISEMessagesDiscarded OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type ADVERTISE that have been discarded by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 3 }

    agentServicePortDhcp6REPLYMessagesDiscarded OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REPLY that have been discarded by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 4 }

    agentServicePortDhcp6MalformedMessagesReceived OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages received malformed by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 5 }
    agentServicePortDhcp6SOLICITMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type SOLICIT that have been sent by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 6 }

    agentServicePortDhcp6REQUESTMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REQUEST that have been sent by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 7 }

    agentServicePortDhcp6RENEWMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type RENEW that have been sent by the DHCPv6
       client on the service port."
    ::= { agentServicePortStatsGroup 8 }

    agentServicePortDhcp6REBINDMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type REBIND that have been sent by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 9 }

    agentServicePortDhcp6RELEASEMessagesSent OBJECT-TYPE
      SYNTAX     Counter32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " The no. of DHCPv6 messages of type RELEASE that have been sent by the DHCPv6 client on the service port."
    ::= { agentServicePortStatsGroup 10 }

    agentServicePortDhcp6StatsReset OBJECT-TYPE
      SYNTAX  INTEGER {
         none(0),
         reset(1)
     }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
         "Clear the DHCPv6 Client statistics on the service port. A value of reset(1)
          is used to reset the statistics. A read on this object will
          always return the value none(0). The value none(0) cannot
          be forcibly set by the administrator."
    ::= { agentServicePortStatsGroup 11 }

    --**************************************************************************************
    -- agentSnmpConfigGroup
    --
    --**************************************************************************************

    agentSnmpConfigGroup                OBJECT IDENTIFIER  ::=  { agentConfigGroup 6 }

    agentSnmpCommunityCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Creates a new SNMP Community entry.
                     Defaults: IPAddress  0.0.0.0
                               IpMask     0.0.0.0
                               AccessMode read-only
                               Status     config"
         ::= { agentSnmpConfigGroup 1 }

    agentSnmpCommunityConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSnmpCommunityConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's SNMP Config entries"
         ::= { agentSnmpConfigGroup 2 }

    agentSnmpCommunityConfigEntry OBJECT-TYPE
         SYNTAX      AgentSnmpCommunityConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's SNMP Config entry"
         INDEX       {agentSnmpCommunityIndex }
         ::= { agentSnmpCommunityConfigTable 1 }

    AgentSnmpCommunityConfigEntry ::= SEQUENCE {
           agentSnmpCommunityIndex
               Integer32,
           agentSnmpCommunityName
               DisplayString,
           agentSnmpCommunityIPAddress
               IpAddress,
           agentSnmpCommunityIPMask
               IpAddress,
           agentSnmpCommunityAccessMode
               INTEGER,
           agentSnmpCommunityStatus
               INTEGER
       }

    agentSnmpCommunityIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community Index"
         ::= { agentSnmpCommunityConfigEntry 1 }

    agentSnmpCommunityName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community Name
                     This name identifies each SNMP community;
                     the name can be up to 16 characters, and it is case-sensitive.
                     Community names in the SNMP community must be unique.
                     If you make multiple entries using the same community name,
                     the first entry is kept and processed and all duplicate entries are ignored.
                     "
         ::= { agentSnmpCommunityConfigEntry 2 }

    agentSnmpCommunityIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community IP Address
                     Client IP Address - This attribute is an IP address (or portion thereof)
                     from which this device will accept SNMP packets with the associated
                     community. The requesting entity's IP address is logical-ANDed with
                     the Client IP Mask and the result must match the Client IP Address.
                     Note: If the Client IP Mask is set
                     to 0.0.0.0, a Client IP Address of 0.0.0.0 matches all IP addresses.
                     "
         ::= { agentSnmpCommunityConfigEntry 3 }

    agentSnmpCommunityIPMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community IP Mask
                     Client IP Mask - This attribute is a mask to be logical-ANDed with the
                     requesting entity's IP address before comparison with the Client IP Address.
                     If the result matches with Client IP Address then the address is an
                     authenticated IP address. For example, if the Client IP Address
                     is 9.47.128.0 and the corresponding Client IP Mask is 255.255.255.0,
                     a range of incoming IP addresses would match, that is, the incoming IP
                     addresses could be a value in the following range: 9.47.128.0 to 9.47.128.255.
                     To have a specific IP address be the only authenticated IP address, set the
                     Client IP Address to the required IP address and set the Client IP Mask
                     to 255.255.255.255.
                     "
         ::= { agentSnmpCommunityConfigEntry 4 }

    agentSnmpCommunityAccessMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     read-only(1),
                     read-write(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community Access Mode
                     Access Mode - This value can be read-only or read/write.
                     A community with a read-only access allows for switch information to be
                     displayed. A community with a read/write access allows for configuration
                     changes to be made and for information to be displayed.
                     "
         ::= { agentSnmpCommunityConfigEntry 5 }

    agentSnmpCommunityStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     notInService(2),
                     config(3),
                     destroy(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Community Status.

                     active(1)        - This community is active, allowing SNMP managers associated
                                        with this community to manage the switch according to its
                                        access right.

                     notInService(2)  - This community is not active; no SNMP requests using this
                                        community will be accepted. In this case the SNMP manager
                                        associated with this community cannot manage the switch until
                                        the Status is changed back to active(1).

                     config(3)        - The community Status must be set to this value in order to
                                        configure it.  When creating a new community entry, initial
                                        Status will be set to this value.

                     destroy(4)       - Set to this value to remove the community from the agent."
         ::= { agentSnmpCommunityConfigEntry 6 }


    --**************************************************************************************
    -- agentSnmpTrapReceiverConfigTable
    --
    --**************************************************************************************

    agentSnmpTrapReceiverCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Creates a new trap receiver entry.
                     Defaults: IPAddress 0.0.0.0
                               status    config"
         ::= { agentSnmpConfigGroup 3 }

    agentSnmpTrapReceiverConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSnmpTrapReceiverConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Trap messages are sent across a network to an SNMP Network Manager.
                     These messages alert the manager to events occurring within the switch
                     or on the network. Up to six simultaneous trap receivers are supported.
                     "
         ::= { agentSnmpConfigGroup 4 }

    agentSnmpTrapReceiverConfigEntry OBJECT-TYPE
         SYNTAX      AgentSnmpTrapReceiverConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's Snmp Trace Receiver Config entry"
         INDEX       { agentSnmpTrapReceiverIndex }
         ::= { agentSnmpTrapReceiverConfigTable 1 }

    AgentSnmpTrapReceiverConfigEntry ::= SEQUENCE {
           agentSnmpTrapReceiverIndex
               Integer32,
           agentSnmpTrapReceiverCommunityName
               DisplayString,
           agentSnmpTrapReceiverIPAddress
               DisplayString,
           agentSnmpTrapReceiverStatus
               INTEGER,
           agentSnmpTrapReceiverVersion
               INTEGER,
           agentSnmpTrapReceiverSecurityLevel
               INTEGER,
           agentSnmpTrapReceiverPort
               Integer32
       }

    agentSnmpTrapReceiverIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Trap Receiver Index"
         ::= { agentSnmpTrapReceiverConfigEntry 1 }

    agentSnmpTrapReceiverCommunityName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Trap Receiver Community Name.
                     This is the SNMP community name of the remote network manager;
                     the name can be up to 16 characters, and is case-sensitive.
                     "
         ::= { agentSnmpTrapReceiverConfigEntry 2 }

    agentSnmpTrapReceiverIPAddress OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Trap receiver IP or IPv6 address"
         ::= { agentSnmpTrapReceiverConfigEntry 3 }

    agentSnmpTrapReceiverStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     notInService(2),
                     config(3),
                     destroy(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Trap Reciever Status.
                     active(1)        - This trap receiver is active, allowing SNMP Traps to
                                        be sent to this receiver.

                     notInService(2)  - This trap reciever is not active; no SNMP Traps will
                                        be sent to this reciever until it's set back to active(1).


                     config(3)        - The trap reciever Status must be set to this value in order
                                        to configure it.  When creating a new trap receiver entry,
                                        the Status will initially be set to this value.
                                        Note: agentSnmpTrapReceiverIPAddress must be set to non-zero
                                        before changing to active(1) or notInService(2).

                     destroy(4)       - Set to this value to remove the trap receiver entry from
                                        the agent."
         ::= { agentSnmpTrapReceiverConfigEntry 4 }

    agentSnmpTrapReceiverVersion OBJECT-TYPE
         SYNTAX      INTEGER {
                     snmpv1(1),
                     snmpv2c(2),
                     snmpv3(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The version of trap sent to this Reciever.

                     snmpv1(1)        - This will send a SNMPv1 trap.

                     snmpv2c(2)       - This will send a SNMPv2c trap.
                     
                     snmpv3(3)       - This will send a SNMPv3 trap."
         DEFVAL { snmpv2c }
         ::= { agentSnmpTrapReceiverConfigEntry 5 }

    agentSnmpTrapReceiverSecurityLevel OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     auth(2),
                     priv(3),
                     notSupport(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The security level of SNMPv3 trap reciever.

                     none(1)       - SNMPv3 noAuthNoPriv security level.

                     auth(2)       - SNMPv3 authNoPriv security level.
                     
                     priv(3)       - SNMPv3 authPriv security level
                     
                     notSupport(4) - only support on SNMPv3"
         DEFVAL { none }
         ::= { agentSnmpTrapReceiverConfigEntry 6 }

    agentSnmpTrapReceiverPort OBJECT-TYPE
         SYNTAX      Integer32 (1..65535)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Trap receiver UDP port"
         DEFVAL { 162 }
         ::= { agentSnmpTrapReceiverConfigEntry 7 }


    --**************************************************************************************
    -- agentSnmpTrapFlagsConfigGroup
    --
    --**************************************************************************************

    agentSnmpTrapFlagsConfigGroup       OBJECT IDENTIFIER ::= { agentSnmpConfigGroup 5  }

    agentSnmpAuthenticationTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication Flag - Enable/Disable authentication Flag."
         ::= { agentSnmpTrapFlagsConfigGroup 1 }

    agentSnmpLinkUpDownTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Link Up/Down Flag - Enable/Disable Link Up/Link Down traps for the
                     entire switch. When set to Enable, the Link Up/Down traps will be
                     sent only if the Link Trap flag setting associated with the port
                     (Port Configuration Menu) is set to Enable.
                     "
         ::= { agentSnmpTrapFlagsConfigGroup 2 }

    agentSnmpMultipleUsersTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Multiple Users Flag - Enable/Disable Multiple User traps. When the value
                     is set to Enable, a Multiple User Trap is sent whenever someone logs in
                     to the terminal interface (EIA 232 or Telnet) and there is already an
                     existing terminal interface session.
                     "
         ::= { agentSnmpTrapFlagsConfigGroup 3 }

    agentSnmpSpanningTreeTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Spanning Tree Flag - This flag enables the sending of new root traps and
                     topology change notification traps."
         ::= { agentSnmpTrapFlagsConfigGroup 4 }

    agentSnmpACLTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable ACL traps."
         ::= { agentSnmpTrapFlagsConfigGroup 5 }

--    agentSnmpBroadcastStormTrapFlag OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      obsolete
--         DESCRIPTION
--                     "Broadcast Storm Flag - This flag enables or disables the broadcast
--                     storm trap. You must also enable Broadcast Storm Recovery Mode
--                     (see the Switch Configuration Menu). When this
--                     value is set to Enable and Broadcast Storm Recovery mode is set to Enable,
--                     the Broadcast Storm Start/End traps are sent when the switch enters and
--                     leaves Broadcast Storm Recovery.
--                     "
--         ::= { agentSnmpTrapFlagsConfigGroup 5 }

--/* Add for DOM support by KevinLee 2014/04/28*/
    agentSnmpTransceiverTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transceiver Flag - Enable/Disable Transceiver traps."
         ::= { agentSnmpTrapFlagsConfigGroup 7 }

    --**************************************************************************************
    -- agentSnmpInformConfigTable
    --
    --**************************************************************************************

    agentSnmpInformConfigGroup			OBJECT IDENTIFIER ::= { agentSnmpConfigGroup 6 }

    agentSnmpInformAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform Admin Mode"
         ::= { agentSnmpInformConfigGroup 1 }
         
    agentSnmpInformRetires OBJECT-TYPE
         SYNTAX      Integer32 (0..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform Retires"
         DEFVAL { 3 }
         ::= { agentSnmpInformConfigGroup 2 }
         
    agentSnmpInformTimeout OBJECT-TYPE
         SYNTAX      Integer32 (0..1000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform Timeout"
         DEFVAL { 15 }
         ::= { agentSnmpInformConfigGroup 3 }
         
    agentSnmpInformConfigTableCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Creates a new trap inform entry.
                     Defaults: IPAddress 0.0.0.0
                               status    config"
         ::= { agentSnmpInformConfigGroup 4 }

    agentSnmpInformConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSnmpInformConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Trap messages are sent across a network to an SNMP Network Manager.
                     These messages alert the manager to events occurring within the switch
                     or on the network. Up to six simultaneous trap receivers are supported."
         ::= { agentSnmpInformConfigGroup 5 }
    
    agentSnmpInformConfigEntry OBJECT-TYPE
         SYNTAX      AgentSnmpInformConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's Snmp Inform Config entry"
         INDEX       { agentSnmpInformIndex }
         ::= { agentSnmpInformConfigTable 1 }

    AgentSnmpInformConfigEntry ::= SEQUENCE {
           agentSnmpInformIndex
               Integer32,
           agentSnmpInformName
               DisplayString,
           agentSnmpInformIpAddress
               InetAddress,
           agentSnmpInformVersion
               INTEGER,
           agentSnmpInformStatus
               INTEGER,
           agentSnmpInformSecurityLevel
               INTEGER
       }

    agentSnmpInformIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform Index"
         ::= { agentSnmpInformConfigEntry 1 }

    agentSnmpInformName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform Name.
                     This is the SNMP community name of the remote network manager;
                     the name can be up to 16 characters, and is case-sensitive."
         ::= { agentSnmpInformConfigEntry 2 }

    agentSnmpInformIpAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Inform IP or IPv6 address."
         ::= { agentSnmpInformConfigEntry 3 }


    agentSnmpInformVersion OBJECT-TYPE
         SYNTAX      INTEGER {
                       snmpv2c(2),
                       snmpv3(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The version of inform sent to this Reciever.
                     
                     snmpv2c(2)       - This will send a SNMPv2c inform.
                     
                     snmpv3(3)       - This will send a SNMPv3 inform."
         DEFVAL { snmpv2c }
         ::= { agentSnmpInformConfigEntry 4 }
         
    agentSnmpInformStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       active(1),
                       notInService(2),
                       config(3),
                       destroy(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp Trap Inform Status.
                     active(1)        - This trap Inform is active, allowing SNMP Traps to
                                        be sent to this receiver.

                     notInService(2)  - This trap Inform is not active; no SNMP Traps will
                                        be sent to this reciever until it's set back to active(1).


                     config(3)        - The trap Inform Status must be set to this value in order
                                        to configure it.  When creating a new trap receiver entry,
                                        the Status will initially be set to this value.
                                        Note: agentSnmpTrapReceiverIPAddress must be set to non-zero
                                        before changing to active(1) or notInService(2).

                     destroy(4)       - Set to this value to remove the trap Inform entry from
                                        the agent."
         ::= { agentSnmpInformConfigEntry 5 }
 
    agentSnmpInformSecurityLevel OBJECT-TYPE
         SYNTAX      INTEGER {
                       none(1),
                       auth(2),
                       priv(3),
                       notSupport(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The security level of SNMPv3 trap inform.

                     none(1)       - SNMPv3 noAuthNoPriv security level.

                     auth(2)       - SNMPv3 authNoPriv security level.
                     
                     priv(3)       - SNMPv3 authPriv security level
                     
                     notSupport(4) - only support on SNMPv3"
         ::= { agentSnmpInformConfigEntry 6 }
 
    --**************************************************************************************
    -- agentSnmpUserConfigTable
    --
    --**************************************************************************************

    agentSnmpUserConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSnmpUserConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "SNMP user config table"
         ::= { agentSnmpConfigGroup 7 }
    
    agentSnmpUserConfigEntry OBJECT-TYPE
         SYNTAX      AgentSnmpUserConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's Snmp User Config entry"
         INDEX       { agentSnmpUserIndex }
         ::= { agentSnmpUserConfigTable 1 }

    AgentSnmpUserConfigEntry ::= SEQUENCE {
           agentSnmpUserIndex
               Integer32,
           agentSnmpUserUsername
               DisplayString,
           agentSnmpUserAuthentication
               INTEGER,
           agentSnmpUserAuthenticationPassword
               DisplayString,
           agentSnmpUserEncryption
               INTEGER,
           agentSnmpUserEncryptionPassword
               DisplayString,
           agentSnmpUserStatus
               INTEGER
       }

    agentSnmpUserIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Index"
         ::= { agentSnmpUserConfigEntry 1 }

    agentSnmpUserUsername OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Name."
         ::= { agentSnmpUserConfigEntry 2 }

    agentSnmpUserAuthentication OBJECT-TYPE
          SYNTAX      INTEGER {
                       none(1),
                       md5(2),
                       sha(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Authentication."
         DEFVAL { none }
         ::= { agentSnmpUserConfigEntry 3 }
         
    agentSnmpUserAuthenticationPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Authentication Password."
         ::= { agentSnmpUserConfigEntry 4 }


    agentSnmpUserEncryption OBJECT-TYPE
         SYNTAX      INTEGER {
                       none(1),
                       des(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Encryption."
         DEFVAL { none }
         ::= { agentSnmpUserConfigEntry 5 }
         
    agentSnmpUserEncryptionPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp User Encryption Password."
         ::= { agentSnmpUserConfigEntry 6 }
         
    agentSnmpUserStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       active(1),
                       create(4),
                       destory(6)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of SNMP user.
                     
                     active(1)       - This snmp user is active.
                     
                     create(4)       - Create a new SNMP user.
                     
                     destory(6)      - Delete a SNMP user."
         DEFVAL { active }
         ::= { agentSnmpUserConfigEntry 7 }


    --**************************************************************************************
    -- agentSnmpEngineIdConfigTable
    --
    --**************************************************************************************

    agentSnmpEngineIdConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSnmpEngineIdConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "SNMP EngineID config table"
         ::= { agentSnmpConfigGroup 8 }
    
    --**************************************************************************************
    -- agentSnmpTrapSourceInterface
    --
    --**************************************************************************************
	agentSnmpTrapSourceInterface OBJECT-TYPE
         SYNTAX      InterfaceIndexOrZero 
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "A source-interface selection on an Interface Index (like vlan based 
              routing interface, port based routing interface, loopback interface, 
              tunnel interface). A non-zero value indicates ifIndex for the 
              corresponding interface entry in the ifTable is selected.
              A zero value indicates the source-interface un-selection."
         ::= { agentSnmpConfigGroup 9 }
    
    agentSnmpEngineIdConfigEntry OBJECT-TYPE
         SYNTAX      AgentSnmpEngineIdConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's Snmp EngineID Config entry"
         INDEX       { agentSnmpEngineIdIndex }
         ::= { agentSnmpEngineIdConfigTable 1 }

    AgentSnmpEngineIdConfigEntry ::= SEQUENCE {
           agentSnmpEngineIdIndex
               Integer32,
           agentSnmpEngineIdIpAddress
               InetAddress,
           agentSnmpEngineIdString
               DisplayString,
           agentSnmpEngineIdStatus
               INTEGER
       }

    agentSnmpEngineIdIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp EngineID Index"
         ::= { agentSnmpEngineIdConfigEntry 1 }

    agentSnmpEngineIdIpAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp EngineID IP or IPv6 address."
         ::= { agentSnmpEngineIdConfigEntry 2 }

    agentSnmpEngineIdString OBJECT-TYPE
          SYNTAX      DisplayString (SIZE(1..24))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Snmp EngineID String"
         ::= { agentSnmpEngineIdConfigEntry 3 }
         
    agentSnmpEngineIdStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       active(1),
                       create(4),
                       destory(6)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of SNMP EngineID.
                     
                     active(1)       - This snmp EngineID is active.
                     
                     create(4)       - Create a new SNMP EngineID.
                     
                     destory(6)      - Delete a SNMP EngineID."
         DEFVAL { active }
         ::= { agentSnmpEngineIdConfigEntry 4 }


    --**************************************************************************************
    -- agentSpanningTreeConfigGroup
    --
    --**************************************************************************************
    agentSpanningTreeConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 7 }


    agentSpanningTreeMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "The switch's Spanning Tree Switch Status. This functionality is now 
                     handled by agentStpAdminMode"
         ::= { agentSpanningTreeConfigGroup 1 }


    --**************************************************************************************
    -- agentSwitchConfigGroup
    --
    --**************************************************************************************

    agentSwitchConfigGroup                      OBJECT IDENTIFIER ::= { agentConfigGroup 8 }

    agentSwitchAddressAgingTimeoutTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchAddressAgingTimeoutEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's address aging timeout table"
         ::= { agentSwitchConfigGroup 4 }

    agentSwitchAddressAgingTimeoutEntry OBJECT-TYPE
         SYNTAX      AgentSwitchAddressAgingTimeoutEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Aging information about a specific Filtering Database."
         INDEX       { dot1qFdbId }
         ::= { agentSwitchAddressAgingTimeoutTable 1 }

    AgentSwitchAddressAgingTimeoutEntry ::=
         SEQUENCE {
             agentSwitchAddressAgingTimeout
                 Integer32
         }

    agentSwitchAddressAgingTimeout OBJECT-TYPE
         SYNTAX   Integer32 (10..1000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The FDB entry's address aging timeout (in seconds)"
         DEFVAL { 300 }
         ::= { agentSwitchAddressAgingTimeoutEntry 1 }

    --**************************************************************************************

    agentSwitchStaticMacFilteringTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchStaticMacFilteringEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's static Mac filtering table"
         ::= { agentSwitchConfigGroup 5 }

    agentSwitchStaticMacFilteringEntry OBJECT-TYPE
         SYNTAX      AgentSwitchStaticMacFilteringEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Per-port ingress/egress filter configuration based on VLAN Id and MAC address."
         INDEX       { agentSwitchStaticMacFilteringVlanId, agentSwitchStaticMacFilteringAddress }
         ::= { agentSwitchStaticMacFilteringTable 1 }

    AgentSwitchStaticMacFilteringEntry ::=
         SEQUENCE {
             agentSwitchStaticMacFilteringVlanId
                 Integer32,
             agentSwitchStaticMacFilteringAddress
                 MacAddress,
             agentSwitchStaticMacFilteringSourcePortMask
                 AgentPortMask,
             agentSwitchStaticMacFilteringDestPortMask
                 AgentPortMask,
             agentSwitchStaticMacFilteringStatus
                 RowStatus
         }

    agentSwitchStaticMacFilteringVlanId OBJECT-TYPE
         SYNTAX   Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The Static MAC Filter Vlan Id"
         ::= { agentSwitchStaticMacFilteringEntry 1 }

    agentSwitchStaticMacFilteringAddress OBJECT-TYPE
         SYNTAX   MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The Static MAC Filter MAC address"
         ::= { agentSwitchStaticMacFilteringEntry 2 }

    agentSwitchStaticMacFilteringSourcePortMask OBJECT-TYPE
         SYNTAX   AgentPortMask
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The Static MAC Filter source port mask.

                     When setting this value, the system will ignore configuration for ports not
                     between the first and last valid ports.  Configuration of any port numbers
                     between this range that are not valid ports return a failure message, but will
                     still apply configuration for valid ports.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table."

         ::= { agentSwitchStaticMacFilteringEntry 3 }

    agentSwitchStaticMacFilteringDestPortMask OBJECT-TYPE
         SYNTAX   AgentPortMask
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The Static MAC Filter destination port mask.

                     When setting this value, the system will ignore configuration for ports not
                     between the first and last valid ports.  Configuration of any port numbers
                     between this range that are not valid ports return a failure message, but will
                     still apply configuration for valid ports.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table.

                     Configuring destination port mask for a unicast MAC filter is not supported on some platforms."
         ::= { agentSwitchStaticMacFilteringEntry 4 }

    agentSwitchStaticMacFilteringStatus OBJECT-TYPE
         SYNTAX   RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The Static MAC Filter status.

                     Supported values:
                     active(1)      - valid entry
                     createAndGo(4) - used to create a new entry
                     destroy(6)     - removes the entry"
         ::= { agentSwitchStaticMacFilteringEntry 5 }

    --**************************************************************************************
    -- agentSwitchStormControlGroup
    --
    --**************************************************************************************

--   agentSwitchStormControlGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 12 }
--
--
--   agentSwitchDot3FlowControlMode OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    enable(1),
--                    disable(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Config switchconfig flowcontrol allows you to enable or disable
--                    802.3x flow control for the switch. This value
--                    applies to only full-duplex mode ports. "
--        DEFVAL { disable }
--        ::= { agentSwitchStormControlGroup 1 }
--
--   agentSwitchBroadcastControlMode OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    enable(1),
--                    disable(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "The switch config broadcast allows you to enable or disable
--                    broadcast storm recovery mode. When you specify Enable for Broadcast
--                    Storm Recovery and the broadcast traffic on any Ethernet port exceeds
--                    the configured threshold, the switch blocks (discards) the broadcast
--                    traffic."
--        DEFVAL { disable }
--        ::= { agentSwitchStormControlGroup 4 }
--
--   agentSwitchBroadcastControlThreshold OBJECT-TYPE
--        SYNTAX      Unsigned32(0..14880000)
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the broadcast storm recovery threshold for this port
--                    as a percentage of port speed or as an absolute pps rate."
--        DEFVAL { 5 }
--        ::= { agentSwitchStormControlGroup 5 }
--
--   agentSwitchBroadcastControlThresholdUnit OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    percent(1),
--                    pps(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the units of the threshold value to percentage of
--                    port speed or absolute packets per second."
--        DEFVAL { percent }
--        ::= { agentSwitchStormControlGroup 10 }
--
--   agentSwitchMulticastControlMode OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    enable(1),
--                    disable(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "The switch config multicast allows you to enable or disable
--                    multicast storm recovery mode. When you specify Enable for multicast
--                    Storm Recovery and the multicast traffic on any Ethernet port exceeds
--                    the configured threshold, the switch blocks (discards) the multicast
--                    traffic."
--        DEFVAL { disable }
--        ::= { agentSwitchStormControlGroup 6 }
--
--   agentSwitchMulticastControlThreshold OBJECT-TYPE
--        SYNTAX      Unsigned32(0..14880000)
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the multicast storm recovery threshold for this port
--                    as a percentage of port speed or as an absolute pps rate."
--        DEFVAL { 5 }
--        ::= { agentSwitchStormControlGroup 7 }
--
--  agentSwitchMulticastControlThresholdUnit OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    percent(1),
--                    pps(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the units of the threshold value to percentage of
--                    port speed or absolute packets per second."
--        DEFVAL { percent }
--        ::= { agentSwitchStormControlGroup 11 }
--
--   agentSwitchUnicastControlMode OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    enable(1),
--                    disable(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "The switch config unicast allows you to enable or disable
--                    unicast storm recovery mode. When you specify Enable for unicast
--                    Storm Recovery and the unknown unicast traffic on any Ethernet port exceeds
--                    the configured threshold, the switch blocks (discards) the unknown unicast
--                    traffic."
--        DEFVAL { disable }
--        ::= { agentSwitchStormControlGroup 8 }
--
--   agentSwitchUnicastControlThreshold OBJECT-TYPE
--        SYNTAX      Unsigned32(0..14880000)
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the unicast storm recovery threshold for this port
--                    as a percentage of port speed or as an absolute pps rate."
--        DEFVAL { 5 }
--        ::= { agentSwitchStormControlGroup 9 }
--
--   agentSwitchUnicastControlThresholdUnit OBJECT-TYPE
--        SYNTAX      INTEGER {
--                    percent(1),
--                    pps(2)
--                 }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--                    "Configures the units of the threshold value to percentage of
--                    port speed or absolute packets per second."
--        DEFVAL { percent }
--        ::= { agentSwitchStormControlGroup 12 }

    --**************************************************************************************
    -- agentSwitchSnoopingGroup
    --
    --**************************************************************************************

    agentSwitchSnoopingGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 6 }


    agentSwitchSnoopingCfgTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSnoopingCfgEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IGMP/MLD Snooping Global configuration entries."
         ::= { agentSwitchSnoopingGroup 1 }

    agentSwitchSnoopingCfgEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSnoopingCfgEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for Snooping switch Configuration."
         INDEX       { agentSwitchSnoopingProtocol }
         ::= { agentSwitchSnoopingCfgTable 1 }

   AgentSwitchSnoopingCfgEntry ::= SEQUENCE {
           agentSwitchSnoopingProtocol
              InetAddressType,
           agentSwitchSnoopingAdminMode
              INTEGER,
           agentSwitchSnoopingPortMask
              AgentPortMask,
           agentSwitchSnoopingMulticastControlFramesProcessed
              Counter32
          }

   agentSwitchSnoopingProtocol OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The protocol type of network protocol in use."
         ::= { agentSwitchSnoopingCfgEntry 1 }

    agentSwitchSnoopingAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables Snooping on the system. "
         DEFVAL { disable }
         ::= { agentSwitchSnoopingCfgEntry 2 }

    agentSwitchSnoopingPortMask OBJECT-TYPE
         SYNTAX      AgentPortMask
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "IGMP/MLD Snooping Port Mask.

                     This allows configuration of IGMP/MLD Snooping on selected ports.
                     IGMP/MLD Snooping cannot be enabled on an interface that has routing
                     enabled, or is a member of a LAG.  If a port which has IGMP/MLD Snooping
                     enabled becomes enabled for routing, or is enlisted as a member of a
                     LAG, IGMP/MLD Snooping functionality will be disabled on that port.  IGMP/MLD
                     Snooping functionality will be subsequently be reenabled if routing is
                     disabled or LAG membership is removed from an interface that had previously
                     had IGMP/MLD Snooping enabled.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table."
         DEFVAL { '000000000000'H }
         ::= { agentSwitchSnoopingCfgEntry 3 }

    agentSwitchSnoopingMulticastControlFramesProcessed OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Multicast Control Frames Processed by CPU.
                     The number of multicast control frames that have been processed by the CPU."
         ::= { agentSwitchSnoopingCfgEntry 4 }

    --**************************************************************************************
    -- agentSwitchSnoopingIntfGroup
    --
    --**************************************************************************************

    agentSwitchSnoopingIntfGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 7 }

    agentSwitchSnoopingIntfTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSnoopingIntfEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IGMP/MLD Snooping Interface configuration entries."
         ::= { agentSwitchSnoopingIntfGroup 1 }

    agentSwitchSnoopingIntfEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSnoopingIntfEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a IGMP/MLD Snooping Interface."
         INDEX       { ifIndex, agentSwitchSnoopingProtocol }
         ::= { agentSwitchSnoopingIntfTable 1 }

   AgentSwitchSnoopingIntfEntry ::= SEQUENCE {
          agentSwitchSnoopingIntfIndex
              Unsigned32,
          agentSwitchSnoopingIntfAdminMode
              INTEGER,
          agentSwitchSnoopingIntfGroupMembershipInterval
              Integer32,
-- georgehu 2013.10.03, Defect 120352: [MLD snooping] The max response time in global mld snooping does not work but work in vlan database command
--          agentSwitchSnoopingIntfMaxResponseTime
--              Integer32,
          agentSwitchSnoopingIntfMRPExpirationTime
              Integer32,
          agentSwitchSnoopingIntfFastLeaveAdminMode
              INTEGER,
          agentSwitchSnoopingIntfMulticastRouterMode
              INTEGER,
          agentSwitchSnoopingIntfVlanIDs
              VlanList
          }

   agentSwitchSnoopingIntfIndex OBJECT-TYPE
         SYNTAX      Unsigned32 (1..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The port number to be selected. Each port maps to an interface."
         ::= { agentSwitchSnoopingIntfEntry 1 }

   agentSwitchSnoopingIntfAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables IGMP/MLD Snooping on a selected interface."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingIntfEntry 2 }

    agentSwitchSnoopingIntfGroupMembershipInterval OBJECT-TYPE
         SYNTAX      Integer32 (2..3600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds that a switch will wait for a report
                     from a particular group on the selected interface before deleting the
                     interface from the entry. This value must be greater than
                     agentSwitchSnoopingIntfMaxResponseTime."
         DEFVAL { 260 }
         ::= { agentSwitchSnoopingIntfEntry 3 }

-- georgehu 2013.10.03, Defect 120352: [MLD snooping] The max response time in global mld snooping does not work but work in vlan database command
--    agentSwitchSnoopingIntfMaxResponseTime OBJECT-TYPE
--         SYNTAX      Integer32
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The amount of time in seconds a switch will wait after sending
--                     a query on the selected interface because it did not receive a report for
--                     a particular group in that interface.  This value must be less
--                     than agentSwitchSnoopingIntfGroupMembershipInterval. For IGMP Snooping,
--                     this value ranges from 1 to 25 and for MLD Snooping, this value
--                     ranges from 1 to 65."
--
--         DEFVAL { 10 }
--         ::= { agentSwitchSnoopingIntfEntry 4 }

    agentSwitchSnoopingIntfMRPExpirationTime OBJECT-TYPE
         SYNTAX      Integer32 (0..3600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds that a switch will wait for a query to be
                     received on the selected interface before the interface is removed from
                     the list of interfaces with multicast routers attached."
         DEFVAL { 0 }
         ::= { agentSwitchSnoopingIntfEntry 5 }

    agentSwitchSnoopingIntfFastLeaveAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables IGMP/MLD Snooping on the selected interface."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingIntfEntry 6 }

    agentSwitchSnoopingIntfMulticastRouterMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables Multicast Routing on the selected interface."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingIntfEntry 7 }

    agentSwitchSnoopingIntfVlanIDs OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This field lists all the VlanIDs which include the selected interface."
         ::= { agentSwitchSnoopingIntfEntry 8 }


    --**************************************************************************************
    -- agentSwitchSnoopingVlanGroup
    --
    --**************************************************************************************

    agentSwitchSnoopingVlanGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 8 }

    agentSwitchSnoopingVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSnoopingVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IGMP/MLD Snooping Vlan configuration entries."
         ::= { agentSwitchSnoopingVlanGroup 1 }

    agentSwitchSnoopingVlanEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSnoopingVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a IGMP/MLD Snooping Vlan."
         INDEX       { dot1qVlanIndex, agentSwitchSnoopingProtocol }
         ::= { agentSwitchSnoopingVlanTable 1 }

   AgentSwitchSnoopingVlanEntry ::= SEQUENCE {
          agentSwitchSnoopingVlanAdminMode
              INTEGER,
          agentSwitchSnoopingVlanGroupMembershipInterval
              Integer32,
          agentSwitchSnoopingVlanMaxResponseTime
              Integer32,
          agentSwitchSnoopingVlanFastLeaveAdminMode
              INTEGER,
          agentSwitchSnoopingVlanMRPExpirationTime
              Integer32
          }

   agentSwitchSnoopingVlanAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables IGMP/MLD Snooping on a selected Vlan interface."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingVlanEntry 1 }

   agentSwitchSnoopingVlanGroupMembershipInterval OBJECT-TYPE
         SYNTAX      Integer32 (2..3600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds that a switch will wait for a report
                     from a particular group on the selected vlan before deleting the
                     interface participating in the vlan from the entry. This value must
                     be greater than agentSwitchSnoopingIntfMaxResponseTime."
         DEFVAL { 260 }
         ::= { agentSwitchSnoopingVlanEntry 2 }

   agentSwitchSnoopingVlanMaxResponseTime OBJECT-TYPE
         SYNTAX      Integer32 (1..3599)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds a switch will wait after sending
                     a query on the selected vlan because it did not receive a report for
                     a particular group in the interface participating in the vlan.
                     This value must be less than
                     agentSwitchSnoopingIntfGroupMembershipInterval. For IGMP Snooping,
                     this value ranges from 1 to 25 and for MLD Snooping, this value
                     ranges from 1 to 65."
         DEFVAL { 10 }
         ::= { agentSwitchSnoopingVlanEntry 3 }

   agentSwitchSnoopingVlanFastLeaveAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables IGMP/MLD Snooping on the selected vlan."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingVlanEntry 4 }

   agentSwitchSnoopingVlanMRPExpirationTime OBJECT-TYPE
         SYNTAX      Integer32 (0..3600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds that a switch will wait for a query to be
                     received on the selected interface participating in the vlan before the
                     interface is removed from the list of interfaces with multicast routers
                     attached. This parameter is configurable only for exisiting Vlans."
         DEFVAL { 0 }
         ::= { agentSwitchSnoopingVlanEntry 5 }


    --**************************************************************************************
    -- agentSwitchVlanStaticMrouterGroup
    --
    --**************************************************************************************
    agentSwitchVlanStaticMrouterGroup               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 9 }

    agentSwitchVlanStaticMrouterTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchVlanStaticMrouterEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IGMP/MLD Static Mrouter Configuration parameters."
         ::= { agentSwitchVlanStaticMrouterGroup 1 }

    agentSwitchVlanStaticMrouterEntry OBJECT-TYPE
         SYNTAX      AgentSwitchVlanStaticMrouterEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a IGMP/MLD Static Mrouter."
         INDEX       { ifIndex,
                           dot1qVlanIndex, agentSwitchSnoopingProtocol }
         ::= { agentSwitchVlanStaticMrouterTable 1 }

   AgentSwitchVlanStaticMrouterEntry ::= SEQUENCE {
          agentSwitchVlanStaticMrouterAdminMode
                 INTEGER
          }

   agentSwitchVlanStaticMrouterAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables IGMP/MLD Mrouter on a per-interface per-vlan basis."
         DEFVAL { disable }
         ::= { agentSwitchVlanStaticMrouterEntry 1 }


    --**************************************************************************************
    -- agentSwitchMFDBGroup
    --
    --**************************************************************************************
    agentSwitchMFDBGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 10 }

    agentSwitchMFDBTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchMFDBEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Multicast Forwarding Database table"
         ::= { agentSwitchMFDBGroup 1 }

    agentSwitchMFDBEntry OBJECT-TYPE
         SYNTAX      AgentSwitchMFDBEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Contains Forwarding and Filtering information per Vlan Index, MAC Address, and
                     Component User."
         INDEX       { agentSwitchMFDBVlanId, agentSwitchMFDBMacAddress, agentSwitchMFDBProtocolType, agentSwitchMFDBType }
         ::= { agentSwitchMFDBTable 1 }

    AgentSwitchMFDBEntry ::=
         SEQUENCE {
             agentSwitchMFDBVlanId
                 VlanIndex,
             agentSwitchMFDBMacAddress
                 MacAddress,
             agentSwitchMFDBProtocolType
                 INTEGER,
             agentSwitchMFDBType
                 INTEGER,
             agentSwitchMFDBDescription
                 DisplayString,
             agentSwitchMFDBForwardingPortMask
                 AgentPortMask,
             agentSwitchMFDBFilteringPortMask
                 AgentPortMask
         }

    agentSwitchMFDBVlanId OBJECT-TYPE
         SYNTAX   VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Vlan Index for which this entry is associated with."
         ::= { agentSwitchMFDBEntry 1 }

    agentSwitchMFDBMacAddress OBJECT-TYPE
         SYNTAX   MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "A multicast MAC address for which the switch has forwarding and or
                     filtering information."
         ::= { agentSwitchMFDBEntry 2 }

    agentSwitchMFDBProtocolType OBJECT-TYPE
         SYNTAX   INTEGER {
                  static(1),
                  gmrp(2),
                  igmp(3),
                  mld(4)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The component that is responsible for this entry in the Multicast
                     Forwarding Database."
         ::= { agentSwitchMFDBEntry 3 }

    agentSwitchMFDBType OBJECT-TYPE
         SYNTAX   INTEGER {
                  static(1),
                  dynamic(2)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This displays the type of the entry.

                     static(1)  - Entries configured by the end user
                     dynamic(2) - Entries added as a result of a learning process or protocol

					 if agentSwitchMFDBForwardingPortMask is all zero means there is no such
					 agentSwitchMFDBType assigned forwarding port."
         ::= { agentSwitchMFDBEntry 4 }

    agentSwitchMFDBDescription OBJECT-TYPE
         SYNTAX   DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Text description of this multicast table entry."
         ::= { agentSwitchMFDBEntry 5 }

    agentSwitchMFDBForwardingPortMask OBJECT-TYPE
         SYNTAX   AgentPortMask
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "BitMask indicating which ports this entry indicates should be forwarded.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table."
         ::= { agentSwitchMFDBEntry 6 }

    agentSwitchMFDBFilteringPortMask OBJECT-TYPE
         SYNTAX   AgentPortMask
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "BitMask indicating which ports this entry indicates should be filtered.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table."
         ::= { agentSwitchMFDBEntry 7 }

    --**************************************************************************************

    agentSwitchMFDBSummaryTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchMFDBSummaryEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Multicast Forwarding Database Summary table"
         ::= { agentSwitchMFDBGroup 2 }

    agentSwitchMFDBSummaryEntry OBJECT-TYPE
         SYNTAX      AgentSwitchMFDBSummaryEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Summarizes the forwarding ports for all components registered for all
                     MFDB table entries with the same Vlan Index and MAC Address."
         INDEX       { agentSwitchMFDBSummaryVlanId, agentSwitchMFDBSummaryMacAddress }
         ::= { agentSwitchMFDBSummaryTable 1 }

    AgentSwitchMFDBSummaryEntry ::=
         SEQUENCE {
             agentSwitchMFDBSummaryVlanId
                 VlanIndex,
             agentSwitchMFDBSummaryMacAddress
                 MacAddress,
             agentSwitchMFDBSummaryForwardingPortMask
                 AgentPortMask
         }

    agentSwitchMFDBSummaryVlanId OBJECT-TYPE
         SYNTAX   VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Vlan Index for which this entry is associated with."
         ::= { agentSwitchMFDBSummaryEntry 1 }

    agentSwitchMFDBSummaryMacAddress OBJECT-TYPE
         SYNTAX   MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "A multicast MAC address for which the switch has forwarding and or
                     filtering information."
         ::= { agentSwitchMFDBSummaryEntry 2 }

    agentSwitchMFDBSummaryForwardingPortMask OBJECT-TYPE
         SYNTAX   AgentPortMask
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Port Mask indicating which ports this entry indicates should be forwarded.

                     To obtain port numbers from interface numbers, use the objects
                     agentPortDot1dBasePort and agentPortIfIndex in the agentPortConfigTable
                     table."
         ::= { agentSwitchMFDBSummaryEntry 3 }

    --**************************************************************************************

    agentSwitchMFDBMaxTableEntries OBJECT-TYPE
         SYNTAX   Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This displays the maximum number of entries that can possibly be in
                     the Multicast Forwarding Database table."
         ::= { agentSwitchMFDBGroup 3 }

    agentSwitchMFDBMostEntriesUsed OBJECT-TYPE
         SYNTAX   Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This displays the largest number of entries that have been present
                     in the Multicast Forwarding Database table. This value is also known
                     as the MFDB high-water mark."
         ::= { agentSwitchMFDBGroup 4 }

    agentSwitchMFDBCurrentEntries OBJECT-TYPE
         SYNTAX   Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This displays the current number of entries in the Multicast
                     Forwarding Database table."
         ::= { agentSwitchMFDBGroup 5 }


    --**************************************************************************************
    -- agentSwitchDVlanTagGroup
    --
    --**************************************************************************************

    agentSwitchDVlanTagGroup                      OBJECT IDENTIFIER ::= {    agentSwitchConfigGroup 11 }

    agentSwitchDVlanTagEthertype OBJECT-TYPE         
         SYNTAX      Integer32 (1..65535) -- 0x0001..0xFFFF         
         MAX-ACCESS  read-write         
         STATUS      obsolete         
         DESCRIPTION                     
         "Configures the Double Vlan Tag Ethertype for the switch.
          If this object is supported, ethertype cannot be configured per port.                      
          Commonly used are the Ethertypes for vman tags (34984, or 0x88A8)                      
          and dot1q tags (33024, or 0x8100)."         
          ::= { agentSwitchDVlanTagGroup 1 }

    agentSwitchDVlanTagTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "A table of entries specifying the ethertype (TPID) values.
          This will let the user specify multiple ethertypes globally."
         ::= { agentSwitchDVlanTagGroup 2 }

    agentSwitchDVlanTagEntry OBJECT-TYPE
         SYNTAX      AgentSwitchDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "A table entry specifying the ethertype (TPID) values.
          Commonly used are the Ethertypes for vman tags (34984, or 0x88A8)                      
          and dot1q tags (33024, or 0x8100)."
         INDEX        { agentSwitchDVlanTagTPid }
         ::= { agentSwitchDVlanTagTable 1 }

    AgentSwitchDVlanTagEntry ::=
         SEQUENCE {
          agentSwitchDVlanTagTPid         Integer32,
          agentSwitchDVlanTagPrimaryTPid  INTEGER,
          agentSwitchDVlanTagRowStatus    RowStatus
          }

     agentSwitchDVlanTagTPid OBJECT-TYPE
         SYNTAX      Integer32 (1..65535) -- 0x0001..0xFFFF
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "Ethertype value to identify incoming double tagged frames"
         ::= { agentSwitchDVlanTagEntry 1 }

    agentSwitchDVlanTagPrimaryTPid OBJECT-TYPE
         SYNTAX      INTEGER {
                     true(1),
                     false(2)
                  }
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
         "Specifies if this TPID is primary TPID for the switch or not"
         ::= { agentSwitchDVlanTagEntry 2}

     agentSwitchDVlanTagRowStatus OBJECT-TYPE
         SYNTAX      RowStatus 
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
         "Row status"
         ::= { agentSwitchDVlanTagEntry 3}

    agentSwitchPortDVlanTagTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchPortDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "A table entries specifying the ethertype (TPID) values per port."
         ::= { agentSwitchDVlanTagGroup 3 }

        agentSwitchPortDVlanTagEntry OBJECT-TYPE
         SYNTAX      AgentSwitchPortDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "A table entry specifying the ethertype (TPID) value for a port."
         INDEX        { agentSwitchPortDVlanTagInterfaceIfIndex,
                        agentSwitchPortDVlanTagTPid
                      }
         ::= { agentSwitchPortDVlanTagTable 1 }
        
    AgentSwitchPortDVlanTagEntry ::=
         SEQUENCE {
          agentSwitchPortDVlanTagInterfaceIfIndex     Integer32,
          agentSwitchPortDVlanTagTPid                 Integer32,
          agentSwitchPortDVlanTagMode                 INTEGER,
          agentSwitchPortDVlanTagCustomerId           Integer32,
          agentSwitchPortDVlanTagRowStatus            RowStatus
          }

     agentSwitchPortDVlanTagInterfaceIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "Port Id on to which the Ethertype value is mapped"
         ::= { agentSwitchPortDVlanTagEntry 1 }

     agentSwitchPortDVlanTagTPid OBJECT-TYPE
         SYNTAX      Integer32 (1..65535) -- 0x0001..0xFFFF
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION
         "Ethertype value to identify incoming double tagged frames"
         ::= { agentSwitchPortDVlanTagEntry 2 }

    agentSwitchPortDVlanTagMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
         "Controls the Double Vlan Tag mode on this port."
         ::= { agentSwitchPortDVlanTagEntry 3}

    agentSwitchPortDVlanTagCustomerId OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
         "Configures the Customer ID for the Double Vlan Tag for this port."
         ::= { agentSwitchPortDVlanTagEntry 4 }

     agentSwitchPortDVlanTagRowStatus OBJECT-TYPE
         SYNTAX      RowStatus 
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
         "Row status"
         ::= { agentSwitchPortDVlanTagEntry 5}


    agentSwitchIfDVlanTagTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchIfDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
         "A table entries specifying the ethertype (TPID) values per interface."
         ::= { agentSwitchDVlanTagGroup 4 }

        agentSwitchIfDVlanTagEntry OBJECT-TYPE
         SYNTAX      AgentSwitchIfDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
         "A table entry specifying the ethertype (TPID) value for a interface."
         INDEX        { agentSwitchIfDVlanTagIfIndex }
         ::= { agentSwitchIfDVlanTagTable 1 }
        
    AgentSwitchIfDVlanTagEntry ::=
         SEQUENCE {
          agentSwitchIfDVlanTagIfIndex                Integer32,
          agentSwitchIfDVlanTagMode                   INTEGER,
          agentSwitchIfDVlanTagTPid                   Integer32
          }

     agentSwitchIfDVlanTagIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
         "Interface Id on to which the Ethertype value is mapped"
         ::= { agentSwitchIfDVlanTagEntry 1 }

    agentSwitchIfDVlanTagMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
         "Controls the Double Vlan Tag mode on this interface."
         ::= { agentSwitchIfDVlanTagEntry 2 }

     agentSwitchIfDVlanTagTPid OBJECT-TYPE
         SYNTAX      Integer32 (1..65535) -- 0x0001..0xFFFF
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
         "Ethertype value to identify incoming double tagged frames.
          Commonly used are the Ethertypes for vman tags (34984, or 0x88A8)                      
          and dot1q tags (33024, or 0x8100)."
         ::= { agentSwitchIfDVlanTagEntry 3 }


    --**************************************************************************************
    -- agentSwitchVlanMacAssociationGroup
    --
    --**************************************************************************************
    agentSwitchVlanMacAssociationGroup                     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 17 }
    agentSwitchVlanMacAssociationTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchVlanMacAssociationEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's MAC To VLAN association table"
         ::= { agentSwitchVlanMacAssociationGroup 1 }

    agentSwitchVlanMacAssociationEntry OBJECT-TYPE
         SYNTAX      AgentSwitchVlanMacAssociationEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "VLAN to be assigned to untagged or priority tagged
                     packets based on MAC address."
         INDEX       { agentSwitchVlanMacAssociationMacAddress,agentSwitchVlanMacAssociationVlanId,agentSwitchVlanMacAssociationPriority }
         ::= { agentSwitchVlanMacAssociationTable 1 }

    AgentSwitchVlanMacAssociationEntry ::=
    SEQUENCE {
        agentSwitchVlanMacAssociationMacAddress
            MacAddress,
        agentSwitchVlanMacAssociationVlanId
            VlanIndex,
        agentSwitchVlanMacAssociationPriority
            Unsigned32,
        agentSwitchVlanMacAssociationRowStatus
            RowStatus
      }

    agentSwitchVlanMacAssociationMacAddress OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Mac address"
         ::= { agentSwitchVlanMacAssociationEntry 1 }

    agentSwitchVlanMacAssociationVlanId  OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The VLAN the Mac address assigned to"
         ::= { agentSwitchVlanMacAssociationEntry 2 }

    agentSwitchVlanMacAssociationPriority  OBJECT-TYPE
         SYNTAX      Unsigned32 (0..7)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Priority of mac base vlan"
         ::= { agentSwitchVlanMacAssociationEntry 4 }

    agentSwitchVlanMacAssociationRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The Mac to VLAN association row status.

                     Supported values:
                     active(1)      - valid entry
                     createAndGo(4) - used to create a new entry
                     destroy(6)     - removes the entry"
         ::= { agentSwitchVlanMacAssociationEntry 3 }


    --**************************************************************************************
    -- agentSwitchProtectedPortGroup
    --
    --**************************************************************************************

    agentSwitchProtectedPortConfigGroup         OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 18 }
    agentSwitchProtectedPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchProtectedPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's protected port mapping table"
         ::= { agentSwitchProtectedPortConfigGroup 1 }

    agentSwitchProtectedPortEntry OBJECT-TYPE
         SYNTAX      AgentSwitchProtectedPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Protected ports assigned to groups."
         INDEX       { agentSwitchProtectedPortGroupId }
         ::= { agentSwitchProtectedPortTable 1 }

    AgentSwitchProtectedPortEntry ::=
    SEQUENCE {
        agentSwitchProtectedPortGroupId
            Integer32,
        agentSwitchProtectedPortGroupName
            DisplayString,
        agentSwitchProtectedPortPortList
            PortList
      }

    agentSwitchProtectedPortGroupId  OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The group that this port belongs to"
         ::= { agentSwitchProtectedPortEntry 1 }

    agentSwitchProtectedPortGroupName  OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The name of the group"
         ::= { agentSwitchProtectedPortEntry 2 }

    agentSwitchProtectedPortPortList  OBJECT-TYPE
         SYNTAX      PortList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The set of ports that are protected in this group"
         ::= { agentSwitchProtectedPortEntry 3 }

    --**************************************************************************************
    -- agentSwitchVlanSubnetAssociationGroup
    --
    --**************************************************************************************
    agentSwitchVlanSubnetAssociationGroup                     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 19 }
    agentSwitchVlanSubnetAssociationTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchVlanSubnetAssociationEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's Subnet To VLAN association table"
         ::= { agentSwitchVlanSubnetAssociationGroup 1 }

    agentSwitchVlanSubnetAssociationEntry OBJECT-TYPE
         SYNTAX      AgentSwitchVlanSubnetAssociationEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "VLAN to be assigned to untagged or priority tagged
                     packets based on IP address and Subnet Mask."
         INDEX       { agentSwitchVlanSubnetAssociationIPAddress,agentSwitchVlanSubnetAssociationSubnetMask,agentSwitchVlanSubnetAssociationVlanId,agentSwitchVlanSubnetAssociationPriority}
         ::= { agentSwitchVlanSubnetAssociationTable 1 }

    AgentSwitchVlanSubnetAssociationEntry ::=
    SEQUENCE {
        agentSwitchVlanSubnetAssociationIPAddress
            IpAddress,
        agentSwitchVlanSubnetAssociationSubnetMask
            IpAddress,
        agentSwitchVlanSubnetAssociationVlanId
            VlanIndex,
        agentSwitchVlanSubnetAssociationPriority
            Unsigned32,
        agentSwitchVlanSubnetAssociationRowStatus
            RowStatus
      }

    agentSwitchVlanSubnetAssociationIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The ip address"
         ::= { agentSwitchVlanSubnetAssociationEntry 1 }
    agentSwitchVlanSubnetAssociationSubnetMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The subnet mask"
         ::= { agentSwitchVlanSubnetAssociationEntry 2 }

    agentSwitchVlanSubnetAssociationVlanId  OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The VLAN that the IP address and subnet mask assigned to"
         ::= { agentSwitchVlanSubnetAssociationEntry 3 }

    agentSwitchVlanSubnetAssociationPriority  OBJECT-TYPE
         SYNTAX      Unsigned32 (0..7)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Priority that the IP address and subnet mask assigned to"
         ::= { agentSwitchVlanSubnetAssociationEntry 5 }

    agentSwitchVlanSubnetAssociationRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The Subnet to VLAN association row status.

                     Supported values:
                     active(1)      - valid entry
                     createAndGo(4) - used to create a new entry
                     destroy(6)     - removes the entry"
         ::= { agentSwitchVlanSubnetAssociationEntry 4 }



    --**************************************************************************************
    -- agentSwitchSnoopingQuerierGroup
    --
    --**************************************************************************************
    agentSwitchSnoopingQuerierGroup               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 20 }

    agentSwitchSnoopingQuerierCfgTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSnoopingQuerierCfgEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IGMP/MLD Snooping Querier Global configuration entries."
         ::= { agentSwitchSnoopingQuerierGroup 1 }

    agentSwitchSnoopingQuerierCfgEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSnoopingQuerierCfgEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for Snooping Querier Configuration."
         INDEX       { agentSwitchSnoopingProtocol }
         ::= { agentSwitchSnoopingQuerierCfgTable 1 }

   AgentSwitchSnoopingQuerierCfgEntry ::= SEQUENCE {
           agentSwitchSnoopingQuerierAdminMode
              INTEGER,
           agentSwitchSnoopingQuerierVersion
              Integer32,
           agentSwitchSnoopingQuerierAddress
              InetAddress,
           agentSwitchSnoopingQuerierQueryInterval
              Integer32,
           agentSwitchSnoopingQuerierExpiryInterval
              Integer32
          }

    agentSwitchSnoopingQuerierAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables Snooping Querier on the system. "
         DEFVAL { disable }
         ::= { agentSwitchSnoopingQuerierCfgEntry  1 }

    agentSwitchSnoopingQuerierVersion OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This specifies the multicast protocol versions that are
                      supported by the system."
         ::= { agentSwitchSnoopingQuerierCfgEntry  2 }

    agentSwitchSnoopingQuerierAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This specifies the default source ip address to be used
                      while generating general queries."
         ::= { agentSwitchSnoopingQuerierCfgEntry  3 }

    agentSwitchSnoopingQuerierQueryInterval OBJECT-TYPE
         SYNTAX      Integer32 (1..1800)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This specified the timer interval after which the system
                      generates general queries."
         DEFVAL { 60 }
         ::= { agentSwitchSnoopingQuerierCfgEntry  4 }

    agentSwitchSnoopingQuerierExpiryInterval OBJECT-TYPE
         SYNTAX      Integer32 (60..300)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This specified the timer interval after which the detected
                      other querier information is no longer valid."
         DEFVAL { 120 }
         ::= { agentSwitchSnoopingQuerierCfgEntry  5 }


    --**************************************************************************************
    -- agentSwitchSnoopingQuerierVlanCfgTable
    --
    --**************************************************************************************
    agentSwitchSnoopingQuerierVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchSnoopingQuerierVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the Snooping Querier Vlan configuration entries."
         ::= { agentSwitchSnoopingQuerierGroup 2 }

    agentSwitchSnoopingQuerierVlanEntry OBJECT-TYPE
         SYNTAX      AgentSwitchSnoopingQuerierVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a Snooping Querier configurable Vlan."
         INDEX       { dot1qVlanIndex, agentSwitchSnoopingProtocol }
         ::= { agentSwitchSnoopingQuerierVlanTable 1 }

   AgentSwitchSnoopingQuerierVlanEntry ::= SEQUENCE {
          agentSwitchSnoopingQuerierVlanAdminMode
              INTEGER,
           agentSwitchSnoopingQuerierVlanOperMode
              INTEGER,
          agentSwitchSnoopingQuerierElectionParticipateMode
              INTEGER,
          agentSwitchSnoopingQuerierVlanAddress
              InetAddress,
          agentSwitchSnoopingQuerierOperVersion
              Integer32,
          agentSwitchSnoopingQuerierOperMaxResponseTime
              Integer32,
          agentSwitchSnoopingQuerierLastQuerierAddress
              InetAddress,
          agentSwitchSnoopingQuerierLastQuerierVersion
              Integer32

          }

   agentSwitchSnoopingQuerierVlanAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables Snooping Querier on a selected Vlan interface."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingQuerierVlanEntry 1 }

   agentSwitchSnoopingQuerierVlanOperMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disabled(0),
                     querier(1),
                     non-querier(2)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the current state of the Snooping Querier on a selected vlan interface"
         DEFVAL { disabled }
         ::= { agentSwitchSnoopingQuerierVlanEntry 2 }

   agentSwitchSnoopingQuerierElectionParticipateMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This enables or disables the Snooping Querier Election Participation mode. When enabled
                      snooping querier switch will participate in querier election up on discovering another
                      querier in the specified vlan. When disabled, up on discovering another querier, snooping
                      querier moves to non-querier state."
         DEFVAL { disable }
         ::= { agentSwitchSnoopingQuerierVlanEntry 3 }

   agentSwitchSnoopingQuerierVlanAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This specifies the default source ip address to be used while generating general queries on
                      the specified vlan."
         ::= { agentSwitchSnoopingQuerierVlanEntry 4 }

   agentSwitchSnoopingQuerierOperVersion OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the multicast protocol version that is currently being used by the snooping
                      switch for the specified vlan while generating query messages."
         ::= { agentSwitchSnoopingQuerierVlanEntry  5 }

   agentSwitchSnoopingQuerierOperMaxResponseTime OBJECT-TYPE
         SYNTAX      Integer32(-1|0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The amount of time in seconds a switch will wait after sending
                      a query on the selected vlan because it did not receive a report for
                      a particular group in the interface participating in the vlan. This
                      object is valid only when agentSwitchSnoopingQuerierOperVersion object
                      is valid.
                      (-1) - indicates that parameter is not available; 
                      ( 0) - indicates that response time is less then 1 second."
         ::= { agentSwitchSnoopingQuerierVlanEntry  6 }

   agentSwitchSnoopingQuerierLastQuerierAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the last querier's ip address for the specified vlan.
                      It represents the detected other multicast querier in the vlan. "
         ::= { agentSwitchSnoopingQuerierVlanEntry  7 }

   agentSwitchSnoopingQuerierLastQuerierVersion OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the multicast protocol version that is currently being used
                      by the detected other multicast querier for the specified vlan.
                      (-1) - indicates that parameter is not available."
         ::= { agentSwitchSnoopingQuerierVlanEntry  8 }

    --**************************************************************************************
    -- agentTransferConfigGroup
    --
    --**************************************************************************************

    agentTransferConfigGroup                  OBJECT IDENTIFIER ::= { agentConfigGroup 9 }


    --**************************************************************************************
    -- agentTransferUploadGroup
    --
    --**************************************************************************************

    agentTransferUploadGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 1 }

    agentTransferUploadMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     tftp(1),
					 sftp(5),
					 scp(6),
                     ftp(7)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload mode configures the mode to use when uploading from the
                     switch. The mode is either TFTP, FTP, SFTP or SCP.
					 SFTP and SCP are only allowed if the SSH feature is present.
                     "
         ::= { agentTransferUploadGroup 1 }

    agentTransferUploadPath OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..160))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload path configures the directory path where the file
                     is to be uploaded to. The switch remembers the last file path used.
                     "
         ::= { agentTransferUploadGroup 3 }

    agentTransferUploadFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload filename configures the file name for the file being
                     uploaded from the switch. It can be up to 30 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 17
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, FTP, SFTP or SCP."
         ::= { agentTransferUploadGroup 4 }

    agentTransferUploadScriptFromSwitchSrcFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload filename configures the file name for the file being
                     uploaded from the switch. It can be up to 30 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 17
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, FTP, SFTP or SCP.
                     The file extension of transfer upload script filename must be '.scr'."
         ::= { agentTransferUploadGroup 5 }

    agentTransferUploadStartupConfigFromSwitchSrcFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload filename configures the file name for the file being
                     uploaded from the switch. It can be up to 30 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 17
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, FTP, SFTP or SCP."
         ::= { agentTransferUploadGroup 6 }

    agentTransferUploadOpCodeFromSwitchSrcFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload filename configures the file name for the file being
                     uploaded from the switch. It can be up to 30 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 17
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, FTP, SFTP or SCP."
         ::= { agentTransferUploadGroup 7 }


    agentTransferUploadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                      script(1),
                      code(2),
                      config(3),
                      errorlog(4),
                      messagelog(5),
                      traplog(6),
                      clibanner(7),
                      vmtracer(8),
					  runningConfig(9)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload datatype configures the type of file to upload from the
                     switch.
                     The types for upload are:
                        -       Script
                        -       Code
                        -       Configuration File
                        -       Error log
                        -       Message log
                        -       Trap log
                        -       Banner File
                        -       VMTracer Image File
						-       Running Configuration
                     "
         ::= { agentTransferUploadGroup 8 }


    agentTransferUploadStart OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload start will start an upload transfer."
         ::= { agentTransferUploadGroup 9 }

    agentTransferUploadStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     notInitiated(1),
                     transferStarting(2),
                     errorStarting(3),
                     wrongFileType(4),
                     updatingConfig(5),
                     invalidConfigFile(6),
                     writingToFlash(7),
                     failureWritingToFlash(8),
                     checkingCRC(9),
                     failedCRC(10),
                     unknownDirection(11),
                     transferSuccessful(12),
                     transferFailed(13),
                     fileNotExist(14),
                     runByOtherUsers(15)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Indicates the current status of an upload transfer."
         ::= { agentTransferUploadGroup 10 }

--    agentTransferUploadServerAddressType OBJECT-TYPE
--         SYNTAX      InetAddressType
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The type of the serverip address, as defined in the InetAddress MIB.
--
--                      The agentTransferUploadServerAddress object is intepreted within the
--                      context of agentTransferUploadServerAddressType"
--         REFERENCE "RFC 3291"
--         ::= { agentTransferUploadGroup 11 }

    agentTransferUploadServerAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload serverip configures the IP address of the server
                     where the file is to be uploaded to.It is valid only when the
                     Transfer Mode is TFTP, FTP, SFTP or SCP.
                     The type of this address is determined by the value of the
                     agentTransferUploadServerAddressType object.
                     The values for agentTransferUploadServerAddressType and
                     agentTransferUploadServerAddress must be consistent."
         REFERENCE "RFC 3291"
         ::= { agentTransferUploadGroup 12 }

--    agentTransferUploadImagename OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     unknown(1),
--                     image1(2),
--                     image2(3)
--                     }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Transfer upload image name. Sets the image to be uploaded as the specified
--                      name. Imagename cannot be set to unknown(1) option. When no name is set
--                      this object returns unknown(1) by default.
--                     Note: Imagename, File Name, File Path, and Server IP Address are applicable
--                     only if the Transfer Mode is TFTP, SFTP or SCP."
--
--         ::= { agentTransferUploadGroup 13 }

    agentTransferUploadUsername OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Username applicable only to secure upload types.
                      Note: User Account is applicable only if the Transfer Mode is FTP, SFTP or SCP."

         ::= { agentTransferUploadGroup 14 }

    agentTransferUploadPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Password applicable only to secure upload types.
                     Note: User Password is applicable only if the Transfer Mode is FTP, SFTP or SCP."

         ::= { agentTransferUploadGroup 15 }

    --**************************************************************************************
    -- agentTransferDownloadGroup
    --
    --**************************************************************************************

    agentTransferDownloadGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 2 }

    agentTransferDownloadMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     tftp(1),
					 sftp(5),
					 scp(6),
                     ftp(7)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download mode configures the mode to use when downloading
                     to the switch. The mode is either TFTP, FTP, SFTP or SCP.
					 SFTP and SCP are only allowed if the SSH feature is present.
                     "
         ::= { agentTransferDownloadGroup 1 }

    agentTransferDownloadPath OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..160))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download path configures the directory path where the
                     file is located. The switch remembers the last file path used.
                     "

         ::= { agentTransferDownloadGroup 3 }

    agentTransferDownloadFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download filename configures the file name for the file
                     being downloaded to the switch. It can be up to 30 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 33
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, FTP, SFTP or SCP."

         ::= { agentTransferDownloadGroup 4 }

    agentTransferDownloadScriptToSwitchDestFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The filename used to store current Script in the switch.
                     It can be up to 30 alphanumeric characters.
                     The file extension of transfer download script filename must be '.scr'"

         ::= { agentTransferDownloadGroup 5 }

    agentTransferDownloadOPCodeToSwitchDestFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download tftpfilename configures the file name for the file
                     stored in the switch. It can be up to 30 alphanumeric characters."

         ::= { agentTransferDownloadGroup 6 }

    agentTransferDownloadStartupConfigToSwitchDestFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..30))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The filename used to store current Startup config in the switch.
                     It can be up to 30 alphanumeric characters."

         ::= { agentTransferDownloadGroup 7 }


    agentTransferDownloadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                     script(1),
                     code(2),
                     config(3),
                     sshkey-rsa1(4),
                     sshkey-rsa2(5),
                     sshkey-dsa(6),
                     sslpem-root(7),
                     sslpem-server(8),
                     sslpem-dhweak(9),
                     sslpem-dhstrong(10),
                     clibanner(11),
                     vmtracer(12),
					 license(13)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download datatype configures the type of file to download to
                     the switch.
                     The types for download are:

                     script             - Script File
                     code               - Code File
                     config             - Configuration File
                     sshkey-rsa1        - SSH-1 RSA Key File
                     sshkey-rsa2        - SSH-2 RSA Key PEM File
                     sshkey-dsa         - SSH-2 DSA Key PEM File
                     sslpem-root        - SSL Trusted Root Certificate PEM File
                     sslpem-server      - SSL Server Certificate PEM File
                     sslpem-dhweak      - SSL DH Weak Encryption Parameter PEM File
                     sslpem-dhstrong    - SSL DH Strong Encryption Parameter PEM File
                     cli-banner         - CLI Banner File
                     vmtracer           - VMTracer Image File
					 license			- License Key File

                     Note: SSH Key files can only be downloaded if SSH Server is administratively
                     disabled, and there are no active SSH sessions.
                     "
         ::= { agentTransferDownloadGroup 8 }


    agentTransferDownloadStart OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download start will start an download transfer."
         ::= { agentTransferDownloadGroup 9 }

    agentTransferDownloadStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     notInitiated(1),
                     transferStarting(2),
                     errorStarting(3),
                     wrongFileType(4),
                     updatingConfig(5),
                     invalidConfigFile(6),
                     writingToFlash(7),
                     failureWritingToFlash(8),
                     checkingCRC(9),
                     failedCRC(10),
                     unknownDirection(11),
                     transferSuccessful(12),
                     transferFailed(13),
                     fileExist(14),
                     noPartitionTableEntry(15),
                     runByOtherUsers(16)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Indicates the current status of an download transfer."
         ::= { agentTransferDownloadGroup 10 }

--    agentTransferDownloadServerAddressType OBJECT-TYPE
--         SYNTAX      InetAddressType
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "The type of the serverip address, as defined in the InetAddress MIB.
--
--                      The agentTransferDownloadServerAddress object is intepreted within the
--                      context of agentTransferDownloadServerAddressType"
--         REFERENCE "RFC 3291"
--         ::= { agentTransferDownloadGroup 11 }

    agentTransferDownloadServerAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download serverip configures the IP address of the server
                     where the file is to be downloaded from.It is valid only when the
                     Transfer Mode is TFTP, FTP, SFTP or SCP.
                     The type of this address is determined by the value of the
                     agentTransferDownloadServerAddressType object.
                     The values for agentTransferDownloadServerAddressType and
                     agentTransferDownloadServerAddress must be consistent."
         REFERENCE "RFC 3291"
         ::= { agentTransferDownloadGroup 12 }

--    agentTransferDownloadImagename OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     unknown(1),
--                     image1(2),
--                     image2(3)
--                     }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Transfer download image name. Sets the downloaded image as the specified
--                      name. Imagename cannot be set to unknown(1) option. When no name is set
--                      this object returns unknown(1) by default.
--                     Note: Imagename, File Name, File Path, and Server IP Address are applicable
--                     only if the Transfer Mode is TFTP, SFTP or SCP."
--
--         ::= { agentTransferDownloadGroup 13 }

    agentTransferDownloadUsername OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Username applicable only to secure download types.
                     Note: User Account is applicable only if the Transfer Mode is FTP, SFTP or SCP."

         ::= { agentTransferDownloadGroup 14 }

    agentTransferDownloadPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Password applicable only to secure download types.
                      Note: User Password is applicable only if the Transfer Mode is FTP, SFTP or SCP."

         ::= { agentTransferDownloadGroup 15 }


  --*** switchimage starts ***
    --**************************************************************************************
    -- agentImageConfigGroup
    --
    --**************************************************************************************

    agentImageConfigGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 3 }

    agentImage1  OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The image1 filename and software version."
         ::= { agentImageConfigGroup 1 }
    agentImage2   OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The image2 filename and software version."
         ::= { agentImageConfigGroup 2 }

   agentActiveImage OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The active image name. image1 or image2."
         ::= { agentImageConfigGroup 3 }
   agentNextActiveImage OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The next active image name.
                      user assigns either image1 or image2. "
         ::= { agentImageConfigGroup 4 }
    --*** switchimage ends ***

    --**************************************************************************************
    --    agentPortMirroringGroup
    --**************************************************************************************

    agentPortMirroringGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 10 }

--     agentMirroredPortIfIndex OBJECT-TYPE
--         SYNTAX      Integer32
--         MAX-ACCESS  read-write
--         STATUS      obsolete
--         DESCRIPTION
--                     "IfIndex of the mirrored port"
--         DEFVAL { 0 }
--         ::= { agentPortMirroringGroup 1 }
--
--     agentProbePortIfIndex OBJECT-TYPE
--         SYNTAX      Integer32
--         MAX-ACCESS  read-write
--         STATUS      obsolete
--         DESCRIPTION
--                     "IfIndex of the probe port"
--         DEFVAL { 0 }
--         ::= { agentPortMirroringGroup 2 }
--
--     agentPortMirroringMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2),
--                     delete(3)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      obsolete
--         DESCRIPTION
--                     "Port mirroring mode:
--
--                     enable - enable mirroring mode
--                     disable - disable mirroring mode
--                     delete - clear MirroredPort and Probe Port configuration"
--         DEFVAL { disable }
--         ::= { agentPortMirroringGroup 3 }

    --**************************************************************************************
    --    agentPortMirroringGroup
    --**************************************************************************************

    agentPortMirrorTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPortMirrorEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This table includes entries for each Port Mirroring session."
         ::= { agentPortMirroringGroup 4 }

    agentPortMirrorEntry OBJECT-TYPE
         SYNTAX      AgentPortMirrorEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Provides configuration of a Port Mirroring session specifying the
                     destination port, and the source Port Mask, providing a many-to-one
                     mapping."
         INDEX       { agentPortMirrorSessionNum }
         ::= { agentPortMirrorTable 1 }

    AgentPortMirrorEntry ::= SEQUENCE {
         agentPortMirrorSessionNum
              Unsigned32,
         agentPortMirrorDestinationPort
              Unsigned32,
         agentPortMirrorSourcePortMask
              AgentPortMask,
         agentPortMirrorAdminMode
              INTEGER
         }

    agentPortMirrorSessionNum OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The Session number of this mirroring entry.  The number of sessions is
                     fixed, and is platform dependant."
         ::= { agentPortMirrorEntry 1 }

    agentPortMirrorDestinationPort OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The port which traffic from the mirrored ports will be sent to."
         ::= { agentPortMirrorEntry 2 }

    agentPortMirrorSourcePortMask OBJECT-TYPE
         SYNTAX      AgentPortMask
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ports from which traffic will be sent to the destination port.
                     The destination port can not be included in this list of ports."
         ::= { agentPortMirrorEntry 3 }

    agentPortMirrorAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2),
                     delete(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The status of this port mirroring session.

                     enable(1)  - This session is active and all traffic from the source ports
                                  will be mirrored to the destination port.
                     disable(2) - This session is not active.
                     delete(3)  - Remove the configuration for this Session"
         ::= { agentPortMirrorEntry 4 }

agentPortMirrorTypeTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPortMirrorTypeEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This table includes entries for each source port's direction of port mirroring."
         ::= { agentPortMirroringGroup 5 }

    agentPortMirrorTypeEntry OBJECT-TYPE
         SYNTAX      AgentPortMirrorTypeEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Provides configuration of a Port Mirroring direction specifying the
                     session of the port mirroring and source port"
         INDEX       { agentPortMirrorSessionNum, agentPortMirrorTypeSourcePort }
         ::= { agentPortMirrorTypeTable 1 }
    AgentPortMirrorTypeEntry ::= SEQUENCE {
         agentPortMirrorTypeSourcePort
              Unsigned32,
         agentPortMirrorTypeType
              INTEGER
         }

    agentPortMirrorTypeSourcePort OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The port from which traffic will be sent to the destination port.
                      This port should be a source port in the corresponding session"
         ::= { agentPortMirrorTypeEntry 1 }

    agentPortMirrorTypeType OBJECT-TYPE
         SYNTAX      INTEGER {
                     tx(1),
                     rx(2),
                     txrx(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The direction of the data to be mirrored on this source port.

                     tx(1)  - The data that is transmitted from the source port.
                     rx(2) - The data that is received on the source port.
                     txrx(3)  - The data that is transmitted/received from/on the source port"
         DEFVAL { txrx }
         ::= { agentPortMirrorTypeEntry 2 }


    --**************************************************************************************
    -- agentDot3adAggPortTable
    --**************************************************************************************

    agentDot3adAggPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDot3adAggPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This table provides 802.3ad link aggregation information for each
                      physical port that is not available through the standard MIB."
         ::= { agentConfigGroup 12 }

    agentDot3adAggPortEntry OBJECT-TYPE
         SYNTAX      AgentDot3adAggPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Information about a table entry.  The agentDot3adAggPort identifies
                      the external interface number of the port."
         INDEX       { agentDot3adAggPort }
         ::= { agentDot3adAggPortTable 1 }

    AgentDot3adAggPortEntry ::= SEQUENCE {
         agentDot3adAggPort
              Integer32,
         agentDot3adAggPortLACPMode
              INTEGER
         }

    agentDot3adAggPort OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "ifIndex of this physical port"
         ::= { agentDot3adAggPortEntry 1 }

    agentDot3adAggPortLACPMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/disable 802.3ad LACP on this port"
         ::= { agentDot3adAggPortEntry 2 }

    --**************************************************************************************
    -- agentPortConfigTable
    --
    --**************************************************************************************

    agentPortConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPortConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's physical port config entries"
         ::= { agentConfigGroup 13 }

    agentPortConfigEntry OBJECT-TYPE
         SYNTAX      AgentPortConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's physical port config entry"
         INDEX       { agentPortDot1dBasePort }
         ::= { agentPortConfigTable 1 }

    AgentPortConfigEntry ::= SEQUENCE {
          agentPortDot1dBasePort
              Integer32,
          agentPortIfIndex
              Integer32,
          agentPortIanaType
              IANAifType,
          agentPortSTPMode
              INTEGER,
          agentPortSTPState
              INTEGER,
          agentPortAdminMode
              INTEGER,
--          agentPortPhysicalMode
--              INTEGER,
--          agentPortPhysicalStatus
--              INTEGER,
          agentPortLinkTrapMode
              INTEGER,
          agentPortClearStats
              INTEGER,
          agentPortDefaultType
              OBJECT IDENTIFIER,
          agentPortType
              OBJECT IDENTIFIER,
          agentPortAutoNegAdminStatus
              INTEGER,
--          agentPortDot3FlowControlMode
--              INTEGER,
--          agentPortDVlanTagMode
--              INTEGER,
--          agentPortDVlanTagEthertype
--              Integer32,
--          agentPortDVlanTagCustomerId
--              Integer32,
          agentPortMaxFrameSizeLimit
              Integer32,
          agentPortMaxFrameSize
              Integer32,
          agentPortCapability
              Integer32,
--          agentPortBroadcastControlMode
--              INTEGER,
--          agentPortBroadcastControlThreshold
--              Integer32,
--          agentPortMulticastControlMode
--              INTEGER,
--          agentPortMulticastControlThreshold
--              Integer32,
--          agentPortUnicastControlMode
--              INTEGER,
--          agentPortUnicastControlThreshold
--              Integer32,
          agentPortBroadcastControlThresholdUnit
              INTEGER,
          agentPortMulticastControlThresholdUnit
              INTEGER,
          agentPortUnicastControlThresholdUnit
              INTEGER,
          agentPortVoiceVlanMode
              INTEGER,
          agentPortVoiceVlanID
              Integer32,
          agentPortVoiceVlanPriority
              INTEGER,
          agentPortVoiceVlanDataPriorityMode
              INTEGER,
          agentPortVoiceVlanOperationalStatus
              INTEGER,
          agentPortVoiceVlanUntagged
              INTEGER,
          agentPortVoiceVlanNoneMode
              INTEGER,
          agentPortVoiceVlanAuthMode
              INTEGER,
          agentPortDot3FlowControlOperStatus
              INTEGER

          ,
          agentPortLoadStatsInterval
              Integer32
          }

    agentPortDot1dBasePort OBJECT-TYPE
         SYNTAX  Integer32 (1..65535)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                 "The port number of this port."
         ::= { agentPortConfigEntry 1 }

    agentPortIfIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Port IfIndex"
         ::= { agentPortConfigEntry 2 }

    agentPortIanaType OBJECT-TYPE
         SYNTAX      IANAifType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The switch's Port Type"
         ::= { agentPortConfigEntry 3 }

    agentPortSTPMode OBJECT-TYPE
         SYNTAX      INTEGER {
                      dot1d(1),
                      fast(2),
                      off(3)
                     }
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The switch's Port Spanning Tree Protocol Mode
                      STP mode values are:

                      dot1d (the default)
                      fast, indicates you want to use the fast spanning tree mode
                      off, indicates the STP mode is turned off for a particular port
                      This object is only supported when the Dot1d Protocol is enabled."
         ::= { agentPortConfigEntry 4 }

    agentPortSTPState OBJECT-TYPE
         SYNTAX      INTEGER {
                      discarding(1),
                      learning(2),
                      forwarding(3),
                      disabled(4),
                      manualFwd(5),
                      notParticipate(6)
                     }
         MAX-ACCESS  read-only
         STATUS      deprecated
         DESCRIPTION
                     "The switch's Port Spanning Tree Protocol State.
                      This object is only supported when the Dot1d Protocol is enabled."
         ::= { agentPortConfigEntry 5 }

    agentPortAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's Port Admin Mode"
         ::= { agentPortConfigEntry 6 }

--    agentPortPhysicalMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     auto-negotiate(1),
--                     half-10(2),
--                     full-10(3),
--                     half-100(4),
--                     full-100(5),
--                     half-100fx(6),
--                     full-100fx(7),
--                     full-1000sx(8),
--                     full-10gsx(9),
--                     full-40gsx(10)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      obsolete
--         DESCRIPTION
--                     "The switch's Port Speed Mode.  This is the configured physical mode.
--                      This object is read-only for gigabit ports"
--         ::= { agentPortConfigEntry 7 }

--    agentPortPhysicalStatus OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     auto-negotiate(1),
--                     half-10(2),
--                     full-10(3),
--                     half-100(4),
--                     full-100(5),
--                     half-100fx(6),
--                     full-100fx(7),
--                     full-1000sx(8),
--                     full-10gsx(9)
--                  }
--         MAX-ACCESS  read-only
--         STATUS      obsolete
--         DESCRIPTION
--                     "The switch's Port Physical Speed Status.  This is the current actual speed."
--         ::= { agentPortConfigEntry 8 }

    agentPortLinkTrapMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "If enabled, link up and link down traps will be sent for this port."
         ::= { agentPortConfigEntry 9 }

     agentPortClearStats OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear stats for this port only"
         ::= { agentPortConfigEntry 10 }

    agentPortDefaultType OBJECT-TYPE
         SYNTAX  OBJECT IDENTIFIER
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
                 "This object identifies the default administrative port type,
                  to be used in conjunction with the operational port type
                  denoted by agentPortType.

                  The set of possible values for this object is
                  the same as the set defined for the agentPortType
                  object.

                  This object represents the administratively-configured type of
                  the MAU.  If auto-negotiation is not enabled or is not
                  implemented for this MAU, the value of this object determines
                  the operational type of the MAU.  In this case, a set to this
                  object will force the MAU into the specified operating mode.

                  If auto-negotiation is implemented and enabled for this MAU,
                  the operational type of the MAU is determined by auto-negotiation,
                  and the value of this object denotes the type to which the MAU
                  will automatically revert if/when auto-negotiation is later disabled.

                  The valid values for this object are:

                       dot3MauType10BaseTHD
                       dot3MauType10BaseTFD
                       dot3MauType100BaseTXHD
                       dot3MauType100BaseTXFD
                       dot3MauType100BaseFXFD
                       dot3MauType1000BaseSXFD
                       dot3MauType10GBaseLW
					   dot3MauType1000BaseXFD
                       dot3MauType10GigBaseX"
         REFERENCE "RFC 2668"
         ::= { agentPortConfigEntry 11 }

    agentPortType OBJECT-TYPE
         SYNTAX  OBJECT IDENTIFIER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                 "This object identifies the port type.  An initial set of MAU types
                  are defined in RFC 2668.  The assignment of OBJECT IDENTIFIERs to
                  new types of MAUs is managed by the IANA.  If the MAU type is
                  unknown, the object identifier

                     unknownMauType OBJECT IDENTIFIER ::= { 0 0 }

                  is returned.  Note that unknownMauType is a syntactically valid
                  object identifier, and any conformant implementation of ASN.1 and
                  the BER must be able to generate and recognize this value.

                  This object represents the operational type of the MAU, as determined
                  by either (1) the result of the auto-negotiation function or (2) if
                  auto-negotiation is not enabled or is not implemented for this MAU,
                  by the value of the object agentPortDefaultType, or (3) for the GigE card
                  a value determined by the GBIC connected to the card.  In case (2), a
                  set to the object agentPortDefaultType will force the MAU into the
                  new operating mode.

                  The valid values for this object are:

                       dot3MauType10BaseTHD
                       dot3MauType10BaseTFD
                       dot3MauType100BaseTXHD
                       dot3MauType100BaseTXFD
                       dot3MauType100BaseFXFD
                       dot3MauType1000BaseSXFD
                       dot3MauType1000BaseTFD
                       dot3MauType10GBaseLW
                       dot3MauType1000BaseXFD
                       dot3MauType10GigBaseX"
         REFERENCE "RFC 2668"
         ::= { agentPortConfigEntry 12 }

    agentPortAutoNegAdminStatus OBJECT-TYPE
         SYNTAX  INTEGER {
                    enable(1),
                    disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
                 "This object identifies the administration status of auto negotiation
                  for this port. Note: Fiber port is read-only"
         ::= { agentPortConfigEntry 13 }

--    agentPortDot3FlowControlMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Config flowcontrol allows you to enable or disable
--                     802.3x flow control for this port. This value
--                     applies to only full-duplex mode ports. "
--         ::= { agentPortConfigEntry 14 }

--    agentPortDVlanTagMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Controls the Double Vlan Tag mode on this port."
--         ::= { agentPortConfigEntry 15 }
--
--    agentPortDVlanTagEthertype OBJECT-TYPE
--         SYNTAX      Integer32 (1..65535) - 0x0001..0xFFFF
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the Double Vlan Tag Ethertype for this port.
--                      If this object is supported, ethertype cannot be configured
--                      globally for the switch.
--
--                      Commonly used are the Ethertypes for vman tags (34984, or 0x88A8)
--                      and dot1q tags (33024, or 0x8100)."
--         ::= { agentPortConfigEntry 16 }
--
--    agentPortDVlanTagCustomerId OBJECT-TYPE
--         SYNTAX      Integer32
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the Customer ID for the Double Vlan Tag for this port."
--         ::= { agentPortConfigEntry 17 }
    agentPortMaxFrameSizeLimit OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This object identifies the largest value that can be
                     configured for agentPortMaxFrameSize"
         ::= { agentPortConfigEntry 18 }

    agentPortMaxFrameSize OBJECT-TYPE
         SYNTAX      Integer32 (1518..12288)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This object identifies the currently configured maximum frame size
                     value for this port. The maximmum value that this object can be set
                     to is the value of agentPortMaxFrameSizeLimit.  For Ethernet ports
                     which support 802.1Q vlan tagging, the minimum value that this object
                     can be set to is 1518"
         ::= { agentPortConfigEntry 19 }


--    agentPortBroadcastControlMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "If enabled, broadcast storm recovery will function on this port.
--                     When you specify Enable for Broadcast Storm Recovery and the broadcast
--                     traffic on this Ethernet port exceeds the configured threshold, the
--                     switch blocks (discards) the broadcast traffic."
--         ::= { agentPortConfigEntry 20 }
--
--    agentPortBroadcastControlThreshold OBJECT-TYPE
--         SYNTAX      Integer32 (0..14880000)
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the broadcast storm recovery threshold for this port
--                     as a percentage of port speed or as an absolute pps rate."
--         ::= { agentPortConfigEntry 21 }
--
--    agentPortMulticastControlMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "If enabled, multicast storm recovery will function on this port.
--                     When you specify Enable for Multicast Storm Recovery and the multicast
--                     traffic on this Ethernet port exceeds the configured threshold, the
--                     switch blocks (discards) the multicast traffic."
--         ::= { agentPortConfigEntry 22 }
--
--    agentPortMulticastControlThreshold OBJECT-TYPE
--         SYNTAX      Integer32 (0..14880000)
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the multicast storm recovery threshold for this port
--                     as a percentage of port speed or as an absolute pps rate."
--         ::= { agentPortConfigEntry 23 }
--
--    agentPortUnicastControlMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "If enabled, unicast storm recovery will function on this port.
--                     When you specify Enable for Unicast Storm Recovery and the unknown unicast
--                     traffic on this Ethernet port exceeds the configured threshold, the
--                     switch blocks (discards) the unknown unicast traffic."
--         ::= { agentPortConfigEntry 24 }
--
--    agentPortUnicastControlThreshold OBJECT-TYPE
--         SYNTAX      Integer32 (0..14880000)
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the unicast storm recovery threshold for this port
--                     as a percentage of port speed or as an absolute pps rate."
--         ::= { agentPortConfigEntry 25 }

	agentPortCapability OBJECT-TYPE
         SYNTAX  Integer32 (0..2147483647)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "port capability which means(2^bit) are: don't care(0), 10half(2), 10full(4), 100half(8), 100full(16), 1000half(32), 1000full(64), 10Gfull(128), sfp(256), internal(4096), 40Gfull(524288), reserved(1024-2147483648).
                     To enable 10full and 100full, for example, users could set the value to 4(10full)+ 16(100full)= 20. Note: Fiber port is read-only"
         ::= { agentPortConfigEntry 26 }

     agentPortBroadcastControlThresholdUnit OBJECT-TYPE
         SYNTAX      INTEGER {
                     percent(1),
                     pps(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the units of the threshold value to percentage of
                     port speed or absolute packets per second."
         DEFVAL { percent }
         ::= { agentPortConfigEntry 27 }

    agentPortMulticastControlThresholdUnit OBJECT-TYPE
         SYNTAX      INTEGER {
                     percent(1),
                     pps(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the units of the threshold value to percentage of
                     port speed or absolute packets per second."
         DEFVAL { percent }
         ::= { agentPortConfigEntry 28 }

    agentPortUnicastControlThresholdUnit OBJECT-TYPE
         SYNTAX      INTEGER {
                     percent(1),
                     pps(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the units of the threshold value to percentage of
                     port speed or absolute packets per second."
         DEFVAL { percent }
         ::= { agentPortConfigEntry 29 }

    agentPortVoiceVlanMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(1),
                     vlanid(2),
                     dot1p(3),
                     untagged(4),
                     disable(5)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN Mode. This object
                      can only be set to disable(5)."
         ::= { agentPortConfigEntry 30 }


    agentPortVoiceVlanID OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN ID
                     if the Voice Vlan Mode is Vlan ID."
         ::= { agentPortConfigEntry 31 }

    agentPortVoiceVlanPriority OBJECT-TYPE
         SYNTAX      INTEGER (0..7|255)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN Priority
                     if the Voice Vlan Mode is dot1p.  A value of 255 indicates
                     that the priority is not configured."
         ::= { agentPortConfigEntry 32 }

    agentPortVoiceVlanDataPriorityMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     trust(1),
                     untrust(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN Data Priority Mode."
         ::= { agentPortConfigEntry 33 }

    agentPortVoiceVlanOperationalStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     enabled(1),
                     disabled(2)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Describes the Port Voice VLAN Operational Status."
         ::= { agentPortConfigEntry 34 }

    agentPortVoiceVlanUntagged OBJECT-TYPE
         SYNTAX      INTEGER{
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN tagging mode."
         ::= { agentPortConfigEntry 35 }

    agentPortVoiceVlanNoneMode OBJECT-TYPE
         SYNTAX      INTEGER{
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN None mode."
         ::= { agentPortConfigEntry 36 }


       agentPortVoiceVlanAuthMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN Authentication mode.
                     Disable means authentication not required for voice devices when dot1x is enabled."
         ::= { agentPortConfigEntry 38 }
		 
    agentPortDot3FlowControlOperStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     inactive(2)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This object identifies operational status of the flow control per port."
         ::= { agentPortConfigEntry 39 }

    agentPortLoadStatsInterval OBJECT-TYPE
         SYNTAX      Integer32 (30..600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The length of time for which data is used to compute load statistics.
                      The value is given in seconds, and must be a multiple of 30.  The allowable
                      range is 30 to 600 seconds."
         DEFVAL { 300 }
         ::= { agentPortConfigEntry 40 }


    --**************************************************************************************
    --    agentProtocolConfigGroup
    --**************************************************************************************

    agentProtocolConfigGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 14 }

    agentProtocolGroupCreate OBJECT-TYPE
         SYNTAX  DisplayString (SIZE(0|1..16))
         MAX-ACCESS  read-write
         STATUS  obsolete
         DESCRIPTION
                 "Set to non-empty string to create a Protocol-Based VLAN group."
         ::= { agentProtocolConfigGroup 1 }


    --**************************************************************************************
    --    agentProtocolGroupTable
    --**************************************************************************************

    agentProtocolGroupTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentProtocolGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's Protocol-based VLAN entries"
         ::= { agentProtocolConfigGroup 2 }

    agentProtocolGroupEntry OBJECT-TYPE
         SYNTAX      AgentProtocolGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's Protocol-based VLAN entry"
         INDEX       { agentProtocolGroupId }
         ::= { agentProtocolGroupTable 1 }

    AgentProtocolGroupEntry ::= SEQUENCE {
          agentProtocolGroupId
              Integer32,
          agentProtocolGroupName
              DisplayString,
          agentProtocolGroupVlanId
              Integer32,
          agentProtocolGroupProtocolIP
              INTEGER,
          agentProtocolGroupProtocolARP
              INTEGER,
          agentProtocolGroupProtocolIPX
              INTEGER,
          agentProtocolGroupStatus
              RowStatus
          }

    agentProtocolGroupId OBJECT-TYPE
         SYNTAX  Integer32 (0..2147483647)
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
                 "Group identifier of the Protocol-based VLAN entry."
         ::= { agentProtocolGroupEntry 1 }

    agentProtocolGroupName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE(0|1..16))
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
                 "Group name of the Protocol-based VLAN entry."
         ::= { agentProtocolGroupEntry 2 }

    agentProtocolGroupVlanId OBJECT-TYPE
         SYNTAX  Integer32 (0..4093)
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
                 "VLAN associated with the Protocol-based VLAN entry.  Set to 0 to remove."
         ::= { agentProtocolGroupEntry 3 }

    agentProtocolGroupProtocolIP OBJECT-TYPE
         SYNTAX     INTEGER {
                    enable(1),
                    disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS  obsolete 
         DESCRIPTION
                 "The status of the IP protocol association with the Protocol-based VLAN entry."
         ::= { agentProtocolGroupEntry 4 }

    agentProtocolGroupProtocolARP OBJECT-TYPE
         SYNTAX     INTEGER {
                    enable(1),
                    disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS  obsolete
         DESCRIPTION
                 "The status of the ARP protocol association with the Protocol-based VLAN entry."
         ::= { agentProtocolGroupEntry 5 }

    agentProtocolGroupProtocolIPX OBJECT-TYPE
         SYNTAX     INTEGER {
                    enable(1),
                    disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS  obsolete
         DESCRIPTION
                 "The status of the IPX protocol association with the Protocol-based VLAN entry."
         ::= { agentProtocolGroupEntry 6 }

    agentProtocolGroupStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS   read-create
         STATUS  current
         DESCRIPTION
                 "The status of the Protocol-based VLAN entry.

                 active(1)  - this entry is active
                 createAndGo(4) - used to create a new entry
                 destroy(6) - remove this entry"
         ::= { agentProtocolGroupEntry 7 }

    --**************************************************************************************
    --    agentProtocolGroupPortTable
    --**************************************************************************************

    agentProtocolGroupPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentProtocolGroupPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's physical port config entries"
         ::= { agentProtocolConfigGroup 3 }

    agentProtocolGroupPortEntry OBJECT-TYPE
         SYNTAX      AgentProtocolGroupPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's physical port config entry"
         INDEX       { agentProtocolGroupId, agentProtocolGroupPortIfIndex }
         ::= { agentProtocolGroupPortTable 1 }

    AgentProtocolGroupPortEntry ::= SEQUENCE {
          agentProtocolGroupPortIfIndex
              Integer32,
          agentProtocolGroupPortStatus
              RowStatus
          }

    agentProtocolGroupPortIfIndex OBJECT-TYPE
         SYNTAX  Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                 "The interface number of this instance."
         ::= { agentProtocolGroupPortEntry 1 }

    agentProtocolGroupPortStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
                 "The status of this entry.

                 active(1)        - the port is associated with this group
                 createAndGo(4)   - add the port to this group
                 createAndWait(5) - add the port to this group
                 destroy(6)       - remove the port from this group"
         ::= { agentProtocolGroupPortEntry 2 }

    --**************************************************************************************
    --    agentProtocolGroupProtocolTable
    --**************************************************************************************

    agentProtocolGroupProtocolTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentProtocolGroupProtocolEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's physical port config entries"
         ::= { agentProtocolConfigGroup 4 }

    agentProtocolGroupProtocolEntry OBJECT-TYPE
         SYNTAX      AgentProtocolGroupProtocolEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's physical port config entry"
         INDEX       { agentProtocolGroupId, agentProtocolGroupProtocolID }
         ::= { agentProtocolGroupProtocolTable 1 }

    AgentProtocolGroupProtocolEntry ::= SEQUENCE {
          agentProtocolGroupProtocolID
              Integer32,
          agentProtocolGroupProtocolStatus
              RowStatus
          }

    agentProtocolGroupProtocolID OBJECT-TYPE
         SYNTAX  Integer32  (1536..65535)
         MAX-ACCESS not-accessible 
         STATUS  current
         DESCRIPTION
                 "The protocol ID of this instance. The value for IP is 2048 (0x0800), ARP is 2054 (0x0806) and IPX is 33079 (0x8137).
                  Other protocol Ids in the range 1536 to 65535 can also be configured."
                  
         ::= { agentProtocolGroupProtocolEntry 1 }

    agentProtocolGroupProtocolStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
                 "The status of this entry.

                 active(1)        - the port is associated with this group
                 createAndGo(4)   - add the port to this group
                 createAndWait(5) - add the port to this group
                 destroy(6)       - remove the port from this group"
         ::= { agentProtocolGroupProtocolEntry 2 }

    --**************************************************************************************
    --    agentStpSwitchConfigGroup
    --**************************************************************************************

    agentStpSwitchConfigGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 15 }

    agentStpConfigDigestKey OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(16))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MST configuration digest key."
         ::= { agentStpSwitchConfigGroup 1 }

    agentStpConfigFormatSelector OBJECT-TYPE
         SYNTAX      Unsigned32 (0..255)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MST configuration format selector. A value other than 0 (zero)
                     indicates non-support for the IEEE 802.1s standard."
         ::= { agentStpSwitchConfigGroup 2 }

    agentStpConfigName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MST configuration name of at most 32 characters."
         ::= { agentStpSwitchConfigGroup 3 }

    agentStpConfigRevision OBJECT-TYPE
         SYNTAX      Unsigned32 (0..65535)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MST configuration revision. The default value is 0."
         DEFVAL { 0 }
         ::= { agentStpSwitchConfigGroup 4 }

    agentStpForceVersion OBJECT-TYPE
         SYNTAX      INTEGER {
                     dot1d(1),
                     dot1w(2),
                     dot1s(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MST configuration force protocol version. The default version is dot1s."
         ::= { agentStpSwitchConfigGroup 5 }

    agentStpAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The spanning tree operational status.

                     enable(1)  - enables spanning tree operational status on the switch.
                     disable(2) - disables spanning tree operational status on the switch.

                     The default status is disabled."
         ::= { agentStpSwitchConfigGroup 6 }

    --**************************************************************************************
    -- agentStpPortTable
    --
    --**************************************************************************************

    agentStpPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStpPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "STP port table."
         ::= { agentStpSwitchConfigGroup 7 }

    agentStpPortEntry OBJECT-TYPE
         SYNTAX      AgentStpPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "STP port entry."
         INDEX       { ifIndex }
         ::= { agentStpPortTable 1 }

    AgentStpPortEntry ::=
         SEQUENCE {
         agentStpPortState
                 INTEGER,
         agentStpPortStatsMstpBpduRx
                 Counter32,
         agentStpPortStatsMstpBpduTx
                 Counter32,
         agentStpPortStatsRstpBpduRx
                 Counter32,
         agentStpPortStatsRstpBpduTx
                 Counter32,
         agentStpPortStatsStpBpduRx
                 Counter32,
         agentStpPortStatsStpBpduTx
                 Counter32,
         agentStpPortUpTime
                 TimeTicks,
         agentStpPortMigrationCheck
                 INTEGER,
         agentStpPortHelloTime
                 Unsigned32,
         agentStpPortBPDUGuard
                 INTEGER
         }

    agentStpPortState OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The administrative STP state for the port.

                     enable(1)  - enables STP on the port.
                     disable(2) - disables STP on the port.

                     The default port STP state is enabled for the first 4095
                     ports and disabled for any ports beyond."
         ::= { agentStpPortEntry 1 }

    agentStpPortStatsMstpBpduRx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP BPDUs received on a specific port."
         ::= { agentStpPortEntry 2 }

    agentStpPortStatsMstpBpduTx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP BPDUs sent from a specific port."
         ::= { agentStpPortEntry 3 }

    agentStpPortStatsRstpBpduRx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The RSTP BPDUs received on a specific port."
         ::= { agentStpPortEntry 4 }

    agentStpPortStatsRstpBpduTx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The RSTP BPDUs sent from a specific port."
         ::= { agentStpPortEntry 5 }

    agentStpPortStatsStpBpduRx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The STP BPDUs received on a specific port."
         ::= { agentStpPortEntry 6 }

    agentStpPortStatsStpBpduTx OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The STP BPDUs sent from a specific port."
         ::= { agentStpPortEntry 7 }

    agentStpPortUpTime OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Time since port was reset.
                     It is displayed in days, hours, minutes, and seconds."
         ::= { agentStpPortEntry 8 }

    agentStpPortMigrationCheck OBJECT-TYPE
         SYNTAX      INTEGER {
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Force the specified port to transmit RSTP or MSTP BPDU's.

                     Supported values:
                     false(0) - BPDUs are not to be transmitted.
                     true(1)  - BPDUs are to be transmitted

                     A non-zero value indicates that BPDUs are to be sent on the specified port."
         ::= { agentStpPortEntry 9 }

    agentStpPortHelloTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..10)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Hello time for the STP port. The default value is 2."
         DEFVAL { 2 }
         ::= { agentStpPortEntry 10 }

    agentStpPortBPDUGuard OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Don't accept BPDUs on this interface"
         ::= { agentStpPortEntry 11 }

    --**************************************************************************************
    -- agentStpCstConfigGroup
    --
    --**************************************************************************************

    agentStpCstConfigGroup                      OBJECT IDENTIFIER ::= { agentStpSwitchConfigGroup 8 }

    agentStpCstHelloTime OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP root port hello time for the CIST."
         ::= { agentStpCstConfigGroup 1 }

    agentStpCstMaxAge OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP root port max age for the CIST."
         ::= { agentStpCstConfigGroup 2 }

    agentStpCstRegionalRootId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP regional root identifier for the CIST."
         ::= { agentStpCstConfigGroup 3 }

    agentStpCstRegionalRootPathCost OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP regional root path cost for the CIST."
         ::= { agentStpCstConfigGroup 4 }

    agentStpCstRootFwdDelay OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP root port forward delay for the CIST."
         ::= { agentStpCstConfigGroup 5 }

    agentStpCstBridgeFwdDelay OBJECT-TYPE
         SYNTAX      Unsigned32 (4..30)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge forward delay for the CIST. The default value is 15."
         DEFVAL { 15 }
         ::= { agentStpCstConfigGroup 6 }

    agentStpCstBridgeHelloTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..10)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge hello time for the CIST. The default
                      value is 2. According to IEEE 802.1Q-REV 2005 updating
                      hello time is disallowed"
         DEFVAL { 2 }
         ::= { agentStpCstConfigGroup 7 }

    agentStpCstBridgeHoldTime OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge hold time for the CIST."
         ::= { agentStpCstConfigGroup 8 }

    agentStpCstBridgeMaxAge OBJECT-TYPE
         SYNTAX      Unsigned32 (6..40)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge max age for the CIST. The default value is 20."
         DEFVAL { 20 }
         ::= { agentStpCstConfigGroup 9 }

    agentStpCstBridgeMaxHops OBJECT-TYPE
         SYNTAX      Unsigned32 (6..40)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge max hops for the CIST. The default value is 20."
         DEFVAL { 20 }
         ::= { agentStpCstConfigGroup 10 }

    agentStpCstBridgePriority OBJECT-TYPE
         SYNTAX      Unsigned32 (0..61440)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge priority for the CIST. The default value is 32768."
         DEFVAL { 32768 }
         ::= { agentStpCstConfigGroup 11 }

     agentStpCstBridgeHoldCount OBJECT-TYPE
         SYNTAX      Unsigned32 (1..10)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge hold count for the CIST. This command sets the value of
                      maximum bpdus that a bridge is allowed to send within a hello time window.
                      The default value is 6."
         DEFVAL { 6 }
         ::= { agentStpCstConfigGroup 12 }

    --**************************************************************************************
    -- agentStpCstPortTable
    --
    --**************************************************************************************

    agentStpCstPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStpCstPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "CIST port table."
         ::= { agentStpSwitchConfigGroup 9 }

    agentStpCstPortEntry OBJECT-TYPE
         SYNTAX      AgentStpCstPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "CIST port entry."
         INDEX       { ifIndex }
         ::= { agentStpCstPortTable 1 }

    AgentStpCstPortEntry ::=
         SEQUENCE {
         agentStpCstPortOperEdge
                 INTEGER,
         agentStpCstPortOperPointToPoint
                 INTEGER,
         agentStpCstPortTopologyChangeAck
                 INTEGER,
         agentStpCstPortEdge
                 INTEGER,
         agentStpCstPortForwardingState
                 INTEGER,
         agentStpCstPortId
                 OCTET STRING,
         agentStpCstPortPathCost
                 Unsigned32,
         agentStpCstPortPriority
                 Unsigned32,
         agentStpCstDesignatedBridgeId
                 OCTET STRING,
         agentStpCstDesignatedCost
                 Unsigned32,
         agentStpCstDesignatedPortId
                 OCTET STRING,
         agentStpCstExtPortPathCost
                 Unsigned32,
         agentStpCstPortBpduGuardEffect
                 INTEGER,
         agentStpCstPortBpduFilter
                 INTEGER,
         agentStpCstPortBpduFlood
                 INTEGER,
         agentStpCstPortAutoEdge
                 INTEGER,
         agentStpCstPortRootGuard
                 INTEGER,
         agentStpCstPortTCNGuard
                 INTEGER,
         agentStpCstPortLoopGuard
                 INTEGER
         }

    agentStpCstPortOperEdge OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP operational status of a specific port for the CIST."
         ::= { agentStpCstPortEntry 1 }

    agentStpCstPortOperPointToPoint OBJECT-TYPE
         SYNTAX      INTEGER {
                     true(1),
                     false(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP operational point to point mac of a specific port for the CIST."
         ::= { agentStpCstPortEntry 2 }

    agentStpCstPortTopologyChangeAck OBJECT-TYPE
         SYNTAX      INTEGER {
                     true(1),
                     false(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP topology change acknowledge for a specific port in the CIST."
         ::= { agentStpCstPortEntry 3 }

    agentStpCstPortEdge OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The administrative state of a specific port in CIST.

                     enable(1)  - enables the port.
                     disable(2) - disables the port.

                     The default port state is disabled."
         ::= { agentStpCstPortEntry 4 }

    agentStpCstPortForwardingState OBJECT-TYPE
         SYNTAX      INTEGER {
                     discarding(1),
                     learning(2),
                     forwarding(3),
                     disabled(4),
                     manualFwd(5),
                     notParticipate(6)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP forwarding state of a specific port in CIST."
         ::= { agentStpCstPortEntry 5 }

    agentStpCstPortId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(2))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP port identifier of a specific port in CIST."
         ::= { agentStpCstPortEntry 6 }

    agentStpCstPortPathCost OBJECT-TYPE
         SYNTAX      Unsigned32 (0..200000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP port path cost in CIST. The default value will
                     correspond to the recommendation specified in IEEE 802.1s Table 13-2
                     which varies depending upon link speed."
         ::= { agentStpCstPortEntry 7 }

    agentStpCstPortPriority OBJECT-TYPE
         SYNTAX      Unsigned32 (0..240)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP port priority in CIST. The priority is
                     in the increments of 16. The default value is 128."
         DEFVAL { 128 }
         ::= { agentStpCstPortEntry 8 }

    agentStpCstDesignatedBridgeId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated bridge ID of a specific port in CIST."
         ::= { agentStpCstPortEntry 9 }

    agentStpCstDesignatedCost OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated cost of a specific port in CIST."
         ::= { agentStpCstPortEntry 10 }

    agentStpCstDesignatedPortId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(2))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated port ID of a specific port in CIST."
         ::= { agentStpCstPortEntry 11 }

    agentStpCstExtPortPathCost OBJECT-TYPE
         SYNTAX      Unsigned32 (0..200000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP external port path cost in CIST. The default value varies depending upon the link speed."
         ::= { agentStpCstPortEntry 12 }

    agentStpCstPortBpduGuardEffect OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "BPDU Guard Mode effect on the port.

                     enable(1)  - BPDU Guard Mode is enabled on the port.
                     disable(2) - BPDU Guard Mode is disabled on the port."
         ::= { agentStpCstPortEntry 13 }

    agentStpCstPortBpduFilter OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command sets BPDU Filter mode on the port.

                     enable(1)  - BPDU Filter Mode is enabled on the port.
                     disable(2) - BPDU Filter Mode is disabled on the port."
         ::= { agentStpCstPortEntry 14 }

    agentStpCstPortBpduFlood OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command sets BPDU Flood mode on the port.

                     enable(1)  - BPDU Flood Mode is enabled on the port.
                     disable(2) - BPDU Flood Mode is disabled on the port."
         ::= { agentStpCstPortEntry 15 }

    agentStpCstPortAutoEdge OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command sets the auto-edge mode of the port which enables it
                      to become an edge port if it does not see BPDUs for some duration.

                     enable(1)  - enables the auto-edge mode for the port.
                     disable(2) - disables the auto-edge mode for the port.

                     The default auto-edge mode is enabled."
         ::= { agentStpCstPortEntry 16 }

    agentStpCstPortRootGuard OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command sets a port to discard any superior information
                      received by the port and thus protect against root of the device
                      from changing.The port gets put into discarding state and does
                      not forward any packets.

                     enable(1)  - enables the root-guard mode for the port.
                     disable(2) - disables the root-guard mode for the port.

                     The default root-guard mode is disabled."
         ::= { agentStpCstPortEntry 17 }

    agentStpCstPortTCNGuard OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command restricts the port from propagating any topology change
                      information received through that port.

                     enable(1)  - enables the tcn-guard mode for the port.
                     disable(2) - disables the tcn-guard mode for the port.

                     The default tcn-guard mode is disabled."
         ::= { agentStpCstPortEntry 18 }

    agentStpCstPortLoopGuard OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This command enables loop guard on this port. This setting applies
                     to all Spanning Tree instances of which this port is a member.

                     enable(1)  - enables the loop guard mode for the port.
                     disable(2) - disables the loop guard mode for the port.

                     The default loop-guard mode is disabled."
         ::= { agentStpCstPortEntry 19 }

    --**************************************************************************************
    -- agentStpMstTable
    --
    --**************************************************************************************

    agentStpMstTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStpMstEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST table."
         ::= { agentStpSwitchConfigGroup 10 }

    agentStpMstEntry OBJECT-TYPE
         SYNTAX      AgentStpMstEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST entry."
         INDEX       { agentStpMstId }
         ::= { agentStpMstTable 1 }

    AgentStpMstEntry ::=
         SEQUENCE {
         agentStpMstId
                 Unsigned32,
         agentStpMstBridgePriority
                 Unsigned32,
         agentStpMstBridgeIdentifier
                 OCTET STRING,
         agentStpMstDesignatedRootId
                 OCTET STRING,
         agentStpMstRootPathCost
                 Unsigned32,
         agentStpMstRootPortId
                 OCTET STRING,
         agentStpMstTimeSinceTopologyChange
                 TimeTicks,
         agentStpMstTopologyChangeCount
                 Counter32,
         agentStpMstTopologyChangeParm
                 INTEGER,
         agentStpMstRowStatus
                 RowStatus
         }

    agentStpMstId OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP instance ID."
         ::= { agentStpMstEntry 1 }

    agentStpMstBridgePriority OBJECT-TYPE
         SYNTAX      Unsigned32 (0..61440)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge priority in a specific instance. The priority is
                     in the increments of 4096. The recommended default value is 32768."
         ::= { agentStpMstEntry 2 }

    agentStpMstBridgeIdentifier OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP bridge identifier in a specific instance."
         ::= { agentStpMstEntry 3 }

    agentStpMstDesignatedRootId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated root bridge identifier in a specific instance."
         ::= { agentStpMstEntry 4 }

    agentStpMstRootPathCost OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP root path cost in a specific instance."
         ::= { agentStpMstEntry 5 }

    agentStpMstRootPortId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP root port ID in a specific instance."
         ::= { agentStpMstEntry 6 }

    agentStpMstTimeSinceTopologyChange OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP time since the last topology change in a specific instance."
         ::= { agentStpMstEntry 7 }

    agentStpMstTopologyChangeCount OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP count of topology changes in a specific instance."
         ::= { agentStpMstEntry 8 }

    agentStpMstTopologyChangeParm OBJECT-TYPE
         SYNTAX      INTEGER {
                     true(1),
                     false(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP topology change parameter in a specific instance."
         ::= { agentStpMstEntry 9 }

    agentStpMstRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The MSTP instance status.

                     Supported values:
                     active(1)      - valid instance.
                     createAndGo(4) - used to create a new instance.
                     destroy(6)     - removes an instance."
         ::= { agentStpMstEntry 10 }

    --**************************************************************************************
    -- agentStpMstPortTable
    --
    --**************************************************************************************

    agentStpMstPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStpMstPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST port table."
         ::= { agentStpSwitchConfigGroup 11 }

    agentStpMstPortEntry OBJECT-TYPE
         SYNTAX      AgentStpMstPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST port entry."
         INDEX       { agentStpMstId, ifIndex }
         ::= { agentStpMstPortTable 1 }

    AgentStpMstPortEntry ::=
         SEQUENCE {
         agentStpMstPortForwardingState
                 INTEGER,
         agentStpMstPortId
                 OCTET STRING,
         agentStpMstPortPathCost
                 Unsigned32,
         agentStpMstPortPriority
                 Unsigned32,
         agentStpMstDesignatedBridgeId
                 OCTET STRING,
         agentStpMstDesignatedCost
                 Unsigned32,
         agentStpMstDesignatedPortId
                 OCTET STRING,
         agentStpMstPortLoopInconsistentState
                 INTEGER,
         agentStpMstPortTransitionsIntoLoopInconsistentState
                 Counter32,
         agentStpMstPortTransitionsOutOfLoopInconsistentState
                 Counter32
         }

    agentStpMstPortForwardingState OBJECT-TYPE
         SYNTAX      INTEGER {
                     discarding(1),
                     learning(2),
                     forwarding(3),
                     disabled(4),
                     manualFwd(5),
                     notParticipate(6)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP forwarding state of a specific port in a specific instance."
         ::= { agentStpMstPortEntry 1 }

    agentStpMstPortId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(4))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP port identifier of a specific port in a specific instance."
         ::= { agentStpMstPortEntry 2 }

    agentStpMstPortPathCost OBJECT-TYPE
         SYNTAX      Unsigned32 (0..200000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP port path cost in a specific instance. The default value will
                     correspond to the recommendation specified in IEEE 802.1s Table 13-2
                     which varies depending upon link speed."
         ::= { agentStpMstPortEntry 3 }

    agentStpMstPortPriority OBJECT-TYPE
         SYNTAX      Unsigned32 (0..240)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MSTP port priority in a specific instance. The priority is
                     in the increments of 16. The default value is 128."
         DEFVAL { 128 }
         ::= { agentStpMstPortEntry 4 }

    agentStpMstDesignatedBridgeId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(8))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated bridge ID of a specific port in a specific instance."
         ::= { agentStpMstPortEntry 5 }

    agentStpMstDesignatedCost OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated cost of a specific port in a specific instance."
         ::= { agentStpMstPortEntry 6 }

    agentStpMstDesignatedPortId OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(2))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The MSTP designated port ID of a specific port in a specific instance."
         ::= { agentStpMstPortEntry 7 }

    agentStpMstPortLoopInconsistentState OBJECT-TYPE
         SYNTAX      INTEGER {
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The loop inconsistent state of a specific port in a specific instance.
                     This value can only report as true(1) when loop guard is enabled on the port
                     and the port has transitioned from blocking state in this MST instance."
         ::= { agentStpMstPortEntry 8 }

    agentStpMstPortTransitionsIntoLoopInconsistentState OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of times this interface has transitioned into loop inconsistent state."
         ::= { agentStpMstPortEntry 9 }

    agentStpMstPortTransitionsOutOfLoopInconsistentState OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The number of times this interface has transitioned out of loop inconsistent state."
         ::= { agentStpMstPortEntry 10 }

    --**************************************************************************************
    -- agentStpMstVlanTable
    --
    --**************************************************************************************

    agentStpMstVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStpMstVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST VLAN table."
         ::= { agentStpSwitchConfigGroup 12 }

    agentStpMstVlanEntry OBJECT-TYPE
         SYNTAX      AgentStpMstVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST VLAN entry."
         INDEX       { agentStpMstId, dot1qVlanIndex }
         ::= { agentStpMstVlanTable 1 }

    AgentStpMstVlanEntry ::=
         SEQUENCE {
         agentStpMstVlanRowStatus
                 RowStatus
         }

    agentStpMstVlanRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The association status of an MSTP instance and a VLAN.

                     Supported values:
                     active(1)      - valid association between an MSTP instance and a VLAN.
                     createAndGo(4) - used to create a new association between an MSTP instance and a VLAN.
                     destroy(6)     - removes the association between an MSTP instance and a VLAN."
         ::= { agentStpMstVlanEntry 1 }

    agentStpBpduGuardMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The spanning tree BPDU Guard Mode.

                     enable(1)  - enables BPDU Guard Mode on the switch.
                     disable(2) - disables BPDU Guard Mode on the switch.

                     The default status is disabled."
         ::= { agentStpSwitchConfigGroup 13 }


    agentStpBpduFilterDefault OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The spanning tree BPDU Filter Mode, it enables BPDU Filter on all
                     edge ports.

                     enable(1)  - enables BPDU Filter Mode on the switch.
                     disable(2) - disables BPDU Filter Mode on the switch.

                     The default status is disabled."
         ::= { agentStpSwitchConfigGroup 14 }

    agentStpUplinkFast OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable UplinkFast Feature."
         ::= { agentStpSwitchConfigGroup 15 }

--**************************************************************************************
--    agentAuthenticationGroup
--**************************************************************************************
     agentAuthenticationGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 16 }

     agentAuthenticationListCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication List Create
                      If set to a non empty string, creates a new Authentication Login List for
                      configuration."

         ::= { agentAuthenticationGroup 1 }

     agentAuthenticationEnableListCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication Enable List Create
                      If set to a non empty string, creates a new Authentication Enable List for
                      configuration."

         ::= { agentAuthenticationGroup 7 }

    --**************************************************************************************

    agentAuthenticationListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentAuthenticationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST VLAN table."
         ::= { agentAuthenticationGroup 2 }

    agentAuthenticationListEntry OBJECT-TYPE
         SYNTAX      AgentAuthenticationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "MST VLAN entry."
         INDEX       { agentAuthenticationListIndex }
         ::= { agentAuthenticationListTable 1 }

    AgentAuthenticationListEntry ::=
         SEQUENCE {
         agentAuthenticationListIndex
                 Unsigned32,
         agentAuthenticationListName
                 DisplayString,
         agentAuthenticationListMethod1
                 INTEGER,
         agentAuthenticationListMethod2
                 INTEGER,
         agentAuthenticationListMethod3
                 INTEGER,
         agentAuthenticationListStatus
                 RowStatus,
         agentAuthenticationListMethod4
                 INTEGER,
         agentAuthenticationListMethod5
                 INTEGER,
         agentAuthenticationListMethod6
                 INTEGER,
         agentAuthenticationListAccessType
                 INTEGER,
         agentAuthenticationListAccessLevel
                 INTEGER
         }

    agentAuthenticationListIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Authenticaiton List Index
                     Unique number used for indexing into this table."

         ::= { agentAuthenticationListEntry 1 }

    agentAuthenticationListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticaiton List Name
                     Unique name used to identify the Authentication List from other tables."

         ::= { agentAuthenticationListEntry 2 }

    agentAuthenticationListMethod1 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),                   
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 1
                      Configures the first authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 3 }

    agentAuthenticationListMethod2 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),                   
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 2
                      Configures the second authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 4 }

    agentAuthenticationListMethod3 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),                   
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 3
                      Configures the third authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 5 }

    agentAuthenticationListStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The status of the Authentication List.

                     Supported values:
                     active(1)      - indicates a valid Authenticaiton List
                     destroy(6)     - removes the Authentication List."
         ::= { agentAuthenticationListEntry 6 }

    agentAuthenticationListMethod4 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),                   
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 4
                      Configures the fourth authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 7 }

    agentAuthenticationListMethod5 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 5
                      Configures the fifth authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 8 }

    agentAuthenticationListMethod6 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     enable(1),
                     line(2),
                     local(3),
                     none(4),
                     radius(5),
                     tacacs(6),
                     ias(7),
                     reject(8),
                     ldap(9)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authenticion List Method 6
                      Configures the sixth authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 9 }

    agentAuthenticationListAccessType OBJECT-TYPE
         SYNTAX      INTEGER {
                     unknown(0),
                     console(1),
                     telnet(2),
                     ssh(3),
                     https(4),
                     http(5),
                     dot1x(6),
                     cts(7)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Authenticion List Access Type
                      Shows the authentication list access type.
                      cts is the authentication list type for console, telnet, and ssh."

         ::= { agentAuthenticationListEntry 10 }

    agentAuthenticationListAccessLevel OBJECT-TYPE
         SYNTAX      INTEGER {
                     unknown(0),
                     login(1),
                     enable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Authenticion List Access Level
                      Shows the authentication list access level."

         ::= { agentAuthenticationListEntry 11 }

    --**************************************************************************************

    agentUserConfigDefaultAuthenticationList OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Default Authentication List
                      This object configures which authentication list to use for users
                      which do not have an Authentication List configured.  The list
                      must be configured before setting."
         ::= { agentAuthenticationGroup 3 }

    agentUserConfigDefaultAuthenticationDot1xList OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Default Authentication List 802.1x
                      This object configures which authentication list to use for users
                      which do not have an Authentication List configured.  The list
                      must be configured before setting."
         ::= { agentAuthenticationGroup 6 }

    --**************************************************************************************

    agentUserAuthenticationConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentUserAuthenticationConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Authentication Config Table"
         ::= { agentAuthenticationGroup 4 }

    agentUserAuthenticationConfigEntry OBJECT-TYPE
         SYNTAX      AgentUserAuthenticationConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Authentication Config Entry"
         AUGMENTS { agentUserConfigEntry }
         ::= { agentUserAuthenticationConfigTable 1 }

    AgentUserAuthenticationConfigEntry ::= SEQUENCE {
                 agentUserAuthenticationList
                     DisplayString,
                 agentUserAuthenticationDot1xList
                     DisplayString
             }

    agentUserAuthenticationList OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "User Authentication List
                      This object configures which authentication list to use for this
                      user.  The list must be configured before setting."
         ::= { agentUserAuthenticationConfigEntry 1 }

    agentUserAuthenticationDot1xList OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "User Authentication List 802.1x
                      This object configures which authentication list to use for this
                      user.  The list must be configured before setting."
         ::= { agentUserAuthenticationConfigEntry 2 }

    --**************************************************************************************

    agentUserPortConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentUserPortConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Port Config Table"
         ::= { agentAuthenticationGroup 5 }

    agentUserPortConfigEntry OBJECT-TYPE
         SYNTAX      AgentUserPortConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "User Port Config Entry"
         AUGMENTS { agentUserConfigEntry }
         ::= { agentUserPortConfigTable 1 }

    AgentUserPortConfigEntry ::= SEQUENCE {
                 agentUserPortSecurity
                     AgentPortMask
             }

    agentUserPortSecurity OBJECT-TYPE
         SYNTAX      AgentPortMask
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "User Port Port Security
                      This object configures which ports the user has access to.
                      Ports are indexed based on dot1dBasePort entries in
                      dot1dBasePortTable."
         ::= { agentUserPortConfigEntry 1 }


--**************************************************************************************
--    agentClassOfServiceGroup
--**************************************************************************************
     agentClassOfServiceGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 17 }

    agentClassOfServicePortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentClassOfServicePortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                    "A table that contains information about the 802.1p priority
                     mapping to traffic class priority queue for every physical port."
         ::= { agentClassOfServiceGroup 1 }

    agentClassOfServicePortEntry OBJECT-TYPE
         SYNTAX      AgentClassOfServicePortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                    "A 802.1p priority mapped to a traffic class priority queue."
         INDEX       { ifIndex, agentClassOfServicePortPriority }
         ::= { agentClassOfServicePortTable 1 }

    AgentClassOfServicePortEntry ::= SEQUENCE {
         agentClassOfServicePortPriority
              INTEGER,
         agentClassOfServicePortClass
              INTEGER
         }

    agentClassOfServicePortPriority OBJECT-TYPE
         SYNTAX      INTEGER (0..7)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                    "The Priority value determined for the received frame.
                     This value is equivalent to the priority indicated in
                     the tagged frame received, or one of the evaluated
                     priorities, determined according to the media-type.

                     For untagged frames received from Ethernet media, this
                     value is equal to the dot1dPortDefaultUserPriority value
                     for the ingress port."
         ::= { agentClassOfServicePortEntry 1 }

    agentClassOfServicePortClass OBJECT-TYPE
         SYNTAX      INTEGER (0..7)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                    "Traffic class priority queue the received frame is mapped to."
         ::= { agentClassOfServicePortEntry 2 }


    --**************************************************************************************
    -- agentHTTPConfigGroup
    --
    --**************************************************************************************

    agentHTTPConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 19 }

--    agentHTTPWebMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the HTTP server admin mode"
--          ::= { agentHTTPConfigGroup 1 }
--
--    agentHTTPJavaMode OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     enable(1),
--                     disable(2)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Configures the use of the Java interface through Web connections."
--         ::= { agentHTTPConfigGroup 2 }

    agentHTTPMaxSessions OBJECT-TYPE
         SYNTAX      Integer32 (0..16)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the maximum number of allowable HTTP sessions.  The default
                      value is 16."
         ::= { agentHTTPConfigGroup 3 }

    agentHTTPHardTimeout OBJECT-TYPE
         SYNTAX      Integer32 (0..168)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the hard timeout for HTTP sessions in hours.  The default
                      value is 24 hours. A value of zero means http will not timeout."
         ::= { agentHTTPConfigGroup 4 }

    agentHTTPSoftTimeout OBJECT-TYPE
         SYNTAX      Integer32 (0..60)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the soft (activity) timeout for HTTP sessions in minutes.
                      The default value is 5 minutes. A value of zero means http will not timeout."
         ::= { agentHTTPConfigGroup 5 }

    --**************************************************************************************
    -- agentAutoInstallConfigGroup
    --
    --**************************************************************************************

    agentAutoInstallConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 20 }

    agentAutoinstallPersistentMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Autoinstall on device."
          ::= { agentAutoInstallConfigGroup 1 }

    agentAutoinstallAutosaveMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Auto Save of downloaded configuration on device."
          ::= { agentAutoInstallConfigGroup 2 }


    agentAutoinstallUnicastRetryCount OBJECT-TYPE
         SYNTAX      Integer32 (1..3)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Sets number of unicast TFTP attempts for configuration file."
         ::= { agentAutoInstallConfigGroup 3 }

    agentAutoinstallStatus OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Display current Autoinstall status on device."
         ::= { agentAutoInstallConfigGroup 4 }

    agentAutoinstallAutoRebootMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Auto Reboot after succesfull image update on device."
          ::= { agentAutoInstallConfigGroup 5 }

    agentAutoinstallOperationalMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Autoinstall operational mode on device."
          ::= { agentAutoInstallConfigGroup 6 }

    agentAutoinstallAutoUpgradeMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Autoinstall auto upgrade mode on device."
          ::= { agentAutoInstallConfigGroup 7 }

    --**************************************************************************************
    -- agentLDAPConfigGroup
    --
    --**************************************************************************************

    agentLDAPConfigGroup         OBJECT IDENTIFIER ::= { agentConfigGroup 25 }

    agentLDAPServerIP OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ldap's server ip"
         ::= { agentLDAPConfigGroup 1 }

    agentLDAPServerPort OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ldap's server port"
         ::= { agentLDAPConfigGroup 2 }

    agentLDAPBaseDn OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (0..256))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ldap's base domain"
         ::= { agentLDAPConfigGroup 3 }

    agentLDAPRacName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (0..256))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ldap's rac name"
         ::= { agentLDAPConfigGroup 4 }

    agentLDAPRacDomain OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (0..256))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The ldap's rac domain"
         ::= { agentLDAPConfigGroup 5 }

    --**************************************************************************************
    -- agentDDnsConfigGroup
    --
    --**************************************************************************************
    agentDDnsConfigGroup         OBJECT IDENTIFIER ::= { agentConfigGroup 26 }

    agentDDnsConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDDnsConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's DDNS Config entries"
         ::= { agentDDnsConfigGroup 1 }

    agentDDnsConfigEntry OBJECT-TYPE
         SYNTAX      AgentDDnsConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's DDNS Config entry"
         INDEX       { agentDDnsIndex }
         ::= { agentDDnsConfigTable 1 }

    AgentDDnsConfigEntry ::= SEQUENCE {
           agentDDnsIndex
               Unsigned32,
           agentDDnsServName
               INTEGER,
           agentDDnsUserName
               DisplayString,
           agentDDnsPassword
               DisplayString,
           agentDDnsHost
               DisplayString,
           agentDDnsAddress
               DisplayString,
           agentDDnsStatus
               RowStatus
       }

    agentDDnsIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                    "This object uniquely identifies the entry in the table."
        ::= { agentDDnsConfigEntry 1 }

    agentDDnsServName OBJECT-TYPE
         SYNTAX      INTEGER {
                      easydns(0),
                      dyndns(1),
                      dhs(2),
                      ods(3),
                      dyns(4),
                      zoneedit(5),
                      tzo(6)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The DDNS server name of the DDNS service provider."
         ::= { agentDDnsConfigEntry 2 }

    agentDDnsUserName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The user name of DDNS account.
                     It can be up to 32 alphanumeric characters."
         ::= { agentDDnsConfigEntry 3 }

    agentDDnsPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The password of DDNS account.
                     It can be up to 32 alphanumeric characters."
         ::= { agentDDnsConfigEntry 4 }

    agentDDnsHost OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..44))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The host name of DDNS client.
                     It can be up to 40 alphanumeric characters."
         ::= { agentDDnsConfigEntry 5 }

    agentDDnsAddress OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The switch's network ip address"
         DEFVAL { "0.0.0.0" }
         ::= { agentDDnsConfigEntry 6 }

    agentDDnsStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent DDNS Status.
                     active(1)  - This DDNS setting is active.
                     createAndGo(4) - used to create a new entry.
                     destroy(6) - Set to this value to remove this DDNS setting."
         ::= { agentDDnsConfigEntry 7 }

    --**************************************************************************************
    -- agentUdldConfigGroup
    --
    --**************************************************************************************
    agentUdldConfigGroup         OBJECT IDENTIFIER ::= { agentConfigGroup 28 }

    agentUdldMessageTime OBJECT-TYPE
        SYNTAX      Unsigned32 (7..90)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "UDLD Message Time."
        ::= { agentUdldConfigGroup 1 }
         
    agentUdldConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentUdldConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the switch's SNTP dynamic server entries"
         ::= { agentUdldConfigGroup 2 }

    agentUdldConfigEntry OBJECT-TYPE
         SYNTAX      AgentUdldConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Switch's SNTP dynamic server entry"
         INDEX       { agentUdldIndex }
         ::= { agentUdldConfigTable 1 }

    AgentUdldConfigEntry ::= SEQUENCE {
           agentUdldIndex
               Unsigned32,
           agentUdldIntfAdminMode
               INTEGER,
           agentUdldIntfAggressiveMode
               INTEGER
       }

    agentUdldIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                    "Indicate UDLD interface."
        ::= { agentUdldConfigEntry 1 }

    agentUdldIntfAdminMode OBJECT-TYPE
        SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "The interface UDLD admin mode."
        ::= { agentUdldConfigEntry 2 }
        
    agentUdldIntfAggressiveMode OBJECT-TYPE
        SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "The interface UDLD aggressive mode."
        ::= { agentUdldConfigEntry 3 }
        

--**************************************************************************************
--    agentSystemGroup
--**************************************************************************************

agentSystemGroup                             OBJECT IDENTIFIER ::= { switching 3 }

     agentSaveConfig OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "enable(1) will initiate an configuration save to nvram.

                     Status is returned by the object agentSaveConfigStatus."
         ::= { agentSystemGroup 1 }

     agentClearConfig OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear config to factory defaults"
         ::= { agentSystemGroup 2 }

     agentClearLags OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear lag configuration"
         ::= { agentSystemGroup 3 }

     agentClearLoginSessions OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "close all telnet sessions"
         ::= { agentSystemGroup 4 }

     agentClearPasswords OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "reset passwords"
         ::= { agentSystemGroup 5 }

     agentClearPortStats OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear all port statistics"
         ::= { agentSystemGroup 6 }

     agentClearSwitchStats OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear all switch statistics"
         ::= { agentSystemGroup 7 }

     agentClearBufferedLog OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Clear Buffered Log"
         ::= { agentSystemGroup 8 }

     agentClearTrapLog OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear trap log"
         ::= { agentSystemGroup 9 }

     agentClearVlan OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear vlan entries"
         ::= { agentSystemGroup 10 }

     agentResetSystem OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Resets the switch.

                      This object is not valid for stacking platforms."
         ::= { agentSystemGroup 12 }

--     agentSaveConfigStatus OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     notInitiated(1),
--                     savingInProcess(2),
--                     savingComplete(3),
--                     savingFailed(4)
--                  }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "Indicates the current status of an save configuration request."
--         ::= { agentSystemGroup 13 }

     agentConfigCurrentSystemTime  OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Current System Time in hh:mm:ss D M Y format, e.g., 13:45:50 25 9 2004.
                      Users have to disable agentSntpClientMode in SNTP-CLIENT-MIB before configuring agentConfigCurrentSystemTime."
         ::= { agentSystemGroup 14 }
		 
     agentCpuLoad  OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The CPU load."
         ::= { agentSystemGroup 15 }
         
     agentCpuLoadOneMin  OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The CPU load average in 1 minute."
         ::= { agentSystemGroup 16 }
         
     agentCpuLoadFiveMin  OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The CPU load average in 5 minutes."
         ::= { agentSystemGroup 17 }

    agentStartupConfigErase OBJECT-TYPE
         SYNTAX      INTEGER {
                     erase(1)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Erase the text-based configuration file stored in
                      non-volatile memory.On read returns 0."
          ::= { agentSystemGroup 18 }

--**************************************************************************************
--    agentCableTesterGroup
--
--    This group provides configuration and status of the Virtual Cable Tester
--    feature.  This provides cable fault and length estimation on copper cables.
--    Once initiated, the test requires up to 2 seconds before results are obtained.
--    If the link specified to test is active, it will go down for the duration of
--    the test.
--
--**************************************************************************************

--agentCableTesterGroup               OBJECT IDENTIFIER ::= { switching 4 }
--
--     agentCableTesterStatus OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     active(1),
--                     success(2),
--                     failure(3),
--                     uninitialized(4)
--                  }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Status of the Virtual Cable Tester
--                     active(1)        - cable testing is in progress.  Set to this value
--                                        to start the test.
--                     success(2)       - A successful test was performed.  Cannot be set.
--                     failure(3)       - A failure was encountered during the test.
--                                        Cannot be set.
--                     uninitialized(4) - No test has been performed yet. Cannot be set."
--         DEFVAL { uninitialized }
--         ::= { agentCableTesterGroup 1 }
--
--     agentCableTesterIfIndex OBJECT-TYPE
--         SYNTAX      Unsigned32
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--                     "Determines on which port to perform the cable test.  Limited to
--                     copper based ports."
--         DEFVAL { 0 }
--         ::= { agentCableTesterGroup 2 }
--
--     agentCableTesterCableStatus OBJECT-TYPE
--         SYNTAX      INTEGER {
--                     normal(1),
--                     open(2),
--                     short(3),
--                     unknown(4)
--                  }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "Indicates the results of the Cable Test.
--
--
--                     normal(1)        - The cable is working correctly.
--                     open(2)          - The cable is disconnected or there is a faulty
--                                        connector.
--                     short(3)         - There is an electrical short in the cable.
--                     unknown(4)       - No test has been performed yet, or a test is
--                                        currently in progress."
--         DEFVAL { unknown }
--         ::= { agentCableTesterGroup 3 }
--
--     agentCableTesterMinimumCableLength OBJECT-TYPE
--         SYNTAX      Unsigned32
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "The estimated length of the cable in meters.  This value
--                     indicates the shortest length estimated.  This object will
--                     return 0 if agentCableTesterStatus is not success(2) or the cable
--                     length is unknown."
--         DEFVAL { 0 }
--         ::= { agentCableTesterGroup 4 }
--
--     agentCableTesterMaximumCableLength OBJECT-TYPE
--         SYNTAX      Unsigned32
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "The estimated length of the cable in meters.  This value
--                     indicates the longest length estimated.  This object will
--                     return 0 if agentCableTesterStatus is not success(2) or the cable
--                     length is unknown."
--         DEFVAL { 0 }
--         ::= { agentCableTesterGroup 5 }
--
--     agentCableTesterCableFailureLocation OBJECT-TYPE
--         SYNTAX      Unsigned32
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--                     "The estimated distance in meters from the end of the cable to
--                     the failure location.  This object will return 0 if
--                     agentCableTesterStatus is not success(2)."
--         DEFVAL { 0 }
--         ::= { agentCableTesterGroup 6 }


--**************************************************************************************
    agentDaiConfigGroup                OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 21 }
--**************************************************************************************
--************ The Dynamic ARP Inspection Global Config Table ********

    agentDaiSrcMacValidate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether Sender MAC validation in the ARP
             packets is enabled.

             If this object is set to 'true', validation
             is enabled.

             If this object is set to 'false', validation
             is disabled."
        DEFVAL      { false }
        ::= { agentDaiConfigGroup 1 }

    agentDaiDstMacValidate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether Target MAC validation in the ARP
             Response packets is enabled.

             If this object is set to 'true', validation
             is enabled.

             If this object is set to 'false', validation
             is disabled."
        DEFVAL      { false }
        ::= { agentDaiConfigGroup 2 }

    agentDaiIPValidate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether IP address validation in the ARP
             packets is enabled.

             If this object is set to 'true', validation
             is enabled.

             If this object is set to 'false', validation
             is disabled."
        DEFVAL      { false }
        ::= { agentDaiConfigGroup 3 }


--************ The Dynamic ARP Inspection VLAN Config Table ********

    agentDaiVlanConfigTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDaiVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to control Dynamic ARP
            Inspection per VLAN. When a VLAN is created in a device
            supporting this table, a corresponding entry of this table
            will be added."
        ::= { agentDaiConfigGroup 4 }

    agentDaiVlanConfigEntry OBJECT-TYPE
        SYNTAX       AgentDaiVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the configuration for Dynamic
             ARP Inspection at each existing VLAN."
        INDEX { agentDaiVlanIndex }
        ::= { agentDaiVlanConfigTable 1 }

    AgentDaiVlanConfigEntry ::= SEQUENCE {
        agentDaiVlanIndex                  VlanIndex,
        agentDaiVlanDynArpInspEnable       TruthValue,
        agentDaiVlanLoggingEnable          TruthValue,
        agentDaiVlanArpAclName             DisplayString,
        agentDaiVlanArpAclStaticFlag       TruthValue
    }

    agentDaiVlanIndex OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                "This object indicates the VLAN number on which Dynamic ARP
                 Inspection feature is configured."
         ::= { agentDaiVlanConfigEntry 1 }

    agentDaiVlanDynArpInspEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether Dynamic ARP Inspection is
             enabled in this VLAN.

             If this object is set to 'true', Dynamic ARP Inspection
             is enabled.

             If this object is set to 'false', Dynamic ARP Inspection
             is disabled."
        DEFVAL      { false }
        ::= { agentDaiVlanConfigEntry 2 }

    agentDaiVlanLoggingEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "This object indicates whether the Dynamic ARP Inspection
            logging is enabled on this VlAN.
            If this object is set to 'true', Dynamic ARP Inspection
            logging is enabled.
            If this object is set to 'false', Dynamic ARP Inspection
            loging is disabled."
        DEFVAL      { true }
        ::= { agentDaiVlanConfigEntry 3 }

    agentDaiVlanArpAclName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..31))
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "This object indicates the ARP ACL name set for this VLAN."
        ::= { agentDaiVlanConfigEntry 4 }

    agentDaiVlanArpAclStaticFlag OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "This object indicates whether the ARP ACL set for this
            VLAN has static flag set.
            If this object is set to 'true', static flag is enabled.
            If this object is set to 'false', static flag is disabled."
        DEFVAL      { false }
        ::= { agentDaiVlanConfigEntry 5 }

--************ The Dynamic ARP Inspection Vlan Statistics Table ********

    agentDaiStatsReset OBJECT-TYPE
        SYNTAX       INTEGER {
                     none(0),
                     reset(1)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
             "Clear the DAI statistics on all vlans. A value of reset(1)
              is used to reset the statistics. A read on this object will
              always return the value none(0). The value none(0) cannot
              be forcibly set by the administrator."
        ::= { agentDaiConfigGroup 5 }

    agentDaiVlanStatsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDaiVlanStatsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to control Dynamic ARP
            Inspection per VLAN. When a VLAN is created in a device
            supporting this table, a corresponding entry of this table
            will be added."
        ::= { agentDaiConfigGroup 6 }

    agentDaiVlanStatsEntry OBJECT-TYPE
        SYNTAX       AgentDaiVlanStatsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the Dynamic ARP Inspection
             statistics per VLAN."
        INDEX { agentDaiVlanStatsIndex }
        ::= { agentDaiVlanStatsTable 1 }

    AgentDaiVlanStatsEntry ::= SEQUENCE {
        agentDaiVlanStatsIndex          VlanIndex,
        agentDaiVlanPktsForwarded       Counter32,
        agentDaiVlanPktsDropped         Counter32,
        agentDaiVlanDhcpDrops           Counter32,
        agentDaiVlanDhcpPermits         Counter32,
        agentDaiVlanAclDrops            Counter32,
        agentDaiVlanAclPermits          Counter32,
        agentDaiVlanSrcMacFailures      Counter32,
        agentDaiVlanDstMacFailures      Counter32,
        agentDaiVlanIpValidFailures     Counter32
    }

    agentDaiVlanStatsIndex OBJECT-TYPE
        SYNTAX      VlanIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the VLAN number on which Dynamic ARP
            Inspection statistics are retrieved."
        ::= { agentDaiVlanStatsEntry 1 }

    agentDaiVlanPktsForwarded OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of valid ARP packets forwarded by DAI."
        ::= { agentDaiVlanStatsEntry 2 }

    agentDaiVlanPktsDropped OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of invalid ARP packets dropped by DAI."
        ::= { agentDaiVlanStatsEntry 3 }

    agentDaiVlanDhcpDrops OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as
             there is no matching DHCP Snooping binding entry found."
        ::= { agentDaiVlanStatsEntry 4 }

    agentDaiVlanDhcpPermits OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were forwarded by DAI as
             there is a matching DHCP Snooping binding entry found."
        ::= { agentDaiVlanStatsEntry 5 }

    agentDaiVlanAclDrops OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as
             there is no matching ARP ACL rule found for this Vlan and
             the static flag is set on this vlan."
        ::= { agentDaiVlanStatsEntry 6 }

    agentDaiVlanAclPermits OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were permitted by DAI as
             there is a matching ARP ACL rule found for this Vlan."
        ::= { agentDaiVlanStatsEntry 7 }

    agentDaiVlanSrcMacFailures OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as the
             sender mac address in ARP packet didn't match the source
             mac in ethernet header."
        ::= { agentDaiVlanStatsEntry 8 }

    agentDaiVlanDstMacFailures OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as the
             target mac address in ARP reply packet didn't match the
             destination mac in ethernet header."
        ::= { agentDaiVlanStatsEntry 9 }

    agentDaiVlanIpValidFailures OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as the
             sender IP address in ARP packet or target IP address in
             ARP reply packet is invalid. Invalid addresses include
             0.0.0.0, 255.255.255.255, IP multicast addresses,
             class E addresses (240.0.0.0/4), loopback addresses (127.0.0.0/8)."
        ::= { agentDaiVlanStatsEntry 10 }

--************ The Dynamic ARP Inspection Interface Config Table ********

    agentDaiIfConfigTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDaiIfConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to configure the trust
            state for Dynamic ARP Inspection purpose at each physical
            interface capable of this feature."
        ::= { agentDaiConfigGroup 7 }

    agentDaiIfConfigEntry OBJECT-TYPE
        SYNTAX       AgentDaiIfConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the configuration for
             Dynamic ARP Inspection at each physical
             interface capable of this feature."
        INDEX { ifIndex }
        ::= { agentDaiIfConfigTable 1 }

    AgentDaiIfConfigEntry ::= SEQUENCE {
        agentDaiIfTrustEnable       TruthValue,
        agentDaiIfRateLimit         Integer32,
        agentDaiIfBurstInterval     Unsigned32
    }

    agentDaiIfTrustEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether the interface is trusted for
            Dynamic ARP Inspection purpose.

            If this object is set to 'true', the interface is trusted.
            ARP packets coming to this interface will be forwarded
            without checking.

            If this object is set to 'false', the interface is not
            trusted. ARP packets coming to this interface will be
            subjected to ARP inspection."
        DEFVAL      { false }
        ::= { agentDaiIfConfigEntry 1 }

    agentDaiIfRateLimit OBJECT-TYPE
        SYNTAX      Integer32 (-1|0..300)
        UNITS       "packets per second"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates rate limit value for Dynamic ARP
             Inspection purpose. If the incoming rate of ARP packets
             exceeds the value of this object for consecutively
             burst interval seconds, ARP packets will be
             dropped. Value of -1 indicates that there is no rate limit."
        DEFVAL      { 15 }
        ::= { agentDaiIfConfigEntry 2 }

    agentDaiIfBurstInterval OBJECT-TYPE
        SYNTAX      Unsigned32 (1..15)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the burst interval value
             for rate limiting purpose on this interface."
        DEFVAL      { 1 }
        ::= { agentDaiIfConfigEntry 3 }


--**************************************************************************************

    agentArpAclGroup                 OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 22 }

--**************************************************************************************

--*********************** ARP ACL Config Table ***********************

    agentArpAclTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the ARP ACL entries"
         ::= { agentArpAclGroup 1 }

    agentArpAclEntry OBJECT-TYPE
         SYNTAX      AgentArpAclEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for an ARP ACL"
         INDEX       { agentArpAclName }
         ::= { agentArpAclTable 1 }

    AgentArpAclEntry ::= SEQUENCE {
          agentArpAclName
              DisplayString,
          agentArpAclRowStatus
              RowStatus
          }

    agentArpAclName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..31))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Name of the ARP ACL, which must consist of 1 to 31 alphanumeric
                      characters and uniquely identify this ARP ACL. This object must
                      be set to complete a new ARP ACL row instance."
         ::= { agentArpAclEntry 1 }

    agentArpAclRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row. Entries can not be deleted until all rows in
                     arpAclRuleTable with corresponding values of arpAclIndex have been deleted.

                     active(1)       - this ACL instance is active
                     createAndGo(4)  - set to this value to create an instance
                     destroy(6)      - set to this value to delete an instance"
         ::= { agentArpAclEntry 2 }


--*********************** ARP ACL Rule Config Table ***********************

    agentArpAclRuleTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclRuleEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the ARP ACL Rule entries"
         ::= { agentArpAclGroup 2 }

    agentArpAclRuleEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRuleEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a set of ARP ACL-match rules"
         INDEX       { agentArpAclName, agentArpAclRuleMatchSenderIpAddr, agentArpAclRuleMatchSenderMacAddr }
         ::= { agentArpAclRuleTable 1 }

    AgentArpAclRuleEntry ::= SEQUENCE {
          agentArpAclRuleMatchSenderIpAddr
              IpAddress,
          agentArpAclRuleMatchSenderMacAddr
              MacAddress,
          agentArpAclRuleRowStatus
              RowStatus
          }

    agentArpAclRuleMatchSenderIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Sender IP address match value for the ARP ACL."
         ::= { agentArpAclRuleEntry 1 }

    agentArpAclRuleMatchSenderMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Sender MAC address match value for the ARP ACL."
         ::= { agentArpAclRuleEntry 2 }

    agentArpAclRuleRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this ACL Rule is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentArpAclRuleEntry 3 }




--**************************************************************************************
    agentDhcpSnoopingConfigGroup     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 23 }
--**************************************************************************************
--************ The DHCP SNOOPING Global Config Table ********

   agentDhcpSnoopingAdminMode OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP Snooping
             is enabled globally.

             If this object is set to 'true',admin mode
             is enabled globally.

             If this object is set to 'false',admin mode
             is disabled globally."
        DEFVAL      { false }
        ::= { agentDhcpSnoopingConfigGroup 1 }

   agentDhcpSnoopingVerifyMac OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether source Mac address
             in the received DHCP Message needs to be verified or not.

             If this object is set to 'true',verifyMac
             is enabled globally.

             If this object is set to 'false',verifyMac
             is disabled globally."
        DEFVAL      { false }
        ::= { agentDhcpSnoopingConfigGroup 2 }

    agentDhcpSnoopingVlanConfigTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDhcpSnoopingVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to control DHCP SNOOPING
             per VLAN. When a VLAN is created in a device
            supporting this table, a corresponding entry of this table
            will be added."
        ::= { agentDhcpSnoopingConfigGroup 3 }


    agentDhcpSnoopingVlanConfigEntry OBJECT-TYPE
        SYNTAX       AgentDhcpSnoopingVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the configuration for DHCP
             SNOOPING at each existing VLAN."
        INDEX { agentDhcpSnoopingVlanIndex }
        ::= { agentDhcpSnoopingVlanConfigTable  1 }

    AgentDhcpSnoopingVlanConfigEntry ::= SEQUENCE {
        agentDhcpSnoopingVlanIndex        VlanIndex,
        agentDhcpSnoopingVlanEnable       TruthValue
    }

    agentDhcpSnoopingVlanIndex OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                "This object indicates the VLAN number on which DHCP SNOOPING
                 Inspection feature is configured."
         ::= { agentDhcpSnoopingVlanConfigEntry 1 }

    agentDhcpSnoopingVlanEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP SNOOPING is
             enabled in this VLAN.

             If this object is set to 'true', DHCP SNOOPING
             is enabled.

             If this object is set to 'false', DHCP SNOOPING
             is disabled."
        DEFVAL      { false }
        ::= { agentDhcpSnoopingVlanConfigEntry 2 }


--************ The DHCP snooping Interface Config Table ********

 agentDhcpSnoopingIfConfigTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpSnoopingIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism to configure the trust
        state for DHCP snooping purpose at each physical
        interface capable of this feature."
    ::= { agentDhcpSnoopingConfigGroup 4 }

 agentDhcpSnoopingIfConfigEntry OBJECT-TYPE
    SYNTAX       AgentDhcpSnoopingIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the configuration for
         DHCP snooping at each physical interface capable of this feature."
    INDEX { ifIndex }
    ::= { agentDhcpSnoopingIfConfigTable 1 }

 AgentDhcpSnoopingIfConfigEntry ::= SEQUENCE {
    agentDhcpSnoopingIfTrustEnable       TruthValue,
    agentDhcpSnoopingIfLogEnable         TruthValue,
    agentDhcpSnoopingIfRateLimit         Integer32,
    agentDhcpSnoopingIfBurstInterval     Integer32
 }

 agentDhcpSnoopingIfTrustEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the interface is trusted for
        DHCP snooping purpose."

    DEFVAL      { false }
    ::= { agentDhcpSnoopingIfConfigEntry 1 }

 agentDhcpSnoopingIfLogEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the Logging needs on DHCP snooping validations
         or not"

    DEFVAL      { false }
    ::= { agentDhcpSnoopingIfConfigEntry 2 }

    agentDhcpSnoopingIfRateLimit OBJECT-TYPE
        SYNTAX      Integer32 (-1|0..300)
        UNITS       "packets per second"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates rate limit value for DHCP
             Snooping purpose. If the incoming rate of DHCP packets
             exceeds the value of this object for consecutively
             burst interval seconds, DHCP packets will be
             dropped. Value of -1 indicates that there is no rate limit."
        DEFVAL      { -1 }
        ::= { agentDhcpSnoopingIfConfigEntry 3 }

    agentDhcpSnoopingIfBurstInterval OBJECT-TYPE
        SYNTAX      Integer32 (-1|1..15)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the burst interval value
             for rate limiting purpose on this interface. Value
             of -1 indicates that there is no burst interval."
        DEFVAL      { -1 }
        ::= { agentDhcpSnoopingIfConfigEntry 4 }


--************ The IPSG Interface Config Table ********

  agentIpsgIfConfigTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentIpsgIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism to configure the IPSG
         at each physical interface capable of this feature."
    ::= { agentDhcpSnoopingConfigGroup 5 }

  agentIpsgIfConfigEntry OBJECT-TYPE
    SYNTAX       AgentIpsgIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the configuration for
         IPSG at each physical interface capable of this feature."
    INDEX { ifIndex }
    ::= { agentIpsgIfConfigTable 1 }

  AgentIpsgIfConfigEntry ::= SEQUENCE {
    agentIpsgIfVerifySource       TruthValue,
    agentIpsgIfPortSecurity       TruthValue
   }

 agentIpsgIfVerifySource    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether IP packets received on this interface
        are filtered based on whether IP Source Guard considers the source IP address
        to be a valid client address. Setting this variable to false automatically
        sets agentIpsgIfPortSecurity to false."

    DEFVAL      { false }
    ::= { agentIpsgIfConfigEntry 1 }

 agentIpsgIfPortSecurity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether IP packets received on this interface 
        are filtered based on whether IP Source Guard considers the source MAC address
        to be a valid client address. The port security option cannot be enabled
        unless agentIpsgIfVerifySource is also enabled. That is, MAC address filtering
        cannot be done without also doing IP address filtering. But IP address filtering
        can be done without MAC address filtering. Once the port security 
        option is enabled, it can only be disabled by disabling agentIpsgIfVerifySource."

    DEFVAL      { false }
    ::= { agentIpsgIfConfigEntry 2 }


--************ The DHCP snooping Statistics Table ********

  agentDhcpSnoopingStatsReset OBJECT-TYPE
    SYNTAX  INTEGER {
         none(0),
         reset(1)
     }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
         "Clear the DHCP snooping statistics on all ports. A value of reset(1)
          is used to reset the statistics. A read on this object will
          always return the value none(0). The value none(0) cannot
          be forcibly set by the administrator."
    ::= { agentDhcpSnoopingConfigGroup 6 }

 agentDhcpSnoopingStatsTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpSnoopingStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism for statics of DHCP snooping."
    ::= { agentDhcpSnoopingConfigGroup 7 }

 agentDhcpSnoopingStatsEntry OBJECT-TYPE
    SYNTAX       AgentDhcpSnoopingStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the DHCP snooping statistics per VLAN."
    INDEX { ifIndex }
    ::= { agentDhcpSnoopingStatsTable 1 }

 AgentDhcpSnoopingStatsEntry ::= SEQUENCE {

    agentDhcpSnoopingMacVerifyFailures     Counter32,
    agentDhcpSnoopingInvalidClientMessages    Counter32,
    agentDhcpSnoopingInvalidServerMessages    Counter32
  }

 agentDhcpSnoopingMacVerifyFailures OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of failure verifications of client mac address with
         source mac address"
    ::= { agentDhcpSnoopingStatsEntry  1 }

 agentDhcpSnoopingInvalidClientMessages OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of invalid DHCP releases and denay messages"
    ::= { agentDhcpSnoopingStatsEntry  2 }

 agentDhcpSnoopingInvalidServerMessages OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of invalid DHCP server mesaages"
    ::= { agentDhcpSnoopingStatsEntry  3 }

--*********************** IPSG static entries Config Table ***********************

    agentStaticIpsgBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStaticIpsgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IPSG static entries"
         ::= { agentDhcpSnoopingConfigGroup 8 }

    agentStaticIpsgBinding OBJECT-TYPE
         SYNTAX      AgentStaticIpsgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in IPSG table"
         INDEX       { agentStaticIpsgBindingIfIndex, agentStaticIpsgBindingVlanId,
                       agentStaticIpsgBindingMacAddr, agentStaticIpsgBindingIpAddr
                     }
         ::= { agentStaticIpsgBindingTable  1 }

    AgentStaticIpsgBindingEntry ::= SEQUENCE {

          agentStaticIpsgBindingIfIndex     InterfaceIndex,
          agentStaticIpsgBindingVlanId      VlanIndex,
          agentStaticIpsgBindingMacAddr     MacAddress,
          agentStaticIpsgBindingIpAddr      IpAddress,
          agentStaticIpsgBindingRowStatus   RowStatus
          }

     agentStaticIpsgBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Interface on which this IPSG binding is going to be added."
         ::= { agentStaticIpsgBinding  1 }

     agentStaticIpsgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     " VLAN to whcig this IPSG binding is going to be added."
         ::= { agentStaticIpsgBinding  2 }

     agentStaticIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPSG Binding."
         ::= { agentStaticIpsgBinding  3 }

     agentStaticIpsgBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IP address match value for the IPSG Binding."
         ::= { agentStaticIpsgBinding 4 }

    agentStaticIpsgBindingRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this IPSG Binding is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentStaticIpsgBinding 5 }

--*********************** IPSG dynamic entries Config ready only Table ***********************

    agentDynamicIpsgBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDynamicIpsgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IPSG dynamic entries"
         ::= { agentDhcpSnoopingConfigGroup 9 }

    agentDynamicIpsgBinding OBJECT-TYPE
         SYNTAX      AgentDynamicIpsgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in IPSG table"
         INDEX       { agentDynamicIpsgBindingIfIndex, agentDynamicIpsgBindingVlanId,
                       agentDynamicIpsgBindingMacAddr, agentDynamicIpsgBindingIpAddr
                     }
         ::= { agentDynamicIpsgBindingTable  1 }

    AgentDynamicIpsgBindingEntry ::= SEQUENCE {

          agentDynamicIpsgBindingIfIndex     InterfaceIndex,
          agentDynamicIpsgBindingVlanId      VlanIndex,
          agentDynamicIpsgBindingMacAddr     MacAddress,
          agentDynamicIpsgBindingIpAddr      IpAddress
          }

     agentDynamicIpsgBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface on which this IPSG binding is added."
         ::= { agentDynamicIpsgBinding  1 }

     agentDynamicIpsgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " VLAN to whcig this IPSG binding is going to be added."
         ::= { agentDynamicIpsgBinding  2 }

     agentDynamicIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPSG Binding."
         ::= { agentDynamicIpsgBinding  3 }


     agentDynamicIpsgBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Sender IP address match value for the IPSG Binding."
         ::= { agentDynamicIpsgBinding 4 }

--*********************** DHCP SNOOPING static bindings Config Table ***********************

    agentStaticDsBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStaticDsBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the DHCP SNOOPING static entries"
         ::= { agentDhcpSnoopingConfigGroup 10 }

    agentStaticDsBinding OBJECT-TYPE
         SYNTAX      AgentStaticDsBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in DHCP SNOOPING table"
         INDEX       {
                       agentStaticDsBindingMacAddr
                     }
         ::= { agentStaticDsBindingTable  1 }

    AgentStaticDsBindingEntry ::= SEQUENCE {

          agentStaticDsBindingIfIndex     InterfaceIndex,
          agentStaticDsBindingVlanId      VlanId,
          agentStaticDsBindingMacAddr     MacAddress,
          agentStaticDsBindingIpAddr      IpAddress,
          agentStaticDsBindingRowStatus   RowStatus
          }

     agentStaticDsBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Interface on which this DHCP SNOOPING binding is going to be added."
         ::= { agentStaticDsBinding  1 }

     agentStaticDsBindingVlanId OBJECT-TYPE
         SYNTAX      VlanId
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "VLAN to which this DHCP SNOOPING binding is going to be added."
         ::= { agentStaticDsBinding  2 }
     agentStaticDsBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the DHCP SNOOPING Binding."
         ::= { agentStaticDsBinding  3 }

     agentStaticDsBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IP address match value for the DHCP SNOOPING Binding."
         ::= { agentStaticDsBinding 4 }

    agentStaticDsBindingRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this DHCP SNOOPING Binding is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentStaticDsBinding 5 }

--*********************** DHCP SNOOPING Dynamic bindings Config Table ***********************

    agentDynamicDsBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDynamicDsBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the DHCP SNOOPING Dynamic entries"
         ::= { agentDhcpSnoopingConfigGroup 11 }

    agentDynamicDsBinding OBJECT-TYPE
         SYNTAX      AgentDynamicDsBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in DHCP SNOOPING table"
         INDEX       { agentDynamicDsBindingMacAddr }
         ::= { agentDynamicDsBindingTable  1 }

    AgentDynamicDsBindingEntry ::= SEQUENCE {

          agentDynamicDsBindingIfIndex     InterfaceIndex,
          agentDynamicDsBindingVlanId      VlanIndex,
          agentDynamicDsBindingMacAddr     MacAddress,
          agentDynamicDsBindingIpAddr      IpAddress,
          agentDynamicDsBindingLeaseRemainingTime TimeTicks
          }

     agentDynamicDsBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface on which this DHCP SNOOPING binding is going to be added."
         ::= { agentDynamicDsBinding  1 }

     agentDynamicDsBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " VLAN to whcig this DHCP SNOOPING binding is going to be added."
         ::= { agentDynamicDsBinding  2 }
     agentDynamicDsBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the DHCP SNOOPING Binding."
         ::= { agentDynamicDsBinding  3 }

     agentDynamicDsBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "IP address match value for the DHCP SNOOPING Binding."
         ::= { agentDynamicDsBinding 4 }

    agentDynamicDsBindingLeaseRemainingTime OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the period for which the DHCP SNOOPING Binding is valid."
         ::= { agentDynamicDsBinding 5 }


--*********************** DHCP SNOOPING Remote Storage configurations ***********************a

   agentDhcpSnoopingRemoteFileName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the file name on the remote machine
             to save the DHCP Snooping bindings. This will be set only
             when we have a valid remote IP."
        ::= { agentDhcpSnoopingConfigGroup 12 }

   agentDhcpSnoopingRemoteIpAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the IP address of the remote machine
             to save the DHCP Snooping bindings. This will be set only
             when we have a valid file name."
        ::= { agentDhcpSnoopingConfigGroup 13 }

   agentDhcpSnoopingStoreInterval OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the perodic time interval
             to save the DHCP Snooping bindings."
        ::= { agentDhcpSnoopingConfigGroup 14 }

   agentDhcpSnoopingStoreTimeout OBJECT-TYPE
        SYNTAX      Unsigned32 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the perodic timeout  
             to delete from DHCP Snooping bindings."
        ::= { agentDhcpSnoopingConfigGroup 15 }



--**************************************************************************************
--    agentDNSConfigGroup
--**************************************************************************************
     agentDNSConfigGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 18 }

     agentDNSConfigDomainLookupStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable DNS-based host name-to-address translation."
         ::= { agentDNSConfigGroup 1 }


      agentDNSConfigDefaultDomainName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Defines a default domain name for incomplete host names at most 64 characters."
         ::= { agentDNSConfigGroup 2 }

      agentDNSConfigDefaultDomainNameRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Remove the default domain name for incomplete host name."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 3 }

      agentDNSConfigDomainNameListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDNSConfigDomainNameListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Defines a Table of domain names for incomplete host names"
         ::= { agentDNSConfigGroup 4 }

      agentDNSConfigDomainNameListEntry OBJECT-TYPE
         SYNTAX      AgentDNSConfigDomainNameListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Defines a Entry of domain names for incomplete host names "
         INDEX { agentDNSConfigDomainNameListIndex }
         ::= { agentDNSConfigDomainNameListTable 1 }

      AgentDNSConfigDomainNameListEntry ::= SEQUENCE {
                 agentDNSConfigDomainNameListIndex
                     Integer32,
                 agentDNSDomainName
                     DisplayString,
                 agentDNSDomainNameRemove
                     INTEGER
             }

       agentDNSConfigDomainNameListIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Domain Name List Index of the switch"
         ::= { agentDNSConfigDomainNameListEntry 1 }

       agentDNSDomainName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Define a domain name for incomplete host name."
         ::= { agentDNSConfigDomainNameListEntry 2 }

       agentDNSDomainNameRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Remove a domain name for incomplete host name."
         DEFVAL { disable }
         ::= { agentDNSConfigDomainNameListEntry 3 }

       agentDNSConfigNameServerListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDNSConfigNameServerListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Specifie the address of one or more name servers "
         ::= { agentDNSConfigGroup 5 }

      agentDNSConfigNameServerListEntry OBJECT-TYPE
         SYNTAX      AgentDNSConfigNameServerListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Defines a Entry of the address of one or more name servers "
         INDEX { agentDNSConfigNameServerListIndex }
         ::= { agentDNSConfigNameServerListTable 1 }

      AgentDNSConfigNameServerListEntry ::= SEQUENCE {
                 agentDNSConfigNameServerListIndex
                     Integer32,
                 agentDNSConfigNameServer
                     IpAddress,
                 agentDNSConfigRequest
                     Integer32,
                 agentDNSConfigResponse
                     Integer32,
                 agentDNSConfigNameServerRemove
                     INTEGER
             }

       agentDNSConfigNameServerListIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent name servers List Index of the switch"
         ::= { agentDNSConfigNameServerListEntry 1 }

       agentDNSConfigNameServer OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Specifies the address of one or more name servers."
         ::= { agentDNSConfigNameServerListEntry 2 }

       agentDNSConfigRequest OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Request of name server"
         ::= { agentDNSConfigNameServerListEntry 3 }

       agentDNSConfigResponse OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Response of name server"
         ::= { agentDNSConfigNameServerListEntry 4 }

      agentDNSConfigNameServerRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Remove a address of name server."
         DEFVAL { disable }
         ::= { agentDNSConfigNameServerListEntry 5 }

       agentIPv6DNSConfigNameServerListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentIPv6DNSConfigNameServerListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Specifie the ipv6 address of one or more name servers "
         ::= { agentDNSConfigGroup 13 }

      agentIPv6DNSConfigNameServerListEntry OBJECT-TYPE
         SYNTAX      AgentIPv6DNSConfigNameServerListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Defines a Entry of the ipv6 address of one or more name servers "
         INDEX { agentIPv6DNSConfigNameServerListIndex }
         ::= { agentIPv6DNSConfigNameServerListTable 1 }

      AgentIPv6DNSConfigNameServerListEntry ::= SEQUENCE {
                 agentIPv6DNSConfigNameServerListIndex
                     Integer32,
                 agentIPv6DNSConfigNameServer
                     Ipv6Address,
                 agentIPv6DNSConfigRequest
                     Integer32,
                 agentIPv6DNSConfigResponse
                     Integer32,
                 agentIPv6DNSConfigNameServerRemove
                     INTEGER
             }

       agentIPv6DNSConfigNameServerListIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent name servers List Index of the switch"
         ::= { agentIPv6DNSConfigNameServerListEntry 1 }

       agentIPv6DNSConfigNameServer OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Specifies the ipv6 address of one or more name servers."
         ::= { agentIPv6DNSConfigNameServerListEntry 2 }

       agentIPv6DNSConfigRequest OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Request of name server"
         ::= { agentIPv6DNSConfigNameServerListEntry 3 }

       agentIPv6DNSConfigResponse OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Response of name server"
         ::= { agentIPv6DNSConfigNameServerListEntry 4 }

      agentIPv6DNSConfigNameServerRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Remove a ipv6 address of name server."
         DEFVAL { disable }
         ::= { agentIPv6DNSConfigNameServerListEntry 5 }

      agentDNSConfigCacheTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDNSConfigCacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays entries in the DNS cache "
         ::= { agentDNSConfigGroup 6 }

      agentDNSConfigCacheEntry OBJECT-TYPE
         SYNTAX      AgentDNSConfigCacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays entries in the DNS cache "
         INDEX { agentDNSConfigCacheIndex }
         ::= { agentDNSConfigCacheTable 1 }

      AgentDNSConfigCacheEntry ::= SEQUENCE {
                 agentDNSConfigCacheIndex
                     Integer32,
                 agentDNSConfigDomainName
                     DisplayString,
                 agentDNSConfigIpAddress
                     IpAddress,
                 agentDNSConfigTTL
                     Integer32,
                 agentDNSConfigFlag
                     Integer32
             }

      agentDNSConfigCacheIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent DNS cache Index of the switch"
         ::= { agentDNSConfigCacheEntry 1 }

      agentDNSConfigDomainName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays one or more Domain name servers."
         ::= { agentDNSConfigCacheEntry 2 }

      agentDNSConfigIpAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the address of one or more name servers."
         ::= { agentDNSConfigCacheEntry 3 }

      agentDNSConfigTTL OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the TTL of one or more name servers."
         ::= { agentDNSConfigCacheEntry 4 }

      agentDNSConfigFlag OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the Flag of one or more name servers."
         ::= { agentDNSConfigCacheEntry 5 }

      agentIPv6DNSConfigCacheTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentIPv6DNSConfigCacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays entries in the DNS cache "
         ::= { agentDNSConfigGroup 14 }

      agentIPv6DNSConfigCacheEntry OBJECT-TYPE
         SYNTAX      AgentIPv6DNSConfigCacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays entries in the DNS cache "
         INDEX { agentIPv6DNSConfigCacheIndex }
         ::= { agentIPv6DNSConfigCacheTable 1 }

      AgentIPv6DNSConfigCacheEntry ::= SEQUENCE {
                 agentIPv6DNSConfigCacheIndex
                     Integer32,
                 agentIPv6DNSConfigDomainName
                     DisplayString,
                 agentIPv6DNSConfigIpAddress
                     Ipv6Address,
                 agentIPv6DNSConfigTTL
                     Integer32,
                 agentIPv6DNSConfigFlag
                     Integer32
             }

      agentIPv6DNSConfigCacheIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent DNS cache Index of the switch"
         ::= { agentIPv6DNSConfigCacheEntry 1 }

      agentIPv6DNSConfigDomainName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays one or more Domain name servers."
         ::= { agentIPv6DNSConfigCacheEntry 2 }

      agentIPv6DNSConfigIpAddress OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the ipv6 address of one or more name servers."
         ::= { agentIPv6DNSConfigCacheEntry 3 }

      agentIPv6DNSConfigTTL OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the TTL of one or more name servers."
         ::= { agentIPv6DNSConfigCacheEntry 4 }

      agentIPv6DNSConfigFlag OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the Flag of one or more name servers."
         ::= { agentIPv6DNSConfigCacheEntry 5 }

      agentDNSConfigHostTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDNSConfigHostEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays the static host name-to-address mapping table"
         ::= { agentDNSConfigGroup 7 }

      agentDNSConfigHostEntry OBJECT-TYPE
         SYNTAX      AgentDNSConfigHostEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays the static host name-to-address mapping table"
         INDEX { agentDNSConfigHostIndex }
         ::= { agentDNSConfigHostTable 1 }

      AgentDNSConfigHostEntry ::= SEQUENCE {
                 agentDNSConfigHostIndex
                     Integer32,
                 agentDNSConfigHostName
                     DisplayString,
                 agentDNSConfigHostIpAddress
                     InetAddress,
                 agentDNSConfigHostNameRemove
                     INTEGER
             }

      agentDNSConfigHostIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent Host Index of the switch"
         ::= { agentDNSConfigHostEntry 1 }

      agentDNSConfigHostName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Display the static host name."
         ::= { agentDNSConfigHostEntry 2 }

      agentDNSConfigHostIpAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Display the static host IP/IPv6 address."
         ::= { agentDNSConfigHostEntry 3 }

      agentDNSConfigHostNameRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Remove static host name."
         DEFVAL { disable }
         ::= { agentDNSConfigHostEntry 4 }

      agentIPv6DNSConfigHostTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentIPv6DNSConfigHostEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays the static host name-to-address mapping table"
         ::= { agentDNSConfigGroup 15 }

	  agentDNSConfigSourceInterface OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A source-interface selection on an Interface Index (like vlan based
               routing interface, port based routing interface, loopback interface,
               tunnel interface). A non-zero value indicates ifIndex for the
               corresponding interface entry in the ifTable is selected.
               A zero value indicates the source-interface un-selection."
       ::= {agentDNSConfigGroup 16 }

      agentIPv6DNSConfigHostEntry OBJECT-TYPE
         SYNTAX      AgentIPv6DNSConfigHostEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays the static host name-to-address mapping table
					 Obsolete, move to agentDNSConfigHostTable"
         INDEX { agentIPv6DNSConfigHostIndex }
         ::= { agentIPv6DNSConfigHostTable 1 }

      AgentIPv6DNSConfigHostEntry ::= SEQUENCE {
                 agentIPv6DNSConfigHostIndex
                     Integer32,
                 agentIPv6DNSConfigHostName
                     DisplayString,
                 agentIPv6DNSConfigHostIpAddress
                     Ipv6Address,
                 agentIPv6DNSConfigHostNameRemove
                     INTEGER
             }

      agentIPv6DNSConfigHostIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..65535)
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "Agent Host Index of the switch"
         ::= { agentIPv6DNSConfigHostEntry 1 }

      agentIPv6DNSConfigHostName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "Display the static host name."
         ::= { agentIPv6DNSConfigHostEntry 2 }

      agentIPv6DNSConfigHostIpAddress OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "Display the static host IPv6 address."
         ::= { agentIPv6DNSConfigHostEntry 3 }

      agentIPv6DNSConfigHostNameRemove OBJECT-TYPE
         SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "Remove static host name."
         DEFVAL { disable }
         ::= { agentIPv6DNSConfigHostEntry 4 }


      agentDNSConfigClearDomainNameList OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable Clear all entries domain names for incomplete host names."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 8 }

      agentDNSConfigClearCache OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable Clear all entries from the DNS cache."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 9 }

      agentDNSConfigClearHosts OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable Clear all static host name-to-address mapping."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 10 }

      agentDNSConfigClearDNS OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable set the DNS configuration to default value."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 11 }

     agentDNSConfigClearDNSCounters OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/Disable Clear Request and Response of all DNS ."
         DEFVAL { disable }
         ::= { agentDNSConfigGroup 12 }



--**************************************************************************************
-- agentDhcpL2RelayConfigGroup
--**************************************************************************************

   agentDhcpL2RelayConfigGroup     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 24 }

--**************************************************************************************

   agentDhcpL2RelayAdminMode OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP L2 Relay
             is enabled globally.

             If this object is set to 'true',admin mode
             is enabled globally.

             If this object is set to 'false',admin mode
             is disabled globally."
        DEFVAL      { false }
        ::= { agentDhcpL2RelayConfigGroup 1 }


--************ The DHCP L2Relay Interface Config Table ********

 agentDhcpL2RelayIfConfigTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpL2RelayIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism to enable/disable and configure
         the trust state for DHCP L2Relay purpose at each physical
        interface capable of this feature."
    ::= { agentDhcpL2RelayConfigGroup 2 }

 agentDhcpL2RelayIfConfigEntry OBJECT-TYPE
    SYNTAX       AgentDhcpL2RelayIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the configuration for
         DHCP L2 Relay at each physical interface capable of this feature."
    INDEX { ifIndex }
    ::= { agentDhcpL2RelayIfConfigTable 1 }

 AgentDhcpL2RelayIfConfigEntry ::= SEQUENCE {
    agentDhcpL2RelayIfEnable         TruthValue,
    agentDhcpL2RelayIfTrustEnable    TruthValue
 }

 agentDhcpL2RelayIfEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the DHCP L2Relay is enabled
         or not"

    DEFVAL      { false }
    ::= { agentDhcpL2RelayIfConfigEntry 1 }

 agentDhcpL2RelayIfTrustEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the interface is trusted for
        DHCP L2 Relay purpose."

    DEFVAL      { false }
    ::= { agentDhcpL2RelayIfConfigEntry 2 }

--************ The DHCP L2 Relay VLAN Config Table ********

  agentDhcpL2RelayVlanConfigTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDhcpL2RelayVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to control DHCP L2 Relay
             per VLAN. When a VLAN is created in a device
            supporting this table, a corresponding entry of this table
            will be added."
        ::= { agentDhcpL2RelayConfigGroup 3 }


    agentDhcpL2RelayVlanConfigEntry OBJECT-TYPE
        SYNTAX       AgentDhcpL2RelayVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the configuration for DHCP
             L2 Relay at each existing VLAN."
        INDEX { agentDhcpL2RelayVlanIndex }
        ::= { agentDhcpL2RelayVlanConfigTable  1 }

    AgentDhcpL2RelayVlanConfigEntry ::= SEQUENCE {
        agentDhcpL2RelayVlanIndex            VlanIndex,
        agentDhcpL2RelayVlanEnable           TruthValue,
        agentDhcpL2RelayCircuitIdVlanEnable  TruthValue,
        agentDhcpL2RelayRemoteIdVlanEnable   DisplayString
    }

    agentDhcpL2RelayVlanIndex OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                "This object indicates the VLAN number on which DHCP L2 Relay
                 feature is configured."
         ::= { agentDhcpL2RelayVlanConfigEntry 1 }

    agentDhcpL2RelayVlanEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP L2 Relay is
             enabled in this VLAN.

             If this object is set to 'true', DHCP L2 Relay
             is enabled.

             If this object is set to 'false', DHCP L2 Relay
             is disabled."
        DEFVAL      { false }
        ::= { agentDhcpL2RelayVlanConfigEntry 2 }

    agentDhcpL2RelayCircuitIdVlanEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP CircuitId is
             enabled for L2 relaying in this VLAN.

             If this object is set to 'true', DHCP CircuitId
             is enabled.

             If this object is set to 'false', DHCP CircuitId
             is disabled."
        DEFVAL      { false }
        ::= { agentDhcpL2RelayVlanConfigEntry 3 }

    agentDhcpL2RelayRemoteIdVlanEnable OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "When this object is set with a non-empty string, DHCP RemoteId is
             enabled for L2 relaying in this VLAN."
        ::= { agentDhcpL2RelayVlanConfigEntry 4 }

--************ The DHCP L2 Relay Statistics Table ********

  agentDhcpL2RelayStatsReset OBJECT-TYPE
    SYNTAX  INTEGER {
         none(0),
         reset(1)
     }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
         "Clear the DHCP L2Relay statistics on all ports. A value of reset(1)
          is used to reset the statistics. A read on this object will
          always return the value none(0). The value none(0) cannot
          be forcibly set by the administrator."
    ::= { agentDhcpL2RelayConfigGroup 6 }

 agentDhcpL2RelayStatsTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpL2RelayStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism for statics of DHCP L2 Relay."
    ::= { agentDhcpL2RelayConfigGroup 7 }

 agentDhcpL2RelayStatsEntry OBJECT-TYPE
    SYNTAX       AgentDhcpL2RelayStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the DHCP L2Relay statistics per interface."
    INDEX { ifIndex }
    ::= { agentDhcpL2RelayStatsTable 1 }

 AgentDhcpL2RelayStatsEntry ::= SEQUENCE {

    agentDhcpL2RelayUntrustedSrvrMsgsWithOptn82     Counter32,
    agentDhcpL2RelayUntrustedClntMsgsWithOptn82     Counter32,
    agentDhcpL2RelayTrustedSrvrMsgsWithoutOptn82    Counter32,
    agentDhcpL2RelayTrustedClntMsgsWithoutOptn82    Counter32
  }

 agentDhcpL2RelayUntrustedSrvrMsgsWithOptn82 OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of DHCP server messages received with Option-82 field
         on the untrusted interface."
    ::= { agentDhcpL2RelayStatsEntry  1 }

 agentDhcpL2RelayUntrustedClntMsgsWithOptn82 OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of DHCP client messages received with Option-82 field
         on the untrusted interface."
    ::= { agentDhcpL2RelayStatsEntry  2 }

 agentDhcpL2RelayTrustedSrvrMsgsWithoutOptn82 OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of DHCP server messages received without Option-82 field
         on the trusted interface."
    ::= { agentDhcpL2RelayStatsEntry  3 }

 agentDhcpL2RelayTrustedClntMsgsWithoutOptn82 OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of DHCP client messages received without Option-82 field
         on the trusted interface."
    ::= { agentDhcpL2RelayStatsEntry  4 }
--**************************************************************************************
    -- agentSwitchVoiceVLANGroup
    --
    --**************************************************************************************

    agentSwitchVoiceVLANGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 25 }


      agentSwitchVoiceVlanDeviceTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchVoiceVlanDeviceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the Voice Vlan device entries."
         ::= { agentSwitchVoiceVLANGroup 2 }

     agentSwitchVoiceVlanDeviceEntry OBJECT-TYPE
         SYNTAX      AgentSwitchVoiceVlanDeviceEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a Voice Device on the interface."
         INDEX       { agentSwitchVoiceVlanInterfaceNum, agentSwitchVoiceVlanDeviceMacAddress }
         ::= { agentSwitchVoiceVlanDeviceTable 1 }

        AgentSwitchVoiceVlanDeviceEntry ::= SEQUENCE {
            agentSwitchVoiceVlanInterfaceNum
                Integer32,
            agentSwitchVoiceVlanDeviceMacAddress
               MacAddress
        }

        agentSwitchVoiceVlanInterfaceNum  OBJECT-TYPE
         SYNTAX  Integer32 (1..65535)
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                 "The interface number of this interface."
         ::= {agentSwitchVoiceVlanDeviceEntry 1 }

        agentSwitchVoiceVlanDeviceMacAddress OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The Voice Device Mac address"
         ::= { agentSwitchVoiceVlanDeviceEntry 2 }

    --**************************************************************************************
    -- agentSwitchAddresConflictGroup
    --
    --**************************************************************************************

    agentSwitchAddressConflictGroup       OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 26 }

    agentSwitchAddressConflictDetectionStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays if an address conflict was detected on the switch
                     since the last reset of the status. Set to 'true'
                     if detected, 'false' otherwise."
         ::= { agentSwitchAddressConflictGroup 1 }

    agentSwitchAddressConflictDetectionStatusReset OBJECT-TYPE
        SYNTAX       INTEGER {
                     none(0),
                     reset(1)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Clear the last address conflict detection status in the switch.
                     A value of reset(1) is used to reset the status. A read on this
                     object always returns the value none (0). The value none (0) cannot
                     be forcibly set by the administrator."
        ::= { agentSwitchAddressConflictGroup 2 }

   agentSwitchLastConflictingIPAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "The reported conflicting IP address on the switch since the last
                     reset of the conflict detection status."
        ::= { agentSwitchAddressConflictGroup 3 }

    agentSwitchLastConflictingMacAddr OBJECT-TYPE
        SYNTAX       MacAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "The MAC address of the host corresponding to the reported 
                     conflicting IP address on the switch since the last reset of
                     the conflict detection status."
        ::= { agentSwitchAddressConflictGroup 4 }

    agentSwitchLastConflictReportedTime OBJECT-TYPE
        SYNTAX       TimeTicks
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "Time since the last address conflict was detected. It is displayed
                     in days, hours, minutes and seconds. It is set to a valid value only
                     when the conflict detection status is 'true'."
        ::= { agentSwitchAddressConflictGroup 5 }

    agentSwitchConflictIPAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
                     "The IP address on the switch reported to have a conflict with
                     another host's IP address."
        ::= { agentSwitchAddressConflictGroup 6 }

    agentSwitchConflictMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
                     "The MAC address of the host that has an IP address conflicting
                     with the IP address on the switch."
        ::= { agentSwitchAddressConflictGroup 7 }

    agentSwitchAddressConflictDetectionRun OBJECT-TYPE
        SYNTAX       INTEGER {
                     none(0),
                     run(1)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Trigger the action to run the active address conflict detection.
                     A value of run(1) is used to issue the action command. A read on
                     this object always returns the value none(0). The value none (0)
                     cannot be forcibly set by the administrator."
        ::= { agentSwitchAddressConflictGroup 8 }

--*************************************************************************************
--   Traps
--**************************************************************************************

     switchingTraps OBJECT IDENTIFIER ::= { switching 50 }


     multipleUsersTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "This trap is sent when more than one user is logged in with
             administrative access.  Only applies to CLI interface."
         ::= { switchingTraps 1 }

     broadcastStormStartTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             "This trap is sent when a broadcast storm is detected."
         ::= { switchingTraps 2 }

     broadcastStormEndTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             "This trap is sent when a broadcast storm is no longer
             detected."
         ::= { switchingTraps 3 }

     linkFailureTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { switchingTraps 4 }

     vlanRequestFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { switchingTraps 5 }

     vlanDeleteLastTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when attempting to delete the last configured VLAN
             or the Default VLAN."
         ::= { switchingTraps 6 }

     vlanDefaultCfgFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent if there are failures in resetting VLAN
             configuration to defaults."
         ::= { switchingTraps 7 }

     vlanRestoreFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { switchingTraps 8 }

     fanFailureTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { switchingTraps 9 }

     stpInstanceNewRootTrap NOTIFICATION-TYPE
         OBJECTS {
                      agentStpMstId
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when this machine is a new STP Root when there is more
             than one STP instance."
         ::= { switchingTraps 10 }

     stpInstanceTopologyChangeTrap NOTIFICATION-TYPE
         OBJECTS {
                      agentStpMstId
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when there is a STP topology change when there is more
             than one STP instance."
         ::= { switchingTraps 11 }

     powerSupplyStatusChangeTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { switchingTraps 12 }

     failedUserLoginTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "Trap is sent when a user fails to authenticate via the CLI or Web
             interfaces."
         ::= { switchingTraps 13 }

     temperatureTooHighTrap  NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "temperatureTooHighTrap"
         ::= { switchingTraps 14 }

     stormControlDetectedTrap  NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "stormControlDetectedTrap"
         ::= { switchingTraps 15 }

	 stormControlStopTrap  NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "stormControlStopTrap"
         ::= { switchingTraps 16 }

     userLockoutTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "Trap is sent when a user account is locked due to consecutive failed login attempts via the CLI or Web
             interfaces beyond the allowed limit."
         ::= { switchingTraps 17 }

     daiIntfErrorDisabledTrap NOTIFICATION-TYPE
         OBJECTS {
                     ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent once an interface is error disabled by DAI when the
              incoming packet rate exceeded configured rate limit during a
              burst-interval."
         ::= { switchingTraps 18 }

     stpInstanceLoopInconsistentStartTrap NOTIFICATION-TYPE
         OBJECTS {
                      agentStpMstId,
                      ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when this port in this STP instance enters
             loop inconsistent state upon failure to receive a BPDU."
         ::= { switchingTraps 19 }

     stpInstanceLoopInconsistentEndTrap NOTIFICATION-TYPE
         OBJECTS {
                      agentStpMstId,
                      ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when this port in this STP instance exits
             loop inconsistent state upon reception of a BPDU."
         ::= { switchingTraps 20 }


     dhcpSnoopingIntfErrorDisabledTrap NOTIFICATION-TYPE
         OBJECTS {
                     ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent once an interface is error disabled by DHCP Snooping when the
              incoming packet rate exceeded configured rate limit during a
              burst-interval."
         ::= { switchingTraps 21 }

     noStartupConfigTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "Trap is sent when startup-config file exists and SSH is enabled."
         ::= { switchingTraps 22 }


    agentSwitchIpAddressConflictTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchConflictIPAddr,
                    agentSwitchConflictMacAddr
                }
        STATUS             current
        DESCRIPTION
             "IP address conflict trap signifies the reception of an ARP from
              another host in the LAN that has conflicting IP address."
        ::= { switchingTraps 23 }

    agentSwitchCpuRisingThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessRisingThreshold, agentSwitchCpuProcessName
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when the total CPU utilization exceeds CPU Rising 
                    utilization threshold over the configured Rising threshold interval."
        ::= { switchingTraps 24 }

    agentSwitchCpuFallingThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFallingThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when the total CPU utilization falls below CPU Falling 
                    utilization threshold over the configured falling threshold interval."
        ::= { switchingTraps 25 }

    agentSwitchCpuFreeMemBelowThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFreeMemoryThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when CPU Free Memory falls below the configured threshold."
        ::= { switchingTraps 26 }

    agentSwitchCpuFreeMemAboveThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFreeMemoryThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when CPU Free Memory rises to 10% above the configured threshold."
        ::= { switchingTraps 27 }

    configChangedTrap NOTIFICATION-TYPE
        STATUS      current
        DESCRIPTION
                    "Trap is sent when system config changed."
        ::= { switchingTraps 28 }
        
    agentSwitchCpuMemInvalidTrap NOTIFICATION-TYPE
        STATUS      current
        DESCRIPTION
                    "Trap is sent when Memory is invalid."
        ::= { switchingTraps 29 }

--*****************************************************************************************
--    sdmTemplate
--
--    This provides configuration and status of the Switch Database Management Template
--    feature.
--
--*****************************************************************************************

     agentSdmPreferConfigEntry               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 27 }


     agentSdmPreferCurrentTemplate OBJECT-TYPE
      SYNTAX     INTEGER {
                 dualIPv4andIPv6(1),
                 ipv4RoutingDefault(2),
                 ipv4DataCenter(3)
                 }
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " Displays the current active SDM Template."

    ::= { agentSdmPreferConfigEntry 1 }

     agentSdmPreferNextTemplate OBJECT-TYPE
      SYNTAX     INTEGER {
                 default(0),
                 dualIPv4andIPv6(1),
                 ipv4RoutingDefault(2),
                 ipv4DataCenter(3)
                 } 
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
       " Configures the next active template. It will be active only after the next reboot.
         To revert to the default template after the next reboot, use the option default(0)."

    ::= { agentSdmPreferConfigEntry 2 }

--*******************************************************************************************

    agentSdmTemplateSummaryTable               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 28 }


    agentSdmTemplateTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSdmTemplateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays Switch Database Management Template Information."
         ::= { agentSdmTemplateSummaryTable 1 }

    agentSdmTemplateEntry OBJECT-TYPE
         SYNTAX      AgentSdmTemplateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Information about a SDM Template table entry."
         INDEX       { agentSdmTemplateId }
         ::= { agentSdmTemplateTable 1 }

    AgentSdmTemplateEntry::= SEQUENCE {
         agentSdmTemplateId
              INTEGER,
         agentArpEntries
              INTEGER,
         agentIPv4UnicastRoutes
              INTEGER,
         agentIPv6NdpEntries
              INTEGER,
         agentIPv6UnicastRoutes
              INTEGER,
         agentEcmpNextHops
              INTEGER,
         agentIPv4MulticastRoutes
              INTEGER,
         agentIPv6MulticastRoutes
              INTEGER
         }

    agentSdmTemplateId OBJECT-TYPE
         SYNTAX      INTEGER {
                     dualIPv4andIPv6(1),
                     ipv4RoutingDefault(2),
                     ipv4DataCenter(3)
                     }
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The SDM Template type this instance is associated with."
         ::= { agentSdmTemplateEntry 1 }

    agentArpEntries OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of entries in the IPv4 Address Resolution Protocol (ARP) cache for routing interfaces."
         ::= { agentSdmTemplateEntry 2 }

    agentIPv4UnicastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv4 unicast forwarding table entries."
         ::= { agentSdmTemplateEntry 3 }

    agentIPv6NdpEntries OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 Neighbor Discovery Protocol (NDP) cache entries."
         ::= { agentSdmTemplateEntry 4 }

    agentIPv6UnicastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 unicast forwarding table entries."
         ::= { agentSdmTemplateEntry 5 }

    agentEcmpNextHops OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of Equal cost next hops that can be installed in the IPv4 and IPv6 unicast forwarding tables."
         ::= { agentSdmTemplateEntry 6 }

    agentIPv4MulticastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv4 multicast forwarding table entries."
         ::= { agentSdmTemplateEntry 7 }

    agentIPv6MulticastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 multicast forwarding table entries."
         ::= { agentSdmTemplateEntry 8 }

--**************************************************************************************
    agentDhcpClientOptionsConfigGroup     OBJECT IDENTIFIER ::= { agentConfigGroup 21 }
--**************************************************************************************
--**************************************************************************************
    agentVendorClassOptionConfigGroup     OBJECT IDENTIFIER ::= { agentDhcpClientOptionsConfigGroup 1 }
--**************************************************************************************
   agentDhcpClientVendorClassIdMode OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP Vendor Classifier Id
             Option (60) is enabled for DHCP Network Client.

             If this object is set to 'true', DHCP Vendor Classifier Id mode
             is enabled globally.

             If this object is set to 'false', DHCP Vendor Classifier Id mode
             is disabled globally."
        DEFVAL      { false }
        ::= { agentVendorClassOptionConfigGroup 1 }

   agentDhcpClientVendorClassIdString OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..128))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "When this object is set with a non-empty string, the DHCP Vendor
             Classifier Id Option (60) string is enabled for DHCP Network Client."
        ::= { agentVendorClassOptionConfigGroup 2 }


--**************************************************************************************
-- agentExecAccountingGroup -> Contains MIB objects to configure ExecAccounting method lists
--
--**************************************************************************************

     agentExecAccountingGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 29 }

     agentExecAccountingListCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "ExecAccounting List Create
                      if set to a non empty string, creates a new ExecAccounting List for
                      configuration."

         ::= { agentExecAccountingGroup 1 }

    --**************************************************************************************

    agentExecAccountingListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentExecAccountingListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "ExecAccounting Method List table."
         ::= { agentExecAccountingGroup 2 }

    agentExecAccountingListEntry OBJECT-TYPE
         SYNTAX      AgentExecAccountingListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "ExecAccounting Method List Entry."
         INDEX       { agentExecAccountingListIndex }
         ::= { agentExecAccountingListTable 1 }

    AgentExecAccountingListEntry ::=
         SEQUENCE {
         agentExecAccountingListIndex
                 Unsigned32,
         agentExecAccountingListName
                 DisplayString,
         agentExecAccountingMethodType
                 INTEGER,
         agentExecAccountingListMethod1
                 INTEGER,
	     agentExecAccountingListMethod2
		         INTEGER,
        agentExecAccountingListStatus
               RowStatus
         }

    agentExecAccountingListIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "ExecAccounting List Index
                     Unique number used for indexing into this table."

         ::= { agentExecAccountingListEntry 1 }

    agentExecAccountingListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "                     Unique name used to identify the ExecAccounting List from other tables."

         ::= { agentExecAccountingListEntry 2 }

    agentExecAccountingMethodType OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     start-stop(1),
                     stop-only(2),
                     none(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "ExecAccounting Method Type
                      Configures the method type to use when this ExecAccounting list is
                      specified."

         ::= { agentExecAccountingListEntry 3 }

    agentExecAccountingListMethod1 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "ExecAccounting List Method 1
                      Configures the authentication method to use when this list is specified."

         ::= { agentExecAccountingListEntry 4 }

    agentExecAccountingListMethod2 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "ExecAccounting List Method 2
                      Configures the authentication method to use when this list is specified."

         ::= { agentExecAccountingListEntry 5 }

    agentExecAccountingListStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The status of the ExecAccounting List.

                     Supported values:
                     active(1)      - indicates a valid ExecAccounting List
                     destroy(6)     - removes the ExecAccounting List."
         ::= { agentExecAccountingListEntry 6 }


--**************************************************************************************
-- agentCmdsAccountingGroup -> Contains MIB objects to configure CmdsAccounting method lists
--
--**************************************************************************************

     agentCmdsAccountingGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 30 }

     agentCmdsAccountingListCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting List Create
                      if set to a non empty string, creates a new CmdsAccounting List for
                      configuration."

         ::= { agentCmdsAccountingGroup 1 }

    --**************************************************************************************

    agentCmdsAccountingListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentCmdsAccountingListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting Method List table."
         ::= { agentCmdsAccountingGroup 2 }

    agentCmdsAccountingListEntry OBJECT-TYPE
         SYNTAX      AgentCmdsAccountingListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting Method List Entry."
         INDEX       { agentCmdsAccountingListIndex }
         ::= { agentCmdsAccountingListTable 1 }

    AgentCmdsAccountingListEntry ::=
         SEQUENCE {
         agentCmdsAccountingListIndex
                 Unsigned32,
         agentCmdsAccountingListName
                 DisplayString,
         agentCmdsAccountingMethodType
                 INTEGER,
         agentCmdsAccountingListMethod1
                 INTEGER,
         agentCmdsAccountingListStatus
               RowStatus
         }

    agentCmdsAccountingListIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting List Index
                     Unique number used for indexing into this table."

         ::= { agentCmdsAccountingListEntry 1 }

    agentCmdsAccountingListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "                     Unique name used to identify the CmdsAccounting List from other tables."

         ::= { agentCmdsAccountingListEntry 2 }

    agentCmdsAccountingMethodType OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     start-stop(1),
                     stop-only(2),
                     none(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting Method Type
                      Configures the method type to use when this CmdsAccounting list is
                      specified."

         ::= { agentCmdsAccountingListEntry 3 }

    agentCmdsAccountingListMethod1 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "CmdsAccounting List Method 1
                      Configures the authentication method to use when this list is specified."

         ::= { agentCmdsAccountingListEntry 4 }

    agentCmdsAccountingListStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The status of the CmdsAccounting List.

                     Supported values:
                     active(1)      - indicates a valid CmdsAccounting List
                     destroy(6)     - removes the CmdsAccounting List."
         ::= { agentCmdsAccountingListEntry 5 }

END
