librenms/librenms

View on GitHub
mibs/netgear/NETGEAR-SWITCHING-MIB

Summary

Maintainability
Test Coverage
NETGEAR-SWITCHING-MIB DEFINITIONS ::= BEGIN

-- Netgear Switching MIB
-- Copyright Netgear Inc (2003-2009) All rights reserved.

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

-- This Specification is supplied "AS IS", Netgear 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, Counter64, Gauge32, TimeTicks,
    OBJECT-IDENTITY
                                        FROM SNMPv2-SMI
    RowStatus, TruthValue, MacAddress, DateAndTime, TEXTUAL-CONVENTION
                                        FROM SNMPv2-TC
    ng7000managedswitch,AgentPortMask              FROM NETGEAR-REF-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;

    fastPathSwitching MODULE-IDENTITY
        LAST-UPDATED "201109190000Z" -- 19 Sep 2011 12:00:00 GMT
        ORGANIZATION "Netgear Inc"
        CONTACT-INFO ""
        DESCRIPTION
          "The Netgear Private MIB for FastPath Switching"

        -- Revision history.
        REVISION
          "201109190000Z" -- 19 Sep 2011 12:00:00 GMT
        DESCRIPTION
          "Add agentTransferUploadFilename,agentTransferUploadRemoteFilename,
           agentTransferDownloadFilename length restrcted to 31 characters"
        REVISION
          "201012190000Z" -- 19 Dec 2010 12:00:00 GMT
        DESCRIPTION
          "Add agentSwitchCutThroughGroup"
        REVISION
          "200911190000Z" -- 11 Nov 2009 12:00:00 GMT
        DESCRIPTION
          "Add agentBufferUsageGroup"
        REVISION
          "201001140000Z" -- 14 Jan 2010 12:00:00 GMT
        DESCRIPTION
          "Added localization support."
        REVISION
          "200907230000Z" -- 23 Jul 2009 12:00:00 GMT
        DESCRIPTION
          "Added CPU Utilization MIB"
        REVISION
          "200907070000Z" -- 07 Jul 2009 12:00:00 GMT
        DESCRIPTION
          "DVLAN changes"
        REVISION
          "200902110000Z" -- 11 Feb 2009 12:00:00 GMT
        DESCRIPTION
          "User can be created with user name extending upto 64 characters"
        REVISION
          "200705230000Z" -- 23 May 2007 12:00:00 GMT
        DESCRIPTION
          "Netgear branding related changes."
        REVISION
          "200311210000Z" -- 21 Nov 2003 12:00:00 GMT
        DESCRIPTION
          "Revisions made for new release."
        REVISION
          "200302061835Z"
        DESCRIPTION
          "Updated for release."

    ::= { ng7000managedswitch 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)

   PortId ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "2x:"
        STATUS       current
        DESCRIPTION
          "This data type is used to model port ids.
           This is a binary string of 2 octets."
        SYNTAX       OCTET STRING (SIZE (2))




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

