DNOS-SWITCHING-MIB DEFINITIONS ::= BEGIN

-- Broadcom FastPath Switching MIB
-- Copyright 2016-2020 Broadcom.
-- This SNMP Management Information Specification
-- embodies Broadcom's confidential and proprietary
-- intellectual property. Broadcom retains all title
-- and ownership in the Specification including any revisions.

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


IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress,
    Integer32, Unsigned32, Counter32, Gauge32, TimeTicks, Counter64
                                        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION                  FROM SNMPv2-TC
    RowStatus,MacAddress,TruthValue,DateAndTime FROM SNMPv2-TC
    dnOS,AgentPortMask              FROM DELL-REF-MIB
    DisplayString,PhysAddress           FROM RFC1213-MIB
    VlanId,VlanIndex,dot1qVlanIndex,dot1qFdbId
                                        FROM Q-BRIDGE-MIB
    IANAifType                          FROM IANAifType-MIB
    ifIndex, InterfaceIndex             FROM IF-MIB
    InetAddressType, InetAddress, InetPortNumber
                                        FROM INET-ADDRESS-MIB
    AgentLogSeverity                    FROM DNOS-LOGGING-MIB;

    fastPathSwitching MODULE-IDENTITY
        LAST-UPDATED "202005140000Z" -- 14 May 2020 12:00:00 GMT
        ORGANIZATION "Dell EMC"
        CONTACT-INFO ""
        DESCRIPTION
          "The Dell Networking Private MIB for Switching"

        -- Revision history.
        REVISION
          "202005140000Z" -- 14 May 2020 12:00:00 GMT
        DESCRIPTION
          "Deprecated several items in agentPrivateVlanTable
          and agentPrivateVlanIntfAssocTable."
        REVISION
          "201909200000Z" -- 20 Sep 2019 12:00:00 GMT
        DESCRIPTION
          "Added agentPortType20GigBaseX, agentPortType25GigBaseX,
           agentPortType5GigBaseX and agentPortType2pt5GigBaseX to 
           agentPortTypeGroup."
        REVISION
          "201901160000Z" -- 16 Jan 2019 12:00:00 GMT
        DESCRIPTION
          "Added DHCP snooping violation trap in 
           fastPathSwitchingTraps."
        REVISION
          "201812050000Z" -- 05 DEC 2018 12:00:00 GMT
        DESCRIPTION
          "Added support for ECDSA key file download"
        REVISION
          "201810030000Z" -- 03 OCT 2018 12:00:00 GMT
        DESCRIPTION
          "Obsoleted agentArpAclRuleTable, agentArpAclRemarkRuleTable and
           all other objects within these tables.
           Added agentArpAclRuleConfigTable, agentArpAclRemarkRuleConfigTable
           and objects within these tables.
           Added agentDaiVlanAclDenials object.
           Added object agentDaiInterfaceValidate."
        REVISION
          "201512180000Z" -- 18 Dec 2015 12:00:00 GMT
        DESCRIPTION
          "Added object agentKeepalivePortLastLoopDetectedTime to
           agentKeepalivePortEntry. Made object
           agentKeepalivePortTimeSinceLastLoop as obsolete."
        REVISION
          "201506290000Z" -- 29 Jun 2015 12:00:00 GMT
        DESCRIPTION
          "Added below mentioned mibs for Loop protect feature.
           agentKeepalivePortEntry - includes config and state objects for loop protect
           feature on an interface.
           agentSwitchKeepaliveGroup - includes config and state objects for loop protect
           feature on a switch.
           Also added loopProtectTrap trap to be sent on detection of loop."
        REVISION
          "201404090000Z" -- 09 Apr 2014 12:00:00 GMT
        DESCRIPTION
          "Added group agentDynamicAuthorizationGroup to the agentConfigGroup to support
           Dynamic Authorization."		
        REVISION
          "201110170000Z" -- 17 Oct 2011 12:00:00 GMT
        DESCRIPTION
          "Revisions made for new release."
        REVISION
          "200311210000Z" -- 21 Nov 2003 12:00:00 GMT
        DESCRIPTION
          "Revisions made for new release."
        REVISION
          "200302061835Z"
        DESCRIPTION
          "Updated for release."
          

    ::= { dnOS 1 }

ProtectedPortList ::= 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 (SIZE (0..198))

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 (SIZE (0..512))



   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 }



    --**************************************************************************************
    -- 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,
          agentSwitchCpuProcessPercentageUtilizationFive
              Gauge32,
          agentSwitchCpuProcessPercentageUtilizationSixty
              Gauge32,
          agentSwitchCpuProcessPercentageUtilizationThreeHundred
              Gauge32,
          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      obsolete
         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 }

    agentSwitchCpuProcessPercentageUtilizationFive OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "CPU utilization per task in percentage over a period of 5 seconds."
         ::= { agentSwitchCpuProcessEntry 4 }

    agentSwitchCpuProcessPercentageUtilizationSixty OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "CPU utilization per task in percentage over a period of 60 seconds."
         ::= { agentSwitchCpuProcessEntry 5 }

    agentSwitchCpuProcessPercentageUtilizationThreeHundred OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "CPU utilization per task in percentage over a period of 300 seconds."
         ::= { agentSwitchCpuProcessEntry 6 }

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


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

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

   --**************************************************************************************
   -- agentSwitchCpuProcessTotalUtilizationFive

    agentSwitchCpuProcessTotalUtilizationFive OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                    "Total CPU utilization over a period of 5 seconds."
         ::= { agentSwitchCpuProcessGroup 10 }

   --**************************************************************************************
   -- agentSwitchCpuProcessTotalUtilizationSixty

    agentSwitchCpuProcessTotalUtilizationSixty OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                    "Total CPU utilization over a period of 60 seconds."
         ::= { agentSwitchCpuProcessGroup 11 }

   --**************************************************************************************
   -- agentSwitchCpuProcessTotalUtilizationThreeHundred

    agentSwitchCpuProcessTotalUtilizationThreeHundred OBJECT-TYPE
         SYNTAX      Gauge32(0..100)
         UNITS       "percent"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                    "Total CPU utilization over a period of 300 seconds."
         ::= { agentSwitchCpuProcessGroup 12 }

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

    agentSwitchMbufsTotal OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Total number of message buffers in the system."
         ::= { agentSwitchMbufGroup 3 }

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

    agentSwitchMbufsUsed OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Number of message buffers currently in use."
         ::= { agentSwitchMbufGroup 4 }
   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 }

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

    agentPortStatsRateGroup         OBJECT IDENTIFIER ::= { agentInfoGroup 8 }

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

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

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

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

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

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

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


    agentPortStatsRateOverflowBitsPerSecondRx OBJECT-TYPE
         SYNTAX     Counter32
         UNITS      "bits"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The counter in which stored the number of times
                     the associated agentPortStatsRateBitsPerSecondRx counter
                     has overflowed."
         ::= { agentPortStatsRateEntry 5 }

    agentPortStatsRateOverflowBitsPerSecondTx OBJECT-TYPE
         SYNTAX     Counter32
         UNITS      "bits"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The counter in which stored the number of times
                     the associated agentPortStatsRateBitsPerSecondTx counter
                     has overflowed."
         ::= { agentPortStatsRateEntry 6 }

    agentPortStatsRateOverflowPacketsPerSecondRx OBJECT-TYPE
         SYNTAX     Counter32
         UNITS      "packets"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The counter in which stored the number of times
                     the associated agentPortStatsRatePacketsPerSecondRx counter
                     has overflowed."
         ::= { agentPortStatsRateEntry 7 }

    agentPortStatsRateOverflowPacketsPerSecondTx OBJECT-TYPE
         SYNTAX     Counter32
         UNITS      "packets"
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
                    "The counter in which stored the number of times
                     the associated agentPortStatsRatePacketsPerSecondTx counter
                     has overflowed."
         ::= { agentPortStatsRateEntry 8 }


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

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

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

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


 --**************************************************************************************
 -- 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 (0..3932159)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Telnet login timeout (seconds)

                     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 0 to 3932159.
                     Note: Changing the timeout value for active
                     sessions does not become effective until the session is reaccessed.
                     Any keystroke will also activate the new timeout duration."
         ::= { agentTelnetConfigGroup 1 }

    agentTelnetMaxSessions OBJECT-TYPE
         SYNTAX      Integer32 (0..4)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Maximum number of Telnet Sessions
                     Config telnet maxsessions is an integer value from 0 to 4 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 }

    agentTelnetMgmtPortNum OBJECT-TYPE
         SYNTAX      Integer32 (1..65535)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Get/Set the port no which should be used to open telnet sessions on switch.
                     Port No is an integer value from 1 to 65535 and the given port should not
                     be in use by any other service.
                     The default value is 23.
                     "
         ::= { agentTelnetConfigGroup 4 }

    agentTelnetExecBannerState OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                              }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Shows/Changes EXEC banner state on Telnet session."
         DEFVAL                 { enable }
         ::= { agentTelnetConfigGroup 5 }

    agentTelnetLoginBannerState OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Shows/Changes login banner state on Telnet session."
        DEFVAL          { enable }
         ::= { agentTelnetConfigGroup 6 }

    agentTelnetMotdBannerState OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Shows/Changes MOTD banner state on Telnet session."
        DEFVAL          { enable }
        ::= { agentTelnetConfigGroup 7 }

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

    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..3932159)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "agentSerialTimeout specifies the maximum connect time(in seconds)
                     without console activity. A value of 0 indicates that a console can
                     be connected indefinitely. The time range is 0 to 3932159. "
         ::= { 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 }

    agentSerialExecBannerState OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Shows/Changes EXEC banner state on console session."
        DEFVAL      { enable }
        ::= { agentSerialGroup 7 }

    agentSerialLoginBannerState OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Shows/Changes login banner state on console session."
        DEFVAL      { enable }
        ::= { agentSerialGroup 8 }

    agentSerialMotdBannerState OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Shows/Changes MOTD banner state on console session."
        DEFVAL      { enable }
        ::= { agentSerialGroup 9 }

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

    --**************************************************************************************
    -- agentCLIBannerConfigGroup
    --
    --**************************************************************************************

    agentCLIBannerConfigGroup OBJECT IDENTIFIER ::= { agentCLIConfigGroup 7 }

    agentCLIBannerExec OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..2000))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Exec banner message string. "
        ::= { agentCLIBannerConfigGroup 1 }

    agentCLIBannerLogin OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..2000))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Login banner message string. "
        ::= { agentCLIBannerConfigGroup 2 }

    agentCLIBannerMOTD OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..2000))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "MOTD banner message string. "
        ::= { agentCLIBannerConfigGroup 3 }

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

        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 }

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

    agentLagConfigCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0|1..15))
         MAX-ACCESS  not-accessible
         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."
         ::= { 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,
             agentLagSummaryHashMode
                 INTEGER,
             agentLagSummarySwitchportMode
                 INTEGER,
             agentLagSummaryMinimumActiveLinks
                 INTEGER,
             agentLagSummaryAccessVlanID
                 Integer32,
             agentLagSummaryNativeVlanID
                 Integer32,
             agentLagSummaryLocalPreferenceMode
                 INTEGER,
             agentVpcId
                 Unsigned32,
             agentLagSummaryRateLoadInterval
                 Integer32,
             agentLagSummaryPortCounter
                 Integer32
             }
    agentLagSummaryLagIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Agent LAG IfIndex.

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

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

                     The associated name of the LAG used during creation."
         ::= { 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 }

    agentLagSummaryHashMode OBJECT-TYPE
         SYNTAX      INTEGER (1..7)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     " Agent LAG Hash Mode.

                     This configures the hashing-mode for trunk port computation. The
                     following are the possible values for hashing-mode.

                     1  - Source MAC, VLAN, EtherType, SourceModule and Port Id.
                     2  - Destination MAC, VLAN, EtherType, SourceModule and Port Id.
                     3  - Source IP and Source TCP/UDP Port.
                     4  - Destination IP and Destination TCP/UDP Port.
                     5  - Source/Destination MAC, VLAN, EtherType, source MODID/port.
                     6  - Source/Destination IP and source/destination TCP/UDP Port.
                     7  - Enhanced hashing mode."
         DEFVAL { 3 }
         ::= { agentLagSummaryConfigEntry 12 }

    agentLagSummarySwitchportMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     access(1),
                     trunk(2),
                     general(3)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentLagSummaryConfigEntry 13 }

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

    agentLagSummaryAccessVlanID OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the VLAN ID of access switch port.
                      A value of 0 indicates that  the switch port is not configured as
                      access port."
         ::= { agentLagSummaryConfigEntry 15 }

    agentLagSummaryNativeVlanID OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the VLAN ID of access switch port.
                      Configures  the Native VLAN ID of the port."
         ::= { agentLagSummaryConfigEntry 16 }

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

                     Enables or disables the LAG interface's Local Preference Mode."
         ::= { agentLagSummaryConfigEntry 17 }

     agentVpcId OBJECT-TYPE
         SYNTAX      Unsigned32 (0|1..63)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "To configure the port-channel (LAG) as VPC.
                      0 - To unconfigure the VPC on the port-channel
                          (or) port-channel is not configured as VPC."

         ::= { agentLagSummaryConfigEntry 18 }
     agentLagSummaryPortCounter OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG port flap counter."

         ::= { agentLagSummaryConfigEntry 19 }

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

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

    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,
             agentLagDetailedPortCounter
                 Integer32
             }

    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 }

    agentLagDetailedPortCounter OBJECT-TYPE
         SYNTAX      Integer32 (0..2147483647)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "LAG port flap counter."

         ::= { agentLagDetailedConfigEntry 5 }

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

    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 }

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

    agentLagClearCounters OBJECT-TYPE
         SYNTAX      INTEGER {
                     normalOperation(0),
                     clear(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Clear LAG stats. Will always return 0 when read."
         ::= { 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 IPv6 Gateway Address configured on the Servie port."
             ::=  { agentServicePortConfigGroup 8 }

    agentServicePortIpv6AddrTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF AgentServicePortIpv6AddrEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                  "The list of IPv6 address prefixes 
                   configured on 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  read-create
             STATUS      current
             DESCRIPTION
                  "The IPv6 Address Prefix configured on the 
                   Servie port."
             ::=  { agentServicePortIpv6AddrEntry 1 }

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

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

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

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

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

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

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

    agentServicePortStatsGroup                 OBJECT IDENTIFIER ::= {agentServicePortConfigGroup 13 }

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

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

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

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

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

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

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

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

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

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


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

    agentSnmpConfigGroup                OBJECT IDENTIFIER  ::=  {agentConfigGroup 6}

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

    agentSnmpCpuTresholdTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "Enables sending of a trap on the CPU occupancy exceeding the rising threshold."
         ::= { agentSnmpTrapFlagsConfigGroup 6 }

    agentSnmpBuffersTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "Enables sending of a trap on the internal message buffer count 
                      exceeding the rising threshold."
         ::= { agentSnmpTrapFlagsConfigGroup 7 }

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

    agentBpduGuardMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         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.
                     This functionality is now handled by agentStpBpduGuardMode"
         ::= { agentSpanningTreeConfigGroup 2 }

    agentBPDUFilteringMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      obsolete
         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.
                     This functionality is now handled by agentStpBpduFilterDefault"
         ::= { agentSpanningTreeConfigGroup 3 }

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

    agentSwitchConfigGroup                      OBJECT IDENTIFIER ::= { agentConfigGroup 8 }

    agentSwitchFdbAddressAgingTimeout OBJECT-TYPE
         SYNTAX      Integer32 (0|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.
                      Use '0' to disable aging time for the MAC address Table."
         DEFVAL { 300 }
         ::= { agentSwitchConfigGroup 3 }

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

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

    AgentSwitchAddressAgingTimeoutEntry ::=
         SEQUENCE {
             agentSwitchAddressAgingTimeout
                 Integer32
         }

    agentSwitchAddressAgingTimeout OBJECT-TYPE
         SYNTAX   Integer32 (0|10..1000000)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "The FDB entry's address aging timeout (in seconds).value '0' to disable Aging Timeout feature."
         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 }



    --**************************************************************************************
    -- The MGMD Snooping Source Specific Multicast Group membership Table
    --**************************************************************************************

    agentSwitchSnoopSSMGroupTable OBJECT-TYPE
         SYNTAX        SEQUENCE OF AgentSwitchSnoopSSMGroupEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The (conceptual) table listing the IP multicast Source Specific Multicast
                        Groups for which there are members on a particular interface and VLAN."
         ::= { agentSwitchConfigGroup 34 }

    agentSwitchSnoopSSMGroupEntry OBJECT-TYPE
         SYNTAX        AgentSwitchSnoopSSMGroupEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "An entry (conceptual row) in the agentSwitchSnoopSSMGroupTable."
         INDEX         { agentSwitchSnoopSSMGroupAddressType, agentSwitchSnoopSSMGroupIfIndex,
                         agentSwitchSnoopSSMGroupVlanId, agentSwitchSnoopSSMGroupAddress }
         ::= { agentSwitchSnoopSSMGroupTable 1 }

    AgentSwitchSnoopSSMGroupEntry ::=
         SEQUENCE {
             agentSwitchSnoopSSMGroupAddressType
                 InetAddressType,
             agentSwitchSnoopSSMGroupAddress
                 InetAddress,
             agentSwitchSnoopSSMGroupIfIndex
                 InterfaceIndex,
             agentSwitchSnoopSSMGroupVlanId
                 VlanIndex,
             agentSwitchSnoopSSMGroupLastReporter
                 InetAddress,
             agentSwitchSnoopSSMGroupSourceFilterMode
                 INTEGER
         }

    agentSwitchSnoopSSMGroupAddressType OBJECT-TYPE
         SYNTAX        InetAddressType
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The address type of the agentSwitchSnoopSSMGroupTable entry. This
                       value applies to both the agentSwitchSnoopSSMGroupAddress and the
                       agentSwitchSnoopSSMGroupLastReporter entries."
         ::= { agentSwitchSnoopSSMGroupEntry 1 }

    agentSwitchSnoopSSMGroupAddress OBJECT-TYPE
         SYNTAX        InetAddress (SIZE(4|16))
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The IP multicast group address for which this entry
                       contains information. The InetAddressType, e.g.
                       IPv4 or IPv6, is identified by the
                       agentSwitchSnoopSSMGroupAddressType variable in the agentSwitchSnoopSSMGroup
                       table."
         ::= { agentSwitchSnoopSSMGroupEntry 2 }

    agentSwitchSnoopSSMGroupIfIndex OBJECT-TYPE
         SYNTAX        InterfaceIndex
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The interface for which this entry contains information
                       for an IP multicast group address."
         ::= { agentSwitchSnoopSSMGroupEntry 3 }

    agentSwitchSnoopSSMGroupVlanId OBJECT-TYPE
         SYNTAX        VlanIndex
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The VLAN for which this entry contains information
                       for an IP multicast group address."
         ::= { agentSwitchSnoopSSMGroupEntry 4 }

    agentSwitchSnoopSSMGroupLastReporter OBJECT-TYPE
         SYNTAX        InetAddress
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
                       "The IP address of the source of the last membership report
                       received for this IP Multicast group address on this
                       interface and VLAN. The InetAddressType, e.g.
                       IPv4 or IPv6, is identified by the
                       agentSwitchSnoopSSMGroupAddressType variable in the agentSwitchSnoopSSMGroup
                       table."
         ::= { agentSwitchSnoopSSMGroupEntry 5 }

    agentSwitchSnoopSSMGroupSourceFilterMode OBJECT-TYPE
         SYNTAX        INTEGER { include (1),
                                 exclude (2) }
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
                       "The state in which the interface is currently set. The
                       value indicates the relevance of the corresponding source
                       list entries in the SrcList Table (agentSwitchSnoopSSMSrcListTable)."
         ::= { agentSwitchSnoopSSMGroupEntry 6 }

    --**************************************************************************************
    --  The MGMD Snooping SSM Source list Table
    --**************************************************************************************

    agentSwitchSnoopSSMSrcListTable OBJECT-TYPE
         SYNTAX        SEQUENCE OF AgentSwitchSnoopSSMSrcListEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The (conceptual) table listing the Source List entries
                       corresponding to each VLAN, interface and SSM multicast group pair on
                       a MGMD Snooping switch."
         ::= { agentSwitchConfigGroup 35 }

    agentSwitchSnoopSSMSrcListEntry OBJECT-TYPE
         SYNTAX        AgentSwitchSnoopSSMSrcListEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "An entry (conceptual row) in the agentSwitchSnoopSSMSrcListTable."
         INDEX         { agentSwitchSnoopSSMSrcListAddressType, 
                         agentSwitchSnoopSSMSrcListIfIndex, agentSwitchSnoopSSMSrcListVlanId,
                         agentSwitchSnoopSSMSrcListHostAddress, agentSwitchSnoopSSMSrcListAddress }
         ::= { agentSwitchSnoopSSMSrcListTable 1 }

    AgentSwitchSnoopSSMSrcListEntry ::=
         SEQUENCE {
             agentSwitchSnoopSSMSrcListAddressType
                  InetAddressType,
             agentSwitchSnoopSSMSrcListAddress
                  InetAddress,
             agentSwitchSnoopSSMSrcListIfIndex
                  InterfaceIndex,
             agentSwitchSnoopSSMSrcListVlanId
                  VlanIndex,
             agentSwitchSnoopSSMSrcListHostAddress
                  InetAddress
         }

    agentSwitchSnoopSSMSrcListAddressType OBJECT-TYPE
         SYNTAX        InetAddressType
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The address type of the InetAddress variables in this
                       table. This value applies to the agentSwitchSnoopSSMSrcListHostAddress
                       and agentSwitchSnoopSSMSrcListAddress entries."
         ::= { agentSwitchSnoopSSMSrcListEntry 1 }

    agentSwitchSnoopSSMSrcListAddress OBJECT-TYPE
         SYNTAX        InetAddress (SIZE(4|16))
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
                       "The IP multicast group address for which this entry
                       contains information."
         ::= { agentSwitchSnoopSSMSrcListEntry 2 }

    agentSwitchSnoopSSMSrcListIfIndex OBJECT-TYPE
         SYNTAX        InterfaceIndex
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "The interface for which this entry contains information
                       for an IP multicast group address."
         ::= { agentSwitchSnoopSSMSrcListEntry 3 }

    agentSwitchSnoopSSMSrcListVlanId OBJECT-TYPE
         SYNTAX        VlanIndex
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "The VLAN for which this entry contains information
                       for an IP multicast group address."
         ::= { agentSwitchSnoopSSMSrcListEntry 4 }

    agentSwitchSnoopSSMSrcListHostAddress OBJECT-TYPE
         SYNTAX        InetAddress (SIZE(4|16))
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
                       "The host address to which this entry
                       corresponds. The agentSwitchSnoopSSMGroupSourceFilterMode value for
                       this Group address, interface and VLAN indicates whether this
                       Host address is included or excluded."
         ::= { agentSwitchSnoopSSMSrcListEntry 5 }

    --**************************************************************************************
    -- The MGMD Snooping Source Specific Multicast Forwarding
    -- database Table.
    --**************************************************************************************

    agentSwitchSnoopSSMFDBTable OBJECT-TYPE
         SYNTAX          SEQUENCE OF AgentSwitchSnoopSSMFDBEntry
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "MGMD Snooping Source Specific Multicast
                         Forwarding database Table."
         ::= { agentSwitchConfigGroup 36 }

    agentSwitchSnoopSSMFDBEntry OBJECT-TYPE
         SYNTAX          AgentSwitchSnoopSSMFDBEntry
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "An entry is created by IGMP Snooping for each group learned in the VLAN."
         INDEX { agentSwitchSnoopSSMFDBGroupAddressType, agentSwitchSnoopSSMFDBGroupAddress,
                 agentSwitchSnoopSSMFDBSourceAddress, agentSwitchSnoopSSMFDBVlanIndex }
         ::= { agentSwitchSnoopSSMFDBTable 1 }

    AgentSwitchSnoopSSMFDBEntry ::=
         SEQUENCE {
             agentSwitchSnoopSSMFDBVlanIndex
                  VlanIndex,
             agentSwitchSnoopSSMFDBGroupAddressType
                  InetAddressType,
             agentSwitchSnoopSSMFDBGroupAddress
                  InetAddress,
             agentSwitchSnoopSSMFDBSourceAddress
                  InetAddress,
             agentSwitchSnoopSSMFDBIncludePortList
                  AgentPortMask,
             agentSwitchSnoopSSMFDBExcludePortList
                  AgentPortMask
         }

    agentSwitchSnoopSSMFDBVlanIndex OBJECT-TYPE
         SYNTAX          VlanIndex
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "This object indicates the VLAN in which the group is learned."
         ::= { agentSwitchSnoopSSMFDBEntry 1 }

    agentSwitchSnoopSSMFDBGroupAddressType OBJECT-TYPE
         SYNTAX          InetAddressType
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "This object indicates IP multicast address type learned by MGMD Snooping."
         ::= { agentSwitchSnoopSSMFDBEntry 2 }

    agentSwitchSnoopSSMFDBGroupAddress OBJECT-TYPE
         SYNTAX          InetAddress
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "This object indicates IP multicast address learned by MGMD Snooping."
         ::= { agentSwitchSnoopSSMFDBEntry 3 }

    agentSwitchSnoopSSMFDBSourceAddress OBJECT-TYPE
         SYNTAX          InetAddress
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION
                         "This object indicates IP Source address learned by MGMD Snooping."
        ::= { agentSwitchSnoopSSMFDBEntry 4 }

    agentSwitchSnoopSSMFDBIncludePortList OBJECT-TYPE
         SYNTAX          AgentPortMask
         MAX-ACCESS      read-only
         STATUS          current
         DESCRIPTION
                         "This object indicates the set of ports on which MGMD
                         Membership Reports are received for the group indicating
                         interest to receive traffic sent to the group."
         ::= { agentSwitchSnoopSSMFDBEntry 5}

    agentSwitchSnoopSSMFDBExcludePortList OBJECT-TYPE
         SYNTAX          AgentPortMask
         MAX-ACCESS      read-only
         STATUS          current
         DESCRIPTION
                         "This object indicates the set of ports on which MGMD
                         Membership Reports are received for the group indicating
                         interest to not to receive traffic sent to the group."
         ::= { agentSwitchSnoopSSMFDBEntry 6}
    --**************************************************************************************
    -- agentSwitchStormControlGroup
    --
    --**************************************************************************************

    agentSwitchStormControlGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 12 }


    agentSwitchDot3FlowControlMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     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 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..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the broadcast storm recovery threshold for this port
                     as a percentage of port speed."
         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..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the multicast storm recovery threshold for this port
                     as a percentage of port speed."
         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..100)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the unicast storm recovery threshold for this port
                     as a percentage of port speed."
         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 }

    agentSwitchStormControlType OBJECT-TYPE
         SYNTAX      INTEGER {
                     broadcast(1),
                     multicast(2),
                     unicast(3)
                  }
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
                     "Type of storm control.
                     broadcast(1) - Broadcast storm control traffic.
                     multicast(2) - Multicast storm control traffic.
                     broadcast(3) - Unicast traffic resulted in destination lookup failure."

         ::= { agentSwitchStormControlGroup 13 }

    agentSwitchStormControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
                     "Action to be taken when storm control rate limit is reached. 
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."

         ::= { agentSwitchStormControlGroup 14 }

    agentSwitchBroadcastStormControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when broadcast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentSwitchStormControlGroup 15 }

    agentSwitchMulticastStormControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when multicast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentSwitchStormControlGroup 16 }

    agentSwitchUnicastStormControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when unicast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentSwitchStormControlGroup 17 }

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

    --**************************************************************************************
    -- 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 { enable }
         ::= { 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 agentSwitchIGMPSnoopingIntfMaxResponseTime."
         DEFVAL { 260 }
         ::= { agentSwitchSnoopingVlanEntry 2 }

   agentSwitchSnoopingVlanMaxResponseTime OBJECT-TYPE
         SYNTAX      Integer32 (1..25)
         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.
                     The default value is 10. 
                     For IGMP & MLD Snooping this value ranges from 1 to 25."
         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 (1..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 { 300 }
         ::= { 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
            ProtectedPortList
      }

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

    --**************************************************************************************
    -- agentSwitchVoiceVLANGroup
    --
    --**************************************************************************************

    agentSwitchVoiceVLANGroup                      OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 21 }

    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. Set to 'true'
                     if detected, 'false' otherwise."
         ::= { agentSwitchAddressConflictGroup 1 }

    agentSwitchAddressConflictDetectionStatusReset OBJECT-TYPE
        SYNTAX       INTEGER {
                     none(0),
                     reset(1)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Clear the last address conflict detection status in the switch.
                     A value of reset(1) is used to reset the status. A read on this
                     object always returns the value none (0). The value none (0) cannot
                     be forcibly set by the administrator."
        ::= { agentSwitchAddressConflictGroup 2 }

   agentSwitchLastConflictingIPAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "The reported conflicting IP address on the switch since the last
                     reset of the conflict detection status."
        ::= { agentSwitchAddressConflictGroup 3 }

    agentSwitchLastConflictingMacAddr OBJECT-TYPE
        SYNTAX       MacAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "The MAC address of the host corresponding to the reported
                     conflicting IP address on the switch since the last reset of
                     the conflict detection status."
        ::= { agentSwitchAddressConflictGroup 4 }

    agentSwitchLastConflictReportedTime OBJECT-TYPE
        SYNTAX       TimeTicks
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                     "Time since the last address conflict was detected. It is displayed
                     in days, hours, minutes and seconds. It is set to a valid value only
                     when the conflict detection status is 'true'."
        ::= { agentSwitchAddressConflictGroup 5 }

    agentSwitchConflictIPAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
                     "The IP address on the switch reported to have a conflict with
                     another host's IP address."
        ::= { agentSwitchAddressConflictGroup 6 }

    agentSwitchConflictMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
                     "The MAC address of the host that has an IP address conflicting
                     with the IP address on the switch."
        ::= { agentSwitchAddressConflictGroup 7 }

    agentSwitchAddressConflictDetectionRun OBJECT-TYPE
        SYNTAX       INTEGER {
                     none(0),
                     run(1)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Trigger the action to run the active address conflict detection.
                     A value of run(1) is used to issue the action command. A read on
                     this object always returns the value none(0). The value none (0)
                     cannot be forcibly set by the administrator."
        ::= { agentSwitchAddressConflictGroup 8 }

    --**************************************************************************************
    -- 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),
                     ftp(8)
                  }
         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, FTP or SCP. X/Y/ZMODEM is
                     valid only when the file transfer is initiated by the serial EIA 232 port.
                     on the Linux platform.
                     SFTP and SCP are only allowed if the SSH feature is present.
                     Upload to USB is actual 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 tftppath 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..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload tftpfilename configures the file name for the file being
                     uploaded from the switch. It can be up to 32 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 17
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: File Name, File Path, and TFTP Server IP Address are applicable
                     only if the Transfer Mode is TFTP."
         ::= { agentTransferUploadGroup 4 }

    agentTransferUploadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                      code(2),
                      config-script(3),
                      operationallog(4),
                      startuplog(5)
                  }
         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:
                        -       Code File
                        -       Configuration File
                        -       Operational log
                        -       Startup log
                     "
         ::= { 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 tftpserverip address, as defined in the InetAddress MIB.

                      The agentTransferUploadServerAddress object is intepreted within the
                      context of agentTransferUploadServerAddressType. Only ipv4(1) and
                      ipv6(2) is supported at present."
         REFERENCE "RFC 3291"
         ::= { agentTransferUploadGroup 8 }

    agentTransferUploadServerAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer upload tftpserverip 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, FTP 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),
                     active(4),
                     backup(5)
                     }
         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, FTP 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, FTP 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, FTP 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 32 alphanumeric characters.
                     Note: File Name, File Path, and Server IP Address are applicable
                     only if the Transfer Mode is TFTP, SFTP, FTP or SCP."
         ::= { agentTransferUploadGroup 13 }

    --**************************************************************************************
    -- 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),
                     ftp(8)
                  }
         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, FTP or SCP. X/Y/ZMODEM is valid only
                     when the file transfer is initiated by the serial EIA 232 port. Y/ZMODEM is
                     valid only on the Linux platform.
                     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 tftpserverip 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 tftppath 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..32))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download tftpfilename configures the file name for the file
                     being downloaded to the switch. It can be up to 32 alphanumeric characters.
                     The switch remembers the last file name used.
                     File path can be appended to the file name if the string is less than 33
                     characters. Otherwise, the File Path field will need to be used and the
                     File Name will be appended to the File Path as is. An example would be
                     File Path set to c:\tftp\code\ and File Name set to e1r1v1.opr.
                     Note: Imagename, File Name, File Path, and TFTP Server IP Address are applicable
                     only if the Transfer Mode is TFTP, SFTP, FTP or SCP and the object agentTransferDownloadDataType
                     download type is not set to code."

         ::= { agentTransferDownloadGroup 4 }

    agentTransferDownloadDataType OBJECT-TYPE
         SYNTAX      INTEGER {
                     code(2),
                     config-script(3),
                     sshkey-rsa1(4),
                     sshkey-rsa2(5),
                     sshkey-dsa(6),
                     sslpem-root(7),
                     sslpem-server(8),
                     sslpem-dhweak(9),
                     sslpem-dhstrong(10),
                     ias-users(11),
                     ca-root-certificate(12),
                     client-ssl-certificate(13),
                     client-key-certificate(14),
                     sshkey-ecdsa(15)
                     }
         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-script      - 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
                     ias-users          - IAS user 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.
                     ca-root-certificate    - SSL CA Trusted root certificate
                     client-ssl-certificate - SSL Client PEM certificate file
                     client-key-certificate - SSL Client Key File
                     sshkey-ecdsa           - SSH-2 ECDSA Key File
                     "
         ::= { 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 tftpserverip address, as defined in the InetAddress MIB.

                      The agentTransferDownloadServerAddress object is intepreted within the
                      context of agentTransferDownloadServerAddressType. Only ipv4(1) and
                      ipv6(2) is supported at present."
         REFERENCE "RFC 3291"
         ::= { agentTransferDownloadGroup 8 }

    agentTransferDownloadServerAddress OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Transfer download tftpserverip 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, FTP 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),
                     active(4),
                     backup(5)
                     }
         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, FTP 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, FTP 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, FTP or SCP.
                     "

         ::= { agentTransferDownloadGroup 12 }

    agentTransferDownloadRemoteFilename OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..31))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
         "Transfer download remote filename configures the file name for the file being
          transferred from remote system. It can be up to 31 alphanumeric characters."
         ::= { agentTransferDownloadGroup 13}

    agentTransferDownloadCertificateNum    OBJECT-TYPE
         SYNTAX INTEGER(0..8)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
         "To assign the certificate number index for downloading SSL certificates"
         ::= { agentTransferDownloadGroup 14 }



    --**************************************************************************************
    -- agentImageConfigGroup
    --
    --**************************************************************************************

    agentImageConfigGroup                  OBJECT IDENTIFIER ::= { agentTransferConfigGroup 3 }

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

   agentActiveImage OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "The active image name. image1 or image2.
                      "
         ::= { agentImageConfigGroup 3 }

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

    agentActiveImageVersion  OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The software version of the active image."
         ::= { agentImageConfigGroup 5 }

    agentBackupImageVersion   OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..32))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The software version of the backup image if present."
         ::= { agentImageConfigGroup 6 }

   agentNextSelectedImage OBJECT-TYPE
         SYNTAX      INTEGER {
                      active(1),
                      backup(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The image selected for loading on next boot."
         ::= { agentImageConfigGroup 7 }

    --**************************************************************************************
    --    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
         ,
         agentPortMirrorIpAccessListNumber
              Unsigned32,
         agentPortMirrorMacAccessListNumber
              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 to which traffic from the mirrored ports will be sent in case of destination being remote VLAN."
         ::= { agentPortMirrorEntry 8 }

   agentPortMirrorIpAccessListNumber OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The IP access-list number attached to the port mirroring session."
         ::= { agentPortMirrorEntry 10 }

   agentPortMirrorMacAccessListNumber OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MAC access-list number attached to the port mirroring session."
         ::= { agentPortMirrorEntry 11 }

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 }

    --**************************************************************************************
    -- 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,
          agentPortSwitchportMode
              INTEGER,
          agentPortVoiceVlanMode
              INTEGER,
          agentPortVoiceVlanID
              Integer32,
          agentPortVoiceVlanPriority
              INTEGER,
          agentPortVoiceVlanDataPriorityMode
              INTEGER,
          agentPortVoiceVlanOperationalStatus
              INTEGER,
          agentPortVoiceVlanAuthenticationMode
              INTEGER,
          agentPortDot3FlowControlOperStatus
              INTEGER,
          agentPortTransceiverFwPartNumber
              OCTET STRING,
          agentPortTransceiverFwRevision
              OCTET STRING,
          agentPortBroadcastControlThresholdUnit
              INTEGER,
          agentPortMulticastControlThresholdUnit
              INTEGER,
          agentPortUnicastControlThresholdUnit
              INTEGER,
          agentPortVoiceVlanUntagged
              INTEGER,
          agentPortVoiceVlanNoneMode
              INTEGER,
          agentPortVoiceVlanDSCP
              Integer32,
          agentPortVoiceVlanAuthMode
              INTEGER,
          agentPortAccessVlanID
              Integer32,
          agentPortSpeedDuplexStatus
              BITS,
          agentPortNativeVlanID
              Integer32,
          agentPortDDisableAutorecoveryTime
              INTEGER,
          agentPortDDisableComponents
              DisplayString,
          agentPortDDisableReason
              INTEGER,
          agentPortBroadcastControlAction
              INTEGER,
          agentPortMulticastControlAction
              INTEGER,
          agentPortUnicastControlAction
              INTEGER,
          agentPortLoadStatsInterval
              Integer32
          }

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

    agentPortIfIndex OBJECT-TYPE
         SYNTAX      Integer32
         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.

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

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

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

                  The valid values for this object are:

                       dot3MauType10BaseTHD
                       dot3MauType10BaseTFD
                       dot3MauType100BaseTXHD
                       dot3MauType100BaseTXFD
                       dot3MauType100BaseFXFD
                       dot3MauType1000BaseSXFD
                       dot3MauType1000BaseTFD
                       dot3MauType1000BaseXFD
                       agentPortType2pt5GigBaseX
                       agentPortType5GigBaseX
                       dot3MauType10GigBaseX
                       agentPortType20GigBaseX
                       agentPortType25GigBaseX
                       dot3MauType40GbaseCR4
                       dot3MauType100GbaseCR10"

         REFERENCE "RFC 2668"
         ::= { agentPortConfigEntry 11 }

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

                     unknownMauType OBJECT IDENTIFIER ::= { 0 0 }

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

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

                  The valid values for this object are:

                       dot3MauType10BaseTHD
                       dot3MauType10BaseTFD
                       dot3MauType100BaseTXHD
                       dot3MauType100BaseTXFD
                       dot3MauType100BaseFXFD
                       dot3MauType1000BaseSXFD
                       dot3MauType1000BaseTFD
                       dot3MauType1000BaseXFD
                       agentPortType2pt5GigBaseX
                       agentPortType5GigBaseX
                       dot3MauType10GigBaseX
                       agentPortType20GigBaseX
                       agentPortType25GigBaseX
                       dot3MauType40GbaseCR4
                       dot3MauType100GbaseCR10"

         REFERENCE "RFC 2668"
         ::= { agentPortConfigEntry 12 }

    agentPortAutoNegAdminStatus OBJECT-TYPE
         SYNTAX  INTEGER {
                    enable(1),
                    disable(2)
                 }
         MAX-ACCESS  read-write
         STATUS  obsolete
         DESCRIPTION
                 "This object identifies the administration status of auto negotiation
                  for this port."
         ::= { agentPortConfigEntry 13 }
    agentPortDot3FlowControlMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     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
                     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."
         ::= { 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."
         ::= { 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."
         ::= { agentPortConfigEntry 25 }

    agentPortSwitchportMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     access(1),
                     trunk(2),
                     general(3)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     ""
         ::= { agentPortConfigEntry 26 }

    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."
         ::= { agentPortConfigEntry 27 }


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

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

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

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

    agentPortVoiceVlanAuthenticationMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN Authentication Mode.
                      It is enabled by default. To disable, following are the pre-requisites.
                      Voice Vlan shall be enabled Globally,
                      Dot1x Admin Mode shall be enabled,
                      Dot1x port-control shall be mac-based,
                      and the port is required to be in General Mode."
         ::= { agentPortConfigEntry 32 }

    agentPortDot3FlowControlOperStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     inactive(2),
                     na(3)
                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This object identifies operational status of the flow control per port."
         ::= { agentPortConfigEntry 33 }

        agentPortTransceiverFwPartNumber OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE (16))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Firmware part number of 10GBASE-T transceiver.
                     For other ports, or if module is not inserted,
                     octet sting will be filled with 0xFF bytes.
                     See also next field, agentPortTransceiverFwRevision.
                     PN is an 8-byte field that contains ASCII characters,
                     left-aligned and padded on the right with ASCII spaces (0x20).
                     A field value of all zeros indicates that PN is unspecified."
         ::= { agentPortConfigEntry 34 }

    agentPortTransceiverFwRevision OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE (16))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Firmware revision of 10GBASE-T transceiver.
                     For other ports, or if module is not inserted,
                     octet sting will be filled with 0xFF bytes.
                     See also previous field, PortTransceiverFwPartNumber.
                     Rev is a 16-byte field that contains ASCII characters,
                     left-aligned and padded on the right with ASCII spaces (0x20).
                     A field value of all zeros indicates that Rev is unspecified."
         ::= { agentPortConfigEntry 35 }

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

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

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

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

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

     agentPortVoiceVlanDSCP OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the Port Voice VLAN DSCP value."
         ::= { agentPortConfigEntry 41 }

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

    agentPortAccessVlanID OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the VLAN ID of access switch port.
                      A value of 0 indicates that  the switch port is not configured as
                      access port."
         ::= { agentPortConfigEntry 43 }

     agentPortSpeedDuplexStatus  OBJECT-TYPE
         SYNTAX          BITS {
                         auto-duplex(0),
                         half-duplex(1),
                         full-duplex(2),
                         speed-auto(3),
                         speed-10mbit(4),
                         speed-100mbit(5),
                         speed-1gbit(6),
                         speed-2p5gbit(7),
                         speed-5gbit(8),
                         speed-10gbit(9),
                         na(10)
                      }
         MAX-ACCESS      read-write
         STATUS          current
         DESCRIPTION
                     "This object is used to set the speed and duplex settings for a port.
                      If auto-duplex(0) or speed-auto(3) is enabled, then auto-negotiation is
                      enabled.If auto-duplex(0) is set but speed-auto(3) is not set, then the
                      admin advertisements will be limited to the speed values enabled.
                      Likewise, if speed-auto(3) is set, but auto-duplex(0) is not, then the
                      advertisements will be limited to the duplex enabled.The na(10) will be
                      returned if neither a speed or duplex setting is set."
         ::= { agentPortConfigEntry 44 }

    agentPortNativeVlanID OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Describes and Configures the VLAN ID of Trunk switch port.
                      Configures the Native VLAN Id for the port."
         ::= { agentPortConfigEntry 46 }

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

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

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

     agentPortDDisableReason OBJECT-TYPE
         SYNTAX      INTEGER {
                          udld (1),
                     bpduguard (3),
                     bpdustorm (4)
                          , dhcpsnooping (5)
                          , arpinspection (6)
                          , broadcaststorm (7)
                          , multicaststorm (8)
                          , unicaststorm (9)
                          , sfp-mismatch (10)
                          , sfpplus-mismatch (11)
                          , pml (13)
                          , dos (14)
                          , spanningtree (15)

                  }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The reason for which the port is set to D-Disable. Here reason is
                      the enum assigned to the particular component."
         ::= { agentPortConfigEntry 50 }

    agentPortBroadcastControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when broadcast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentPortConfigEntry 51 }

    agentPortMulticastControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when multicast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentPortConfigEntry 52 }

    agentPortUnicastControlAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     none(0),
                     shutdown(1),
                     trap(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Configures the action to be taken when unicast storm control rate limit is reached.
                     none(0) - No action is taken.
                     shutdown(1) - Diag disable the interface on storm control.
                     trap(2)     - Generate trap on storm control."
         DEFVAL { none }
         ::= { agentPortConfigEntry 53 }

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

    agentProtocolConfigGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 14 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

         ::= { agentProtocolGroupProtocolEntry 1 }

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

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

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

    agentStpSwitchConfigGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 15 }

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

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

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

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

    agentStpForceVersion OBJECT-TYPE
         SYNTAX      INTEGER {
                     dot1d(1),
                     dot1w(2),
                     dot1s(3)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The MST configuration force protocol version. The default version is dot1w."
         ::= { 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 enabled."
         ::= { 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,
         agentStpPortRootGuard
                 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 }

    agentStpPortRootGuard OBJECT-TYPE
         SYNTAX      INTEGER {
                     false(0),
                     true(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Manage root-guard on the specified interface.

                     Supported values:
                     false(0) - Root-guard is disabled.
                     true(1)  - Root-guard is enabled."
         ::= { agentStpPortEntry 10 }

    --**************************************************************************************
    -- 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.
                      This value must be >= ((MSTP root port max age/2) + 1)."
         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. For the M6220, the default port state
                     is enabled for internal ports and disabled for external ports."
         ::= { 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 disabled."
         ::= { 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 }


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


--**************************************************************************************
--    agentLinkDependencyGroup
--**************************************************************************************
     agentLinkDependencyGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 18 }

 --**************************************************************************************
 --    agentLinkDependencyGroupTable
 --**************************************************************************************

    agentLinkDependencyGroupTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentLinkDependencyGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table for link dependencies entries."
         ::= { agentLinkDependencyGroup 1 }

    agentLinkDependencyGroupEntry OBJECT-TYPE
         SYNTAX      AgentLinkDependencyGroupEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Link Dependency Group Entry."
         INDEX       { agentLinkDependencyGroupId }
         ::= { agentLinkDependencyGroupTable 1 }

    AgentLinkDependencyGroupEntry ::= SEQUENCE {
          agentLinkDependencyGroupId
              INTEGER,
          agentLinkDependencyGroupStatus
              INTEGER,
          agentLinkDependencyGroupMemberPortMask
              AgentPortMask,
          agentLinkDependencyGroupDependsOnPortMask
              AgentPortMask,
          agentLinkDependencyGroupAction
              INTEGER
          }

    agentLinkDependencyGroupId OBJECT-TYPE
         SYNTAX      INTEGER (1..16)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "Group identifier of the Link Dependency entry.
                 Maximum of 16 group entries exists on the switch
                 but they are not configured on the switch. Groups
                 are configured only when member ports are
                 added to the group or ports dependent on member
                 ports are added to the group. "
         ::= { agentLinkDependencyGroupEntry 1 }

    agentLinkDependencyGroupStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                 "The status of this entry.
                 active(1)        - the group has a valid configuration
                 notReady(3)      - the group has an incomplete configuration
                 destroy(6)       - remove the group

                 destroy is the only RowStatus which can be set.
                 The others are read-only."
         ::= { agentLinkDependencyGroupEntry 2 }

    agentLinkDependencyGroupMemberPortMask OBJECT-TYPE
        SYNTAX      AgentPortMask
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                 "Member Port Mask.

                 This mask defines the member ports of this group.

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

    agentLinkDependencyGroupDependsOnPortMask OBJECT-TYPE
        SYNTAX      AgentPortMask
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                 "Depended Upon Port Mask.

                 This mask defines the ports upon which the members of this group depend.

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

    agentLinkDependencyGroupAction OBJECT-TYPE
         SYNTAX      INTEGER (0..1)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                 "Group action refers to action taken by the dependent ports
                 when the member ports go down.
                     LINK-DOWN(0) members go down when dependent link goes down,
                     LINK-UP(1)   members go up when dependent link goes down"
         ::= { agentLinkDependencyGroupEntry 5 }


--**************************************************************************************
--    agentOperationalModeGroup
--**************************************************************************************

      agentOperationalModeGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 20 }

      agentOperationalModeSimple OBJECT-TYPE
        SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                 "This defines the Operational mode for the switch: Simple/Normal."
        ::= { agentOperationalModeGroup 1 }

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

    agentHTTPConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 21 }

    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      obsolete
         DESCRIPTION
                     "Configures the use of the Java interface through Web connections."
         ::= { agentHTTPConfigGroup 2 }

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

    agentAutoInstallConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 22 }

    agentAutoinstallMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable Autoinstall persistent mode 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..6)
         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 }