agentInfoGroup                             OBJECT IDENTIFIER ::= { fastPathSwitching 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 }

    agentInventoryManufacturer OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Name of the Manufacturer of this unit"
         ::= { 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 }

    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 14 }


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

    agentTrapLogGroup          OBJECT IDENTIFIER ::= { agentInfoGroup 2}

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

    agentTrapLogTotalSinceLastViewed OBJECT-TYPE
         SYNTAX      Integer32
         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 }


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

    agentSwitchCpuProcessGroup       OBJECT IDENTIFIER ::= { agentInfoGroup 4 }

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

    agentSwitchCpuProcessMemAvailable OBJECT-TYPE
      SYNTAX     Integer32
      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 }



   --**********************************************************
   -- agentSwitchCpuCosQDropGroup
   --**********************************************************

    agentSwitchCpuCosQDropGroup  OBJECT IDENTIFIER ::= { agentInfoGroup 6 }

    --**********************************************************
    -- agentSwitchCpuCosQDropTable
    --
    --**********************************************************

    agentSwitchCpuCosQDropTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF AgentSwitchCpuCosQDropEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
       "Table lists the number of packets dropped at each CoS queue for the CPU."

    ::= { agentSwitchCpuCosQDropGroup 1 }


   agentSwitchCpuCosQDropEntry OBJECT-TYPE

         SYNTAX      AgentSwitchCpuCosQDropEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Packet drop statistics for a CPU CoS queue."
         INDEX       { agentSwitchCpuCosQIndex }
         ::= { agentSwitchCpuCosQDropTable  1 }


    AgentSwitchCpuCosQDropEntry ::= SEQUENCE {
          agentSwitchCpuCosQIndex
              Unsigned32,
          agentSwitchCpuCosQDrops
              Counter32
          }

    agentSwitchCpuCosQIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Unique index of a CPU CoS queue."
         ::= { agentSwitchCpuCosQDropEntry 1 }

    agentSwitchCpuCosQDrops OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Number of packets dropped at this CPU CoS queue because
                     the queue was full."
         ::= { agentSwitchCpuCosQDropEntry 2 }

   --**********************************************************
   -- agentSwitchMbufGroup
   --**********************************************************

    agentSwitchMbufGroup  OBJECT IDENTIFIER ::= { agentInfoGroup 7 }

    --**********************************************************
    -- agentSwitchMbufTable
    --
    --**********************************************************


   agentSwitchMbufsFree OBJECT-TYPE
         SYNTAX      Gauge32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Number of message buffers currently available."
         ::= { agentSwitchMbufGroup 1 }

   agentSwitchMbufTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF AgentSwitchMbufEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
       "Table lists information about message buffer allocation for packets arriving at the CPU."

         ::= { agentSwitchMbufGroup 2 }

   agentSwitchMbufEntry OBJECT-TYPE

         SYNTAX      AgentSwitchMbufEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Information on a specific class of message buffers."
         INDEX       { agentSwitchMbufPrio }
         ::= { agentSwitchMbufTable  1 }

    AgentSwitchMbufEntry ::= SEQUENCE {
          agentSwitchMbufPrio
              Unsigned32,
          agentSwitchMbufClassName
              DisplayString,
          agentSwitchMbufAllocAttempts
              Counter32,
          agentSwitchMbufAllocFails
              Counter32
          }

    agentSwitchMbufPrio OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Message buffer priority."
         ::= { agentSwitchMbufEntry 1 }

    agentSwitchMbufClassName OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Name of this class of message buffer."
         ::= { agentSwitchMbufEntry 2 }

    agentSwitchMbufAllocAttempts OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Number of times the system tried to allocate a message
                     buffer allocation of this class."
         ::= { agentSwitchMbufEntry 3 }

    agentSwitchMbufAllocFails OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Number of message buffer allocation failures for this
                     class of message buffer."
         ::= { agentSwitchMbufEntry 4 }



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

    agentConfigGroup                           OBJECT IDENTIFIER ::= { fastPathSwitching 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 {
                      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
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Maximum number of Telnet Sessions

                     Config telnet maxsessions is an integer value 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..64))
         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
             }

    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(0..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 {
                     read(1),
                     write(2),
                     suspended(3)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent User Access Mode"
         ::= { 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(1)   - Use HMAC-MD5 authentication
                     hmacsha(1)   - 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 }




    --**************************************************************************************
    -- 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
         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
         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 }

    --**************************************************************************************
    -- 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 (0..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 (0..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..64))
                 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..64))
                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 }

    --**************************************************************************************
    -- agentCLIBannerMsgConfigGroup -> Contains MIB object to configure Banner message
    --
    --**************************************************************************************

    agentCLIBannerMsgConfigGroup OBJECT IDENTIFIER ::= { agentCLIConfigGroup 8 }

    agentCLIBannerMessage OBJECT-TYPE
        SYNTAX            OCTET STRING
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION
                    "Banner message string.  To enter the banner message
                     in multiple lines, separate each line by '\r\n'.
                     The maximum printable characters is limited to 2000 characters."
        ::= { agentCLIBannerMsgConfigGroup 1 }


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

    agentLagConfigCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  read-only
         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 }

    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,
             agentLagSummaryStaticCapability
                 INTEGER,
             agentLagSummaryHashOption
                 Integer32,
             agentLagSummaryMinimumActiveLinks
                 INTEGER,
             agentLagSummaryMtuValue
                 Unsigned32
           }

    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
         STATUS      current
         DESCRIPTION
                     "Agent LAG Name.

                     The associated name of the LAG used during creation. Duplicate names are not allowed."
         ::= { agentLagSummaryConfigEntry 2 }

    agentLagSummaryFlushTimer OBJECT-TYPE
         SYNTAX      Integer32
         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 {
                      enable(1),
                      disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Agent LAG StpMode

                     Administratively enables or disables STP on this interface."
         ::= { agentLagSummaryConfigEntry 6 }

    agentLagSummaryAddPort OBJECT-TYPE
         SYNTAX      Integer32
         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
         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 }

    agentLagSummaryStaticCapability 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 }


    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 12 }

     agentLagSummaryMinimumActiveLinks OBJECT-TYPE
         SYNTAX      INTEGER (1..8)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     " Agent LAG Threshold.
                     This configures the threshold(i.e minimum number of active ports)
                     value for trunk port ."

         DEFVAL { 1 }
         ::= { agentLagSummaryConfigEntry 13 }


     agentLagSummaryMtuValue OBJECT-TYPE
         SYNTAX      Unsigned32 (1518..12288)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the MTU value for this LAG interface. The maximum value is
                     dependent on the platform."

         DEFVAL { 1518 }
         ::= { 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      current
         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      current
         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 }

    agentNetworkConfigProtocolDhcpRenew OBJECT-TYPE
         SYNTAX      INTEGER {
                     normalOperation(0),
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's network config protocol dhcp is renewed. Will always return 0 when read."
         ::= { agentNetworkConfigGroup 8 }

    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 9 }

    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 10 }

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




    --**************************************************************************************
    -- 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"
             ::=  { 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 {
                     normalOperation(0),
                     renew(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The switch's ServicePort protocol dhcp is renewed. Will always return 0 when read."
          ::= { agentServicePortConfigGroup 6 }

    --**************************************************************************************
    -- 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"
             ::=  { 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 }

--**************************************************************************************
    agentDhcpClientOptionsConfigGroup     OBJECT IDENTIFIER ::= { agentConfigGroup 5 }
--**************************************************************************************
--**************************************************************************************
    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 }



    --**************************************************************************************
    -- 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,
           agentSnmpTrapReceiverAddressType
               INTEGER,
           agentSnmpTrapReceiverAddress
               DisplayString,
           agentSnmpTrapReceiverIPAddress
               IpAddress,
           agentSnmpTrapReceiverStatus
               INTEGER,
           agentSnmpTrapReceiverVersion
               INTEGER,
           agentSnmpTrapReceiverIpv6Address
                Ipv6AddressPrefix
       }

    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 }

    agentSnmpTrapReceiverAddressType OBJECT-TYPE
         SYNTAX      INTEGER{
                     ipv4(1),
                     ipv6(2),
                     dns-v4(3),
                     dns-v6(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The type of the snmptrap reciever address.

                     The agentSnmpTrapReceiverAddress object is intepreted within the
                     context of agentSnmpTrapReceiverAddressType"
         ::= { agentSnmpTrapReceiverConfigEntry 7 }

    agentSnmpTrapReceiverAddress OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The snmptrap reciever address.

                     The type of this address is determined by the value of the
                     agentSnmpTrapReceiverAddressType object.
                     The values for agentSnmpTrapReceiverAddressType and
                     agentSnmpTrapReceiverAddress must be consistent."
         ::= { agentSnmpTrapReceiverConfigEntry 8 }

    agentSnmpTrapReceiverIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "IP Address - Each IP address parameter is four integer numbers.
                     The numbers range from 0 to 255.
                     "
         ::= { 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)
                     }
         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."
         DEFVAL { snmpv2c }
         ::= { agentSnmpTrapReceiverConfigEntry 5 }

    agentSnmpTrapReceiverIpv6Address OBJECT-TYPE
      SYNTAX      Ipv6AddressPrefix
      MAX-ACCESS  read-write
        STATUS     obsolete
        DESCRIPTION
                   "IPv6 Address  for SNMP receiver."
       ::= { agentSnmpTrapReceiverConfigEntry 6 }

    --**************************************************************************************
    -- 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 }

    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 }

    --**************************************************************************************
    -- 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 6 }

    --**************************************************************************************
    -- 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 }

    agentSwitchFdbAddressAgingTimeout OBJECT-TYPE
         SYNTAX      Integer32 (10..1000000)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The address aging timeout.

                      Specifies aging time in seconds (10 - 1000000) before a dynamic MAC address 
                      is erased from the Filtering Database. The default value is 300 seconds."
         DEFVAL { 300 }
         ::= { agentSwitchConfigGroup 3 }
    agentSwitchAddressAgingTimeoutTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchAddressAgingTimeoutEntry
         MAX-ACCESS  not-accessible
         STATUS      deprecated
         DESCRIPTION
                     "The switch's address aging timeout table. This functionality is now 
                      handled by agentSwitchFdbAddressAgingTimeout."
         ::= { agentSwitchConfigGroup 4 }

    agentSwitchAddressAgingTimeoutEntry OBJECT-TYPE
         SYNTAX      AgentSwitchAddressAgingTimeoutEntry
         MAX-ACCESS  not-accessible
         STATUS      deprecated
         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      deprecated
         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      current
         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 {
                     symmetric(1),
                     asymmetric(2),
                     disable(3)
                  }
         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. Enabling
                     symmetric flow control allows the switch to send
                     and receive pause frames. Enabling asymmetric
                     flow control allows the switch to receive pause
                     frames but it will not transmit pause frames."
         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,
          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 }

    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,
          agentSwitchSnoopingVlanReportSuppMode
              INTEGER
          }

   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
         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 }


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


    --**************************************************************************************
    -- 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 }
         ::= { 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"
         ::= { 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      current
         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      current
         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      current
         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      current
         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      current
         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      current
         DESCRIPTION
         "Row status"
         ::= { agentSwitchDVlanTagEntry 3}

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

        agentSwitchPortDVlanTagEntry OBJECT-TYPE
         SYNTAX      AgentSwitchPortDVlanTagEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         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      current
         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      current
         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      current
         DESCRIPTION
         "Controls the Double Vlan Tag mode on this port."
         ::= { agentSwitchPortDVlanTagEntry 3}

    agentSwitchPortDVlanTagCustomerId OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-create
         STATUS      current
         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      current
         DESCRIPTION
         "Row status"
         ::= { agentSwitchPortDVlanTagEntry 5}


    --**************************************************************************************
    -- 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 }
         ::= { agentSwitchVlanMacAssociationTable 1 }

    AgentSwitchVlanMacAssociationEntry ::=
    SEQUENCE {
        agentSwitchVlanMacAssociationMacAddress
            MacAddress,
        agentSwitchVlanMacAssociationVlanId
            VlanIndex,
        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 }

    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}
         ::= { agentSwitchVlanSubnetAssociationTable 1 }

    AgentSwitchVlanSubnetAssociationEntry ::=
    SEQUENCE {
        agentSwitchVlanSubnetAssociationIPAddress
            IpAddress,
        agentSwitchVlanSubnetAssociationSubnetMask
            IpAddress,
        agentSwitchVlanSubnetAssociationVlanId
            VlanIndex,
        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 }

    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
         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 { 60 }
         ::= { 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
         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
         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),
                     xmodem(2),
                     ymodem(3),
                     zmodem(4),
                     sftp(5),
                     scp(6)
                     ,usb(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 X/Y/ZMODEM, TFTP, SFTP or SCP. X/Y/ZMODEM is
                     valid only when the file transfer is initiated by the serial EIA 232 port.
                     SFTP and SCP are only allowed if the SSH feature is present.
                     Upload to USB is allowed only if the USB feature is present.
                     "
         ::= { agentTransferUploadGroup 1 }

    agentTransferUploadServerIP OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Transfer upload server IP configures the IP address of the server
                     where the file is located. It is valid only when the Transfer Mode is
                     TFTP, SFTP, or SCP. The address is 4 integer bytes ranging from 0 to 255.

                     This object is deprecated in favour of agentTransferUploadServerAddress
                     and agentTransferUploadServerAddressType."
         ::= { agentTransferUploadGroup 2 }

    agentTransferUploadPath OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..31))
         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..31))
         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 31 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\scripts\ and File Name set to script2.scr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, SFTP or SCP and object agentTransferUploadDataType
                     is not set to type code."
         ::= { agentTransferUploadGroup 4 }

    agentTransferUploadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                      config(2),
                      errorlog(3),
                      messagelog(4),
                      traplog(5),
                      clibanner(6),
                      code(7),
                      lang-pack(8),
                      cpuPktCapture(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:
                        -       Configuration File
                        -       Error log
                        -       Message log
                        -       Trap log
                        -       Banner File
                        -       Language Pack file
                        -       Captured CPU packets file
                     "
         ::= { agentTransferUploadGroup 5 }


    agentTransferUploadStart OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload start will start an upload transfer.
                     The agentTransferUploadMode object must not be set to xmodem(2),
                         ymodem(3), or zmodem(4) to initiate a transfer via SNMP."
         ::= { agentTransferUploadGroup 6 }

    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)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Indicates the current status of an upload transfer."
         ::= { agentTransferUploadGroup 7 }

    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 8 }

    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, 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 9 }

    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 10 }

    agentTransferUploadUsername OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Username applicable only to secure upload types, i.e., SFTP or SCP.
                     "

         ::= { agentTransferUploadGroup 11 }

    agentTransferUploadPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Password applicable only to secure upload types, i.e. SFTP or SCP.
                     "

         ::= { agentTransferUploadGroup 12 }

    agentTransferUploadRemoteFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..31))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload remote filename configures the file name for the file being
                     created remotely. It can be up to 31 alphanumeric characters.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, SFTP or SCP."
         ::= { agentTransferUploadGroup 14}

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

    agentTransferDownloadGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 2 }

    agentTransferDownloadMode OBJECT-TYPE
        SYNTAX      INTEGER {
                     tftp(1),
                     xmodem(2),
                     ymodem(3),
                     zmodem(4),
                     sftp(5),
                     scp(6)
                     ,usb(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 X/Y/ZMODEM, TFTP, SFTP or SCP. X/Y/ZMODEM is valid only
                     when the file transfer is initiated by the serial EIA 232 port.  SFTP and SCP
                     are only allowed if the SSH feature is present.
                     Download to USB is only allowed if the USB feature is present.
                     "
         ::= { agentTransferDownloadGroup 1 }

    agentTransferDownloadServerIP OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Transfer download serverip configures the IP address of the server
                     where the file is located. It is valid only when the Transfer Mode is TFTP, SFTP or
                     SCP.
                     The address is 4 integer bytes ranging from 0 to 255.

                     This object is deprecated in favour of agentTransferDownloadServerAddress
                     and agentTransferDownloadServerAddressType."

         ::= { agentTransferDownloadGroup 2 }

    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..31))
         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 31 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 32
                     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\scripts\ and File Name set to script1.scr.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, SFTP or SCP and the object agentTransferDownloadDataType
                     download type is not set to code"

         ::= { agentTransferDownloadGroup 4 }

    agentTransferDownloadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                     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),
                     kernel(12),
                     tr069-acs-sslpem-root(13),
                     tr069-client-ssl-private-key(14),
                     tr069-client-ssl-cert(15),
                     lang-pack(16),
                     ias-users(17)

                     }
         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:

                     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
                     kernel             - Kernel File
                     lang-pack          - Language Pack File.

                     Note: SSH Key files can only be downloaded if SSH Server is administratively
                     disabled, and there are no active SSH sessions.
                     Kernel file can be downloaded only on raptor platform and linux operating system.
                     Language pack file is used when NLS localization feature is available.
                     "
         ::= { agentTransferDownloadGroup 5 }


    agentTransferDownloadStart OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download start will start an download transfer.
                     The agentTransferDownloadMode object must not be set to xmodem(2),
                         ymodem(3), or zmodem(4) to initiate a transfer via SNMP."
         ::= { agentTransferDownloadGroup 6 }

    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)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Indicates the current status of an download transfer."
         ::= { agentTransferDownloadGroup 7 }

    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 8 }

    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, 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 9 }

    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 10 }

    agentTransferDownloadUsername OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Username applicable only to secure download types, i.e., SFTP or SCP.
                     "

         ::= { agentTransferDownloadGroup 11 }

    agentTransferDownloadPassword OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..64))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Password applicable only to secure download types, i.e. SFTP or SCP.
                     "

         ::= { agentTransferDownloadGroup 12 }


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

    agentImageConfigGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 3 }

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

   agentActiveImage OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         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,
         agentPortMirrorSourceVlan
              Unsigned32,
         agentPortMirrorRemoteSourceVlan
              Unsigned32,
         agentPortMirrorRemoteDestinationVlan
              Unsigned32,
         agentPortMirrorReflectorPort
              Unsigned32
         }

    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 }

    agentPortMirrorSourceVlan OBJECT-TYPE
         SYNTAX      Unsigned32(0|2..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The vlan from which traffic will be sent to the destination port."
         ::= { agentPortMirrorEntry 5 }

    agentPortMirrorRemoteSourceVlan OBJECT-TYPE
         SYNTAX      Unsigned32(0|2..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The remote vlan from which traffic will be sent to the destination port."
         ::= { agentPortMirrorEntry 6 }

    agentPortMirrorRemoteDestinationVlan OBJECT-TYPE
         SYNTAX      Unsigned32(0|2..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The VLAN that forwards the network traffic to the destination switch."
         ::= { agentPortMirrorEntry 7 }

    agentPortMirrorReflectorPort OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The port which traffic from the mirrored ports will be sent to in case of destination being remote VLAN."
         ::= { agentPortMirrorEntry 8 }


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 }
         
       agentPortMirrorRemoteVlan OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
                     "The VLAN configured as RSPAN VLAN."
         ::= { agentPortMirroringGroup 6 }

    --**************************************************************************************
    --    agentPortMirrorRemoteVlanTable
    --**************************************************************************************

    agentPortMirrorRemoteVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPortMirrorRemoteVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the RSPAN VLAN config entries"
         ::= { agentPortMirroringGroup 7 }

    agentPortMirrorRemoteVlanEntry OBJECT-TYPE
         SYNTAX      AgentPortMirrorRemoteVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "RSPAN VLAN config entry"
         INDEX       {agentPortMirrorRemoteVlanIndex }
         ::= { agentPortMirrorRemoteVlanTable 1 }

    AgentPortMirrorRemoteVlanEntry ::= SEQUENCE {
          agentPortMirrorRemoteVlanIndex
              VlanIndex,
          agentPortMirrorRemoteVlanRowStatus
              RowStatus
          }

    agentPortMirrorRemoteVlanIndex OBJECT-TYPE
         SYNTAX  VlanIndex
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
                 "The VLAN which is configured as a remote-span VLAN."
         ::= { agentPortMirrorRemoteVlanEntry 1 }

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

                 active(1)        - the VLAN is configured as a remote-span VLAN
                 createAndGo(4)   - add the VLAN as a remote-span VLAN 
                 destroy(6)       - remove the VLAN from the list of Remote-span VLAN. 
                          RSPAN VLAN cannot be removed or changed while it is used with a Monitor session."
         ::= { agentPortMirrorRemoteVlanEntry 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 }

    --**************************************************************************************
    -- agentSwitchportConfigTable
    --
    --**************************************************************************************

    agentSwitchportConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchportConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentSwitchConfigGroup 37 }

    agentSwitchportConfigEntry OBJECT-TYPE
         SYNTAX      AgentSwitchportConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         INDEX       { agentSwitchportIntfIndex }
         ::= { agentSwitchportConfigTable 1 }

    AgentSwitchportConfigEntry ::= SEQUENCE {
             agentSwitchportIntfIndex
              Integer32,
             agentSwitchportMode
              INTEGER,
             agentSwitchportAccessVlanID
              VlanIndex,
             agentSwitchportTrunkNativeVlanID
              VlanIndex,
             agentSwitchportTrunkNativeVlanTagging
              INTEGER,
             agentSwitchportTrunkAllowedVlanList
              VlanList,
             agentSwitchportGeneralUntaggedVlanList
              VlanList,
             agentSwitchportGeneralTaggedVlanList
              VlanList,
             agentSwitchportGeneralForbiddenVlanList
              VlanList,
             agentSwitchportGeneralDynamicallyAddedVlanList
              VlanList
         }

     agentSwitchportIntfIndex OBJECT-TYPE
         SYNTAX      Integer32 (1..65535)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The port or LAG number to be selected. Each port/LAG maps to an interface."
         ::= { agentSwitchportConfigEntry 1 }

    agentSwitchportMode OBJECT-TYPE
        SYNTAX      INTEGER {
                    access(1),
                    trunk(2),
                    general(3)
                 }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Configure the VLAN membership mode of a port."
        ::= { agentSwitchportConfigEntry 2 }

    agentSwitchportAccessVlanID OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the Access VLAN Id for the interface."
         ::= { agentSwitchportConfigEntry 3 }

    agentSwitchportTrunkNativeVlanID OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the Native VLAN Id for the interface."
         ::= { agentSwitchportConfigEntry 4 }

    agentSwitchportTrunkNativeVlanTagging OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Describes the Native VLAN tagging for the interface.
                      'disable' mean that packets marked with Native VLAN are transmitted untagged from Trunk port. "
         ::= { agentSwitchportConfigEntry 5 }


    agentSwitchportTrunkAllowedVlanList OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the allowed VLAN list of Trunk switch interface."
         ::= { agentSwitchportConfigEntry 6 }

    agentSwitchportGeneralUntaggedVlanList OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Shows the allowed untagged VLAN list of general switch interface."
         ::= { agentSwitchportConfigEntry 7 }

    agentSwitchportGeneralTaggedVlanList OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " Shows the allowed tagged VLAN list of general switch interface."
         ::= { agentSwitchportConfigEntry 8 }

    agentSwitchportGeneralForbiddenVlanList OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Shows the Forbidden VLAN list of general switch interface."
         ::= { agentSwitchportConfigEntry 9 }

    agentSwitchportGeneralDynamicallyAddedVlanList OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Shows the list of dynamically added VLANs for general switch interface."
         ::= { agentSwitchportConfigEntry 10 }


    --**************************************************************************************
    -- 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,
          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,
          agentPortVoiceVlanDSCP
              Integer32,
          agentPortVoiceVlanAuthMode
              INTEGER,
          agentPortDDisableAutorecoveryTime
              INTEGER,
          agentPortDDisableComponents
              DisplayString,
          agentPortDot3FlowControlOperStatus
              INTEGER,
          agentPortSwitchportMode
              INTEGER
          }

    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
         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      obsolete
         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 {
                      blocking(1),
                      listening(2),
                      learning(3),
                      forwarding(4),
                      disabled(5)
                     }
         MAX-ACCESS  read-only
         STATUS      obsolete 
         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)
                  }
         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.

                  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
                       agentPortType40GigBaseX"

         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, either a private object identifier, if one exists, or
                  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
                       dot3MauType1000BaseXFD
                       dot3MauType10GigBaseX
                       agentPortType40GigBaseX"
         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."
         ::= { agentPortConfigEntry 13 }

    agentPortDot3FlowControlMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     symmetric(1),
                     asymmetric(2),
                     disable(3)
                  }
         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. Enabling
                     symmetric flow control allows the port to send
                     and receive pause frames. Enabling asymmetric
                     flow control allows the port to receive pause
                     frames but it will not transmit pause frames."
         ::= { 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
         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
         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 1522"
         ::= { 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 }


     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 26 }

    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 27 }

    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 28 }

    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 29 }


    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 30 }

    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 31 }

    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 32 }

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

    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 34 }

    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 35 }

     agentPortVoiceVlanDSCP OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN DSCP value."
         ::= { 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 37 }
    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 38 }

    agentPortDDisableAutorecoveryTime OBJECT-TYPE
         SYNTAX      INTEGER (0..3600)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The time in seconds left to port autorecovery from D-Disable state."
         ::= { agentPortConfigEntry 41 }

    agentPortDDisableComponents OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The list of components put the port to D-Disable state."
         ::= { agentPortConfigEntry 42 }

    agentPortSwitchportMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     general(3),
                     host(4),
                     promiscuous(5)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentPortConfigEntry 45 }

    --**************************************************************************************
    --    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 1."
         DEFVAL { 1 }
         ::= { 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
         }

    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 }

    --**************************************************************************************
    -- 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
                 PortId,
         agentStpCstPortPathCost
                 Unsigned32,
         agentStpCstPortPriority
                 Unsigned32,
         agentStpCstDesignatedBridgeId
                 OCTET STRING,
         agentStpCstDesignatedCost
                 Unsigned32,
         agentStpCstDesignatedPortId
                 PortId,
         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      PortId
         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      PortId
         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
                 PortId,
         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      PortId
         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 }