--**************************************************************************************
--    agentVlanSwitchportTrunkModeGroup
--**************************************************************************************
     agentVlanSwitchportTrunkModeGroup    OBJECT IDENTIFIER ::= { agentConfigGroup 23 }

 --**************************************************************************************
 --    agentVlanSwitchportTrunkModeTable
 --**************************************************************************************

    agentVlanSwitchportTrunkModeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AgentVlanSwitchportTrunkModeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing static configuration information for
        each VLAN configured for Switcgport Trunk mode."
         ::= { agentVlanSwitchportTrunkModeGroup 1 }


    agentVlanSwitchportTrunkModeEntry OBJECT-TYPE
         SYNTAX      AgentVlanSwitchportTrunkModeEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     " SwitchPort Trunk Mode Membership."
         INDEX       { dot1qVlanIndex }
         ::= { agentVlanSwitchportTrunkModeTable 1 }


    AgentVlanSwitchportTrunkModeEntry ::= SEQUENCE {
          agentVlanSwitchportTrunkStaticEgressPorts
            ProtectedPortList,
          agentVlanSwitchportTrunkForbiddenPorts
            ProtectedPortList
          }


    agentVlanSwitchportTrunkStaticEgressPorts OBJECT-TYPE
         SYNTAX      ProtectedPortList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This field contains all the ports which include the VLAN for Trunk mode."
         ::= { agentVlanSwitchportTrunkModeEntry 1 }


    agentVlanSwitchportTrunkForbiddenPorts OBJECT-TYPE
         SYNTAX      ProtectedPortList
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "This field contains all the ports which include the VLAN for Trunk mode."
         ::= { agentVlanSwitchportTrunkModeEntry 2 }


    --**************************************************************************************
    -- agentDDisableAutorecoveryConfigGroup
    --
    --**************************************************************************************

    agentDDisableAutorecoveryConfigGroup       OBJECT IDENTIFIER ::= { agentConfigGroup 24 }

    agentDDisableAutorecoveryStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable the D-Disable Autorecovery feature for all causes."
          ::= { agentDDisableAutorecoveryConfigGroup 1 }

    agentDDisableAutorecoveryTimeout OBJECT-TYPE
         SYNTAX      INTEGER (30..3600)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Timeout to autorecovery from D-Disable port state."
         ::= { agentDDisableAutorecoveryConfigGroup 2 }

    agentDDisableAutorecoveryCause OBJECT-TYPE
         SYNTAX      BITS {
                     dhcpRateLimit(1)
                     ,arpInspection(2)
                     ,udld(3)
                     ,bStormControl(4)
                     ,bpduGuard(5)
                     ,bpduRateLimit(6)
                     ,mStormControl(8)
                     ,uStormControl(9)
                     ,loopProtect(10)
                     ,pml(12)
                     ,dos(13)
                     ,linkFlap(14)
                     ,authmgr(15)
                     ,coa(16)
                  }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enable/Disable the D-Disable Autorecovery feature for a particular cause."
          ::= { agentDDisableAutorecoveryConfigGroup 3 }



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

     agentExecAccountingGroup                     OBJECT IDENTIFIER ::= { agentConfigGroup 25 }

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

     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 }


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

     agentCmdsAuthorizationListCreate OBJECT-TYPE
          SYNTAX      DisplayString (SIZE(0|1..20))
          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,
         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..20))
         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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 }


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

     agentExecAuthorizationListCreate OBJECT-TYPE
          SYNTAX      DisplayString (SIZE(0|1..20))
          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..20))
         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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 {
                     tacacs(0),
                     none(1),
                     undefined(2),
                     radius(3),
                     local(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 }
   --**********************************************************
   -- agentSwitchMbufConfigGroup
   --**********************************************************

    agentSwitchMbufConfigGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 29 }

    --**********************************************************
    --agentSwitchMbufConfigGroup 
    --Allows user to configure rising threshold, falling threshold
    --and LOG notification severity.
    --**********************************************************

    agentSwitchMbufRisingThreshold OBJECT-TYPE
      SYNTAX        Unsigned32(0..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The Mbuf utilization rising threshold in percentage.
                    A single notification (rising event) is generated when
                    the total Mbuf utilization exceeds this threshold.

                    After a rising event is generated, another such event
                    will not be generated until the total Mbuf utilization
                    falls below the agentSwitchMbufFallingThreshold and then
                    exceeds the agentSwitchMbufRisingThreshold."
      ::= { agentSwitchMbufConfigGroup 1 }


    agentSwitchMbufFallingThreshold OBJECT-TYPE
      SYNTAX        Unsigned32(0..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "The Mbuf utilization falling threshold in percentage. 
                    A single notification (falling event) is generated when 
                    the total Mbuf utilization falls below this threshold.

                    After a falling event is generated, another such event
                    will not be generated until the total Mbuf utilization
                    exceeds the agentSwitchMbufRisingThreshold and then falls
                    below the agentSwitchMbufFallingThreshold."
      ::= { agentSwitchMbufConfigGroup 2 }

    agentSwitchMbufNotificationSeverity OBJECT-TYPE
      SYNTAX        AgentLogSeverity
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
                    "Severity level while notification is generated for rising
                     and falling threshold."
      ::= { agentSwitchMbufConfigGroup 3 }

    --**************************************************************************************
    -- agentDynamicAuthorizationGroup
    --
    --**************************************************************************************

    agentDynamicAuthorizationGroup                 OBJECT IDENTIFIER ::= { agentConfigGroup 30 }

    agentDynamicAuthorizationMode OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Configures the Dynamic Authorization mode which must be 
                     enabled to support CoA functionality."
        ::= { agentDynamicAuthorizationGroup 1 }
		  
    agentDynamicAuthorizationServerKey OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Configures a global shared secret that is used for all
                     dynamic authorization clients that do not have an 
                     individual shared secret key configured.
                     If agentDynamicAuthorizationEncryptServerKey is
                     set to true, then the length of this string has to be 
                     exactly 256 else it can be 1-128."
        ::= { agentDynamicAuthorizationGroup 2 }
		
    agentDynamicAuthorizationEncryptServerKey OBJECT-TYPE
        SYNTAX      INTEGER {
                    true(1),
                    false(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Specifies whether the global shared secret configured
                     is to be encrypted or not. Set this in conjnction with 
                     agentDynamicAuthorizationServerKey."
        ::= { agentDynamicAuthorizationGroup 3 }

    agentDynamicAuthorizationPortNum OBJECT-TYPE		
        SYNTAX      Integer32 (1025..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Configures UDP port on which a device listens for 
                     RADIUS requests from configured RADIUS clients.
                     The default port number is 3799.
                     The supported range for the port-number is 1025 to 65535."
        DEFVAL { 3799 }
        ::= { agentDynamicAuthorizationGroup 4 }
		
    agentDynamicAuthorizationType OBJECT-TYPE
        SYNTAX      INTEGER {
                    any(1),
                    all(2),
                    session-key(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Configures the type of authorization that the device
                     must use for RADIUS clients. The client must match 
                     the configured attributes for authorization."
        DEFVAL { all }
        ::= { agentDynamicAuthorizationGroup 5 }

    agentDynamicAuthorizationIgnoreSessionKey OBJECT-TYPE
        SYNTAX      INTEGER {
                    true(1),
                    false(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Specifies whether the session-key is to be ignored or not."
        ::= { agentDynamicAuthorizationGroup 6 }

    agentDynamicAuthorizationIgnoreServerKey OBJECT-TYPE
        SYNTAX      INTEGER {
                    true(1),
                    false(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Specifies whether the server-key is to be ignored or not."
        ::= { agentDynamicAuthorizationGroup 7 }
		
    agentDynamicAuthorizationClientTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDynamicAuthorizationClientEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the Dynamic Authorization Client entries"
         ::= { agentDynamicAuthorizationGroup 8 }

    agentDynamicAuthorizationClientEntry OBJECT-TYPE
         SYNTAX      AgentDynamicAuthorizationClientEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a set of Dynamic Authorization Clients"
         INDEX       { agentDynamicAuthorizationClientAddress }
         ::= { agentDynamicAuthorizationClientTable 1 }

    AgentDynamicAuthorizationClientEntry ::= SEQUENCE {
          agentDynamicAuthorizationClientAddress
              DisplayString,
          agentDynamicAuthorizationClientServerKey
              DisplayString,
          agentDynamicAuthorizationClientEncryptServerKey
              INTEGER,
          agentDynamicAuthorizationClientRowStatus
              RowStatus
          }
		  
    agentDynamicAuthorizationClientAddress OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Configures a Dynamic Authorization Client IP Address or Hostname."
         ::= { agentDynamicAuthorizationClientEntry 1 }

    agentDynamicAuthorizationClientServerKey OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Configures a Dynamic Authorization Client Server Key.
                      If agentDynamicAuthorizationClientEncryptServerKey is
                      set to true, then the length of this string has to be 
                      exactly 256 else it can be 1-128."
         ::= { agentDynamicAuthorizationClientEntry 2 }
		 
    agentDynamicAuthorizationClientEncryptServerKey OBJECT-TYPE
        SYNTAX       INTEGER {
                     true(1),
                     false(2)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Specifies whether the client server-key configured
                      is to be encrypted or not.Set this in conjunction with
                      agentDynamicAuthorizationClientServerKey."
         ::= { agentDynamicAuthorizationClientEntry 3 }

    agentDynamicAuthorizationClientRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this client is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentDynamicAuthorizationClientEntry 4 }


    agentDynamicAuthorizationStatsClear OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "When set to enable(1), all dynamic authorization statistics will be reset."
         DEFVAL { disable }
         ::= { agentDynamicAuthorizationGroup 9 }

    agentDynamicAuthorizationIgnoreBouncePortCommand OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Specifies whether the CoA bounce port request will be ignored or not."
        ::= { agentDynamicAuthorizationGroup 10 }

    agentDynamicAuthorizationIgnoreDisablePortCommand OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                    "Specifies whether the CoA disable port request will be ignored or not."
        ::= { agentDynamicAuthorizationGroup 11 }

    --**************************************************************************************
    -- agentKeepalivePortTable
    --
    --**************************************************************************************

    agentKeepalivePortTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentKeepalivePortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Keepalive port table."
         ::= { agentConfigGroup  31 }

    agentKeepalivePortEntry OBJECT-TYPE
         SYNTAX      AgentKeepalivePortEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Keep alive port table."
         INDEX       { ifIndex }
         ::= { agentKeepalivePortTable 1 }

    AgentKeepalivePortEntry ::=
         SEQUENCE {
         agentKeepalivePortState
                 INTEGER,
         agentKeepalivePortLoopDetected
                 INTEGER,
         agentKeepalivePortLoopCount
                 Counter32,
         agentKeepalivePortTimeSinceLastLoop
                 INTEGER,
         agentKeepalivePortRxAction
                 INTEGER,
         agentKeepalivePortStatus
                 INTEGER,
         agentKeepalivePortLastLoopDetectedTime
                 DateAndTime
         }
    agentKeepalivePortState OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The keepalive state for the port.

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

                     The default port keepalive state is enabled."
         ::= { agentKeepalivePortEntry 1 }

    agentKeepalivePortLoopDetected OBJECT-TYPE
         SYNTAX      INTEGER {
                     yes (1),
                     no (2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Keepalive status for the port.

                     yes (1)  - loop detected on the port.
                     no  (2)  - no loop detected on the port."
         ::= { agentKeepalivePortEntry 2 }

    agentKeepalivePortLoopCount OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The loop count on a specific port."
         ::= { agentKeepalivePortEntry 3 }

    agentKeepalivePortTimeSinceLastLoop OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "Time since last loop detected on the port."
         ::= { agentKeepalivePortEntry 4 }


    agentKeepalivePortRxAction OBJECT-TYPE
         SYNTAX      INTEGER {
                     log-msg      (1),
                     log-shutdown (2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Action on detecting a loop on the port.

                     log-msg      (1) - log a message.
                     log-shutdown (2) - log message and shutdown the port."
         ::= { agentKeepalivePortEntry 5 }

    agentKeepalivePortStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable       (1),
                     disable      (2),
                     diag-disable (3)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Port status.

                     enable       (1) - port is enabled.
                     disable      (2) - port is disabled.
                     diag-disable (3) - port is diagnostic disabled."
         ::= { agentKeepalivePortEntry 6 }

    agentKeepalivePortLastLoopDetectedTime OBJECT-TYPE
         SYNTAX      DateAndTime
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "TimeStamp when last loop was detected on a port."
                      DEFVAL      { '00000000'H }
         ::= { agentKeepalivePortEntry 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 }

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

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

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

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

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

     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 file stored in
                      non-volatile memory.On read returns 0."
          ::= { agentSystemGroup 12 }

    agentReloadConfig OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Reloads the text-based configuration file named startup-config
                      stored in non-volatile memory.On read returns 0."
          ::= { agentSystemGroup 14 }


--**************************************************************************************
--    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 22 }
--**************************************************************************************
--************ 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 containing Dynamic ARP Inspection statistics per VLAN.
             When a VLAN is created in a device supporting this table,
             and Dynamic ARP Inspection is enabled on that VLAN
             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,
        agentDaiVlanAclDenials          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 permit 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 }

    agentDaiVlanAclDenials OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Number of ARP packets that were dropped by DAI as
             there is a matching ARP ACL deny rule found for this Vlan."
        ::= { agentDaiVlanStatsEntry 11 }
--************ 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 }

   agentDaiInterfaceValidate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current 
        DESCRIPTION 
            "This object indicates whether Dynamic ARP Inspection checks for source interface
             match in the DHCP snooping binding database.

             If this object is set to 'true', validation
             is enabled.

             If this object is set to 'false', validation
             is disabled."
        ::= { agentDaiConfigGroup 8 }

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

    agentArpAclGroup                 OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 23 }

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

--*********************** 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
                      agentArpAclRuleConfigTable with corresponding values of
                      agentArpAclName 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      obsolete
         DESCRIPTION
                     "A table of the ARP ACL Rule entries.

                      The functionality that was offered by this table is now
                      available through the agentArpAclRuleConfigTable, although
                      with different table indices. All SNMP client implementations
                      operating on this table MUST migrate to use the new table."
         ::= { agentArpAclGroup 2 }

    agentArpAclRuleEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRuleEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         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      obsolete
         DESCRIPTION
                     "Sender IP address match value for the ARP ACL."
         ::= { agentArpAclRuleEntry 1 }

    agentArpAclRuleMatchSenderMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "Sender MAC address match value for the ARP ACL."
         ::= { agentArpAclRuleEntry 2 }

    agentArpAclRuleRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      obsolete
         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 }

    agentArpAclRuleConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclRuleConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of ARP ACL Rule entries"
         ::= { agentArpAclGroup 5 }

    agentArpAclRuleConfigEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRuleConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a set of ARP ACL match criteria"
         INDEX       { agentArpAclName, agentArpAclRuleConfigIndex }
         ::= { agentArpAclRuleConfigTable 1 }

    AgentArpAclRuleConfigEntry ::= SEQUENCE {
         agentArpAclRuleConfigIndex
              Unsigned32,
         agentArpAclRuleConfigSenderIpAddr
              IpAddress,
         agentArpAclRuleConfigSenderMacAddr
              MacAddress,
         agentArpAclRuleConfigAction
              INTEGER,
         agentArpAclRuleConfigStatus
              RowStatus
         }

    agentArpAclRuleConfigIndex OBJECT-TYPE
         SYNTAX      Unsigned32 ( 0 | 1..2147483647 )
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Sequence number of the rule within the ARP ACL.

                      A value of 0 is special in that it is used to automatically
                      assign the next higher available rule sequence number,
                      after the last one in the given ARP ACL. In other words,
                      a row is created at the end of the current table with a
                      suitable value for the agentArpAclRuleConfigIndex object
                      if a value of 0 was used during rule creation. The value
                      of 0 can only be used while creating a new row in the
                      table, and cannot be used in SET or GET operations. A
                      value of 0 in a GET-NEXT operation will retrieve the
                      sequence number of the first rule.

                      The value of this object is not persistent across reboots.
                      Upon a reboot of the management agent, the rules are
                      assigned new sequence numbers while maintaining
                      the rule order within the table."
         ::= { agentArpAclRuleConfigEntry 1 }

    agentArpAclRuleConfigSenderIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Sender IP address match value for the ARP ACL.
                      A value of 0.0.0.0 indicates 'any-ipv4 address' matching."
         DEFVAL      { '00000000'h }
         ::= { agentArpAclRuleConfigEntry 2 }

    agentArpAclRuleConfigSenderMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Sender MAC address match value for the ARP ACL.
                      A value of 00:00:00:00:00:00 indicates 'any-mac' matching."
         DEFVAL      { '000000000000'h }
         ::= { agentArpAclRuleConfigEntry 3 }

    agentArpAclRuleConfigAction OBJECT-TYPE
         SYNTAX      INTEGER {
                         permit(1),
                         deny(2)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Action to be taken when this rule is hit:

                      permit(1)   - ARP packet matching this rule is forwarded
                      deny(2)     - ARP packet matching this rule is dropped"
         DEFVAL      { permit }
         ::= { agentArpAclRuleConfigEntry 4 }

    agentArpAclRuleConfigStatus 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"
         ::= { agentArpAclRuleConfigEntry 5 }


--*********************** ARP ACL Remarks Config Table ***********************

    agentArpAclRemarkConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclRemarkConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "A table for configuration of ARP ACL remarks entries.
                      Created remarks will be associated with ARP ACL rule when
                      the rule is created."
         ::= { agentArpAclGroup 3 }

    agentArpAclRemarkConfigEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRemarkConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION 
                     "The row in ARP ACL remarks configuration table."
         INDEX       { agentArpAclName, agentArpAclRemarkIndex }
         ::= { agentArpAclRemarkConfigTable 1 }
         
    AgentArpAclRemarkConfigEntry ::= SEQUENCE {         
           agentArpAclRemarkIndex
               Unsigned32,
           agentArpAclRemarkStr
               DisplayString,
           agentArpAclRemarkStatus
               RowStatus
           }

    agentArpAclRemarkIndex OBJECT-TYPE
         SYNTAX      Unsigned32 (1..10)
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Index of remark(not associated with a rule) instance within ARP ACL."
         ::= { agentArpAclRemarkConfigEntry 1 }

    agentArpAclRemarkStr OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..100))
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "ARP ACL remark(comment) string configuration.
                      Each remark line is limited to 100 characters.
                      Remark may consist of characters in the range A-Z, a-z, 0-9
                      and special characters like space, hyphen, underscore."
         ::= { agentArpAclRemarkConfigEntry 2 }

    agentArpAclRemarkStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Status of this instance.

                     active(1)      - this remark is configured.
                     createAndGo(4) - set to this value to create the remark entry.
                                      agentArpAclRemarkStr should be specified.
                     destroy(6)     - set to this value to delete the remark entry."
         ::= { agentArpAclRemarkConfigEntry 3 }

--*********************** ARP ACL Rule Remarks Table ***********************

    agentArpAclRemarkRuleTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclRemarkRuleEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION 
                     "This table displays remarks which are associated with ARP ACL rules.
                      Each rule can be uniquely identified with ARP ACL name, IP and MAC addresses.
                      Each remark within each rule can be uniquely identified with remark index.
                      Remarks associated with the rule can't be edited in any way.
                      They can be deleted only.

                      The functionality that was offered by this table is now
                      available through the agentArpAclRemarkRuleConfigTable,
                      although with different table indices. All SNMP client
                      implementations operating on this table MUST migrate to
                      use the new table."
         ::= { agentArpAclGroup 4 }

    agentArpAclRemarkRuleEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRemarkRuleEntry
         MAX-ACCESS  not-accessible
         STATUS      obsolete
         DESCRIPTION 
                     "Row of the ARP ACL rule remarks table."
         INDEX       { agentArpAclName, agentArpAclRuleMatchSenderIpAddr, agentArpAclRuleMatchSenderMacAddr, agentArpAclRuleRemarkIndex}
         ::= { agentArpAclRemarkRuleTable 1 }
         
    AgentArpAclRemarkRuleEntry ::= SEQUENCE {         
           agentArpAclRuleRemarkIndex
               Unsigned32,
           agentArpAclRuleRemarkStr
               DisplayString,
           agentArpAclRuleRemarkStatus
               RowStatus
           }
		   
    agentArpAclRuleRemarkIndex OBJECT-TYPE
         SYNTAX      Unsigned32 (1..10)
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "The index of the remark instance within ARP ACL rule."
         ::= { agentArpAclRemarkRuleEntry 1 }
		 
    agentArpAclRuleRemarkStr OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..100))
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
                     "Displays the remark string for the specified ARP ACL rule." 
         ::= { agentArpAclRemarkRuleEntry 2 }

    agentArpAclRuleRemarkStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      obsolete
         DESCRIPTION
                     "Status of this instance.

                     active(1)      - this remark is configured.
                     destroy(6)     - set to this value to delete the remark entry."
         ::= { agentArpAclRemarkRuleEntry 3 }

    agentArpAclRemarkRuleConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentArpAclRemarkRuleConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This table displays remarks which are associated with
                      ARP ACL rules.

                      Each ARP ACL rule is uniquely identified with ARP ACL name
                      and ARP ACL rule sequence number. Each remark within each
                      rule can be uniquely identified with remark index.

                      Entries in this table are autonomously created by the
                      system when a ARP ACL rule is created after creating one
                      or more remark entries in the agentArpAclRemarkConfigTable.
                      As entries are instantiated in this table, corresponding
                      entries are autonomously removed from the
                      agentArpAclRemarkConfigTable.

                      Entries in this table cannot be edited in any way. They
                      can only be deleted."
         ::= { agentArpAclGroup 6 }

    agentArpAclRemarkRuleConfigEntry OBJECT-TYPE
         SYNTAX      AgentArpAclRemarkRuleConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Row in the ARP ACL rule remarks table."
         INDEX       { agentArpAclName, agentArpAclRuleConfigIndex,
                       agentArpAclRemarkRuleConfigIndex }
         ::= { agentArpAclRemarkRuleConfigTable 1 }

    AgentArpAclRemarkRuleConfigEntry ::= SEQUENCE {
         agentArpAclRemarkRuleConfigIndex
              Unsigned32,
         agentArpAclRemarkRuleConfigStr
              DisplayString,
         agentArpAclRemarkRuleConfigStatus
              RowStatus
         }

    agentArpAclRemarkRuleConfigIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The index of this remark instance within a ARP ACL rule."
         ::= { agentArpAclRemarkRuleConfigEntry 1 }

    agentArpAclRemarkRuleConfigStr OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..100))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Displays the remark string for the specified ARP ACL rule."
         ::= { agentArpAclRemarkRuleConfigEntry 2 }

    agentArpAclRemarkRuleConfigStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Status of this instance.

                      active(1)      - this remark is configured.
                      destroy(6)     - delete the remark entry."
         ::= { agentArpAclRemarkRuleConfigEntry 3 }


--**************************************************************************************
    agentDhcpSnoopingConfigGroup     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 24 }
--**************************************************************************************
--************ 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,
                       agentStaticIpsgBindingIpAddr, agentStaticIpsgBindingMacAddr
                     }
         ::= { agentStaticIpsgBindingTable  1 }

    AgentStaticIpsgBindingEntry ::= SEQUENCE {

          agentStaticIpsgBindingIfIndex     InterfaceIndex,
          agentStaticIpsgBindingVlanId      VlanIndex,
          agentStaticIpsgBindingIpAddr      IpAddress,
          agentStaticIpsgBindingMacAddr     MacAddress,
          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 }

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

     agentStaticIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC 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,
                       agentDynamicIpsgBindingIpAddr, agentDynamicIpsgBindingMacAddr
                     }
         ::= { agentDynamicIpsgBindingTable  1 }

    AgentDynamicIpsgBindingEntry ::= SEQUENCE {

          agentDynamicIpsgBindingIfIndex     InterfaceIndex,
          agentDynamicIpsgBindingVlanId      VlanIndex,
          agentDynamicIpsgBindingIpAddr      IpAddress,
          agentDynamicIpsgBindingMacAddr     MacAddress
          }

     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 }

     agentDynamicIpsgBindingIpAddr OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Sender IP address match value for the IPSG Binding."
         ::= { agentDynamicIpsgBindingEntry 3 }

     agentDynamicIpsgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC 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 }







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

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

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

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

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

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

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

    agentSwitchCpuFreeMemAboveThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchCpuProcessFreeMemoryThreshold
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when CPU Free Memory rises to 10% above the configured threshold."
        ::= { fastPathSwitchingTraps 25 }

    agentSwitchStormControlTrap NOTIFICATION-TYPE
        OBJECTS {
                    ifIndex,
                    agentSwitchStormControlType,
                    agentSwitchStormControlAction
                }
        STATUS     current
        DESCRIPTION
                    "Trap is sent when storm control rate limit is reached."
        ::= { fastPathSwitchingTraps 26 }


    
    agentSwitchMbufRisingThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchMbufRisingThreshold,
                    agentSwitchMbufsTotal,
                    agentSwitchMbufsUsed,
                    agentSwitchMbufsFree 
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when the Mbuf utilization exceeds rising
                    utilization threshold."
        ::= { fastPathSwitchingTraps 27 }

    agentSwitchMbufFallingThresholdTrap NOTIFICATION-TYPE
        OBJECTS {
                    agentSwitchMbufFallingThreshold,
                    agentSwitchMbufsTotal,
                    agentSwitchMbufsUsed,
                    agentSwitchMbufsFree
                }
        STATUS      current
        DESCRIPTION
                    "Trap is sent when the Mbuf utilization falls below falling
                    utilization threshold."
        ::= { fastPathSwitchingTraps 28 }

     loginSessionStartStopTrap NOTIFICATION-TYPE
         OBJECTS {
                     agentLoginSessionIndex,
                     agentLoginSessionUserName,
                     agentLoginSessionConnectionType,
                     agentLoginSessionInetAddress,
                     agentLoginSessionStatus
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when a CLI session starts or ends."
         ::= { fastPathSwitchingTraps 29 }

     agentSwitchDDisableAutoRecoveryTrap  NOTIFICATION-TYPE
         OBJECTS {
                    ifIndex,
                    agentPortDDisableReason
                 }
         STATUS             current
         DESCRIPTION
                      "Trap is sent when interface (ifIndex) is auto recovered
                       from agentPortDDisableReason reason."
         ::= { fastPathSwitchingTraps 30 }

     loopProtectTrap NOTIFICATION-TYPE
         OBJECTS {
                     ifIndex
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent on detection of loop on an interface."
             ::= { fastPathSwitchingTraps 32 }

     agentdhcpSnoopViolationTrap NOTIFICATION-TYPE
         OBJECTS {
                     agentDynamicDsBindingIfIndex,
                     agentDynamicDsBindingVlanId,
                     agentDynamicDsBindingMacAddr
                 }
         STATUS             current
         DESCRIPTION
             "Trap is sent when DHCP snoop violation occurs on an interface."
             ::= { fastPathSwitchingTraps 33 }


--*****************************************************************************************
--    sdmTemplate
--
--    This provides configuration and status of the Switch Database Management Template
--    feature.
--
--*****************************************************************************************

     agentSdmPreferConfigEntry               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 27 }


     agentSdmPreferCurrentTemplate OBJECT-TYPE
      SYNTAX     INTEGER {
                 dualIPv4andIPv6(1),
                 ipv4RoutingDefault(2),
                 ipv4DataCenter(3),
                 dualDataCenter(5)
                 }
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
       " Displays the current active SDM Template."

    ::= { agentSdmPreferConfigEntry 1 }

     agentSdmPreferNextTemplate OBJECT-TYPE
      SYNTAX     INTEGER {
                 default(0),
                 dualIPv4andIPv6(1),
                 ipv4RoutingDefault(2),
                 ipv4DataCenter(3),
                 dualDataCenter(5)
                 }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
       " Configures the next active template. It will be active only after the next reboot.
         To revert to the default template after the next reboot, use the option default(0)."

    ::= { agentSdmPreferConfigEntry 2 }

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

    agentSdmTemplateSummaryTable               OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 28 }


    agentSdmTemplateTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentSdmTemplateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Displays Switch Database Management Template Information."
         ::= { agentSdmTemplateSummaryTable 1 }

    agentSdmTemplateEntry OBJECT-TYPE
         SYNTAX      AgentSdmTemplateEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Information about a SDM Template table entry."
         INDEX       { agentSdmTemplateId }
         ::= { agentSdmTemplateTable 1 }

    AgentSdmTemplateEntry::= SEQUENCE {
         agentSdmTemplateId
              INTEGER,
         agentArpEntries
              INTEGER,
         agentIPv4UnicastRoutes
              INTEGER,
         agentIPv6NdpEntries
              INTEGER,
         agentIPv6UnicastRoutes
              INTEGER,
         agentEcmpNextHops
              INTEGER,
         agentIPv4MulticastRoutes
              INTEGER,
         agentIPv6MulticastRoutes
              INTEGER
         }

    agentSdmTemplateId OBJECT-TYPE
         SYNTAX      INTEGER {
                     dualIPv4andIPv6(1),
                     ipv4RoutingDefault(2),
                     ipv4DataCenter(3),
                     dualDataCenter(5)
                     }
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The SDM Template type this instance is associated with."
         ::= { agentSdmTemplateEntry 1 }

    agentArpEntries OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of entries in the IPv4 Address Resolution Protocol (ARP) cache for routing interfaces."
         ::= { agentSdmTemplateEntry 2 }

    agentIPv4UnicastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv4 unicast forwarding table entries."
         ::= { agentSdmTemplateEntry 3 }

    agentIPv6NdpEntries OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 Neighbor Discovery Protocol (NDP) cache entries."
         ::= { agentSdmTemplateEntry 4 }

    agentIPv6UnicastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 unicast forwarding table entries."
         ::= { agentSdmTemplateEntry 5 }

    agentEcmpNextHops OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of Equal cost next hops that can be installed in the IPv4 and IPv6 unicast forwarding tables."
         ::= { agentSdmTemplateEntry 6 }

    agentIPv4MulticastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv4 multicast forwarding table entries."
         ::= { agentSdmTemplateEntry 7 }

    agentIPv6MulticastRoutes OBJECT-TYPE
         SYNTAX      INTEGER
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "The maximum number of IPv6 multicast forwarding table entries."
         ::= { agentSdmTemplateEntry 8 }

--*****************************************************************************************
--    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 dell specific port types
--
--*****************************************************************************************

     agentPortTypeGroup          OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 30 }

     agentPortType40GigBaseX OBJECT-IDENTITY
           STATUS      obsolete
           DESCRIPTION "Obsoleted by dot3MauType40GbaseCR4"
           REFERENCE   ""
           ::= { agentPortTypeGroup 1 }

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

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

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

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


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

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

    agentPrivateVlanEntry OBJECT-TYPE
         SYNTAX      AgentPrivateVlanEntry
         MAX-ACCESS  not-accessible
         STATUS      deprecated
         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       deprecated
        DESCRIPTION
                     "Enables vlan for Private Vlan and configures private vlan type."
        ::= { agentPrivateVlanEntry 1 }

    agentPrivateVlanAssociate OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      deprecated
         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      deprecated
         DESCRIPTION
                     ""
         ::= { agentPrivateVlanGroup 2 }

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

    AgentPrivateVlanIntfAssocEntry ::= SEQUENCE {
         agentPrivateVlanIntfAssocHostPrimary
              Integer32,
         agentPrivateVlanIntfAssocHostSecondary
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousPrimary
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousSecondary
              VlanList,
         agentPrivateVlanIntfAssocOperational
              VlanList,
         agentPrivateVlanIntfAssocPromiscuousTrunkNativeVlan
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousTrunkAllowedVlan
              VlanList,
         agentPrivateVlanIntfAssocPromiscuousTrunkPrimary
              Integer32,
         agentPrivateVlanIntfAssocPromiscuousTrunkSecondary
              VlanList,
         agentPrivateVlanIntfAssocIsolatedTrunkPrimary
              Integer32,
         agentPrivateVlanIntfAssocIsolatedTrunkSecondary
              Integer32
         }

    agentPrivateVlanIntfAssocHostPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the primary host vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocHostSecondary before
                     the association will be operational.

                     NOTE: Both agentPrivateVlanIntfAssocHostPrimary and agentPrivateVlanIntfAssocHostSecondary 
                     objects must be specified at the same time."
         ::= { agentPrivateVlanIntfAssocEntry 1 }

    agentPrivateVlanIntfAssocHostSecondary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the secondary host vlan association with the interface.
                     This must be configured along with agentPrivateVlanIntfAssocHostPrimary before
                     the association will be operational.

                     NOTE: Both agentPrivateVlanIntfAssocHostPrimary and agentPrivateVlanIntfAssocHostSecondary 
                     objects must be specified at the same time."
         ::= { agentPrivateVlanIntfAssocEntry 2 }

    agentPrivateVlanIntfAssocPromiscuousPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         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      deprecated
         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      deprecated
         DESCRIPTION
                     "Shows the operational private vlans associated with the interface."
         ::= { agentPrivateVlanIntfAssocEntry 5 }

    agentPrivateVlanIntfAssocPromiscuousTrunkNativeVlan OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the native VLAN on promiscuous or isolated trunk port.
                     Untagged packets received on this trunk port are assigned this VLAN id.
                     If native VLAN is not configured, untagged packets are dropped."
         ::= { agentPrivateVlanIntfAssocEntry 6 }

    agentPrivateVlanIntfAssocPromiscuousTrunkAllowedVlan OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the list of allowed normal VLANs and primary VLANs on promiscuous trunk port 
                     and  allowed VLANs and secondary VLANs on isolated trunk port."
         ::= { agentPrivateVlanIntfAssocEntry 7 }

    agentPrivateVlanIntfAssocPromiscuousTrunkPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the primary VLAN with which the packets are tagged.
                     This must be configured along with agentPrivateVlanIntfAssocPromiscuousTrunkSecondary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 8 }

    agentPrivateVlanIntfAssocPromiscuousTrunkSecondary OBJECT-TYPE
         SYNTAX      VlanList
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the list of secondary VLANs associated with the primary VLAN
                     configured with agentPrivateVlanIntfAssocPromiscuousTrunkPrimary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 9 }

    agentPrivateVlanIntfAssocIsolatedTrunkPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the primary VLAN with which the packets are tagged.
                     This must be configured along with agentPrivateVlanIntfAssocIsolatedTrunkSecondary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 10 }

    agentPrivateVlanIntfAssocIsolatedTrunkSecondary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the secondary isolated VLAN associated with the primary VLAN
                     configured with agentPrivateVlanIntfAssocIsolatedTrunkPrimary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 11 }

    agentPrivateVlanIntfAssocIsolatedTrunkPrimary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the primary VLAN with which the packets are tagged.
                     This must be configured along with agentPrivateVlanIntfAssocIsolatedTrunkSecondary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 10 }

    agentPrivateVlanIntfAssocIsolatedTrunkSecondary OBJECT-TYPE
         SYNTAX      Integer32 (1..4093)
         MAX-ACCESS  read-write
         STATUS      deprecated
         DESCRIPTION
                     "Configures the secondary isolated VLAN associated with the primary VLAN
                     configured with agentPrivateVlanIntfAssocIsolatedTrunkPrimary
                     before the association is operational."
         ::= { agentPrivateVlanIntfAssocEntry 11 }