--**************************************************************************************
--    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 List for
                      configuration."

         ::= { agentAuthenticationGroup 1 }

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

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

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

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

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

         ::= { agentAuthenticationListEntry 1 }

    agentAuthenticationListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Authentication 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)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication 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)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication 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)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication 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)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication 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)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Authentication List Method 5
                      Configures the fifth authentication method to use when this list is
                      specified."

         ::= { agentAuthenticationListEntry 8 }

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

    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 }

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

    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
             }

    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 }

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

    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 }

--**************************************************************************************
-- agentExecAccountingGroup -> Contains MIB objects to configure ExecAccounting method lists
--
--**************************************************************************************

     agentExecAccountingGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 20 }

     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 21 }

     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 }


--**************************************************************************************
--    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 18 }

    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 (1..168)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the hard timeout for HTTP sessions in hours.  The default
                      value is 24 hours."
         ::= { agentHTTPConfigGroup 4 }

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

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

    agentAutoInstallConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 19 }

    agentAutoinstallMode 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 }



--**************************************************************************************
-- agentCmdsAuthorizationGroup -> Contains MIB objects to configure command authorization
--                                method lists
--
--**************************************************************************************
     agentCmdsAuthorizationGroup                  OBJECT IDENTIFIER ::= { agentConfigGroup 23 }

     agentCmdsAuthorizationListCreate OBJECT-TYPE
          SYNTAX      DisplayString (SIZE(0|1..15))
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                      "Command Authorization List Create.
                       If set to a non empty string, creates a new
                       Command Authorization List for configuration.
                       List name must contain Alphanumeric characters including
                       '-', '_', ' '."


          ::= { agentCmdsAuthorizationGroup 1 }

    --**************************************************************************************
    agentCmdsAuthorizationListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentCmdsAuthorizationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Command Authorization Method List table."
         ::= { agentCmdsAuthorizationGroup 2 }

    agentCmdsAuthorizationListEntry OBJECT-TYPE
         SYNTAX      AgentCmdsAuthorizationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Command Authorization Method List Entry."

    INDEX       { agentCmdsAuthorizationListIndex }
         ::= { agentCmdsAuthorizationListTable 1 }

    AgentCmdsAuthorizationListEntry ::=
         SEQUENCE {
         agentCmdsAuthorizationListIndex
                 Unsigned32,
         agentCmdsAuthorizationListName
                 DisplayString,
         agentCmdsAuthorizationListMethod1
                 INTEGER,
         agentCmdsAuthorizationListMethod2
                 INTEGER,
         agentCmdsAuthorizationListMethod3
                 INTEGER,
         agentCmdsAuthorizationListStatus
                 RowStatus
         }

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

         ::= { agentCmdsAuthorizationListEntry 1 }

    agentCmdsAuthorizationListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " Command Authorization List Name
                     Unique name used to identify the Command Authorization
                     List from other tables."
         ::= { agentCmdsAuthorizationListEntry 2 }

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

                     Supported values:
                     active(1)      - indicates a valid CmdsAuthorization List
                     destroy(6)     - removes the CmdsAuthorization List."
         ::= { agentCmdsAuthorizationListEntry 3 }

    agentCmdsAuthorizationListMethod1 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Command Authorization List Method1
                      Configures the Command Authorization method to use when
                      this list is specified."

         ::= { agentCmdsAuthorizationListEntry 4 }

    agentCmdsAuthorizationListMethod2 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Command Authorization List Method2
                      Configures the Command Authorization method to use when
                      this list is specified."

         ::= { agentCmdsAuthorizationListEntry 5 }

    agentCmdsAuthorizationListMethod3 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Command Authorization List Method2
                      Configures the Command Authorization method to use when
                      this list is specified."

         ::= { agentCmdsAuthorizationListEntry 6 }