--**************************************************************************************
-- agentDhcpL2RelayConfigGroup
--**************************************************************************************

   agentDhcpL2RelayConfigGroup     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 32 }

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

   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 }

    --**************************************************************************************
    -- agentDhcpL2RelaySubscriptionConfigGroup
    --
    --**************************************************************************************

    agentDhcpL2RelaySubscriptionConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDhcpL2RelaySubscriptionConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the DHCP L2 Relay Interface subscription configuration entries."
         ::= { agentDhcpL2RelayConfigGroup 8 }

    agentDhcpL2RelaySubscriptionConfigEntry OBJECT-TYPE
         SYNTAX      AgentDhcpL2RelaySubscriptionConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents entry for a DHCP L2 Relay subscription configuration on an interface."
         INDEX       {
                       agentDhcpL2RelaySubscriptionIntfIndex,
                       agentDhcpL2RelaySubscriptionName
                     }
         ::= { agentDhcpL2RelaySubscriptionConfigTable 1 }

   AgentDhcpL2RelaySubscriptionConfigEntry ::= SEQUENCE {
          agentDhcpL2RelaySubscriptionIntfIndex        Unsigned32,
          agentDhcpL2RelaySubscriptionName             DisplayString,
          agentDhcpL2RelaySubscriptionEnable           INTEGER,
          agentDhcpL2RelayCircuitIdSubscriptionEnable  INTEGER,
          agentDhcpL2RelayRemoteIdSubscriptionEnable   DisplayString,
          agentDhcpL2RelaySubscriptionRowStatus        RowStatus
          }

   agentDhcpL2RelaySubscriptionIntfIndex OBJECT-TYPE
         SYNTAX      Unsigned32 (1..65535)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "The port number to be selected. Each port maps to an interface."
         ::= { agentDhcpL2RelaySubscriptionConfigEntry 1 }

   agentDhcpL2RelaySubscriptionName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..31))
         MAX-ACCESS  not-accessible

         STATUS      current
         DESCRIPTION
                     "The subscription name on an interface to be selected."
         ::= { agentDhcpL2RelaySubscriptionConfigEntry 2 }

    agentDhcpL2RelaySubscriptionEnable OBJECT-TYPE
         SYNTAX      INTEGER {
                               disable(0),
                               enable(1)
                             }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP L2 Relay is
             enabled on this Subscription for a given interface.

             If this object is set to 'enable', DHCP L2 Relay
             is enabled.

             If this object is set to 'disable', DHCP L2 Relay
             is disabled."
        DEFVAL      { disable }
        ::= { agentDhcpL2RelaySubscriptionConfigEntry 3 }

    agentDhcpL2RelayCircuitIdSubscriptionEnable OBJECT-TYPE
         SYNTAX      INTEGER {
                               disable(0),
                               enable(1)
                             }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCP CircuitId is
             enabled for L2 relaying on this Subscription for a
             given interface.

             If this object is set to 'enable', DHCP CircuitId
             is enabled.

             If this object is set to 'disable', DHCP CircuitId
             is disabled."
        DEFVAL      { disable }
        ::= { agentDhcpL2RelaySubscriptionConfigEntry 4 }

    agentDhcpL2RelayRemoteIdSubscriptionEnable OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..128))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "When this object is set with a non-empty string,
             DHCP RemoteId is enabled for L2 relaying on this
             Subscription for a given interface."
        ::= { agentDhcpL2RelaySubscriptionConfigEntry 5 }

    agentDhcpL2RelaySubscriptionRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                      "The row status variable is used according to installation
          and removal conventions for conceptual rows."
         ::= { agentDhcpL2RelaySubscriptionConfigEntry 6 }
  --**************************************************************************************
    --    agentPvrstpSwitchConfigGroup
    --**************************************************************************************

    agentPvrstpSwitchConfigGroup                     OBJECT IDENTIFIER ::= { agentStpSwitchConfigGroup 15 }

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

                     enable(1)  - enables PVSTP on the switch.
                     disable(2) - disables PVSTP on the switch.

                     The default status is disabled."
         ::= { agentPvrstpSwitchConfigGroup 1 }


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

                     enable(1)  - enables PVRSTP on the switch.
                     disable(2) - disables PVRSTP on the switch.

                     The default status is disabled."
         ::= { agentPvrstpSwitchConfigGroup 2 }
      agentPvrstpUplinkFast OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables or disabled uplink fast feature when switch is in PVST mode.

                     enable(1)  - enables UPLINK FAST  on the switch.
                     disable(2) - disables UPLINK FAST  on the switch.

                     The default status is disabled."
         ::= { agentPvrstpSwitchConfigGroup 3 }

   agentPvrstpBackboneFast OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables or disabled backbone fast feature when switch is in PVST mode.

                     enable(1)  - enables BACKBONE FAST on the switch.
                     disable(2) - disables BACKBONE FAST on the switch.

                     The default status is disabled."
         ::= { agentPvrstpSwitchConfigGroup 4 }

    -- **************************************************************************************
    -- agentPvrstpVlanTable
    --
    --**************************************************************************************

    agentPvrstpVlanTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF AgentPvrstpVlanEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "PVRSTP table containing PVRSTP per vlan entries."
        ::= { agentPvrstpSwitchConfigGroup 5 }

    agentPvrstpVlanEntry OBJECT-TYPE
        SYNTAX         AgentPvrstpVlanEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "PVRSTP vlan entry attributes."
        INDEX          { agentPvrstpVlanTableIndex }
        ::= { agentPvrstpVlanTable 1 }

    AgentPvrstpVlanEntry ::=
        SEQUENCE {
         agentPvrstpVlanTableIndex
                 VlanId,
         agentPvrstpVlanRootPriSec
                 INTEGER,
         agentPvrstpVlanHelloTime
                 INTEGER,
         agentPvrstpVlanFwdDelayTime
                 INTEGER,
         agentPvrstpVlanMaxAgeTime
                 INTEGER
    }

    agentPvrstpVlanTableIndex OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index to PVRSTP vlan entry in PVRSTP vlan table."
        ::= { agentPvrstpVlanEntry 1 }

    agentPvrstpVlanRootPriSec OBJECT-TYPE
        SYNTAX      INTEGER {
                    primary(1),
                    secondary(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The PVRSTP primary or secondary root for the VLAN instance."
        ::= { agentPvrstpVlanEntry 2 }

    agentPvrstpVlanHelloTime OBJECT-TYPE
        SYNTAX      INTEGER (1..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The PVRSTP hello time for the VLAN instance."
        ::= { agentPvrstpVlanEntry 3 }

    agentPvrstpVlanFwdDelayTime OBJECT-TYPE
         SYNTAX      INTEGER (4..30)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The PVRSTP forward delay for the VLAN instance."
         ::= { agentPvrstpVlanEntry 4 }

    agentPvrstpVlanMaxAgeTime OBJECT-TYPE
         SYNTAX      INTEGER (6..40)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The PVRSTP max age for the VLAN instance."
         ::= { agentPvrstpVlanEntry 5 }

    -- **************************************************************************************
    -- agentPvrstpPortVlanTable
    --
    --**************************************************************************************

    agentPvrstpPortVlanTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF AgentPvrstpPortVlanEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "PVRSTP table containing PVRSTP per port per vlan entries."
        ::= { agentPvrstpSwitchConfigGroup 6 }

    agentPvrstpPortVlanEntry OBJECT-TYPE
        SYNTAX         AgentPvrstpPortVlanEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "PVRSTP port entry per vlan attributes."
        INDEX          { agentPvrstpPortIndex,
                         agentPvrstpVlanIndex
                       }
        ::= { agentPvrstpPortVlanTable 1 }

    AgentPvrstpPortVlanEntry ::=
        SEQUENCE {
         agentPvrstpPortIndex
                 Unsigned32,
         agentPvrstpVlanIndex
                 Unsigned32,
         agentPvrstpPortVlanPriority
                 Unsigned32
         }
     agentPvrstpPortIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port index to PVRSTP port entry in PVRSTP port vlan table."
        ::= { agentPvrstpPortVlanEntry 1 }

    agentPvrstpVlanIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Vlan index to PVRSTP port entry in PVRSTP port vlan table."
        ::= { agentPvrstpPortVlanEntry 2 }

    agentPvrstpPortVlanPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..240)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "PVRSTP port vlan priority is in the range of 0 to 240."
        ::= { agentPvrstpPortVlanEntry 3 }

--**************************************************************************************
    agentDhcpv6SnoopingConfigGroup     OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 33 }
--**************************************************************************************
--************ The DHCPv6 SNOOPING Global Config Table ********

   agentDhcpv6SnoopingAdminMode OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCPv6 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 }
        ::= { agentDhcpv6SnoopingConfigGroup 1 }

   agentDhcpv6SnoopingVerifyMac OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether source MAC address
             in the received DHCPv6 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 }
        ::= { agentDhcpv6SnoopingConfigGroup 2 }

    agentDhcpv6SnoopingVlanConfigTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF AgentDhcpv6SnoopingVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A table provides the mechanism to control DHCPv6 cnooping
             per VLAN. When a VLAN is created in a device
            supporting this table, a corresponding entry of this table
            will be added."
        ::= { agentDhcpv6SnoopingConfigGroup 3 }


    agentDhcpv6SnoopingVlanConfigEntry OBJECT-TYPE
        SYNTAX       AgentDhcpv6SnoopingVlanConfigEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "A row instance contains the configuration for DHCPv6
             snooping at each existing VLAN."
        INDEX { agentDhcpv6SnoopingVlanIndex }
        ::= { agentDhcpv6SnoopingVlanConfigTable  1 }

    AgentDhcpv6SnoopingVlanConfigEntry ::= SEQUENCE {
        agentDhcpv6SnoopingVlanIndex        VlanIndex,
        agentDhcpv6SnoopingVlanEnable       TruthValue
    }

    agentDhcpv6SnoopingVlanIndex OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                "This object indicates the VLAN number on which DHCPv6 snooping
                 inspection feature is configured."
         ::= { agentDhcpv6SnoopingVlanConfigEntry 1 }

    agentDhcpv6SnoopingVlanEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether DHCPv6 snooping is
             enabled in this VLAN.

             If this object is set to 'true', DHCPv6 snooping
             is enabled.

             If this object is set to 'false', DHCPv6 snooping
             is disabled."
        DEFVAL      { false }
        ::= { agentDhcpv6SnoopingVlanConfigEntry 2 }


--************ The DHCPv6 SNOOPING Interface Config Table ********

 agentDhcpv6SnoopingIfConfigTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpv6SnoopingIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism to configure the trust
        state for DHCPv6 snooping purpose at each 
        interface capable of this feature."
    ::= { agentDhcpv6SnoopingConfigGroup 4 }

 agentDhcpv6SnoopingIfConfigEntry OBJECT-TYPE
    SYNTAX       AgentDhcpv6SnoopingIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the configuration for
         DHCPv6 snooping at each interface capable of this feature."
    INDEX { ifIndex }
    ::= { agentDhcpv6SnoopingIfConfigTable 1 }

 AgentDhcpv6SnoopingIfConfigEntry ::= SEQUENCE {
    agentDhcpv6SnoopingIfTrustEnable       TruthValue,
    agentDhcpv6SnoopingIfLogEnable         TruthValue,
    agentDhcpv6SnoopingIfRateLimit         Integer32,
    agentDhcpv6SnoopingIfBurstInterval     Integer32
 }

 agentDhcpv6SnoopingIfTrustEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the interface is trusted for
        DHCPv6 snooping purpose."

    DEFVAL      { false }
    ::= { agentDhcpv6SnoopingIfConfigEntry 1 }

 agentDhcpv6SnoopingIfLogEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the logging needs on DHCPv6 snooping validations
         or not."

    DEFVAL      { false }
    ::= { agentDhcpv6SnoopingIfConfigEntry 2 }

    agentDhcpv6SnoopingIfRateLimit 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 DHCPv6
             snooping purpose. If the incoming rate of DHCPv6 packets
             exceeds the value of this object for consecutively
             burst interval seconds, DHCPv6 packets will be
             dropped. Value of -1 indicates that there is no rate limit."
        DEFVAL      { -1 }
        ::= { agentDhcpv6SnoopingIfConfigEntry 3 }

    agentDhcpv6SnoopingIfBurstInterval 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 }
        ::= { agentDhcpv6SnoopingIfConfigEntry 4 }