--**************************************************************************************
-- agentExecAuthorizationGroup -> Contains MIB objects to configure exec authorization
--                                method lists
--
--**************************************************************************************
     agentExecAuthorizationGroup                  OBJECT IDENTIFIER ::= { agentConfigGroup 24 }

     agentExecAuthorizationListCreate OBJECT-TYPE
          SYNTAX      DisplayString (SIZE(0|1..15))
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                      "Exec Authorization List Create.
                       If set to a non empty string, creates a new
                       Exec Authorization List for configuration.
                       List name must contain Alphanumeric characters including
                       '-', '_', ' '."

          ::= { agentExecAuthorizationGroup 1 }

    --**************************************************************************************
    agentExecAuthorizationListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentExecAuthorizationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Exec Authorization Method List table."
         ::= { agentExecAuthorizationGroup 2 }

    agentExecAuthorizationListEntry OBJECT-TYPE
         SYNTAX      AgentExecAuthorizationListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Exec Authorization Method List Entry."

    INDEX       { agentExecAuthorizationListIndex }
         ::= { agentExecAuthorizationListTable 1 }

    AgentExecAuthorizationListEntry ::=
         SEQUENCE {
         agentExecAuthorizationListIndex
                 Unsigned32,
         agentExecAuthorizationListName
                 DisplayString,
         agentExecAuthorizationListMethod1
                 INTEGER,
         agentExecAuthorizationListMethod2
                 INTEGER,
         agentExecAuthorizationListMethod3
                 INTEGER,
         agentExecAuthorizationListMethod4
                 INTEGER,
         agentExecAuthorizationListStatus
                 RowStatus
         }

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

         ::= { agentExecAuthorizationListEntry 1 }

    agentExecAuthorizationListName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..15))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " Exec Authorization List Name
                     Unique name used to identify the Exec Authorization
                     List from other tables."
         ::= { agentExecAuthorizationListEntry 2 }

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

                     Supported values:
                     active(1)      - indicates a valid ExecAuthorization List
                     destroy(6)     - removes the ExecAuthorization List."
         ::= { agentExecAuthorizationListEntry 3 }

    agentExecAuthorizationListMethod1 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Exec Authorization List Method1
                      Configures the Exec Authorization method to use when
                      this list is specified."

         ::= { agentExecAuthorizationListEntry 4 }

    agentExecAuthorizationListMethod2 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Exec Authorization List Method2
                      Configures the Exec Authorization method to use when
                      this list is specified."

         ::= { agentExecAuthorizationListEntry 5 }

    agentExecAuthorizationListMethod3 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Exec Authorization List Method3
                      Configures the Exec Authorization method to use when
                      this list is specified."

         ::= { agentExecAuthorizationListEntry 6 }

    agentExecAuthorizationListMethod4 OBJECT-TYPE
         SYNTAX      INTEGER {
                     undefined(0),
                     tacacs(1),
                     radius(2),
                     local(3),
                     none(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Exec Authorization List Method4
                      Configures the Exec Authorization method to use when
                      this list is specified."

         ::= { agentExecAuthorizationListEntry 7 }



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

agentSystemGroup                             OBJECT IDENTIFIER ::= { fastPathSwitching 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 }


     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 }

     agentClearTrapLog OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear trap log"
         ::= { agentSystemGroup 8 }

     agentClearVlan OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "clear vlan entries"
         ::= { agentSystemGroup 9 }

     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 10 }

     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 11 }

    agentStartupConfigErase OBJECT-TYPE
         SYNTAX      INTEGER {
                     erase(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Erase the text-based configuration named startup-config
                      stored in non-volatile memory.On read returns 0."
          ::= { agentSystemGroup 12 }

    agentFactoryDefaultsErase OBJECT-TYPE
         SYNTAX      INTEGER {
                     erase(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Erase the text-based configuration file named factory-defaults
                      stored in non-volatile memory.On read returns 0."
          ::= { agentSystemGroup 13 }

--**************************************************************************************
--    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 ::= { fastPathSwitching 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 }

    agentStaticIpsgBindingEntry 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."
         ::= { agentStaticIpsgBindingEntry  1 }

     agentStaticIpsgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     " VLAN to whcig this IPSG binding is going to be added."
         ::= { agentStaticIpsgBindingEntry  2 }

     agentStaticIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPSG Binding."
         ::= { agentStaticIpsgBindingEntry  3 }

     agentStaticIpsgBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IP address match value for the IPSG Binding."
         ::= { agentStaticIpsgBindingEntry 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"
         ::= { agentStaticIpsgBindingEntry 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 }

    agentDynamicIpsgBindingEntry 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."
         ::= { agentDynamicIpsgBindingEntry  1 }

     agentDynamicIpsgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " VLAN to whcig this IPSG binding is going to be added."
         ::= { agentDynamicIpsgBindingEntry  2 }

     agentDynamicIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPSG Binding."
         ::= { agentDynamicIpsgBindingEntry  3 }


     agentDynamicIpsgBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Sender IP address match value for the IPSG Binding."
         ::= { agentDynamicIpsgBindingEntry 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 }

    agentStaticDsBindingEntry 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."
         ::= { agentStaticDsBindingEntry  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."
         ::= { agentStaticDsBindingEntry  2 }
     agentStaticDsBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the DHCP SNOOPING Binding."
         ::= { agentStaticDsBindingEntry  3 }

     agentStaticDsBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IP address match value for the DHCP SNOOPING Binding."
         ::= { agentStaticDsBindingEntry 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"
         ::= { agentStaticDsBindingEntry 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 }

    agentDynamicDsBindingEntry 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."
         ::= { agentDynamicDsBindingEntry  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."
         ::= { agentDynamicDsBindingEntry  2 }
     agentDynamicDsBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the DHCP SNOOPING Binding."
         ::= { agentDynamicDsBindingEntry  3 }

     agentDynamicDsBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "IP address match value for the DHCP SNOOPING Binding."
         ::= { agentDynamicDsBindingEntry 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."
         ::= { agentDynamicDsBindingEntry 5 }


--*********************** DHCP SNOOPING Remote Storage configurations ***********************a

   agentDhcpSnoopingRemoteFileName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..255))
        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 }


--**************************************************************************************
-- 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..128))
        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 }

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

      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 or the last conflict detection run. 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 or the last conflict detection run."
        ::= { 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 or the last conflict detection run."
        ::= { 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
--**************************************************************************************

     fastPathSwitchingTraps OBJECT IDENTIFIER ::= { fastPathSwitching 0 }


     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."
         ::= { fastPathSwitchingTraps 1 }

     broadcastStormStartTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             "This trap is sent when a broadcast storm is detected."
         ::= { fastPathSwitchingTraps 2 }

     broadcastStormEndTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             "This trap is sent when a broadcast storm is no longer
             detected."
         ::= { fastPathSwitchingTraps 3 }

     linkFailureTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { fastPathSwitchingTraps 4 }

     vlanRequestFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { fastPathSwitchingTraps 5 }

     vlanDeleteLastTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when attempting to delete the last configured VLAN
             or the Default VLAN."
         ::= { fastPathSwitchingTraps 6 }

     vlanDefaultCfgFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent if there are failures in resetting VLAN
             configuration to defaults."
         ::= { fastPathSwitchingTraps 7 }

     vlanRestoreFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                      dot1qVlanIndex
                 }
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { fastPathSwitchingTraps 8 }

     fanFailureTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { fastPathSwitchingTraps 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."
         ::= { fastPathSwitchingTraps 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."
         ::= { fastPathSwitchingTraps 11 }

     powerSupplyStatusChangeTrap NOTIFICATION-TYPE
         STATUS             obsolete
         DESCRIPTION
             ""
         ::= { fastPathSwitchingTraps 12 }

     failedUserLoginTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "Trap is sent when a user fails to authenticate via the CLI or Web
             interfaces."
         ::= { fastPathSwitchingTraps 13 }

     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."
         ::= { fastPathSwitchingTraps 14 }

     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."
         ::= { fastPathSwitchingTraps 15 }

     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."
         ::= { fastPathSwitchingTraps 16 }

     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."
         ::= { fastPathSwitchingTraps 17 }


     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."
         ::= { fastPathSwitchingTraps 18 }

     noStartupConfigTrap NOTIFICATION-TYPE
         STATUS             current
         DESCRIPTION
             "Trap is sent when startup-config file exists and SSH is enabled."
         ::= { fastPathSwitchingTraps 19 }


    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."
        ::= { fastPathSwitchingTraps 20 }

    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."
        ::= { fastPathSwitchingTraps 21 }

    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."
        ::= { fastPathSwitchingTraps 22 }

    agentSwitchCpuFreeMemBelowThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFreeMemoryThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when CPU Free Memory falls below the configured threshold."
        ::= { fastPathSwitchingTraps 23 }

    agentSwitchCpuFreeMemAboveThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFreeMemoryThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when CPU Free Memory rises to 10% above the configured threshold."
        ::= { fastPathSwitchingTraps 24 }
     topologyChangeInitiatedTrap NOTIFICATION-TYPE
         OBJECTS {
                     agentStpMstId,
                     ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent once an interface gets a Topology change event
              on a port."
              ::= { fastPathSwitchingTraps 25 }
     loopDetectedTrap NOTIFICATION-TYPE
         OBJECTS {
                     ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent once when switch STP detects a loop"
             ::= { fastPathSwitchingTraps 26 }

--*****************************************************************************************
--    cut-through
--
--    This provides configuration and status of the cut-through feature.
--    Also known as Alternate store and forward(ASF) feature.
--
--*****************************************************************************************
     agentSwitchCutThroughGroup          OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 29 }

     agentSwitchCutThroughConfigMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Mode changes are effective from the next reload of the Switch.
                      The cut-through feature may not be present on all switches. Use
                      - agentSwitchCutThroughRunningModeStatus - MIB to check if the feature is
                      present on your switch."
         ::= { agentSwitchCutThroughGroup 1 }

    agentSwitchCutThroughRunningModeStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                     enabled(1),
                     disabled(2),
                     not-supported(3)
                     }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "This gives the current running mode of the cut-through feature on switch.
                      Note that Mode changes are effective from the next reload of the Switch.
                      so running mode may be different than the configured mode.
                      A value of not-supported(3) means that the feature is not present on the
                      switch."
        ::= { agentSwitchCutThroughGroup 2 }

    agentSwitchCutThroughConfiguredModeStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                     enabled(1),
                     disabled(2),
                     not-supported(3)
                     }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "This gives the configured mode of cut-through feature on switch.
                      Note that Mode changes are effective from the next reload of the Switch.
                      so running mode may be different than the configured mode.
                      A value of not-supported(3) means that the feature is not present on the
                      switch."
        ::= { agentSwitchCutThroughGroup 3 }


--*****************************************************************************************
--    port type
--
--    This provides an augmentation to the MAU mib for fastpath specific port types
--
--*****************************************************************************************

     agentPortTypeGroup          OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 30 }

     agentPortType40GigBaseX OBJECT-IDENTITY
           STATUS      current
           DESCRIPTION "X PCS/PMA, unknown PMD. MAU MIB augmentation"
           REFERENCE   ""
           ::= { agentPortTypeGroup 1 }

--*****************************************************************************************
--    Private Vlan
--
--*****************************************************************************************
    agentPrivateVlanGroup          OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 31 }

    agentPrivateVlanTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPrivateVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentPrivateVlanGroup 1 }

    agentPrivateVlanEntry OBJECT-TYPE
         SYNTAX      AgentPrivateVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         INDEX       { dot1qVlanIndex }
         ::= { agentPrivateVlanTable 1 }

    AgentPrivateVlanEntry ::= SEQUENCE {
         agentPrivateVlanType
              INTEGER,
         agentPrivateVlanAssociate
              VlanList
         }

    agentPrivateVlanType OBJECT-TYPE
        SYNTAX       INTEGER {
                     primary(1),
                     isolated(2),
                     community(3),
                     unconfigured(4)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Enables vlan for Private Vlan and configures private vlan type."
        ::= { agentPrivateVlanEntry 1 }

    agentPrivateVlanAssociate OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This field lists all the VlanIDs which are associated with the selected vlan.
                     If the selected vlan type is not primary(1), a zero-length bitmask is returned."
         ::= { agentPrivateVlanEntry 2 }

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

    agentPrivateVlanIntfAssocTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPrivateVlanIntfAssocEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentPrivateVlanGroup 2 }

    agentPrivateVlanIntfAssocEntry OBJECT-TYPE
         SYNTAX      AgentPrivateVlanIntfAssocEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     ""
         INDEX       { ifIndex }
         ::= { agentPrivateVlanIntfAssocTable 1 }

    AgentPrivateVlanIntfAssocEntry ::= SEQUENCE {
         agentPrivateVlanIntfAssocHostPrimary
              Integer32,
         agentPrivateVlanIntfAssocHostSecondary
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousPrimary
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousSecondary
              VlanList,
         agentPrivateVlanIntfAssocOperational
              VlanList
         }

    agentPrivateVlanIntfAssocHostPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4094)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the primary host vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocHostSecondary before
                     the association will be operational."
         ::= { agentPrivateVlanIntfAssocEntry 1 }

    agentPrivateVlanIntfAssocHostSecondary OBJECT-TYPE
         SYNTAX      Integer32 (1..4094)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the secondary host vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocHostPrimary before
                     the association will be operational."
         ::= { agentPrivateVlanIntfAssocEntry 2 }

    agentPrivateVlanIntfAssocPromiscuousPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4094)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the primary promiscuous vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocPromiscuousSecondary before
                     the association will be operational."
         ::= { agentPrivateVlanIntfAssocEntry 3 }

    agentPrivateVlanIntfAssocPromiscuousSecondary OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the secondary promiscuous vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocPromiscuousPrimary before
                     the association will be operational."
         ::= { agentPrivateVlanIntfAssocEntry 4 }

    agentPrivateVlanIntfAssocOperational OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Shows the operational private vlans associated with the interface."
         ::= { agentPrivateVlanIntfAssocEntry 5 }

    --**************************************************************************************
    -- agentSwitchPrivateGroup
    --
    --**************************************************************************************

    agentSwitchPrivateGroupConfigGroup         OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 32 }
    agentSwitchPrivateGroupTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchPrivateGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's private group  mapping table"
         ::= { agentSwitchPrivateGroupConfigGroup 1 }

    agentSwitchPrivateGroupEntry OBJECT-TYPE
         SYNTAX      AgentSwitchPrivateGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Private groups assigned to ports."
         INDEX       { agentSwitchPrivateGroupId }
         ::= { agentSwitchPrivateGroupTable 1 }

    AgentSwitchPrivateGroupEntry ::=
    SEQUENCE {
        agentSwitchPrivateGroupId
            Integer32,
        agentSwitchPrivateGroupName
            DisplayString,
        agentSwitchPrivateGroupMode
            INTEGER,
        agentSwitchPrivateGroupRowStatus
            RowStatus
      }

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

    agentSwitchPrivateGroupName  OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..24))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The name of the Private group"
         ::= { agentSwitchPrivateGroupEntry 2 }

    agentSwitchPrivateGroupMode  OBJECT-TYPE
         SYNTAX      INTEGER {
                      isolated(1),
                      community(2)
                      }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The mode of port in private group is either isloated or community"
         ::= { agentSwitchPrivateGroupEntry 3 }

    agentSwitchPrivateGroupRowStatus  OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Private Group VLAN can only be created through
                      multiple variable bindings taking all the objects of
                      of the AgentSwitchPrivateGroupEntry.
                       Supported values:
                     active(1)      - valid entry
                     createAndGo(4) - used to create a new entry
                     destroy(6)     - removes the entry "
         ::= { agentSwitchPrivateGroupEntry 4 }

    --**************************************************************************************
    -- agentSwitchPrivateGroup table 2
    --**************************************************************************************
         agentSwitchPrivateGroupPortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSwitchPrivateGroupPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The switch's private group portlist mapping table"
         ::= { agentSwitchPrivateGroupConfigGroup  2 }

    agentSwitchPrivateGroupPortEntry OBJECT-TYPE
         SYNTAX      AgentSwitchPrivateGroupPortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "List of ports assigned to private groups."
         INDEX       { agentSwitchPrivateGroupPortGroupId }
         ::= { agentSwitchPrivateGroupPortTable 1 }

    AgentSwitchPrivateGroupPortEntry ::=
    SEQUENCE {
        agentSwitchPrivateGroupPortGroupId
            Integer32,
        agentSwitchPrivateGroupPortGroupName
            DisplayString,
        agentSwitchPrivateGroupPortPortList
            PortList
      }

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

    agentSwitchPrivateGroupPortGroupName  OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..24))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The name of the Private group "
         ::= { agentSwitchPrivateGroupPortEntry 2 }

    agentSwitchPrivateGroupPortPortList  OBJECT-TYPE
         SYNTAX      PortList
         MAX-ACCESS   read-write
         STATUS       current
         DESCRIPTION
                     "The list of ports in private group"
         ::= { agentSwitchPrivateGroupPortEntry 3 }


END