--************ The IPSG Interface Config Table ********

  agentIpv6sgIfConfigTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentIpv6sgIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism to configure the IPv6SG
         at each physical interface capable of this feature."
    ::= { agentDhcpv6SnoopingConfigGroup 5 }

  agentIpv6sgIfConfigEntry OBJECT-TYPE
    SYNTAX       AgentIpv6sgIfConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the configuration for 
         IPv6SG at each physical interface capable of this feature."
    INDEX { ifIndex }
    ::= { agentIpv6sgIfConfigTable 1 }

  AgentIpv6sgIfConfigEntry ::= SEQUENCE {
    agentIpv6sgIfVerifySource       TruthValue,
    agentIpv6sgIfPortSecurity       TruthValue
   }

 agentIpv6sgIfVerifySource    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the interface is enabled for IPv6SG
         to forward the data based up on source IP address."
        
    DEFVAL      { false }
    ::= { agentIpv6sgIfConfigEntry 1 }

 agentIpv6sgIfPortSecurity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the interface is enabled for IPv6SG
         to forward the data based up on source mac address in snooping table."
        
    DEFVAL      { false }
    ::= { agentIpv6sgIfConfigEntry 2 }


--************ The DHCPv6 SNOOPING Statistics Table ********

  agentDhcpv6SnoopingStatsReset OBJECT-TYPE
    SYNTAX  INTEGER {
         none(0),
         reset(1)
     }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
         "Clear the DHCPv6 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."
    ::= { agentDhcpv6SnoopingConfigGroup 6 }

 agentDhcpv6SnoopingStatsTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF AgentDhcpv6SnoopingStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table provides the mechanism for statics of DHCPv6 snooping."
    ::= { agentDhcpv6SnoopingConfigGroup 7 }

 agentDhcpv6SnoopingStatsEntry OBJECT-TYPE
    SYNTAX       AgentDhcpv6SnoopingStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A row instance contains the DHCPv6 snooping statistics per interface."
    INDEX { ifIndex }
    ::= { agentDhcpv6SnoopingStatsTable 1 }

 AgentDhcpv6SnoopingStatsEntry ::= SEQUENCE {

    agentDhcpv6SnoopingMacVerifyFailures     Counter32,
    agentDhcpv6SnoopingInvalidClientMessages    Counter32,
    agentDhcpv6SnoopingInvalidServerMessages    Counter32
  }

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

 agentDhcpv6SnoopingInvalidClientMessages OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of invalid DHCPv6 release, request and decline messages."
    ::= { agentDhcpv6SnoopingStatsEntry  2 }

 agentDhcpv6SnoopingInvalidServerMessages OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of invalid DHCPv6 server mesaages."
    ::= { agentDhcpv6SnoopingStatsEntry  3 }

  --*********************** IPv6SG static entries Config Table ***********************

    agentStaticIpv6sgBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStaticIpv6sgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IPv6SG static entries."
         ::= { agentDhcpv6SnoopingConfigGroup 8 }

    agentStaticIpv6sgBindingEntry OBJECT-TYPE
         SYNTAX      AgentStaticIpv6sgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in IPv6SG table."
         INDEX       { agentStaticIpv6sgBindingIfIndex, agentStaticIpv6sgBindingVlanId,
                       agentStaticIpv6sgBindingIpAddr, agentStaticIpv6sgBindingMacAddr
                     }
         ::= { agentStaticIpv6sgBindingTable  1 }

    AgentStaticIpv6sgBindingEntry ::= SEQUENCE {
       
          agentStaticIpv6sgBindingIfIndex     InterfaceIndex,
          agentStaticIpv6sgBindingVlanId      VlanIndex,
          agentStaticIpv6sgBindingIpAddr      Ipv6Address,
          agentStaticIpv6sgBindingMacAddr     MacAddress,
          agentStaticIpv6sgBindingRowStatus   RowStatus
          }

     agentStaticIpv6sgBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex 
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Interface on which this IPv6SG binding is going to be added."
         ::= { agentStaticIpv6sgBindingEntry  1 }
     
     agentStaticIpv6sgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     " VLAN to which this IPv6SG binding is going to be added."
         ::= { agentStaticIpv6sgBindingEntry  2 }

     agentStaticIpv6sgBindingIpAddr OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IPv6 address match value for the IPv6SG binding."
         ::= { agentStaticIpv6sgBindingEntry 3 }

     agentStaticIpv6sgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPv6SG binding."
         ::= { agentStaticIpv6sgBindingEntry  4 }

    agentStaticIpv6sgBindingRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this IPv6SG Binding is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentStaticIpv6sgBindingEntry 5 }
--*********************** IPSG dynamic entries Config ready only Table ***********************

    agentDynamicIpv6sgBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDynamicIpv6sgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the IPv6SG dynamic entries."
         ::= { agentDhcpv6SnoopingConfigGroup 9 }

    agentDynamicIpv6sgBindingEntry OBJECT-TYPE
         SYNTAX      AgentDynamicIpv6sgBindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a binding in IPSG table."
         INDEX       { agentDynamicIpv6sgBindingIfIndex, agentDynamicIpv6sgBindingVlanId,
                       agentDynamicIpv6sgBindingIpAddr, agentDynamicIpv6sgBindingMacAddr
                     }
         ::= { agentDynamicIpv6sgBindingTable  1 }

    AgentDynamicIpv6sgBindingEntry ::= SEQUENCE {

          agentDynamicIpv6sgBindingIfIndex     InterfaceIndex,
          agentDynamicIpv6sgBindingVlanId      VlanIndex,
          agentDynamicIpv6sgBindingIpAddr      Ipv6Address,
          agentDynamicIpv6sgBindingMacAddr     MacAddress
          }

     agentDynamicIpv6sgBindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface on which this IPv6SG binding is added."
         ::= { agentDynamicIpv6sgBindingEntry  1 }

     agentDynamicIpv6sgBindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " VLAN to which this IPv6SG binding is going to be added."
         ::= { agentDynamicIpv6sgBindingEntry  2 }

     agentDynamicIpv6sgBindingIpAddr OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Sender IPv6 address match value for the IPv6SG binding."
         ::= { agentDynamicIpv6sgBindingEntry 3 }

     agentDynamicIpv6sgBindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the IPv6SG binding."
         ::= { agentDynamicIpv6sgBindingEntry  4 }



--*********************** DHCPv6 SNOOPING static bindings Config Table ***********************

    agentStaticDsv6BindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentStaticDsv6BindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the DHCPv6 snooping static entries."
         ::= { agentDhcpv6SnoopingConfigGroup 10 }

    agentStaticDsv6BindingEntry OBJECT-TYPE
         SYNTAX      AgentStaticDsv6BindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a static binding in DHCPv6 snooping table."
         INDEX       {
                       agentStaticDsv6BindingMacAddr
                     }
         ::= { agentStaticDsv6BindingTable  1 }

    AgentStaticDsv6BindingEntry ::= SEQUENCE {

          agentStaticDsv6BindingIfIndex     InterfaceIndex,
          agentStaticDsv6BindingVlanId      VlanId,
          agentStaticDsv6BindingMacAddr     MacAddress,
          agentStaticDsv6BindingIpAddr      Ipv6Address,
          agentStaticDsv6BindingRowStatus   RowStatus
          }

     agentStaticDsv6BindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "Interface on which this static DHCPv6 snooping binding is going to be added."
         ::= { agentStaticDsv6BindingEntry  1 }

     agentStaticDsv6BindingVlanId OBJECT-TYPE
         SYNTAX      VlanId
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     " VLAN to which this static DHCPv6 snooping binding is going to be added."
         ::= { agentStaticDsv6BindingEntry  2 }
     agentStaticDsv6BindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the static DHCPv6 snooping binding."
         ::= { agentStaticDsv6BindingEntry  3 }

     agentStaticDsv6BindingIpAddr OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "IPv6 address match value for the static DHCPv6 snopoing binding."
         ::= { agentStaticDsv6BindingEntry 4 }

    agentStaticDsv6BindingRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
                     "The status of this conceptual row.

                     active(1)      - this static DHCPv6 snooping binding is active
                     createAndGo(4) - set to this value to create an instance
                     destroy(6)     - set to this value to delete an instance"
         ::= { agentStaticDsv6BindingEntry 5 }

--*********************** DHCPv6 SNOOPING Dynamic bindings Config Table ***********************

    agentDynamicDsv6BindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentDynamicDsv6BindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table of the DHCPv6 snooping dynamic entries."
         ::= { agentDhcpv6SnoopingConfigGroup 11 }

    agentDynamicDsv6BindingEntry OBJECT-TYPE
         SYNTAX      AgentDynamicDsv6BindingEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "Represents a dynamic binding in DHCPv6 snooping table."
         INDEX       { agentDynamicDsv6BindingMacAddr }
         ::= { agentDynamicDsv6BindingTable  1 }

    AgentDynamicDsv6BindingEntry ::= SEQUENCE {

          agentDynamicDsv6BindingIfIndex     InterfaceIndex,
          agentDynamicDsv6BindingVlanId      VlanIndex,
          agentDynamicDsv6BindingMacAddr     MacAddress,
          agentDynamicDsv6BindingIpAddr      Ipv6Address,
          agentDynamicDsv6BindingLeaseRemainingTime TimeTicks
          }

     agentDynamicDsv6BindingIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Interface on which this dynamic DHCPv6 snooping binding is added."
         ::= { agentDynamicDsv6BindingEntry  1 }

     agentDynamicDsv6BindingVlanId OBJECT-TYPE
         SYNTAX      VlanIndex
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     " VLAN to which this dynamic DHCPv6 snooping binding is added."
         ::= { agentDynamicDsv6BindingEntry  2 }
     agentDynamicDsv6BindingMacAddr OBJECT-TYPE
         SYNTAX      MacAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "MAC address match value for the dynamic DHCPv6 snooping binding."
         ::= { agentDynamicDsv6BindingEntry  3 }

     agentDynamicDsv6BindingIpAddr OBJECT-TYPE
         SYNTAX      Ipv6Address
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "IPv6 address match value for the dynamic DHCPv6 snooping binding."
         ::= { agentDynamicDsv6BindingEntry 4 }

    agentDynamicDsv6BindingLeaseRemainingTime OBJECT-TYPE
         SYNTAX      TimeTicks
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "This specifies the period for which the dynamic DHCPv6 snooping binding is valid."
         ::= { agentDynamicDsv6BindingEntry 5 }


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

   agentDhcpv6SnoopingRemoteFileName 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 DHCPv6 snooping bindings. This will be set only
             when we have a valid remote IP."
        ::= { agentDhcpv6SnoopingConfigGroup 12 }

   agentDhcpv6SnoopingRemoteIpAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the IP address of the remote machine
             to save the DHCPv6 snooping bindings. This will be set only
             when we have a valid file name."
        ::= { agentDhcpv6SnoopingConfigGroup 13 }

   agentDhcpv6SnoopingStoreInterval OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the perodic time interval
             to save the DHCPv6 snooping bindings."
        ::= { agentDhcpv6SnoopingConfigGroup 14 }


    --**************************************************************************************
    -- agentSwitchKeepaliveGroup
    --
    --**************************************************************************************

    agentSwitchKeepaliveGroup                       OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 43 }


    agentSwitchKeepaliveState OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable  (1),
                     disable (2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The keepalive state for the switch.

                     enable  (1) - enables keepalive on the switch.
                     disable (2) - disables keepalive on the switch.

                     The default switch keepalive state is disabled."
         ::= { agentSwitchKeepaliveGroup 1 }

    agentSwitchKeepaliveTransmitInterval OBJECT-TYPE
         SYNTAX      Integer32 (1..10)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "The keepalive state for the port.

                     enable  (1) - enables loop protect on the switch.
                     disable (2) - disables loop protect on the switch."
         ::= { agentSwitchKeepaliveGroup 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,
						agentSwitchportOperMode
						INTEGER
		}		

			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 }

			agentSwitchportOperMode OBJECT-TYPE
					SYNTAX      INTEGER {
											access(1),
											trunk(2),
											general(3)
										}
					MAX-ACCESS  read-only
					STATUS      current
					DESCRIPTION
											"Fetch the operational switchport mode of a port." 
					::= { agentSwitchportConfigEntry 11 }

--**********************************************************************--
    agentSwitchVlanStatsGroup         OBJECT IDENTIFIER ::= { agentSwitchConfigGroup 47 }

        agentSwitchVlanStatsTable OBJECT-TYPE
            SYNTAX       SEQUENCE OF AgentSwitchVlanStatsEntry
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION  "VLAN Statistics Table"
            ::= { agentSwitchVlanStatsGroup 1 }

        agentSwitchVlanStatsEntry OBJECT-TYPE
            SYNTAX       AgentSwitchVlanStatsEntry
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION  "Represents entry for VLAN Statistics Table"
            INDEX       { agentSwitchVlanStatsVlanId }
            ::={ agentSwitchVlanStatsTable 1}

        AgentSwitchVlanStatsEntry ::=
             SEQUENCE {
             agentSwitchVlanStatsVlanId
                     INTEGER,
             agentSwitchVlanStatsStatus
                     RowStatus,
             agentSwitchVlanStatsReceiveBytes
                     Counter64,
             agentSwitchVlanStatsReceivePackets
                     Counter64,
             agentSwitchVlanStatsReceiveDiscardBytes
                     Counter64,
             agentSwitchVlanStatsReceiveDiscardPackets
                     Counter64,
             agentSwitchVlanStatsTransmitBytes
                     Counter64,
             agentSwitchVlanStatsTransmitPackets
                     Counter64,
             agentSwitchVlanStatsTransmitDiscardBytes
                     Counter64,
             agentSwitchVlanStatsTransmitDiscardPackets
                     Counter64,
             agentSwitchVlanStatsClear
                     INTEGER
             }

        agentSwitchVlanStatsVlanId OBJECT-TYPE
            SYNTAX       INTEGER (1..4094)
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION  "Requested VLAN ID"
            ::={agentSwitchVlanStatsEntry 1 }

        agentSwitchVlanStatsStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION "Status of the statistics collection on the VLAN.
                         Supported values:
                           active(1)      - valid entry
                           createAndGo(4) - used to create a new entry
                           destroy(6)     - removes the entry"
            ::= { agentSwitchVlanStatsEntry 2 }

        agentSwitchVlanStatsReceiveBytes OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "bytes"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of bytes received for a VLAN."
            ::={ agentSwitchVlanStatsEntry 3 }

        agentSwitchVlanStatsReceivePackets OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "frames"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of packets received for a VLAN."
            ::={ agentSwitchVlanStatsEntry 4 }

        agentSwitchVlanStatsReceiveDiscardBytes OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "bytes"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of bytes received but discarded for a VLAN."
            ::={ agentSwitchVlanStatsEntry 5 }

        agentSwitchVlanStatsReceiveDiscardPackets OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "frames"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of packets received but discarded for a VLAN."
            ::={ agentSwitchVlanStatsEntry 6 }

        agentSwitchVlanStatsTransmitBytes OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "bytes"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of bytes transmitted for a VLAN."
            ::={ agentSwitchVlanStatsEntry 7 }

        agentSwitchVlanStatsTransmitPackets OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "frames"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of packets transmitted for a VLAN."
            ::={ agentSwitchVlanStatsEntry 8 }

        agentSwitchVlanStatsTransmitDiscardBytes OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "bytes"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of bytes discarded at egress for a VLAN."
            ::={ agentSwitchVlanStatsEntry 9 }

        agentSwitchVlanStatsTransmitDiscardPackets OBJECT-TYPE
            SYNTAX       Counter64
            UNITS        "frames"
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION  "Number of packets discarded at egress for a VLAN."
            ::={ agentSwitchVlanStatsEntry 10 }

        agentSwitchVlanStatsClear OBJECT-TYPE
            SYNTAX       INTEGER {
                            enable(1),
                            disable(2)
                         }
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION  "When set to enable(1), all statistics for the VLAN will be cleared."
            ::={ agentSwitchVlanStatsEntry 11 }

END
