-- mib version: DXS-1210-10TS-AX-V1.00.011

        DLINK-DXS-1210-10TS-AX-MIB DEFINITIONS ::= BEGIN

IMPORTS 
   MODULE-IDENTITY, OBJECT-TYPE, 
   enterprises, IpAddress, Integer32, Unsigned32, TimeTicks, Counter32,Counter64,
   Gauge32
                                                  FROM SNMPv2-SMI 
   InetAddress ,InetAddressType                   FROM INET-ADDRESS-MIB                                                  
   InterfaceIndex,InterfaceIndexOrZero    
                                                  FROM IF-MIB
   SnmpAdminString,SnmpEngineID,SnmpSecurityLevel FROM SNMP-FRAMEWORK-MIB 
   dot1dBridge, dot1dBasePortEntry, dot1dBasePort FROM BRIDGE-MIB                                                  
   RowStatus, TruthValue, DisplayString, 
   TEXTUAL-CONVENTION, MacAddress,TimeStamp,DateAndTime,TimeInterval      FROM SNMPv2-TC
   VlanId                                         FROM Q-BRIDGE-MIB   
   AddressFamilyNumbers                           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
   Dscp                                           FROM DIFFSERV-DSCP-TC;

    d-link						OBJECT IDENTIFIER ::= { enterprises 171 }  
    dlink-products				OBJECT IDENTIFIER ::= { d-link 10 }
    dlink-DXS1210SeriesProd	    OBJECT IDENTIFIER ::= { dlink-products 139}
    dxs-1210-10ts				OBJECT IDENTIFIER ::= { dlink-DXS1210SeriesProd 2 }  
    dxs-1210-10ts-AX			OBJECT IDENTIFIER ::= { dxs-1210-10ts 1 }  
   
VlanIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A value used to index per-VLAN tables: values of 0 and
        4095 are not permitted; if the value is between 1 and
        4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
        global scope within a given bridged domain (see VlanId
        textual convention).  If the value is greater than 4095
        then it represents a VLAN with scope local to the
        particular agent, i.e. one without a global VLAN-ID
        assigned to it. Such VLANs are outside the scope of
        IEEE 802.1Q but it is convenient to be able to manage them
        in the same way using this MIB."
    SYNTAX      Unsigned32

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

VlanList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        vlans, with the first octet specifying vlans 1 through
        8, the second octet specifying vlans 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered of vlan, and the least significant bit
        represents the highest numbered of vlan.  Thus, each vlan
        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 vlan is included in the set of vlans; the vlan
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING

BridgeId ::= TEXTUAL-CONVENTION
     STATUS  current
     DESCRIPTION
           "The Bridge-Identifier as used in the
           Spanning Tree
           Protocol to uniquely identify a bridge.  Its first two
           octets (in network byte order) contain a priority
           value and its last 6 octets contain the MAC address
           used to refer to a bridge in a unique fashion
           (typically, the numerically smallest MAC address
           of all ports on the bridge).
           Several objects in this MIB module represent values of
           timers used by the Spanning Tree Protocol.  In this
           MIB, these timers have values in units of hundreths of
           a second (i.e. 1/100 secs).
           These timers, when stored in a Spanning Tree Protocol's
           BPDU, are in units of 1/256 seconds.  Note, however,
           that 802.1D-1990 specifies a settable granularity of
           no more than 1 second for these timers.  To avoid
           ambiguity, a data type is defined here as a textual
           convention and all representation of these timers
           in this MIB module are defined using this data type.  An
           algorithm is also defined for converting between the
           different units, to ensure a timer's value is not 
		   distorted by multiple conversions."
     SYNTAX          OCTET STRING (SIZE (8))
     
Timeout ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d4"
     STATUS       current
     DESCRIPTION
           "A STP timer in units of 1/100 seconds
           
            To convert a Timeout value into a value in units of
            1/256 seconds, the following algorithm should be used:
           
                 b  = floor( (n * 256) / 100)
            
            where:
                 floor   =  quotient [ignore remainder]
                 n is the value in 1/100 second units
                 b is the value in 1/256 second units
                  To convert the value from 1/256 second units back to
				  1/100 seconds, the following algorithm should be used:
            
                 n = ceiling( (b * 100) / 256)
            
            where:
                  ceiling =  quotient [if remainder is 0], or
                             quotient + 1 [if remainder is non-zero]
                  n is the value in 1/100 second units
                  b is the value in 1/256 second units
             
             Note: it is important that the arithmetic operations are
             done in the order specified (i.e., multiply first, divide
             second)."
     SYNTAX       INTEGER
         
 OwnerString ::= TEXTUAL-CONVENTION
     STATUS current
     DESCRIPTION
         "This data type is used to model an administratively
         assigned name of the owner of a resource. Implementations
         must accept values composed of well-formed NVT ASCII
         sequences. In addition, implementations should accept
         values composed of well-formed UTF-8 sequences.

         It is suggested that this name contain one or more of
         the following: IP address, management station name,
         network manager's name, location, or phone number.
         In some cases the agent itself will be the owner of
         an entry.  In these cases, this string shall be set
         to a string starting with 'monitor'.

         SNMP access control is articulated entirely in terms
         of the contents of MIB views; access to a particular
         SNMP object instance depends only upon its presence
         or absence in a particular MIB view and never upon
         its value or the value of related object instances.
         Thus, objects of this type afford resolution of
         resource contention only among cooperating
         managers; they realize no access control function
         with respect to uncooperative parties."
     SYNTAX DisplayString (SIZE (0..32))

 RmonStatus ::= TEXTUAL-CONVENTION
     STATUS current
     DESCRIPTION
         "The status of a table entry.

         Setting this object to the value invalid(4) has the
         effect of invalidating the corresponding entry.
         That is, it effectively disassociates the mapping
         identified with said entry.
         It is an implementation-specific matter as to whether
         the agent removes an invalidated entry from the table.
         Accordingly, management stations must be prepared to
         receive tabular information from agents that corresponds
         to entries currently not in use.  Proper
         interpretation of such entries requires examination
         of the relevant RmonStatus object.

         An existing instance of this object cannot be set to
         createRequest(2).  This object may only be set to
         createRequest(2) when this instance is created.  When
         this object is created, the agent may wish to create
         supplemental object instances with default values
         to complete a conceptual row in this table.  Because the

         creation of these default objects is entirely at the option
         of the agent, the manager must not assume that any will be
         created, but may make use of any that are created.
         Immediately after completing the create operation, the agent
         must set this object to underCreation(3).

         When in the underCreation(3) state, an entry is allowed to
         exist in a possibly incomplete, possibly inconsistent state,
         usually to allow it to be modified in multiple PDUs.  When in
         this state, an entry is not fully active.
         Entries shall exist in the underCreation(3) state until
         the management station is finished configuring the entry
         and sets this object to valid(1) or aborts, setting this
         object to invalid(4).  If the agent determines that an
         entry has been in the underCreation(3) state for an
         abnormally long time, it may decide that the management
         station has crashed.  If the agent makes this decision,
         it may set this object to invalid(4) to reclaim the
         entry.  A prudent agent will understand that the
         management station may need to wait for human input
         and will allow for that possibility in its
         determination of this abnormally long period.

         An entry in the valid(1) state is fully configured and
         consistent and fully represents the configuration or
         operation such a row is intended to represent.  For
         example, it could be a statistical function that is
         configured and active, or a filter that is available
         in the list of filters processed by the packet capture
         process.

         A manager is restricted to changing the state of an entry in
         the following ways:

              To:       valid  createRequest  underCreation  invalid
         From:
         valid             OK             NO             OK       OK
         createRequest    N/A            N/A            N/A      N/A
         underCreation     OK             NO             OK       OK
         invalid           NO             NO             NO       OK
         nonExistent       NO             OK             NO       OK

         In the table above, it is not applicable to move the state
         from the createRequest state to any other state because the
         manager will never find the variable in that state.  The
         nonExistent state is not a value of the enumeration, rather
         it means that the entryStatus variable does not exist at all.

         An agent may allow an entryStatus variable to change state in
         additional ways, so long as the semantics of the states are
         followed.  This allowance is made to ease the implementation of
         the agent and is made despite the fact that managers should
         never exercise these additional state transitions."
     SYNTAX INTEGER {
                valid(1),
                createRequest(2),
                underCreation(3),
                invalid(4)
            }

OperationResponseStatus ::= TEXTUAL-CONVENTION
   STATUS  current
   DESCRIPTION

       "Used to report the result of an operation:

        responseReceived(1) - Operation is completed successfully.
        unknown(2) - Operation failed due to unknown error.
        internalError(3) - An implementation detected an error
             in its own processing that caused an operation
             to fail.
        requestTimedOut(4) - Operation failed to receive a
             valid reply within the time limit imposed on it.
        unknownDestinationAddress(5) - Invalid destination
             address.
        noRouteToTarget(6) - Could not find a route to target.
        interfaceInactiveToTarget(7) - The interface to be
             used in sending a probe is inactive, and an
             alternate route does not exist.
        arpFailure(8) - Unable to resolve a target address to a
             media-specific address.
        maxConcurrentLimitReached(9) - The maximum number of
             concurrent active operations would have been exceeded
             if the corresponding operation was allowed.
        unableToResolveDnsName(10) - The DNS name specified was
             unable to be mapped to an IP address.
        invalidHostAddress(11) - The IP address for a host
             has been determined to be invalid.  Examples of this
             are broadcast or multicast addresses."
   SYNTAX INTEGER {
                responseReceived(1),
                unknown(2),
                internalError(3),
                requestTimedOut(4),
                unknownDestinationAddress(5),
                noRouteToTarget(6),
                interfaceInactiveToTarget(7),
                arpFailure(8),
                maxConcurrentLimitReached(9),
                unableToResolveDnsName(10),
                invalidHostAddress(11)
             }	
 LldpChassisIdSubtype ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the source of a chassis identifier.

            The enumeration 'chassisComponent(1)' represents a chassis
            identifier based on the value of entPhysicalAlias object
            (defined in IETF RFC 2737) for a chassis component (i.e.,
            an entPhysicalClass value of 'chassis(3)').

            The enumeration 'interfaceAlias(2)' represents a chassis
            identifier based on the value of ifAlias object (defined in
            IETF RFC 2863) for an interface on the containing chassis.

            The enumeration 'portComponent(3)' represents a chassis
            identifier based on the value of entPhysicalAlias object
            (defined in IETF RFC 2737) for a port or backplane
            component (i.e., entPhysicalClass value of 'port(10)' or
            'backplane(4)'), within the containing chassis.

            The enumeration 'macAddress(4)' represents a chassis
            identifier based on the value of a unicast source address
            (encoded in network byte order and IEEE 802.3 canonical bit
            order), of a port on the containing chassis as defined in
            IEEE Std 802-2001.

            The enumeration 'networkAddress(5)' represents a chassis
            identifier based on a network address, associated with
            a particular chassis.  The encoded address is actually
            composed of two fields.  The first field is a single octet,
            representing the IANA AddressFamilyNumbers value for the
            specific address type, and the second field is the network
            address value.

            The enumeration 'interfaceName(6)' represents a chassis
            identifier based on the value of ifName object (defined in
            IETF RFC 2863) for an interface on the containing chassis.

            The enumeration 'local(7)' represents a chassis identifier
            based on a locally defined value."
    SYNTAX  INTEGER {
            chassisComponent(1),
            interfaceAlias(2),
            portComponent(3),
            macAddress(4),
            networkAddress(5),
            interfaceName(6),
            local(7)
    }

LldpChassisId ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the format of a chassis identifier string.
            Objects of this type are always used with an associated
            LldpChassisIdSubtype object, which identifies the format of
            the particular LldpChassisId object instance.

            If the associated LldpChassisIdSubtype object has a value of
            'chassisComponent(1)', then the octet string identifies
            a particular instance of the entPhysicalAlias object
            (defined in IETF RFC 2737) for a chassis component (i.e.,
            an entPhysicalClass value of 'chassis(3)').

            If the associated LldpChassisIdSubtype object has a value
            of 'interfaceAlias(2)', then the octet string identifies
            a particular instance of the ifAlias object (defined in
            IETF RFC 2863) for an interface on the containing chassis.
            If the particular ifAlias object does not contain any values,
            another chassis identifier type should be used.

            If the associated LldpChassisIdSubtype object has a value
            of 'portComponent(3)', then the octet string identifies a
            particular instance of the entPhysicalAlias object (defined
            in IETF RFC 2737) for a port or backplane component within
            the containing chassis.

            If the associated LldpChassisIdSubtype object has a value of
            'macAddress(4)', then this string identifies a particular
            unicast source address (encoded in network byte order and
            IEEE 802.3 canonical bit order), of a port on the containing
            chassis as defined in IEEE Std 802-2001.

            If the associated LldpChassisIdSubtype object has a value of
            'networkAddress(5)', then this string identifies a particular
            network address, encoded in network byte order, associated
            with one or more ports on the containing chassis.  The first
            octet contains the IANA Address Family Numbers enumeration
            value for the specific address type, and octets 2 through
            N contain the network address value in network byte order.

            If the associated LldpChassisIdSubtype object has a value
            of 'interfaceName(6)', then the octet string identifies
            a particular instance of the ifName object (defined in
            IETF RFC 2863) for an interface on the containing chassis.
            If the particular ifName object does not contain any values,
            another chassis identifier type should be used.

            If the associated LldpChassisIdSubtype object has a value of
            'local(7)', then this string identifies a locally assigned
            Chassis ID."
    SYNTAX      OCTET STRING (SIZE (1..255))

LldpPortIdSubtype ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the source of a particular type of port
            identifier used in the LLDP MIB.

            The enumeration 'interfaceAlias(1)' represents a port
            identifier based on the ifAlias MIB object, defined in IETF
            RFC 2863.

            The enumeration 'portComponent(2)' represents a port
            identifier based on the value of entPhysicalAlias (defined in
            IETF RFC 2737) for a port component (i.e., entPhysicalClass
            value of 'port(10)'), within the containing chassis.

            The enumeration 'macAddress(3)' represents a port identifier
            based on a unicast source address (encoded in network
            byte order and IEEE 802.3 canonical bit order), which has
            been detected by the agent and associated with a particular
            port (IEEE Std 802-2001).

            The enumeration 'networkAddress(4)' represents a port
            identifier based on a network address, detected by the agent
            and associated with a particular port.

            The enumeration 'interfaceName(5)' represents a port
            identifier based on the ifName MIB object, defined in IETF
            RFC 2863.

            The enumeration 'agentCircuitId(6)' represents a port
            identifier based on the agent-local identifier of the circuit
            (defined in RFC 3046), detected by the agent and associated
            with a particular port.

            The enumeration 'local(7)' represents a port identifier
            based on a value locally assigned."

    SYNTAX  INTEGER {
            interfaceAlias(1),
            portComponent(2),
            macAddress(3),
            networkAddress(4),
            interfaceName(5),
            agentCircuitId(6),
            local(7)
    }

LldpPortId ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the format of a port identifier string.
            Objects of this type are always used with an associated
            LldpPortIdSubtype object, which identifies the format of the
            particular LldpPortId object instance.

            If the associated LldpPortIdSubtype object has a value of
            'interfaceAlias(1)', then the octet string identifies a
            particular instance of the ifAlias object (defined in IETF
            RFC 2863).  If the particular ifAlias object does not contain
            any values, another port identifier type should be used.

            If the associated LldpPortIdSubtype object has a value of
            'portComponent(2)', then the octet string identifies a
            particular instance of the entPhysicalAlias object (defined
            in IETF RFC 2737) for a port or backplane component.

            If the associated LldpPortIdSubtype object has a value of
            'macAddress(3)', then this string identifies a particular
            unicast source address (encoded in network byte order
            and IEEE 802.3 canonical bit order) associated with the port
            (IEEE Std 802-2001).

            If the associated LldpPortIdSubtype object has a value of
            'networkAddress(4)', then this string identifies a network
            address associated with the port.  The first octet contains
            the IANA AddressFamilyNumbers enumeration value for the
            specific address type, and octets 2 through N contain the
            networkAddress address value in network byte order.

            If the associated LldpPortIdSubtype object has a value of
            'interfaceName(5)', then the octet string identifies a
            particular instance of the ifName object (defined in IETF
            RFC 2863).  If the particular ifName object does not contain
            any values, another port identifier type should be used.

            If the associated LldpPortIdSubtype object has a value of
            'agentCircuitId(6)', then this string identifies a agent-local
            identifier of the circuit (defined in RFC 3046).

            If the associated LldpPortIdSubtype object has a value of
            'local(7)', then this string identifies a locally
            assigned port ID."
    SYNTAX      OCTET STRING (SIZE (1..255))

LldpManAddrIfSubtype ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the basis of a particular type of
            interface associated with the management address.

            The enumeration 'unknown(1)' represents the case where the
            interface is not known.

            The enumeration 'ifIndex(2)' represents interface identifier
            based on the ifIndex MIB object.

            The enumeration 'systemPortNumber(3)' represents interface
            identifier based on the system port numbering convention."
    REFERENCE 
            "IEEE 802.1AB-2005 9.5.9.5"
            
    SYNTAX  INTEGER {
            unknown(1),
            ifIndex(2),
            systemPortNumber(3)
    }

LldpManAddress ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "The value of a management address associated with the LLDP
            agent that may be used to reach higher layer entities to
            assist discovery by network management.

            It should be noted that appropriate security credentials,
            such as SNMP engineId, may be required to access the LLDP
            agent using a management address.  These necessary credentials
            should be known by the network management and the objects
            associated with the credentials are not included in the
            LLDP agent."
    SYNTAX      OCTET STRING (SIZE (1..31))

LldpSystemCapabilitiesMap ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the system capabilities.

            The bit 'other(0)' indicates that the system has capabilities
            other than those listed below.

            The bit 'repeater(1)' indicates that the system has repeater
            capability.

            The bit 'bridge(2)' indicates that the system has bridge
            capability.

            The bit 'wlanAccessPoint(3)' indicates that the system has 
            WLAN access point capability.

            The bit 'router(4)' indicates that the system has router
            capability.

            The bit 'telephone(5)' indicates that the system has telephone
            capability.

            The bit 'docsisCableDevice(6)' indicates that the system has
            DOCSIS Cable Device capability (IETF RFC 2669 & 2670).

            The bit 'stationOnly(7)' indicates that the system has only
            station capability and nothing else."
    SYNTAX  BITS {
            other(0),
            repeater(1),
            bridge(2),
            wlanAccessPoint(3),
            router(4),
            telephone(5),
            docsisCableDevice(6),
            stationOnly(7)
    }

LldpPortNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS     current 
    DESCRIPTION
            "Each port contained in the chassis (that is known to the
            LLDP agent) is uniquely identified by a port number.

            A port number has no mandatory relationship to an
            InterfaceIndex object (of the interfaces MIB, IETF RFC 2863).
            If the LLDP agent is a IEEE 802.1D, IEEE 802.1Q bridge, the
            LldpPortNumber will have the same value as the dot1dBasePort
            object (defined in IETF RFC 1493) associated corresponding
            bridge port.  If the system hosting LLDP agent is not an
            IEEE 802.1D or an IEEE 802.1Q bridge, the LldpPortNumber
            will have the same value as the corresponding interface's
            InterfaceIndex object.

            Port numbers should be in the range of 1 and 4096 since a
            particular port is also represented by the corresponding
            port number bit in LldpPortList."
    SYNTAX 	Integer32(1..4096)

LldpPortList ::= 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 system 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'."
    REFERENCE 
            "IETF RFC 2674 section 5"
    SYNTAX  OCTET STRING(SIZE(0..512))
TimeFilter ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION
      "To be used for the index to a table.  Allows an application
      to download only those rows changed since a particular time.
      Note that this is not a history mechanism.  Only current values
      of underlying objects are returned; saved instance values
      associated with particular values of sysUpTime are not.

      An entry is considered changed if the value of any object in the
      entry changes, if the row is created, or if any object in the
      entry is created or deleted.  Note that deleted entries cannot
      be detected or downloaded.

      A time-filtered conceptual table is created by inserting a
      single object of SYNTAX TimeFilter as the first INDEX component
      in a copy of an existing basic conceptual table (i.e., any
      SEQUENCE without a TimeFilter INDEX component).  Thus, for
      each conceptual entry 'I' in the basic table, there exists N
      conceptual entries in the time-filtered version, indexed N.I,
      where 'N' is equal to the value of sysUpTime.

      When an application retrieves conceptual instances from a
      time-filtered table, and an INDEX value is provided for the
      TimeFilter INDEX component 'N', the agent will only consider
      returning basic conceptual entries (e.g., 'fooColumn.N.I') if
      any column within the basic conceptual entry has changed since
      sysUpTime 'N'.  If not, the basic conceptual entry will
      be ignored for the particular retrieval operation.

      When sysUpTime is equal to zero, this table shall be empty.

      One conceptual entry exists for each past value of sysUpTime,
      except that the whole table is purged should sysUpTime wrap.

      As an entry in a time-filtered table is updated (i.e., one of
      the columns in the basic conceptual table is changed), new
      conceptual entries are also created in the time-filtered version
      (which still shares the now updated object values with all other
      instances).  The number of unique time-filtered instances that
      are created is determined by the value of sysUpTime at which the
      basic entry was last updated.  One unique instance will exist
      for each value of sysUpTime at the last update time for the row.
      However, a new TimeFilter index instance is created for each new
      sysUpTime value.  The TimeFilter index values not associated
      with entry updates are called duplicate time-filtered instances.

      After some deployment experience, it has been determined that
      a time-filtered table is more efficient if the agent
      stops a MIB walk operation by skipping over rows with a
      TimeFilter index value higher than the value in the received
      GetNext/GetBulk request.  That is, instead of incrementing a
      TimeFilter index value, the agent will continue to the next
      object or table.  As a consequence, GetNext or GetBulk
      operations will provide only one pass through a time-filtered
      table.

      It is suggested that an agent implement a time-filtered table
      in this manner to improve performance and avoid a MIB walk
      getting stuck in time-filtered tables.  It is, however, still
      acceptable for an agent to implement a time-filtered table in
      the traditional manner (i.e., every conceptual time-filtered
      instance is returned in GetNext and GetBulk PDU responses), and
      management applications must be able to deal with such
      traditional implementations.

      See the appendix for further discussion of this textual
      convention.

      The following example is provided to demonstrate TimeFilter
      behavior:

      Consider the following basic conceptual table, basicFooTable.
      (Note that the basic version of a time-filtered table may not
      actually be defined.)

          basicFooTable:

          basicFooTable ...
          INDEX { fooIndex }

          BasicFooEntry {
             fooIndex     Integer32,
             fooCounts    Counter32
          }

      For this example, the basicFooTable contains two static
      conceptual entries (fooIndex equals '1' and '2'), created at
      time zero.  It also contains one dynamic conceptual entry
      (fooIndex equals '3'), which is created at time '3' and deleted
      at time '7'.

      The time-filtered version of the basicFooTable could be defined
      as follows:

          FooTable:

          fooTable ...
          INDEX { fooTimeMark, fooIndex }

          FooEntry {
             fooTimeMark  TimeFilter,
             fooIndex     Integer32,
             fooCounts    Counter32
          }


      Note that entries exist in the time-filtered conceptual table
      only if they actually exist in the underlying (basic) table.

      For this example, the fooTable will have three underlying
      basic entries (fooIndex == 1, 2, and 3), with the following
      activity (for sysUpTime equal 0 to 9):

         - fooEntry.N.1 is created at time '0' and most recently
           updated at time '6' to the value '5'.
         - fooEntry.N.2 is created at time '0' and most recently
           updated at time '8' to the value '9'.
         - fooEntry.N.3 is created at time '3', updated at time '5'
           to the value '17', and deleted at time '7'.

     The following tables show the values that would be returned for
     MIB walk operations with various TimeFilter values, done at
     different times.  An application issues a retrieval request at
     time 'T', with a TimeFilter value, 'N' (typically set to a lower
     value, such as the value of sysUpTime at the last polling cycle).

     The following values would be returned in a MIB walk of
     fooCounts.N if T equals '0' and N equals '0':

           fooCounts.N.I    Value
           ==========================
           fooCounts.0.1    0
           fooCounts.0.2    0

       Note that nothing is returned for fooCounts.0.3, since that
       entry does not exist at sysUpTime equals '0'.

     The following values would be returned in a full (traditional) MIB
     walk of fooCounts.N if T equals '3' and N equals '0':

           fooCounts.N.I    Value
           =======================
           fooCounts.0.1    0
           fooCounts.0.2    0
           fooCounts.0.3    0
           fooCounts.1.3    0
           fooCounts.2.3    0
           fooCounts.3.3    0

       Note that there are no instances for T equals 1 or 2 for the
       first two values of N, as these entries did not change
       since they were created at time '0'.

       Note that the current value for 'fooCounts.N.3' is returned
       here, even for values of N less than '3' (when the entry was
       created).  The agent only considers the current existence of an
       entry in the TimeFilter algorithm, not the time when the entry
       was created.

       Note that the instances 'fooCounts.0.3', 'fooCounts.1.3',
       and 'fooCounts.2.3' are duplicates and can be suppressed by the
       agent in a MIB walk.

     The following values would be returned in a full (traditional)
     MIB walk of fooCounts.N if T equals '6' and N equals '3':

           fooCounts.N.I    Value
           =======================
           fooCounts.3.1    5
           fooCounts.3.3    17
           fooCounts.4.1    5
           fooCounts.4.3    17
           fooCounts.5.1    5
           fooCounts.5.3    17
           fooCounts.6.1    5

        Note that no instances for entry 'fooCounts.N.2' are returned,
        since it has not changed since time '3'.

        Note that all instances except 'fooCounts.5.3' and
        'fooCounts.6.1' are duplicates and can be suppressed by the
        agent in a MIB walk.

     The following values would be returned in a full (traditional)
     MIB walk of fooCounts.N if T equals '9' and N equals '6':

           fooCounts.N.I    Value
           =======================
           fooCounts.6.1    5
           fooCounts.6.2    9
           fooCounts.7.2    9
           fooCounts.8.2    9

        Note that no instances for entry 'fooCounts.N.3' are returned,
        since it was deleted at time '7'.

        Note that instances 'fooCounts.6.2' and 'fooCounts.7.2'
        are duplicates and can be suppressed by the agent in a MIB
        walk."

  SYNTAX    TimeTicks
LldpPowerPortClass ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the Power over Ethernet (PoE) port class."
    SYNTAX  INTEGER {
            pClassPSE(1),
            pClassPD(2)
    }
LldpLinkAggStatusMap ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes the link aggregation status.

            The bit 'aggCapable(0)' indicates the link is capable of being
            aggregated. 

            The bit 'aggEnabled(1)' indicates the link is currently in
            aggregation."
    SYNTAX  BITS {
            aggCapable(0),
            aggEnabled(1)
    }  
ZeroBasedCounter32 ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This TC describes an object that counts events with the
        following semantics: objects of this type will be set to
        zero(0) on creation and will thereafter count appropriate
        events, wrapping back to zero(0) when the value 2^32 is
        reached.

        Provided that an application discovers the new object within
        the minimum time to wrap, it can use the initial value as a
        delta since it last polled the table of which this object is
        part.  It is important for a management station to be aware of
        this minimum time and the actual time between polls, and to
        discard data if the actual time is too long or there is no
        defined minimum time.

        Typically, this TC is used in tables where the INDEX space is
        constantly changing and/or the TimeFilter mechanism is in use."
    SYNTAX Gauge32
	
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))	

InetAddressPrefixLength ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
        "Denotes the length of a generic Internet network address
         prefix.  A value of n corresponds to an IP address mask
         that has n contiguous 1-bits from the most significant
         bit (MSB), with all other bits set to 0.

         An InetAddressPrefixLength value is always interpreted within
         the context of an InetAddressType value.  Every usage of the
         InetAddressPrefixLength textual convention is required to
         specify the InetAddressType object that provides the
         context.  It is suggested that the InetAddressType object be
         logically registered before the object(s) that use the
         InetAddressPrefixLength textual convention, if they appear
         in the same logical row.

         InetAddressPrefixLength values larger than
         the maximum length of an IP address for a specific
         InetAddressType are treated as the maximum significant
         value applicable for the InetAddressType.  The maximum
         significant value is 32 for the InetAddressType
         'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
         'ipv6(2)' and 'ipv6z(4)'.  The maximum significant value
         for the InetAddressType 'dns(16)' is 0.

         The value zero is object-specific and must be defined as
         part of the description of any object that uses this
         syntax.  Examples of the usage of zero might include
         situations where the Internet network address prefix
         is unknown or does not apply.

         The upper bound of the prefix length has been chosen to
         be consistent with the maximum size of an InetAddress."
    			SYNTAX       Unsigned32 (0..2040)

    DStormCtlTrafficType ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
            "The type of storm control traffic type.
                broadcast(1) - broadcast storm.
            multicast(2) - including unknown L2 multicast, known L2 
                           multicast, unknown IP multicast and known 
                           IP multicast.
            unicast(3) - when the action is configured as 'shutdown mode', 
                         unicast refers to both known and unknown 
                         unicast packet; Otherwise, unicast refers to 
                         unknown unicast packet. "
        SYNTAX  INTEGER  {
            broadcast(1),
            multicast(2),
            unicast(3)
        }   
        
    DStormCtlThrType ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
            "The type of storm control threshold is configured on an interface.
            pps(1) - the threshold is configured as packet count per second. 
            kbps(2) - the threshold is configured as a rate of bits per second. 
            percentage(3) - the threshold is configured as a percentage of total 
                      bandwidth per port. 
            "
        SYNTAX  INTEGER  {
            pps(1),
            kbps(2),
            percentage(3)
        }      
     
    DStormCtlThrTypeValue ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
        "Denotes a generic threshold value.

         A DStormCtlThrTypeValue value is always interpreted within the context
         of a DStormCtlThrType value.  Every usage of the DStormCtlThrTypeValue
         textual convention is required to specify the DStormCtlThrType
         object that provides the context.  
         The unit and valid range are as follows:
         Threshold Type     Unit                      Valid Range
         =============      =====================     =================
         pps                packet per second         1 ~ 2147483647
         kbps               bits per second           1 ~ 2147483647
         percentage         percentage                1 ~ 100    
         
         The special value of -1 indicates this object is undefined.
         "
         SYNTAX       Integer32

VlanIdOrNone ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
        "The VLAN-ID that uniquely identifies a specific VLAN,
        or no VLAN.  The special value of zero is used to
        indicate that no VLAN-ID is present or used.  This can
        be used in any situation where an object or a table entry
        must refer either to a specific VLAN, or to no VLAN.

        Note that a MIB object that is defined using this
        TEXTUAL-CONVENTION should clarify the meaning of
        'no VLAN' (i.e., the special value 0)."
    SYNTAX       Integer32 (0 | 1..4094)

--InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
--    DISPLAY-HINT "d"
--    STATUS       current
--    DESCRIPTION
--            "This textual convention is an extension of the
--            InterfaceIndex convention.  The latter defines a greater
--            than zero value used to identify an interface or interface
--            sub-layer 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)	

-- ----------------------------------------------------------------- -- 
-- groups in the MIB  
-- ----------------------------------------------------------------- -- 

	dlinkDeviceInfo				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 1 }
	deviceInfoGroup				OBJECT IDENTIFIER ::= { dlinkDeviceInfo 1 }
	dlinkSystem				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 2 }
	sysInformationGroup				OBJECT IDENTIFIER ::= { dlinkSystem 1 }
	syslogGroup				OBJECT IDENTIFIER ::= { dlinkSystem 4 }
	sysPortConfigGroup				OBJECT IDENTIFIER ::= { dlinkSystem 13 }
	sysSNTPSettingGroup				OBJECT IDENTIFIER ::= { dlinkSystem 17 }
	sysTimeRangeGroup				OBJECT IDENTIFIER ::= { dlinkSystem 38 }
	dlinkManagement				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 3 }
	mgtUserAccountGroup				OBJECT IDENTIFIER ::= { dlinkManagement 1 }
	mgtPasswordEncryptionGroup				OBJECT IDENTIFIER ::= { dlinkManagement 2 }
	mgtSnmpGroup				OBJECT IDENTIFIER ::= { dlinkManagement 3 }
	mgtRMONGroup				OBJECT IDENTIFIER ::= { dlinkManagement 4 }
	mgtTelnetWebGroup				OBJECT IDENTIFIER ::= { dlinkManagement 5 }
	mgtSessionTimeoutGroup				OBJECT IDENTIFIER ::= { dlinkManagement 6 }
	mgtDDPGroup				OBJECT IDENTIFIER ::= { dlinkManagement 14 }
	dlinkL2Features				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 4 }
	l2FDBGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 1 }
	l2Dot1qVlanGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 2 }
	l2STPGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 3 }
	l2LBDGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 4 }
	l2LAGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 5 }
	l2MulticastCtrlGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 6 }
	l2LLDPGroup				OBJECT IDENTIFIER ::= { dlinkL2Features 7 }
	dlinkL3Features				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 5 }
	l3ARPGroup				OBJECT IDENTIFIER ::= { dlinkL3Features 1 }
	l3IpMgmtGroup				OBJECT IDENTIFIER ::= { dlinkL3Features 3 }
	dlinkQoS				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 6 }
	qosBasicSettingsGroup				OBJECT IDENTIFIER ::= { dlinkQoS 1 }
	dlinkACL				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 7 }
	aclGroup				OBJECT IDENTIFIER ::= { dlinkACL 1 }
	dlinkSecurity				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 8 }
	securityportSecurityGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 1 }
	securityDhcpSerScrGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 7 }
	securitySafeGuardGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 13 }
	securityTrustedHostGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 14 }
	securityTrafficSegmentationGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 15 }
	securityStormCtrlGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 16 }
	securityDoSprevGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 17 }
	securitySSLGroup				OBJECT IDENTIFIER ::= { dlinkSecurity 19 }
	dlinkOAM				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 9 }
	oamCableDiagGroup				OBJECT IDENTIFIER ::= { dlinkOAM 1 }
	dlinkMonitoring				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 10 }
	monStatisticsGroup				OBJECT IDENTIFIER ::= { dlinkMonitoring 2 }
	monMirrorGroup				OBJECT IDENTIFIER ::= { dlinkMonitoring 3 }
	dlinkGreen				OBJECT IDENTIFIER ::= { dxs-1210-10ts-AX 11 }
	dlinkPowersavingGroup				OBJECT IDENTIFIER ::= { dlinkGreen 1 }
	dlinkEEEGroup				OBJECT IDENTIFIER ::= { dlinkGreen 2 }
      
-- ---------------------------------------------------------------- --


    -- ------------------------------------------------------------------
    -- device info
    -- ------------------------------------------------------------------

    systemName OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..64))
       MAX-ACCESS  read-write

       STATUS      current
       DESCRIPTION
          "System name used for identification of the device.
          The following characters are allowed to input.
          0 ~ 9 / a ~ z / A ~ Z
          Special character: (  )   V  +  _  =  ."
       ::= { sysInformationGroup 1 }

    systemLocation OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The location name of this node (e.g., `telephone closet,
                 3rd floor').  If the location is unknown, the value is
                 the zero-length string."
       ::= { sysInformationGroup 2 }
	   
	systemContact OBJECT-TYPE
		SYNTAX      DisplayString (SIZE (0..255))
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
				"The textual identification of the contact person for
				this managed node, together with information on how
				to contact this person.  If no contact information is
				known, the value is the zero-length string."
		::= { sysInformationGroup 3 }
    -- ------------------------------------------------------------------
    -- Port Configuration group
    -- ------------------------------------------------------------------

-- Port Settings
    portCtrlTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PortCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table to control the port specific parameters of the device like speed,
            duplex mode, etc."
        ::= { sysPortConfigGroup 1 }

    portCtrlEntry OBJECT-TYPE
       SYNTAX      PortCtrlEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry appears in this table for each interface in the system.
           Index to the table is the interface index of the port."

       INDEX { portSetIndex , portSetMediaType }
       ::= { portCtrlTable 1 }

    PortCtrlEntry ::=
       SEQUENCE {
            portSetIndex
                Integer32,
            portSetMediaType
                INTEGER,
            portSetState
                INTEGER,
            portSetAutoDowngrade
                INTEGER,
            portSetFlowControl
                INTEGER,
            portSetDuplex
                INTEGER,
            portSetSpeed
                INTEGER,
            portSetCapaAdvertised
                INTEGER,
            portSetDescription
                DisplayString,
            portSetLinkStatus
                INTEGER
      }

    portSetIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Interface index of the port for the configuration
          in this entry applies."

       ::= { portCtrlEntry 1 }

    portSetMediaType OBJECT-TYPE
    SYNTAX      INTEGER {
					copper(1),
					fiber(2)
    }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Media Type."

   ::= { portCtrlEntry 2 }

    portSetState OBJECT-TYPE
       SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enables / disables Port state."

       ::= { portCtrlEntry 3 }

    portSetAutoDowngrade OBJECT-TYPE
       SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enables / disables auto downgrade for the interface."

       ::= { portCtrlEntry 4 }

    portSetFlowControl OBJECT-TYPE
       SYNTAX      INTEGER {
                     on(1),
                     off(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "On / off flow control for the interface."

        ::= { portCtrlEntry 5 }

    portSetDuplex OBJECT-TYPE
       SYNTAX      INTEGER {
                     auto(1),
                     full(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures port settings auto/half/full mode."

        ::= { portCtrlEntry 6 }

    portSetSpeed OBJECT-TYPE
       SYNTAX      INTEGER {
                     auto(1),
                     rate100M(2),
                     rate1000M(3),
                     rate1000M-Master(4),
                     rate1000M-Slave(5),
                     rate10G(6)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures port settings speed."

    ::= { portCtrlEntry 7 }

    portSetCapaAdvertised OBJECT-TYPE
       SYNTAX      INTEGER {
 --                 none (0),
                    adv100M (1),
                    adv1G (2),
                    adv100M_1G (3),      
                    adv10G(4),
                    adv100M_10G (5),
                    adv1G_10G (6),   	
                    adv100M_1G_10G (7)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures port settings interface capability advertised 100M/1000M/10G ."

        ::= { portCtrlEntry 8 }

    portSetDescription OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Configures port settings Description."
       ::= { portCtrlEntry 9 }

    portSetLinkStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                     up(1),
                     down(2)
                  }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Show port settings LinkStatus up /down."
        ::= { portCtrlEntry 10 }

-- Port Status
    portStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PortStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table to control the port specific parameters of the device like speed,
            duplex mode, etc."
        ::= { sysPortConfigGroup 2 }

    portStatusEntry OBJECT-TYPE
        SYNTAX      PortStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "An entry appears in this table for each interface in the system.

           Index to the table is the interface index of the port."

        INDEX { portStaIndex , portStaMediaType }
        ::= { portStatusTable 1 }

    PortStatusEntry ::=
       SEQUENCE {
            portStaIndex
                Integer32,
            portStaMediaType
                INTEGER,
            portStaStatus
                INTEGER ,
            portStaMacAddr
                MacAddress,
            portStaVlan
                INTEGER,
            portStaFlowCtrlOpSend
                INTEGER ,
            portStaFlowCtrlOpRece
                INTEGER ,
            portStaDuplex
                INTEGER ,
            portStaSpeed
--                INTEGER ,
--            portStaType
                INTEGER
      }

    portStaIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Interface index of the port for the configuration
          in this entry applies."

        ::= { portStatusEntry 1 }

    portStaMediaType OBJECT-TYPE
    SYNTAX      INTEGER {
      copper(1),
      fiber(2)
    }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Media Type."
    
       ::= { portStatusEntry 2 }

    portStaStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                     connected(1),
                     notconnected(2)
                  }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Show port status Link Status up /down."

        ::= { portStatusEntry 3 }

    portStaMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Show port status MAC Address."

        ::= { portStatusEntry 4 }

    portStaVlan OBJECT-TYPE
		SYNTAX      INTEGER 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
				"The VLAN-ID assigned to untagged frames received on this port. 
				 The port in native VLAN will also been set as untagged as default setting."

        ::= { portStatusEntry 5 }

    portStaFlowCtrlOpSend OBJECT-TYPE
        SYNTAX      INTEGER {
                     on(1),
                     off(2)
                  }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "On / off flow control Operator Send for the interface."

        ::= { portStatusEntry 6 }

    portStaFlowCtrlOpRece OBJECT-TYPE
        SYNTAX      INTEGER {
                     on(1),
                     off(2)
                  }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "On / off flow control Operator Receive for the interface."

        ::= { portStatusEntry 7 }

    portStaDuplex OBJECT-TYPE
        SYNTAX      INTEGER {
                     auto(1),
                     full(2),
                     auto-full(3),
                     auto-falf(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Show port Status Duplex auto/full mode."

        ::= { portStatusEntry 8 }

    portStaSpeed OBJECT-TYPE
        SYNTAX      INTEGER {
                     auto(1),
                     rate100M(2),
                     rate1000M(3),
                     rate1000M-Master(4),
                     rate1000M-Slave(5),
                     rate10G(6),
                     auto-rate100M(7),
                     auto-rate1000M(8),
                     auto-rate10G(9)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Show port Status speed."

        ::= { portStatusEntry 9 }

--    portStaType OBJECT-TYPE
--        SYNTAX      INTEGER {
--                     rate10GBase-T(1),
--                     rate10GBase-R(2)
--                    }
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--            "Show port Status Type."
--        ::= { portStatusEntry 10 }

    -- ------------------------------------------------------------------
    -- Error Disable Group
    -- ------------------------------------------------------------------

	errDisAssertTrapState OBJECT-TYPE
        SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                    }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
            "This object control whether sending trap or not when port entering into Err Disable state."
        ::= { sysPortConfigGroup 3 }

    errDisClearTrapState OBJECT-TYPE
        SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                    }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
            "This object control whether sending trap or not when port exiting from Err Disable state."
        ::= { sysPortConfigGroup 4 }

    errDisNotificationRate OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
            "Expressed in the number of notifications can be generated 
            per minute.
            This object configures the rate-limit of  SNMP Notification for
            errDisable feature. 
            A value of 0 indicates that an SNMP Notification is generated
            for every error disabled event."
        ::= { sysPortConfigGroup 5 }

    --------------------------Error Disable Interface Table----------------
    
    errDisIfStatusTable OBJECT-TYPE
	   SYNTAX       SEQUENCE OF ErrDisIfStatusEntry
	   MAX-ACCESS   not-accessible
	   STATUS       current
	   DESCRIPTION
	   	   "The Port Error Disable table."
       ::= { sysPortConfigGroup 6 }

	errDisIfStatusEntry OBJECT-TYPE
	   SYNTAX       ErrDisIfStatusEntry
	   MAX-ACCESS   not-accessible
	   STATUS       current
	   DESCRIPTION
	        "A list of information for the err port of the device."
	   INDEX { errDisIfStatusPortIndex, errDisIfStatusVlanIndex }
	    ::= { errDisIfStatusTable 1 }

	ErrDisIfStatusEntry ::= 
	   SEQUENCE {
	      errDisIfStatusPortIndex
	         INTEGER,
	      errDisIfStatusVlanIndex
	         INTEGER,
	      errDisPortState
	         INTEGER,
	      errDisPortConnectStatus
	         INTEGER,
	      errDisPortReason
	         INTEGER,
	      errDisPortRecoveryTimeLeft
	         INTEGER
	}

	errDisIfStatusPortIndex OBJECT-TYPE
	   SYNTAX       INTEGER
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object is the interface index of the interface 
	         disabled by a feature."
	   ::= { errDisIfStatusEntry 1 }

	errDisIfStatusVlanIndex OBJECT-TYPE
	   SYNTAX       INTEGER
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object indicates the VLAN in the given interface
            that has been error-disabled."
	   ::= { errDisIfStatusEntry 2 }
   
	errDisPortState OBJECT-TYPE
	   SYNTAX       INTEGER {
				      enabled(1),
					  disabled(2)
				    }
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object decides whether the port state is enabled or disabled."
	   ::= { errDisIfStatusEntry 3 }
	
	errDisPortConnectStatus OBJECT-TYPE
	   SYNTAX       INTEGER {
				      other(1),
				      err-disabled(2)
				    }
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object decides whether the PortStatus is err-disabled."
	   ::= { errDisIfStatusEntry 4 }
	
	errDisPortReason OBJECT-TYPE
	   SYNTAX       INTEGER {
        					portsecurity(1),
        					stormControl(2),
        					arpRateLimit(3),
        					bpduRateLimit(4),
        					dhcpRateLimit(5),
					        loopbackDetect(6)
					    }
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object indicats the reason for Port Error Disable event occur."
	   ::= { errDisIfStatusEntry 5 }

	errDisPortRecoveryTimeLeft OBJECT-TYPE
	   SYNTAX       INTEGER
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
	        "This object indicats the remaining time for Port Error Disable state recovery."
	   ::= { errDisIfStatusEntry 6 }

	----------------------Error Disable Recovery -----------------------------

	errDisRecoveryTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ErrDisRecoveryEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION            
            "This table contains the recovery mechanism for the features with 
            error-disable functionality."
        ::= { sysPortConfigGroup 7 }

    errDisRecoveryEntry OBJECT-TYPE
        SYNTAX          ErrDisRecoveryEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION            
            "An entry is created for each feature which has error-disable 
             functionality."
        INDEX    { errDisRecoveryReason }
        ::= { errDisRecoveryTable 1 }

    ErrDisRecoveryEntry ::= SEQUENCE {
        errDisRecoveryReason      INTEGER,
        errDisRecoveryStatus      INTEGER,
        errDisRecoveryInterval    INTEGER
    }

    errDisRecoveryReason OBJECT-TYPE
        SYNTAX          INTEGER {
        					portsecurity(1),
        					stormControl(2),
        					arpRateLimit(3),
        					bpduRateLimit(4),
        					dhcpRateLimit(5),
					        loopbackDetect(6)
					    }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the cause of error-disable."
        ::= { errDisRecoveryEntry 1 }

    errDisRecoveryStatus OBJECT-TYPE
        SYNTAX          INTEGER {
					      enabled(1),
						  disabled(2)
					    }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION           
            "This object specifies whether the system can
            automatically recover a system entity that has been
            disabled by the cause."
        ::= { errDisRecoveryEntry 2 }

    errDisRecoveryInterval OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Specifies the error-recovery time interval on specific cause 
            to recover the port/interface from the error disabled situation."
        ::= { errDisRecoveryEntry 3 }

    ----------------------Error Disable Trap -----------------------------

    errDisTraps            OBJECT IDENTIFIER ::= { sysPortConfigGroup 8 }
	errDisTrapsList	 	 OBJECT IDENTIFIER ::= { errDisTraps 0 }
    errDisNotifyPortDisabledAssert NOTIFICATION-TYPE
     	 STATUS             current
      	 DESCRIPTION
       	 	"The trap is sent when a port enters into error disabled state."
 		 ::= {errDisTrapsList 1 }
	
	errDisNotifyPortDisabledClear NOTIFICATION-TYPE
      	 STATUS             current
      	 DESCRIPTION
	       	 "The trap is sent when a port recovery from error disabled state."
 		 ::= {errDisTrapsList 2 }

 	errDisNotifyVlanDisabledAssert NOTIFICATION-TYPE
      	 STATUS             current
      	 DESCRIPTION
	       	 "The trap is sent when a Port with a VID loop occurs."
 		 ::= {errDisTrapsList 3 }

 	errDisNotifyVlanDisabledClear NOTIFICATION-TYPE
      	 STATUS             current
      	 DESCRIPTION
	       	 "The trap is sent when a Port with a VID restarts after the interval time."
 		 ::= {errDisTrapsList 4 }

-- Jumbo Frame
    jumboFrameTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JumboFrameEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table to control the port specific parameters of the device like speed,
            duplex mode, etc."
        ::= { sysPortConfigGroup 14 }

    jumboFrameEntry OBJECT-TYPE
        SYNTAX      JumboFrameEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "An entry appears in this table for each interface in the system.
           Index to the table is the interface index of the port."

        INDEX { portIndex }
        ::= { jumboFrameTable 1 }

    JumboFrameEntry ::=
       SEQUENCE {
            portIndex
                Integer32,
            maxReceFrameSize
                Integer32
       }

    portIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Interface index of the port for the configuration
          in this entry applies."

        ::= { jumboFrameEntry 1 }

    maxReceFrameSize OBJECT-TYPE
        SYNTAX      Integer32 (1518..9216)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Interface index of the port for the configuration
          in this entry applies."

        ::= { jumboFrameEntry 2 }

-- ---------------------------------------------------------------------------



  		-- ----------------------------------------------------------
		-- The 802.1Q VLAN Groups
		-- ----------------------------------------------------------      		

        dot1qVlanAsyOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable IEEE 802.1Q Asymmetric VLAN"
            ::= { l2Dot1qVlanGroup  1 }
            
        -- -------------------------------------------------------------
        -- The VLAN Database
        -- -------------------------------------------------------------
        
        dot1qVlanTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF Dot1qVlanEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing static configuration information for
                each VLAN configured into the device by (local or
                network) management.  All entries are permanent and will
                be restored after the device is reset."
            ::= { l2Dot1qVlanGroup 2 }
        
        dot1qVlanEntry OBJECT-TYPE
            SYNTAX      Dot1qVlanEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information for a VLAN configured into the
                device by (local or network) management."
            INDEX   { dot1qVlanid }
            ::= { dot1qVlanTable 1 }
        
        Dot1qVlanEntry ::=
            SEQUENCE {
				dot1qVlanid
				Integer32,
                dot1qVlanName
                    SnmpAdminString,
                dot1qVlanEgressPorts
                    PortList,                   
                dot1qVlanUntaggedPorts
                    PortList,     
                dot1qVlanRowStatus
                    RowStatus
            }

		dot1qVlanid OBJECT-TYPE
            SYNTAX      Integer32(1..4094)
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Vlan id used to identify the VLAN."
            ::= { dot1qVlanEntry 1 }  
        
        dot1qVlanName OBJECT-TYPE
            SYNTAX      SnmpAdminString (SIZE (0..20))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "An administratively assigned string, which may be used
                to identify the VLAN."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.10.2.1"
            ::= { dot1qVlanEntry 2 }
        
        dot1qVlanEgressPorts OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The set of ports which are permanently assigned to the
                egress list for this VLAN by management.  Changes to a
                bit in this object affect the per-port per-VLAN
                Registrar control for Registration Fixed for the
                relevant GVRP state machine on each port.  A port may
                not be added in this set if it is already a member of
                the set of ports in dot1qVlanForbiddenEgressPorts.  The
                default value of this object is a string of zeros of
                appropriate length, indicating not fixed."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
            ::= { dot1qVlanEntry 3 } 
                   

        dot1qVlanUntaggedPorts OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The set of ports which should transmit egress packets
                for this VLAN as untagged.  The default value of this
                object for the default VLAN (dot1qVlanIndex = 1) is a string
                of appropriate length including all ports.  There is no
                specified default for other VLANs.  If a device agent cannot
                support the set of ports being set then it will reject the
                set operation with an error. An example might be if a
                manager attempts to set more than one VLAN to be untagged
                on egress where the device does not support this IEEE 802.1Q
                option."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.10.2.1"
            ::= { dot1qVlanEntry 4 }
    
        dot1qVlanRowStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The status of a row in sysDot1qVlanTable. By setting this object, new
                entries can be created in sysDot1qVlanTable and existing entries can be
                removed from sysDot1qVlanTable. It can be used as specified in the SNMP
                v2 standard."
            ::= { dot1qVlanEntry 99 }    

        -- -------------------------------------------------------------
        -- The VLAN Port Configuration Table
        -- -------------------------------------------------------------
        
        dot1qVlanPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF Dot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing per port control and status
                information for VLAN configuration in the device."
            ::= { l2Dot1qVlanGroup 3 }
        
        dot1qVlanPortEntry OBJECT-TYPE
            SYNTAX      Dot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information controlling VLAN configuration for a port
                on the device."
			INDEX { dot1qVlanPortIndex } 
            ::= { dot1qVlanPortTable 1 }
        
        Dot1qVlanPortEntry ::=
            SEQUENCE {
                dot1qVlanPortIndex
                    Integer32,
                dot1qVlanPortVlanMode
                    INTEGER,
                dot1qVlanPortAcceptableFrameType
                    INTEGER,
                dot1qVlanPortIngressChecking
                    INTEGER,
				dot1qVlanPortNativeVlanStatus
					INTEGER,
				dot1qVlanPortNativeVlanId
					INTEGER,
				dot1qVlanPortTagVlanList
					VlanList,
				dot1qVlanPortUntagVlanList
					VlanList
            }
			
		dot1qVlanPortIndex OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Port index."
            ::= { dot1qVlanPortEntry 1 }    
        
		dot1qVlanPortVlanMode OBJECT-TYPE
	       SYNTAX      INTEGER {
    					  access (1),
    					  trunk (2),
    					  hybrid (3)
    				   }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "This is used to specify the VLAN mode for the port.
                Use the no command to reset the VLAN mode to the 
                default setting."
            ::= { dot1qVlanPortEntry 2 }    
    
		dot1qVlanPortAcceptableFrameType OBJECT-TYPE
	       SYNTAX      INTEGER {
    					  admitAll (1),
    					  admitTagged (2),
    					  admitUntagged (3)
    				   }
            MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
                "This is used to set the acceptable types of frames by 
                a port. Use the no form of the command to reset to the 
                default setting."
            ::= { dot1qVlanPortEntry 3 }
 
		dot1qVlanPortIngressChecking OBJECT-TYPE
	       SYNTAX      INTEGER {
    					  true (1),
    					  false (2)
    				   }
            MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
                "This is used to enable ingress checking for frames received 
                by a port. Use the no command to disable the ingress check."
            ::= { dot1qVlanPortEntry 4 } 
 
	    dot1qVlanPortNativeVlanStatus OBJECT-TYPE 
			SYNTAX      INTEGER {
                  					disable (0), 
                  					tag (1), 
                  					untag (2)
               					}
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
                     "This object indicates whether enable tagging or untagging mode
                      of the native VLAN on the interface.
                      This value is meaningful only to TRUNK port.Access port and hybrid
                      port MUST keep disabled."
			::= { dot1qVlanPortEntry 5 }

	    dot1qVlanPortNativeVlanId OBJECT-TYPE 
			SYNTAX      INTEGER 
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"The VLAN-ID assigned to untagged frames received on this port. 
					 The port in native VLAN will also been set as untagged as default setting."
			::= { dot1qVlanPortEntry 6 }

	    dot1qVlanPortTagVlanList OBJECT-TYPE 
			SYNTAX      VlanList 
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"The tagged VLAN list which the port belongs to."
			::= { dot1qVlanPortEntry 7 }

	    dot1qVlanPortUntagVlanList OBJECT-TYPE 
			SYNTAX      VlanList 
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"The untagged VLAN list which the port belongs to."
			::= { dot1qVlanPortEntry 8 }
	-- ----------------------------------------------------------------
	-- The STP group
	-- ----------------------------------------------------------------
	stpProtocolSetting  	OBJECT IDENTIFIER ::= { l2STPGroup 1 }
	
	stpStatus OBJECT-TYPE
	   SYNTAX   INTEGER {
					enabled(1),
					disabled(2)
				}
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		  "The administrative module status requested by management for the STP
		  Module. This enables or disables STP in the system. A value of 'enabled'
		  (1) indicates that STP must be enabled in the device on all the ports.
		  A value of 'disabled'(2) indicates that STP must be disabled in the
		  device on all the ports."
	   ::= {stpProtocolSetting 1 }

    stpNewRootTrapState OBJECT-TYPE 
         SYNTAX      INTEGER {
                        enabled(1),
                        disabled(2)
                     }
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
             "This object is for enabling or disabling STP new root Trap."
      
         ::= { stpProtocolSetting 2 }

    stpTopologyChangeTrapState OBJECT-TYPE 
         SYNTAX      INTEGER {
                        enabled(1),
                        disabled(2)
                     }
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
             "This object is for enabling or disabling STP topology change Trap."
      
         ::= { stpProtocolSetting 3 }

	stpVersion OBJECT-TYPE
	   SYNTAX      INTEGER {
					  stpCompatible(0),
					  rstp(2),
					  mstp(3)
				   }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		   "The version of Spanning Tree Protocol the bridge is
			currently running.  The value 'stpCompatible(0)'
			indicates the Spanning Tree Protocol specified in
			IEEE 802.1D and 'rstp(2)' indicates the Rapid Spanning
			Tree Protocol specified in IEEE 802.1w and 'mstp(3)'
			indicates the Multiple Spanning Tree Protocol Specified
			in IEEE 802.1s."
	   REFERENCE
		   "IEEE 802.1D-2004"
	   DEFVAL      { rstp }
	   ::= { stpProtocolSetting 4 }
	   
	stpBridgePriority OBJECT-TYPE
	   SYNTAX      Integer32 (0..61440) 
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		  "The Value of the writable portion of the Bridge
		   Identifier comprising of the first two octets.
		   The values that are set for Bridge Priority must be 
		   in steps of 4096."
	   DEFVAL {32768}
	   ::= { stpProtocolSetting 5 }
  
	stpBridgeMaxAge OBJECT-TYPE
		SYNTAX      Timeout (600..4000)  
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
		   "The value that all bridges use for MaxAge when
			this bridge is acting as the root. The granularity 
			of this timer is specified to be 1 second.
			An agent may return a badValue error if a set is
			attempted to a value which is not a whole number
			of seconds."
		DEFVAL {2000}
		::= { stpProtocolSetting 6 }
		
	stpBridgeHelloTime OBJECT-TYPE
		SYNTAX      Timeout (100..1000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"The amount of time between the transmission of
			Configuration bridge PDUs by this node in units 
			of hundredths of a second."
		::= { stpProtocolSetting 7 }
		
	stpBridgeForwardDelay OBJECT-TYPE
	   SYNTAX      Timeout (400..3000)  
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
			"The value that all bridges use for ForwardDelay
			 when this bridge is acting as the root.  Note that
			 802.1D specifies that the range for this
			 parameter is related to the value of
			 BridgeMaxAge.  The granularity of this
			 timer is specified to be 1 second.
			 An agent may return a badValue error if a set is
			 attempted to a value which is not a whole number
			 of seconds."
	   DEFVAL {1500}
	   ::= { stpProtocolSetting 8 }
	   
	stpMaxHopCount OBJECT-TYPE
	   SYNTAX      Integer32 (600..4000)
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		  "Indicates the Maximum Hop Count value. One-hundredth of the
		  configured value will be set as Max Hop Count.
		  An agent may return a badValue error if a set is attempted
		  to a value which is not a multiples of hundred."
	   DEFVAL { 2000 }
	   ::= { stpProtocolSetting 9 }
	   
	stpTxHoldCount OBJECT-TYPE
		SYNTAX      Integer32 (1..10)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
		   "The value used by the Port Transmit state machine to limit
			the maximum transmission rate."
		DEFVAL  { 3 }
		::= { stpProtocolSetting 10 }


	-- -----------------------------------------------------------------
	-- Mst Multiple Spanning Tree Instance Port Table : CIST
	-- -----------------------------------------------------------------
	stpPortConfigurationTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF StpPortEntry              
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			  "This table contains Common Spanning Tree Port
			   Information."
		 ::= { l2STPGroup 2 }
	
	stpPortConfigurationEntry OBJECT-TYPE
		  SYNTAX      StpPortEntry               
		  MAX-ACCESS  not-accessible
		  STATUS      current
		  DESCRIPTION
			  "A list of information maintained by every port for 
			  Common Spanning tree."
		  INDEX  { stpPort }
		  ::= { stpPortConfigurationTable 1 }
	
	StpPortEntry ::= 
	   SEQUENCE {
			stpPort
				Integer32,
			stpPortAdminPathCost 
				Integer32,				
			stpPortPathCost 
				Integer32,	
			stpPortState
				INTEGER,
			stpPortGuardRoot
				TruthValue,
			stpPortLinkType
				INTEGER,
			stpPortOperLinkType
				INTEGER,			
			stpPortFast
				INTEGER,
			stpPortOperFast
				INTEGER,
			stpPortTCNFilter
				TruthValue,
			stpPortFowardBPDU
				INTEGER,
			stpPortPriority 
				Integer32,
			stpPortHelloTime
				Timeout
	}
	stpPort OBJECT-TYPE
		  SYNTAX      Integer32 (1..65535)
		  MAX-ACCESS  read-only
		  STATUS      current
		  DESCRIPTION
			  "The Port number of the port for which this entry contains
			   spanning tree information."
		  ::= { stpPortConfigurationEntry 1 }

	stpPortAdminPathCost OBJECT-TYPE
		  SYNTAX      Integer32 (0..200000000)
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION
				"The administratively assigned value for the contribution
				of this port to the path cost of paths toward the spanning
				tree root.
				Writing a value of '0' assigns the automatically calculated
				default Path Cost value to the port.  If the default Path
				Cost is being used, this object returns '0' when read."
		  ::= { stpPortConfigurationEntry 2 }
		  
	stpPortPathCost OBJECT-TYPE
		  SYNTAX      Integer32 (1..200000000)
		  MAX-ACCESS  read-only
		  STATUS      current
		  DESCRIPTION
			  "The contribution of this port to the path cost of
			   paths towards the MSTI Root which include this port."
		  ::= { stpPortConfigurationEntry 3 }

	stpPortState OBJECT-TYPE
	  SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}
	  MAX-ACCESS  read-write
	  STATUS      current
	  DESCRIPTION
		  "Current state of the Port which can be changed to either 
		   Disabled or Enabled for ALL spanning tree   
		   instances. Setting this object will override the port's
		   status in any of the MSTI contexts."
	  ::= { stpPortConfigurationEntry 4 }

	stpPortGuardRoot OBJECT-TYPE 
		SYNTAX      TruthValue 
		MAX-ACCESS  read-write 
		STATUS      current 
		DESCRIPTION 
			"A Boolean value set by management. If TRUE causes the Port not 
			 to be selected as Root Port for the CIST or any MSTI, even it has 
			 the best spanning tree priority vector. Such a Port will be selected 
			 as an Alternate Port after the Root Port has been selected. This 
			 parameter should be FALSE by default. If set it can cause lack of 
			 spanning tree connectivity. It is set by a network administrator to 
			 prevent bridges external to a core region of the network influencing 
			 the spanning tree active topology, possibly because those bridges are 
			 not under the full control of the administrator.
			 This administrator configuration is also known as 'Root Guard'."
		::= {stpPortConfigurationEntry 5}

	stpPortLinkType OBJECT-TYPE
	   SYNTAX      INTEGER {               
					 p2p(0),
					 shared(1),
					 auto(2)
				   }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		  "The administrative point-to-point status of the LAN segment
		   attached to this port.  A value of p2p(0) indicates that
		   this port should always be treated as if it is connected to
		   a point-to-point link.  A value of shared(1) indicates
		   that this port should be treated as having a shared media
		   connection.  A value of auto(2) indicates that this port is
		   considered to have a point-to-point link if it is an Aggregator
		   and all of its members are aggregatable, or if the MAC entity
		   is configured for full duplex operation, either through
		   auto-negotiation or by management means."
		::= { stpPortConfigurationEntry 6 }
		

	stpPortOperLinkType OBJECT-TYPE
		SYNTAX      INTEGER {
						 p2p(1),
						 shared(2)
					   }
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
		  "The operational point-to-point status of the LAN segment
		  attached to this port.  It indicates whether a port is
		  considered to have a point-to-point connection or not.
		  The value is determined by management or by auto-detection,
		  as described in the stpPortLinkType object."
		::= { stpPortConfigurationEntry 7 }

	stpPortFast OBJECT-TYPE
		SYNTAX    INTEGER {
					edge(0),
					disabled(1),
					network(2)
				 }
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"The administrative value of the Edge Port parameter.  A
			value of edge(0) indicates that this port should be
			assumed as an edge-port and a value of disabled(1) indicates
			that this port should be assumed as a non-edge-port.auto 
			indicates that detection of a port as Edge Port happens automatically"
		::= { stpPortConfigurationEntry 8 }
		
	stpPortOperFast OBJECT-TYPE
		SYNTAX    INTEGER {               
					edge(1),
					non-edge(2)
				 }
		MAX-ACCESS  read-only            
		STATUS      current
		DESCRIPTION
			"The operational value of the Edge Port parameter.  The
			object is initialized to the value of
			stpPortFast and is set FALSE on reception 
			of a BPDU."
		::= { stpPortConfigurationEntry 9 }

	stpPortTCNFilter OBJECT-TYPE 
		SYNTAX      TruthValue 
		MAX-ACCESS  read-write 
		STATUS      current 
		DESCRIPTION 
			"A Boolean value set by management. If TRUE causes the Port not 
			 to propagate received topology change notifications and topology 
			 changes to other Ports. This parameter should be FALSE by default. 
			 If set it can cause temporary loss of connectivity after changes in 
			 a spanning trees active topology as a result of persistent 
			 incorrectly learnt station location information. It is set by a 
			 network administrator to prevent bridges external to a core region of 
			 the network causing address flushing in that region, possibly because 
			 those bridges are not under the full control of the administrator or 
			 MAC_Operational for the attached LANs transitions frequently." 
		::= {stpPortConfigurationEntry 10}

    stpPortFowardBPDU OBJECT-TYPE
       SYNTAX  INTEGER {
                   enabled(1),
                   disabled(2)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
         "This object is for enabling or disabling forward BPDU."
       REFERENCE
         "IEEE 802.1D-2004"
       ::= { stpPortConfigurationEntry 11 }

	stpPortPriority OBJECT-TYPE
		  SYNTAX      Integer32 (0..240)
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION
			  "The four most significant bits of the Port Identifier 
			  for a given Spanning Tree instance can be modified 
			  independently for each Spanning Tree instance 
			  supported by the Bridge. The values that are set for Port 
			  Priority must be in steps of 16."
		DEFVAL {128}
		  ::= { stpPortConfigurationEntry 12 }

    stpPortHelloTime OBJECT-TYPE
       SYNTAX      Timeout (100..1000)  
       MAX-ACCESS  read-write  
       STATUS      current
       DESCRIPTION
           "The amount of time between the transmission of
           Configuration bridge PDUs by this node in units 
           of hundredths of a second."
       ::= { stpPortConfigurationEntry 13 }

	-- ----------------------------------------------------------------
	-- The MST Configuration Identification
	-- ----------------------------------------------------------------
	mstConfiguration  OBJECT IDENTIFIER ::= { l2STPGroup 3 }
	
	mstiConfigurationName OBJECT-TYPE
	   SYNTAX      DisplayString (SIZE (0..32))
	   MAX-ACCESS  read-write 
	   STATUS      current
	   DESCRIPTION
		  "The Name for the Region's configuration. By Default 
		   Region Name will be equal to the Bridge Mac Address."
	   ::= { mstConfiguration 1 } 
	
	mstiRevisionLevel OBJECT-TYPE
	   SYNTAX      Integer32 (0..65535)
	   MAX-ACCESS  read-write 
	   STATUS      current
	   DESCRIPTION
		  "Version of the MST Region."
	   ::= { mstConfiguration 2 }
	   
    mstMstiConfigDigest OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..32))
       MAX-ACCESS  read-only 
       STATUS      current
       DESCRIPTION
          "The Configuration Digest value for this Region."
       ::= { mstConfiguration 3 }

	-- -----------------------------------------------------------------
	-- Future Mst VlanId to Instance Mapping Table : MSTI             
	-- -----------------------------------------------------------------        
	mstVlanMstiMappingTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF MstVlanMstiMappingEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			  "This table contains one entry for each instance of MSTP. 
			   This table maintains context ID as one more index to 
			   support Multiple Instances." 
		::= { mstConfiguration 4 }
	
	mstVlanMstiMappingEntry OBJECT-TYPE
		 SYNTAX      MstVlanMstiMappingEntry
		 MAX-ACCESS  not-accessible
		 STATUS      current
		 DESCRIPTION
			 "A conceptual row containing the status of the MSTP instance."
			  INDEX  { mstInstanceIndex }
		 ::= { mstVlanMstiMappingTable 1 }
	
	MstVlanMstiMappingEntry ::= 
	   SEQUENCE {
		   mstInstanceIndex  
				Integer32,
		   mstSetVlanList 
				OCTET STRING,
		   mstResetVlanList 
				OCTET STRING,
		   mstInstanceVlanMapped 
				OCTET STRING,
		   mstInstanceVlanMapped2k 
				OCTET STRING,
		   mstInstanceVlanMapped3k 
				OCTET STRING,
		   mstInstanceVlanMapped4k 
				OCTET STRING
	   }
	
	mstInstanceIndex OBJECT-TYPE
		  SYNTAX      Integer32 (1..15)
		  MAX-ACCESS  read-only
		  STATUS      current
		  DESCRIPTION
			  "An arbitrary integer within the range from 1 to the value of
			   Max Instance Number that uniquely identifies an instance."
		  ::= { mstVlanMstiMappingEntry 1 }
	
	mstSetVlanList OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..512))
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		 "A string of octets containing one bit per VLAN. The
		  first octet corresponds to VLANs with VlanIndex values
		  1 through 8; the second octet to VLANs 9 through
		  16 etc.  The most significant bit of each octet
		  corresponds to the lowest VlanIndex value in that octet.
		  The set of vlans configured by management to map for this 
		  Instance.  If the VlanId to Instance Mapping has to be known
		  then any one of the VlanMapped object should be used.If a 
		  vlan is already mapped to this Instance, it may not be mapped 
		  again. This object is used only for SET operation.
		  GET Operation returns null values."
		::= { mstVlanMstiMappingEntry 2 }
	
	mstResetVlanList OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..512))
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		 "A string of octets containing one bit per VLAN. The
		  first octet corresponds to VLANs with VlanIndex values
		  1 through 8; the second octet to VLANs 9 through
		  16 etc.  The most significant bit of each octet
		  corresponds to the lowest VlanIndex value in that octet.
		  The set of vlans configured by management to unmap from this 
		  Instance. A vlan may not be unmapped from this instance if 
		  it is not already mapped to this Instance. This object is
		  used only for SET operation.GET Operation returns null values."
		::= { mstVlanMstiMappingEntry 3 }
	
	mstInstanceVlanMapped OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..128))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"A string of octets containing one bit per VLAN. The
				first octet corresponds to VLANs with VlanIndex values
				1 through 8; the second octet to VLANs 9 through
				16 etc.  The most significant bit of each octet
				corresponds to the lowest VlanIndex value in that octet.
	
				For each VLAN that is mapped to this MSTP instance,
				the bit corresponding to that VLAN is set to '1'."
		::= { mstVlanMstiMappingEntry 4 }
	
	mstInstanceVlanMapped2k OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..128))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"A string of octets containing one bit per VLAN for
				VLANS with VlanIndex values 1024 through 2047. The
				first octet corresponds to VLANs with VlanIndex values
				1024 through 1031; the second octet to VLANs 1032
				through 1039 etc.  The most significant bit of each
				octet corresponds to the lowest VlanIndex value in that
				octet.
	
				For each VLAN that is mapped to this MSTP instance,
				the bit corresponding to that VLAN is set to '1'.
				
				This object is only instantiated on devices with 
				support for VlanIndex values up to 4095."
		::= { mstVlanMstiMappingEntry 5 }
	
	mstInstanceVlanMapped3k OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..128))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"A string of octets containing one bit per VLAN for
				VLANS with VlanIndex values 2048 through 3071. The
				first octet corresponds to VLANs with VlanIndex values
				of 2048 through 2055; the second octet to VLANs 2056
				through 2063 etc.  The most significant bit of each
				octet corresponds to the lowest VlanIndex value in that
				octet.
	
				For each VLAN that is mapped to this MSTP instance,
				the bit corresponding to that VLAN is set to '1'.
	
				This object is only instantiated on devices with 
				support for VlanIndex values up to 4095."
		::= { mstVlanMstiMappingEntry 6 }
	
	mstInstanceVlanMapped4k OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..128))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"A string of octets containing one bit per VLAN for
				VLANS with VlanIndex values 3072 through 4095. The
				first octet corresponds to VLANs with VlanIndex values
				3072 through 3079; the second octet to VLANs 3080
				through 3087 etc.  The most significant bit of each
				octet corresponds to the lowest VlanIndex value in that
				octet.
	
				For each VLAN that is mapped to this MSTP instance,
				the bit corresponding to that VLAN is set to '1'.
	
				This object is only instantiated on devices with 
				support for VlanIndex values up to 4095."
		::= { mstVlanMstiMappingEntry 7 }
	   
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table
        -- -----------------------------------------------------------------
        stpInstance  OBJECT IDENTIFIER ::= { l2STPGroup 4 }
        
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table : CIST
        -- -----------------------------------------------------------------
        mstCistBridgePriority OBJECT-TYPE
           SYNTAX      Integer32 (0..61440) 
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "The writable portion of the MSTI Bridge Identifier.
               comprising of the first two octets.
               The values that are set for Bridge Priority must be 
               in steps of 4096."
           DEFVAL {32768}
           ::= { stpInstance 1 }
           
        mstCistStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The administrative status requested by management for the MST  
              feature. The value enabled(1) indicates that Mst should be enabled  
              in the device on all ports. The value disabled(2) indicates that 
              Mst should be disabled in the device on all ports. The object can 
              be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
           ::= { stpInstance 2 }
           
        mstCistPortDesignatedRoot OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge recorded as the  
                   CIST Root in the configuration BPDUs transmitted."      
              ::= { stpInstance 3 }
        
        mstCistRegionalRoot OBJECT-TYPE
           SYNTAX      BridgeId  
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
                "The bridge identifier of the Root of the Multiple
                 spanning tree region as determined by the Spanning Tree
                 Protocol as executed by this node.  This value is used as
                 the CIST Regional Root Identifier parameter in all Configuration
                 Bridge PDUs originated by this node."
           ::= { stpInstance 4 } 

        mstCistPortDesignatedBridge OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge which this port  
                   considers to be the Designated Bridge for the port's segment."   
              ::= { stpInstance 5 }

        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table : MSTI
        -- -----------------------------------------------------------------

        mstMstiBridgeTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF MstMstiBridgeEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION
              "Table containing Bridge Information specific to Spanning 
               Tree Instance. This table maintains context ID as one 
               more index to support Multiple Instances."
           ::= { stpInstance 6 }

        mstMstiBridgeEntry OBJECT-TYPE
           SYNTAX      MstMstiBridgeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "Entry indicating the Bridge Information."
           INDEX { mstMstiInstanceIndex }
           ::= { mstMstiBridgeTable 1 }

        MstMstiBridgeEntry ::= SEQUENCE {
              mstMstiInstanceIndex 
                    Integer32,
              mstMstiBridgePriority
                    Integer32,
              mstMstiStatus
                    INTEGER,
                mstMstiPortDesignatedRoot 
                    BridgeId,
                mstMstiBridgeRegionalRoot 
                   BridgeId,
                mstMstiPortDesignatedBridge 
                    BridgeId,
				mstMstiTopChanges
					Counter32
           }

        mstMstiInstanceIndex OBJECT-TYPE
           SYNTAX      Integer32 (1..15)
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "Spanning Tree Instance to which the information belongs."
           ::= { mstMstiBridgeEntry 1 }
        
        mstMstiBridgePriority OBJECT-TYPE
           SYNTAX      Integer32 (0..61440) 
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "The writable portion of the MSTI Bridge Identifier.
               comprising of the first two octets.
               The values that are set for Bridge Priority must be 
               in steps of 4096."
           DEFVAL {32768}
           ::= { mstMstiBridgeEntry 2 }
       
        mstMstiStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The administrative status requested by management for the MST  
              feature. The value enabled(1) indicates that Mst should be enabled  
              in the device on all ports. The value disabled(2) indicates that 
              Mst should be disabled in the device on all ports. The object can 
              be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
           ::= { mstMstiBridgeEntry 3 }

        mstMstiPortDesignatedRoot OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge recorded as the  
                   MSTI Regional Root in the configuration BPDUs transmitted."      
              ::= { mstMstiBridgeEntry 4 }

        mstMstiBridgeRegionalRoot OBJECT-TYPE
           SYNTAX      BridgeId  
           MAX-ACCESS  read-only      
           STATUS      current 
           DESCRIPTION 
              "MSTI Regional Root Identifier value for the Instance. This value 
               is used as the MSTI Regional Root Identifier parameter in all
               Configuration Bridge PDUs originated by this node"
           ::= { mstMstiBridgeEntry 5 }

        mstMstiPortDesignatedBridge OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge which this port  
                   considers to be the Designated Bridge for the port's segment."   
              ::= { mstMstiBridgeEntry 6 }

		mstMstiTopChanges OBJECT-TYPE
		   SYNTAX      Counter32
		   MAX-ACCESS  read-only
		   STATUS      current
		   DESCRIPTION
				 "The number of times that there have been atleast
				 one non-zero TcWhile Timer on this Bridge for this
				 spanning tree instance."
		   ::= { mstMstiBridgeEntry 7 }
					  
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table
        -- -----------------------------------------------------------------
        stpInstancePortTable  OBJECT IDENTIFIER ::= { l2STPGroup 5 }
        
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Port Table : CIST
        -- -----------------------------------------------------------------
        mstCistPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstCistPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                  "This table contains Common Spanning Tree Port
                   Information."
             ::= { stpInstancePortTable 1 }
        
        mstCistPortEntry OBJECT-TYPE
              SYNTAX      MstCistPortEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of information maintained by every port for 
                  Common Spanning tree."
              INDEX  { mstCistPort }
              ::= { mstCistPortTable 1 }
        
        MstCistPortEntry ::=
           SEQUENCE {
               mstCistPort  
                    Integer32,
               mstCistPortAdminPathCost 
                    Integer32,
               mstCistPortPathCost 
                    Integer32,
               mstCistPortPriority 
                    Integer32,
               mstCistPortState 
                    INTEGER,
               mstCistCurrentPortRole  
                    INTEGER,
               mstCistPortProtocolMigration
                    TruthValue
        }
        
        mstCistPort OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The Port number of the port for which this entry contains   
                   spanning tree information."                                      
              ::= { mstCistPortEntry 1 }
        
        mstCistPortAdminPathCost OBJECT-TYPE
              SYNTAX      Integer32 (0..200000000)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstCistPortEntry 2 }
        
        mstCistPortPathCost OBJECT-TYPE
              SYNTAX      Integer32 (1..200000000)
              MAX-ACCESS  read-only           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstCistPortEntry 3 }
        
        mstCistPortPriority OBJECT-TYPE
              SYNTAX      Integer32 (0..240)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The four most significant bits of the Port Identifier 
                  for a given Spanning Tree instance can be modified 
                  independently for each Spanning Tree instance 
                  supported by the Bridge. The values that are set for Port 
                  Priority must be in steps of 16."
            DEFVAL {128}
              ::= { mstCistPortEntry 4 }
        
        mstCistPortState OBJECT-TYPE
             SYNTAX    INTEGER {              
                         disabled (1),
                         discarding (2),
                         learning (4),
                         forwarding (5)
                       }
             MAX-ACCESS  read-only            
             STATUS      current
             DESCRIPTION
                 "Current state of the Port as defined by the Common    
                  spanning tree protocol." 
           ::= { mstCistPortEntry 5 }
        
        mstCistCurrentPortRole OBJECT-TYPE
              SYNTAX      INTEGER {              
                           disabled(0),
                           alternate(1),
                           backup(2),
                           root(3),
                           designated(4),
                           master(5)
                          }
              MAX-ACCESS  read-only        
              STATUS      current
              DESCRIPTION
                  "Current Port Role of the port for this spanning 
                  tree instance."                                      
              ::= { mstCistPortEntry 6 }
			  
        mstCistPortProtocolMigration OBJECT-TYPE
              SYNTAX      TruthValue                
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "Indicates the Protocol migration state of this Port.
                  writing TRUE(1) to this object forces this port to transmit protocol BPDU
                  Any other operation on this object has no effect."
              ::= { mstCistPortEntry 7 }
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Port Table : MSTI
        -- -----------------------------------------------------------------
        mstMstiPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstMstiPortEntry              
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                  "This table contains Spanning Tree Instance Specific Port
                   Information."
             ::= { stpInstancePortTable 2 }
        
        mstMstiPortEntry OBJECT-TYPE
              SYNTAX      MstMstiPortEntry               
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of information maintained by every port for each 
                   and every spanning tree instance."
              INDEX  { mstMstiPort, mstMstiPortInstanceIndex }
              ::= { mstMstiPortTable 1 }
        
        MstMstiPortEntry ::= 
           SEQUENCE {
               mstMstiPort  
                    Integer32,
               mstMstiPortInstanceIndex
                    Integer32,
               mstMstiPortAdminPathCost 
                    Integer32,
               mstMstiPortPathCost 
                    Integer32,
               mstMstiPortPriority 
                    Integer32,
               mstMstiPortState 
                    INTEGER,
               mstMstiCurrentPortRole  
                    INTEGER
        }
        
        mstMstiPort OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The Port number of the port for which this entry contains   
                   spanning tree information."                                      
              ::= { mstMstiPortEntry 1 }

    	mstMstiPortInstanceIndex OBJECT-TYPE
    		  SYNTAX      Integer32 (1..15)
    		  MAX-ACCESS  read-only
    		  STATUS      current
    		  DESCRIPTION
    			  "An arbitrary integer within the range from 1 to the value of
    			   Max Instance Number that uniquely identifies an instance."
    		  ::= { mstMstiPortEntry 2 }
            
        mstMstiPortAdminPathCost OBJECT-TYPE
              SYNTAX      Integer32 (0..200000000)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstMstiPortEntry 3 }
        
        mstMstiPortPathCost OBJECT-TYPE
              SYNTAX      Integer32 (1..200000000)
              MAX-ACCESS  read-only           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstMstiPortEntry 4 }
        
        mstMstiPortPriority OBJECT-TYPE
              SYNTAX      Integer32 (0..240)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The four most significant bits of the Port Identifier 
                  for a given Spanning Tree instance can be modified 
                  independently for each Spanning Tree instance 
                  supported by the Bridge. The values that are set for Port 
                  Priority must be in steps of 16."
            DEFVAL {128}
              ::= { mstMstiPortEntry 5 }
        
        mstMstiPortState OBJECT-TYPE
              SYNTAX      INTEGER {
                          disabled (1),
                          discarding (2),
                          learning (4),
                          forwarding (5)
                          }
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "Current state of the Port as defined by the Multiple  
                   spanning tree protocol. Port which is Forwarding state
                   in one instance can be in Discarding (Blocking) state 
                   in another instance."
              ::= { mstMstiPortEntry 6 }
        
        mstMstiCurrentPortRole OBJECT-TYPE
              SYNTAX      INTEGER {              
                           disabled(0),
                           alternate(1),
                           backup(2),
                           root(3),
                           designated(4),
                           master(5)
                          }
              MAX-ACCESS  read-only        
              STATUS      current
              DESCRIPTION
                  "Current Port Role of the port for this spanning 
                  tree instance."                                      
              ::= { mstMstiPortEntry 7 }
		
		stpTraps OBJECT IDENTIFIER ::= { l2STPGroup 6 }		
		stpTrapsList OBJECT IDENTIFIER ::= { stpTraps 0 }

		 stpNewRootTrap NOTIFICATION-TYPE
				STATUS             current
				DESCRIPTION
				 "Generated whenever a new root bridge is selected in the topology "
		   ::= { stpTrapsList 1 }

		 stpTopologyChgTrap NOTIFICATION-TYPE
				STATUS             current
				DESCRIPTION
				 "Generated when topology change is detected "
		   ::= { stpTrapsList 2 }

-- SNTP MIB groups
    sntpClockSettings       OBJECT IDENTIFIER ::= { sysSNTPSettingGroup 1 }
    sntpTimeZoneSettings    OBJECT IDENTIFIER ::= { sysSNTPSettingGroup 2 }
    sntpSNTPSettings        OBJECT IDENTIFIER ::= { sysSNTPSettingGroup 3 }

-- ------------------------------------------------------------------
-- Clock Settings 
-- ------------------------------------------------------------------
    sntpTimeSeconds  OBJECT-TYPE
          SYNTAX      Integer32
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "This object is for setting the system time in seconds 
               from  Epoch (00:00:00 UTC, January 1, 2009). Notice : 
               input value must larger than 284083276 (00:00:00 UTC, 
               January 1, 2009) and smaller than 1136073599 (23:59:59
               UTC, December 31, 2035)."
          ::= { sntpClockSettings 1 }   

-- ------------------------------------------------------------------
-- Time Zone Settings 
-- ------------------------------------------------------------------
    sntpSummerTimeState  OBJECT-TYPE
          SYNTAX       INTEGER {
                       disable(1),
                       recurring (2),
                       date (3)
          }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "This object indicates the mode of the system to automatically
				switch to Summer Time (Daylight Saving Time).
				disable(1) - The Daylight Saving Time feature is disabled.
				recurring(2) - The Daylight Saving Time feature is enabled. 
							 The Summer Time should start and end on the specified
							 week day of the specified month. 
				format  [weekofmonth-weekofday-month,HH:MM]. 
				Example:- Third-Mon-Apr,17:30 
				date(3) - The Daylight Saving Time feature is enabled. 
						  The Summer Time should start and end on the specified date
						  of the specified month.  
				format  [dayofmonth-month,HH:MM].
				Example:- 01-Apr,17:30.
				"
          ::= { sntpTimeZoneSettings 1 }
          
    sntpGMTMinutes OBJECT-TYPE
          SYNTAX        INTEGER
          MAX-ACCESS    read-write
          STATUS        current
          DESCRIPTION
              "Specifies the Time Zone Offset from GMT in +/- Minutes. (+780 ~ -720)"
          ::= { sntpTimeZoneSettings 2 }
		  
    sntpSummerTimeStart OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            " This object indicates when the Summer Time starts.
				This value is always interpreted within the context of a 
				sntpSummerTimeState value."
       ::= { sntpTimeZoneSettings 3 }
         
     sntpSummerTimeEnd OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            " This object indicates when the Summer Time ends.
			  This value is always interpreted within the context of a 
			   sntpSummerTimeState value."
        ::= { sntpTimeZoneSettings 4 }

    sntpSummerTimeOffset OBJECT-TYPE
        SYNTAX        INTEGER
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
          "The value of this object indicates number of minutes to add
			or to subtract during Summer Time. This object is not meaningful
			when sntpSummerTimeState object is 'disable'."
        ::= { sntpTimeZoneSettings 5 }  
		
--  Recurring Setting 
--    sntpRecFromWeekOfMon   OBJECT-TYPE
--          SYNTAX       INTEGER {
--                       first(1),
--                       second (2),
--                       third (3),
--                       fourth (4),
--                       last (5)
--          }
--          MAX-ACCESS  read-write
--          STATUS      current
--          DESCRIPTION
--              "This object is for Week of the Month."
--          ::= { sntpTimeZoneSettings 3 }

--    sntpRecFromDayOfWeek   OBJECT-TYPE
--          SYNTAX       INTEGER {
--                       sun (1),
--                       mon (2),
--                       tue (3),
--                       wed (4),
--                       thurs (5),
--                       fri (6),
--                       sat (7)
--          }
--          MAX-ACCESS  read-write
--          STATUS      current
--          DESCRIPTION
--              "This object is for Week of the Month."
--          ::= { sntpTimeZoneSettings 4 }
                    
--    sntpRecFromTime OBJECT-TYPE
--        SYNTAX     DisplayString (SIZE (12))
--        MAX-ACCESS read-write
--        STATUS     current
--        DESCRIPTION
--            " Daylight saving time (DST) is a system of setting clocks ahead so
--              that both sunrise and sunset occur at a later hour. The effect is
--              additional daylight in the evening. Many countries observe DST,
--              although most have their own rules and regulations for when it begins
--              and ends. The dates of DST may change from year to year. The Valid
--              format  [dayofmonth-month,HH:MM].
--              Example:- 01-Apr,17:30"
--        ::= { sntpTimeZoneSettings 5 }

--    sntpRecToWeekOfMon   OBJECT-TYPE
--          SYNTAX       INTEGER {
--                       first(1),
--                       second (2),
--                       third (3),
--                       fourth (4),
--                       last (5)
--          }
--          MAX-ACCESS  read-write
--          STATUS      current
--          DESCRIPTION
--              "This object is for Week of the Month."
--          ::= { sntpTimeZoneSettings 6 }

--    sntpRecToDayOfWeek   OBJECT-TYPE
--          SYNTAX       INTEGER {
--                       sun (1),
--                       mon (2),
--                       tue (3),
--                       wed (4),
--                       thurs (5),
--                       fri (6),
--                       sat (7)
--          }
--          MAX-ACCESS  read-write
--          STATUS      current
--          DESCRIPTION
--              "This object is for Week of the Month."
--          ::= { sntpTimeZoneSettings 7 }
          
--     sntpRecToTime OBJECT-TYPE
--        SYNTAX     DisplayString (SIZE (12))
--        MAX-ACCESS read-write
--        STATUS     current
--        DESCRIPTION
--            " Daylight saving time (DST) is a system of setting clocks ahead so
--              that both sunrise and sunset occur at a later hour. The effect is
--              additional daylight in the evening. Many countries observe DST,
--              although most have their own rules and regulations for when it begins
--              and ends. The dates of DST may change from year to year. The Valid
--              format  [dayofmonth-month,HH:MM].
--              Example:- 01-Apr,17:30"
--        ::= { sntpTimeZoneSettings 8 }
        
--    sntpRecOffset OBJECT-TYPE
--        SYNTAX        INTEGER
--        MAX-ACCESS    read-write
--        STATUS        current
--        DESCRIPTION
--            "This object is for Daylight Saving Time Offset 
--            In (30/60/90/120) Minutes."
--        ::= { sntpTimeZoneSettings 9 }        
-- Date Setting 

--    sntpDSTStartYear OBJECT-TYPE
--          SYNTAX        INTEGER
--          MAX-ACCESS    read-write
--          STATUS        current
--          DESCRIPTION
--              "From Year"
--          ::= { sntpTimeZoneSettings 10 }
          
--    sntpDSTStartTime OBJECT-TYPE
--        SYNTAX     DisplayString (SIZE (12))
--        MAX-ACCESS read-write
--        STATUS     current
--        DESCRIPTION
--            " Daylight saving time (DST) is a system of setting clocks ahead so
--              that both sunrise and sunset occur at a later hour. The effect is
--              additional daylight in the evening. Many countries observe DST,
--              although most have their own rules and regulations for when it begins
--              and ends. The dates of DST may change from year to year. The Valid
--              format  [dayofmonth-month,HH:MM].
--              Example:- 01-Apr,17:30"
--       ::= { sntpTimeZoneSettings 11 }

--    sntpDSTEndYear OBJECT-TYPE
--          SYNTAX        INTEGER
--          MAX-ACCESS    read-write
--          STATUS        current
--          DESCRIPTION
--              "From Year"
--          ::= { sntpTimeZoneSettings 12 }
          
--     sntpDSTEndTime OBJECT-TYPE
--        SYNTAX     DisplayString (SIZE (12))
--        MAX-ACCESS read-write
--        STATUS     current
--        DESCRIPTION
--            " Daylight saving time (DST) is a system of setting clocks ahead so
--              that both sunrise and sunset occur at a later hour. The effect is
--              additional daylight in the evening. Many countries observe DST,
--              although most have their own rules and regulations for when it begins
--              and ends. The dates of DST may change from year to year. The Valid
--              format  [dayofmonth-month,HH:MM].
--              Example:- 01-Apr,17:30"
--        ::= { sntpTimeZoneSettings 13 }

--    sntpDSTOffset OBJECT-TYPE
--        SYNTAX        INTEGER
--        MAX-ACCESS    read-write
--        STATUS        current
--        DESCRIPTION
--          "This object is for Daylight Saving Time Offset 
--           In (30/60/90/120) Minutes."
--        ::= { sntpTimeZoneSettings 14 }  

-- ------------------------------------------------------------------
-- SNTP Settings
-- ------------------------------------------------------------------
    sntpGlobalState  OBJECT-TYPE
          SYNTAX    INTEGER {
                enabled(1),
                disabled(2)
          }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "Enable/Disable SNTP function in the system."
          ::= { sntpSNTPSettings 1 }

    sntpPollInterval  OBJECT-TYPE
          SYNTAX      Integer32
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "SNTP Poll Interval In Seconds  (30-99999) "
          ::= { sntpSNTPSettings 2 }
-- SNTP Server Setting

     sntpServerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SntpServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table contains configured SNTP/NTP servers in the system."
        ::= { sntpSNTPSettings 3 }

     sntpServerEntry  OBJECT-TYPE
        SYNTAX      SntpServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " Each entry in the table contains necessary information to
              send SNTP request to the servers."
        INDEX { sntpServerAddrType, sntpServerAddr }
        ::= { sntpServerTable 1 }

     SntpServerEntry ::= SEQUENCE {
        sntpServerAddrType          INTEGER,
        sntpServerAddr              InetAddress,
        sntpServerStratum           INTEGER,
        sntpServerVersion           INTEGER,
        sntpServerLastReceive       TimeTicks,
		sntpServerSynced            TruthValue,
        sntpServerRowStatus         RowStatus
    }

     sntpServerAddrType OBJECT-TYPE
        SYNTAX      INTEGER {
                        ipv4(1),
                        ipv6(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address type ipv4 or ipv6."
        DEFVAL { ipv4 }
        ::= { sntpServerEntry 1 }

     sntpServerAddr OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            " The unicast IPv4/IPv6 server address in the Unicast Addressing mode "
        ::= { sntpServerEntry 2 }

    sntpServerStratum OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "stratum levels define the distance from the reference clock."
        ::= { sntpServerEntry 3 }

    sntpServerVersion OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "sntp server version."
        ::= { sntpServerEntry 4 }

    sntpServerLastReceive OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The value of sysUpTime when this server was synced."
        ::= { sntpServerEntry 5 }
		
	sntpServerSynced  OBJECT-TYPE
		SYNTAX          TruthValue
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
			"This object indicates whether the corresponding server is the
			current synced server.
			"
	::= { sntpServerEntry 6 }
		
    sntpServerRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            " The activation of a row adds server entry. The destruction of a row
             removes server entry"
        ::= { sntpServerEntry 7 }

-- ------------------------------------------------------------------
-- The Time Range Setting
-- ------------------------------------------------------------------

    timeRangeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF TimeRangeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table to configure time Range in the system."
       ::= { sysTimeRangeGroup 1 }

    timeRangeEntry OBJECT-TYPE
       SYNTAX      TimeRangeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
            DESCRIPTION
                "A schedule entry to configure time Range in the system."
       INDEX { timeRangeName , timeRangeIndex}
       ::= { timeRangeTable 1 }

    TimeRangeEntry ::=
       SEQUENCE {
            timeRangeName               DisplayString,
            timeRangeIndex            	Integer32,
            timeRangeStartHour          Integer32,
            timeRangeStartMinute        Integer32,
            timeRangeEndHour            Integer32,
            timeRangeEndMinute          Integer32,
			timeRangeWeekday			BITS,
            timeRangeRowStatus          RowStatus
     }

    timeRangeName OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..20))
       MAX-ACCESS  read-only
       STATUS      current
            DESCRIPTION
                "The Schedule name associated with the Schedule entry (e.g., `abc, bbb')."
       ::= { timeRangeEntry 1}

    timeRangeIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..52)
       MAX-ACCESS  read-only
       STATUS      current
            DESCRIPTION
                "The Time Range identifier. The maximum number of Schedule entry is
                 the number of ports supported PoE function.
                 The value must be between 1 and 52."
       ::= { timeRangeEntry 2 }	    
		
    timeRangeStartHour  OBJECT-TYPE
       SYNTAX Integer32 (0..23)
       MAX-ACCESS  read-write
       STATUS      current
            DESCRIPTION
            "Start hour of the Schedule entry.
            The value must be from 0 to 23."
       ::= { timeRangeEntry 3 }

    timeRangeStartMinute  OBJECT-TYPE
        SYNTAX Integer32 (0..59)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Start minute of the Schedule entry.
            The value must be from 0 to 59."
        ::= { timeRangeEntry 4 }	
		
    timeRangeEndHour  OBJECT-TYPE
        SYNTAX Integer32 (0..23)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "End hour of the Schedule entry.
            The value must be from 0 to 23."
        ::= { timeRangeEntry 5 }

    timeRangeEndMinute  OBJECT-TYPE
        SYNTAX Integer32 (0..59)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "End minute of the Schedule entry.
            The value must be from 0 to 59."
        ::= { timeRangeEntry 6 }

     timeRangeWeekday OBJECT-TYPE
        SYNTAX      BITS {
				saturday(0),
				friday(1),
				thursday(2),
				wednesday(3),
				tuesday(4),
				monday(5),
				sunday(6)		
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
			"Enable/Disble scheduling weekday list."
        ::= { timeRangeEntry 7 }

    timeRangeRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
             "The status of an entry in the Time Range Information Table.  Only a subset
             of the rowstatus variables (active, notinservice, createAndWait, destroy)
             are available."
       ::= { timeRangeEntry 8 }

      -- ----------------------------------------------------------------
      -- The l3IPIF group
      -- ----------------------------------------------------------------

      multiIfMainTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF MultiIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system. 
            This table contains objects which are applicable to all
            types of interfaces in the system. This table is a 
            proprietary extension to the standard ifTable and 
            ifXTable. The index to this table has the semantics of
            the MIB-2 ifIndex."
         ::= { l3IpMgmtGroup 1 }

      multiIfMainEntry          OBJECT-TYPE
         SYNTAX            MultiIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface."
         INDEX { multiIfMainIndex }
         ::= { multiIfMainTable 1 }

      MultiIfMainEntry ::=
         SEQUENCE {
            multiIfMainIndex              InterfaceIndex,
            multiIfMainAdminStatus        INTEGER,
            multiIfMainOperStatus         INTEGER,
            multiIfIpBindVlanId           Integer32,
			multiL3VlanIfName             DisplayString,
			multiIfMainRowStatus          RowStatus
            }

      multiIfMainIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "A unique value, greater than zero, for each
            interface. This object is identical to the ifIndex
            of the standard MIB-2 ifTable." 
         ::= { multiIfMainEntry 1 }

      multiIfMainAdminStatus    OBJECT-TYPE
         SYNTAX            INTEGER {
                              up(1),   -- ready to pass packets
                              down(2)
                              }
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "The desired state of the interface. This object
            can be set only when the ifMainRowStatus of the
            interface is active. This object has the semantics
            of the ifAdminStatus of the standard ifTable.
            
            When a managed system initializes, all 
            interfaces start with ifMainAdminStatus in the
            down(2) state, it's a default state also. As a result
            of either explicit management action or per 
            configuration information retained by the managed
            system, ifMainAdminStatus is then changed to
            the up (1) state (or remains in the
            down(2) state)."
         DEFVAL { down } 
         ::= { multiIfMainEntry 2 }

      multiIfMainOperStatus     OBJECT-TYPE
         SYNTAX            INTEGER  {
                              up(1),        -- ready to pass packets
                              down(2),
                              testing(3),   -- in some test mode
                              unknown(4),   -- status can not be
                                            -- determined for
                                            -- some reason.
                              dormant(5),
                              notPresent(6), -- some component is
                                             -- missing
                              lowerLayerDown(7) -- down due to state
                                                --  of lower-layer
                                                -- interface(s).
                              }
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "The current operational state of the interface.
            The testing (3) state indicates that no operational
            packets can be passed - this state is not supported
            currently. 
            
            If ifMainAdminStatus is down (2)
            then ifMainOperStatus would be down (2). If
            ifMainAdminStatus is changed to up (1) then
            ifMainOperStatus should change to up (1) if the
            interface is ready to transmit and receive
            work traffic; it should change to dormant (5)
            the interface is waiting for external actions
            (such as a serial line waiting for an incoming
            connection); it should change to lowerLayerDown(7)
            state if it cannot be made up as the interface sub-layer
            below it is down; it should remain in the down (2) state
            if and only if there is a fault that prevents it
            from going to the up (1) state; it should remain in
            the notPresent (6) state if the interface has
            missing (typically, hardware) components.
            
            The status unknown(4) is shown when it is not possible
            to determine the exact status of the interface - e.g.
            the interface sub-layer is performing negotiations - 
            during this period the interface is not up but at the
            same time, it is not a fault condition and hence it
            cannot be shown as down - in such periods the status
            is shown as unknown.
            
            This object has the semantics of the ifOperStatus of the
            standard ifTable."
         ::= { multiIfMainEntry 3 }

	  multiIfIpBindVlanId OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"the IP Interface over the Vlan Interface which it vlan id is the configure Vlan id."
		::= { multiIfMainEntry 4 }
		
	  multiL3VlanIfName   OBJECT-TYPE
		SYNTAX      DisplayString (SIZE(0..64))
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"the L3 Vlan Interface Name."
		::= { multiIfMainEntry 5 }

      multiIfMainRowStatus      OBJECT-TYPE
         SYNTAX            RowStatus
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "A RowStatus variable for addition, deletion and in-activation
            of the interfaces. Specification of the object is mandatory
            for all interfaces.
            
            When the status is active, the interface is created and
            ready to use in the respective protocol modules.
            
            When the status is notInService, the interface has not been
            registered with the respective protocol modules and as such
            those modules are not aware of the existence of the interface
            - creation is hence, incomplete. Setting an active interface
            to notInService results in de-registration/deletion of the
            interface from the respective protocol modules and all the
            configurations associated with that interface in those modules
            may be lost.
            
            Deletion of an interface, may affect the status of other
            interfaces which are layered above or below it in the Interface
            Stack (ifStackTable) and may result in other interfaces being
            made notReady or notInService."
         ::= { multiIfMainEntry 6 }


-- ifIpTable
-- This table is used for the management of the interfaces in the
-- system which are registered with IP. 
      
      multiIfIpTable            OBJECT-TYPE
         SYNTAX            SEQUENCE OF MultiIfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system which
            are registered with IP.
                  
            This table contains objects which are applicable for the
            management of IP over the network interfaces
            in the system. 
               
            This table is a extension to the ifMainTable. 
            The index to this table has the semantics of
            the ifMainIndex of the ifMainTable.
                  
            Entries are created automatically in this table for
            any interface sub-layer which is layer below IP using
            the ifStackTable. Similarly, entries are deleted from
            this table when the interface's layering below IP is
            removed."
         ::= { l3IpMgmtGroup 2 }

      multiIfIpEntry            OBJECT-TYPE
         SYNTAX            MultiIfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface over which IP is operating."
         INDEX { multiIfIpIndex }
         ::= { multiIfIpTable 1 }

      MultiIfIpEntry ::=
         SEQUENCE {
            multiIfIpIndex              InterfaceIndex,
            multiIfIpAddrAllocMethod  INTEGER,
            multiIfIpAddr             IpAddress,
            multiIfIpSubnetMask       IpAddress
            }

      multiIfIpIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "A unique value, greater than zero, for each
            interface. This object is identical to the ifIndex
            of the standard MIB-2 ifTable." 
         ::= { multiIfIpEntry 1 }
         
      multiIfIpAddrAllocMethod  OBJECT-TYPE
         SYNTAX            INTEGER {
                              manual(1),  
                              dynamic(2)
			                  } -- Currently only
                                -- these method possible.
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "The mechanism to be used for allocation of IP
            address for this interface. 
            
            If the method specified is manual and the IP 
            address is not provided (then the interface   
            would be treated as a un-numbered interface.
            
            The dynamic(2) option takes an IP 
            address dynamically from the available 
            server (dhcp/bootp/rarp) . 

           "
         DEFVAL { manual }
         ::= { multiIfIpEntry 2 }

      multiIfIpAddr             OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP address given to this
            interface. The specification of this object is
            mandatory for all network interfaces (Ethernet,
            FR VC, IPoA interface, PPP link - not under MP,
            MP interface and X.25 VC). If the interface is
            not a network interface then the default value
            of 0.0.0.0 is assigned and the interface is
            treated as a un-numbered interface by IP."
         DEFVAL { '00000000'H } 
         ::= { multiIfIpEntry 3 }

      multiIfIpSubnetMask       OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP Subnet Mask for this
            interface. The value should be specified only
            for network interfaces and any valid VLSM is
            accepted. 
            
            If not specified, this object takes the default
            subnet mask value based on the class of the IP
            address configured for the interface."
         ::= { multiIfIpEntry 4 }

--  RTM Common Route Table

--  The RTM Common Route Table can be used to view all the 
--  routes present in the system. 

multiRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF MultiRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's IP Routing table. This table can be used to 
        view all the routes present in the system"
    ::= { l3IpMgmtGroup 3 }

multiRouteEntry OBJECT-TYPE
    SYNTAX   MultiRouteEntry
    MAX-ACCESS  not-accessible
    STATUS   current
    DESCRIPTION
       "A particular route to  a  particular  destina-
       tion, under a particular policy."
    INDEX {
        multiRouteDest,
        multiRouteMask,
        multiRouteTos,
        multiRouteNextHop
        }
    ::= { multiRouteTable 1 }

MultiRouteEntry ::= SEQUENCE 
		{
        multiRouteDest       IpAddress,
        multiRouteMask       IpAddress,
        multiRouteTos        Integer32,
        multiRouteNextHop    IpAddress,
		multiRouteIfIndex	  Integer32,
        multiRouteStatus     RowStatus
    }

multiRouteDest OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "The destination IP address of this route.

       This object may not take a Multicast (Class  D)
       address value.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with
       the  value of the corresponding instance of the
       RouteMask object is not equal to x."
    ::= { multiRouteEntry 1 }

multiRouteMask OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "Indicate the mask to be logical-ANDed with the
       destination  address  before  being compared to
       the value  in  the  RouteDest  field.   For
       those  systems  that  do  not support arbitrary
       subnet masks, an agent constructs the value  of
       the  RouteMask  by  reference to the IP Ad-
       dress Class.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with
       the  value of the corresponding instance of the
       RouteDest object is not equal to fsRoute-
       Dest."
    ::= { multiRouteEntry 2 }

-- The following convention is included for specification
-- of TOS Field contents.  At this time, the Host Requirements
-- and the Router Requirements documents disagree on the width
-- of the TOS field.  This mapping describes the Router
-- Requirements mapping, and leaves room to widen the TOS field
-- without impact to fielded systems.

multiRouteTos OBJECT-TYPE
    SYNTAX   Integer32 (0..2147483647)
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "The policy specifier is the IP TOS Field.  The encoding
       of IP TOS is as specified  by  the  following convention.
       Zero indicates the default path if no more  specific
       policy applies.

       +-----+-----+-----+-----+-----+-----+-----+-----+
       |                 |                       |     |
       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
       |                 |                       |     |
       +-----+-----+-----+-----+-----+-----+-----+-----+

                IP TOS                IP TOS
           Field     Policy      Field     Policy
           Contents    Code      Contents    Code
           0 0 0 0  ==>   0      0 0 0 1  ==>   2
           0 0 1 0  ==>   4      0 0 1 1  ==>   6
           0 1 0 0  ==>   8      0 1 0 1  ==>  10
           0 1 1 0  ==>  12      0 1 1 1  ==>  14
           1 0 0 0  ==>  16      1 0 0 1  ==>  18
           1 0 1 0  ==>  20      1 0 1 1  ==>  22
           1 1 0 0  ==>  24      1 1 0 1  ==>  26
           1 1 1 0  ==>  28      1 1 1 1  ==>  30"
    ::= { multiRouteEntry 3 }

multiRouteNextHop OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "On remote routes, the address of the next sys-
       tem en route; Otherwise, 0.0.0.0."
    ::= { multiRouteEntry 4 }
	
 multiRouteIfIndex OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The ifIndex value which identifies  the  local
 	interface  through  which  the next hop of this
 	route should be reached.
	0 indicate invalid interface"
    ::= { multiRouteEntry 5 } 
	
multiRouteStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The row status variable, used according to
       row installation and removal conventions."
    ::= { multiRouteEntry 6 }  
    
    
    
 
    



--  RTM Common Route Table END
         -- IPv6 Interface Table

         -- The IPv6 Interface table defines the logical interfaces on which
         -- IPv6 protocol is running. These include LAN interfaces, Point-to-
         -- Point interfaces, IPv6 over IPv4 Tunnel interfaces and NBMA
         -- interfaces.

         -- Entries of this table are created/deleted from SNMP.


         multiIpv6IfTable OBJECT-TYPE
             SYNTAX      SEQUENCE OF MultiIpv6IfEntry
             MAX-ACCESS      not-accessible
             STATUS      current
             DESCRIPTION
               "The IPv6 Interface table contains information on the 
               entity's internetwork-layer interfaces on which IPv6.
               protocol is enabled. An IPv6 interface constitutes a logical 
               network layer attachment to the layer immediately below
               IPv6. These include LAN interfaces, Point-to-Point interfaces, 
               NBMA interfaces and IPv6 over IPv4 Tunnel interfaces."
             ::= { l3IpMgmtGroup 4 }


         multiIpv6IfEntry OBJECT-TYPE
             SYNTAX     MultiIpv6IfEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
               "An interface entry containing objects about a particular 
               IPv6 interface. The entry is created or deleted from SNMP."
             INDEX   { multiIpv6IfIndex }
             ::= { multiIpv6IfTable 1 }


         MultiIpv6IfEntry ::= SEQUENCE {
                 multiIpv6IfIndex
                     InterfaceIndex,
                 multiIpv6IfAdminStatus
                     INTEGER,
                 multiIpv6IfOperStatus
                     INTEGER,
                 multiIpv6IfRetransmitTime
                     Integer32
         }


         multiIpv6IfIndex OBJECT-TYPE
             SYNTAX     InterfaceIndex
             MAX-ACCESS   read-only
             STATUS     current
             DESCRIPTION
               "A unique value identifying the particular IPv6 
               interface."
             ::= { multiIpv6IfEntry 1 }

           multiIpv6IfAdminStatus OBJECT-TYPE
             SYNTAX     INTEGER {
                            up(1),
                            down(2)
                        }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "Indicates whether IPv6 is enabled/disabled on this interface.
               When lower layer indicates the creation of the interface, an
               entry will be create in IPv6 interfac table with
               fsipv6IfAdminStatus in down(2) state. Either on setting this
               object as up(1) or configuring any IPv6 address over this
               interface, will set the fsipv6IfAdminStatus to up(1) state.
               If this object is set to down(2), and if no IPv6 address is
               configured for this interface, fsipv6IfAdminStatus goes
               down(2). Else the Status remains up(1), as long as the
               IPv6 address are present. Once these addresses are removed,
               the status goes to down(2)."
             ::= { multiIpv6IfEntry 2 }


         multiIpv6IfOperStatus OBJECT-TYPE
             SYNTAX     INTEGER {
                            up(1),
                            down(2),
                            stale(3)
                        }
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The operational state of interface. It is up(1) if the
                fsipv6IfAdminStatus is 'up' and the layer below the network
                layer is also operational. Otherwise it is down(2)."
             ::= { multiIpv6IfEntry 3 }


         multiIpv6IfRetransmitTime OBJECT-TYPE
             SYNTAX     Integer32 (1..3600)
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The retransmit time to be indicated in the router 
               advertisements sent on this IPv6 interface and also used by
               this entity. This defines the time in seconds between 
               retransmitted Neighbor Solicitations and is used during
               address resolution, unreachability detection and
               duplicate address detection."
             DEFVAL  { 1 }
             ::= { multiIpv6IfEntry 4}

      -- IPv6 Address Table
          
          -- The IPv6 address table contains this entity's IPv6
          -- addressing information.

          -- Entries are created/deleted from SNMP.

          multiIpv6AddrTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF MultiIpv6AddrEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The table containing entity's IPv6 addressing information."
              ::= { l3IpMgmtGroup 5 }


          multiIpv6AddrEntry   OBJECT-TYPE
              SYNTAX   MultiIpv6AddrEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The entry in the IPv6 Address Table which defines a
                 unicast, anycast or link-local address on an IPv6 interface."
              INDEX  {multiIpv6AddrIndex,
                      multiIpv6AddrAddress,
                      multiIpv6AddrPrefixLen
                     }
              ::= { multiIpv6AddrTable 1 }


          MultiIpv6AddrEntry  ::=
              SEQUENCE {
                 multiIpv6AddrIndex
                     InterfaceIndex,
                 multiIpv6AddrAddress
                     Ipv6Address,
                 multiIpv6AddrPrefixLen
                     Integer32,
                 multiIpv6AddrAdminStatus
                     RowStatus,
                 multiIpv6AddrType
                     INTEGER, 
                 multiIpv6AddrCfgMethod 
                 	 INTEGER,
                 multiIpv6AddrOperStatus
                 	INTEGER
                 }


          multiIpv6AddrIndex OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS  read-only
              STATUS   current
              DESCRIPTION
                 "The index value which uniquely identifies the IPv6
                 interface on which this IPv6 address entry exists.
                 The interface identified by a particular value of this 
                 index is the same interface as identified by the same 
                 value of fsipv6IfIndex."
              ::= { multiIpv6AddrEntry 1 }


          multiIpv6AddrAddress OBJECT-TYPE
              SYNTAX   Ipv6Address
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                 "The IPv6 address to which this entry's addressing
                  information pertains."
              ::= { multiIpv6AddrEntry 2 }


          multiIpv6AddrPrefixLen OBJECT-TYPE
              SYNTAX   Integer32 (0..128)
              MAX-ACCESS  read-only
              STATUS   current
              DESCRIPTION
                 "The length of the prefix (in bits) associated with
                 the IPv6 address of this entry. For a link-local address,
                 the prefix is always start with '0xfe80' and the prefix
                 length is 128 bits."
              ::= { multiIpv6AddrEntry 3 }


          multiIpv6AddrAdminStatus OBJECT-TYPE
              SYNTAX            RowStatus
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                "Indicates the desired status of the address. Also a creation
                 of an address can trigger IPv6 to be enabled over the
                 interface. Similarly deletion of all the address may trigger
                 IPv6 to be disabled on the interface. NotInService value is
                 not supported."
              ::= { multiIpv6AddrEntry 4 }


          multiIpv6AddrType OBJECT-TYPE
              SYNTAX   INTEGER {
                            unicast(1),
                            anycast(2),
                            linklocal(3)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "Indicates whether the address is a unicast, anycast or
                 link-local address. Syntactically there is no difference
                 between a unicast address and a anycast address while a
                 link-local address has the prefix '0xfe80'. This
                 object can be modified only if fsipv6AddrOperStatus is
                 down."
              ::= { multiIpv6AddrEntry 5 }     

         multiIpv6AddrCfgMethod OBJECT-TYPE
              SYNTAX   INTEGER {
                            static(1),
                            stateless(2),
                            stateful(3),
                            dynamic(4)
                       }
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                "Indicates the configuration method of the address.
			 	static(1) indicates that this address is configured by user;
			 	stateless(2) indicates that this address is auto configured stateless;
			 	stateful(3) indicates that this address is auto configured when DHCPv6 server reply
				"
              ::= { multiIpv6AddrEntry 6 }

          multiIpv6AddrOperStatus OBJECT-TYPE
              SYNTAX   INTEGER {
                            tentative(1),
                            complete(2),
                            down(3),
                            failed(4)
                       }
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                "Indicates the operational status of the address. A
			 	status of failed(4) indicates that a duplicate address has
			 	been detected on this IPv6 interface. On interfaces on
			 	which Duplicate Address Detection is not performed, this
			 	object will take values only complete(2) and down(3).
				"
              ::= { multiIpv6AddrEntry 7 }
      
          

 -- ----------------------------------------------------------------
        -- The Neighbor Setting group
        -- ----------------------------------------------------------------

        multiIPv6neighborTable OBJECT-TYPE
            SYNTAX SEQUENCE OF MultiIPV6NeighborEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Neighbor Cache Table."
            ::= { l3IpMgmtGroup  6 }

        multiIpv6NeighborEntry OBJECT-TYPE
            SYNTAX MultiIPV6NeighborEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Neighbor cache entry containing the ifindex and ipv6 addr."
            --INDEX { ipv6NeighborIndex, ipv6NeighborAddr, ipv6NeighborMacAddr}
			INDEX { multiIpv6NeighborIndex, multiIpv6NeighborAddr}
            ::= { multiIPv6neighborTable 1 }

        MultiIPV6NeighborEntry ::= SEQUENCE {
            multiIpv6NeighborIndex         INTEGER,
            multiIpv6NeighborAddr        Ipv6Address,
            multiIpv6NeighborMacAddr         MacAddress,
            multiIpv6NeighborType            INTEGER,
            multiIpv6NeighborCacheState      INTEGER,
 --           multiIpv6NeighborActiveStatus    INTEGER,
            multiIpv6NeighborRowStatus       RowStatus
        }

         multiIpv6NeighborIndex OBJECT-TYPE
           SYNTAX  INTEGER
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The interface index of the Neighbor entry."
           ::= { multiIpv6NeighborEntry 1 }

        multiIpv6NeighborAddr  OBJECT-TYPE
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of an IP address that will be a Neighbor entry into
               the Neighbor Cache Table."
           ::= { multiIpv6NeighborEntry 2 }

         multiIpv6NeighborMacAddr OBJECT-TYPE
           SYNTAX MacAddress
           MAX-ACCESS read-write
           STATUS current
           DESCRIPTION
               "The MAC address associated of the Neighbor entry."
           ::= { multiIpv6NeighborEntry 3 }

         multiIpv6NeighborType OBJECT-TYPE
           SYNTAX  INTEGER {
                       static(1),
                       dynamic(2)
                   }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The type associated of the Neighbor entry."
           ::= { multiIpv6NeighborEntry 4 }

         multiIpv6NeighborCacheState OBJECT-TYPE
           SYNTAX  INTEGER {
                       static(1),
                       reachable(2),
                       incomplete(3),
                       stale(4),
                       delay(5),
                       probe(6),
                       notinservice(7)
                   }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The type associated of the Neighbor entry."
           ::= { multiIpv6NeighborEntry 5 }

 --        ipv6NeighborActiveStatus OBJECT-TYPE
 --          SYNTAX  INTEGER {
 --                      active(1),
 --                      inactive(2)
 --                  }
 --          MAX-ACCESS read-only
 --          STATUS current
 --          DESCRIPTION
 --              "The active status of the Neighbor entry."
 --          ::= { multiIpv6NeighborEntry 6 }

         multiIpv6NeighborRowStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Neighbor Cache Table.  Only a subset
                 of the rowstatus variables (active, createAndWait, destroy) are available."
            ::= { multiIpv6NeighborEntry 6 }			 
			 

-- IPv6 Routing Table

          -- The IPv6 routing table contains an entry for each
          -- valid IPv6 unicast routes that can be used for packet
          -- forwarding. There are no entries for Multicast and Link-Local
          -- addresses.

          -- This table contains static and dynamic routes as well as routes
          -- to directly connected networks which are derived from the
          -- configured address prefixes. Thus entries exist in this table
          -- even if RIPng protocol is not running.

          -- Entries created/deleted from SNMP, dynamically through RIPng
          -- protocol or derived from configured address prefixes.

	 multiIpv6RouteTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF MultiIpv6RouteEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "This table contains dynamic routes that are learnt
                 through dynamic routing protocol as well as local routes
                 derived from configured address prefixes and statically
                 configured routes."
              ::= { l3IpMgmtGroup 7 }


         multiIpv6RouteEntry   OBJECT-TYPE
              SYNTAX   MultiIpv6RouteEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "An entry in the IPv6 Routing Table. An entry can be created
                 by means of the routing protocol, derived from configured
                 address prefixes as well as statically configured. There
                 can be a static route as well as dynamic routes with the
                 same destination and prefix length."
              INDEX  { multiIpv6RouteDest,
                       multiIpv6RoutePfxLength,
                       multiIpv6RouteProtocol,
                       multiIpv6RouteNextHop
                     }
              ::= { multiIpv6RouteTable 1 }


         MultiIpv6RouteEntry  ::=
              SEQUENCE {
                 multiIpv6RouteDest
                     Ipv6Address,
                 multiIpv6RoutePfxLength
                     Integer32,
                 multiIpv6RouteProtocol
                     INTEGER,
                 multiIpv6RouteNextHop
                     Ipv6Address,
                 multiIpv6RouteIfIndex
                     InterfaceIndex,
                 multiIpv6RouteAdminStatus
                     RowStatus
              }


          multiIpv6RouteDest  OBJECT-TYPE
              SYNTAX   Ipv6Address
              MAX-ACCESS  read-only
              STATUS   current
              DESCRIPTION
                 "The destination IPv6 address of this route.
                  This object will not take a Link-Local or Multicast address
                  value."
              ::= { multiIpv6RouteEntry 1 }


          multiIpv6RoutePfxLength OBJECT-TYPE
              SYNTAX   Integer32 (1..128)
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                 "Indicates the prefix length of the destination
                  address."
              ::= { multiIpv6RouteEntry 2 }


          multiIpv6RouteProtocol OBJECT-TYPE
              SYNTAX     INTEGER {
                            static(1),        -- static route


                            dynamic(2)        -- e.g., Redirect
                                             -- the following are all
                                             -- dynamic routing protocols

                         }
              MAX-ACCESS    read-only
              STATUS   current
              DESCRIPTION
                 "The routing mechanism via which this route was
                 learned."
              ::= { multiIpv6RouteEntry 3 }


          multiIpv6RouteNextHop  OBJECT-TYPE
              SYNTAX   Ipv6Address
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                 "Next hop IPv6 Address for this route. For direct routes
                 it has the value ::0."
              ::= { multiIpv6RouteEntry 4 }


          multiIpv6RouteIfIndex  OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "The index value which uniquely identifies the interface
                  through which the next hop of this route should be reached.
                  The interface identified by a particular value of this index
                  is the same interface as identified by the same value of
                  ipv6IfIndex."
              ::= { multiIpv6RouteEntry 5 }

          multiIpv6RouteAdminStatus  OBJECT-TYPE
              SYNTAX    RowStatus
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                "Administrative Status of the route. This object is used
                 to create or delete the route entry. The ipv6RouteIfIndex
                 needs to be set, before the route entry is made active. 
                 CreateAndGo is not supported."
              ::= { multiIpv6RouteEntry 6 }

  -------------------Dhcp Client Option Table Expansion ------------------
	dhcpClientTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF DhcpClientEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                " The dhcp options which are to be added to packets sent
                  will be added as entries in this table.   

                  While sending out discover message, the options entries
                  which are avilable in this table will be added with
                  discover message."

            ::= { l3IpMgmtGroup 8 }

	dhcpClientEntry  OBJECT-TYPE
        SYNTAX      DhcpClientEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing dhcp options which will be added to the
				packets from client to server."
        INDEX { dhcpClientIfIndex }
        ::= { dhcpClientTable 1 }

DhcpClientEntry ::=
        SEQUENCE {
            dhcpClientIfIndex    InterfaceIndex,
			dhcpClientClientIdIfIdx     InterfaceIndex,
            dhcpClientClassIdType       INTEGER,       
			dhcpClientClassId      		OCTET STRING,
			dhcpClientHostName          DisplayString ,
			dhcpClientLeaseDay		    Integer32,
			dhcpClientLeaseHour    	    Unsigned32,
			dhcpClientLeaseMinute       Unsigned32 
            }

	dhcpClientIfIndex  OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
           "A unique identifier for each interface.
            This object is identical to the ifIndex
           of the standard MIB-2 ifTable." 
        ::= { dhcpClientEntry 1 }
	dhcpClientClientIdIfIdx  OBJECT-TYPE
        SYNTAX          InterfaceIndex
	    MAX-ACCESS      read-write
	    STATUS          current
	    DESCRIPTION	    
	        "This object indicates ifIndex of the VLAN interface whose
	        hexadecimal MAC address will be used as the client ID to be
	        sent with the DISCOVER message
			0 indicates that preferred client id is unspecified
            "
        ::= { dhcpClientEntry 2 } 	
		
	dhcpClientClassIdType OBJECT-TYPE
        SYNTAX INTEGER      {
            ascii(1),
            hex(2)            
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The object indicates the type of class id which is defined by
            dhcpClientClassIdValue.            
            The value means :
            ascii(1)- The dhcpClientClassIdValue is ascii string.
            hex(2)  - The dhcpClientClassIdValue is a string of HEX
                      number.
            "
        ::= { dhcpClientEntry 3 }
        
    dhcpClientClassId  OBJECT-TYPE
        SYNTAX          OCTET STRING
	    MAX-ACCESS      read-write
	    STATUS          current	    
	    DESCRIPTION
	        "This object indicates the value of vendor class identifier
	        (option 60) to be sent with the DHCP DISCOVER message. 
 
             An dhcpClientClassIdValue value is always interpreted
             within the context of an dhcpClientClassIdType value. 
             If dhcpClientClassIdType is 'hex', this object is a HEX
             string value, which is restricted to hexadecimal character set.
			 length is equal to 0 indicates that preferred class id is unspecified"
        ::= { dhcpClientEntry 4 }
                   
    dhcpClientHostName  OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..64))
	    MAX-ACCESS      read-write
	    STATUS          current	    
	    DESCRIPTION
	        "This object indicates the host name. The host name must start with
	        a letter, end with a letter or digit, and only with interior 
	        characters letters, digits, and hyphens.
			length is equal to 0 indicates that preferred host name is unspecified
	        "
        ::= { dhcpClientEntry 5 }
               
    dhcpClientLeaseDay OBJECT-TYPE
       SYNTAX           Integer32	(-1 | 0..10000)
       MAX-ACCESS       read-write
       STATUS           current
       DESCRIPTION
            "This object indicates the number of days for the duration of 
            preferred lease time. Value of -1 indicates that preferred lease
            time is unspecified. 
            This value is checked when an IP address is acquired from
            a DHCP server. "
       DEFVAL          { -1 }
       ::= { dhcpClientEntry 6 }

    dhcpClientLeaseHour OBJECT-TYPE
        SYNTAX          Unsigned32	(0..23)
        MAX-ACCESS      read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the number of hours for the duration of preferred
            lease time."
        DEFVAL          { 0 }    
        ::= { dhcpClientEntry 7 }

    dhcpClientLeaseMinute OBJECT-TYPE
        SYNTAX          Unsigned32	(0..59)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the number of minutes for the duration of preferred
            lease time."
        DEFVAL          { 0 }     
        ::= { dhcpClientEntry 8 }
		
           
--dhcpclienttable END  


-- dhcp6Client  BEGIN

	dhcp6ClientTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Dhcp6ClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
             "A table contains all DHCPv6 client entries which consists of
             DHCPv6 client related configuration. An entry is created to set a
             value different from the default on an interface. "
        ::= { l3IpMgmtGroup 9 }

    dhcp6ClientEntry OBJECT-TYPE
        SYNTAX          Dhcp6ClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Defines an entry in the dhcp6ClientTable."
        INDEX  { dhcp6ClientIndex }
        ::= { dhcp6ClientTable 1 }

    Dhcp6ClientEntry ::= SEQUENCE {
        dhcp6ClientIndex                  InterfaceIndex, 
        dhcp6ClientEnabled     		INTEGER,   
        dhcp6ClientRapidCommit     	INTEGER
    }

    dhcp6ClientIndex  OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The ifIndex value of the interface.
            Only VLAN interfaces are valid interfaces."
        ::= { dhcp6ClientEntry 1 }
        
    dhcp6ClientEnabled OBJECT-TYPE
        SYNTAX          INTEGER {
                            enabled(1),
                            disabled(2)
                       }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates whether acquires an IPv6 address on an
            interface from the DHCPv6 server." 
        DEFVAL      { disabled }    
        ::= { dhcp6ClientEntry 2 }
           
    dhcp6ClientRapidCommit OBJECT-TYPE
        SYNTAX          INTEGER {
                            enabled(1),
                            disabled(2)
                       }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates whether the two-message
            exchange for address allocation and other configuration is used.
            When dhcp6ClientEnabled is 'false', dhcp6ClientRapidCommit
            cannot be set to 'true'." 
        DEFVAL      { disabled }    
        ::= { dhcp6ClientEntry 3 }

  
-- dhcp6Client  END



-- -------------------------------------------------------------
-- Loopback Detection Function
-- -------------------------------------------------------------
        lbdGlobalSettings           OBJECT IDENTIFIER ::= { l2LBDGroup 1 }
        lbdPortSettings             OBJECT IDENTIFIER ::= { l2LBDGroup 2 }
		lbdVlanSettings             OBJECT IDENTIFIER ::= { l2LBDGroup 3 } 
		lbdTraps                  OBJECT IDENTIFIER ::= { l2LBDGroup 4 }

		   
-- -------------------------------------------------------------
-- Loopback Detection Global Settings
-- -------------------------------------------------------------
    lbdState OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Enable/Disable Loopback detection function.
                The Loopback Detection function is used to detect the loop created
                by a specific port while Spanning Tree Protocol (STP) is not
                enabled in the network, especially when the down links are hubs
                or unmanaged switchs.The Switch will automatically shutdown the
                port and sends a log to the administrator."

           DEFVAL  { disabled }
           ::= { lbdGlobalSettings 1 }

    lbdMode OBJECT-TYPE
           SYNTAX      INTEGER {
                          port(1),
                          vlan(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Loopback detection function mode."

           DEFVAL  { port }
           ::= { lbdGlobalSettings 2 }

    lbdEnabledVLANIDList OBJECT-TYPE
           SYNTAX      DisplayString
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "Set Enabled VLAN ID List ."
           ::= { lbdGlobalSettings 3 }

    lbdInterval  OBJECT-TYPE
           SYNTAX      Integer32 (1..32767)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "Set a Loop detection Interval between 1 and 32767 seconds.
             The default is 2 seconds.
             This time interval to be used at counting time seconds to
            resend the CTP packet automatically."
           DEFVAL  { 2 }
           ::= { lbdGlobalSettings 4 }

    lbdTrapState OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Enable/Disable Loopback detection trap 
               function."

           DEFVAL  { disabled }
           ::= { lbdGlobalSettings 5 }

    lbdAction OBJECT-TYPE
           SYNTAX      INTEGER {
                          shutdown(1),
                          none(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Loopback detection function action."

           DEFVAL  { shutdown }
           ::= { lbdGlobalSettings 6 }

-- -------------------------------------------------------------
-- Loopback Detection Port Settings
-- -------------------------------------------------------------
        lbdportTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF LbdportEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "A table to control Loopback detection features either for
              the entire switch or for each interface in the switch."
           ::= { lbdPortSettings 1 }

        lbdportEntry OBJECT-TYPE
           SYNTAX      LbdportEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "An entry appears in this table for each interface
                in the system."
           INDEX { lbdportIndex }
           ::= { lbdportTable 1 }

        LbdportEntry ::=
           SEQUENCE {
                lbdportIndex      Integer32,
                lbdportState      INTEGER,
                lbdportResult     INTEGER,
                lbdportTimeLeft   SnmpAdminString
          }

        lbdportIndex OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The interface index of the port for which the configuration
              in this entry applies."
           ::= { lbdportEntry 1 }

        lbdportState OBJECT-TYPE
           SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Provides control to per port enable or disable the loopback detection
                function. Default is disabled."
           DEFVAL  { disabled }
           ::= { lbdportEntry 2 }

        lbdportResult OBJECT-TYPE
           SYNTAX      INTEGER {
                       normal(1),
                       disabled(2)
                      }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "The loop Result for this port."
           ::= { lbdportEntry 3}

        lbdportTimeLeft OBJECT-TYPE
           SYNTAX      SnmpAdminString
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Loopback Detection Port Settings Time Left (sec)."
           ::= { lbdportEntry 4 }
   
-- -------------------------------------------------------------
-- Loopback Detection VLAN Port Settings
-- -------------------------------------------------------------
        lbdVlanLoopTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF LbdVlanLoopEntry 
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table to display Loopback detection features by vlan
                mode."
            ::= { lbdVlanSettings 1 }

        lbdVlanLoopEntry  OBJECT-TYPE
            SYNTAX      LbdVlanLoopEntry 
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "An entry appears in this table for each interface
                in the system."
            INDEX { lbdVlanLoopIndex }
            ::= { lbdVlanLoopTable 1 }

		LbdVlanLoopEntry ::=
			SEQUENCE {
			lbdVlanLoopIndex       Integer32,
			lbdVlanLoopPorts       PortList
		}

        lbdVlanLoopIndex OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Display port lists loop status by vlan."
            ::= { lbdVlanLoopEntry 1 }

        lbdVlanLoopPorts OBJECT-TYPE
           SYNTAX      PortList
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "Display port lists loop status by vlan."
           ::= { lbdVlanLoopEntry 2 } 
	lbdTrapsList		OBJECT IDENTIFIER ::= { lbdTraps 0 }
    lbdLoopOccur NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when loop is occured."
 	::= {lbdTrapsList 1 }
	
	lbdLoopRecover NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when port is recovering."
 	::= {lbdTrapsList 2 }



-- -------------------------------------------------------------
-- link aggregation Function
-- -------------------------------------------------------------
        laSystem                OBJECT IDENTIFIER ::= { l2LAGroup 1 }
        laChannel               OBJECT IDENTIFIER ::= { l2LAGroup 2 }

-- -------------------------------------------------------------
-- link aggregation system group
-- -------------------------------------------------------------
    laSystemPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The priority value assigned to System.
            This 16-bit value is read-only."
        ::= { laSystem 1 }

    laSystemLoadBalanceAlgorithm  OBJECT-TYPE
        SYNTAX       INTEGER {
                      macSrc(1),
                      macDst(2),
                      macSrcDst(3),
                      ipSrc(4),
                      ipDst(5),
                      ipSrcDst(6)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Link selection policy to be used by the port-channel.
            Selection policy isid implies selection based on Service-instance
            and is applicable only in Provider BackBone bridge."
        DEFVAL  { macSrc }
        ::= { laSystem 2 }

    laActorSystemID OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A 6-octet read-only MAC address value used as a unique
            identifier for the System."
        ::= { laSystem 3 }

-- -------------------------------------------------------------
-- link aggregation Channel Group Information
-- -------------------------------------------------------------
    laPortChannelTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF LaPortChannelEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A Port-channel is created through ifMain table.
            After the creation of the port-channel, corresponding logical
            interface will be created in the ifMain table.
            This Port-channel table is indexed through Key values and allows to
            configure link selection policy and the Mac address for
            the port-channel. All other objects in this table displays
            the details of the port-channel"
        ::= { laChannel 1 }

    laPortChannelEntry OBJECT-TYPE
        SYNTAX     LaPortChannelEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created port-channel port"
        INDEX { laPortChannelIfIndex }
        ::= { laPortChannelTable 1 }

    LaPortChannelEntry ::=
            SEQUENCE {
              laPortChannelIfIndex                  InterfaceIndex,
              laPortChannelMaxPorts                 INTEGER,
              laPortChannelMemberNumber             INTEGER,
              laPortChannelMemberList               PortList,
              laSystemChannelGroupID                INTEGER,
              laPortChannelMode                     INTEGER
            }

    laPortChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The ifIndex of the port-channel(Aggregator's interface index). "
        ::= { laPortChannelEntry 1 }

    laPortChannelMaxPorts OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { laPortChannelEntry 2 }

    laPortChannelMemberNumber OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { laPortChannelEntry 3 }
                
    laPortChannelMemberList OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "Member Port list of the port channel. Add the ports as a
            aggregation member associated of a port-channel."
        ::= { laPortChannelEntry 4 }

    laSystemChannelGroupID OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The priority value assigned to System.
            This 16-bit value is read-only."
        ::= { laPortChannelEntry 5 }

    laPortChannelMode OBJECT-TYPE
        SYNTAX INTEGER  {
             active(1),
             passive(2),
             on(3),
             disabled(4)
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Current Operating Channel Mode of the port
                active(1)    - it will always send frames along the configured links.
                passive(2)   - If the actor and partner are both in passive mode, they do not
                                exchange LACP packets.
                on(3)  - force the port to enable channeling (Manual).
                disabled(4) - channeling is disabled."
        ::= { laPortChannelEntry 6 }
-- -------------------------------------------------------------
-- link aggregation Port Channel Detail Information
-- -------------------------------------------------------------
    laChannelDetailTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF LaChannelDetailEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A Port-channel is created through ifMain table.
            After the creation of the port-channel, corresponding logical
            interface will be created in the ifMain table.
            This Port-channel table is indexed through Key values and allows to
            configure link selection policy and the Mac address for
            the port-channel. All other objects in this table displays
            the details of the port-channel"
        ::= { laChannel 2 }

    laChannelDetailEntry OBJECT-TYPE
        SYNTAX     LaChannelDetailEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created port-channel port"
        INDEX { laChannelDetailPort }
        ::= { laChannelDetailTable 1 }

    LaChannelDetailEntry ::=
            SEQUENCE {
              laChannelDetailPort                InterfaceIndex,
              laChannelDetailLACPTimeout         INTEGER,
              laChannelDetailWorkingMode         INTEGER,
              laChannelDetailLACPState           INTEGER,
              laChannelDetailPortPriority        INTEGER,
              laChannelDetailPortNumber          INTEGER
            }

    laChannelDetailPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The ifIndex of the port-channel(Aggregator's interface index). "
        ::= { laChannelDetailEntry 1 }

    laChannelDetailLACPTimeout OBJECT-TYPE
        SYNTAX INTEGER  {
             short(1),
             long(2)
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "This object indicates LACP_Timeout to this Aggregation Port.
                short(1) - LACP Timeout 3 seconds.
                long (2) - LACP Timeout 90 seconds."

        ::= { laChannelDetailEntry 2 }

    laChannelDetailWorkingMode OBJECT-TYPE
        SYNTAX INTEGER  {
             active(1),
             passive(2)
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Current Operating Channel Mode of the port
                active(1)    - it will always send frames along the configured links.
                passive(2)   - If the actor and partner are both in passive mode, they do not
                                exchange LACP packets."
        ::= { laChannelDetailEntry 3 }

    laChannelDetailLACPState OBJECT-TYPE
        SYNTAX INTEGER  {
                    upInBndl(0),
                    standby(1),
                    down(2),
                    upIndividual(3)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
          "This read-only object is used to display the port state in aggregation.

             upInBndl(0)      - The port is operationally up and actively
                                takes part in aggregation.
             standby(1)       - The port is capable of joining in
                                aggregation group, when any of the ports in
                                aggregation group goes down.
             down(2)          - The port is operationally down in lower layers.
                                or the port is operational in lower layers
                               but temporarily not able to participate
                               in aggregation because of different partner
                                information in the same group.
             upIndividual(3)  - The port is operating individually and
                                is not taking part in aggregation."

        ::= { laChannelDetailEntry 4 }

    laChannelDetailPortPriority OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Port Channel Detail Information Port Priority."
        ::= { laChannelDetailEntry 5 }

    laChannelDetailPortNumber OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Channel Detail Information Port number."
        ::= { laChannelDetailEntry 6 }
-- -------------------------------------------------------------
-- link aggregation Port Channel Neighbor Information
-- -------------------------------------------------------------
    laChannelNeighborTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF LaChannelNeighborEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A Port-channel is created through ifMain table.
            After the creation of the port-channel, corresponding logical
            interface will be created in the ifMain table.
            This Port-channel table is indexed through Key values and allows to
            configure link selection policy and the Mac address for
            the port-channel. All other objects in this table displays
            the details of the port-channel"
        ::= { laChannel 3 }

    laChannelNeighborEntry OBJECT-TYPE
        SYNTAX     LaChannelNeighborEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created port-channel port"
        INDEX { laChannelNeighborPort }
        ::= { laChannelNeighborTable 1 }

    LaChannelNeighborEntry ::=
            SEQUENCE {
              laChannelNeighborPort              InterfaceIndex,
              laChannelNeighborSystemPriority    INTEGER,
              laChannelNeighborSystemID          MacAddress,
              laChannelNeighborPortNo            INTEGER,
              laChannelNeighborLACPTimeout       INTEGER,
              laChannelNeighborWorkingMode       INTEGER,
              laChannelNeighborPortPriority      INTEGER
            }

    laChannelNeighborPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The ifIndex of the port-channel(Aggregator's interface index). "
        ::= { laChannelNeighborEntry 1 }

    laChannelNeighborSystemPriority OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "Port Channel Neighbor Information Partner System Priority."
        ::= { laChannelNeighborEntry 2 }

    laChannelNeighborSystemID OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "Port Channel Neighbor Information Partner System ID."
        ::= { laChannelNeighborEntry 3 }

    laChannelNeighborPortNo OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Channel Detail Information Port number."
        ::= { laChannelNeighborEntry 4 }

    laChannelNeighborLACPTimeout OBJECT-TYPE
        SYNTAX      INTEGER  {
                     short(1),
                     long(2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Channel Neighbor Information Partner LACP Timeout."
        ::= { laChannelNeighborEntry 5 }

    laChannelNeighborWorkingMode OBJECT-TYPE
        SYNTAX      INTEGER  {
                     active(1),
                     passive(2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Channel Neighbor Information Partner LACP Timeout."
        ::= { laChannelNeighborEntry 6 }

    laChannelNeighborPortPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Channel Detail Information Port Priority."
        ::= { laChannelNeighborEntry 7 }


    lldpStatistics           OBJECT IDENTIFIER ::= { l2LLDPGroup 15 }
    lldpLocalSystemData      OBJECT IDENTIFIER ::= { l2LLDPGroup 16 }
    lldpRemoteSystemsData    OBJECT IDENTIFIER ::= { l2LLDPGroup 17 }


--
--  ***********************************************************
--
--              D-Link LLDP Global Settings
--
--  ***********************************************************
--
    lldpState  OBJECT-TYPE
       SYNTAX       INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object is used for enabling or disabling LLDP in the system."

       DEFVAL  { disabled }
       ::= { l2LLDPGroup 1 }

    lldpForwardState  OBJECT-TYPE
       SYNTAX       INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object is used for enabling or disabling LLDP Forward State in the system."

       DEFVAL  { disabled }
       ::= { l2LLDPGroup 2 }

    lldpTrapState  OBJECT-TYPE
       SYNTAX       INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object is used for enabling or disabling LLDP Trap State in the system."

       DEFVAL  { disabled }
       ::= { l2LLDPGroup 3 }

    lldpMEDTrapState  OBJECT-TYPE
       SYNTAX       INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object is used for enabling or disabling LLDP-MED Trap State in the system."

       DEFVAL  { disabled }
       ::= { l2LLDPGroup 4 }

    lldpMsgTxInterval OBJECT-TYPE
        SYNTAX      Integer32 (5..32768)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used for LLDP packet update frequency.
            The timer in units of seconds."
        --DEFVAL     { 30 }

        ::= { l2LLDPGroup 5 }

    lldpMsgHoldMultiplier OBJECT-TYPE
        SYNTAX      Integer32 (2..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time-to-live value expressed as a multiple of the
            lldpMessageTxInterval object.The actual time-to-live value
            used in LLDP frames, transmitted on behalf of this LLDP agent,
            can be expressed by the following formula: TTL = min(65535,
            (lldpMessageTxInterval * lldpMessageTxHoldMultiplier))"
        --DEFVAL     { 4 }

        ::= { l2LLDPGroup 6 }

    lldpReinitDelay OBJECT-TYPE
        SYNTAX      Integer32 (1..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used for LLDP Reinitialization Delay.
            The timer in units of seconds."
        --DEFVAL     { 2 }

        ::= { l2LLDPGroup 7 }

    lldpTxDelay OBJECT-TYPE
        SYNTAX      Integer32 (1..8192)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The lldpTxDelay indicates the delay (in units
            of seconds) between successive LLDP frame transmissions
            initiated by value/status changes in the LLDP local systems
            MIB.  The recommended value for the lldpTxDelay is set by the
            following  formula:

            1 <= lldpTxDelay <= (0.25 * lldpMessageTxInterval)."
        --DEFVAL     { 2 }

        ::= { l2LLDPGroup 8 }

--
--  ***********************************************************
--
--              D-Link LLDP Port Settings
--
--  ***********************************************************
--

    lldpPortConfigTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The table that controls LLDP frame transmission on individual
                ports."
        ::= { l2LLDPGroup 10 }

    lldpPortConfigEntry   OBJECT-TYPE
        SYNTAX      LldpPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "LLDP configuration information for a particular port.
                This configuration parameter controls the transmission and
                the reception of LLDP frames on those ports whose rows are
                created in this table."
         INDEX  { lldpPortConfigPortNum }
        ::= { lldpPortConfigTable 1 }

    LldpPortConfigEntry ::= SEQUENCE {
        lldpPortConfigPortNum            LldpPortNumber,
        lldpPortConfigAdminStatus        INTEGER,
        lldpPortConfigSubtype            INTEGER,
        lldpPortConfigTLVsTxEnable       BITS,
        lldpPortStatsClear              Integer32,
        lldpPortNeighborClear           Integer32
}

    lldpPortConfigPortNum   OBJECT-TYPE
        SYNTAX      LldpPortNumber
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The index value used to identify the port component
                (contained in the local chassis with the LLDP agent)
                associated with this entry.

                The value of this object is used as a port index to the
                lldpPortConfigTable."
        ::= { lldpPortConfigEntry 1 }

    lldpPortConfigAdminStatus  OBJECT-TYPE
        SYNTAX INTEGER {
           txOnly(1),
           rxOnly(2),
           txAndRx(3),
           disabled(4)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The administratively desired status of the local LLDP agent.

                If the associated lldpPortConfigAdminStatus object has a
                value of 'txOnly(1)', then LLDP agent will transmit LLDP
                frames on this port and it will not store any information
                about the remote systems connected.

                If the associated lldpPortConfigAdminStatus object has a
                value of 'rxOnly(2)', then the LLDP agent will receive,
                but it will not transmit LLDP frames on this port.

                If the associated lldpPortConfigAdminStatus object has a
                value of 'txAndRx(3)', then the LLDP agent will transmit
                and receive LLDP frames on this port.

                If the associated lldpPortConfigAdminStatus object has a
                value of 'disabled(4)', then LLDP agent will not transmit or
                receive LLDP frames on this port.  If there is remote systems
                information which is received on this port and stored in
                other tables, before the port's lldpPortConfigAdminStatus
                becomes disabled, then the information will naturally age out."
        REFERENCE
                "IEEE 802.1AB-2005 10.5.1"
        DEFVAL  { txAndRx }
       ::= { lldpPortConfigEntry 2 }

    lldpPortConfigSubtype  OBJECT-TYPE
        SYNTAX INTEGER {
           local(1),
           macAddress(2)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "LLDP Port Settings Subtype."
        DEFVAL  { local }
       ::= { lldpPortConfigEntry 3 }
--
--  ***********************************************************
--
--              D-Link LLDP Basic TLVs Settings
--
--  ***********************************************************
--
    lldpPortConfigTLVsTxEnable OBJECT-TYPE
        SYNTAX      BITS {
                portDesc(0),
                sysName(1),
                sysDesc(2),
                sysCap(3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The lldpPortConfigTLVsTxEnable, defined as a bitmap,
                includes the basic set of LLDP TLVs whose transmission is
                allowed on the local LLDP agent by the network management.
                Each bit in the bitmap corresponds to a TLV type associated
                with a specific optional TLV.

                It should be noted that the organizationally-specific TLVs
                are excluded from the lldpTLVsTxEnable bitmap.

                LLDP Organization Specific Information Extension MIBs should
                have similar configuration object to control transmission
                of their organizationally defined TLVs.

                The bit 'portDesc(0)' indicates that LLDP agent should
                transmit 'Port Description TLV'.

                The bit 'sysName(1)' indicates that LLDP agent should transmit
                'System Name TLV'.

                The bit 'sysDesc(2)' indicates that LLDP agent should transmit
                'System Description TLV'.

                The bit 'sysCap(3)' indicates that LLDP agent should transmit
                'System Capabilities TLV'.

                There is no bit reserved for the management address TLV type
                since transmission of management address TLVs are controlled
                by another object, lldpConfigManAddrTable.

                The default value for lldpPortConfigTLVsTxEnable object is
                empty set, which means no enumerated values are set.

                The value of this object must be restored from non-volatile
                storage after a re-initialization of the management system."
        REFERENCE
                "IEEE 802.1AB-2005 10.2.1.1"
    --    DEFVAL  { { } }
        ::= { lldpPortConfigEntry 4 }
 lldpPortStatsClear  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "trigger port statisc clear.."
   
       ::= { lldpPortConfigEntry 5 }

    lldpPortNeighborClear  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "trigger port neighbor info  clear.."
   
       ::= { lldpPortConfigEntry 6}
--
--  ***********************************************************
--
--              D-Link LLDP Management Address List
--
--  ***********************************************************
--
-- lldpManAddrConfigTxPortsTable : selection of management addresses
--                                 to be transmitted on a specified set
--                                 of ports.
--

	lldpConfigManAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpConfigManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls selection of LLDP management address
            TLV instances to be transmitted on individual ports."
    ::= { l2LLDPGroup 11 }

	lldpConfigManAddrEntry  OBJECT-TYPE
		SYNTAX      LldpConfigManAddrEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"LLDP configuration information that specifies the set
				of ports (represented as a PortList) on which the local
				system management address instance will be transmitted.

				Each active lldpConfigManAddrEntry must be restored from
				non-volatile and re-created (along with the corresponding
				lldpLocManAddrEntry) after a re-initialization of the
				management system."
		INDEX   { lldpConfigManAddrSubtype,
				lldpConfigManAddr }
		::= { lldpConfigManAddrTable 1 }

	LldpConfigManAddrEntry  ::= SEQUENCE {
		lldpConfigManAddrSubtype        AddressFamilyNumbers,
		lldpConfigManAddr               InetAddress,
		lldpConfigManAddrPortsTxEnable  LldpPortList
	}

	lldpConfigManAddrSubtype  OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of management address identifier encoding used in
            the associated 'lldpLocManagmentAddr' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.3"
    ::= { lldpConfigManAddrEntry 1 }

	lldpConfigManAddr  OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the local system.  The purpose of
            this address is to contact the management entity."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.4"
    ::= { lldpConfigManAddrEntry 2 }

    lldpConfigManAddrPortsTxEnable  OBJECT-TYPE
    SYNTAX        LldpPortList
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
            "A set of ports that are identified by a PortList, in which
            each port is represented as a bit.  The corresponding local
            system management address instance will be transmitted on the
            member ports of the lldpManAddrPortsTxEnable.

            The default value for lldpConfigManAddrPortsTxEnable object
            is empty binary string, which means no ports are specified
            for advertising indicated management address instance."
    REFERENCE
            "IEEE 802.1AB-2005 10.2.1.1"
    DEFVAL  { ''H }     -- empty binary string
    ::= { lldpConfigManAddrEntry 3 }

--
--  ***********************************************************
--
--              LLDP Statistics Information
--
--  ***********************************************************
--

lldpStatsRemTablesLastChangeTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime object (defined in IETF RFC 3418)
            at the time an entry is created, modified, or deleted in the
            in tables associated with the lldpRemoteSystemsData objects
            and all LLDP extension objects associated with remote systems.

            An NMS can use this object to reduce polling of the
            lldpRemoteSystemsData objects."
    ::= { lldpStatistics 1 }

lldpStatsRemTablesInserts OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been inserted into tables
            contained in lldpRemoteSystemsData and lldpExtensions objects.

            The complete set of information received from a particular
            MSAP should be inserted into related tables.  If partial
            information cannot be inserted for a reason such as lack
            of resources, all of the complete set of information should
            be removed.

            This counter should be incremented only once after the
            complete set of information is successfully recorded
            in all related tables.  Any failures during inserting
            information set which result in deletion of previously
            inserted information should not trigger any changes in
            lldpStatsRemTablesInserts since the insert is not completed
            yet or or in lldpStatsRemTablesDeletes, since the deletion
            would only be a partial deletion. If the failure was the
            result of lack of resources, the lldpStatsRemTablesDrops
            counter should be incremented once."
    ::= { lldpStatistics 2 }

lldpStatsRemTablesDeletes   OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from
            tables contained in lldpRemoteSystemsData and lldpExtensions
            objects.

            This counter should be incremented only once when the
            complete set of information is completely deleted from all
            related tables.  Partial deletions, such as deletion of
            rows associated with a particular MSAP from some tables,
            but not from all tables are not allowed, thus should not
            change the value of this counter."
    ::= { lldpStatistics 3 }

lldpStatsRemTablesDrops  OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only

    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP could not be entered into
            tables contained in lldpRemoteSystemsData and lldpExtensions
            objects because of insufficient resources."
    ::= { lldpStatistics 4 }

lldpStatsRemTablesAgeouts   OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from tables
            contained in lldpRemoteSystemsData and lldpExtensions objects
            because the information timeliness interval has expired.

            This counter should be incremented only once when the complete
            set of information is completely invalidated (aged out)
            from all related tables.  Partial aging, similar to deletion
            case, is not allowed, and thus, should not change the value
            of this counter."
    ::= { lldpStatistics 5 }
--
-- TX statistics
--

lldpStatsTxPortTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpStatsTxPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing LLDP transmission statistics for
            individual ports.  Entries are not required to exist in
            this table while the lldpPortConfigEntry object is equal to
            'disabled(4)'."
    ::= { lldpStatistics 6 }

lldpStatsTxPortEntry   OBJECT-TYPE
     SYNTAX      LldpStatsTxPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "LLDP frame transmission statistics for a particular port.
             The port must be contained in the same chassis as the
             LLDP agent.

             All counter values in a particular entry shall be
             maintained on a continuing basis and shall not be deleted
             upon expiration of rxInfoTTL timing counters in the LLDP
             remote systems MIB of the receipt of a shutdown frame from
             a remote LLDP agent.

             All statistical counters associated with a particular
             port on the local LLDP agent become frozen whenever the
             adminStatus is disabled for the same port."
     INDEX  { lldpStatsTxPortNum }
     ::= { lldpStatsTxPortTable 1 }

LldpStatsTxPortEntry ::= SEQUENCE {
      lldpStatsTxPortNum                 LldpPortNumber,
      lldpStatsTxPortFramesTotal         Counter32
}

lldpStatsTxPortNum   OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.

            The value of this object is used as a port index to the
            lldpStatsTable."
    ::= { lldpStatsTxPortEntry 1 }

lldpStatsTxPortFramesTotal  OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
            "The number of LLDP frames transmitted by this LLDP agent
            on the indicated port."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.1"
    ::= { lldpStatsTxPortEntry 2 }

--
-- RX statistics
--

lldpRxStatsPortTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpRxStatsPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing LLDP reception statistics for individual
            ports.  Entries are not required to exist in this table while
            the lldpPortConfigEntry object is equal to 'disabled(4)'."
    ::= { lldpStatistics 7 }

lldpRxStatsPortEntry   OBJECT-TYPE
     SYNTAX      LldpRxStatsPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "LLDP frame reception statistics for a particular port.
             The port must be contained in the same chassis as the
             LLDP agent.

             All counter values in a particular entry shall be
             maintained on a continuing basis and shall not be deleted
             upon expiration of rxInfoTTL timing counters in the LLDP
             remote systems MIB of the receipt of a shutdown frame from
             a remote LLDP agent.

             All statistical counters associated with a particular
             port on the local LLDP agent become frozen whenever the
             adminStatus is disabled for the same port."
     INDEX  { lldpStatsRxPortNum }
     ::= { lldpRxStatsPortTable 1 }

LldpRxStatsPortEntry ::= SEQUENCE {
      lldpStatsRxPortNum                   LldpPortNumber,
      lldpStatsRxPortFramesDiscardedTotal  Counter32,
      lldpStatsRxPortFramesErrors          Counter32,
      lldpStatsRxPortFramesTotal           Counter32,
      lldpStatsRxPortTLVsDiscardedTotal    Counter32,
      lldpStatsRxPortTLVsUnrecognizedTotal Counter32,
      lldpStatsRxPortAgeoutsTotal          ZeroBasedCounter32
}

lldpStatsRxPortNum   OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.

            The value of this object is used as a port index to the
            lldpStatsTable."
    ::= { lldpRxStatsPortEntry 1 }

lldpStatsRxPortFramesDiscardedTotal OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of LLDP frames received by this LLDP agent on
            the indicated port, and then discarded for any reason.
            This counter can provide an indication that LLDP header
            formating problems may exist with the local LLDP agent in
            the sending system or that LLDPDU validation problems may
            exist with the local LLDP agent in the receiving system."
   REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
   ::= { lldpRxStatsPortEntry 2 }

lldpStatsRxPortFramesErrors  OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
            "The number of invalid LLDP frames received by this LLDP
            agent on the indicated port, while this LLDP agent is enabled."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
    ::= { lldpRxStatsPortEntry 3 }

lldpStatsRxPortFramesTotal OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
            "The number of valid LLDP frames received by this LLDP agent
            on the indicated port, while this LLDP agent is enabled."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
    ::= { lldpRxStatsPortEntry 4 }

lldpStatsRxPortTLVsDiscardedTotal OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
            "The number of LLDP TLVs discarded for any reason by this LLDP
            agent on the indicated port."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
    ::= { lldpRxStatsPortEntry 5 }

lldpStatsRxPortTLVsUnrecognizedTotal  OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
            "The number of LLDP TLVs received on the given port that
            are not recognized by this LLDP agent on the indicated port.

            An unrecognized TLV is referred to as the TLV whose type value
            is in the range of reserved TLV types (000 1001 - 111 1110)
            in Table 9.1 of IEEE Std 802.1AB-2005.  An unrecognized
            TLV may be a basic management TLV from a later LLDP version."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
    ::= { lldpRxStatsPortEntry 6 }

lldpStatsRxPortAgeoutsTotal   OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The counter that represents the number of age-outs that
            occurred on a given port.  An age-out is the number of
            times the complete set of information advertised by a
            particular MSAP has been deleted from tables contained in
            lldpRemoteSystemsData and lldpExtensions objects because
            the information timeliness interval has expired.

            This counter is similar to lldpStatsRemTablesAgeouts, except
            that the counter is on a per port basis.  This enables NMS to
            poll tables associated with the lldpRemoteSystemsData objects
            and all LLDP extension objects associated with remote systems
            on the indicated port only.

            This counter should be set to zero during agent initialization
            and its value should not be saved in non-volatile storage.
            When a port's admin status changes from 'disabled' to
            'rxOnly', 'txOnly' or 'txAndRx', the counter associated with
            the same port should reset to 0.  The agent should also flush
            all remote system information associated with the same port.

            This counter should be incremented only once when the
            complete set of information is invalidated (aged out) from
            all related tables on a particular port.  Partial aging
            is not allowed, and thus, should not change the value of
            this counter."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.2.2"
    ::= { lldpRxStatsPortEntry 7 }

lldpStatsRemTablesClear   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "clear the statisc of remote tables ,1 indicate trigger clear"
    ::= { lldpStatistics 8}
--
--  ***********************************************************
--
--          LLDP Local Port Information
--
--  ***********************************************************
--
lldpLocChassisIdSubtype  OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of encoding used to identify the chassis
            associated with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.2"
    ::= { lldpLocalSystemData 1 }

lldpLocChassisId  OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the chassis component
            associated with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.3"
    ::= { lldpLocalSystemData 2 }

lldpLocSysName  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system name of the
            local system.  If the local agent supports IETF RFC 3418,
            lldpLocSysName object should have the same value of sysName
            object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.6.2"
    ::= { lldpLocalSystemData 3 }

lldpLocSysDesc  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system description
            of the local system.  If the local agent supports IETF RFC 3418,
            lldpLocSysDesc object should have the same value of sysDesc
            object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.7.2"
    ::= { lldpLocalSystemData 4 }

 lldpLocSysCapSupported  OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are supported  on the local system."

    REFERENCE
            "IEEE 802.1AB-2005 9.5.8.1"
    ::= { lldpLocalSystemData 5 }

  lldpLocSysCapEnabled  OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are enabled on the local system."

    REFERENCE
            "IEEE 802.1AB-2005 9.5.7.2"
    ::= { lldpLocalSystemData 6 }

--
-- lldpLocPortTable : Port specific Local system data
--

lldpLocPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpLocPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per port information
            associated with the local system known to this agent."
    ::= { lldpLocalSystemData 7 }

lldpLocPortEntry OBJECT-TYPE
    SYNTAX      LldpLocPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular port component.

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { lldpLocPortNum }
    ::= { lldpLocPortTable 1 }

LldpLocPortEntry ::= SEQUENCE {
      lldpLocPortNum                LldpPortNumber,
      lldpLocPortIdSubtype          INTEGER,
      lldpLocPortId                 OCTET STRING,
      lldpLocPortDesc               SnmpAdminString
}

lldpLocPortNum  OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.

            The value of this object is used as a port index to the
            lldpLocPortTable."
    ::= { lldpLocPortEntry 1 }

lldpLocPortIdSubtype  OBJECT-TYPE
    SYNTAX      INTEGER {
           local(1),
           macAddress(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of port identifier encoding used in the associated
            'lldpLocPortId' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.3.2"
    ::= { lldpLocPortEntry 2 }

lldpLocPortId  OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the port component
            associated with a given port in the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.3.3"
    ::= { lldpLocPortEntry 3 }

lldpLocPortDesc  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the 802 LAN station's port
            description associated with the local system.  If the local
            agent supports IETF RFC 2863, lldpLocPortDesc object should
            have the same value of ifDescr object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.5.2"
    ::= { lldpLocPortEntry 4 }

--
-- lldpLocManAddrTable : Management addresses of the local system
--

lldpLocManAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpLocManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains management address information on the
            local system known to this agent."
    ::= { lldpLocalSystemData 8 }

lldpLocManAddrEntry OBJECT-TYPE
    SYNTAX      LldpLocManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management address information about a particular chassis
            component.  There may be multiple management addresses
            configured on the system identified by a particular
            lldpLocChassisId.  Each management address should have
            distinct 'management address type' (lldpLocManAddrSubtype) and
            'management address' (lldpLocManAddr.)

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { lldpLocManAddrSubtype,
              lldpLocManAddr }
    ::= { lldpLocManAddrTable 1 }

LldpLocManAddrEntry ::= SEQUENCE {
      lldpLocManAddrSubtype    AddressFamilyNumbers,
      lldpLocManAddr           InetAddress,
      lldpLocManAddrLen        Integer32,
      lldpLocManAddrIfSubtype  LldpManAddrIfSubtype,
      lldpLocManAddrIfId       Integer32,
      lldpLocManAddrOID        OBJECT IDENTIFIER
}

lldpLocManAddrSubtype  OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of management address identifier encoding used in
            the associated 'lldpLocManagmentAddr' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.3"
    ::= { lldpLocManAddrEntry 1 }

lldpLocManAddr  OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the local system.  The purpose of
            this address is to contact the management entity."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.4"
    ::= { lldpLocManAddrEntry 2 }

lldpLocManAddrLen  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total length of the management address subtype and the
            management address fields in LLDPDUs transmitted by the
            local LLDP agent.

            The management address length field is needed so that the
            receiving systems that do not implement SNMP will not be
            required to implement an iana family numbers/address length
            equivalency table in order to decode the management adress."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.2"
    ::= { lldpLocManAddrEntry 3 }


lldpLocManAddrIfSubtype  OBJECT-TYPE
    SYNTAX      LldpManAddrIfSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The enumeration value that identifies the interface numbering
            method used for defining the interface number, associated
            with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.5"
    ::= { lldpLocManAddrEntry 4 }

lldpLocManAddrIfId  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the interface number
            regarding the management address component associated with
            the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.6"
    ::= { lldpLocManAddrEntry 5 }

lldpLocManAddrOID  OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The OID value used to identify the type of hardware component
            or protocol entity associated with the management address
            advertised by the local system agent."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.8"
    ::= { lldpLocManAddrEntry 6 }
--  ***********************************************************
--
--          D-Link LLDP Neighbor Port Information
--
--  ***********************************************************
lldpRemTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpRemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per physical network
            connection known to this agent.  The agent may wish to ensure
            that only one lldpRemEntry is present for each local port,
            or it may choose to maintain multiple lldpRemEntries for
            the same local port.

            The following procedure may be used to retrieve remote
            systems information updates from an LLDP agent:

               1. NMS polls all tables associated with remote systems
                  and keeps a local copy of the information retrieved.
                  NMS polls periodically the values of the following
                  objects:
                     a. lldpStatsRemTablesInserts
                     b. lldpStatsRemTablesDeletes
                     c. lldpStatsRemTablesDrops
                     d. lldpStatsRemTablesAgeouts
                     e. lldpStatsRxPortAgeoutsTotal for all ports.

               2. LLDP agent updates remote systems MIB objects, and
                  sends out notifications to a list of notification
                  destinations.

               3. NMS receives the notifications and compares the new
                  values of objects listed in step 1.

                  Periodically, NMS should poll the object
                  lldpStatsRemTablesLastChangeTime to find out if anything
                  has changed since the last poll.  if something has
                  changed, NMS will poll the objects listed in step 1 to
                  figure out what kind of changes occurred in the tables.

                  if value of lldpStatsRemTablesInserts has changed,
                  then NMS will walk all tables by employing TimeFilter
                  with the last-polled time value.  This request will
                  return new objects or objects whose values are updated
                  since the last poll.

                  if value of lldpStatsRemTablesAgeouts has changed,
                  then NMS will walk the lldpStatsRxPortAgeoutsTotal and
                  compare the new values with previously recorded ones.
                  For ports whose lldpStatsRxPortAgeoutsTotal value is
                  greater than the recorded value, NMS will have to
                  retrieve objects associated with those ports from
                  table(s) without employing a TimeFilter (which is
                  performed by specifying 0 for the TimeFilter.)

                  lldpStatsRemTablesDeletes and lldpStatsRemTablesDrops
                  objects are provided for informational purposes."
    ::= { lldpRemoteSystemsData 1 }

lldpRemEntry OBJECT-TYPE
    SYNTAX      LldpRemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular physical network connection.
            Entries may be created and deleted in this table by the agent,
            if a physical topology discovery process is active."
    INDEX   {
           lldpRemTimeMark,
           lldpRemLocalPortNum,
           lldpRemIndex
    }
    ::= { lldpRemTable 1 }

LldpRemEntry ::= SEQUENCE {
      lldpRemTimeMark           TimeFilter,
      lldpRemLocalPortNum       LldpPortNumber,
      lldpRemIndex              Integer32,
      lldpRemChassisIdSubtype   LldpChassisIdSubtype,
      lldpRemChassisId          LldpChassisId,
      lldpRemPortIdSubtype      LldpPortIdSubtype,
      lldpRemPortId             LldpPortId,
      lldpRemPortDesc           SnmpAdminString,
      lldpRemSysName            SnmpAdminString,
      lldpRemSysDesc            SnmpAdminString,
      lldpRemSysCapSupported    LldpSystemCapabilitiesMap,
      lldpRemSysCapEnabled      LldpSystemCapabilitiesMap
}

lldpRemTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpRemEntry 1 }

lldpRemLocalPortNum  OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.  The lldpRemLocalPortNum
            identifies the port on which the remote system information
            is received.

            The value of this object is used as a port index to the
            lldpRemTable."
    ::= { lldpRemEntry 2 }

lldpRemIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemIndex
            will wrap between reboots."
    ::= { lldpRemEntry 3 }

lldpRemChassisIdSubtype  OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of encoding used to identify the chassis associated
            with the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.2"
    ::= { lldpRemEntry 4 }

lldpRemChassisId  OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the chassis component
            associated with the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.3"
    ::= { lldpRemEntry 5 }

lldpRemPortIdSubtype  OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of port identifier encoding used in the associated
            'lldpRemPortId' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.3.2"
    ::= { lldpRemEntry 6 }

lldpRemPortId  OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the port component
            associated with the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.3.3"
    ::= { lldpRemEntry 7 }

lldpRemPortDesc  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the description of
            the given port associated with the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.5.2"
    ::= { lldpRemEntry 8 }

lldpRemSysName  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system name of the
            remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.6.2"
    ::= { lldpRemEntry 9 }

lldpRemSysDesc  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system description
            of the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.7.2"
    ::= { lldpRemEntry 10 }

lldpRemSysCapSupported OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are supported on the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.8.1"
    ::= { lldpRemEntry 11 }

lldpRemSysCapEnabled  OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are enabled on the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.8.2"
    ::= { lldpRemEntry 12 }


--
-- lldpRemManAddrTable : Management addresses of the remote system
--

lldpRemManAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpRemManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per management address
            information on the remote system learned on a particular port
            contained in the local chassis known to this agent."
    ::= { lldpRemoteSystemsData 2 }

lldpRemManAddrEntry OBJECT-TYPE
    SYNTAX      LldpRemManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management address information about a particular chassis
            component.  There may be multiple management addresses
            configured on the remote system identified by a particular
            lldpRemIndex whose information is received on
            lldpRemManLocalPortNum of the local system.  Each management
            address should have distinct 'management address
            type' (lldpRemManAddrSubtype) and 'management address'
            (lldpRemManAddr.)

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { lldpRemManTimeMark,
              lldpRemManLocalPortNum,
              lldpRemManIndex,
              lldpRemManAddrSubtype,
              lldpRemManAddr
 }
    ::= { lldpRemManAddrTable 1 }

LldpRemManAddrEntry ::= SEQUENCE {
	  lldpRemManTimeMark        TimeFilter,
      lldpRemManLocalPortNum    LldpPortNumber,
      lldpRemManIndex           Integer32,
      lldpRemManAddrSubtype     AddressFamilyNumbers,
      lldpRemManAddr            InetAddress,
      lldpRemManAddrIfSubtype   LldpManAddrIfSubtype,
      lldpRemManAddrIfId        Integer32,
      lldpRemManAddrOID         OBJECT IDENTIFIER
}

lldpRemManTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpRemManAddrEntry 1 }

lldpRemManLocalPortNum  OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.  The lldpRemManLocalPortNum
            identifies the port on which the remote system information
            is received.

            The value of this object is used as a port index to the
            lldpRemTable."
    ::= { lldpRemManAddrEntry 2 }

lldpRemManIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemManIndex
            will wrap between reboots."
    ::= { lldpRemManAddrEntry 3 }

lldpRemManAddrSubtype  OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of management address identifier encoding used in
            the associated 'lldpRemManagmentAddr' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.3"
    ::= { lldpRemManAddrEntry 4 }

lldpRemManAddr  OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the remote system.  The purpose
            of this address is to contact the management entity."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.4"
    ::= { lldpRemManAddrEntry 5 }

lldpRemManAddrIfSubtype  OBJECT-TYPE
    SYNTAX      LldpManAddrIfSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The enumeration value that identifies the interface numbering
            method used for defining the interface number, associated
            with the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.5"
    ::= { lldpRemManAddrEntry 6 }

lldpRemManAddrIfId  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the interface number
            regarding the management address component associated with
            the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.6"
    ::= { lldpRemManAddrEntry 7 }

lldpRemManAddrOID  OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The OID value used to identify the type of hardware component
            or protocol entity associated with the management address
            advertised by the remote system agent."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.8"
    ::= { lldpRemManAddrEntry 8 }

--
-- lldpRemUnknownTLVTable : Unrecognized TLV information
--
lldpRemUnknownTLVTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpRemUnknownTLVEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains information about an incoming TLV which
            is not recognized by the receiving LLDP agent.  The TLV may
            be from a later version of the basic management set.

            This table should only contain TLVs that are found in
            a single LLDP frame.  Entries in this table, associated
            with an MAC service access point (MSAP, the access point
            for MAC services provided to the LCC sublayer, defined
            in IEEE 100, which is also identified with a particular
            lldpRemLocalPortNum, lldpRemIndex pair) are overwritten with
            most recently received unrecognized TLV from the same MSAP,
            or they will naturally age out when the rxInfoTTL timer
            (associated with the MSAP) expires."
    REFERENCE
            "IEEE 802.1AB-2005 10.3.2"
    ::= { lldpRemoteSystemsData 3 }

lldpRemUnknownTLVEntry OBJECT-TYPE
    SYNTAX      LldpRemUnknownTLVEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about an unrecognized TLV received from a
            physical network connection.  Entries may be created and
            deleted in this table by the agent, if a physical topology
            discovery process is active."
    INDEX   {
           lldpRemUnknownTimeMark,
           lldpRemUnknownLocalPortNum,
           lldpRemUnknownIndex,
           lldpRemUnknownTLVType
    }
    ::= { lldpRemUnknownTLVTable 1 }

LldpRemUnknownTLVEntry ::= SEQUENCE {
	  lldpRemUnknownTimeMark           TimeFilter,
      lldpRemUnknownLocalPortNum       LldpPortNumber,
      lldpRemUnknownIndex              Integer32,
      lldpRemUnknownTLVType     Integer32,
      lldpRemUnknownTLVInfo     OCTET STRING
}


lldpRemUnknownTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpRemUnknownTLVEntry 1 }

lldpRemUnknownLocalPortNum  OBJECT-TYPE
    SYNTAX      LldpPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index value used to identify the port component
            (contained in the local chassis with the LLDP agent)
            associated with this entry.  The lldpRemUnknownLocalPortNum
            identifies the port on which the remote system information
            is received.

            The value of this object is used as a port index to the
            lldpRemTable."
    ::= { lldpRemUnknownTLVEntry 2 }

lldpRemUnknownIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemUnknownIndex
            will wrap between reboots."
    ::= { lldpRemUnknownTLVEntry 3 }


lldpRemUnknownTLVType OBJECT-TYPE
    SYNTAX      Integer32(9..126)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents the value extracted from the type
            field of the TLV."
    REFERENCE
            "IEEE 802.1AB-2005 10.3.5"
    ::= { lldpRemUnknownTLVEntry 4 }

lldpRemUnknownTLVInfo OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..511))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents the value extracted from the value
            field of the TLV."
    REFERENCE
            "IEEE 802.1AB-2005 10.3.5"
    ::= { lldpRemUnknownTLVEntry 5 }


    lldpXdot1Objects         OBJECT IDENTIFIER ::= { l2LLDPGroup 13 }

--
-- D-Link Defined LLDP Extension Dot1 MIB Objects
--

	-- LLDP IEEE 802.1 extension MIB groups
	lldpXdot1Config     OBJECT IDENTIFIER ::= { lldpXdot1Objects 1 }
	lldpXdot1LocalData  OBJECT IDENTIFIER ::= { lldpXdot1Objects 2 }
	lldpXdot1RemoteData OBJECT IDENTIFIER ::= { lldpXdot1Objects 3 }
	------------------------------------------------------------------------------
	-- IEEE 802.1 - Configuration
	------------------------------------------------------------------------------
	--
	-- lldpXdot1ConfigPortVlanTable : configure the transmission of the
	--                                Port VLAN-ID TLVs on set of ports.
	--

	lldpXdot1ConfigPortVlanTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigPortVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "A table that controls selection of LLDP Port VLAN-ID TLVs
	            to be transmitted on individual ports."
	    ::= { lldpXdot1Config 1 }

	lldpXdot1ConfigPortVlanEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigPortVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that controls the
	            transmission of IEEE 802.1 organizationally defined Port
	            VLAN-ID TLV on LLDP transmission capable ports.


	            Each active lldpConfigEntry must be restored from non-volatile
	            storage (along with the corresponding sysLLDPPortConfigEntry)
	            after a re-initialization of the management system."
	    INDEX  { lldpXdot1ConfigVlanPortNum }
	    ::= { lldpXdot1ConfigPortVlanTable 1 }

	LldpXdot1ConfigPortVlanEntry ::= SEQUENCE {
		  lldpXdot1ConfigVlanPortNum            LldpPortNumber,
	      lldpXdot1ConfigPortVlanTxEnable       TruthValue
	}

	lldpXdot1ConfigVlanPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.

	            The value of this object is used as a port index to the
	            sysLLDPPortConfigTable."
	    ::= { lldpXdot1ConfigPortVlanEntry 1 }

	lldpXdot1ConfigPortVlanTxEnable OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	            "The lldpXdot1ConfigPortVlanTxEnable, which is defined as
	            a truth value and configured by the network management,
	            determines whether the IEEE 802.1 organizationally defined
	            port VLAN TLV transmission is allowed on a given LLDP
	            transmission capable port.

	            The value of this object must be restored from non-volatile
	            storage after a re-initialization of the management system."
	    REFERENCE
	            "IEEE 802.1AB-2005 10.2.1.1"
	    DEFVAL  { false }
	    ::= { lldpXdot1ConfigPortVlanEntry 2 }
		--
	-- lldpXdot1ConfigVlanNameTable : configure the transmission of the
	--                                VLAN name instances on set of ports.
	--

	lldpXdot1ConfigVlanNameTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls selection of LLDP VLAN name TLV
	            instances to be transmitted on individual ports."
	    ::= { lldpXdot1Config 2 }

	lldpXdot1ConfigVlanNameEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that specifies the set of
	            ports (represented as a PortList) on which the Local System
	            VLAN name instance will be transmitted.

	            Each active lldpXdot1ConfigVlanNameEntry must be restored
	            from non-volatile storage (along with the corresponding
	            lldpXdot1LocVlanNameEntry) after a re-initialization of the
	            management system."
	    INDEX   { lldpXdot1LocConfigVlanNamePortNum }
	    ::= { lldpXdot1ConfigVlanNameTable 1 }

	LldpXdot1ConfigVlanNameEntry ::= SEQUENCE {
		  lldpXdot1LocConfigVlanNamePortNum    LldpPortNumber,
		  lldpXdot1ConfigVlanNameTxEnableVlanList    OCTET STRING 
	}

	lldpXdot1LocConfigVlanNamePortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocPortTable."
	    ::= { lldpXdot1ConfigVlanNameEntry  1 }

	lldpXdot1ConfigVlanNameTxEnableVlanList  OBJECT-TYPE
	    SYNTAX        OCTET STRING (SIZE (0..512))
	    MAX-ACCESS    read-write
	    STATUS        current
	    DESCRIPTION
	            "The value that indicates whether the corresponding
	            Local System VLAN name instance will be transmitted on this port"

	    ::= { lldpXdot1ConfigVlanNameEntry 2 }

    --
    -- lldpXdot1ConfigProtoVlanTable : configure the transmission of the
    --                                 protocol VLAN instances on set
    --                                 of ports.
    --

    lldpXdot1ConfigProtoVlanTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXdot1ConfigProtoVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The table that controls selection of LLDP Port and Protocol
                VLAN ID TLV instances to be transmitted on individual ports."
        ::= { lldpXdot1Config 3 }

    lldpXdot1ConfigProtoVlanEntry  OBJECT-TYPE
        SYNTAX      LldpXdot1ConfigProtoVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "LLDP configuration information that specifies the set of
                ports (represented as a PortList) on which the Local System
                Protocol VLAN instance will be transmitted.

                This configuration object augments the lldpXdot1LocVlanEntry,
                therefore it is only present along with the Port and
                Protocol VLAN ID instance contained in the associated
                lldpXdot1LocVlanEntry entry.

                Each active lldpXdot1ConfigProtoVlanEntry must be restored
                from non-volatile storage (along with the corresponding
                lldpXdot1LocProtoVlanEntry) after a re-initialization of
                the management system."
        INDEX   { lldpXdot1ConfigProtoVlanPortNum }

        ::= { lldpXdot1ConfigProtoVlanTable 1 }

    LldpXdot1ConfigProtoVlanEntry ::= SEQUENCE {
          lldpXdot1ConfigProtoVlanPortNum    LldpPortNumber,
          lldpXdot1ConfigProtoVlanTxEnable   TruthValue
    }

	lldpXdot1ConfigProtoVlanPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocPortTable."
	    ::= { lldpXdot1ConfigProtoVlanEntry  1 }

    lldpXdot1ConfigProtoVlanTxEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "The boolean value that indicates whether the corresponding
                Local System Port and Protocol VLAN instance will
                be transmitted on the port defined by the given
                lldpXdot1LocProtoVlanEntry.

                The value of this object must be restored from non-volatile
                storage after a re-initialization of the management system."
        REFERENCE
                "IEEE 802.1AB-2005 10.2.1.1"
        DEFVAL  { false }
        ::= { lldpXdot1ConfigProtoVlanEntry 2 }

    --
	-- lldpXdot1ConfigProtocolTable : configure the transmission of the
	--                                protocol instances on set
	--                                of ports.
	--

	lldpXdot1ConfigProtocolTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls selection of LLDP Protocol
	            TLV instances to be transmitted on individual ports."
	    ::= { lldpXdot1Config 4 }

	lldpXdot1ConfigProtocolEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that specifies the set of
	            ports (represented as a PortList) on which the Local System
	            Protocol instance will be transmitted.

	            Each active lldpXdot1ConfigProtocolEntry must be restored
	            from non-volatile storage (along with the corresponding
	            lldpXdot1LocProtocolEntry) after a re-initialization of the
	            management system."
	    INDEX   { lldpXdot1ConfigProtocolPortNum,lldpXdot1ConfigProtocolIndex }
	    ::= { lldpXdot1ConfigProtocolTable 1 }

	LldpXdot1ConfigProtocolEntry ::= SEQUENCE {
		lldpXdot1ConfigProtocolPortNum	   LldpPortNumber,
	      lldpXdot1ConfigProtocolIndex Integer32,
	      lldpXdot1ConfigProtocolTxEnable   TruthValue
	}
	lldpXdot1ConfigProtocolPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot1ConfigProtocolTable."
	    ::= { lldpXdot1ConfigProtocolEntry  1 }
	lldpXdot1ConfigProtocolIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular protocol identity."
	    ::= { lldpXdot1ConfigProtocolEntry 2 }

	lldpXdot1ConfigProtocolTxEnable  OBJECT-TYPE
	    SYNTAX        TruthValue
	    MAX-ACCESS    read-write
	    STATUS        current
	    DESCRIPTION
	            "The boolean value that indicates whether the corresponding
	            Local System Protocol Identity instance will be transmitted
	            on the port defined by the given lldpXdot1LocProtocolEntry.

	            The value of this object must be restored from non-volatile
	            storage after a re-initialization of the management system."
	    REFERENCE
	            "IEEE 802.1AB-2005 10.2.1.1"
	    DEFVAL  { false }
	    ::= { lldpXdot1ConfigProtocolEntry 3 }

	------------------------------------------------------------------------------
	-- IEEE 802.1 - Local System Information
	------------------------------------------------------------------------------
	lldpXdot1LocTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1LocEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port for IEEE 802.1
	            organizationally defined LLDP extension on the local system
	            known to this agent."
	    ::= { lldpXdot1LocalData 1 }

	lldpXdot1LocEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1LocEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about IEEE 802.1 organizationally defined
	            LLDP extension."
	    INDEX   { lldpXdot1LocPortNum }
	    ::= { lldpXdot1LocTable 1 }

	LldpXdot1LocEntry ::= SEQUENCE {
				  lldpXdot1LocPortNum			LldpPortNumber,
				  lldpXdot1LocPortVlanId		Integer32	
				  }
				  
	lldpXdot1LocPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot1LocTable."
	    ::= { lldpXdot1LocEntry  1 }
	    
	lldpXdot1LocPortVlanId OBJECT-TYPE
	    SYNTAX      Integer32(0|1..4094)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The integer value used to identify the port's VLAN identifier
	            associated with the local system.   A value of zero shall
	            be used if the system either does not know the PVID or does
	            not support port-based VLAN operation."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.2.1"
	    ::= { lldpXdot1LocEntry 2 }

    --
    -- lldpXdot1LocProtoVlanTable: Port and Protocol VLAN information
    --

    lldpXdot1LocProtoVlanTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXdot1LocProtoVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains one or more rows per Port and Protocol
                VLAN information about the local system."
        ::= { lldpXdot1LocalData 2 }

    lldpXdot1LocProtoVlanEntry OBJECT-TYPE
        SYNTAX      LldpXdot1LocProtoVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Port and protocol VLAN ID Information about a particular
                port component.  There may be multiple port and protocol VLANs,
                identified by a particular lldpXdot1LocProtoVlanId, configured
                on the given port."
        INDEX   { lldpXdot1LocProtoVlanPortNum, lldpXdot1LocProtoVlanId }
        ::= { lldpXdot1LocProtoVlanTable 1 }

    LldpXdot1LocProtoVlanEntry ::= SEQUENCE {
          lldpXdot1LocProtoVlanPortNum			LldpPortNumber,
          lldpXdot1LocProtoVlanId        Integer32,
          lldpXdot1LocProtoVlanSupported TruthValue,
          lldpXdot1LocProtoVlanEnabled   TruthValue
    }
	lldpXdot1LocProtoVlanPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot1LocTable."
	    ::= { lldpXdot1LocProtoVlanEntry 1 }
	    
    lldpXdot1LocProtoVlanId  OBJECT-TYPE
        SYNTAX      Integer32(0|1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The integer value used to identify the port and protocol
                VLANs associated with the given port associated with the
                local system.  A value of zero shall be used if the system
                either does not know the protocol VLAN ID (PPVID) or does
                not support port and protocol VLAN operation."
        REFERENCE
                "IEEE 802.1AB-2005 F.3.2"
        ::= { lldpXdot1LocProtoVlanEntry 2 }

    lldpXdot1LocProtoVlanSupported  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The truth value used to indicate whether the given port
                (associated with the local system) supports port and protocol
                VLANs."
        REFERENCE
                "IEEE 802.1AB-2005 F.3.1"
        ::= { lldpXdot1LocProtoVlanEntry 3 }

    lldpXdot1LocProtoVlanEnabled  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The truth value used to indicate whether the port and
                protocol VLANs are enabled on the given port associated with
                the local system."
        REFERENCE
                "IEEE 802.1AB-2005 F.3.1"
        ::= { lldpXdot1LocProtoVlanEntry 4 }

	--
	-- lldpXdot1LocVlanNameTable : VLAN name information about the local system
	--

	lldpXdot1LocVlanNameTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1LocVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per IEEE 802.1Q VLAN
	            name information on the local system known to this agent."
	    ::= { lldpXdot1LocalData 3 }

	lldpXdot1LocVlanNameEntry OBJECT-TYPE
	    SYNTAX      LldpXdot1LocVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "VLAN name Information about a particular port component.
	            There may be multiple VLANs, identified by a particular
	            lldpXdot1LocVlanId, configured on the given port."
	    INDEX   { lldpXdot1LocVlanNamePortNum,lldpXdot1LocVlanId }
	    ::= { lldpXdot1LocVlanNameTable 1 }

	LldpXdot1LocVlanNameEntry ::= SEQUENCE {
			lldpXdot1LocVlanNamePortNum	 LldpPortNumber,
	      lldpXdot1LocVlanId     VlanId,
	      lldpXdot1LocVlanName   SnmpAdminString
	}
	lldpXdot1LocVlanNamePortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot1LocVlanNameTable."
	    ::= { lldpXdot1LocVlanNameEntry  1 }
	lldpXdot1LocVlanId  OBJECT-TYPE
	    SYNTAX      VlanId
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The integer value used to identify the IEEE 802.1Q
	            VLAN IDs with which the given port is compatible."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.4.2"
	    ::= { lldpXdot1LocVlanNameEntry 2 }

	lldpXdot1LocVlanName  OBJECT-TYPE
	    SYNTAX      SnmpAdminString (SIZE(1..32))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The string value used to identify VLAN name identified by the
	            Vlan Id associated with the given port on the local system.

	            This object should contain the value of the dot1QVLANStaticName
	            object (defined in IETF RFC 2674) identified with the given
	            lldpXdot1LocVlanId."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.4.4"
	    ::= { lldpXdot1LocVlanNameEntry 3 }
		--
	-- lldpXdot1LocProtocolTable : Protocol Identity information
	--

	lldpXdot1LocProtocolTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1LocProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per protocol identity
	            information on the local system known to this agent."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.5"
	    ::= { lldpXdot1LocalData 4 }

	lldpXdot1LocProtocolEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1LocProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about particular protocols that are accessible
	            through the given port component.

	            There may be multiple protocols, identified by particular
	            lldpXdot1ProtocolIndex, and lldpLocPortNum."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.5"
	    INDEX   { lldpXdot1LocProtocolPortNum,lldpXdot1LocProtocolIndex }
	    ::= { lldpXdot1LocProtocolTable 1 }

	LldpXdot1LocProtocolEntry ::= SEQUENCE {
			lldpXdot1LocProtocolPortNum   LldpPortNumber,
	      lldpXdot1LocProtocolIndex Integer32,
	      lldpXdot1LocProtocolId    OCTET STRING
	}
	lldpXdot1LocProtocolPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot1LocProtocolTable."
	    ::= { lldpXdot1LocProtocolEntry  1 }
	lldpXdot1LocProtocolIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular protocol identity."
	    ::= { lldpXdot1LocProtocolEntry 2 }

	lldpXdot1LocProtocolId  OBJECT-TYPE
	    SYNTAX      OCTET STRING (SIZE (1..255))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The octet string value used to identify the protocols
	            associated with the given port of the local system."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.5.3"
	    ::= { lldpXdot1LocProtocolEntry 3 }
		------------------------------------------------------------------------------
	-- IEEE 802.1 - Remote System Information
	------------------------------------------------------------------------------
	lldpXdot1RemTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1RemEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per physical network
	            connection known to this agent.  The agent may wish to
	            ensure that only one lldpXdot1RemEntry is present for
	            each local port, or it may choose to maintain multiple
	            lldpXdot1RemEntries for the same local port."
	    ::= { lldpXdot1RemoteData 1 }

	lldpXdot1RemEntry OBJECT-TYPE
	    SYNTAX      LldpXdot1RemEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about a particular port component."
	    INDEX   { lldpXdot1RemTimeMark,lldpXdot1RemLocalPortNum,lldpXdot1RemIndex }
	    ::= { lldpXdot1RemTable 1 }

	LldpXdot1RemEntry ::= SEQUENCE {
				lldpXdot1RemTimeMark			  TimeFilter,
				lldpXdot1RemLocalPortNum         LldpPortNumber,
				lldpXdot1RemIndex				 Integer32,
	            lldpXdot1RemPortVlanId         Integer32
	}

	lldpXdot1RemTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXdot1RemEntry 1 }

	lldpXdot1RemLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The ldpXdot1RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.

	            The value of this object is used as a port index to the
	            lldpRemTable."
	    ::= { lldpXdot1RemEntry 2 }

	lldpXdot1RemIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.

	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the ldpXdot1RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot1RemEntry 3 }

	lldpXdot1RemPortVlanId OBJECT-TYPE
	    SYNTAX      Integer32(0|1..4094)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The integer value used to identify the port's VLAN identifier
	            associated with the remote system.  if the remote system
	            either does not know the PVID or does not support port-based
	            VLAN operation, the value of lldpXdot1RemPortVlanId should
	            be zero."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.2.1"
	    ::= { lldpXdot1RemEntry 4 }
	lldpXdot1RemProtoVlanTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpXdot1RemProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per Port and Protocol
            VLAN information about the remote system, received on the
            given port."
    ::= { lldpXdot1RemoteData 2 }

lldpXdot1RemProtoVlanEntry OBJECT-TYPE
    SYNTAX      LldpXdot1RemProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Port and protocol VLAN name Information about a particular
            port component.  There may be multiple protocol VLANs,
            identified by a particular lldpXdot1RemProtoVlanId, configured
            on the remote system."
    INDEX   { lldpXdot1RemProtoVlanTimeMark,
              lldpXdot1RemProtoVlanLocalPortNum,
              lldpXdot1RemProtoVlanIndex,
              lldpXdot1RemProtoVlanId }
    ::= { lldpXdot1RemProtoVlanTable 1 }

LldpXdot1RemProtoVlanEntry ::= SEQUENCE {
	  lldpXdot1RemProtoVlanTimeMark			  TimeFilter,
	  lldpXdot1RemProtoVlanLocalPortNum         LldpPortNumber,
	  lldpXdot1RemProtoVlanIndex				 Integer32,
      lldpXdot1RemProtoVlanId        Integer32,
      lldpXdot1RemProtoVlanSupported TruthValue,
      lldpXdot1RemProtoVlanEnabled   TruthValue
}
	lldpXdot1RemProtoVlanTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXdot1RemProtoVlanEntry 1 }
 lldpXdot1RemProtoVlanLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The ldpXdot1RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.

	            The value of this object is used as a port index to the
	            lldpRemTable."
	    ::= { lldpXdot1RemProtoVlanEntry 2 }

	lldpXdot1RemProtoVlanIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.

	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the ldpXdot1RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot1RemProtoVlanEntry 3 }

lldpXdot1RemProtoVlanId  OBJECT-TYPE
    SYNTAX      Integer32(0|1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the port and protocol
            VLANs associated with the given port associated with the
            remote system.

            If port and protocol VLANs are not supported on the given
            port associated with the remote system, or if the port is
            not enabled with any port and protocol VLAN, the value of
            lldpXdot1RemProtoVlanId should be zero."
    REFERENCE
            "IEEE 802.1AB-2005 F.3.2"
    ::= { lldpXdot1RemProtoVlanEntry 4 }

lldpXdot1RemProtoVlanSupported  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the given port
            (associated with the remote system) is capable of supporting
            port and protocol VLANs."
    REFERENCE
            "IEEE 802.1AB-2005 F.3.1"
    ::= { lldpXdot1RemProtoVlanEntry 5 }

lldpXdot1RemProtoVlanEnabled  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the port and
            protocol VLANs are enabled on the given port associated with
            the remote system."
    REFERENCE
            "IEEE 802.1AB-2005 F.3.1"
    ::= { lldpXdot1RemProtoVlanEntry 6 }

	--
	-- lldpXdot1RemVlanNameTable : VLAN name information of the remote
	--                             systems
	--

	lldpXdot1RemVlanNameTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1RemVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per IEEE 802.1Q VLAN
	            name information about the remote system, received on the
	            given port."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.4"
	    ::= { lldpXdot1RemoteData 3 }

	lldpXdot1RemVlanNameEntry OBJECT-TYPE
	    SYNTAX      LldpXdot1RemVlanNameEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "VLAN name Information about a particular port component.
	            There may be multiple VLANs, identified by a particular
	            lldpXdot1RemVlanId, received on the given port."
	    INDEX   { lldpXdot1RemVlanNameTimeMark,lldpXdot1RemVlanNameLocalPortNum,lldpXdot1RemVlanNameIndex,lldpXdot1RemVlanId }
	    ::= { lldpXdot1RemVlanNameTable 1 }

	LldpXdot1RemVlanNameEntry ::= SEQUENCE {
		lldpXdot1RemVlanNameTimeMark    		TimeFilter,
		lldpXdot1RemVlanNameLocalPortNum     LldpPortNumber,
		lldpXdot1RemVlanNameIndex	       	Integer32,
	    lldpXdot1RemVlanId     				VlanId,
	    lldpXdot1RemVlanName   				SnmpAdminString
	}
	lldpXdot1RemVlanNameTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXdot1RemVlanNameEntry 1 }

	lldpXdot1RemVlanNameLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The ldpXdot1RemVlanNameLocalPortNum
	            identifies the port on which the remote system information
	            is received.

	            The value of this object is used as a port index to the
	            lldpRemTable."
	    ::= { lldpXdot1RemVlanNameEntry 2 }

	lldpXdot1RemVlanNameIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.

	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the ldpXdot1RemVlanNameIndex
	            will wrap between reboots."
	    ::= { lldpXdot1RemVlanNameEntry 3 }

	lldpXdot1RemVlanId  OBJECT-TYPE
	    SYNTAX      VlanId
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The integer value used to identify the IEEE 802.1Q
	            VLAN IDs with which the given port of the remote system
	            is compatible."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.4.2"
	    ::= { lldpXdot1RemVlanNameEntry 4 }

	lldpXdot1RemVlanName  OBJECT-TYPE
	    SYNTAX      SnmpAdminString (SIZE(1..32))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The string value used to identify VLAN name identified by the
	            VLAN Id associated with the remote system."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.4.4"
	    ::= { lldpXdot1RemVlanNameEntry 5 }
		--
	-- lldpXdot1RemProtocolTable : Protocol information of the remote systems
	--

	lldpXdot1RemProtocolTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1RemProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per protocol information
	            about the remote system, received on the given port."
	    ::= { lldpXdot1RemoteData 4 }

	lldpXdot1RemProtocolEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1RemProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Protocol information about a particular port component.
	            There may be multiple protocols, identified by a particular
	            lldpXdot1ProtocolIndex, received on the given port."
	    INDEX   { lldpXdot1RemProtocolTimeMark,lldpXdot1RemProtocolLocalPortNum,lldpXdot1RemProtocolIndex,lldpXdot1RemProtocolIdIndex }
	    ::= { lldpXdot1RemProtocolTable 1 }

	LldpXdot1RemProtocolEntry ::= SEQUENCE {
		  lldpXdot1RemProtocolTimeMark   	TimeFilter,
		  lldpXdot1RemProtocolLocalPortNum    LldpPortNumber,
	      lldpXdot1RemProtocolIndex 		Integer32,
	      lldpXdot1RemProtocolIdIndex	 	Integer32,
	      lldpXdot1RemProtocolId    		OCTET STRING
	}
	lldpXdot1RemProtocolTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXdot1RemProtocolEntry 1 }

	lldpXdot1RemProtocolLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The ldpXdot1RemProtocolLocalPortNum
	            identifies the port on which the remote system information
	            is received.

	            The value of this object is used as a port index to the
	            lldpRemTable."
	    ::= { lldpXdot1RemProtocolEntry 2 }

	lldpXdot1RemProtocolIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.

	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the ldpXdot1RemProtocolIndex
	            will wrap between reboots."
	    ::= { lldpXdot1RemProtocolEntry 3 }

	lldpXdot1RemProtocolIdIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular protocol identity."
	    ::= { lldpXdot1RemProtocolEntry 4 }

	lldpXdot1RemProtocolId  OBJECT-TYPE
	    SYNTAX      OCTET STRING (SIZE (1..255))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The octet string value used to identify the protocols
	            associated with the given port of remote system."
	    REFERENCE
	            "IEEE 802.1AB-2005 F.5.3"
	    ::= { lldpXdot1RemProtocolEntry 5 }

    lldpXdot3Objects         OBJECT IDENTIFIER ::= { l2LLDPGroup 14 }
--
-- D-Link Defined LLDP Extension Dot3 MIB Objects
--	

	
	-- LLDP IEEE 802.3 extension MIB groups
	lldpXdot3Config     OBJECT IDENTIFIER ::= { lldpXdot3Objects 1 }
	lldpXdot3LocalData  OBJECT IDENTIFIER ::= { lldpXdot3Objects 2 }
	lldpXdot3RemoteData OBJECT IDENTIFIER ::= { lldpXdot3Objects 3 }
	
	------------------------------------------------------------------------------
	-- IEEE 802.3 - Configuration
	------------------------------------------------------------------------------
	
	lldpXdot3PortConfigTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3PortConfigEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "A table that controls selection of LLDP TLVs to be transmitted 
	            on individual ports."
	    ::= { lldpXdot3Config 1 }
	
	lldpXdot3PortConfigEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot3PortConfigEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that controls the
	            transmission of IEEE 802.3 organizationally defined TLVs on
	            LLDP transmission capable ports.
	
	            Each active lldpXdot3PortConfigEntry must be from non-volatile
	            storage (along with the corresponding sysLLDPPortConfigEntry)
	            after a re-initialization of the management system."
	    INDEX  { lldpXdot3PortConfigPortNum }
	    ::= { lldpXdot3PortConfigTable 1 }
	
	LldpXdot3PortConfigEntry ::= SEQUENCE {
		  lldpXdot3PortConfigPortNum    LldpPortNumber,
	      lldpXdot3PortConfigTLVsTxEnable  BITS
	}
	
	lldpXdot3PortConfigPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.
	
	            The value of this object is used as a port index to the
	            sysLLDPPortConfigTable."
	    ::= { lldpXdot3PortConfigEntry  1 }
		
	lldpXdot3PortConfigTLVsTxEnable  OBJECT-TYPE
	    SYNTAX      BITS {
                macPhyConfigStatus(0),
                powerViaMDI(1),
                linkAggregation(2),
                maxFrameSize(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
            "The lldpXdot3PortConfigTLVsTxEnable, defined as a bitmap,
            includes the IEEE 802.3 organizationally defined set of LLDP
            TLVs whose transmission is allowed on the local LLDP agent by
            the network management.  Each bit in the bitmap corresponds
            to an IEEE 802.3 subtype associated with a specific IEEE
            802.3 optional TLV.  The bit 0 is not used since there is
            no corresponding subtype.

            The bit 'macPhyConfigStatus(0)' indicates that LLDP agent
            should transmit 'MAC/PHY configuration/status TLV'.

            The bit 'powerViaMDI(1)' indicates that LLDP agent should
            transmit 'Power via MDI TLV'.

            The bit 'linkAggregation(2)' indicates that LLDP agent should
            transmit 'Link Aggregation TLV'.

            The bit 'maxFrameSize(3)' indicates that LLDP agent should
            transmit 'Maximum-frame-size TLV'.

            The default value for lldpXdot3PortConfigTLVsTxEnable object
            is an empty set, which means no enumerated values are set.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 10.2.1.1"
	    ::= { lldpXdot3PortConfigEntry  2 }
	------------------------------------------------------------------------------
	-- IEEE 802.3 - Local Device Information 
	------------------------------------------------------------------------------
	---
	--- lldpXdot3LocPortTable: Ethernet Port AutoNeg/Speed/Duplex
	---                        Information Table
	---
	---
	lldpXdot3LocPortTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3LocPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port of Ethernet port
	            information (as a part of the LLDP 802.3 organizational
	            extension) on the local system known to this agent."
	    ::= { lldpXdot3LocalData 1 }
	
	lldpXdot3LocPortEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3LocPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about a particular port component."
	    INDEX   { lldpXdot3LocPortNum }
	    ::= { lldpXdot3LocPortTable 1 }
	
	LldpXdot3LocPortEntry ::= SEQUENCE {  
				  lldpXdot3LocPortNum    LldpPortNumber,
	              lldpXdot3LocPortAutoNegSupported     TruthValue,
	              lldpXdot3LocPortAutoNegEnabled       TruthValue,
	              lldpXdot3LocPortAutoNegAdvertisedCap OCTET STRING,
	              lldpXdot3LocPortOperMauType          Integer32
	} 
	lldpXdot3LocPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocPortTable."
	    ::= { lldpXdot3LocPortEntry  1 }

	lldpXdot3LocPortAutoNegSupported OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether the given port
	            (associated with the local system) supports Auto-negotiation."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.1"
	    ::= { lldpXdot3LocPortEntry 2 }
	
	lldpXdot3LocPortAutoNegEnabled  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether port
	            Auto-negotiation is enabled on the given port associated
	            with the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.1"
	    ::= { lldpXdot3LocPortEntry 3 }
	
	lldpXdot3LocPortAutoNegAdvertisedCap OBJECT-TYPE
	    SYNTAX      OCTET STRING(SIZE(2))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object contains the value (bitmap) of the
	            ifMauAutoNegCapAdvertisedBits object (defined in IETF RFC
	            3636) which is associated with the given port on the
	            local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.2"
	    ::= { lldpXdot3LocPortEntry 4 }
	
	lldpXdot3LocPortOperMauType  OBJECT-TYPE
	    SYNTAX 	    Integer32(0..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "An integer value that indicates the operational MAU type
	            of the given port on the local system.
	
	            This object contains the integer value derived from the
	            list position of the corresponding dot3MauType as listed 
	            in IETF RFC 3636 (or subsequent revisions) and is equal
	            to the last number in the respective dot3MauType OID.
	           
	            For example, if the ifMauType object is dot3MauType1000BaseTHD
	            which corresponds to {dot3MauType 29}, the numerical value of
	            this field will be 29. For MAU types not listed in RFC 3636
	            (or subsequent revisions), the value of this field shall be
	            set to zero."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.3"
	    ::= { lldpXdot3LocPortEntry 5 }
    ---
    ---
    --- lldpXdot3LocPowerTable: Power Ethernet Information Table
    ---
    ---
    lldpXdot3LocPowerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXdot3LocPowerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains one row per port of power ethernet 
                information (as a part of the LLDP 802.3 organizational
                extension) on the local system known to this agent."
        ::= { lldpXdot3LocalData 2 }
    
    lldpXdot3LocPowerEntry OBJECT-TYPE
        SYNTAX      LldpXdot3LocPowerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Information about a particular port component."
        INDEX   { lldpXdot3LocPowerPortNum }
        ::= { lldpXdot3LocPowerTable 1 }
    
    LldpXdot3LocPowerEntry ::= SEQUENCE {
                  lldpXdot3LocPowerPortNum             LldpPortNumber,
                  lldpXdot3LocPowerPortClass           LldpPowerPortClass,
                  lldpXdot3LocPowerMDISupported        TruthValue,
                  lldpXdot3LocPowerMDIEnabled          TruthValue,
                  lldpXdot3LocPowerPairControlable     TruthValue,
                  lldpXdot3LocPowerPairs               Integer32,
                  lldpXdot3LocPowerClass               Integer32
    } 

	lldpXdot3LocPowerPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocPortTable."
	    ::= { lldpXdot3LocPowerEntry  1 }
	    
    lldpXdot3LocPowerPortClass  OBJECT-TYPE
        SYNTAX      LldpPowerPortClass
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The value that identifies the port Class of the given port
                associated with the local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.1"
        ::= { lldpXdot3LocPowerEntry 2 }
    
    lldpXdot3LocPowerMDISupported  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The truth value used to indicate whether the MDI power is
                supported on the given port associated with the local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.1"
        ::= { lldpXdot3LocPowerEntry 3 }
    
    lldpXdot3LocPowerMDIEnabled  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The truth value used to identify whether MDI power is
                enabled on the given port associated with the local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.1"
        ::= { lldpXdot3LocPowerEntry 4 }
    
    lldpXdot3LocPowerPairControlable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The truth value is derived from the value of
                pethPsePortPowerPairsControlAbility object (defined in IETF
                RFC 3621) and is used to indicate whether the pair selection
                can be controlled on the given port associated with the
                local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.1"
        ::= { lldpXdot3LocPowerEntry 5 }
    
    lldpXdot3LocPowerPairs  OBJECT-TYPE
        SYNTAX      Integer32(1|2)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the pethPsePortPowerPairs
                object (defined in IETF RFC 3621) which is associated with
                the given port on the local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.2"
        ::= { lldpXdot3LocPowerEntry 6 }
    
    lldpXdot3LocPowerClass  OBJECT-TYPE
        SYNTAX      Integer32(1|2|3|4|5)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the
                pethPsePortPowerClassifications object (defined in IETF
                RFC 3621) which is associated with the given port on the
                local system."
        REFERENCE 
                "IEEE 802.1AB-2005 G.3.3"
        ::= { lldpXdot3LocPowerEntry 7 }
    
    ---
    ---
    --- lldpXdot3LocLinkAggTable: Link Aggregation Information Table
    ---
    ---
    lldpXdot3LocLinkAggTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXdot3LocLinkAggEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains one row per port of link aggregation 
                information (as a part of the LLDP 802.3 organizational
                extension) on the local system known to this agent."
        ::= { lldpXdot3LocalData 3 }
    
    lldpXdot3LocLinkAggEntry OBJECT-TYPE
        SYNTAX      LldpXdot3LocLinkAggEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Link Aggregation information about a particular port
                component."
        INDEX   { lldpXdot3LocLinkAggPortNum }
        ::= { lldpXdot3LocLinkAggTable 1 }
    
    LldpXdot3LocLinkAggEntry ::= SEQUENCE {
                  lldpXdot3LocLinkAggPortNum        LldpPortNumber,
                  lldpXdot3LocLinkAggStatus       LldpLinkAggStatusMap,
                  lldpXdot3LocLinkAggPortId       Integer32
    } 

	lldpXdot3LocLinkAggPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocPortTable."
	    ::= { lldpXdot3LocLinkAggEntry  1 }
	    
    lldpXdot3LocLinkAggStatus OBJECT-TYPE
        SYNTAX      LldpLinkAggStatusMap
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The bitmap value contains the link aggregation capabilities
                and the current aggregation status of the link."
        REFERENCE 
                "IEEE 802.1AB-2005 G.4.1"
        ::= { lldpXdot3LocLinkAggEntry 2 }
    
    lldpXdot3LocLinkAggPortId OBJECT-TYPE
        SYNTAX 	    Integer32(0|1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the IEEE 802.3 aggregated port
                identifier, aAggPortID (IEEE 802.3-2002, 30.7.2.1.1),
                derived from the ifNumber of the ifIndex for the port
                component in link aggregation.
    
                If the port is not in link aggregation state and/or it
                does not support link aggregation, this value should be set
                to zero."
        REFERENCE 
                "IEEE 802.1AB-2005 G.4.2"
        ::= { lldpXdot3LocLinkAggEntry 3 }
	---
	---
	--- lldpXdot3LocMaxFrameSizeTable: Maximum Frame Size information 
	---
	---
	lldpXdot3LocMaxFrameSizeTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3LocMaxFrameSizeEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port of maximum frame 
	            size information (as a part of the LLDP 802.3 organizational
	            extension) on the local system known to this agent."
	    ::= { lldpXdot3LocalData 4 }
	
	lldpXdot3LocMaxFrameSizeEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3LocMaxFrameSizeEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Maximum Frame Size information about a particular port
	            component."
	    INDEX   { lldpXdot3LocMaxFrameSizePortNum }
	    ::= { lldpXdot3LocMaxFrameSizeTable 1 }
	
	LldpXdot3LocMaxFrameSizeEntry ::= SEQUENCE { 
				lldpXdot3LocMaxFrameSizePortNum  	LldpPortNumber,
	              lldpXdot3LocMaxFrameSize   Integer32
	}   
	
	lldpXdot3LocMaxFrameSizePortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value of this object is used as a port index to the
	            lldpXdot3LocMaxFrameSizeTable."
	    ::= { lldpXdot3LocMaxFrameSizeEntry  1 }

	lldpXdot3LocMaxFrameSize OBJECT-TYPE
	    SYNTAX      Integer32(0..65535)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "An integer value indicating the maximum supported frame 
	             size in octets on the given port of the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.5.1"
	    ::= { lldpXdot3LocMaxFrameSizeEntry 2 }
	------------------------------------------------------------------------------
	-- IEEE 802.3 - Remote Devices Information
	------------------------------------------------------------------------------
	---
	---
	--- lldpXdot3RemPortTable: Ethernet Information Table
	---
	---
	lldpXdot3RemPortTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3RemPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains Ethernet port information (as a part
	            of the LLDP 802.3 organizational extension) of the remote
	            system."
	    ::= { lldpXdot3RemoteData 1 }
	
	lldpXdot3RemPortEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3RemPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about a particular physical network connection."
	    INDEX   { lldpXdot3RemTimeMark,lldpXdot3RemLocalPortNum,lldpXdot3RemIndex }
	    ::= { lldpXdot3RemPortTable 1 }
	
	LldpXdot3RemPortEntry ::= SEQUENCE {  
				  lldpXdot3RemTimeMark					TimeFilter,
				  lldpXdot3RemLocalPortNum				LldpPortNumber, 
				  lldpXdot3RemIndex						Integer32,
	              lldpXdot3RemPortAutoNegSupported     TruthValue,
	              lldpXdot3RemPortAutoNegEnabled       TruthValue,
	              lldpXdot3RemPortAutoNegAdvertisedCap OCTET STRING,
	              lldpXdot3RemPortOperMauType          Integer32
	} 
	lldpXdot3RemTimeMark  OBJECT-TYPE
	    SYNTAX      TimeFilter
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "A TimeFilter for this entry.  See the TimeFilter textual
	            convention in IETF RFC 2021 and 
	            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
	            to see how TimeFilter works."
	    REFERENCE 
	            "IETF RFC 2021 section 6"
	    ::= { lldpXdot3RemPortEntry 1 }

	lldpXdot3RemLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The lldpXdot3RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.
	
	            The value of this object is used as a port index to the
	            lldpXdot3RemPortTable."
	    ::= { lldpXdot3RemPortEntry 2 }

	lldpXdot3RemIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.
	
	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the lldpXdot3RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot3RemPortEntry 3 }    
    
	lldpXdot3RemPortAutoNegSupported OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether the given port
	            (associated with remote system) supports Auto-negotiation."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.1"
	    ::= { lldpXdot3RemPortEntry 4 }
	
	lldpXdot3RemPortAutoNegEnabled  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether port
	            Auto-negotiation is enabled on the given port associated
	            with the remote system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.1"
	    ::= { lldpXdot3RemPortEntry 5 }
	
	lldpXdot3RemPortAutoNegAdvertisedCap  OBJECT-TYPE
	    SYNTAX      OCTET STRING(SIZE(2))
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object contains the value (bitmap) of the
	            ifMauAutoNegCapAdvertisedBits object (defined in IETF RFC
	            3636) which is associated with the given port on the
	            remote system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.2"
	    ::= { lldpXdot3RemPortEntry 6 }
	
	lldpXdot3RemPortOperMauType OBJECT-TYPE
	    SYNTAX 	    Integer32(0..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "An integer value that indicates the operational MAU type
	            of the sending device.
	
	            This object contains the integer value derived from the
	            list position of the corresponding dot3MauType as listed in
	            in IETF RFC 3636 (or subsequent revisions) and is equal
	            to the last number in the respective dot3MauType OID.
	           
	            For example, if the ifMauType object is dot3MauType1000BaseTHD
	            which corresponds to {dot3MauType 29}, the numerical value of
	            this field will be 29. For MAU types not listed in RFC 3636
	            (or subsequent revisions), the value of this field shall be
	            set to zero."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.2.3"
	    ::= { lldpXdot3RemPortEntry 7 }   
	    
	    ---
---
--- lldpXdot3RemPowerTable: Power Ethernet Information Table
---
---
lldpXdot3RemPowerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpXdot3RemPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains Ethernet power information (as a part
            of the LLDP 802.3 organizational extension) of the remote
            system."
    ::= { lldpXdot3RemoteData 2 }

lldpXdot3RemPowerEntry OBJECT-TYPE
    SYNTAX      LldpXdot3RemPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular physical network connection."
    INDEX   { lldpXdot3RemPowerTimeMark,
              lldpXdot3RemPowerLocalPortNum,
              lldpXdot3RemPowerIndex }
    ::= { lldpXdot3RemPowerTable 1 }

LldpXdot3RemPowerEntry ::= SEQUENCE {  
			  lldpXdot3RemPowerTimeMark				TimeFilter,
			  lldpXdot3RemPowerLocalPortNum          LldpPortNumber,
			  lldpXdot3RemPowerIndex                  Integer32,
              lldpXdot3RemPowerPortClass           	LldpPowerPortClass,
              lldpXdot3RemPowerMDISupported        	TruthValue,
              lldpXdot3RemPowerMDIEnabled          	TruthValue,
              lldpXdot3RemPowerPairControlable     	TruthValue,
              lldpXdot3RemPowerPairs               	Integer32,
              lldpXdot3RemPowerClass               	Integer32
} 
 
lldpXdot3RemPowerTimeMark  OBJECT-TYPE
	    SYNTAX      TimeFilter
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "A TimeFilter for this entry.  See the TimeFilter textual
	            convention in IETF RFC 2021 and 
	            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
	            to see how TimeFilter works."
	    REFERENCE 
	            "IETF RFC 2021 section 6"
	    ::= { lldpXdot3RemPowerEntry 1 }

	lldpXdot3RemPowerLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The lldpXdot3RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.
	
	            The value of this object is used as a port index to the
	            lldpXdot3RemPortTable."
	    ::= { lldpXdot3RemPowerEntry 2 }

	lldpXdot3RemPowerIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.
	
	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the lldpXdot3RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot3RemPowerEntry 3 }    

lldpXdot3RemPowerPortClass  OBJECT-TYPE
    SYNTAX      LldpPowerPortClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value that identifies the port Class of the given port
            associated with the remote system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.1"
    ::= { lldpXdot3RemPowerEntry 4 }

lldpXdot3RemPowerMDISupported  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the MDI power
            is supported on the given port associated with the remote
            system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.1"
    ::= { lldpXdot3RemPowerEntry 5 }

lldpXdot3RemPowerMDIEnabled  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to identify whether MDI power is
            enabled on the given port associated with the remote system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.1"
    ::= { lldpXdot3RemPowerEntry 6 }

lldpXdot3RemPowerPairControlable  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value is derived from the value of
            pethPsePortPowerPairsControlAbility object (defined in IETF
            RFC 3621) and is used to indicate whether the pair selection
            can be controlled on the given port associated with the
            remote system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.1"
    ::= { lldpXdot3RemPowerEntry 7 }

lldpXdot3RemPowerPairs  OBJECT-TYPE
    SYNTAX      Integer32(1|2)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the value of the pethPsePortPowerPairs
            object (defined in IETF RFC 3621) which is associated with
            the given port on the remote system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.2"
    ::= { lldpXdot3RemPowerEntry 8 }

lldpXdot3RemPowerClass  OBJECT-TYPE
    SYNTAX      Integer32(1|2|3|4|5)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the value of the
            pethPsePortPowerClassifications object (defined in IETF
            RFC 3621) which is associated with the given port on the
            remote system."
    REFERENCE 
            "IEEE 802.1AB-2005 G.3.3"
    ::= { lldpXdot3RemPowerEntry 9 }    
    
    ---
---
--- lldpXdot3RemLinkAggTable: Link Aggregation Information Table
---
---
lldpXdot3RemLinkAggTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpXdot3RemLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains port link aggregation information
            (as a part of the LLDP 802.3 organizational extension)
            of the remote system."
    ::= { lldpXdot3RemoteData 3 }

lldpXdot3RemLinkAggEntry OBJECT-TYPE
    SYNTAX      LldpXdot3RemLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Link Aggregation information about remote system's port
            component."
    INDEX   { lldpXdot3RemLinkAggTimeMark,
              lldpXdot3RemLinkAggLocalPortNum,
              lldpXdot3RemLinkAggIndex }
    ::= { lldpXdot3RemLinkAggTable 1 }

LldpXdot3RemLinkAggEntry ::= SEQUENCE {  
			  lldpXdot3RemLinkAggTimeMark	   TimeFilter,
			  lldpXdot3RemLinkAggLocalPortNum    LldpPortNumber,
			  lldpXdot3RemLinkAggIndex          Integer32,
              lldpXdot3RemLinkAggStatus       LldpLinkAggStatusMap,
              lldpXdot3RemLinkAggPortId       Integer32
} 
lldpXdot3RemLinkAggTimeMark  OBJECT-TYPE
	    SYNTAX      TimeFilter
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "A TimeFilter for this entry.  See the TimeFilter textual
	            convention in IETF RFC 2021 and 
	            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
	            to see how TimeFilter works."
	    REFERENCE 
	            "IETF RFC 2021 section 6"
	    ::= { lldpXdot3RemLinkAggEntry 1 }

	lldpXdot3RemLinkAggLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The lldpXdot3RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.
	
	            The value of this object is used as a port index to the
	            lldpXdot3RemPortTable."
	    ::= { lldpXdot3RemLinkAggEntry 2 }

	lldpXdot3RemLinkAggIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.
	
	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the lldpXdot3RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot3RemLinkAggEntry 3 }    

lldpXdot3RemLinkAggStatus OBJECT-TYPE
    SYNTAX      LldpLinkAggStatusMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value contains the link aggregation capabilities
            and the current aggregation status of the link."
    REFERENCE 
            "IEEE 802.1AB-2005 G.4.1"
    ::= { lldpXdot3RemLinkAggEntry 4 }

lldpXdot3RemLinkAggPortId OBJECT-TYPE
    SYNTAX 	    Integer32(0|1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the IEEE 802.3 aggregated port
            identifier, aAggPortID (IEEE 802.3-2002, 30.7.2.1.1),
            derived from the ifNumber of the ifIndex for the port
            component associated with the remote system.

            If the remote port is not in link aggregation state and/or
            it does not support link aggregation, this value should be
            zero."
    REFERENCE 
            "IEEE 802.1AB-2005 G.4.2"
    ::= { lldpXdot3RemLinkAggEntry 5 }

	---
	---
	--- lldpXdot3RemMaxFrameSizeTable: Maximum Frame Size information 
	---
	---
	lldpXdot3RemMaxFrameSizeTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3RemMaxFrameSizeEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port of maximum frame 
	            size information (as a part of the LLDP 802.3 organizational
	            extension) of the remote system."
	    ::= { lldpXdot3RemoteData 4 }
	
	lldpXdot3RemMaxFrameSizeEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3RemMaxFrameSizeEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Maximum Frame Size information about a particular port
	            component."
	    INDEX   { lldpXdot3RemMaxFrameSizeTimeMark,lldpXdot3RemMaxFrameSizeLocalPortNum,lldpXdot3RemMaxFrameSizeIndex }
	    ::= { lldpXdot3RemMaxFrameSizeTable 1 }
	
	LldpXdot3RemMaxFrameSizeEntry ::= SEQUENCE { 
				  lldpXdot3RemMaxFrameSizeTimeMark					TimeFilter,
				  lldpXdot3RemMaxFrameSizeLocalPortNum				LldpPortNumber, 
				  lldpXdot3RemMaxFrameSizeIndex						Integer32,
	              lldpXdot3RemMaxFrameSize   Integer32
	} 
	lldpXdot3RemMaxFrameSizeTimeMark  OBJECT-TYPE
	    SYNTAX      TimeFilter
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "A TimeFilter for this entry.  See the TimeFilter textual
	            convention in IETF RFC 2021 and 
	            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
	            to see how TimeFilter works."
	    REFERENCE 
	            "IETF RFC 2021 section 6"
	    ::= { lldpXdot3RemMaxFrameSizeEntry 1 }

	lldpXdot3RemMaxFrameSizeLocalPortNum  OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.  The lldpXdot3RemLocalPortNum
	            identifies the port on which the remote system information
	            is received.
	
	            The value of this object is used as a port index to the
	            lldpXdot3RemPortTable."
	    ::= { lldpXdot3RemMaxFrameSizeEntry 2 }

	lldpXdot3RemMaxFrameSizeIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular connection instance,
	            unique only for the indicated remote system.
	
	            An agent is encouraged to assign monotonically increasing
	            index values to new entries, starting with one, after each
	            reboot.  It is considered unlikely that the lldpXdot3RemIndex
	            will wrap between reboots."
	    ::= { lldpXdot3RemMaxFrameSizeEntry 3 }    

	lldpXdot3RemMaxFrameSize OBJECT-TYPE
	    SYNTAX      Integer32(0..65535)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "An integer value indicating the maximum supported frame 
	             size in octets on the port component associated with the 
	             remote system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.5.1"
	    ::= { lldpXdot3RemMaxFrameSizeEntry 4 }    
    

    lldpXMedNotifications    OBJECT IDENTIFIER ::= { l2LLDPGroup 18 }
    lldpXMedObjects          OBJECT IDENTIFIER ::= { l2LLDPGroup 19 }

-- LLDP MED Extension Notifications
-- Transmission of LLDP MED Extension Notification is controlled by the
-- lldpNotificationInterval object in the LLDP MIB defined in
-- IEEE 802.1AB-2005

lldpXMedTopologyChangeDetected NOTIFICATION-TYPE
     OBJECTS { lldpRemChassisIdSubtype,
               lldpRemChassisId
--           , lldpXMedRemDeviceClass
               }
           STATUS current
DESCRIPTION
               "A notification generated by the local device sensing
                a change in the topology that indicates that a new remote
                device attached to a local port, or a remote device disconnected 
                or moved from one port to another."
           ::= { lldpXMedNotifications 1 }
           
-- LLDP MED extension MIB groups

    lldpXMedConfig     OBJECT IDENTIFIER ::= { lldpXMedObjects 1 }
    lldpXMedLocalData  OBJECT IDENTIFIER ::= { lldpXMedObjects 2 }
    lldpXMedRemoteData OBJECT IDENTIFIER ::= { lldpXMedObjects 3 }

-- textual conventions

LldpXMedDeviceClass  ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
            "Device Class to which the device is a member.

            A value of notDefined(0) indicates that the device
            has capabilities not covered by any of the LLDP-MED classes.

            A value of endpointClass1(1) indicates that the device
            has endpoint class 1 capabilities.

            A value of endpointClass2(2) indicates that the device
            has endpoint class 2 capabilities.

            A value of endpointClass3(3) indicates that the device
            has endpoint class 3 capabilities.

            A value of networkConnectivity(4) indicates that the device
            has network connectivity device capabilities.
            "

    SYNTAX      INTEGER {
            notDefined(0),
            endpointClass1(1),
            endpointClass2(2),
            endpointClass3(3),
            networkConnectivity(4)
    }


-- LLDP-MED Capabilities TC

LldpXMedCapabilities ::= TEXTUAL-CONVENTION
 	STATUS  current
 	DESCRIPTION
           "Bitmap that includes the MED organizationally defined set of LLDP
            TLVs the device is capable of and whose transmission is allowed on
            the local LLDP agent by network management.

            Each bit in the bitmap corresponds to an LLDP-MED subtype associated
            with a specific TIA TR41.4 MED TLV.

            Having the bit 'capabilities(0)' set indicates that the LLDP
            agent refers to the Capabilities TLVs.

            Having the bit 'networkPolicy(1)' set indicates that the LLDP
            agent refers to the Network Policy TLVs.

            Having the bit 'location(2)' set indicates that
            the LLDP agent refers to the Emergency Communications
            System Location TLVs.

            Having the bit 'extendedPSE(3)' set indicates that
            the LLDP agent refers to the Extended PoE TLVs with PSE
            capabilities.

            Having the bit 'extendedPD(4)' set indicates that
            the LLDP agent refers to the Extended PoE TLVs with PD
            capabilities.

            Having the bit 'inventory(5)' set indicates that
            the LLDP agent refers to the Hardware Revision, Firmware
            Revision, Software Revision, Serial Number, Manufacturer Name,
            Model Name, and Asset ID TLVs."

    SYNTAX  BITS  {
            capabilities(0),
            networkPolicy(1),
            location(2),
            extendedPSE(3),
            extendedPD(4),
            inventory(5)
     	}

-- Policy Application Type Textual Convention

PolicyAppType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "The media type that defines the primary function of the
             application for the policy advertised by an endpoint.

             Having the bit voice(1) set indicates that the media type defining
             a primary function of the application for the policy advertised on
             the local port is voice.

             Having the bit voiceSignaling(3) set indicates that the media type
             defining a primary function of the application for the policy
             advertised on the local port is voice signaling.

             Having the bit guestVoice(4) set indicates that the media type
             Defining a primary function of the application for the policy
             advertised on the local port is guest voice.

             Having the bit guestVoiceSignaling(5) set indicates that the media
             type defining a primary function of the application for the policy
             advertised on the local port is guest voice signaling.

             Having the bit softPhoneVoice(6) set indicates that the media type
             Defining a primary function of the application for the policy
             advertised on the local port is softphone voice.

             Having the bit videoConferencing(7) set indicates that the media
             type defining a primary function of the application for the policy
             advertised on the local port is voice.

             Having the bit streamingVideo(8) set indicates that the media type
             defining a primary function of the application for the policy
             advertised on  the local port is streaming video.

             Having the bit videoSignaling(2) set indicates that the media type
             defining a primary function of the application for the policy
             advertised on the local port is video signaling."
    SYNTAX      BITS  {
                    unknown(0),
                    voice(1),
                    voiceSignaling(2),
                    guestVoice(3),
                    guestVoiceSignaling(4),
                    softPhoneVoice(5),
                    videoconferencing(6),
                    streamingVideo(7),
                    videoSignaling(8)
                }
-- end type define

--
--  ***********************************************************
--
--              LLDP-MED Port Settings
--
--  ***********************************************************
--
    lldpXMedLocDeviceClass    OBJECT-TYPE
        SYNTAX      LldpXMedDeviceClass
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Local Device Class."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.2.2"
        ::= { lldpXMedConfig 1 }

    lldpXMedPortConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXMedPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table that controls selection of LLDP TLVs to be transmitted
                on individual ports."
        ::= { lldpXMedConfig 2 }

    lldpXMedPortConfigEntry  OBJECT-TYPE
        SYNTAX      LldpXMedPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "LLDP configuration information that controls the
                transmission of the MED organizationally defined TLVs on
                LLDP transmission capable ports.

                This configuration object augments the lldpPortConfigEntry of
                the LLDP-MIB, therefore it is only present along with the port
                configuration defined by the associated lldpPortConfigEntry
                entry.

                Each active lldpXMedPortConfigEntry must be stored and
                retrieved from non-volatile storage (along with the
                corresponding lldpPortConfigEntry) after a re-initialization
                of the management system."
        -- AUGMENTS { lldpPortConfigEntry }
        INDEX  { lldpXMedPortConfigPortNum }
        ::= { lldpXMedPortConfigTable 1 }

    LldpXMedPortConfigEntry ::= SEQUENCE {
        lldpXMedPortConfigPortNum    LldpPortNumber,
        lldpXMedPortCapSupported  LldpXMedCapabilities,
        lldpXMedPortConfigTLVsTxEnable  LldpXMedCapabilities,
        lldpXMedPortConfigNotifEnable   TruthValue
    }

	lldpXMedPortConfigPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.

	            The value of this object is used as a port index to the
	            sysLLDPPortConfigTable."
	    ::= { lldpXMedPortConfigEntry  1 }

    lldpXMedPortCapSupported  OBJECT-TYPE
        SYNTAX      LldpXMedCapabilities
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The bitmap includes the MED organizationally defined set of LLDP
                TLVs whose transmission is possible for the respective port
                on the LLDP agent of the device. Each bit in the bitmap corresponds
                to an LLDP-MED subtype associated with a specific TIA TR41.4 MED
                optional TLV. If the bit is set, the agent supports the
                corresponding TLV."
        REFERENCE
                "ANSI/TIA-1057, Section 10.2.2.3"
        ::= { lldpXMedPortConfigEntry  2 }

lldpXMedPortConfigTLVsTxEnable  OBJECT-TYPE
    SYNTAX      LldpXMedCapabilities
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The lldpXMedPortConfigTLVsTxEnable, defined as a bitmap,
            includes the MED organizationally defined set of LLDP
            TLVs whose transmission is allowed on the local LLDP agent by
            the network management.  Each bit in the bitmap corresponds
            to an LLDP-MED subtype associated with a specific TIA TR41.4 MED
            optional TLV. If the bit is set, the agent will send the
            corresponding TLV if the respective capability is supported per
            port.

            Setting a bit with in this object for a non-supported capability
            shall have no functional effect and will result in an inconsistent
            value error returned to the management application.

            There are other rules and restrictions that prevent arbitrary
            combinations of TLVs to be enabled on LLDP-MED devices according to
            the device classes. These rules are defined in Section 10.2.1,
            Tables 5 - 9 of ANSI/TIA-1057. In case a management application
            attempts to set this object to a value that does not follow the rules,
            the set operation shall have and will result in an inconsistent
            value error returned to the management application.

            Setting this object to an empty set is valid and effectively
            disables LLDP-MED on a per-port basis by disabling transmission of
            all MED organizational TLVs. In this case the remote tables objects
            in the LLDP-MED MIB corresponding to the respective port will not
            be populated.

            The default value for lldpXMedPortConfigTLVsTxEnable object
            is an empty set, which means no enumerated values are set.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE
            "ANSI/TIA-1057, Section 10.2.2.3"

    ::= { lldpXMedPortConfigEntry  3 }

    lldpXMedPortConfigNotifEnable    OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "A value of 'true(1)' enables sending the topology change
                 traps on this port.
                 A value of 'false(2)' disables sending the topology change
                 traps on this port."
        REFERENCE
                " ANSI/TIA-1057, Section 12.3"
        DEFVAL   { false }
        ::= { lldpXMedPortConfigEntry 4 }

    lldpXMedFastStartRepeatCount    OBJECT-TYPE
        SYNTAX      Unsigned32 (1..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The number of times the fast start LLDPDU are being sent during the
                 activation of the fast start mechanism defined by LLDP-MED."
        REFERENCE
                " ANSI/TIA-1057, Section 11.2.1"
        DEFVAL   { 3 }
        ::= { lldpXMedConfig 3 }

------------------------------------------------------------------------------
-- LLDP-MED - Local Device Information
------------------------------------------------------------------------------
---
--- lldpXMedLocMediaPolicyTable: Local Media Policy
---                        Information Table
---
---
    lldpXMedLocMediaPolicyTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXMedLocMediaPolicyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains one row per policy type per port
                 of media policy information (as a part of the MED
                 organizational extension) on the local system known
                 to this agent."
        ::= { lldpXMedLocalData 1 }

    lldpXMedLocMediaPolicyEntry OBJECT-TYPE
        SYNTAX      LldpXMedLocMediaPolicyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Information about a particular policy on a specific
                 port component."
        INDEX   { lldpXMedLocMediaPolicyPortNum, lldpXMedLocMediaPolicyAppType }
        ::= { lldpXMedLocMediaPolicyTable 1 }

    LldpXMedLocMediaPolicyEntry ::= SEQUENCE {
                  lldpXMedLocMediaPolicyPortNum        LldpPortNumber,
                  lldpXMedLocMediaPolicyAppType        PolicyAppType,
                  lldpXMedLocMediaPolicyVlanID         Integer32,
                  lldpXMedLocMediaPolicyPriority       Integer32,
                  lldpXMedLocMediaPolicyDscp           Dscp,
                  lldpXMedLocMediaPolicyUnknown        TruthValue,
                  lldpXMedLocMediaPolicyTagged         TruthValue
    }

    lldpXMedLocMediaPolicyPortNum  OBJECT-TYPE
        SYNTAX      LldpPortNumber
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index value used to identify the port component
                (contained in the local chassis with the LLDP agent)
                associated with this entry.

                The value of this object is used as a port index to the
                lldpLocPortTable."
        ::= { lldpXMedLocMediaPolicyEntry 1 }

    lldpXMedLocMediaPolicyAppType OBJECT-TYPE
        SYNTAX      PolicyAppType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The media type that defines the primary function of the
                 application for the policy advertised by an endpoint."
        REFERENCE
                "ANSI/TIA-1057, Section 10.2.3.1"
        ::= { lldpXMedLocMediaPolicyEntry 2 }

    lldpXMedLocMediaPolicyVlanID  OBJECT-TYPE
        SYNTAX      Integer32 (0|1..4094|4095)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "An extension of the VLAN Identifier for the port,
                 as defined in IEEE 802.1P-1998.

                 A value of 1 through 4094 is used to define a valid PVID.

                 A value of 0 shall be used if the device is using priority tagged
                 frames, meaning that only the 802.1p priority level is significant
                 and the default VID of the ingress port is being used instead.

                 A value of 4095 is reserved for implementation use."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.5"
        ::= { lldpXMedLocMediaPolicyEntry 3 }

    lldpXMedLocMediaPolicyPriority  OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the 802.1p priority
                which is associated with the given port on the
                local system."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.6 "
        ::= { lldpXMedLocMediaPolicyEntry 4 }

    lldpXMedLocMediaPolicyDscp  OBJECT-TYPE
        SYNTAX      Dscp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the Differentiated Service
                Code Point (DSCP) as defined in IETF RFC 2474 and RFC 2475
                which is associated with the given port on the local system."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.7"
        ::= { lldpXMedLocMediaPolicyEntry 5 }

    lldpXMedLocMediaPolicyUnknown  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "A value of 'true' indicates that the
                 network policy for the specified application type is
                 currently unknown.  In this case, the VLAN ID, the
                 layer 2 priority and the DSCP value fields are ignored.
                 A value of 'false' indicates that this network policy
                 is defined  "
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.2"
        ::= { lldpXMedLocMediaPolicyEntry 6 }

    lldpXMedLocMediaPolicyTagged  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "A value of 'true' indicates that the application is using a
                 tagged VLAN.
                 A value of 'false' indicates that for the specific application
                 the device either is using an untagged VLAN or does not
                 support port based VLAN operation.  In this case, both the
                 VLAN ID and the Layer 2 priority fields are ignored and
                 only the DSCP value has relevance "
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.3"
        ::= { lldpXMedLocMediaPolicyEntry 7 }


--- Inventory Information
--- Local Inventory Information transmitted by an endpoint

lldpXMedLocHardwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific hardware revision string
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.1"
    ::= { lldpXMedLocalData 2 }

lldpXMedLocFirmwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific firmware revision string
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.2"
    ::= { lldpXMedLocalData 3 }

lldpXMedLocSoftwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific software revision string
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.3"
    ::= { lldpXMedLocalData 4 }

lldpXMedLocSerialNum    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific serial number
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.4"
    ::= { lldpXMedLocalData 5 }

lldpXMedLocMfgName    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific manufacturer name
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.5"
    ::= { lldpXMedLocalData 6 }

lldpXMedLocModelName    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific model name
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.6"
    ::= { lldpXMedLocalData 7 }

lldpXMedLocAssetID    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific asset tracking identifier
            as advertised by the endpoint."
    REFERENCE
            " ANSI/TIA-1057, Section 10.2.6.7"
    ::= { lldpXMedLocalData 8 }

--- Extended Power over Ethernet objects
---

lldpXMedLocXPoEDeviceType OBJECT-TYPE
    SYNTAX      INTEGER  {
                    unknown(1),
                    pseDevice(2),
                    pdDevice(3),
                    none(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Defines the type of Power-via-MDI (Power over Ethernet) advertised
             by the local device.

             A value pseDevice(2) indicates that the device is advertised as a
             Power Sourcing Entity (PSE).

             A value pdDevice(3) indicates that the device is advertised as a
             Powered Device (PD).

             A value of none(4) indicates that the device does not support PoE."
    REFERENCE
            "ANSI/TIA-1057, Section 10.2.5.1"
    ::= { lldpXMedLocalData 10 }

------------------------------------------------------------------------------
-- LLDP-MED  - Remote Devices Information
------------------------------------------------------------------------------

-- LLdpXMedRemCapabilitiesTable
-- this table is read by a manager to determine what capabilities
-- exists and are enabled on the remote system connected to the port

-- The information in this table is based upon the information advertised
-- by the remote device and received on each port in the capabilities TLV

lldpXMedRemCapabilitiesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpXMedRemCapabilitiesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table that displays LLDP-MED capabilities of remote devices
            connected to individual ports."
    ::= { lldpXMedRemoteData 1 }

lldpXMedRemCapabilitiesEntry  OBJECT-TYPE
    SYNTAX      LldpXMedRemCapabilitiesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "LLDP-MED capabilities of remote devices connected to the device
            ports and communicating via LLDP-MED.

            The remote tables in the LLDP-MED MIB excepting this table may be
            sparsely populate. An entry in one of these table is meaningful
            and shall be populated by the agent only if the corresponding bits
            for the respective function are set in the objects in this table. "
    INDEX   { lldpXMedRemCapTimeMark,
              lldpXMedRemCapPortNum,
              lldpXMedRemCapIndex }
    ::= { lldpXMedRemCapabilitiesTable 1 }

LldpXMedRemCapabilitiesEntry ::= SEQUENCE {
        lldpXMedRemCapTimeMark      TimeFilter,
        lldpXMedRemCapPortNum       LldpPortNumber,
        lldpXMedRemCapIndex         Integer32,
        lldpXMedRemCapSupported     LldpXMedCapabilities
}

lldpXMedRemCapTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXMedRemCapabilitiesEntry 1 }

lldpXMedRemCapPortNum  OBJECT-TYPE
        SYNTAX      LldpPortNumber
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index value used to identify the port component
                (contained in the local chassis with the LLDP agent)
                associated with this entry.

                The value of this object is used as a port index to the
                lldpLocPortTable."
        ::= { lldpXMedRemCapabilitiesEntry 2 }

lldpXMedRemCapIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemIndex
            will wrap between reboots."
    ::= { lldpXMedRemCapabilitiesEntry 3 }

lldpXMedRemCapSupported  OBJECT-TYPE
    SYNTAX      LldpXMedCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap includes the MED organizationally defined set of LLDP
            TLVs whose transmission is possible on the LLDP agent of the remote
            device connected to this port. Each bit in the bitmap corresponds
            to an LLDP-MED subtype associated with a specific TIA TR41.4 MED
            optional TLV. If the bit is set, the agent has the capability
            to support the corresponding TLV."
    REFERENCE
            "ANSI/TIA-1057, Sections 10.2.2.1"
    ::= { lldpXMedRemCapabilitiesEntry  4 }

---
---
--- lldpXMedRemMediaPolicyTable: Media Policy Table
---
---
    lldpXMedRemMediaPolicyTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXMedRemMediaPolicyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains media policy information as advertised
                by the remote system.

                This table may be sparsely populated. Entries in this table are
                relevant only if the networkPolicy(0) bits in the
                lldpXMedRemCapSupported and lldpXMedRemCapCurrent objects of the
                corresponding ports are set."
        ::= { lldpXMedRemoteData 2 }

    lldpXMedRemMediaPolicyEntry OBJECT-TYPE
        SYNTAX      LldpXMedRemMediaPolicyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Information about the per port per policy type policy
                 information for a particular physical network connection."
        INDEX   { lldpXMedRemMediaPolicyTimeMark,
                  lldpXMedRemMediaPolicyPortNum,
                  lldpXMedRemMediaPolicyIndex,
                  lldpXMedRemMediaPolicyAppType }
        ::= { lldpXMedRemMediaPolicyTable 1 }


    LldpXMedRemMediaPolicyEntry ::= SEQUENCE {
            lldpXMedRemMediaPolicyTimeMark       TimeFilter,
            lldpXMedRemMediaPolicyPortNum        LldpPortNumber,
            lldpXMedRemMediaPolicyIndex          Integer32,
            lldpXMedRemMediaPolicyAppType        PolicyAppType,
            lldpXMedRemMediaPolicyVlanID         Integer32,
            lldpXMedRemMediaPolicyPriority       Integer32,
            lldpXMedRemMediaPolicyDscp           Dscp,
            lldpXMedRemMediaPolicyUnknown        TruthValue,
            lldpXMedRemMediaPolicyTagged         TruthValue
    }

lldpXMedRemMediaPolicyTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXMedRemMediaPolicyEntry 1 }

lldpXMedRemMediaPolicyPortNum  OBJECT-TYPE
        SYNTAX      LldpPortNumber
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index value used to identify the port component
                (contained in the local chassis with the LLDP agent)
                associated with this entry.

                The value of this object is used as a port index to the
                lldpLocPortTable."
        ::= { lldpXMedRemMediaPolicyEntry 2 }

lldpXMedRemMediaPolicyIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemIndex
            will wrap between reboots."
    ::= { lldpXMedRemMediaPolicyEntry 3 }

    lldpXMedRemMediaPolicyAppType OBJECT-TYPE
        SYNTAX      PolicyAppType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The media type that defines the primary function of the
                 application for the policy advertised by the endpoint connected
                 remotely to this port."
        REFERENCE
                "ANSI/TIA-1057, Section 10.2.3.1"
        ::= { lldpXMedRemMediaPolicyEntry 4 }

    lldpXMedRemMediaPolicyVlanID  OBJECT-TYPE
        SYNTAX      Integer32 (0|1..4094|4095)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "An extension of the VLAN Identifier for the remote system
                 connected to this port, as defined in IEEE 802.1P-1998.

                 A value of 1 through 4094 is used to define a valid PVID.

                 A value of 0 shall be used if the device is using priority tagged
                 frames, meaning that only the 802.1p priority level is significant
                 and the default VID of the ingress port is being used instead.

                 A value of 4095 is reserved for implementation use."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.5"
        ::= { lldpXMedRemMediaPolicyEntry 5 }

    lldpXMedRemMediaPolicyPriority  OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the 802.1p priority
                which is associated with the remote system connected at
                given port."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.6"
        ::= { lldpXMedRemMediaPolicyEntry 6 }

    lldpXMedRemMediaPolicyDscp  OBJECT-TYPE
        SYNTAX      Dscp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "This object contains the value of the Differentiated Service
                Code Point (DSCP) as defined in IETF RFC 2474 and RFC 2475
                which is associated with remote system connected at the port."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.7"
        ::= { lldpXMedRemMediaPolicyEntry 7 }

    lldpXMedRemMediaPolicyUnknown  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "A value of 'true' indicates that the
                 network policy for the specified application type is
                 currently unknown.  In this case, the VLAN ID, the
                 layer 2 priority and the DSCP value fields are ignored.
                 A value of 'false' indicates that this network policy
                 is defined."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.2"
        ::= { lldpXMedRemMediaPolicyEntry 8 }

    lldpXMedRemMediaPolicyTagged  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "A value of 'true' indicates that the application is using a
                 tagged VLAN.
                 A value of 'false' indicates that for the specific application
                 the device either is using an untagged VLAN or does not
                 support port based VLAN operation.  In this case, both the
                 VLAN ID and the Layer 2 priority fields are ignored and
                 only the DSCP value has relevance "
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.3.3"
        ::= { lldpXMedRemMediaPolicyEntry 9 }

--- lldpXMedRemInventoryTable - Remote Inventory Information
---

    lldpXMedRemInventoryTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LldpXMedRemInventoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "This table contains inventory information as advertised
                by the remote system.

                This table may be sparsely populated. Entries in this table are
                relevant only if the inventory(2) bits in the
                lldpXMedRemCapSupported and lldpXMedRemCapCurrent objects of the
                corresponding ports are set "
        ::= { lldpXMedRemoteData 3 }

    lldpXMedRemInventoryEntry OBJECT-TYPE
        SYNTAX      LldpXMedRemInventoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Information about inventory information for the remote devices
                 connected to the ports."
        INDEX   { lldpXMedRemTimeMark,
                  lldpXMedRemPortNum,
                  lldpXMedRemIndex }
        ::= { lldpXMedRemInventoryTable 1 }

    LldpXMedRemInventoryEntry ::= SEQUENCE {
            lldpXMedRemTimeMark              TimeFilter,
            lldpXMedRemPortNum               LldpPortNumber,
            lldpXMedRemIndex                 Integer32,
            lldpXMedRemHardwareRev           SnmpAdminString,
            lldpXMedRemFirmwareRev           SnmpAdminString,
            lldpXMedRemSoftwareRev           SnmpAdminString,
            lldpXMedRemSerialNum             SnmpAdminString,
            lldpXMedRemMfgName               SnmpAdminString,
            lldpXMedRemModelName             SnmpAdminString,
            lldpXMedRemAssetID               SnmpAdminString
                  }

lldpXMedRemTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE
            "IETF RFC 2021 section 6"
    ::= { lldpXMedRemInventoryEntry 1 }

lldpXMedRemPortNum  OBJECT-TYPE
        SYNTAX      LldpPortNumber
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index value used to identify the port component
                (contained in the local chassis with the LLDP agent)
                associated with this entry.

                The value of this object is used as a port index to the
                lldpLocPortTable."
        ::= { lldpXMedRemInventoryEntry 2 }

lldpXMedRemIndex  OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object represents an arbitrary local integer value used
            by this agent to identify a particular connection instance,
            unique only for the indicated remote system.

            An agent is encouraged to assign monotonically increasing
            index values to new entries, starting with one, after each
            reboot.  It is considered unlikely that the lldpRemIndex
            will wrap between reboots."
    ::= { lldpXMedRemInventoryEntry 3 }

    lldpXMedRemHardwareRev    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific hardware revision string
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.1"
        ::= { lldpXMedRemInventoryEntry 4 }

    lldpXMedRemFirmwareRev    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific firmware revision string
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.2"
        ::= { lldpXMedRemInventoryEntry 5 }

    lldpXMedRemSoftwareRev    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific software revision string
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.3"
        ::= { lldpXMedRemInventoryEntry 6 }

    lldpXMedRemSerialNum    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific serial number
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.4"
        ::= { lldpXMedRemInventoryEntry 7 }

    lldpXMedRemMfgName    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific manufacturer name
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.5"
        ::= { lldpXMedRemInventoryEntry 8 }

    lldpXMedRemModelName    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific model name
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.6"
        ::= { lldpXMedRemInventoryEntry 9 }

    lldpXMedRemAssetID    OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The vendor-specific asset tracking identifier
                as advertised by the remote endpoint."
        REFERENCE
                " ANSI/TIA-1057, Section 10.2.6.7"
        ::= { lldpXMedRemInventoryEntry 10 }



-- mgmtTelnetWebGroup                  OBJECT IDENTIFIER ::= { dlinkManagement 5 } 
-- Telnet Web Group ------------------------------------------------------
        telnetState OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable management Telnetsetting mechanism."
            ::= { mgtTelnetWebGroup 1 }

        telnetPort OBJECT-TYPE
            SYNTAX  Integer32 (1..65535)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                "The value is for setting telnet's UDP Port." 
            DEFVAL  { 23 }
            ::= { mgtTelnetWebGroup 2 }

	   webState  OBJECT-TYPE
    	   SYNTAX       INTEGER {
    	                enabled(1),
    	                disabled(2)
    	               }
    	   MAX-ACCESS  read-write
    	   STATUS      current
    	   DESCRIPTION
    	      "This object is for Enabled(1) or Disabled(2) Web state in the system."
    	   ::= { mgtTelnetWebGroup 3 }

	   webPort  OBJECT-TYPE
    	   SYNTAX      Integer32 (1..65535)
    	   MAX-ACCESS  read-write
    	   STATUS      current
    	   DESCRIPTION
    	       "Web Server Port Number." 
    	   DEFVAL  { 80 }
    	   ::= { mgtTelnetWebGroup 4 }


ddpStatus OBJECT-TYPE
	SYNTAX INTEGER {
		   enabled(1),
		   disabled(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/Disable DDP function."
	::= { mgtDDPGroup 1 }
	
ddpReportTime OBJECT-TYPE
	SYNTAX INTEGER {
		   never(0),
		   offset30sec (30),
		   offset60sec (60),
		   offset90sec (90),
		   offset120sec (120)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set DDP report time seconds."
	DEFVAL  { offset30sec }
	::= { mgtDDPGroup 2 }
   

ddpTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF DdpEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Define sysDDPTable for per port settings."
  ::= { mgtDDPGroup 3 }

ddpEntry OBJECT-TYPE
   SYNTAX      DdpEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Define sysDDPTable for per port settings."
   INDEX { ddpPort }
   ::= { ddpTable 1 }

DdpEntry ::=
   SEQUENCE {
     ddpPort      		INTEGER,
     ddpPortStatus      INTEGER

   }
ddpPort OBJECT-TYPE
   SYNTAX      INTEGER (1..255)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object indicates the port index."
   ::= { ddpEntry 1 }
   
ddpPortStatus OBJECT-TYPE
   SYNTAX   INTEGER{
                    enabled(1),
                    disabled(2)
            }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object indicates DDP status is enabled or disabled."
   ::= { ddpEntry 2 }
   
-- mgtRMONGroup                  OBJECT IDENTIFIER ::= { dlinkManagement 5 } 
        -- ----------------------------------------------------------------
        -- The RMON group
        -- ----------------------------------------------------------------
      rmonRisingAlarmTrapState OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object is for enabling or disabling RMON Rising Alarm Trap."
        
           ::= { mgtRMONGroup 1 }

      rmonFallingAlarmTrapState OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object is for enabling or disabling RMON function Falling Alarm Trap."
        
           ::= { mgtRMONGroup 2 }

     rmonStatistics        OBJECT IDENTIFIER ::= { mgtRMONGroup 3 }
     rmonHistory           OBJECT IDENTIFIER ::= { mgtRMONGroup 4 }
     rmonAlarm             OBJECT IDENTIFIER ::= { mgtRMONGroup 5 }
     rmonEvent             OBJECT IDENTIFIER ::= { mgtRMONGroup 6 }

-- The Ethernet Statistics Group
 --
 -- Implementation of the Ethernet Statistics group is optional.
 -- Consult the MODULE-COMPLIANCE macro for the authoritative
 -- conformance information for this MIB.
 --
 -- The ethernet statistics group contains statistics measured by the
 -- probe for each monitored interface on this device.  These
 -- statistics take the form of free running counters that start from
 -- zero when a valid entry is created.
 --
 -- This group currently has statistics defined only for
 -- Ethernet interfaces.  Each etherStatsEntry contains statistics
 -- for one Ethernet interface.  The probe must create one
 -- etherStats entry for each monitored Ethernet interface
 -- on the device.

 rmonStatsTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonStatsEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of Ethernet statistics entries."
     ::= { rmonStatistics 1 }

 rmonStatsEntry OBJECT-TYPE
     SYNTAX     RmonStatsEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A collection of statistics kept for a particular
         Ethernet interface.  As an example, an instance of the
         etherStatsPkts object might be named etherStatsPkts.1"
     INDEX { rmonStatsIndex }
     ::= { rmonStatsTable 1 }

 RmonStatsEntry ::= SEQUENCE {
     rmonStatsIndex                    Integer32,
     rmonStatsDataSource               OBJECT IDENTIFIER,
     rmonStatsOwner                    OwnerString,
	 rmonStatsOctets                   Counter32,
	 rmonStatsPkts                     Counter32,
	 rmonStatsBroadcastPkts            Counter32,
	 rmonStatsMulticastPkts            Counter32,
	 rmonStatsUndersizePkts            Counter32,
	 rmonStatsOversizePkts             Counter32,
	 rmonStatsFragments                Counter32,
	 rmonStatsJabbers                  Counter32,
	 rmonStatsCRCErrors                Counter32,
	 rmonStatsCollisions               Counter32,
	 rmonStatsDropEvents               Counter32,
     rmonStatsPkts64Octets             Counter32,
     rmonStatsPkts65to127Octets        Counter32,
     rmonStatsPkts128to255Octets       Counter32,
     rmonStatsPkts256to511Octets       Counter32,
     rmonStatsPkts512to1023Octets      Counter32,
     rmonStatsPkts1024to1518Octets     Counter32,
     rmonStatsStatus                   RmonStatus
 }

 rmonStatsIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value of this object uniquely identifies this entry."
     ::= { rmonStatsEntry 1 }

 rmonStatsDataSource OBJECT-TYPE
     SYNTAX     OBJECT IDENTIFIER
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "This object identifies the source of the data that
         this etherStats entry is configured to analyze.  This
         source can be any ethernet interface on this device.
         In order to identify a particular interface, this object
         shall identify the instance of the ifIndex object,
         defined in RFC 2233 [17], for the desired interface.
         For example, if an entry were to receive data from
         interface #1, this object would be set to ifIndex.1.

         The statistics in this group reflect all packets
         on the local network segment attached to the identified
         interface.

         An agent may or may not be able to tell if fundamental
         changes to the media of the interface have occurred and
         necessitate an invalidation of this entry.  For example, a
         hot-pluggable ethernet card could be pulled out and replaced
         by a token-ring card.  In such a case, if the agent has such
         knowledge of the change, it is recommended that it
         invalidate this entry.

         This object may not be modified if the associated
         etherStatsStatus object is equal to valid(1)."
     ::= { rmonStatsEntry 2 }

 rmonStatsOwner OBJECT-TYPE
     SYNTAX     OwnerString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The entity that configured this entry and is therefore
         using the resources assigned to it."
     ::= { rmonStatsEntry 3 }

 rmonStatsOctets OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "Octets"
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The total number of octets of data (including
		those in bad packets) received on the
		network (excluding framing bits but including
		FCS octets).

		This object can be used as a reasonable estimate of
		10-Megabit ethernet utilization.  If greater precision is
		desired, the etherStatsPkts and etherStatsOctets objects
		should be sampled before and after a common interval.  The
		differences in the sampled values are Pkts and Octets,
		respectively, and the number of seconds in the interval is
		Interval.  These values are used to calculate the Utilization
		as follows:

					  Pkts * (9.6 + 6.4) + (Octets * .8)
		Utilization = -------------------------------------
							  Interval * 10,000

		The result of this equation is the value Utilization which
		is the percent utilization of the ethernet segment on a
		scale of 0 to 100 percent."
	::= { rmonStatsEntry 4 }

 rmonStatsPkts OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "Packets"
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The total number of packets (including bad packets,
		broadcast packets, and multicast packets) received."
	::= { rmonStatsEntry 5 }

 rmonStatsBroadcastPkts OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "Packets"
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The total number of good packets received that were
		directed to the broadcast address.  Note that this
		does not include multicast packets."
	::= { rmonStatsEntry 6 }

 rmonStatsMulticastPkts OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "Packets"
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The total number of good packets received that were
		directed to a multicast address.  Note that this number
		does not include packets directed to the broadcast
		address."
	::= { rmonStatsEntry 7 }

 rmonStatsUndersizePkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received that were
         less than 64 octets long (excluding framing bits,
         but including FCS octets) and were otherwise well
         formed."
     ::= { rmonStatsEntry 8 }

 rmonStatsOversizePkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received that were
         longer than 1518 octets (excluding framing bits,
         but including FCS octets) and were otherwise
         well formed."
     ::= { rmonStatsEntry 9 }

 rmonStatsFragments OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received that were less than
         64 octets in length (excluding framing bits but including
         FCS octets) and had either a bad Frame Check Sequence
         (FCS) with an integral number of octets (FCS Error) or a
         bad FCS with a non-integral number of octets (Alignment
         Error).

         Note that it is entirely normal for etherStatsFragments to
         increment.  This is because it counts both runts (which are
         normal occurrences due to collisions) and noise hits."
     ::= { rmonStatsEntry 10 }

 rmonStatsJabbers OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received that were
         longer than 1518 octets (excluding framing bits,
         but including FCS octets), and had either a bad
         Frame Check Sequence (FCS) with an integral number
         of octets (FCS Error) or a bad FCS with a non-integral
         number of octets (Alignment Error).

         Note that this definition of jabber is different
         than the definition in IEEE-802.3 section 8.2.1.5
         (10BASE5) and section 10.3.1.4 (10BASE2).  These
         documents define jabber as the condition where any
         packet exceeds 20 ms.  The allowed range to detect
         jabber is between 20 ms and 150 ms."
     ::= { rmonStatsEntry 11 }

 rmonStatsCRCErrors OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received that
         had a length (excluding framing bits, but
         including FCS octets) of between 64 and 1518
         octets, inclusive, but had either a bad
         Frame Check Sequence (FCS) with an integral
         number of octets (FCS Error) or a bad FCS with
         a non-integral number of octets (Alignment Error)."
     ::= { rmonStatsEntry 12 }
     
 rmonStatsCollisions OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Collisions"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The best estimate of the total number of collisions
         on this Ethernet segment.

         The value returned will depend on the location of the
         RMON probe. Section 8.2.1.3 (10BASE-5) and section
         10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
         station must detect a collision, in the receive mode, if
         three or more stations are transmitting simultaneously.  A
         repeater port must detect a collision when two or more

         stations are transmitting simultaneously.  Thus a probe
         placed on a repeater port could record more collisions
         than a probe connected to a station on the same segment
         would.

         Probe location plays a much smaller role when considering
         10BASE-T.  14.2.1.4 (10BASE-T) of IEEE standard 802.3
         defines a collision as the simultaneous presence of signals
         on the DO and RD circuits (transmitting and receiving
         at the same time).  A 10BASE-T station can only detect
         collisions when it is transmitting.  Thus probes placed on
         a station and a repeater, should report the same number of
         collisions.

         Note also that an RMON probe inside a repeater should
         ideally report collisions between the repeater and one or
         more other hosts (transmit collisions as defined by IEEE
         802.3k) plus receiver collisions observed on any coax
         segments to which the repeater is connected."
     ::= { rmonStatsEntry 13 }

 rmonStatsDropEvents OBJECT-TYPE
		SYNTAX     Counter32
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"The total number of events in which packets
			were dropped by the probe due to lack of resources.
			Note that this number is not necessarily the number of
			packets dropped; it is just the number of times this
			condition has been detected."
		::= { rmonStatsEntry 14 }

 rmonStatsPkts64Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were 64 octets in length
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 15 }

 rmonStatsPkts65to127Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were between
         65 and 127 octets in length inclusive
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 16 }

 rmonStatsPkts128to255Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were between
         128 and 255 octets in length inclusive
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 17 }

 rmonStatsPkts256to511Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were between
         256 and 511 octets in length inclusive
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 18 }

 rmonStatsPkts512to1023Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were between
         512 and 1023 octets in length inclusive
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 19 }

 rmonStatsPkts1024to1518Octets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets (including bad
         packets) received that were between
         1024 and 1518 octets in length inclusive
         (excluding framing bits but including FCS octets)."
     ::= { rmonStatsEntry 20 }
  
 rmonStatsStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this etherStats entry."
     ::= { rmonStatsEntry 21 }

 -- The History Control Group

 -- Implementation of the History Control group is optional.
 -- Consult the MODULE-COMPLIANCE macro for the authoritative
 -- conformance information for this MIB.
 --
 -- The history control group controls the periodic statistical
 -- sampling of data from various types of networks.  The
 -- historyControlTable stores configuration entries that each
 -- define an interface, polling period, and other parameters.
 -- Once samples are taken, their data is stored in an entry
 -- in a media-specific table.  Each such entry defines one
 -- sample, and is associated with the historyControlEntry that
 -- caused the sample to be taken.  Each counter in the
 -- etherHistoryEntry counts the same event as its similarly-named
 -- counterpart in the etherStatsEntry, except that each value here
 -- is a cumulative sum during a sampling period.
 --
 -- If the probe keeps track of the time of day, it should start
 -- the first sample of the history at a time such that
 -- when the next hour of the day begins, a sample is
 -- started at that instant.  This tends to make more
 -- user-friendly reports, and enables comparison of reports
 -- from different probes that have relatively accurate time
 -- of day.
 --
 -- The probe is encouraged to add two history control entries
 -- per monitored interface upon initialization that describe a short
 -- term and a long term polling period.  Suggested parameters are 30
 -- seconds for the short term polling period and 30 minutes for
 -- the long term period.

 rmonHistoryControlTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonHistoryControlEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of history control entries."
     ::= { rmonHistory 1 }

 rmonHistoryControlEntry OBJECT-TYPE
     SYNTAX     RmonHistoryControlEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of parameters that set up a periodic sampling of
         statistics.  As an example, an instance of the
         historyControlInterval object might be named
         historyControlInterval.2"
     INDEX { rmonHistoryControlIndex }
     ::= { rmonHistoryControlTable 1 }

 RmonHistoryControlEntry ::= SEQUENCE {
     rmonHistoryControlIndex             Integer32,
     rmonHistoryControlDataSource        OBJECT IDENTIFIER,
     rmonHistoryControlBucketsRequested  Integer32,
     rmonHistoryControlBucketsGranted    Integer32,
     rmonHistoryControlInterval          Integer32,
     rmonHistoryControlOwner             OwnerString,
     rmonHistoryControlStatus            RmonStatus
 }

 rmonHistoryControlIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies an entry in the
         historyControl table.  Each such entry defines a
         set of samples at a particular interval for an
         interface on the device."
     ::= { rmonHistoryControlEntry 1 }

 rmonHistoryControlDataSource OBJECT-TYPE
     SYNTAX     OBJECT IDENTIFIER
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "This object identifies the source of the data for
         which historical data was collected and
         placed in a media-specific table on behalf of this
         historyControlEntry.  This source can be any
         interface on this device.  In order to identify

         a particular interface, this object shall identify
         the instance of the ifIndex object, defined
         in  RFC 2233 [17], for the desired interface.
         For example, if an entry were to receive data from
         interface #1, this object would be set to ifIndex.1.

         The statistics in this group reflect all packets
         on the local network segment attached to the identified
         interface.

         An agent may or may not be able to tell if fundamental
         changes to the media of the interface have occurred and
         necessitate an invalidation of this entry.  For example, a
         hot-pluggable ethernet card could be pulled out and replaced
         by a token-ring card.  In such a case, if the agent has such
         knowledge of the change, it is recommended that it
         invalidate this entry.

         This object may not be modified if the associated
         historyControlStatus object is equal to valid(1)."
     ::= { rmonHistoryControlEntry 2 }

 rmonHistoryControlBucketsRequested OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The requested number of discrete time intervals
         over which data is to be saved in the part of the
         media-specific table associated with this
         historyControlEntry.

         When this object is created or modified, the probe
         should set historyControlBucketsGranted as closely to
         this object as is possible for the particular probe
         implementation and available resources."
     DEFVAL { 50 }
     ::= { rmonHistoryControlEntry 3 }

 rmonHistoryControlBucketsGranted OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of discrete sampling intervals
         over which data shall be saved in the part of
         the media-specific table associated with this
         historyControlEntry.

         When the associated historyControlBucketsRequested
         object is created or modified, the probe
         should set this object as closely to the requested
         value as is possible for the particular
         probe implementation and available resources.  The
         probe must not lower this value except as a result
         of a modification to the associated
         historyControlBucketsRequested object.

         There will be times when the actual number of
         buckets associated with this entry is less than
         the value of this object.  In this case, at the
         end of each sampling interval, a new bucket will
         be added to the media-specific table.

         When the number of buckets reaches the value of
         this object and a new bucket is to be added to the
         media-specific table, the oldest bucket associated
         with this historyControlEntry shall be deleted by
         the agent so that the new bucket can be added.

         When the value of this object changes to a value less
         than the current value, entries are deleted
         from the media-specific table associated with this
         historyControlEntry.  Enough of the oldest of these
         entries shall be deleted by the agent so that their
         number remains less than or equal to the new value of
         this object.

         When the value of this object changes to a value greater
         than the current value, the number of associated media-
         specific entries may be allowed to grow."
     ::= { rmonHistoryControlEntry 4 }

 rmonHistoryControlInterval OBJECT-TYPE
     SYNTAX     Integer32 (1..3600)
     UNITS      "Seconds"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The interval in seconds over which the data is
         sampled for each bucket in the part of the
         media-specific table associated with this
         historyControlEntry.  This interval can
         be set to any number of seconds between 1 and
         3600 (1 hour).

         Because the counters in a bucket may overflow at their

         maximum value with no indication, a prudent manager will
         take into account the possibility of overflow in any of
         the associated counters.  It is important to consider the
         minimum time in which any counter could overflow on a
         particular media type and set the historyControlInterval
         object to a value less than this interval.  This is
         typically most important for the 'octets' counter in any
         media-specific table.  For example, on an Ethernet
         network, the etherHistoryOctets counter could overflow
         in about one hour at the Ethernet's maximum
         utilization.

         This object may not be modified if the associated
         historyControlStatus object is equal to valid(1)."
     DEFVAL { 1800 }
     ::= { rmonHistoryControlEntry 5 }

 rmonHistoryControlOwner OBJECT-TYPE
     SYNTAX     OwnerString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The entity that configured this entry and is therefore
         using the resources assigned to it."
     ::= { rmonHistoryControlEntry 6 }

 rmonHistoryControlStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this historyControl entry.

         Each instance of the media-specific table associated
         with this historyControlEntry will be deleted by the agent
         if this historyControlEntry is not equal to valid(1)."
     ::= { rmonHistoryControlEntry 7 }

 -- The Ethernet History Group

 -- Implementation of the Ethernet History group is optional.
 -- Consult the MODULE-COMPLIANCE macro for the authoritative
 -- conformance information for this MIB.
 --
 -- The Ethernet History group records periodic statistical samples
 -- from a network and stores them for later retrieval.
 -- Once samples are taken, their data is stored in an entry
 -- in a media-specific table.  Each such entry defines one

 -- sample, and is associated with the historyControlEntry that
 -- caused the sample to be taken.  This group defines the
 -- etherHistoryTable, for Ethernet networks.
 --

 rmonHistoryTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonHistoryEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of Ethernet history entries."
     ::= { rmonHistory 2 }

 rmonHistoryEntry OBJECT-TYPE
     SYNTAX     RmonHistoryEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "An historical sample of Ethernet statistics on a particular
         Ethernet interface.  This sample is associated with the
         historyControlEntry which set up the parameters for
         a regular collection of these samples.  As an example, an
         instance of the etherHistoryPkts object might be named
         etherHistoryPkts.2.89"
     INDEX { rmonHistoryIndex , rmonHistorySampleIndex }
     ::= { rmonHistoryTable 1 }

 RmonHistoryEntry ::= SEQUENCE {
     rmonHistoryIndex                 Integer32,
     rmonHistorySampleIndex           Integer32,
     rmonHistoryOctets                Counter32,
     rmonHistoryPkts                  Counter32,
     rmonHistoryBroadcastPkts         Counter32,
     rmonHistoryMulticastPkts         Counter32,
     rmonHistoryUtilization           Integer32,
     rmonHistoryUndersizePkts         Counter32,
     rmonHistoryOversizePkts          Counter32,
     rmonHistoryFragments             Counter32,
     rmonHistoryJabbers               Counter32,
     rmonHistoryCRCErrors             Counter32,
     rmonHistoryCollisions            Counter32,
     rmonHistoryDropEvents            Counter32
 }

 rmonHistoryIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The history of which this entry is a part.  The
         history identified by a particular value of this
         index is the same history as identified
         by the same value of historyControlIndex."
     ::= { rmonHistoryEntry 1 }

 rmonHistorySampleIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..2147483647)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies the particular
         sample this entry represents among all samples
         associated with the same historyControlEntry.
         This index starts at 1 and increases by one
         as each new sample is taken."
     ::= { rmonHistoryEntry 2 }

 rmonHistoryOctets OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Octets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of octets of data (including
         those in bad packets) received on the
         network (excluding framing bits but including
         FCS octets)."
     ::= { rmonHistoryEntry 3 }

 rmonHistoryPkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets (including bad packets)
         received during this sampling interval."
     ::= { rmonHistoryEntry 4 }

 rmonHistoryBroadcastPkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of good packets received during this
         sampling interval that were directed to the
         broadcast address."
     ::= { rmonHistoryEntry 5 }

 rmonHistoryMulticastPkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of good packets received during this
         sampling interval that were directed to a
         multicast address.  Note that this number does not
         include packets addressed to the broadcast address."
     ::= { rmonHistoryEntry 6 }

 rmonHistoryUtilization OBJECT-TYPE
     SYNTAX     Integer32 (0..10000)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The best estimate of the mean physical layer
         network utilization on this interface during this
         sampling interval, in hundredths of a percent."
     ::= { rmonHistoryEntry 7 }

 rmonHistoryUndersizePkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets received during this
         sampling interval that were less than 64 octets
         long (excluding framing bits but including FCS
         octets) and were otherwise well formed."
     ::= { rmonHistoryEntry 8 }

 rmonHistoryOversizePkts OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets received during this
         sampling interval that were longer than 1518
         octets (excluding framing bits but including
         FCS octets) but were otherwise well formed."
     ::= { rmonHistoryEntry 9 }

 rmonHistoryFragments OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of packets received during this
         sampling interval that were less than 64 octets in
         length (excluding framing bits but including FCS

         octets) had either a bad Frame Check Sequence (FCS)
         with an integral number of octets (FCS Error) or a bad
         FCS with a non-integral number of octets (Alignment
         Error).

         Note that it is entirely normal for rmonHistoryFragments to
         increment.  This is because it counts both runts (which are
         normal occurrences due to collisions) and noise hits."
     ::= { rmonHistoryEntry 10 }

 rmonHistoryJabbers OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets received during this
         sampling interval that were longer than 1518 octets
         (excluding framing bits but including FCS octets),
         and  had either a bad Frame Check Sequence (FCS)
         with an integral number of octets (FCS Error) or
         a bad FCS with a non-integral number of octets
         (Alignment Error).

         Note that this definition of jabber is different
         than the definition in IEEE-802.3 section 8.2.1.5
         (10BASE5) and section 10.3.1.4 (10BASE2).  These
         documents define jabber as the condition where any
         packet exceeds 20 ms.  The allowed range to detect
         jabber is between 20 ms and 150 ms."
     ::= { rmonHistoryEntry 11 }

 rmonHistoryCRCErrors OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Packets"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets received during this
         sampling interval that had a length (excluding
         framing bits but including FCS octets) between
         64 and 1518 octets, inclusive, but had either a bad Frame
         Check Sequence (FCS) with an integral number of octets
         (FCS Error) or a bad FCS with a non-integral number
         of octets (Alignment Error)."
     ::= { rmonHistoryEntry 12 }

 rmonHistoryCollisions OBJECT-TYPE
     SYNTAX     Counter32
     UNITS      "Collisions"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The best estimate of the total number of collisions
         on this Ethernet segment during this sampling
         interval.

         The value returned will depend on the location of the
         RMON probe. Section 8.2.1.3 (10BASE-5) and section
         10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
         station must detect a collision, in the receive mode, if
         three or more stations are transmitting simultaneously.  A
         repeater port must detect a collision when two or more

         stations are transmitting simultaneously.  Thus a probe
         placed on a repeater port could record more collisions
         than a probe connected to a station on the same segment
         would.

         Probe location plays a much smaller role when considering
         10BASE-T.  14.2.1.4 (10BASE-T) of IEEE standard 802.3
         defines a collision as the simultaneous presence of signals
         on the DO and RD circuits (transmitting and receiving
         at the same time).  A 10BASE-T station can only detect
         collisions when it is transmitting.  Thus probes placed on
         a station and a repeater, should report the same number of
         collisions.

         Note also that an RMON probe inside a repeater should
         ideally report collisions between the repeater and one or
         more other hosts (transmit collisions as defined by IEEE
         802.3k) plus receiver collisions observed on any coax
         segments to which the repeater is connected."
     ::= { rmonHistoryEntry 13 }

 rmonHistoryDropEvents OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of events in which packets
         were dropped by the probe due to lack of resources
         during this sampling interval.  Note that this number
         is not necessarily the number of packets dropped, it
         is just the number of times this condition has been

         detected."
     ::= { rmonHistoryEntry 14 }

 -- The Alarm Group

 -- Implementation of the Alarm group is optional. The Alarm Group
 -- requires the implementation of the Event group.
 -- Consult the MODULE-COMPLIANCE macro for the authoritative
 -- conformance information for this MIB.
 --
 -- The Alarm group periodically takes statistical samples from
 -- variables in the probe and compares them to thresholds that have
 -- been configured.  The alarm table stores configuration
 -- entries that each define a variable, polling period, and
 -- threshold parameters.  If a sample is found to cross the
 -- threshold values, an event is generated.  Only variables that
 -- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32,
 -- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in
 -- this way.
 --

 -- This function has a hysteresis mechanism to limit the generation
 -- of events.  This mechanism generates one event as a threshold
 -- is crossed in the appropriate direction.  No more events are
 -- generated for that threshold until the opposite threshold is
 -- crossed.
 --
 -- In the case of a sampling a deltaValue, a probe may implement
 -- this mechanism with more precision if it takes a delta sample
 -- twice per period, each time comparing the sum of the latest two
 -- samples to the threshold.  This allows the detection of threshold
 -- crossings that span the sampling boundary.  Note that this does
 -- not require any special configuration of the threshold value.
 -- It is suggested that probes implement this more precise algorithm.

 rmonAlarmTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonAlarmEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of alarm entries."
     ::= { rmonAlarm 1 }

 rmonAlarmEntry OBJECT-TYPE
     SYNTAX     RmonAlarmEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of parameters that set up a periodic checking
         for alarm conditions.  For example, an instance of the
         alarmValue object might be named alarmValue.8"
     INDEX { rmonAlarmIndex }
     ::= { rmonAlarmTable 1 }

 RmonAlarmEntry ::= SEQUENCE {
     rmonAlarmIndex                    Integer32,
     rmonAlarmInterval                 Integer32,
     rmonAlarmVariable                 OBJECT IDENTIFIER,
     rmonAlarmSampleType               INTEGER,
     rmonAlarmValue                    Integer32,
     rmonAlarmStartupAlarm             INTEGER,
     rmonAlarmRisingThreshold          Integer32,
     rmonAlarmFallingThreshold         Integer32,
     rmonAlarmRisingEventNumber        Integer32,
     rmonAlarmFallingEventNumber       Integer32,
     rmonAlarmOwner                    OwnerString,
     rmonAlarmStatus                   RmonStatus
}

 rmonAlarmIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies an entry in the
         alarm table.  Each such entry defines a
         diagnostic sample at a particular interval
         for an object on the device."
     ::= { rmonAlarmEntry 1 }

 rmonAlarmInterval OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "Seconds"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The interval in seconds over which the data is
         sampled and compared with the rising and falling
         thresholds.  When setting this variable, care
         should be taken in the case of deltaValue
         sampling - the interval should be set short enough
         that the sampled variable is very unlikely to
         increase or decrease by more than 2^31 - 1 during
         a single sampling interval.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 2 }

 rmonAlarmVariable OBJECT-TYPE
     SYNTAX     OBJECT IDENTIFIER
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The object identifier of the particular variable to be
         sampled.  Only variables that resolve to an ASN.1 primitive
         type of INTEGER (INTEGER, Integer32, Counter32, Counter64,
         Gauge, or TimeTicks) may be sampled.

         Because SNMP access control is articulated entirely
         in terms of the contents of MIB views, no access
         control mechanism exists that can restrict the value of
         this object to identify only those objects that exist
         in a particular MIB view.  Because there is thus no
         acceptable means of restricting the read access that
         could be obtained through the alarm mechanism, the
         probe must only grant write access to this object in

         those views that have read access to all objects on
         the probe.

         During a set operation, if the supplied variable name is
         not available in the selected MIB view, a badValue error
         must be returned.  If at any time the variable name of
         an established alarmEntry is no longer available in the
         selected MIB view, the probe must change the status of
         this alarmEntry to invalid(4).

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 3 }

 rmonAlarmSampleType OBJECT-TYPE
     SYNTAX     INTEGER {
                  absoluteValue(1),
                  deltaValue(2)
                }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The method of sampling the selected variable and
         calculating the value to be compared against the
         thresholds.  If the value of this object is
         absoluteValue(1), the value of the selected variable
         will be compared directly with the thresholds at the
         end of the sampling interval.  If the value of this
         object is deltaValue(2), the value of the selected
         variable at the last sample will be subtracted from
         the current value, and the difference compared with
         the thresholds.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 4 }

 rmonAlarmValue OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value of the statistic during the last sampling
         period.  For example, if the sample type is deltaValue,
         this value will be the difference between the samples
         at the beginning and end of the period.  If the sample
         type is absoluteValue, this value will be the sampled
         value at the end of the period.

         This is the value that is compared with the rising and
         falling thresholds.

         The value during the current sampling period is not
         made available until the period is completed and will
         remain available until the next period completes."
     ::= { rmonAlarmEntry 5 }

 rmonAlarmStartupAlarm OBJECT-TYPE
     SYNTAX     INTEGER {
                  risingAlarm(1),
                  fallingAlarm(2),
                  risingOrFallingAlarm(3)
                }
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
         "The alarm that may be sent when this entry is first
         set to valid.  If the first sample after this entry
         becomes valid is greater than or equal to the
         risingThreshold and alarmStartupAlarm is equal to
         risingAlarm(1) or risingOrFallingAlarm(3), then a single
         rising alarm will be generated.  If the first sample
         after this entry becomes valid is less than or equal
         to the fallingThreshold and alarmStartupAlarm is equal
         to fallingAlarm(2) or risingOrFallingAlarm(3), then a
         single falling alarm will be generated.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 6 }

 rmonAlarmRisingThreshold OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "A threshold for the sampled statistic.  When the current
         sampled value is greater than or equal to this threshold,
         and the value at the last sampling interval was less than
         this threshold, a single event will be generated.
         A single event will also be generated if the first
         sample after this entry becomes valid is greater than or
         equal to this threshold and the associated
         alarmStartupAlarm is equal to risingAlarm(1) or
         risingOrFallingAlarm(3).

         After a rising event is generated, another such event

         will not be generated until the sampled value
         falls below this threshold and reaches the
         alarmFallingThreshold.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 7 }

 rmonAlarmFallingThreshold OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "A threshold for the sampled statistic.  When the current
         sampled value is less than or equal to this threshold,
         and the value at the last sampling interval was greater than
         this threshold, a single event will be generated.
         A single event will also be generated if the first
         sample after this entry becomes valid is less than or
         equal to this threshold and the associated
         alarmStartupAlarm is equal to fallingAlarm(2) or
         risingOrFallingAlarm(3).

         After a falling event is generated, another such event
         will not be generated until the sampled value
         rises above this threshold and reaches the
         alarmRisingThreshold.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 8 }

 rmonAlarmRisingEventNumber OBJECT-TYPE
     SYNTAX     Integer32 (0..65535)
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The index of the eventEntry that is
         used when a rising threshold is crossed.  The
         eventEntry identified by a particular value of
         this index is the same as identified by the same value
         of the eventIndex object.  If there is no
         corresponding entry in the eventTable, then
         no association exists.  In particular, if this value
         is zero, no associated event will be generated, as
         zero is not a valid event index.

         This object may not be modified if the associated

         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 9 }

 rmonAlarmFallingEventNumber OBJECT-TYPE
     SYNTAX     Integer32 (0..65535)
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The index of the eventEntry that is
         used when a falling threshold is crossed.  The
         eventEntry identified by a particular value of
         this index is the same as identified by the same value
         of the eventIndex object.  If there is no
         corresponding entry in the eventTable, then
         no association exists.  In particular, if this value
         is zero, no associated event will be generated, as
         zero is not a valid event index.

         This object may not be modified if the associated
         alarmStatus object is equal to valid(1)."
     ::= { rmonAlarmEntry 10 }

 rmonAlarmOwner OBJECT-TYPE
     SYNTAX     OwnerString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The entity that configured this entry and is therefore
         using the resources assigned to it."
     ::= { rmonAlarmEntry 11 }

 rmonAlarmStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this alarm entry."
     ::= { rmonAlarmEntry 12 }

 -- The Event Group

 -- Implementation of the Event group is optional.
 -- Consult the MODULE-COMPLIANCE macro for the authoritative
 -- conformance information for this MIB.
 --
 -- The Event group controls the generation and notification
 -- of events from this device.  Each entry in the eventTable
 -- describes the parameters of the event that can be triggered.
 -- Each event entry is fired by an associated condition located
 -- elsewhere in the MIB.  An event entry may also be associated
 -- with a function elsewhere in the MIB that will be executed
 -- when the event is generated.  For example, a channel may
 -- be turned on or off by the firing of an event.
 --
 -- Each eventEntry may optionally specify that a log entry
 -- be created on its behalf whenever the event occurs.
 -- Each entry may also specify that notification should
 -- occur by way of SNMP trap messages.  In this case, the
 -- community for the trap message is given in the associated
 -- eventCommunity object.  The enterprise and specific trap
 -- fields of the trap are determined by the condition that
 -- triggered the event.  Two traps are defined: risingAlarm and
 -- fallingAlarm.  If the eventTable is triggered by a condition
 -- specified elsewhere, the enterprise and specific trap fields
 -- must be specified for traps generated for that condition.

 rmonEventTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonEventEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of events to be generated."
     ::= { rmonEvent 1 }

 rmonEventEntry OBJECT-TYPE
     SYNTAX     RmonEventEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A set of parameters that describe an event to be generated
         when certain conditions are met.  As an example, an instance
         of the eventLastTimeSent object might be named
         eventLastTimeSent.6"
     INDEX { rmonEventIndex }
     ::= { rmonEventTable 1 }

 RmonEventEntry ::= SEQUENCE {
     rmonEventIndex          Integer32,
     rmonEventDescription    DisplayString,
     rmonEventType           INTEGER,
     rmonEventCommunity      OwnerString,
     rmonEventOwner          OwnerString,
     rmonEventStatus         RmonStatus,
	 rmonEventLastTimeSent   TimeTicks
 }

 rmonEventIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies an entry in the
         event table.  Each such entry defines one event that
         is to be generated when the appropriate conditions
         occur."
     ::= { rmonEventEntry 1 }

 rmonEventDescription OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..127))
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "A comment describing this event entry."
     ::= { rmonEventEntry 2 }

 rmonEventType OBJECT-TYPE
     SYNTAX     INTEGER {
                  none(1),
                  log(2),
                  snmptrap(3),    -- send an SNMP trap
                  logandtrap(4)
                }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The type of notification that the probe will make
         about this event.  In the case of log, an entry is
         made in the log table for each event.  In the case of
         snmp-trap, an SNMP trap is sent to one or more
         management stations."
     ::= { rmonEventEntry 3 }

 rmonEventCommunity OBJECT-TYPE
     SYNTAX     OwnerString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "If an SNMP trap is to be sent, it will be sent to
         the SNMP community specified by this octet string."
     ::= { rmonEventEntry 4 }

 rmonEventOwner OBJECT-TYPE
     SYNTAX     OwnerString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The entity that configured this entry and is therefore
         using the resources assigned to it.

         If this object contains a string starting with 'monitor'
         and has associated entries in the log table, all connected
         management stations should retrieve those log entries,
         as they may have significance to all management stations
         connected to this device"
     ::= { rmonEventEntry 5 }

 rmonEventStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this event entry.

         If this object is not equal to valid(1), all associated
         log entries shall be deleted by the agent."
     ::= { rmonEventEntry 6 }

 rmonEventLastTimeSent OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"The value of sysUpTime at the time this event
			entry last generated an event.  If this entry has
			not generated any events, this value will be
			zero."
		::= { rmonEventEntry 7 }

 --
 rmonLogTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonLogEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of events that have been logged."
     ::= { rmonEvent 2 }

 rmonLogEntry OBJECT-TYPE
     SYNTAX     RmonLogEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A set of data describing an event that has been
         logged.  For example, an instance of the logDescription
         object might be named logDescription.6.47"
     INDEX { rmonLogEventIndex,rmonLogIndex }
     ::= { rmonLogTable 1 }

 RmonLogEntry ::= SEQUENCE {
     rmonLogEventIndex           Integer32,
     rmonLogIndex                Integer32,
     rmonLogTime                 TimeTicks,
     rmonLogDescription          DisplayString
 }

 rmonLogEventIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The event entry that generated this log
         entry.  The log identified by a particular
         value of this index is associated with the same
         eventEntry as identified by the same value
         of eventIndex."
     ::= { rmonLogEntry 1 }

 rmonLogIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..2147483647)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies an entry
         in the log table amongst those generated by the
         same eventEntries.  These indexes are
         assigned beginning with 1 and increase by one
         with each new log entry.  The association
         between values of logIndex and logEntries
         is fixed for the lifetime of each logEntry.
         The agent may choose to delete the oldest
         instances of logEntry as required because of
         lack of memory.  It is an implementation-specific
         matter as to when this deletion may occur."
     ::= { rmonLogEntry 2 }

 rmonLogTime OBJECT-TYPE
     SYNTAX     TimeTicks
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value of sysUpTime when this log entry was created."
     ::= { rmonLogEntry 3 }

 rmonLogDescription OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..255))
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An implementation dependent description of the
         event that activated this log entry."
     ::= { rmonLogEntry 4 }
	 
    --sysTrafficSegmentation                  OBJECT IDENTIFIER ::= { companySecurity 9}
  

    --
    -- Port Map Table
    --
    
    trafficSegmentationTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF TrafficSegmentationEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A Port-channel is created through ifMain table.
           After the creation of the port-channel, corresponding logical
           interface will be created in the ifMain table. 
           This Port-channel table is indexed through Key values and allows to 
           configure link selection policy and the Mac address for 
           the port-channel. All other objects in this table displays 
           the details of the port-channel"

        ::= { securityTrafficSegmentationGroup 1 }

    trafficSegmentationEntry OBJECT-TYPE
        SYNTAX     TrafficSegmentationEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created
               port-channel port"

        INDEX { trafficSegmentationIfIndex }
        ::= { trafficSegmentationTable 1 }

    TrafficSegmentationEntry ::= 
            SEQUENCE {
              trafficSegmentationIfIndex                InterfaceIndex,
              trafficSegmentationMemberList             PortList
              }

    trafficSegmentationIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The ifIndex of the port-channel(Aggregator's 
               interface index). "
        ::= { trafficSegmentationEntry 1 }

  	trafficSegmentationMemberList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Port list of port channel."
	   ::= { trafficSegmentationEntry 2 }

        
    
    doSCtrlTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF DoSCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that holds the DoS prevention settings of the device."
        ::= { securityDoSprevGroup 1 }

    doSCtrlEntry OBJECT-TYPE
        SYNTAX  DoSCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of DoS prevention settings of the device."
        INDEX   { doSCtrlType }
        ::= { doSCtrlTable 1 }

    DoSCtrlEntry ::= 
        SEQUENCE {
			doSCtrlType           INTEGER,
			doSCtrlState          INTEGER,
			doSCtrlActionType     INTEGER
        }
        
    doSCtrlType OBJECT-TYPE
    	SYNTAX INTEGER {
			    land-attack(1),
			    blat-attack(2),
			    tcp-null-scan(3),
			    tcp-xmascan(4),
			    tcp-synfin(5),
			    tcp-syn-srcport-less-1024(6),
			    ping-of-death-attack(7),
			    tcp-tiny-fragment-attack(8)
   	    	}
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "This object indicates the DoS prevention type."
    ::= { doSCtrlEntry 1 }
    
	doSCtrlState OBJECT-TYPE
        SYNTAX INTEGER {
               enable(1),
               disable(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the DoS prevention type."
    ::= { doSCtrlEntry 2 }
       
    doSCtrlActionType OBJECT-TYPE
        SYNTAX  INTEGER {
               drop(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the action for the DoS prevention type. 
            If this object is set to 'mirror' and DoSCtrlState is set to 'enable', the configuration 
            will not take effect until a valid mirror port is specified. If mirror port is not valid
            the behavior will be the same as 'drop'"
        ::= { doSCtrlEntry 3 }
    

     safeGuardEnable  OBJECT-TYPE
        SYNTAX      INTEGER {
                        enable(1),
                        disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "This object is used to set Safeguard Enable/Disable."
        ::= { securitySafeGuardGroup 1 }

    arpAgingTime        OBJECT IDENTIFIER ::= { l3ARPGroup 1 }
	arpARPTable         OBJECT IDENTIFIER ::= { l3ARPGroup 2 }
--    arpProxyARP         OBJECT IDENTIFIER ::= { l3ARPGroup 3 }
-- ----------------------------------------------------------------
-- ARP Aging Time
-- ----------------------------------------------------------------
    arpAgingTimeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ArpAgingTimeEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "The table of ARP Aging Time."
        ::= { arpAgingTime 1 }

	arpAgingTimeEntry OBJECT-TYPE
        SYNTAX      ArpAgingTimeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The list of snmp view tree entry."
        INDEX { arpAgingTimeIntrefaceID }
        ::= { arpAgingTimeTable 1 }

    ArpAgingTimeEntry ::= SEQUENCE
        {
            arpAgingTimeIntrefaceID     Integer32,
            arpAgingTimeTimeout         Integer32
        }

    arpAgingTimeIntrefaceID OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "A unique value, greater than zero, for each
 			interface. This object is identical to the ifIndex
 			of the standard MIB-2 ifTable."
        ::= { arpAgingTimeEntry 1 }

    arpAgingTimeTimeout OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "ARP Aging Time Timeout (min)."
        ::= { arpAgingTimeEntry 2 }

-- ----------------------------------------------------------------
-- ARP Table
-- ----------------------------------------------------------------
	arpTable OBJECT-TYPE
	   SYNTAX      SEQUENCE OF ARPEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	      "A table to control ARP Spoofing prevention for the entire
	       switch or for each interface in the switch."
	   ::= { arpARPTable 1 }

	arpEntry OBJECT-TYPE
	   SYNTAX      ARPEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	       "An entry appears in this table for each interface
	        in the system."
	   INDEX { arpIntrefaceID,
	           arpIpAddr}
	   ::= { arpTable 1 }

	ARPEntry ::=
    SEQUENCE {
        arpIntrefaceID      Integer32,
        arpIpAddr           IpAddress,
        arpMacAddress       MacAddress,
        arpType             INTEGER,
		arpRowStatus        RowStatus
    }

    arpIntrefaceID OBJECT-TYPE
        SYNTAX       Integer32 (1..4094)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "Proxy ARP VLAN Interface."
        ::= { arpEntry 1 }

	arpIpAddr OBJECT-TYPE
	   SYNTAX      IpAddress
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
	       "Specifies either the Network or Host address from which the switch
	        can be managed.
	        An address 0.0.0.0 indicates 'Any Manager'."
	   ::= { arpEntry 2 }
	   
	arpMacAddress OBJECT-TYPE
	   SYNTAX      MacAddress
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
	      "Ethernet Mac Address."
	   ::= { arpEntry 3 }

    arpType OBJECT-TYPE
        SYNTAX      INTEGER{
					  other (1), 
					  invalid (2), 
					  dynamic (3),
					  static (4)
                   }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "ARP Table Type."
        ::= { arpEntry 4 }

    arpRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "ARP Table RowStatus."
        ::= { arpEntry 5 }

    -- ---------------------------------------------------------------------
    -- Power Saving
    -- ---------------------------------------------------------------------
    powerSavingGlobalSettings       OBJECT IDENTIFIER ::= { dlinkPowersavingGroup 1 }
    powerSavingTimeRangeSettings    OBJECT IDENTIFIER ::= { dlinkPowersavingGroup 2 }
    powerSavingShutdownSettings     OBJECT IDENTIFIER ::= { dlinkPowersavingGroup 3 }
    -- ---------------------------------------------------------------------
    -- Power Saving Global Settings
    -- ---------------------------------------------------------------------
    psgFunctionVersion OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Power Saving Global Settings Function Version."
    ::= { powerSavingGlobalSettings 1}

    psgScheduledPortShutdown   OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Scheduled Port-shutdown Power Saving."
    DEFVAL  { disabled }
    ::= { powerSavingGlobalSettings 2 }

    psgScheduledHibernation    OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Scheduled Hibernation Power Saving."
    DEFVAL  { disabled }
    ::= { powerSavingGlobalSettings 3 }

    psgScheduledDimLED    OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Scheduled Dim-LED Power Saving."
    DEFVAL  { disabled }
    ::= { powerSavingGlobalSettings 4 }

    psgAdministrativeDimLED    OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Administrative Dim-LED."
    DEFVAL  { disabled }
    ::= { powerSavingGlobalSettings 5 }

    -- ---------------------------------------------------------------------
    -- Time Range Settings
    -- ---------------------------------------------------------------------

    psgDimLEDShutOffTimeProfile OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time profile name associated with the Schedule entry (e.g., `abc, bbb')."
    ::= { powerSavingTimeRangeSettings 1}

    psgHibernationTimeProfile OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time profile name associated with the Schedule entry (e.g., `abc, bbb')."
    ::= { powerSavingTimeRangeSettings 2}

    -- ---------------------------------------------------------------------
    -- Power Saving Shutdown Settings
    -- ---------------------------------------------------------------------
    powerSavingShutdownTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PowerSavingShutdownEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "The table of Power Saving Shutdown."
        ::= { powerSavingShutdownSettings 1 }

    powerSavingShutdownEntry OBJECT-TYPE
        SYNTAX      PowerSavingShutdownEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The list of Power Saving Shutdown entry."
        INDEX { psShutdownPort }
        ::= { powerSavingShutdownTable 1 }

    PowerSavingShutdownEntry ::= SEQUENCE {
        psShutdownPort         Integer32,
        psShutdownTimeRange    DisplayString
    }

    psShutdownPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "SNMP Linkchange Trap Settings."
    ::= { powerSavingShutdownEntry 1 }

    psShutdownTimeRange OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Time Range Settings Name."
    ::= { powerSavingShutdownEntry 2}

     -- ------------------------------------------------------------------
     -- EEE Table
     -- ------------------------------------------------------------------
        greenEeeTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF GreenEeeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port eee table."
           ::= { dlinkEEEGroup 1 }

        greenEeeEntry OBJECT-TYPE
           SYNTAX      GreenEeeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port eee entry."
           INDEX { eeePort }
           ::= { greenEeeTable 1 }

        GreenEeeEntry ::= SEQUENCE {
              eeePort       Integer32,
              eeestate     INTEGER
           }

        eeePort OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port index."
           ::= { greenEeeEntry 1 }


        eeestate OBJECT-TYPE
           SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object indicates the port eee state."
           ::= { greenEeeEntry 2 }
           
    portSecurityGlobalSettings      OBJECT IDENTIFIER ::= { securityportSecurityGroup 1 }
    portSecurityPortSettings        OBJECT IDENTIFIER ::= { securityportSecurityGroup 2 }
    portSecurityAddressEntries      OBJECT IDENTIFIER ::= { securityportSecurityGroup 3 }
	portSecurityTraps     			OBJECT IDENTIFIER ::= { securityportSecurityGroup 4 }
-- ----------------------------------------------------------
-- Port Security Global Settings
-- ----------------------------------------------------------
    portSecurityTrapState   OBJECT-TYPE
        SYNTAX      BITS { 
			            portSecExceedMLA(0)
			        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This Object is used to enbale or disable the transmission of trap notification
         	messages. A vector of Boolean notification types, used to enable or disable the
         	client notification types:
         	PortSecExceedMLA(0)
 	            When the bit 'PortSecExceedMLA(0)' is set, a trap will be send out 
 	            when learnt mac entries exceed the Max learning number for the specific 
 	            port ."
        ::= { portSecurityGlobalSettings 1 }

    portSecurityTrapRate    OBJECT-TYPE
        SYNTAX       Integer32 (1..1000)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Port Security Trap Rate Settings. Trap Rate (0-1000)"
        ::= { portSecurityGlobalSettings 2 }

    portSecuritySysMaxAddr  OBJECT-TYPE
        SYNTAX       Integer32 (1..6656)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Port Security System Settings. Trap Rate System Maximum Address (1-6656)"
        ::= { portSecurityGlobalSettings 3 }
-- ----------------------------------------------------------
-- Port Security Port Settings
-- ----------------------------------------------------------
    portSecurityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PortSecurityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port Security Port Settings table."
        ::= { portSecurityPortSettings 1 }

    portSecurityEntry OBJECT-TYPE
        SYNTAX      PortSecurityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Port Security Port Settings entry."
        INDEX { portSecurityPort }
        ::= { portSecurityTable 1 }

    PortSecurityEntry ::= SEQUENCE {
            portSecurityPort        Integer32,
            portSecurityState       INTEGER,
            portSecuritySysMax      Integer32,
            portSecurityVioAction   INTEGER,
            portSecuritySecurMode   INTEGER,
            portSecurityAgingTime   Integer32,
            portSecurityAgingType   INTEGER,
            portSecurityCurrentNo   Integer32,
            portSecurityVioCount    Integer32,
            portSecurityCurState    INTEGER
        }

    portSecurityPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the port index."
        ::= { portSecurityEntry 1 }


    portSecurityState OBJECT-TYPE
       SYNTAX      INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object indicates the Port Security Port Settings state."
       ::= { portSecurityEntry 2 }

    portSecuritySysMax  OBJECT-TYPE
        SYNTAX       Integer32 (1..6656)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Port Security Port Settings. Maximum (1-6656)"
        ::= { portSecurityEntry 3 }

    portSecurityVioAction OBJECT-TYPE
       SYNTAX      INTEGER {
                     protect     (1),
                     restrict    (2),
                     shutdown    (3)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Violation Action"
       ::= { portSecurityEntry 4 }

    portSecuritySecurMode OBJECT-TYPE
       SYNTAX      INTEGER {
                     deleteOnTimeout   (2),
                     permanent      (3)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Security Mode
		  
		   permanent(1) - Under this mode all learned MAC addresses won't be
                          purged unless a user deletes these entries manually.
           deleteOnTimeout(2) - Under this mode all learned MAC addresses 
                            will be purged when an entry ages out or a user deletes
                            these entries manually."
       ::= { portSecurityEntry 5 }

    portSecurityAgingTime   OBJECT-TYPE
        SYNTAX       Integer32 (1..1440)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Port Security Port Settings. Aging Time (0-1440)"
        ::= { portSecurityEntry 6 }

    portSecurityAgingType OBJECT-TYPE
       SYNTAX      INTEGER {
                     absolute       (1),
                     inactivity     (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Aging Type."
       ::= { portSecurityEntry 7 }

    portSecurityCurrentNo OBJECT-TYPE
       SYNTAX       Integer32 (1..1440)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Current No."
       ::= { portSecurityEntry 8 }

    portSecurityVioCount OBJECT-TYPE
       SYNTAX       Integer32 (1..1440)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Violation Count."
       ::= { portSecurityEntry 9 }

    portSecurityCurState OBJECT-TYPE
       SYNTAX      INTEGER {
                other           (0),
                forwarding      (1),
                err-disabled    (2)
                  }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Port Security Port Settings. Current State."
       ::= { portSecurityEntry 10 }
-- ----------------------------------------------------------
-- Port Security Address Entries
-- ----------------------------------------------------------
    portSecAddrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PortSecurityAddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port Security Address Entries table."
        ::= { portSecurityAddressEntries 1 }

    portSecAddrEntry OBJECT-TYPE
        SYNTAX      PortSecurityAddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port Security Address Entries entry."
        INDEX { portSecAddrVID, portSecAddrMAC }
        ::= { portSecAddrTable 1 }

    PortSecurityAddrEntry ::= SEQUENCE {
            portSecAddrVID          Unsigned32,
            portSecAddrMAC          MacAddress,
            portSecAddrPort         Integer32,
            portSecAddrType         INTEGER,
            portSecAddrRowStatus    RowStatus,
            portSecAddrRemainTime   Integer32
        }

    portSecAddrVID  OBJECT-TYPE
        SYNTAX       Unsigned32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Port Security Address Entries . VID."
        ::= { portSecAddrEntry 1 }

	portSecAddrMAC OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Security Address Entries. MAC Address"
        ::= { portSecAddrEntry 2 }

    portSecAddrPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the port index."
        ::= { portSecAddrEntry 3 }

    portSecAddrType  OBJECT-TYPE
        SYNTAX      INTEGER {
                     deleteOnTimeout   (2),
                     permanent      (3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "This object indicates the secure mode.
              For manually configured secure MAC addresses, the portSecAddrType is
              permanent."
        ::= { portSecAddrEntry 4 }

    portSecAddrRowStatus OBJECT-TYPE
        SYNTAX 		RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
         "This object indicates the port security mac table entry RowStatus."
       ::= { portSecAddrEntry 5 }  
   
    portSecAddrRemainTime  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Security Address Entries. Remaining Time (mins)."
        ::= { portSecAddrEntry 6 }
		
-- ----------------------------------------------------------
-- Port Security trap
-- ----------------------------------------------------------
   portSecurityTrapList  OBJECT IDENTIFIER ::= { portSecurityTraps 0 }    
   portSecurityViolation NOTIFICATION-TYPE
      OBJECTS {
			  portSecurityPort,
			  portSecurityVioCount
              }
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when the learnt mac entries num exceed the MLA of 
       the specific port when port security is enable for this port ."
 	::= {portSecurityTrapList 1 }	
		
    sessionTimeoutWeb   OBJECT-TYPE
        SYNTAX       Integer32 (60..36000)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION 
            "Session Timeout. Web Session Timeout (60-36000)sec."
        DEFVAL  {180}
        ::= { mgtSessionTimeoutGroup 1 }
       
--    sessionTimeoutConsole   OBJECT-TYPE
--        SYNTAX       Integer32 (0..1439)
--        MAX-ACCESS   read-write
--        STATUS       current
--        DESCRIPTION 
--            "Session Timeout. Console Session Timeout (0-1439)min."
--        DEFVAL  {3}
--        ::= { mgtSessionTimeoutGroup 2 }
       
    sessionTimeoutTelnet    OBJECT-TYPE
        SYNTAX       Integer32 (0..1439)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION 
            "Session Timeout. Telnet Session Timeout (0-1439)min."
        DEFVAL  {3}
        ::= { mgtSessionTimeoutGroup 2 }
       
--    sessionTimeoutSSH       OBJECT-TYPE
--        SYNTAX       Integer32 (0..1439)
--        MAX-ACCESS   read-write
--        STATUS       current
--        DESCRIPTION 
--            "Session Timeout. SSH Session Timeout (0-1439)min."
--        DEFVAL  {3}
--        ::= { mgtSessionTimeoutGroup 3 }
 -- ----------------------------------------------------------
 -- The companyCableDiagnostic Groups
 -- ----------------------------------------------------------
 -- Virtual  Cable Test Group --------------------------------------------- --

         cableDiagTriggerIndex OBJECT-TYPE
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Trigger an interface index to do virtual cable test."
           ::= {oamCableDiagGroup 1 }

-- ---------------------------------------------------
-- Cable Diag test status
-- ---------------------------------------------------

	cableDiagTestPairTable OBJECT-TYPE
			SYNTAX      SEQUENCE OF CableDiagTestPairEntry
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
					"A table to get pair state and pair len."
			::= { oamCableDiagGroup 2 }

	cableDiagTestPairEntry OBJECT-TYPE
			SYNTAX      CableDiagTestPairEntry
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
					"An entry appears in this table for each interface
					Test in the system."
			INDEX { cableDiagTestPortPair }
			::= { cableDiagTestPairTable 1 }

	CableDiagTestPairEntry ::=
			SEQUENCE {
                cableDiagTestPortPair        Integer32,
                cableDiagTestResultPair1     INTEGER,
                cableDiagTestResultPair2     INTEGER,
                cableDiagTestResultPair3     INTEGER,
                cableDiagTestResultPair4     INTEGER,
                cableDiagTestLenPair1        Integer32,
                cableDiagTestLenPair2        Integer32,
                cableDiagTestLenPair3        Integer32,
                cableDiagTestLenPair4        Integer32,
                cableDiagTestLenPairClear    Integer32
            }

   cableDiagTestPortPair  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Record the cable diagnostic Test Port."
           ::= {cableDiagTestPairEntry 1}

   cableDiagTestResultPair1  OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  crosstalk (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair1 test result."
           ::= {cableDiagTestPairEntry 2}

   cableDiagTestResultPair2  OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  crosstalk (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair2 test result."
           ::= {cableDiagTestPairEntry 3}

   cableDiagTestResultPair3  OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  crosstalk (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair3 test result."
           ::= {cableDiagTestPairEntry 4}
           
   cableDiagTestResultPair4  OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  crosstalk (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair4 test result."
           ::= {cableDiagTestPairEntry 5}

   cableDiagTestLenPair1  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair1 fault distance."
           ::= {cableDiagTestPairEntry 6}
           
   cableDiagTestLenPair2  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair2 fault distance."
           ::= {cableDiagTestPairEntry 7}
           
   cableDiagTestLenPair3  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair3 fault distance."
           ::= {cableDiagTestPairEntry 8}
           
   cableDiagTestLenPair4  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "virtual cable test pair4 fault distance."
           ::= {cableDiagTestPairEntry 9}

   cableDiagTestLenPairClear  OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Clear virtual cable test results."
           ::= {cableDiagTestPairEntry 10}


     passwordEncryptionStatus  OBJECT-TYPE
        SYNTAX      INTEGER {
                        enable(1),
                        disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "This object is used to set Password Encryption State Enable\Disable."
            DEFVAL { disable }
        ::= { mgtPasswordEncryptionGroup 1 } 


-- -----------------------------------------------------------------------------
    sslObjects          OBJECT IDENTIFIER ::= { securitySSLGroup 1 }

-- -----------------------------------------------------------------------------

	sslServerStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                        enable(1),
                        disable(2)
                    }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "This object is for enabling or disabling secure HTTP in the system."
    
        DEFVAL  { disable } 
        ::= { sslObjects 1 }

    servicePolicyName OBJECT-TYPE
        SYNTAX          DisplayString  (SIZE (0..32))
        MAX-ACCESS  	read-write
        STATUS          current
        DESCRIPTION   
            "Indicates the name of the policy for SSL application.
			This node is volatile; that is, it is lost if the SNMP 
            agent is rebooted."
        ::= { sslObjects 2 }

--    sslCryptoPkiImportCertTable OBJECT-TYPE
--        SYNTAX          SEQUENCE OF SslCryptoPkiImportCertEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "A table of importing certificates and key pairs. There will at any
--            time be either 0 or 1 rows in this table, and the only valid index
--            for this table is 1.  It is only a table so that we may take
--            advantage of the RowStatus textual convention for configuring the
--            importing parameters.
--            The row in this table is volatile; that is, it is lost if the SNMP
--            agent is rebooted."
--           ::= { sslObjects 3 }
--
--    sslCryptoPkiImportCertEntry OBJECT-TYPE
--        SYNTAX          SslCryptoPkiImportCertEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "The row in the sslCryptoPkiImportCertTable containing the importing
--            parameters.
--            Once an entry has been activated, the importing parameters cannot be
--            modified.  In order to use a new value, you need delete the old entry
--            and create a new one."
--        INDEX    { sslCryPkiImportCertIndex }
--        ::= { sslCryptoPkiImportCertTable 1 }
--
--    SslCryptoPkiImportCertEntry ::=
--        SEQUENCE {
--            sslCryPkiImportCertIndex           Integer32,
--            sslCryPkiImportCertTrustPoint      DisplayString,
--            sslCryPkiImportCertSrcType         INTEGER,
--            sslCryPkiImportFilename            DisplayString,
--            sslCryPkiImportCertAddrType        InetAddressType,
--            sslCryPkiImportCertAddr            InetAddress,
--            sslCryPkiImportFileType            BITS,
--            sslCryPkiImportPwdPhrase           DisplayString,
--            sslCryPkiImportErrorStatus         DisplayString,
--            sslCryPkiImportRowStatus           RowStatus
--        }
--
--    sslCryPkiImportCertIndex OBJECT-TYPE
--        SYNTAX          Integer32 (1)
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "The index which uniquely identifies this row."
--        ::= { sslCryptoPkiImportCertEntry 1 }
--
--    sslCryPkiImportCertTrustPoint OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (0..32))
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "Name of the trustpoint to which the certificates and key pairs
--             will be imported."
--        DEFVAL      { "" }
--        ::= {  sslCryptoPkiImportCertEntry 2 }
--
--    sslCryPkiImportCertSrcType OBJECT-TYPE
--        SYNTAX          INTEGER {
--          filesystem(1),
--            tftp(2) }
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "An indication of the source from where the certificates/key pairs
--             will be imported.
--             filesystem(1) - The certificates/key pairs will be imported from the
--                switch's file system.
--             tftp(2) - The certificates/key pairs will be imported via tftp."
--        DEFVAL   { tftp }
--        ::= { sslCryptoPkiImportCertEntry 3 }
--
--    sslCryPkiImportFilename OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (0..64))
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "If sslCryPkiImportCertSrcType is 'filesystem', this object
--            indicates the file name and path of the importing certificate
--            and key pairs in switch's file system. The supported file systems
--            are project dependent.
--            If sslCryPkiImportCertSrcType is 'tftp', this object indicates
--            the file name and path where the switch should import via TFTP
--            server. By default, the switch will appends this name with .ca,
--            .prv and .crt for CA certificate, private key and certificate
--            respectively."
--        ::= {  sslCryptoPkiImportCertEntry 4 }
--
--    sslCryPkiImportCertAddrType OBJECT-TYPE
--        SYNTAX          InetAddressType
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "The type of address in the corresponding sslCryPkiImportCertAddr
--            object. "
--           ::= { sslCryptoPkiImportCertEntry 5 }
--
--    sslCryPkiImportCertAddr OBJECT-TYPE
--        SYNTAX          InetAddress
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "The address of TFTP server."
--        ::= {  sslCryptoPkiImportCertEntry 6 }
--
--    sslCryPkiImportPwdPhrase OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (0..64))
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "Specifies the encrypted password phrase that is used to undo
--            encryption when the private keys are imported."
--        ::= {  sslCryptoPkiImportCertEntry 7 }
--
--    sslCryPkiImportFileType OBJECT-TYPE
--        SYNTAX BITS {
--            ca(0),
--            local(1)  }
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "An object indicates what kind of certificate will be imported.
--            Setting a type's bit to 1 means the type of certificate will
--            be imported.
--            ca (0)    - Import CA certificate
--            local (1) - Import local certificate and key pairs."
----        DEFVAL { {} }   no bits set.
--        ::= { sslCryptoPkiImportCertEntry 8 }
--
--    sslCryPkiImportErrorStatus OBJECT-TYPE
--        SYNTAX          DisplayString (SIZE (0..255))
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "A textual description of the current status of the importing.
--            The status information includes: idle, in progress, success, aborted,
--            idle, corruptFile, no server...."
--           ::= { sslCryptoPkiImportCertEntry 9 }
--
--    sslCryPkiImportRowStatus OBJECT-TYPE
--        SYNTAX     RowStatus
--        MAX-ACCESS read-create
--        STATUS     current
--        DESCRIPTION
--            "The status of this import entry.  This object may not be set to
--            'active' if the following columnar objects exist in this row:
--            sslCryPkiImportCertTrustPoint, sslCryPkiImportFilename, and
--            sslCryPkiImportFileType.
--            Besides, if sslCryPkiImportCertSrcType is 'tftp' the columnar
--            objects sslCryPkiImportCertAddrType and sslCryPkiImportCertAddr
--            must be configured."
--        ::= { sslCryptoPkiImportCertEntry 10 }
--
-- -----------------------------------------------------------------------------
      sslConfiguration  OBJECT IDENTIFIER ::= { sslObjects 4 }
--
--    sslCryptoPkiTrustpointTable  OBJECT-TYPE
--        SYNTAX          SEQUENCE OF SslCryptoPkiTrustpointEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "A table defines and configures trustpoint(s) in the switch."
--        ::= { sslConfiguration 1 }
--
--    sslCryptoPkiTrustpointEntry OBJECT-TYPE
--        SYNTAX          SslCryptoPkiTrustpointEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "The row in the sslCryptoPkiTrustpointTable containing the
--            trustpoint parameters.
--            An entry is created/removed when a name for a specific
--            trustpoint is generated or deleted via CLI or by issuing appropriate
--            sets to this table using snmp."
--        INDEX  { sslCryptoPkiTrustpointName }
--        ::= { sslCryptoPkiTrustpointTable 1 }
--
--    SslCryptoPkiTrustpointEntry ::=
--        SEQUENCE {
--            sslCryptoPkiTrustpointName         DisplayString,
--            sslCryptoPkiTrustpointPrimary      TruthValue,
--            sslCryptoPkiTrustpointRowStatus    RowStatus }
--
--    sslCryptoPkiTrustpointName OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (1..32))
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "Name of the trustpoint for which this entry pertains to."
--        ::= { sslCryptoPkiTrustpointEntry 1 }
--
--    sslCryptoPkiTrustpointPrimary OBJECT-TYPE
--        SYNTAX          TruthValue
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "This object specifies a given trustpoint as primary.
--            This trustpoint can be used as default trustpoint when
--            the application doesn't explicitly specify which certificate
--            authority (CA) trustpoint should be used.
--
--            Only one trustpoint can be specified as primary. That is the
--            last trustpoint you specify as primary will overwrite the
--            previous one."
--        DEFVAL    { false }
--        ::= { sslCryptoPkiTrustpointEntry 2 }
--
--    sslCryptoPkiTrustpointRowStatus OBJECT-TYPE
--        SYNTAX          RowStatus
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "Status of this trustpoint."
--        ::= { sslCryptoPkiTrustpointEntry 3 }
--
---- -----------------------------------------------------------------------------
--    sslCryptoPkiCertTable  OBJECT-TYPE
--        SYNTAX          SEQUENCE OF SslCryptoPkiCertEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "A table manages CA certificate(s) or the switch
--            certificate(s) and keys."
--        ::= { sslConfiguration 2 }
--
--    sslCryptoPkiCertEntry OBJECT-TYPE
--        SYNTAX          SslCryptoPkiCertEntry
--        MAX-ACCESS      not-accessible
--        STATUS          current
--        DESCRIPTION
--            "The row in the sslCryptoPkiCertTable containing the
--            parameters of a certificate.
--            An entry in this table appears automatically whenever
--            the certificate or keypairs is imported successfully.
--            An entry is removed when a certificate name is deleted
--            via CLI or by issuing appropriate sets to this table using snmp."
--        INDEX  { sslCryptoPkiCertTrustpointName,sslCryptoPkiCertName }
--        ::= { sslCryptoPkiCertTable 1 }
--
--    SslCryptoPkiCertEntry ::=
--        SEQUENCE {
--            sslCryptoPkiCertTrustpointName DisplayString,
--            sslCryptoPkiCertName           DisplayString,
--            sslCryptoPkiCertCAType         INTEGER,
--            sslCryptoPkiCertRemoveCtrl     INTEGER }
--
--    sslCryptoPkiCertTrustpointName OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (1..32))
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "Name of the trustpoint for which this entry pertains to."
--        ::= { sslCryptoPkiCertEntry 1 }
--
--    sslCryptoPkiCertName OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (0..32))
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "Indicates the name of the certificate for which this entry
--            pertains to."
--        ::= { sslCryptoPkiCertEntry 2 }
--
--    sslCryptoPkiCertCAType OBJECT-TYPE
--        SYNTAX  INTEGER {
--            ca(1),
--            localCertificate(2),
--            localPrivateKey(3) }
--        MAX-ACCESS      read-only
--        STATUS          current
--        DESCRIPTION
--            "This object specifies the type of the certificate.
--            ca(1) -  CA certificate.
--            localCertificate(2) - local certificate.
--            localPrivateKey(3) -  local private key."
--        ::= { sslCryptoPkiCertEntry 3 }
--
--    sslCryptoPkiCertRemoveCtrl OBJECT-TYPE
--        SYNTAX          INTEGER {
--            delete(1),
--            noOp(2) }
--        MAX-ACCESS      read-write
--        STATUS          current
--        DESCRIPTION
--            "This object is used to delete this entry.
--            No action is taken if this object is set to 'noOp'.
--            When read, the value 'noOp' is returned."
--        ::= { sslCryptoPkiCertEntry 4 }
--
-- -----------------------------------------------------------------------------
   sslServicePolicyTable  OBJECT-TYPE
        SYNTAX          SEQUENCE OF SslServicePolicyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table controlls the parameters of SSL service policies."
        ::= { sslConfiguration 3 }

    sslServicePolicyEntry OBJECT-TYPE
        SYNTAX          SslServicePolicyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The row in the dSslServicePolicyTable containing the
            parameters of a SSL service policy.

            An entry is created/removed when a name for a specific
            policy is generated or deleted via CLI or by issuing appropriate
            sets to this table using snmp."
        INDEX  { sslServicePolicyName }
        ::= { sslServicePolicyTable 1 }

    SslServicePolicyEntry ::=
        SEQUENCE {
            sslServicePolicyName               DisplayString,
            sslServicePolicyCipherSuites       BITS,
--          sslServicePolicyTrustpoint         DisplayString,
            sslServicePolicyCacheTimeout       Unsigned32,
            sslServicePolicyRowStatus          RowStatus
        }

    sslServicePolicyName OBJECT-TYPE
        SYNTAX          DisplayString  (SIZE (1..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "Indicates the name of the policy for which this entry pertains to."
        ::= { sslServicePolicyEntry 1 }

    sslServicePolicyCipherSuites OBJECT-TYPE
      SYNTAX BITS{
                rsa-null-md5(0),
                rsa-null-sha(1),
                rsa-des-sha(2),
                rsa-3des-sha(3),
				dh-rsa-des-sha(4),
				dh-rsa-3des-sha(5),
				rsa-exp1024-des-sha(6),
				rsa-with-aes-128-cbc-sha(7),
				rsa-with-aes-256-cbc-sha(8),
				dhe-rsa-with-aes-128-cbc-sha(9),
				dhe-rsa-with-aes-256-cbc-sha(10)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
      
         "This object is to configure the cipher-suites list.

	      This field is a bit mask, setting a bit indicates that the 
		  corresponding cipher-list will be involved in the server
          authentication.
         
          In the FIPS (American Security Standard Mode) Mode,  
          Only the following cipher list should be supported.
                 TLS_RSA_3DES_SHA1 
                 TLS_ DHE_RSA_3DES_SHA1
                 TLS_RSA_WITH_AES_128_CBC_SHA 
                 TLS_RSA_WITH_AES_256_CBC_SHA 
                 TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
                 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 
          hence the default value in FIPS mode will be
                 TLS_RSA_3DES_SHA1 | TLS_ DHE_RSA_3DES_SHA1 | TLS_RSA_WITH_AES_128_CBC_SHA |
                 TLS_RSA_WITH_AES_256_CBC_SHA | TLS_DHE_RSA_WITH_AES_128_CBC_SHA |
                 TLS_DHE_RSA_WITH_AES_256_CBC_SHA"

        ::= { sslServicePolicyEntry 2}

--    sslServicePolicyTrustpoint OBJECT-TYPE
--        SYNTAX          DisplayString  (SIZE (0..32))
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--            "Specifies the name of the trustpoint that should be used in SSL
--            handshake.
--
--            When secure-trustpoint is not specified, the primary trustpoint
--            (the value of sslCryptoPkiTrustpointPrimary is 'true') will be
--            used.
--
--            If no trustpoint is specified (empty string), the built-in
--            certificate/key pairs will be used."
--        ::= { sslServicePolicyEntry 3 }

    sslServicePolicyCacheTimeout OBJECT-TYPE
        SYNTAX          Unsigned32 (60..86400)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the Cache Timeout value in the policy for
            SSL module to refresh the session resume data kept in database."
        DEFVAL    { 600 }
        ::= { sslServicePolicyEntry 4}

    sslServicePolicyRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
               "Status of this policy."
        ::= { sslServicePolicyEntry 5 }


-- ---------------------------------------------------------------------
-- DHCP Server Screening
-- ---------------------------------------------------------------------
    dhcpSerScrGlobSettings      OBJECT IDENTIFIER ::= { securityDhcpSerScrGroup 1 }
    dhcpSerScrPortSettings      OBJECT IDENTIFIER ::= { securityDhcpSerScrGroup 2 }
    dhcpSerScrTraps             OBJECT IDENTIFIER ::= { securityDhcpSerScrGroup 3 }
-- ---------------------------------------------------------------------
-- DHCP Server Screening Global Settings
-- ---------------------------------------------------------------------
    dhcpSerScrGlobTrapState     OBJECT-TYPE
       SYNTAX      INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "DHCP Server Screening Global Settings. Trap State."
       ::= { dhcpSerScrGlobSettings 1 }

	dhcpSerScrLogBufEntries  OBJECT-TYPE                              
        SYNTAX      INTEGER                              
        MAX-ACCESS  read-write                              
        STATUS      current                              
        DESCRIPTION                              
            "DHCP Server Screening Global Settings. Log Buffer Entries."
        ::= { dhcpSerScrGlobSettings 2}
		
	dhcpSerScrLogClear  OBJECT-TYPE                              
		SYNTAX      TruthValue
		MAX-ACCESS  read-write 
		STATUS      current 
        DESCRIPTION
		  "Clears the buffered logs.
		   This object is set to 'false' by default. 
		   When set to 'True', the buffered logs will be cleared and the value 
		   of this object will become 'false' again."
        ::= { dhcpSerScrGlobSettings 3}

------------------------dhcp server screening profile settings---------------

	dhcpSerScrProfileTable OBJECT-TYPE
	       SYNTAX      SEQUENCE OF DhcpSerScrProfileEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	       DESCRIPTION
	           "A table to configure dhcp server screen profile information."
	       ::= { dhcpSerScrGlobSettings 4 }

	dhcpSerScrProfileEntry OBJECT-TYPE
	       SYNTAX      DhcpSerScrProfileEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	       DESCRIPTION
	             "A list of entries to configure dhcp server screen profile information."
	       INDEX { dhcpSerScrProfileName, dhcpSerScrProfileClientMac }
	       ::= { dhcpSerScrProfileTable 1 }

	DhcpSerScrProfileEntry ::=
	       SEQUENCE { 
	          	dhcpSerScrProfileName	     DisplayString,
	          	dhcpSerScrProfileClientMac   MacAddress,
	          	dhcpSerScrProfileRowStatus   RowStatus
	     }

	dhcpSerScrProfileName OBJECT-TYPE 
	       SYNTAX      DisplayString
	       MAX-ACCESS  read-only
	       STATUS      current 
	       DESCRIPTION
	       		"The DSS Profile name."
	       ::= { dhcpSerScrProfileEntry 1}

	dhcpSerScrProfileClientMac OBJECT-TYPE 
	       SYNTAX      MacAddress
	       MAX-ACCESS  read-only
	       STATUS      current 
           DESCRIPTION
                "The DSS Profile Client MAC."
	       ::= { dhcpSerScrProfileEntry 2 }

	dhcpSerScrProfileRowStatus OBJECT-TYPE
	       SYNTAX      RowStatus
	       MAX-ACCESS  read-create
	       STATUS      current
	       DESCRIPTION
	             "The row status of an entry in the dhcp server screen profile Table."
	       ::= { dhcpSerScrProfileEntry 3 }

------------------------dhcp server screening log table---------------

	dhcpSerScrLogTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF DhcpSerScrLogEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
          "Log Entries in the table are automatically created when dhcp server 
           screen violation occurence."
          ::= { dhcpSerScrGlobSettings 5 }

	dhcpSerScrLogEntry OBJECT-TYPE
        SYNTAX      DhcpSerScrLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the dhcpSerScrLogTable.  Entries are automatically created 
           whenever dhcp server screen violation occurence."
        INDEX { dhcpSerScrLogIndex }
        ::= { dhcpSerScrLogTable 1 }

	DhcpSerScrLogEntry ::=
        SEQUENCE {
          dhcpSerScrLogIndex                 Unsigned32,
          dhcpSerScrLogVlanID            	 INTEGER,
          dhcpSerScrLogIPAddr                InetAddress,
          dhcpSerScrLogMacAddr               MacAddress,
          dhcpSerScrLogOccurrence            DisplayString
        }

	dhcpSerScrLogIndex   OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Dhcp server screening log entry index."
        ::= { dhcpSerScrLogEntry 1 }

	dhcpSerScrLogVlanID   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "dhcp server screening log vlan id infomation."
        ::= { dhcpSerScrLogEntry 2 }

	dhcpSerScrLogIPAddr   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "dhcp server screening log ip infomation."
        ::= { dhcpSerScrLogEntry 3 }

	dhcpSerScrLogMacAddr   OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "dhcp server screening log mac address infomation."
        ::= { dhcpSerScrLogEntry 4 }

	dhcpSerScrLogOccurrence   OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "dhcp server screening log occurrence infomation."
        ::= { dhcpSerScrLogEntry 5 }

-- ---------------------------------------------------------------------
-- DHCP Server Screening Port Settings
-- ---------------------------------------------------------------------
    dhcpSerScrPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpSerScrPortEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "The table of DHCP Server Screening Port Settings."
        ::= { dhcpSerScrPortSettings 1 }

    dhcpSerScrPortEntry OBJECT-TYPE
        SYNTAX      DhcpSerScrPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The list of DHCP Server Screening Port Settings entry."
        INDEX { dhcpSerScrPortIndex }
        ::= { dhcpSerScrPortTable 1 }

    DhcpSerScrPortEntry ::= SEQUENCE {
        dhcpSerScrPortIndex         	Integer32,
        dhcpSerScrPortState         	INTEGER,
        dhcpSerScrPortServerAddrType    InetAddressType,
        dhcpSerScrPortServerIP      	InetAddress,
        dhcpSerScrPortProfileName   	DisplayString
    }

    dhcpSerScrPortIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "DHCP Server Screening Port Settings . Port."
    ::= { dhcpSerScrPortEntry 1 }

    dhcpSerScrPortState    OBJECT-TYPE
       SYNTAX      INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "DHCP Server Screening Port Settings. State."
       ::= { dhcpSerScrPortEntry 2 }

	dhcpSerScrPortServerAddrType    OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "DHCP Server Screening IP Type: IPv4/IPv6."
       ::= { dhcpSerScrPortEntry 3 }

	dhcpSerScrPortServerIP OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "DHCP Server Screening Port Settings. Server IP."
        ::= { dhcpSerScrPortEntry 4 }

    dhcpSerScrPortProfileName   OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "DHCP Server Screening Port Settings. Profile Name."
        ::= { dhcpSerScrPortEntry 5 }

-- ---------------------------------------------------------------------
-- DHCP Server Screening traps
-- ---------------------------------------------------------------------
  
    dhcpSerScrTrapList  OBJECT IDENTIFIER ::= { dhcpSerScrTraps 0 }

    dhcpSerScrAttackDetect NOTIFICATION-TYPE
        STATUS        current
        DESCRIPTION
         "This is a trap that will send to snmp manager,and it will be generated when the forge dhcp server
          packets received when dhcp server screening is enable for this port."
 	    ::= {dhcpSerScrTrapList 1 }

    userAccountsManagementSettings      OBJECT IDENTIFIER ::= { mgtUserAccountGroup 1 }
    userAccountsSessionTable            OBJECT IDENTIFIER ::= { mgtUserAccountGroup 2 }
-- ---------------------------------------------------------------------
-- User Management Settings
-- ---------------------------------------------------------------------
    userAccountsTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF UserAccountsEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                    "A table to User Accounts Settings. User Management Settings."
            ::= { userAccountsManagementSettings 1 }

    userAccountsEntry OBJECT-TYPE
            SYNTAX      UserAccountsEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                    "An entry appears in User Accounts Settings. User Management Settings."
            INDEX { userName }
            ::= { userAccountsTable 1 }

    UserAccountsEntry ::=
            SEQUENCE {
                    userName                SnmpAdminString,
                    userPrivilege           Unsigned32,
                    userEncryptControl      INTEGER,
                    userPassword            DisplayString,
                    userRowStatus           RowStatus
            }

    userName OBJECT-TYPE
            SYNTAX      SnmpAdminString (SIZE(1..15))
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                    "The name of user entry."
            ::= { userAccountsEntry 1 }

    userPrivilege OBJECT-TYPE
            SYNTAX      Unsigned32 (1..15)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                    "User Management Settings. Privilege (1-15)"
            ::= { userAccountsEntry 2 }

    userEncryptControl OBJECT-TYPE
            SYNTAX  INTEGER {
                                enabled(1),
                                disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                   "Enable or disable Encrypt of user password."
            DEFVAL { disable }
            ::= { userAccountsEntry 3 }

    userPassword OBJECT-TYPE
            SYNTAX      DisplayString (SIZE(0..15))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                    "The password of user entry.
                    0 means no password."
            ::= { userAccountsEntry 4 }

	userRowStatus OBJECT-TYPE 
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
		  "Row Status of user Accounts Entry."
	   ::= { userAccountsEntry 5 }
-- ---------------------------------------------------------------------
-- Session Table
-- ---------------------------------------------------------------------

    userSessionTableEntry  OBJECT-TYPE
        SYNTAX     SEQUENCE OF UserSessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A Session Table contain the user login information."
        ::= { userAccountsSessionTable 1 }

    userSessionEntry OBJECT-TYPE
        SYNTAX     UserSessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
			"A Session Table contain the user login information."
        INDEX { sessionID }
        ::= { userSessionTableEntry 1 }

    UserSessionEntry  ::= SEQUENCE {
		sessionID          				Unsigned32,
		liveTime           				TimeTicks,
		loginType						INTEGER,
		loginIP							InetAddress,
		loginUserLevel					INTEGER,
		loginUserName					DisplayString
	}

    sessionID 	OBJECT-TYPE
		SYNTAX       Unsigned32
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The index of session table."
		::= { userSessionEntry  1 }

    liveTime OBJECT-TYPE
		SYNTAX       TimeTicks
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The time peroid user has kept login."
		::= { userSessionEntry  2 }

	loginType OBJECT-TYPE
		SYNTAX  	INTEGER {
					http(1),
					telnet(2),
					ssh(3),
					console(4)
				}
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"login client of http, telnet, ssh or console."
		::= { userSessionEntry  3 }

	loginIP OBJECT-TYPE
		SYNTAX       InetAddress
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"login ip through http, ssh, or telnet."
		::= { userSessionEntry  4 }

	loginUserLevel OBJECT-TYPE
		SYNTAX       INTEGER
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The level of session which user login."
		::= { userSessionEntry  5 }

	loginUserName OBJECT-TYPE
		SYNTAX       DisplayString
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The name of login user."
		::= { userSessionEntry  6 }
    -- ------------------------------------------------------------------ 
    -- Trusted Host
    -- ------------------------------------------------------------------    
    
    trustedHostTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table to configure trusted host in the system."
       ::= { securityTrustedHostGroup 1 }
    
    trustedHostEntry OBJECT-TYPE
       SYNTAX      TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Each entry in this table represents rules for particular
            trusted host."
       INDEX { trustedHostType, trustedHostACLName }
       ::= { trustedHostTable 1 }
    
    TrustedHostEntry ::=
       SEQUENCE {
          trustedHostType
             INTEGER,
          trustedHostACLName
             DisplayString,
          trustedHostRowStatus
             RowStatus
     }
    
    trustedHostType OBJECT-TYPE
       SYNTAX INTEGER  {
              telnet (1),
              ping (2),
              http (3),
              https (4)
       }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "Type of trusted host."
       ::= { trustedHostEntry 1 }
    
    trustedHostACLName OBJECT-TYPE
       SYNTAX      DisplayString  (SIZE (1..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "ACL access list name."        
       ::= { trustedHostEntry 2 }

    trustedHostRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
             "The status of an entry in the Trusted Host Table.  Only a subset
             of the rowstatus variables (active, createAndGo, destroy) 
             are available."
       ::= { trustedHostEntry 3 }


    stormCtrlMIBObjects           OBJECT IDENTIFIER ::= { securityStormCtrlGroup 1 }
    
-- --------------------------------------------------------------------------    
    stormCtrlGentrl    OBJECT IDENTIFIER ::= { stormCtrlMIBObjects 1 }
    
    stormCtrlNotifyEnable OBJECT-TYPE
        SYNTAX  INTEGER {
            none          (0),
            stormOccurred (1),
            stormCleared  (2),
            both          (3)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object controls when a storm control notification will be generated.

            If the object is set to
            none(0): No notifications will be generated.
            stormOccurred(1): A notification will be generated when a storm event is
                      detected.
            stormCleared(2): A notification will be generated when a storm event is
                      cleared.
            both (3): A notification will be generated both when a storm event is 
                   detected and  cleared.
            NOTE:The default value of this object is none(0)."
        ::= { stormCtrlGentrl 1}
        
    stormCtrlPollingInterval OBJECT-TYPE
        SYNTAX  Integer32 (5..600)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The interval, in seconds, the switch detects the storm."
        DEFVAL { 5 }   
        ::= { stormCtrlGentrl 2}    

    stormCtrlPollingRetries OBJECT-TYPE
        SYNTAX          Integer32 (-1 | 0 | 1.. 360)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Specify the retry count. If the action is configured 
            as 'shutdown' mode and storm keep as long as 
            interval * retries, the port will enters error-disabled state.
            
            The effective range is from 1 to 360.
            
            0 means that a 'shutdown' mode port will directly enter 
            error-disabled state when storm is detected.
            
            -1 means that a 'shutdown' mode port will never enter 
            error-disabled state even if storm is detected."   
            DEFVAL { 3 } 
        ::= { stormCtrlGentrl 3}            

    stormCtrlTable OBJECT-TYPE 
 	  SYNTAX      SEQUENCE OF StormCtrlEntry
 	  MAX-ACCESS  not-accessible 
 	  STATUS      current 
 	  DESCRIPTION 
 		  "The traffic control table."
 	  ::= { stormCtrlGentrl 4 }
 
    stormCtrlEntry OBJECT-TYPE 
 	  SYNTAX      StormCtrlEntry
 	  MAX-ACCESS  not-accessible 
 	  STATUS      current 
 	  DESCRIPTION 
 		  "The traffic control entry."
 	  INDEX { stormCtrlIndex }
 	  ::= { stormCtrlTable 1 }
 
    StormCtrlEntry ::= 
 	  SEQUENCE { 
 		 stormCtrlIndex 
 			Integer32, 
 		 stormCtrlActionMode
 			INTEGER,
 		 stormCtrlLevelType
 		 	INTEGER
    }
    
    stormCtrlIndex OBJECT-TYPE 
 	   SYNTAX      Integer32 (1..65535)
 	   MAX-ACCESS  read-only 
 	   STATUS      current 
 	   DESCRIPTION 
 		  "The traffic control index."
 	   ::= { stormCtrlEntry 1 }
 
 	stormCtrlActionMode OBJECT-TYPE
 	   SYNTAX INTEGER {
 	   		none(0),
 			drop(1),
 			shutdown(2)
 	   }
 	   MAX-ACCESS   read-write
 	   STATUS       current
 	   DESCRIPTION
 		   "The action mode of traffic control."
 	   ::= { stormCtrlEntry 2 }
 
 	stormCtrlLevelType OBJECT-TYPE
 	   SYNTAX       INTEGER {
     					pps(1),
     					kbps(2)
 					}
 	   MAX-ACCESS   read-write
 	   STATUS       current
 	   DESCRIPTION
 		   "The Traffic control level type: pps or kbps."
	   DEFVAL { pps }
 	   ::= { stormCtrlEntry 3 }
 
-- --------------------------------------------------------------------------        
	stormCtrlThresholdTable OBJECT-TYPE 
	  SYNTAX      SEQUENCE OF StormCtrlThresholdEntry
	  MAX-ACCESS  not-accessible 
	  STATUS      current 
	  DESCRIPTION 
		  "The traffic control table."
	  ::= { stormCtrlGentrl 5 }

	stormCtrlThresholdEntry OBJECT-TYPE 
	  SYNTAX      StormCtrlThresholdEntry
	  MAX-ACCESS  not-accessible 
	  STATUS      current 
	  DESCRIPTION 
		  "The traffic control entry."
	  INDEX { stormCtrlThresholdIndex,  stormCtrlThresholdType}
	  ::= { stormCtrlThresholdTable 1 }

	  StormCtrlThresholdEntry ::= 
	  SEQUENCE { 
		 stormCtrlThresholdIndex 
			Integer32, 
		 stormCtrlThresholdType
			INTEGER,
		 stormCtrlThresholdRiseThre
			Integer32,
		 stormCtrlThresholdLowThre
			Integer32,
		 stormCtrlThresholdCurrRate
			Integer32,
		 stormCtrlThresholdStormState
		 	INTEGER
      }

    stormCtrlThresholdIndex OBJECT-TYPE 
	   SYNTAX      Integer32 (1..65535)
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
		  "The traffic control index."
	   ::= { stormCtrlThresholdEntry 1 }

	stormCtrlThresholdType OBJECT-TYPE
	   SYNTAX INTEGER {
			broadcast(1),
			multicast(2),
			unicast(3)
	   }
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
		   "The control type of traffic control."
	   ::= { stormCtrlThresholdEntry 2 }

	stormCtrlThresholdRiseThre OBJECT-TYPE
	   SYNTAX       Integer32 (0..2147483647)
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
		   "The rise threshold of traffic control."
	   ::= { stormCtrlThresholdEntry 3 }

	stormCtrlThresholdLowThre OBJECT-TYPE
	   SYNTAX       Integer32 (0..2147483647)
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
		   "The low threshold of traffic control."
	   ::= { stormCtrlThresholdEntry 4 }

	stormCtrlThresholdCurrRate OBJECT-TYPE
	   SYNTAX       Integer32
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
		   "The current rate of traffic control."
	   ::= { stormCtrlThresholdEntry 5 }

	stormCtrlThresholdStormState OBJECT-TYPE
	   SYNTAX INTEGER {
			forwarding(1),
            dropped(2),
            errorDisabled(3),
            linkDown(4),
            inactive(5)
	   }
	   MAX-ACCESS   read-only
	   STATUS       current
	   DESCRIPTION
		   "This object indicates the current status of storm control on a
            given interface for a given traffic type."
	   ::= { stormCtrlThresholdEntry 6 }

	stormCtrlTraps           OBJECT IDENTIFIER ::= { stormCtrlGentrl 6 }
	stormCtrlTrapsList		OBJECT IDENTIFIER ::= { stormCtrlTraps 0 }
    stormCtrlTrapsStormOccur NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when storm is occured."
 	::= {stormCtrlTrapsList 1 }
	
	stormCtrlTrapsStormClear NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when port is cleared."
 	::= {stormCtrlTrapsList 2 }
    syslogMIBObjects          OBJECT IDENTIFIER ::= { syslogGroup 1 }

-- -----------------------------------------------------------------------------   
    syslogGeneral             OBJECT IDENTIFIER ::= { syslogMIBObjects 1 }

    syslogSourceInterfaceState OBJECT-TYPE
       SYNTAX       INTEGER {
    				  enabled(1), 
    				  disabled(2) 
                   }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object indicates the source address of the SYSLOG packet should be assign or not.  
                If enable, the VLAN ID of the interface whose IP address
                will be used as the source address for sending the SYSLOG packet. 
                If disable, the IP address of the closest interface will be used."
    
       DEFVAL  { enabled } 
       ::= { syslogGeneral 1 }   

    syslogSourceInterfaceVID OBJECT-TYPE
       SYNTAX      Integer32 (1..4094)
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object indicates the VLAN ID of the interface whose IP address
                will be used as the source address for sending the SYSLOG packet." 
    
       DEFVAL  { 1 } 
       ::= { syslogGeneral 2 }

-- -----------------------------------------------------------------------------

    syslogLogbuffer          OBJECT IDENTIFIER ::= { syslogMIBObjects 2 }

    syslogClearLogBuffer OBJECT-TYPE
        SYNTAX          TruthValue
	    MAX-ACCESS      read-write
	    STATUS	        current
	    DESCRIPTION		    
        	"Clears the buffered logs. This object is set to 'false' by default. 
             When set to 'True', the buffered logs will be cleared and the value 
             of this object will become 'false' again."
        DEFVAL  { false }           
        ::= { syslogLogbuffer 1 }

    syslogLogBufferEnabled OBJECT-TYPE
        SYNTAX       INTEGER {
                        enable(1),
                        disable(2)
                     }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the state of logging system messages to the
            local buffer.
            Messages must enter the local message buffer first before it can
            be further dispatched to other destinations.
            "
        DEFVAL  { enable }
        ::= { syslogLogbuffer 2 }

    syslogLogBufSeverity OBJECT-TYPE
        SYNTAX       INTEGER{
                          emergencies(0),
                          alerts(1),
                          critical(2),
                          errors(3),
                          warnings(4),
                          notifications(5),
                          informational(6),
                          debugging(7)
                    }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the severity level of system messages. 
            The messages at that severity level or a more severe level will be
            logged to message buffers.
            "      
        ::= { syslogLogbuffer 3 }

    syslogLogBufWriteDelay OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION    
			"This object indicates the interval for periodic writing of the
            logging buffer to FLASH. The valid value is N to 65535. 
            N is project dependent. The default interval is 300 seconds.    
            Setting this object to -1 means infinite which will disable 
			periodical writing logging buffer to FLASH.
			Setting this object to 0 means writing logging buffer 
			to flash by trigger way.
			"
        ::= { syslogLogbuffer 4 }

-- -----------------------------------------------------------------------------   
    syslogServerTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF SyslogServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table consists of a list of SYSLOG servers to log system messages
            and debug output to a remote SYSLOG server host."
        ::= { syslogMIBObjects 5 }

    syslogServerEntry OBJECT-TYPE
        SYNTAX          SyslogServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry defines information for a SYSLOG server.
            "
        INDEX  { syslogServerIndex }
        ::= { syslogServerTable 1 }

    SyslogServerEntry ::= SEQUENCE {
        syslogServerIndex            Integer32,
        syslogServerAddressType      InetAddressType,
        syslogServerAddress          InetAddress,
        syslogServerPort             INTEGER,
        syslogServerSeverity         INTEGER,
        syslogServerFacility         INTEGER,
        syslogServerRowstatus        RowStatus
    }

    syslogServerIndex    OBJECT-TYPE
         SYNTAX          Integer32(1..4)
         MAX-ACCESS      read-only
         STATUS          current
         DESCRIPTION
            "the server config entry index."
         ::= { syslogServerEntry 1 }

    syslogServerAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the type of the server address."
        ::= { syslogServerEntry 2 }
    
    syslogServerAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the IP or IPv6 address of the SYSLOG server."
        ::= { syslogServerEntry 3 }

    syslogServerPort OBJECT-TYPE
        SYNTAX          INTEGER (514 | 1024..65535)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the UDP port number to be used for the
            SYSLOG server.
            "
        DEFVAL      { 514 }
        ::= { syslogServerEntry 4 }

    syslogServerSeverity OBJECT-TYPE
        SYNTAX       INTEGER{
                          emergencie(0),
                          alerts(1),
                          critical(2),
                          error(3),
                          warning(4),
                          notification(5),
                          informational(6),
                          debugging(7)
                    }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the severity of log messages that will be
            sent to the server."
        DEFVAL      { warning }
        ::= { syslogServerEntry 5 }

    syslogServerFacility OBJECT-TYPE
       SYNTAX         INTEGER {
						kern(0), -- kernel messages
						user(1), -- user-level messages
						mail(2), -- mail system messages
						daemon(3), -- system daemons' messages
						auth(4), -- authorization messages
						syslog(5), -- messages generated internally by syslogd
						lpr(6), -- line printer subsystem messages
						news(7), -- network news subsystem messages
						uucp(8), -- UUCP subsystem messages
						cron(9), -- clock daemon messages
						authpriv(10), -- security/authorization messages
						ftp(11), -- ftp daemon messages
						ntp(12), -- NTP subsystem messages
						audit(13), -- audit messages
						console(14), -- console messages
						cron2(15), -- clock daemon messages
						local0(16), --Reserved local use
						local1(17), --Reserved local use
						local2(18), --Reserved local use
						local3(19), --Reserved local use
						local4(20), --Reserved local use
						local5(21), --Reserved local use
						local6(22), --Reserved local use
						local7(23)  --Reserved local use
                      }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Specifies the logging facility of the log host.
            "
        DEFVAL      { kern }
        ::= { syslogServerEntry 6 }

    syslogServerRowstatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The row status variable, used according to installation
             and removal conventions for conceptual rows."
        ::= { syslogServerEntry 7 }
       
-- -----------------------------------------------------------------------------
    syslogBufferTableNum  OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of entries presented in the 
            syslogBufferTable."
        ::= { syslogMIBObjects 6 }

    syslogBufferTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF SyslogBufferEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table consists of a list of system log messages."
        ::= { syslogMIBObjects 7 }

    syslogBufferEntry OBJECT-TYPE
        SYNTAX          SyslogBufferEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "An entry defines a log message."
        INDEX           { syslogBufferIndex }
        ::= { syslogBufferTable 1 }

    SyslogBufferEntry ::= SEQUENCE {
        syslogBufferIndex          Unsigned32,
        syslogBufferDateAndTime    DisplayString,
        syslogBufferDescription    DisplayString,
        syslogBufferSeverity       INTEGER
    }

    syslogBufferIndex OBJECT-TYPE
        SYNTAX          Unsigned32 (1..100000)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "An index that uniquely identifies the message."
        ::= { syslogBufferEntry 1 }

    syslogBufferDateAndTime OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The date and time when the message is logged."
        ::= { syslogBufferEntry 2 }

    syslogBufferDescription OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The content of the log message."
        ::= { syslogBufferEntry 3 }

    syslogBufferSeverity OBJECT-TYPE
        SYNTAX       INTEGER{
                          emergencie(0),
                          alerts(1),
                          critical(2),
                          error(3),
                          warning(4),
                          notification(5),
                          informational(6),
                          debugging(7)
                    }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the severity of log messages that will be
            sent to the server."
        ::= { syslogBufferEntry 4 }


    -- ------------------------------------------------------------------
    -- Mirror Settings
    -- ------------------------------------------------------------------
    mirrorSessionTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MirrorSessionEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                    "A table to Session Table."
            ::= { monMirrorGroup 1 }

    mirrorSessionEntry OBJECT-TYPE
            SYNTAX      MirrorSessionEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                    "An entry appears in Session Table."
            INDEX { mirrorSessionNumber }
            ::= { mirrorSessionTable 1 }

    MirrorSessionEntry ::=
            SEQUENCE {
                    mirrorSessionNumber     Integer32,
                    mirrorDestinationPort   Integer32,
                    mirrorSourceIngressPort  PortList,
                    mirrorSourceEgressPort   PortList,
                    mirrorSessionRowStatus  RowStatus
            }
            
    mirrorSessionNumber OBJECT-TYPE
        SYNTAX      Integer32(1..4)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Specifies the port to which the mirrored traffic in the system
            is to be copied."
        ::= { mirrorSessionEntry 1 }
        
    mirrorDestinationPort  OBJECT-TYPE
        SYNTAX      Integer32 (1..15)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Mirror Settings. Destination port."
        ::= { mirrorSessionEntry 2 }

    mirrorSourceIngressPort OBJECT-TYPE
       SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object indicates the port index."
        ::= { mirrorSessionEntry 3 }

    mirrorSourceEgressPort OBJECT-TYPE
       SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object indicates the port index."
        ::= { mirrorSessionEntry 4 }


	mirrorSessionRowStatus OBJECT-TYPE 
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
		  "Specifies the validity of the entry, max entry number is 4."
	   ::= { mirrorSessionEntry 5 }

    statisticsCounters             	OBJECT IDENTIFIER ::= { monStatisticsGroup 1 }
    statisticsErrorCounters      	OBJECT IDENTIFIER ::= { monStatisticsGroup 2 }
    statisticsClear			      	OBJECT IDENTIFIER ::= { monStatisticsGroup 3 }

    -- --------------------------------------------------------------------
    -- statistics normal counters
    -- --------------------------------------------------------------------
    statisticsCountersTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF StatisticsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A list of interface entries.  The number of entries is
                given by the value of ifNumber."
        ::= { statisticsCounters 1 }

    statisticsCountersEntry OBJECT-TYPE
        SYNTAX      StatisticsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing management information applicable to a
                particular interface."
        INDEX   { statPort }
        ::= { statisticsCountersTable 1 }

    StatisticsEntry ::=
        SEQUENCE {
            statPort                        InterfaceIndex,
            statPortRxRateBytes             Counter32,
            statPortRxRatePackets           Counter32,
            statPortRxTotalBytes            Counter64,
            statPortRxTotalPackets          Counter64,
            statPortTxRateBytes             Counter32,
            statPortTxRatePackets           Counter32,
            statPortTxTotalBytes            Counter64,
            statPortTxTotalPackets          Counter64,
			statPortRxMulticast             Counter64,
			statPortRxUnicast             	Counter64,
			statPortRxBroadcast             Counter64,
			statPortTxMulticast             Counter64,
			statPortTxUnicast             	Counter64,
			statPortTxBroadcast             Counter64,
			statCountersrxHCPkt64Octets                     Counter64,
            statCountersrxHCPkt65to127Octets                Counter64,
            statCountersrxHCPkt128to255Octets               Counter64,
            statCountersrxHCPkt256to511Octets               Counter64,
            statCountersrxHCPkt512to1023Octets              Counter64,
            statCountersrxHCPkt1024to1518Octets             Counter64,
            statCountersrxHCPkt1519to2047Octets             Counter64,
            statCountersrxHCPkt2048to4095Octets             Counter64,
            statCountersrxHCPkt4096to9216Octets             Counter64,
            statCounterstxHCPkt64Octets                     Counter64,
            statCounterstxHCPkt65to127Octets                Counter64,
            statCounterstxHCPkt128to255Octets               Counter64,
            statCounterstxHCPkt256to511Octets               Counter64,
            statCounterstxHCPkt512to1023Octets              Counter64,
            statCounterstxHCPkt1024to1518Octets             Counter64,
            statCounterstxHCPkt1519to2047Octets             Counter64,
            statCounterstxHCPkt2048to4095Octets             Counter64,
            statCounterstxHCPkt4096to9216Octets             Counter64

        }

    statPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                ""
        ::= { statisticsCountersEntry 1 }

    statPortRxRateBytes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port RX Rate bytes/sec."
        ::= { statisticsCountersEntry 2 }

    statPortRxRatePackets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port RX Rate Packets/sec."
        ::= { statisticsCountersEntry 3 }

    statPortRxTotalBytes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Rx Total Bytes/sec."
        ::= { statisticsCountersEntry 4 }

    statPortRxTotalPackets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Rx Total Packets/sec."
        ::= { statisticsCountersEntry 5 }

    statPortTxRateBytes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx Rate Bytes/sec."
        ::= { statisticsCountersEntry 6 }

    statPortTxRatePackets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx Rate Packets/sec."
        ::= { statisticsCountersEntry 7 }

    statPortTxTotalBytes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx Total Bytes/sec."
        ::= { statisticsCountersEntry 8 }

    statPortTxTotalPackets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx Total Packets."
        ::= { statisticsCountersEntry 9 }
  
    statPortRxMulticast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Rx multicast Packets."
        ::= { statisticsCountersEntry 10 }
  
    statPortRxUnicast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Rx unicast Packets."
        ::= { statisticsCountersEntry 11 }
  
    statPortRxBroadcast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Rx broadcast Packets."
        ::= { statisticsCountersEntry 12 }
  
    statPortTxMulticast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx multicast Packets."
        ::= { statisticsCountersEntry 13 }
  
    statPortTxUnicast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx unicast Packets."
        ::= { statisticsCountersEntry 14 }
  
    statPortTxBroadcast OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port Tx broadcast Packets."
        ::= { statisticsCountersEntry 15 }
		

    statCountersrxHCPkt64Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 16 }
    
    statCountersrxHCPkt65to127Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 17 }

    statCountersrxHCPkt128to255Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 18 }

    statCountersrxHCPkt256to511Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 19 }

    statCountersrxHCPkt512to1023Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 20 }
        
    statCountersrxHCPkt1024to1518Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 21 }

    statCountersrxHCPkt1519to2047Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 22 }

    statCountersrxHCPkt2048to4095Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 23 }
    
    statCountersrxHCPkt4096to9216Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 24 }

    statCounterstxHCPkt64Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 25 }

    statCounterstxHCPkt65to127Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 26 }

    statCounterstxHCPkt128to255Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 27 }

    statCounterstxHCPkt256to511Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 28 }

    statCounterstxHCPkt512to1023Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 29 }

    statCounterstxHCPkt1024to1518Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 30 }
    
    statCounterstxHCPkt1519to2047Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 31 }

    statCounterstxHCPkt2048to4095Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 32 }

    statCounterstxHCPkt4096to9216Octets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsCountersEntry 33 }


	-- --------------------------------------------------------------------
    -- statistics error Counters
    -- --------------------------------------------------------------------
    statisticsErrorTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF StatisticsErrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A list of interface entries.  The number of entries is
                given by the value of ifNumber."
        ::= { statisticsErrorCounters 1 }

    statisticsErrorEntry OBJECT-TYPE
        SYNTAX      StatisticsErrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing management information applicable to a
                particular interface."
        INDEX   { statPortCountPort }

        ::= { statisticsErrorTable 1 }

    StatisticsErrorEntry ::=
        SEQUENCE {
			statPortCountPort               				InterfaceIndex,
			statCountersrxDroppkts          				Counter32,
            statCountersrxMTUDropPkts                       Counter32,
            statPortCountDeferredTx         				Counter32,
            statCountersdot3StatsSingleColFrames            Counter32,
            statPortCountExcessCol          				Counter32,
            statPortCountLateCol            				Counter32,
            statPortCountAlignErr           				Counter32,
            statPortCountFCSErr             				Counter32,
            statCountersifOutDiscards                       Counter32,
            statPortCountMultiCol           				Counter32,
            statPortCountCarriSen           				Counter32,
            statPortCountSQETestErr         				Counter32,
            statCountersdot3StatsDeferredTransmisions       Counter32,
            statPortCountIntMacTx           				Counter32,
            statPortCountIntMacRx           				Counter32,
			statCountersrxCRCAlignErrors                    Counter32,
            statCountersrxUndersizedPkts                    Counter32,
            statCountersrxOversizedPkts                     Counter32,
            statCountersrxFragmentPkts                      Counter32,
            statCountersrxJabbers                           Counter32,
            statCountersrxSymbolErrors                      Counter32,
            statCountersrxMulticastDropPkts                 Counter32,
            statCountersifInErrors                          Counter32,
            statCountersifOutErrors                         Counter32,
            statCountersifInDiscards                        Counter32,
            statCountersifInUnknownProtos                   Counter32,
            statCounterstxDelayExceededDiscards             Counter32
			}

    statPortCountPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "A unique value, greater than zero, for each interface.  It
                is recommended that values are assigned contiguously
                starting from 1.  The value for each interface sub-layer
                must remain constant at least from one re-initialization of
                the entity's network management system to the next re-
                initialization."
        ::= { statisticsErrorEntry 1 }

		statCountersrxDroppkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 2 }

    statCountersrxMTUDropPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 3 }

    statPortCountDeferredTx OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A count of frames for which the first
            transmission attempt on a particular interface
            is delayed because the medium is busy.
            The count represented by an instance of this
            object does not include frames involved in
            collisions.

            This counter does not increment when the
            interface is operating in full-duplex mode.
            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
        ::= { statisticsErrorEntry 4 }

    statCountersdot3StatsSingleColFrames OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 5 }

    statPortCountExcessCol OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "A count of frames for which transmission on a
                   particular interface fails due to excessive
                   collisions.
                   This counter does not increment when the
                   interface is operating in full-duplex mode.

                   Discontinuities in the value of this counter can
                   occur at re-initialization of the management
                   system, and at other times as indicated by the
                   value of ifCounterDiscontinuityTime."
       REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.11,
                   aFramesAbortedDueToXSColls."
       ::= { statisticsErrorEntry 6 }

    statPortCountLateCol OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The number of times that a collision is
                   detected on a particular interface later than
                   one slotTime into the transmission of a packet.

                   A (late) collision included in a count
                   represented by an instance of this object is
                   also considered as a (generic) collision for
                   purposes of other collision-related
                   statistics.

                   This counter does not increment when the
                   interface is operating in full-duplex mode.

                   Discontinuities in the value of this counter can
                   occur at re-initialization of the management
                   system, and at other times as indicated by the
                   value of ifCounterDiscontinuityTime."
       REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.10,
                   aLateCollisions."
       ::= { statisticsErrorEntry 7 }

		statPortCountAlignErr OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "."
        ::= { statisticsErrorEntry 8 }

    statPortCountFCSErr OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
                "A count of frames received on a particular
               interface that are an integral number of octets
               in length but do not pass the FCS check.  This
               count does not include frames received with
               frame-too-long or frame-too-short error.

               The count represented by an instance of this
               object is incremented when the frameCheckError
               status is returned by the MAC service to the
               LLC (or other MAC user). Received frames for
               which multiple error conditions pertain are,
               according to the conventions of IEEE 802.3
               Layer Management, counted exclusively according
               to the error status presented to the LLC.

               Note:  Coding errors detected by the physical
               layer for speeds above 10 Mb/s will cause the
               frame to fail the FCS check.

               For interfaces operating at 10 Gb/s, this
               counter can roll over in less than 5 minutes if
               it is incrementing at its maximum rate.  Since
               that amount of time could be less than a
               management station's poll cycle time, in order
               to avoid a loss of information, a management
               station is advised to poll the
               dot3HCStatsFCSErrors object for 10 Gb/s or
               faster interfaces.

               Discontinuities in the value of this counter can
               occur at re-initialization of the management
               system, and at other times as indicated by the
               value of ifCounterDiscontinuityTime."
           REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.6,
                       aFrameCheckSequenceErrors."
           ::= { statisticsErrorEntry 9 }

    statCountersifOutDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 10 }    

    statPortCountMultiCol OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "."
        ::= { statisticsErrorEntry 11 }

	   statPortCountCarriSen OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "."

       ::= { statisticsErrorEntry 12 }

    statPortCountSQETestErr OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "."
       ::= { statisticsErrorEntry 13 }

    statCountersdot3StatsDeferredTransmisions OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 14 }

    statPortCountIntMacTx OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A count of frames for which transmission on a
            particular interface fails due to an internal
            MAC sublayer transmit error. A frame is only
            counted by an instance of this object if it is
            not counted by the corresponding instance of
            either the dot3StatsLateCollisions object, the
            dot3StatsExcessiveCollisions object, or the
            dot3StatsCarrierSenseErrors object.

            The precise meaning of the count represented by
            an instance of this object is implementation-
            specific.  In particular, an instance of this
            object may represent a count of transmission
            errors on a particular interface that are not
            otherwise counted.

            For interfaces operating at 10 Gb/s, this
            counter can roll over in less than 5 minutes if
            it is incrementing at its maximum rate.  Since
            that amount of time could be less than a
            management station's poll cycle time, in order
            to avoid a loss of information, a management
            station is advised to poll the
            dot3HCStatsInternalMacTransmitErrors object for
            10 Gb/s or faster interfaces.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
            REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.12,
            aFramesLostDueToIntMACXmitError."
        ::= { statisticsErrorEntry 15 }

   statPortCountIntMacRx OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A count of frames for which reception on a
            particular interface fails due to an internal
            MAC sublayer receive error. A frame is only
            counted by an instance of this object if it is
            not counted by the corresponding instance of
            either the dot3StatsFrameTooLongs object, the
            dot3StatsAlignmentErrors object, or the
            dot3StatsFCSErrors object.

            The precise meaning of the count represented by
            an instance of this object is implementation-
            specific.  In particular, an instance of this
            object may represent a count of receive errors
            on a particular interface that are not
            otherwise counted.

            For interfaces operating at 10 Gb/s, this
            counter can roll over in less than 5 minutes if
            it is incrementing at its maximum rate.  Since
            that amount of time could be less than a
            management station's poll cycle time, in order
            to avoid a loss of information, a management
            station is advised to poll the
            dot3HCStatsInternalMacReceiveErrors object for
            10 Gb/s or faster interfaces.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.15,
                   aFramesLostDueToIntMACRcvError."
       ::= { statisticsErrorEntry 16 }

    statCountersrxCRCAlignErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 17 }
    
    statCountersrxUndersizedPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 18 }

    statCountersrxOversizedPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 19 }

    statCountersrxFragmentPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 20 }

    statCountersrxJabbers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 21 }

    statCountersrxSymbolErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 22 }

    statCountersrxMulticastDropPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 23 }

    statCountersifInErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 24 }

    statCountersifOutErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 25 }


    statCountersifInDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 26 }

    statCountersifInUnknownProtos OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 27 }

    statCounterstxDelayExceededDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "."
        ::= { statisticsErrorEntry 28 }

----------------------------------------------------------------------------------------------
	-- the Interfaces table

	statisticsCounterClearTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF StatCounterClearEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"A list of interface entries.  The number of entries is
				given by the value of ifNumber."
		::= { statisticsClear 1 }

	statisticsCounterClearEntry OBJECT-TYPE
		SYNTAX      StatCounterClearEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"An entry containing management information applicable to a
				particular interface."
		INDEX   { statCounterClearIndex }
		::= { statisticsCounterClearTable 1 }

	StatCounterClearEntry ::=
		SEQUENCE {
			statCounterClearIndex            INTEGER,
			statCounterClearStatus			INTEGER,
			statCounterLinkChange			INTEGER
		}

	statCounterClearIndex OBJECT-TYPE
		SYNTAX      INTEGER
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"A unique value, greater than zero, for each interface.  It
				is recommended that values are assigned contiguously
				starting from 1.  The value for each interface sub-layer
				must remain constant at least from one re-initialization of
				the entity's network management system to the next re-
				initialization."
		::= { statisticsCounterClearEntry 1 }

	statCounterClearStatus OBJECT-TYPE
	   SYNTAX      INTEGER { enabled(1), disabled(2) }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
			   "Enable or disable statCounter Counters Clear on read by port."
	   ::= { statisticsCounterClearEntry 2 }
	
	statCounterLinkChange OBJECT-TYPE
	   SYNTAX      INTEGER
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
			   "Counter the linkchange times by port."
	   ::= { statisticsCounterClearEntry 3 }


-- ---------------------------------------------------------------------
-- DDM
-- ---------------------------------------------------------------------
    fdbStaticFDB                    OBJECT IDENTIFIER ::= { l2FDBGroup 1 }
    fdbMACAddressTableSettings      OBJECT IDENTIFIER ::= { l2FDBGroup 2 }


--    fdbMACNotification              OBJECT IDENTIFIER ::= { l2FDBGroup 5 }
-- ---------------------------------------------------------------------
-- Static FDB 
-- ---------------------------------------------------------------------
    fdbUnicastStaticFDB             OBJECT IDENTIFIER ::= { fdbStaticFDB 1 }
    fdbMulticastStaticFDB           OBJECT IDENTIFIER ::= { fdbStaticFDB 2 }
    -- ---------------------------------------------------------------------
    -- Unicast Static FDB 
    -- ---------------------------------------------------------------------
    fdbUnicastStaticFDBTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FdbUnicastStaticFDBEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Unicast Static FDB ."
        ::= { fdbUnicastStaticFDB 1 }

    fdbUnicastStaticFDBEntry OBJECT-TYPE
        SYNTAX      FdbUnicastStaticFDBEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Unicast Static FDB ."
        INDEX   { fdbUnicastStaticFDBVID, fdbUnicastStaticFDBMACAddr }
        ::= { fdbUnicastStaticFDBTable 1 }

    FdbUnicastStaticFDBEntry ::=
        SEQUENCE {
            fdbUnicastStaticFDBVID
                Integer32,
            fdbUnicastStaticFDBMACAddr
                MacAddress,
            fdbUnicastStaticFDBPort
                InterfaceIndex,
            fdbUnicastStaticFDBState
                INTEGER,
            fdbUnicastStaticFDBRowStatus
                RowStatus
        }

    fdbUnicastStaticFDBVID OBJECT-TYPE
        SYNTAX      Integer32(1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Unicast Static FDB. VID (1-4094)."
        ::= { fdbUnicastStaticFDBEntry 1 }

	fdbUnicastStaticFDBMACAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Unicast Static FDB. MAC Address."
        ::= { fdbUnicastStaticFDBEntry 2 }

    fdbUnicastStaticFDBPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Unicast Static FDB. port."
        ::= { fdbUnicastStaticFDBEntry 3 }

    fdbUnicastStaticFDBState OBJECT-TYPE
        SYNTAX      INTEGER {
                        permanent(1),
                        permanentDrop(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry.
                permanent(1) - this entry is currently in use
                    and will remain so after the next reset of
                    the bridge.
                permanentDrop(2) - This entry will filter the packet with the specified
                        MAC address as the source MAC or as the destination MAC.
    		            The entry is currently in use and will remain so after the 
    		            next reboot of the device."
        DEFVAL      { permanent }
        ::= { fdbUnicastStaticFDBEntry 4 }
        
    fdbUnicastStaticFDBRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of fdbUnicastStaticFDBTable
		to which a frame with a specific unicast 
    	address will be flooded in the event that it has not 
    	been learned. To set fdbUnicastStaticFDBPort, 
    	we have to set the rowstatus as 'NOT_IN_SERVICE' and 
    	set the appropriate port in the 
    	fdbUnicastStaticFDBPort and set the rowstatus as 
    	'ACTIVE' to make the port available."
        ::= { fdbUnicastStaticFDBEntry 5 }

    -- ---------------------------------------------------------------------
    -- Multicast Static FDB 
    -- ---------------------------------------------------------------------
    fdMulticastStaticFDBTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FdbMulticastStaticFDBEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        ::= { fdbMulticastStaticFDB 1 }

    fdbMulticastStaticFDBEntry OBJECT-TYPE
        SYNTAX      FdbMulticastStaticFDBEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        INDEX { fdbMulticastStaticFDBVID, fdbMulticastStaticFDBMACAddr}
        ::= { fdMulticastStaticFDBTable 1 }

    FdbMulticastStaticFDBEntry ::=
        SEQUENCE {
            fdbMulticastStaticFDBVID
                Integer32,
            fdbMulticastStaticFDBMACAddr
                MacAddress,
			fdbMulticastStaticFDBEgressPorts
				PortList,	
            fdbMulticastStaticFDBRowStatus
                RowStatus
        }

    fdbMulticastStaticFDBVID OBJECT-TYPE
        SYNTAX      Integer32(1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast Static FDB. VID (1-4094)."
        ::= { fdbMulticastStaticFDBEntry 1 }

	fdbMulticastStaticFDBMACAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast Static FDB. MAC Address."
        ::= { fdbMulticastStaticFDBEntry 2 }

    fdbMulticastStaticFDBEgressPorts OBJECT-TYPE
		SYNTAX      PortList
		MAX-ACCESS  read-write
		STATUS      current
        DESCRIPTION
            "Multicast Static FDB. egress PortList."
        ::= { fdbMulticastStaticFDBEntry 3 }

    fdbMulticastStaticFDBRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of fdMulticastStaticFDBTable
		to which a frame with a specific multicast 
    	address will be flooded in the event that it has not 
    	been learned. To set fdbMulticastStaticFDBEgressPorts, 
    	we have to set the rowstatus as 'NOT_IN_SERVICE' and 
    	set the appropriate portlist in the 
    	fdbMulticastStaticFDBEgressPorts and set the rowstatus as 
    	'ACTIVE' to make the port available."
        ::= { fdbMulticastStaticFDBEntry 4 }

-- ---------------------------------------------------------------------
-- MAC Address Table Settings 
-- ---------------------------------------------------------------------
    fdbMACAddrGlobalSettings        OBJECT IDENTIFIER ::= { fdbMACAddressTableSettings 1 }
    -- ---------------------------------------------------------------------
    -- Global Settings 
    -- ---------------------------------------------------------------------
    fdbMACAddrAgingTime OBJECT-TYPE
        SYNTAX      Integer32(0..1000000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "MAC Address Table Settings. Global Settings. Aging Time (0, 10-1000000)"
        ::= { fdbMACAddrGlobalSettings 1 }
        
    fdbMACAddrAgingDestinationHit     OBJECT-TYPE
       SYNTAX      INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "MAC Address Table Settings. Global Settings. Aging Destination Hit"
       ::= { fdbMACAddrGlobalSettings 2 }  
    -- ---------------------------------------------------------------------
    -- MAC Address Learning 
    -- ---------------------------------------------------------------------
   fdbMACAddressLearningTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FdbMACAddressLearningEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        ::= { fdbMACAddressTableSettings 2 }

    fdbMACAddressLearningEntry OBJECT-TYPE
        SYNTAX      FdbMACAddressLearningEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        INDEX   { fdbMACAddressLearningPort }
        ::= { fdbMACAddressLearningTable 1 }

    FdbMACAddressLearningEntry ::=
        SEQUENCE {
            fdbMACAddressLearningPort       InterfaceIndex,
            fdbMACAddressLearningState      INTEGER
        }

    fdbMACAddressLearningPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC Address Learning. port."
        ::= { fdbMACAddressLearningEntry 1 }

    fdbMACAddressLearningState    OBJECT-TYPE
       SYNTAX      INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "MAC Address Learning. State."
       ::= { fdbMACAddressLearningEntry 2 }

-- ---------------------------------------------------------------------
-- MAC Address Table 
-- ---------------------------------------------------------------------
    fdbMACAddressTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FdbMACAddressTableEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        ::= { l2FDBGroup 3 }

    fdbMACAddressTableEntry OBJECT-TYPE
        SYNTAX      FdbMACAddressTableEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Multicast Static FDB ."
        INDEX   { fdbMACAddrTabVID, fdbMACAddrTabMACAddr}
        ::= { fdbMACAddressTable 1 }

    FdbMACAddressTableEntry ::=
        SEQUENCE {
            fdbMACAddrTabVID        Integer32,
            fdbMACAddrTabMACAddr    MacAddress,
            fdbMACAddrTabType       INTEGER,
            fdbMACAddrTabPort       DisplayString
        }

    fdbMACAddrTabVID OBJECT-TYPE
        SYNTAX      Integer32(1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC Address Table. VID (1-4094)."
        ::= { fdbMACAddressTableEntry 1 }
        
	fdbMACAddrTabMACAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC Address Table. MAC Address."
        ::= { fdbMACAddressTableEntry 2 }

    fdbMACAddrTabType    OBJECT-TYPE
       SYNTAX      INTEGER {
                     dynamic   (3),
                     self      (4),
                     static    (5)
                  }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "MAC Address Table. Type."
       ::= { fdbMACAddressTableEntry 3 }

    fdbMACAddrTabPort OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The port number of the port on
			which a frame having a source address equal to the value
			of the corresponding instance of dynamicFdbMacAddr has
			been seen.If the port is LA port, will show 'po' before port.
		"
        ::= { fdbMACAddressTableEntry 4 }

    fdbMACAddressClear              OBJECT IDENTIFIER ::= { l2FDBGroup 4 }
    fdbClearId OBJECT-TYPE
        SYNTAX      Unsigned32 (1..4094)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Fdb clear object identification:
             If fdbClearAction is clear by port, then this value is a port number;
             If fdbClearAction is clear by vlan, then this value is a port vlan id;
             If fdbClearAction is clear by MAC, then this value is a MAC address;
             otherwise this value is not used."
        ::= { fdbMACAddressClear 1 }

    fdbClearMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Fdb clear object identification: 
             If fdbClearAction is clear by MAC, then this value is a MAC address;
             otherwise this value is not used."
        ::= { fdbMACAddressClear 2 }

    fdbClearAction OBJECT-TYPE
       SYNTAX      INTEGER {
                       clearAll(1),
                       clearByVlanId(2),
                       clearByPort(3),
                       clearByMAC(4)
                   }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Fdb clear action identification:
             ClearAll              to clear all fdb entries;
             ClearClearAllByVlanId clear all fdb entries that belong to specified vlan id;
             ClearAllByPort        clear all fdb entries that belong to specified port;
             ClearAllByMAC         clear all fdb entries that belong to specified MAC address"
        ::= { fdbMACAddressClear 3 }

-- ---------------------------------------------------------------------
-- MAC Notification 
-- ---------------------------------------------------------------------
--    fdbMACNotificationSettings          OBJECT IDENTIFIER ::= { fdbMACNotification 1 }
--    fdbMACNotificationHistory           OBJECT IDENTIFIER ::= { fdbMACNotification 2 }
--    -- ---------------------------------------------------------------------
--    -- MAC Notification Settings 
--    -- ---------------------------------------------------------------------
--    fdbMACAddrNotifState    OBJECT-TYPE
--       SYNTAX      INTEGER {
--                     enabled     (1),
--                     disabled    (2)
--                  }
--       MAX-ACCESS  read-write
--       STATUS      current
--       DESCRIPTION
--          "MAC Notification Global Settings. state."
--       ::= { fdbMACNotificationSettings 1 }
--
--    fdbMACAddrNotifInterval  OBJECT-TYPE
--        SYNTAX      Integer32(1..2147483647)
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--            "MAC Notification Global Settings. Interval (1-2147483647)."
--        ::= { fdbMACNotificationSettings 2 }
--
--    fdbMACAddrNotifHistorySize  OBJECT-TYPE
--        SYNTAX      Integer32(1..500)
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--            "MAC Notification Global Settings. History Size (0-500)."
--        ::= { fdbMACNotificationSettings 3 }
--
--    fdbMACAddrNotifTrapState    OBJECT-TYPE
--       SYNTAX      INTEGER {
--                     enabled     (1),
--                     disabled    (2)
--                  }
--       MAX-ACCESS  read-write
--       STATUS      current
--       DESCRIPTION
--          "MAC Notification Global Settings. MAC Notification Trap State."
--       ::= { fdbMACNotificationSettings 4 }
--
--
--    fdbMACNotifTrapTable OBJECT-TYPE
--        SYNTAX      SEQUENCE OF FdbMACNotifTrapEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--                "Multicast Static FDB ."
--        ::= { fdbMACNotificationSettings 5 }
--
--    fdbMACNotifTrapEntry OBJECT-TYPE
--        SYNTAX      FdbMACNotifTrapEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--                "Multicast Static FDB ."
--        INDEX   { fdbMACNotifPort }
--        ::= { fdbMACNotifTrapTable 1 }
--
--    FdbMACNotifTrapEntry ::=
--        SEQUENCE {
--            fdbMACNotifPort             InterfaceIndex,
--            fdbMACNotifAddedTrap        INTEGER,
--            fdbMACNotifRemovedTrap      INTEGER
--        }
--    fdbMACNotifPort OBJECT-TYPE
--        SYNTAX      InterfaceIndex
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--            "MAC Notification Global Settings. port."
--        ::= { fdbMACNotifTrapEntry 1 }
--
--    fdbMACNotifAddedTrap    OBJECT-TYPE
--       SYNTAX      INTEGER {
--                     enabled     (1),
--                     disabled    (2)
--                  }
--       MAX-ACCESS  read-write
--       STATUS      current
--       DESCRIPTION
--          "MAC Notification Global Settings. Added Trap."
--       ::= { fdbMACNotifTrapEntry 2 }
--
--    fdbMACNotifRemovedTrap    OBJECT-TYPE
--       SYNTAX      INTEGER {
--                     enabled     (1),
--                     disabled    (2)
--                  }
--       MAX-ACCESS  read-write
--       STATUS      current
--       DESCRIPTION
--          "MAC Notification Global Settings. Removed Trap."
--       ::= { fdbMACNotifTrapEntry 3 }
--    -- ---------------------------------------------------------------------
--    -- MAC Notification History 
--    -- ---------------------------------------------------------------------
--    fdbMACNotifiHistoryTable OBJECT-TYPE
--        SYNTAX      SEQUENCE OF FdbMACNotifiHistoryEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--                "Multicast Static FDB ."
--        ::= { fdbMACNotificationHistory 1 }
--
--    fdbMACNotifiHistoryEntry OBJECT-TYPE
--        SYNTAX      FdbMACNotifiHistoryEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--                "Multicast Static FDB ."
--        INDEX   { fdbMACNotifiHistoryID }
--        ::= { fdbMACNotifiHistoryTable 1 }
--
--    FdbMACNotifiHistoryEntry ::=
--        SEQUENCE {
--            fdbMACNotifiHistoryID           InterfaceIndex,
--            fdbMACNotifiHistoryMessage      DisplayString
--        }
--    fdbMACNotifiHistoryID OBJECT-TYPE
--        SYNTAX      InterfaceIndex
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--            "MAC Notification History . History Index."
--        ::= { fdbMACNotifiHistoryEntry 1 }
--
--    fdbMACNotifiHistoryMessage   OBJECT-TYPE
--        SYNTAX      DisplayString 
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--            "MAC Notification History . History Message."
--        ::= { fdbMACNotifiHistoryEntry 2}
--
    qosBasPortDefaultCoS                OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 1 }
    qosBasPortScheMethod                OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 2 }
    qosBasQueueSettings                 OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 3 }
    qosBasCoS2QueueMapping              OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 4 }
    qosBasPortRateLimiting              OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 5 }
    qosBasQueueRateLimiting             OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 6 }
	qosBasDscpMapCos	                OBJECT IDENTIFIER ::= { qosBasicSettingsGroup 7 }

    -- ------------------------------------------------------------------
    -- Port Default CoS
    -- ------------------------------------------------------------------
    qosPortDefaultCoSTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosPortDefaultCoSEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table of Port Default CoS."
		::= { qosBasPortDefaultCoS 1 }

	qosPortDefaultCoSEntry OBJECT-TYPE
		SYNTAX          QosPortDefaultCoSEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry configures the Port Default CoS."
		INDEX   { qosPortindex }
		::= { qosPortDefaultCoSTable 1 }

	QosPortDefaultCoSEntry ::= 		SEQUENCE {
	    qosPortindex           Integer32,
		qosPortDefMode         INTEGER,
		qosPortDefCos          Integer32,
		qosPortDefOverride     INTEGER
	}

    qosPortindex OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosPortDefaultCoSEntry 1 }
	
    qosPortDefMode OBJECT-TYPE
		SYNTAX	INTEGER {
            defaultCoS (1),
            none (2)
        }
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		   "This object indicates the mechanism of QoS scheduling on the interface.
		   "
		::= { qosPortDefaultCoSEntry 2 }

	qosPortDefCos OBJECT-TYPE
		SYNTAX          Integer32 ( 0..7 )
		MAX-ACCESS      read-create
		STATUS  current
		DESCRIPTION
		    "Port Default CoS. Indicates the Default CoS."     
		::= { qosPortDefaultCoSEntry 3 }
		
    qosPortDefOverride OBJECT-TYPE
		SYNTAX	INTEGER {
                     enabled     (1),
                     disabled    (2)
                  }
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		   "Port Default CoS. Override"
		::= { qosPortDefaultCoSEntry 4 }
		
    -- ------------------------------------------------------------------
    -- Port Scheduler Method
    -- ------------------------------------------------------------------
    qosPortSchedulerMethodTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosPortSchedulerMethodEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table consists of a list of scheduling mechanism configurations
            for ports."
		::= { qosBasPortScheMethod 1 }

	qosPortSchedulerMethodEntry OBJECT-TYPE
		SYNTAX          QosPortSchedulerMethodEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry configures the scheduling mode on an interface."
		INDEX   { qosSchedulingModeBasePort }
		::= { qosPortSchedulerMethodTable 1 }

	QosPortSchedulerMethodEntry ::= 		SEQUENCE {
	    qosSchedulingModeBasePort       Integer32,
		qosSchedulingMode               INTEGER
	}

    qosSchedulingModeBasePort OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosPortSchedulerMethodEntry 1 }

    qosSchedulingMode OBJECT-TYPE
		SYNTAX	INTEGER {
            sp(1),
            rr(2),
            wrr(3),
            wdrr(4)
        }
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		   "This object indicates the mechanism of QoS scheduling on the interface.
		   "
		::= { qosPortSchedulerMethodEntry 2 }

    -- ------------------------------------------------------------------
    -- Queue Settings
    -- ------------------------------------------------------------------
    qosQueueSettingsTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosQueueSettingsEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table consists of a list of configurations for WRR queue bandwidth
            of queues.            
            "
		::= { qosBasQueueSettings 1 }

	qosQueueSettingsEntry OBJECT-TYPE
		SYNTAX          QosQueueSettingsEntry
		MAX-ACCESS      not-accessible
		STATUS  current
		DESCRIPTION
		    "An entry defines WRR weight of a queue on an interface.
            An entry exists for each queue if the WRR bandwidth is configurable
            on the queue.
            "
		INDEX   { 
            qosQueueBasePort,
            qosQueueID
        }
		::= { qosQueueSettingsTable 1 }

	QosQueueSettingsEntry ::= 		SEQUENCE {
	    qosQueueBasePort            Integer32,
	    qosQueueID	                INTEGER,
        qosQueueWrrWeight           INTEGER,    
        qosQueueQuantum  	        INTEGER
	}

    qosQueueBasePort OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosQueueSettingsEntry 1 }
	    
	qosQueueID OBJECT-TYPE
		SYNTAX          INTEGER ( 0..7 )
		MAX-ACCESS      read-only
		STATUS  current
		DESCRIPTION
		    "This object indicates the queue ID of the entry."     
		::= { qosQueueSettingsEntry 2 }
		
   	qosQueueWrrWeight    OBJECT-TYPE
		SYNTAX          INTEGER (0..127)
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		    "This object indicates the WRR Weight."
		::= { qosQueueSettingsEntry 3 }

    qosQueueQuantum  OBJECT-TYPE
		SYNTAX          INTEGER ( 0 .. 127)
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		    "This object indicates the WDRR Quantum."
		::= { qosQueueSettingsEntry 4 }	

    -- ------------------------------------------------------------------
    -- CoS to Queue Mapping
    -- ------------------------------------------------------------------
    qosCoS2QueueTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QosCoS2QueueEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "The table of CoS to Queue Mapping."
        ::= { qosBasCoS2QueueMapping 1 }

    qosCoS2QueueEntry OBJECT-TYPE
        SYNTAX      QosCoS2QueueEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The list of CoS to Queue Mapping entry."
        INDEX { qosCoS2QueCos }
        ::= { qosCoS2QueueTable 1 }

    QosCoS2QueueEntry ::= SEQUENCE {
        qosCoS2QueCos         Integer32,
        qosCos2QueQueueID     Integer32
    }

	qosCoS2QueCos OBJECT-TYPE
		SYNTAX          Integer32 ( 0..7 )
		MAX-ACCESS      read-only
		STATUS  current
		DESCRIPTION
		    "CoS to Queue Mapping. CoS."     
		::= { qosCoS2QueueEntry 1 }

	qosCos2QueQueueID OBJECT-TYPE
		SYNTAX          Integer32 ( 0..7 )
		MAX-ACCESS      read-write
		STATUS  current
		DESCRIPTION
		    "CoS to Queue Mapping. Queue ID."     
		::= { qosCoS2QueueEntry 2 }
    -- ------------------------------------------------------------------
    -- Port Rate Limiting
    -- ------------------------------------------------------------------
    qosPortRateLimitingTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosPortRateLimitingEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table consists of Port Rate Limiting."
		::= { qosBasPortRateLimiting 1 }

	qosPortRateLimitingEntry OBJECT-TYPE
		SYNTAX          QosPortRateLimitingEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry configures the Port Rate Limiting."
		INDEX   { qosBandwidthBasePort }
		::= { qosPortRateLimitingTable 1 }

	QosPortRateLimitingEntry ::= 		SEQUENCE {
	      qosBandwidthBasePort          Integer32,
		  qosBandwidthRxRate		    Integer32,
		  qosBandwidthRxRateMode		INTEGER,
		  qosBandwidthRxBurst	        Integer32,
		  qosBandwidthTxRate	        Integer32,
          qosBandwidthTxRateMode		INTEGER,
		  qosBandwidthTxBurst           Integer32
		}

    qosBandwidthBasePort OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosPortRateLimitingEntry 1 }
			
	qosBandwidthRxRate OBJECT-TYPE
       SYNTAX      Integer32 (0..10000000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures interface Rate Limit (Packet that can be transferred
          on a port at a particular second).
    
          This object's value will take effect on the interface speed. Based
          on the operating speed of the port, the rate limit will be applied.
          This value can also be affected by the metering. A value of zero(0)
          disable rate limiting i.e. sets the port to full speed. if  
          qosBandwidthRxRateMode is rate, range is 64 ~ 10000000 and 
          qosBandwidthRxRateMode is percent, range is 1 ~ 100."
		::= { qosPortRateLimitingEntry 2 }    

    qosBandwidthRxRateMode OBJECT-TYPE
		SYNTAX  INTEGER {
						rate(1),
						percent(2)
						}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the Minimum Rate Mode. 
		       It will indicate the field:qosBandwidthRxRate attribute.
		       rate: means the Minimum Rate.
		       percent: means the percentage."		
		::= { qosPortRateLimitingEntry 3 }
	
	qosBandwidthRxBurst OBJECT-TYPE
       SYNTAX      Integer32(0..128000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures interface Burst Pkt Rate. (Packet Burst that can be
           transferred on a port at a particular second)
    
          This object's value will take effect on the interface speed. Based
          on the operating speed of the port, the burst size of the port
          will be applied. This value can also be affected by the metering."
		::= { qosPortRateLimitingEntry 4 }
	
	qosBandwidthTxRate OBJECT-TYPE
       SYNTAX      Integer32 (0..10000000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures interface Rate Limit (Packet that can be transferred
          on a port at a particular second).
    
          This object's value will take effect on the interface speed. Based
          on the operating speed of the port, the rate limit will be applied.
          This value can also be affected by the metering. A value of zero(0)
          disable rate limiting i.e. sets the port to full speed. if
          qosBandwidthTxRateMode is rate, range is 64 ~ 10000000 and 
          qosBandwidthTxRateMode is percent, range is 1 ~ 100."
		::= { qosPortRateLimitingEntry 5 }

    qosBandwidthTxRateMode OBJECT-TYPE
		SYNTAX  INTEGER {
						rate(1),
						percent(2)
						}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the Minimum Rate Mode. 
		       It will indicate the field:qosBandwidthTxRate attribute.
		       rate: means the Minimum Rate.
		       percent: means the percentage."		
		::= { qosPortRateLimitingEntry 6 }
	
	qosBandwidthTxBurst OBJECT-TYPE
       SYNTAX      Integer32 (0..128000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Configures interface Burst Pkt Rate. (Packet Burst that can be
           transferred on a port at a particular second)
    
          This object's value will take effect on the interface speed. Based
          on the operating speed of the port, the burst size of the port
          will be applied. This value can also be affected by the metering."
		::= { qosPortRateLimitingEntry 7 }

    -- ------------------------------------------------------------------
    -- Queue Rate Limiting
    -- ------------------------------------------------------------------
   	qosQueueRateLimitingTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosQueueRateLimitingEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "A table contains information about Queue Rate Limiting."
		::= { qosBasQueueRateLimiting 1 }
	
	qosQueueRateLimitingEntry OBJECT-TYPE
		SYNTAX          QosQueueRateLimitingEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry contains bandwidth control information of Queue Rate Limiting."
		INDEX   { 
            qosQueueBandwidthBasePort, 
            qosQueueBandwidthQueId 
        }
		::= { qosQueueRateLimitingTable 1 }
	
	QosQueueRateLimitingEntry ::= 		SEQUENCE {
	      qosQueueBandwidthBasePort     Integer32,
		  qosQueueBandwidthQueId 	    Unsigned32,		 
		  qosQueueBandwidthMinRate		Integer32,      
		  qosQueueBandwidthMaxRate	    Integer32, 
		  qosQueueBandwidthRateMode	    INTEGER
		}

    qosQueueBandwidthBasePort OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosQueueRateLimitingEntry 1 }
	
	qosQueueBandwidthQueId OBJECT-TYPE
		SYNTAX          Unsigned32 (0..127)
		MAX-ACCESS      read-only
		STATUS  current
		DESCRIPTION
		     "Indicates the queue ID of the entry."
		::= { qosQueueRateLimitingEntry 2 }
	
	qosQueueBandwidthMinRate OBJECT-TYPE
		SYNTAX  Integer32 (0..10000000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION 
		       "Indicates the minimum rate of the specified port and queue. 
		       It is based on the dQosQueueBandwidthMinRateMode field and
		       if the dQosQueueBandwidthMinRateMode selected as:
		       rate: means egress Minimum Rate (units:kbps),range are 64 ~ 10000000.
		       percent: means the percentage and the effective rangs are 1 ~ 100.
		       0 means disabled rate limit."
		::= { qosQueueRateLimitingEntry 3 }				
	
	qosQueueBandwidthMaxRate OBJECT-TYPE
		SYNTAX          Integer32 (0..10000000) 
		MAX-ACCESS      read-write
		STATUS  current
		DESCRIPTION
		    "Indicates the maximum rate of the specified port and queue. 
	       	It is based on the dQosQueueBandwidthMaxRateMode field and
	       	if the dQosQueueBandwidthMaxRateMode selected as:
	       	rate: means egress Maximum Rate (units:kbps),range are 64 ~ 10000000.
	       	percent: means the percentage and the effective rangs are 1 ~ 100.
	       	0 means disabled rate limit."
		::= { qosQueueRateLimitingEntry 4 }
    
    qosQueueBandwidthRateMode OBJECT-TYPE
		SYNTAX  INTEGER {
						rate(1),
						percent(2)
						}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the Minimum Rate Mode. 
		       It will indicate the field:dQosQueueBandwidthMinRate attribute.
		       rate: means the Minimum Rate.
		       percent: means the percentage."		
		::= { qosQueueRateLimitingEntry 5 }

    -- ------------------------------------------------------------------
    -- DSCP mapping CoS
    -- ------------------------------------------------------------------
    qosDscpMapCosTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosDscpMapCosEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table of Port Default CoS."
		::= { qosBasDscpMapCos 1 }
	
	qosDscpMapCosEntry OBJECT-TYPE
		SYNTAX          QosDscpMapCosEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry configures the Port Default CoS."
		INDEX   { qosPortIndex }
		::= { qosDscpMapCosTable 1 }
		
		QosDscpMapCosEntry ::= 		SEQUENCE {
			qosPortIndex           Integer32,
			qosTrustMode           INTEGER
		}

    qosPortIndex OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
         "Interface index of the port for which the configuration
         in this entry applies."
      
      ::= { qosDscpMapCosEntry 1 }
	
    qosTrustMode OBJECT-TYPE
		SYNTAX	INTEGER {
            cos (0),
            dscp (1)
        }
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		   "The QoS port trust mode.
		   "
		::= { qosDscpMapCosEntry 2 }

    qosDscpValueMapCosTable OBJECT-TYPE
		SYNTAX          SEQUENCE OF QosDscpValueMapCosEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		    "This table of Port Default CoS."
		::= { qosBasDscpMapCos 2 }
	
	qosDscpValueMapCosEntry OBJECT-TYPE
		SYNTAX          QosDscpValueMapCosEntry
		MAX-ACCESS      not-accessible
		STATUS          current
		DESCRIPTION
		      "An entry configures the Port Default CoS."
		INDEX   { 
			qosDscpPort,
			qosDscpCos
		}
		::= { qosDscpValueMapCosTable 1 }
		
		QosDscpValueMapCosEntry ::= 		SEQUENCE {
			qosDscpPort            Integer32,
			qosDscpCos             Integer32,
			qosDscpMapCosList      PortList
		}


    qosDscpPort OBJECT-TYPE
		SYNTAX	Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		   "The DSCP port index.
		   "
		::= { qosDscpValueMapCosEntry 1 }

    qosDscpCos OBJECT-TYPE
		SYNTAX	Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		   "The CoS value.
		   "
		::= { qosDscpValueMapCosEntry 2 }

    qosDscpMapCosList OBJECT-TYPE
		SYNTAX	PortList
		MAX-ACCESS      read-write
		STATUS          current
		DESCRIPTION
		   "The DSCP value list mapping to CoS.
		   "
		::= { qosDscpValueMapCosEntry 3 }

    -- ---------------------------------------------------------------------
    -- IGMP Snooping Function
    -- ---------------------------------------------------------------------
	igsSystem       OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 1 }
	igsVlan         OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 2 }	
    igsStats        OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 3 }   


    igsStatus OBJECT-TYPE 
          SYNTAX      INTEGER  {
								enabled(1),
								disabled(2) 
						} 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP snooping in the system.
              When set to 'enabled', the IGS module starts 
              protocol operations.
              When set to 'disabled', the IGS module stops performing 
              protocol operations."
          DEFVAL  { disabled } 
          ::= { igsSystem 1 } 
		  
--    igsClearIgmpSnoopByPortIf OBJECT-TYPE 
--          SYNTAX      InterfaceIndexOrZero 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--            "This object indicates the ifIndex of the port/port-channel on which 
--			  the IGMP snooping counters will be cleared.
--			  When read, the special value 0 is returned."
--          DEFVAL  { 0 } 
--          ::= { igsSystem 2 } 
		  
    igsClearIgmpSnoopByVlanId OBJECT-TYPE 
          SYNTAX      VlanIdOrNone
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This object indicates the VLAN ID on which the IGMP snooping 
			  counters will be cleared.
			  When read, the special value 0 is returned."
          DEFVAL  { 0 } 
          ::= { igsSystem 3 } 

-- VLAN based filter table 
 
      igsVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains configuration of snooping
              on specific Vlans. This Table is valid only when VLAN is  
              enabled in the system." 
          ::= { igsVlan 1 } 
 
      igsVlanFilterEntry OBJECT-TYPE 
          SYNTAX      IgsVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping status , version and fast leave
              configuration for a specific VLAN." 
          INDEX { igsVlanFilterVlanId } 
          ::= { igsVlanFilterTable 1 } 
 
      IgsVlanFilterEntry ::= SEQUENCE { 
          igsVlanFilterVlanId           	 Integer32, 
          igsVlanSnoopStatus            	 INTEGER,
--          igsVlanMinimumVersion              INTEGER,
          igsVlanFastLeave            		 INTEGER,
--          igsVlanReportSuppression           INTEGER,
--          igsVlanSuppressionTime             Integer32,
          igsVlanQuerier                	 INTEGER, 
          igsVlanCfgQuerier             	 INTEGER,
		  igsVlanQuerierVersion 			 INTEGER,
          igsVlanQueryInterval          	 Integer32,
		  igsVlanMaxResponseTime	         Integer32,
		  igsVlanRobustnessValue    		 Integer32,
		  igsVlanLastMemberQueryInterval	 Integer32
--		  igsVlanProxyReporting              INTEGER,
--		  igsVlanProxyReportingSourceAddress InetAddress
--		  igsVlanRateLimitAction             INTEGER,
--		  igsVlanRateLimit		             INTEGER
	}

      igsVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            "Index of IgsVlanFilterEntry. This object indicates the VLAN ID for which 
            the snooping configurations in IgsVlanFilterEntry is to be done." 
           ::= { igsVlanFilterEntry 1 } 
 
      igsVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { 
							enabled(1), 
							disabled(2) 
					} 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object allows you to enable/disable IGS function on a specific VLAN."  
           DEFVAL  { disabled }
           ::= { igsVlanFilterEntry 2 } 

--	  igsVlanMinimumVersion OBJECT-TYPE 
--            SYNTAX      INTEGER { 
--							v1(1), 
--							v2(2),
--							v3(3)
--					} 
--            MAX-ACCESS  read-write 
--            STATUS      current 
--            DESCRIPTION
--                "To restrict the minimum version allows user to control the minimum
--				version of MGMD hosts can be joined on a layer 2 port. The value 
--				'1' means that this interface does not restrict the minimum version.
--				Value 2 applies to IGMP routers only.  Value 3 applies to IGMP and
--				MLD routers.
--				"
--            ::= { igsVlanFilterEntry 3 }

      igsVlanFastLeave OBJECT-TYPE 
           SYNTAX      INTEGER { 
							enabled(1), 
							disabled(2) 
					} 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables fast leave for the VLAN. When it is 
                'disabled',on reception of a leave message, the switch checks
                if they are any interested receivers for the group by sending 
                a group specific query before removing the port from the 
                forwarding table. If set to 'enabled', the switch does not 
                send a group specific query and immediately removes the port
                from the forwarding table."
           DEFVAL  { disabled }
           ::= { igsVlanFilterEntry 4 }

--      igsVlanReportSuppression OBJECT-TYPE 
--          SYNTAX      INTEGER  { 
--							enabled(1), 
--							disabled(2) 
--					} 
--         MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             "This object enable/disable the report suppression on the interface.
--			   The report suppression function only works for IGMPv1 
--				and IGMPv2 traffic. When report suppression is enabled, the 
--				Switch suppresses the duplicate reports sent by hosts. The 
--				suppression for the same group report or leave will continue 
--				until the suppression time expired. For report or leave messages 
--				to the same group, only one report or leave message is forwarded. 
--				The remaining report and leave messages are suppressed."
--          DEFVAL  { disabled } 
--          ::= { igsVlanFilterEntry 5 }

--	  igsVlanSuppressionTime OBJECT-TYPE
--		  SYNTAX      Integer32 (1..300)
--		  MAX-ACCESS  read-write
--		  STATUS      current
--		  DESCRIPTION 
--			  "The interval of report suppression on this interface.Unit is second."
--		  DEFVAL     { 12 }
--		  ::= { igsVlanFilterEntry 6 }

      igsVlanQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { 
							enabled(1), 
							disabled(2) 
					} 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "Indicates whether the switch is configured as a querier in the VLAN"
          DEFVAL  { disabled } 
          ::= { igsVlanFilterEntry 7 }

      igsVlanCfgQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { 
							enabled(1), 
							disabled(2) 
					} 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The snooping switch can be configured as a querier via this object 
              to send out IGMP general queries when IGMP routers are not present in the VLAN. 
              When set to 'enabled', the switch will generate general queries."
          DEFVAL  { disabled } 
          ::= { igsVlanFilterEntry 8 }

	  igsVlanQuerierVersion OBJECT-TYPE 
            SYNTAX      INTEGER { 
							v1(1), 
							v2(2),
							v3(3)
					} 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to set igmp version function on a specific VLAN."
            ::= { igsVlanFilterEntry 9 }

      igsVlanQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..31744) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) for which the switch 
              sends general queries when it is configured as a querier for 
              the VLAN. A switch should be configured as a querier for a VLAN 
              only when there is no queriers in the network."   
          DEFVAL  { 125 } 
          ::= { igsVlanFilterEntry 10 } 

	  igsVlanMaxResponseTime OBJECT-TYPE
		  SYNTAX      Integer32 (1..25)
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION 
			  "The maximum query response time advertised General
			  queries on this interface."
		  DEFVAL     { 10 }
	      ::= { igsVlanFilterEntry 11}

	  igsVlanRobustnessValue OBJECT-TYPE
          SYNTAX      Integer32 (1..7)
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION 
	     "When the switch receives leave message on a port, it
              sends group specific query to check if there are any other 
              interested receivers for the group. This attribute defines 
              the maximum number for a specific VLAN 
			  queries sent by the switch before deleting 
              the port from the group membership information in the forwarding 
              database. If the maximum retry count exceeds 'RobustnessValue', 
              then the port will be deleted from the multicast group membership
              information in the forwarding database and received leave message
              will be forwarded onto the router ports if there are no 
              interested receivers for the group." 
          DEFVAL  { 2 } 
          ::= { igsVlanFilterEntry 12 } 

      igsVlanLastMemberQueryInterval  OBJECT-TYPE 
          SYNTAX      Integer32 (1..25) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             ""   
          DEFVAL  { 1 } 
          ::= { igsVlanFilterEntry 13 }

--      igsVlanProxyReporting OBJECT-TYPE 
--          SYNTAX      INTEGER  { 
--							enabled(1), 
--							disabled(2) 
--					} 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             "This object enables the proxy-reporting function on the interface.
--			   When the function proxy reporting is enabled, the received multiple 
--			   IGMP report or leave packets for a specific (S, G) will be integrated 
--			   into one report before being sent to the router port. Proxy reporting 
--			   source IP will be used as source IP of the report, Zero IP address will 
--			   be used when the proxy reporting source IP is not set."
--          DEFVAL  { disabled } 
--          ::= { igsVlanFilterEntry 14 }

--      igsVlanProxyReportingSourceAddress OBJECT-TYPE 
--          SYNTAX      InetAddress (SIZE (16))
--          MAX-ACCESS  read-write
--          STATUS      deprecated
--          DESCRIPTION 
--             "This object indicates the source Internet address 
--				of proxy reporting. This object is valid when 
--				igsVlanProxyReporting is 'enabled'"
--          ::= { igsVlanFilterEntry 15 }

--      igsVlanRateLimitAction  OBJECT-TYPE
--         SYNTAX      INTEGER {
--                      noLimit(1),
--                      rateLimit(2)
--                   }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--            "Specifies the action to be taken on the packet if the filter
--            rule matches."
--         DEFVAL  { noLimit }
--         ::= { igsVlanFilterEntry 16 }
--
--     igsVlanRateLimit OBJECT-TYPE
--         SYNTAX      INTEGER
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--            "Specifies the rate limit value.
--            The aclL3v6RuleAction should be specified as rate-limit."
--         DEFVAL  { -1 }
--         ::= { igsVlanFilterEntry 17 }

-- VLAN Based IGMP Snooping Group 
 
      igsVlanMulticastGroupTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains MAC based multicast forwarding 
             information." 
          ::= { igsVlan 2 } 
 
      igsVlanMulticastGroupEntry OBJECT-TYPE 
          SYNTAX      IgsVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains VLAN ID, multicast group MAC address and the  
             list of ports onto which the multicast data packets for group
             should be forwarded."  

          INDEX { igsVlanMulticastGroupVlanId,
                  igsVlanMulticastGroupIpAddress,
				  igsVlanMulticastGroupReceiverPortIndex,
				  igsVlanMulticastGroupReceiverSrcAddr} 
          ::= { igsVlanMulticastGroupTable 1 } 
 
      IgsVlanMulticastGroupEntry ::= SEQUENCE { 
          igsVlanMulticastGroupVlanId           	Integer32,
          igsVlanMulticastGroupIpAddress        	IpAddress, 
		  igsVlanMulticastGroupReceiverPortIndex   	InterfaceIndex, 
		  igsVlanMulticastGroupReceiverSrcAddr      IpAddress, 
          igsVlanMulticastGroupMacAddress       	MacAddress,
          --igsVlanMulticastGroupFM               INTEGER,
          igsVlanMulticastGroupExp              	TimeTicks,
          igsVlanMulticastGroupPortList         	PortList
        } 

      igsVlanMulticastGroupVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID pertaining to the Multicast forwarding entry"  
           ::= { igsVlanMulticastGroupEntry 1 } 
 
      igsVlanMulticastGroupIpAddress OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Multicast group IP address. This object indicates that a
                multicast group address was learned in the switch and be represented 
                as IP address format." 
           ::= { igsVlanMulticastGroupEntry 2 }  
 
       igsVlanMulticastGroupReceiverPortIndex OBJECT-TYPE 
           SYNTAX      InterfaceIndex
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface on which the multicast group address is learnt."  
           ::= { igsVlanMulticastGroupEntry 3 } 
 
      igsVlanMulticastGroupReceiverSrcAddr OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The IP address of the multicast receiver that has sent
                the multicast report to join this group." 
           ::= { igsVlanMulticastGroupEntry 4 } 
		   
      igsVlanMulticastGroupMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Multicast group MAC address. This object indicates that a
                multicast group address was learned in the switch and be represented 
                as MAC address format." 
           ::= { igsVlanMulticastGroupEntry 5 } 

--      igsVlanMulticastGroupFM  OBJECT-TYPE
--         SYNTAX      INTEGER {
--                      in(1),
--                      ex(2)
--                   }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--            ""
--         ::= { igsVlanMulticastGroupEntry 6 }

      igsVlanMulticastGroupExp  OBJECT-TYPE 
          SYNTAX      TimeTicks
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             ""
          ::= { igsVlanMulticastGroupEntry 7 }

      igsVlanMulticastGroupPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "List of ports onto which the multicast data
                packets destined for this group will be forwarded."  
           ::= { igsVlanMulticastGroupEntry 8 } 

-- VLAN Based Static  Multicast Forwarding Table

      igsVlanStaticMcastGrpTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF IgsVlanStaticMcastGrpEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "This table contains IP based multicast forwarding 
              information." 
           ::= { igsVlan 3 } 

      igsVlanStaticMcastGrpEntry OBJECT-TYPE 
               SYNTAX      IgsVlanStaticMcastGrpEntry 
               MAX-ACCESS  not-accessible 
               STATUS      current 
               DESCRIPTION 
                  "This table contains VLAN ID, unicast source address , 
                  multicast group address and the list of ports onto which the 
                  multicast data packets for group should be forwarded."  

      INDEX {
             igsVlanStaticMcastGrpVlanId, 
             igsVlanStaticMcastGrpGroupAddress 
         } 
         ::= { igsVlanStaticMcastGrpTable 1 } 

      IgsVlanStaticMcastGrpEntry ::= SEQUENCE { 
             igsVlanStaticMcastGrpVlanId        Integer32,
             igsVlanStaticMcastGrpGroupAddress  InetAddress, 
             igsVlanStaticMcastGrpPortList      PortList,
             igsVlanStaticMcastGrpRowStatus     RowStatus 
         }

      igsVlanStaticMcastGrpVlanId OBJECT-TYPE 
         SYNTAX      Integer32 (1..4094) 
         MAX-ACCESS  read-only
         STATUS      current 
         DESCRIPTION 
         "VLAN ID pertaining to the Multicast forwarding entry"  
         ::= { igsVlanStaticMcastGrpEntry 1 }

      igsVlanStaticMcastGrpGroupAddress OBJECT-TYPE 
         SYNTAX      InetAddress 
         MAX-ACCESS  read-only
         STATUS      current 
         DESCRIPTION 
         "IP/IPv6 multicast group address" 
         ::= { igsVlanStaticMcastGrpEntry 2 } 

      igsVlanStaticMcastGrpPortList OBJECT-TYPE 
         SYNTAX      PortList
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
         "List of ports onto which the multicast data
         packets destined for this source and group will be forwarded."  
         ::= { igsVlanStaticMcastGrpEntry 3 } 

      igsVlanStaticMcastGrpRowStatus OBJECT-TYPE
         SYNTAX       RowStatus
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
          "The row status variable, used according to
         row installation and removal conventions."
         ::= { igsVlanStaticMcastGrpEntry 4 }

-- VLAN based router table.
 
      igsVlanRouterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { igsVlan 4 } 
 
      igsVlanRouterEntry OBJECT-TYPE 
          SYNTAX      IgsVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains the VLAN ID and list of ports on which 
              routers are present in the VLAN." 
          INDEX { igsVlanRouterVlanId }
          ::= { igsVlanRouterTable 1 } 
 
      IgsVlanRouterEntry ::= SEQUENCE { 
          igsVlanRouterVlanId             Integer32,
          igsVlanRouterStaticPortList     PortList,
		  igsVlanRouterBlockPortList     PortList,
		  igsVlanRouterDynamicPortList    PortList
      }
           
      igsVlanRouterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID of the ports through which router is reachable." 
           ::= { igsVlanRouterEntry 1 } 
 
      igsVlanRouterStaticPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of static ports on which routers are present. 
                These router ports are learnt through control messages 
                received from routers, and can also be configured 
                statically." 
           ::= { igsVlanRouterEntry 2 } 
		   
      igsVlanRouterBlockPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as blocked router
				ports statically. " 
           ::= { igsVlanRouterEntry 3 } 
		   
	  igsVlanRouterDynamicPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
               "List of dynamic ports on which routers are present. 
                These router ports are learnt through control messages 
                received from routers, and can also be configured 
                statically." 
           ::= { igsVlanRouterEntry 4 }

-- Snooping Statistics

     igsStatsTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains snooping statistics  
              maintained by the switch. The statistics are
              maintained on a per VLAN basis."
          ::= { igsStats 1 } 
 
      igsStatsEntry OBJECT-TYPE 
          SYNTAX      IgsStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping statistics for a particular VLAN." 
          INDEX { igsStatsVlanId } 
          ::= { igsStatsTable 1 } 
 
      IgsStatsEntry ::= SEQUENCE {
          igsStatsVlanId                    Integer32,
          igsStatsIGMPv1RxReport            Counter32,
          igsStatsIGMPv1RxQueries           Counter32,
          igsStatsIGMPv1TxReport            Counter32,
          igsStatsIGMPv1TxQueries           Counter32,
          igsStatsIGMPv2RxReport            Counter32,
          igsStatsIGMPv2RxQueries           Counter32,
          igsStatsIGMPv2RxLeave             Counter32,
          igsStatsIGMPv2TxReport            Counter32,
          igsStatsIGMPv2TxQueries           Counter32,
          igsStatsIGMPv2TxLeave             Counter32,
          igsStatsIGMPv3RxReport            Counter32,
          igsStatsIGMPv3RxQueries           Counter32,
          igsStatsIGMPv3TxReport            Counter32,
          igsStatsIGMPv3TxQueries           Counter32
        }

      igsStatsVlanId OBJECT-TYPE
           SYNTAX      Integer32 (1..4094)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
            " VLAN ID for which snooping statistics are displayed"
           ::= { igsStatsEntry 1 }

      igsStatsIGMPv1RxReport OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               ""
           ::= { igsStatsEntry 2 }

      igsStatsIGMPv1RxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 3 }
           
      igsStatsIGMPv1TxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 4 }
           
      igsStatsIGMPv1TxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 5 }

      igsStatsIGMPv2RxReport OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               ""
           ::= { igsStatsEntry 6 }
          
      igsStatsIGMPv2RxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 7 }
           
      igsStatsIGMPv2RxLeave OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 8 }

      igsStatsIGMPv2TxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 9 }
           
      igsStatsIGMPv2TxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 10 }
           
      igsStatsIGMPv2TxLeave OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 11 }
           
      igsStatsIGMPv3RxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 12 }

      igsStatsIGMPv3RxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 13 }
           
      igsStatsIGMPv3TxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 14 }
           
      igsStatsIGMPv3TxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { igsStatsEntry 15 }

    -- ---------------------------------------------------------------------
    -- MLD Snooping Function
    -- ---------------------------------------------------------------------
    -- ---------------------------------------------------------------------
    -- IGMP Snooping Function
    -- ---------------------------------------------------------------------
	mldSystem       OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 4 }
	mldVlan         OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 5 }	
    mldStats        OBJECT IDENTIFIER ::= { l2MulticastCtrlGroup 6 }   


    mldStatus OBJECT-TYPE 
          SYNTAX      INTEGER  {
								enabled(1),
								disabled(2) 
						} 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP snooping in the system.
              When set to 'enabled', the IGS module starts 
              protocol operations.
              When set to 'disabled', the IGS module stops performing 
              protocol operations."
          DEFVAL  { disabled } 
          ::= { mldSystem 1 } 

--	mldClearIgmpSnoopByPortIf OBJECT-TYPE 
--          SYNTAX      InterfaceIndexOrZero 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             "This object indicates the ifIndex of the port/port-channel on which 
--			  the IGMP snooping counters will be cleared.
--			  When read, the special value 0 is returned."
--          DEFVAL  { 0 } 
--          ::= { mldSystem 2 } 
		  
    mldClearIgmpSnoopByVlanId OBJECT-TYPE 
          SYNTAX      VlanIdOrNone
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This object indicates the VLAN ID on which the IGMP snooping 
			  counters will be cleared.
			  When read, the special value 0 is returned."
          DEFVAL  { 0 } 
          ::= { mldSystem 3 } 
-- VLAN based filter table 
 
      mldVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains configuration of snooping
              on specific Vlans. This Table is valid only when VLAN is  
              enabled in the system." 
          ::= { mldVlan 1 } 
 
      mldVlanFilterEntry OBJECT-TYPE 
          SYNTAX      MldVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping status , version and fast leave
              configuration for a specific VLAN." 
          INDEX { mldVlanFilterVlanId } 
          ::= { mldVlanFilterTable 1 } 
 
      MldVlanFilterEntry ::= SEQUENCE { 
          mldVlanFilterVlanId           	 Integer32, 
          mldVlanSnoopStatus            	 INTEGER,
--          mldVlanMinimumVersion              INTEGER,
          mldVlanFastLeave            		 INTEGER,
--          mldVlanReportSuppression           INTEGER,
--          mldVlanSuppressionTime             Integer32,
          mldVlanQuerier                	 INTEGER, 
          mldVlanCfgQuerier             	 INTEGER,
		  mldVlanQuerierVersion 			 INTEGER,
          mldVlanQueryInterval          	 Integer32,
		  mldVlanMaxResponseTime	         Integer32,
		  mldVlanRobustnessValue    		 Integer32,
		  mldVlanLastListenerQueryInterval	 Integer32
--		  mldVlanProxyReporting              INTEGER,
--		  mldVlanProxyReportingSourceAddress InetAddress
--		  mldVlanMrouterPortLearning         INTEGER,
--		  mldVlanRateLimitAction             INTEGER,
--		  mldVlanRateLimit		             INTEGER
	}

      mldVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            "Index of MldVlanFilterEntry. This object indicates the VLAN ID for which 
            the snooping configurations in MldVlanFilterEntry is to be done." 
           ::= { mldVlanFilterEntry 1 } 
 
      mldVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { 
							enabled(1), 
							disabled(2) 
					} 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object allows you to enable/disable IGS function on a specific VLAN."  
           DEFVAL  { disabled }
           ::= { mldVlanFilterEntry 2 } 

--	  mldVlanMinimumVersion OBJECT-TYPE 
--            SYNTAX      INTEGER { 
--							v1(1), 
--							v2(2),
--							v3(3)
--					} 
--            MAX-ACCESS  read-write 
--            STATUS      current 
--            DESCRIPTION
--                ""
--            ::= { mldVlanFilterEntry 3 }

      mldVlanFastLeave OBJECT-TYPE 
           SYNTAX      INTEGER { 
							enabled(1), 
							disabled(2) 
					} 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables fast leave for the VLAN. When it is 
                'disabled',on reception of a leave message, the switch checks
                if they are any interested receivers for the group by sending 
                a group specific query before removing the port from the 
                forwarding table. If set to 'enabled', the switch does not 
                send a group specific query and immediately removes the port
                from the forwarding table."
           DEFVAL  { disabled }
           ::= { mldVlanFilterEntry 4 }

--      mldVlanReportSuppression OBJECT-TYPE 
--          SYNTAX      INTEGER  { 
--							enabled(1), 
--							disabled(2) 
--					} 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             ""
--          DEFVAL  { disabled } 
--          ::= { mldVlanFilterEntry 5 }

--	  mldVlanSuppressionTime OBJECT-TYPE
--		  SYNTAX      Integer32 (1..300)
--		  MAX-ACCESS  read-write
--		  STATUS      current
--		  DESCRIPTION 
--			  ""
--		  DEFVAL     { 12 }
--		  ::= { mldVlanFilterEntry 6 }

      mldVlanQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { 
							enabled(1), 
							disabled(2) 
					} 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "Indicates whether the switch is configured as a querier in the VLAN"
          DEFVAL  { disabled } 
          ::= { mldVlanFilterEntry 7 }

      mldVlanCfgQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { 
							enabled(1), 
							disabled(2) 
					} 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The snooping switch can be configured as a querier via this object 
              to send out IGMP general queries when IGMP routers are not present in the VLAN. 
              When set to 'enabled', the switch will generate general queries."
          DEFVAL  { disabled } 
          ::= { mldVlanFilterEntry 8 }

	  mldVlanQuerierVersion OBJECT-TYPE 
            SYNTAX      INTEGER { 
							v1(1), 
							v2(2),
							v3(3)
					} 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to set igmp version function on a specific VLAN."
            ::= { mldVlanFilterEntry 9 }

      mldVlanQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..31744) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) for which the switch 
              sends general queries when it is configured as a querier for 
              the VLAN. A switch should be configured as a querier for a VLAN 
              only when there is no queriers in the network."   
          DEFVAL  { 125 } 
          ::= { mldVlanFilterEntry 10 } 

	  mldVlanMaxResponseTime OBJECT-TYPE
		  SYNTAX      Integer32 (1..25)
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION 
			  "The maximum query response time advertised General
			  queries on this interface."
		  DEFVAL     { 10 }
	      ::= { mldVlanFilterEntry 11}

	  mldVlanRobustnessValue OBJECT-TYPE
          SYNTAX      Integer32 (1..7)
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION 
	     "When the switch receives leave message on a port, it
              sends group specific query to check if there are any other 
              interested receivers for the group. This attribute defines 
              the maximum number for a specific VLAN 
			  queries sent by the switch before deleting 
              the port from the group membership information in the forwarding 
              database. If the maximum retry count exceeds 'RobustnessValue', 
              then the port will be deleted from the multicast group membership
              information in the forwarding database and received leave message
              will be forwarded onto the router ports if there are no 
              interested receivers for the group." 
          DEFVAL  { 2 } 
          ::= { mldVlanFilterEntry 12 } 

      mldVlanLastListenerQueryInterval  OBJECT-TYPE 
          SYNTAX      Integer32 (1..25) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             ""   
          DEFVAL  { 1 } 
          ::= { mldVlanFilterEntry 13 }

--      mldVlanProxyReporting OBJECT-TYPE 
--          SYNTAX      INTEGER  { 
--							enabled(1), 
--							disabled(2) 
--					} 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             ""
--          DEFVAL  { disabled } 
--          ::= { mldVlanFilterEntry 14 }

--      mldVlanProxyReportingSourceAddress OBJECT-TYPE 
--          SYNTAX      InetAddress (SIZE (16))
--          MAX-ACCESS  read-write
--          STATUS      deprecated
--          DESCRIPTION 
--             ""
--          ::= { mldVlanFilterEntry 15 }

--      mldVlanMrouterPortLearning OBJECT-TYPE 
--          SYNTAX      INTEGER  { 
--							enabled(1), 
--							disabled(2) 
--					} 
--          MAX-ACCESS  read-write 
--          STATUS      current 
--          DESCRIPTION 
--             ""
--          DEFVAL  { disabled } 
--          ::= { mldVlanFilterEntry 16 }

--      mldVlanRateLimitAction  OBJECT-TYPE
--         SYNTAX      INTEGER {
--                      noLimit(1),
--                      rateLimit(2)
--                   }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--            "Specifies the action to be taken on the packet if the filter
--            rule matches."
--         DEFVAL  { noLimit }
--         ::= { mldVlanFilterEntry 17 }

--     mldVlanRateLimit OBJECT-TYPE
--         SYNTAX      INTEGER
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--            "Specifies the rate limit value.
--            The aclL3v6RuleAction should be specified as rate-limit."
--         DEFVAL  { -1 }
--         ::= { mldVlanFilterEntry 18 }

-- VLAN Based IGMP Snooping Group 
 
      mldVlanMulticastGroupTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains MAC based multicast forwarding 
             information." 
          ::= { mldVlan 2 } 
 
      mldVlanMulticastGroupEntry OBJECT-TYPE 
          SYNTAX      MldVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains VLAN ID, multicast group MAC address and the  
             list of ports onto which the multicast data packets for group
             should be forwarded."  

          INDEX { mldVlanMulticastGroupVlanId,
                  mldVlanMulticastGroupIpAddress,
				  mldVlanMulticastGroupReceiverPortIndex,
				  mldVlanMulticastGroupReceiverSrcAddr} 
          ::= { mldVlanMulticastGroupTable 1 } 
 
      MldVlanMulticastGroupEntry ::= SEQUENCE { 
          mldVlanMulticastGroupVlanId           Integer32,
          mldVlanMulticastGroupIpAddress        Ipv6Address, 
		  mldVlanMulticastGroupReceiverPortIndex   	InterfaceIndex, 
		  mldVlanMulticastGroupReceiverSrcAddr      Ipv6Address,
          mldVlanMulticastGroupMacAddress       MacAddress,
          --mldVlanMulticastGroupFM               INTEGER,
          mldVlanMulticastGroupExp              TimeTicks,
          mldVlanMulticastGroupPortList         PortList
        } 

      mldVlanMulticastGroupVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID pertaining to the Multicast forwarding entry"  
           ::= { mldVlanMulticastGroupEntry 1 } 
 
      mldVlanMulticastGroupIpAddress OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Multicast group IP address. This object indicates that a
                multicast group address was learned in the switch and be represented 
                as IP address format." 
           ::= { mldVlanMulticastGroupEntry 2 } 
 
	  mldVlanMulticastGroupReceiverPortIndex OBJECT-TYPE 
           SYNTAX      InterfaceIndex
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface on which the multicast group address is learnt."  
           ::= { mldVlanMulticastGroupEntry 3 } 
 
      mldVlanMulticastGroupReceiverSrcAddr OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The IP address of the multicast receiver that has sent
                the multicast report to join this group." 
           ::= { mldVlanMulticastGroupEntry 4 } 
 
      mldVlanMulticastGroupMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Multicast group MAC address. This object indicates that a
                multicast group address was learned in the switch and be represented 
                as MAC address format." 
           ::= { mldVlanMulticastGroupEntry 5 } 

--      mldVlanMulticastGroupFM  OBJECT-TYPE
--         SYNTAX      INTEGER {
--                      ex(1),
--                      in(2)
--                   }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--            ""
--         ::= { mldVlanMulticastGroupEntry 6 }

      mldVlanMulticastGroupExp  OBJECT-TYPE 
          SYNTAX      TimeTicks
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             ""
          ::= { mldVlanMulticastGroupEntry 7 }

      mldVlanMulticastGroupPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "List of ports onto which the multicast data
                packets destined for this group will be forwarded."  
           ::= { mldVlanMulticastGroupEntry 8 } 

-- VLAN Based Static  Multicast Forwarding Table

      mldVlanStaticMcastGrpTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF MldVlanStaticMcastGrpEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "This table contains IP based multicast forwarding 
              information." 
           ::= { mldVlan 3 } 

      mldVlanStaticMcastGrpEntry OBJECT-TYPE 
               SYNTAX      MldVlanStaticMcastGrpEntry 
               MAX-ACCESS  not-accessible 
               STATUS      current 
               DESCRIPTION 
                  "This table contains VLAN ID, unicast source address , 
                  multicast group address and the list of ports onto which the 
                  multicast data packets for group should be forwarded."  

      INDEX {
             mldVlanStaticMcastGrpVlanId, 
             mldVlanStaticMcastGrpGroupAddress 
         } 
         ::= { mldVlanStaticMcastGrpTable 1 } 

      MldVlanStaticMcastGrpEntry ::= SEQUENCE { 
             mldVlanStaticMcastGrpVlanId        Integer32,
             mldVlanStaticMcastGrpGroupAddress  InetAddress, 
             mldVlanStaticMcastGrpPortList      PortList,
             mldVlanStaticMcastGrpRowStatus     RowStatus 
         }

      mldVlanStaticMcastGrpVlanId OBJECT-TYPE 
         SYNTAX      Integer32 (1..4094) 
         MAX-ACCESS  read-only
         STATUS      current 
         DESCRIPTION 
         "VLAN ID pertaining to the Multicast forwarding entry"  
         ::= { mldVlanStaticMcastGrpEntry 1 }

      mldVlanStaticMcastGrpGroupAddress OBJECT-TYPE 
         SYNTAX      InetAddress 
         MAX-ACCESS  read-only
         STATUS      current 
         DESCRIPTION 
         "IP/IPv6 multicast group address" 
         ::= { mldVlanStaticMcastGrpEntry 2 } 

      mldVlanStaticMcastGrpPortList OBJECT-TYPE 
         SYNTAX      PortList
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
         "List of ports onto which the multicast data
         packets destined for this source and group will be forwarded."  
         ::= { mldVlanStaticMcastGrpEntry 3 } 

      mldVlanStaticMcastGrpRowStatus OBJECT-TYPE
         SYNTAX       RowStatus
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
          "The row status variable, used according to
         row installation and removal conventions."
         ::= { mldVlanStaticMcastGrpEntry 4 }

-- VLAN based router table.
 
      mldVlanRouterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { mldVlan 4 } 
 
      mldVlanRouterEntry OBJECT-TYPE 
          SYNTAX      MldVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains the VLAN ID and list of ports on which 
              routers are present in the VLAN." 
          INDEX { mldVlanRouterVlanId }
          ::= { mldVlanRouterTable 1 } 
 
      MldVlanRouterEntry ::= SEQUENCE { 
          mldVlanRouterVlanId             Integer32,
          mldVlanRouterStaticPortList     PortList,
		  mldVlanRouterBlockPortList      PortList,
		  mldVlanRouterDynamicPortList    PortList
      }
           
      mldVlanRouterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID of the ports through which router is reachable." 
           ::= { mldVlanRouterEntry 1 } 
 
      mldVlanRouterStaticPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of static ports on which routers are present. 
                These router ports are learnt through control messages 
                received from routers, and can also be configured 
                statically." 
           ::= { mldVlanRouterEntry 2 } 
		   
	  mldVlanRouterBlockPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as blocked router
				ports statically. " 
           ::= { mldVlanRouterEntry 3 } 
		   
	  mldVlanRouterDynamicPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
               "List of dynamic ports on which routers are present. 
                These router ports are learnt through control messages 
                received from routers, and can also be configured 
                statically." 
           ::= { mldVlanRouterEntry 4 }

-- Snooping Statistics

     mldStatsTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains snooping statistics  
              maintained by the switch. The statistics are
              maintained on a per VLAN basis."
          ::= { mldStats 1 } 
 
      mldStatsEntry OBJECT-TYPE 
          SYNTAX      MldStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping statistics for a particular VLAN." 
          INDEX { mldStatsVlanId } 
          ::= { mldStatsTable 1 } 
 
      MldStatsEntry ::= SEQUENCE {
          mldStatsVlanId                    Integer32,
          mldStatsMLDv1RxReport             Counter32,
          mldStatsMLDv1RxDone               Counter32,
          mldStatsMLDv1TxReport             Counter32,
          mldStatsMLDv1TxDone               Counter32,
          mldStatsMLDv2RxReport             Counter32,
          mldStatsMLDv2TxReport             Counter32,
          mldStatsRxQueries                 Counter32,
          mldStatsTxQueries                 Counter32
        }

      mldStatsVlanId OBJECT-TYPE
           SYNTAX      Integer32 (1..4094)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
            " VLAN ID for which snooping statistics are displayed"
           ::= { mldStatsEntry 1 }

      mldStatsMLDv1RxReport OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               ""
           ::= { mldStatsEntry 2 }

      mldStatsMLDv1RxDone OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 3 }
           
      mldStatsMLDv1TxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 4 }
           
      mldStatsMLDv1TxDone OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 5 }

      mldStatsMLDv2RxReport OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               ""
           ::= { mldStatsEntry 6 }

      mldStatsMLDv2TxReport OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 7 }

      mldStatsRxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 8 }
           
      mldStatsTxQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "" 
           ::= { mldStatsEntry 9 }

     -- ----------------------------------------------------------
     -- Multicast Filter VLAN Table 
     -- ----------------------------------------------------------
    
        multicastFilterVlanTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF MulticastFilterVlanEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to control multicast filtering modes."
           ::= { l2MulticastCtrlGroup 7 }
        
        multicastFilterVlanEntry OBJECT-TYPE 
           SYNTAX      MulticastFilterVlanEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface in the mcastFiltertem.
           
               Index to the table is the interface index of the VLAN."
        
           INDEX { multicastFilterVlanIndex }
           ::= { multicastFilterVlanTable 1 }
           
        MulticastFilterVlanEntry ::= 
           SEQUENCE { 
              multicastFilterVlanIndex 
                 Integer32, 
              multicastFilterVlanType
                 INTEGER
        }
        
        multicastFilterVlanIndex OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "VLAN index of the VLAN for which the configuration
              in this entry applies."
           
           ::= { multicastFilterVlanEntry 1 }
                
        multicastFilterVlanType OBJECT-TYPE 
           SYNTAX      INTEGER {
                         forward  (0),
                         filter   (1)
                      }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configures the multicast filtering modes as below :
               forward -Forwards all unregistered groups.
               filter  -Filters all unregistered groups."
        
           ::= { multicastFilterVlanEntry 2 }
    deviceInformation                   OBJECT IDENTIFIER ::= { deviceInfoGroup 1 }
    deviceFunction                      OBJECT IDENTIFIER ::= { deviceInfoGroup 2 }
    deviceErrorCodeInformation          OBJECT IDENTIFIER ::= { deviceInfoGroup 3 }
    deviceFan					        OBJECT IDENTIFIER ::= { deviceInfoGroup 4 }

-- ---------------------------------------------------------------------
-- Device Information
-- ---------------------------------------------------------------------
    deviceInfoDeviceType  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. Device Type "
        ::= { deviceInformation 1}

    deviceInfoBootPROMVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. Boot PROM Version"
        ::= { deviceInformation 2}

    deviceInfoFirmwareVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. Firmware Version"
        ::= { deviceInformation 3}

    deviceInfoHardwareVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. Hardware Version"
        ::= { deviceInformation 4}

    deviceInfoMACAddress   OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. MAC Address"
        ::= { deviceInformation 5}

    deviceInfoSystemTime   OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. System Time"
        ::= { deviceInformation 6}

    deviceInfoSerialNumber   OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Device Information. Serial Number"
        ::= { deviceInformation 7}

    deviceSwitchCPULast5SecUsage   OBJECT-TYPE
    	SYNTAX          Integer32
    	MAX-ACCESS      read-only
    	STATUS          current
    	DESCRIPTION
    	"Indicates the average CPU usage in last 5 second of the switch in percentage"
            ::= { deviceInformation 8}
        
-- ---------------------------------------------------------------------
-- Firmware Information
-- ---------------------------------------------------------------------
    firmwareInformationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FirmwareInformationEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "The table of Firmware Information."
        ::= { deviceFunction 1 }

    firmwareInformationEntry OBJECT-TYPE
        SYNTAX      FirmwareInformationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The list ofFirmware Information entry."
        INDEX { firmwareInfoImageID }
        ::= { firmwareInformationTable 1 }

    FirmwareInformationEntry ::= SEQUENCE {
        firmwareInfoImageID             Integer32,
        firmwareInfoVersion             DisplayString,
        firmwareInfoSizeB               Unsigned32,
        firmwareInfoUpdateTime          DisplayString
    }

    firmwareInfoImageID OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Firmware Information. Image ID."
    ::= { firmwareInformationEntry 1 }

    firmwareInfoVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Firmware Information. Version."
        ::= { firmwareInformationEntry 2}

    firmwareInfoSizeB OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Firmware Information. Size B."
    ::= { firmwareInformationEntry 3 }

    firmwareInfoUpdateTime  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Firmware Information. Update Time."
        ::= { firmwareInformationEntry 4}

-- ---------------------------------------------------------------------
-- Function bar tools
-- ---------------------------------------------------------------------
    devFunFwUpgradeAndBackup		OBJECT IDENTIFIER ::= { deviceFunction 2 }
    devFunConfigInfo	       OBJECT IDENTIFIER ::= { deviceFunction 3 }
    devFunConfiguration       OBJECT IDENTIFIER ::= { deviceFunction 4 }
    devFunLogBackup             OBJECT IDENTIFIER ::= { deviceFunction 5 }
    devFunPing                  OBJECT IDENTIFIER ::= { deviceFunction 6 }
    devFunLangMgmt              OBJECT IDENTIFIER ::= { deviceFunction 7 }
-- ---------------------------------------------------------------------
-- Function bar Firmware Upgrade From Http
-- ---------------------------------------------------------------------
devFunFwServerIpAddrType    OBJECT-TYPE
	SYNTAX      InetAddressType
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Address type of IP Address of the remote system to which the switch file have to be transfer."

		::= { devFunFwUpgradeAndBackup 1 }

devFunFwServerIpvxAddr    OBJECT-TYPE
	SYNTAX      InetAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"IP Address of the remote system to which the switch file have to be transfer."

		::= { devFunFwUpgradeAndBackup 2 }

devFunFwServerInterfaceName    OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(1..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
		"Specifies the interface name when the cmFwServerIpvxAddr is linklocal address."

		::= { devFunFwUpgradeAndBackup 3 }

devFunFwSrcFilename OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..128))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION "Configure firmware filename to download or upload."
		
		::= { devFunFwUpgradeAndBackup 4 }

devFunFwOperation OBJECT-TYPE
	SYNTAX INTEGER {
              none(0),
              download(1),
              upload(2)
           }
	MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"The operates to perform download or upload file to the unit. 
		This object is used in conjunction with Ip and FileName."
             
		::= { devFunFwUpgradeAndBackup 5 }

devFunFwOperationStatus OBJECT-TYPE
	SYNTAX INTEGER {
             none(0),
             success(1),
             failure(2),
             progressing(3),
             transmit(4)
			}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The current operation status of file upload or download."
             
		::= { devFunFwUpgradeAndBackup 6 }

devFunFwTransferPercentage OBJECT-TYPE
	SYNTAX INTEGER(0..100)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The file transfer percentage of the file upload or download."
              
		::= { devFunFwUpgradeAndBackup 7 }
		
devFunFwRetryCount    OBJECT-TYPE
	SYNTAX      Integer32 (1..20)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"The number of retry when upgrade fail."
	
		::= { devFunFwUpgradeAndBackup 8 }
   
devFunFwServerStatus    OBJECT-TYPE
	SYNTAX INTEGER {
             ok(0),
             internalerror(1),
			 nofileerror(2),
			 accessViolation(3),
			 memoryfull(4),
             fileexists(5),
			 connecthostfail(6),
			 invalidarg(7),
			 readfail(8),
			 writefail(9),
			 createfilefail(10),
			 filetoohuge(11),
			 buffertoosmall(12),
			 serverfail(13),
			 programming(14)
			 }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The current operation status of file upload or download."
             
		::= { devFunFwUpgradeAndBackup 9 }
 
devFwOperationImageId    OBJECT-TYPE
    	SYNTAX      Integer32
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
    		"The image ID need to upgrade."
    	DEFVAL  { 1 }
    ::= { devFunFwUpgradeAndBackup 10 }

devFwNextBootImageId    OBJECT-TYPE
    	SYNTAX      Integer32
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
    		"The image ID when next boot up."
    	DEFVAL  { 1 }
    ::= { devFunFwUpgradeAndBackup 11 }

devFwActualBootImageId    OBJECT-TYPE
    	SYNTAX      Integer32
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
    		"The image ID that current boot-up."
    ::= { devFunFwUpgradeAndBackup 12 }

 -- --------------------------------------------------------------------
    -- configuration information
    -- --------------------------------------------------------------------
	devFunCfgInfoTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF DevFunCfgInfoEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"A list of configuration entries."
		::= { devFunConfigInfo 1 }

	devFunCfgInfoEntry OBJECT-TYPE
		SYNTAX      DevFunCfgInfoEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"A list of configuration entries."
		INDEX   { devFunCfgId }
		::= { devFunCfgInfoTable 1 }

	DevFunCfgInfoEntry ::=
		SEQUENCE {
			devFunCfgId           	INTEGER,
			devFunCfgSize			INTEGER,
			devFunCfgUpdateTime		DisplayString
		}

	devFunCfgId OBJECT-TYPE
		SYNTAX      INTEGER
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"A unique value, greater than zero, for each configuration id."
		::= { devFunCfgInfoEntry 1 }

	devFunCfgSize OBJECT-TYPE
	   SYNTAX      INTEGER { enabled(1), disabled(2) }
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
			   "The configuration file size by id."
	   ::= { devFunCfgInfoEntry 2 }

	devFunCfgUpdateTime OBJECT-TYPE
	   SYNTAX      DisplayString
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
			   "The configuration last update time by id."
	   ::= { devFunCfgInfoEntry 3 }

-- ---------------------------------------------------------------------
-- Function bar config Back up to Tftp
-- ---------------------------------------------------------------------
    
    devFunCfgServerIpAddrType    OBJECT-TYPE
           SYNTAX      InetAddressType
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Address type of IP Address of the remote system to which the switch file have to be transfer."
           ::= { devFunConfiguration 1 }    
    
    devFunCfgServerIpvxAddr    OBJECT-TYPE
           SYNTAX      InetAddress
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "IP Address of the remote system to which the switch file have to be transfer."
           ::= { devFunConfiguration 2 }   

    devFunCfgSrcFilename OBJECT-TYPE
           SYNTAX DisplayString (SIZE(1..128))
          MAX-ACCESS read-write
           STATUS current
          DESCRIPTION
               "Configure firmware filename to download or upload."
          ::= { devFunConfiguration 3 }
	
			
	--devFunCfgType    OBJECT-TYPE
	--SYNTAX      INTEGER {
    --         startconfig(1),
    --         runningconfig(2)
	--	}
	--MAX-ACCESS  read-write
	--STATUS      current
	--DESCRIPTION
	--	"The current operating configuration type if current is operating download/upload configuration."
	--DEFVAL  { startconfig }
	--::= { devFunConfiguration 4 }   
	
	devFunCfgStartUpConfigID OBJECT-TYPE
		SYNTAX    INTEGER {
				  config1(1),
				  config2(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"This object is used to select the restore configuration id."

		DEFVAL { config1 }
			::= { devFunConfiguration 4 }

	devFunCfgOperConfigID OBJECT-TYPE
		SYNTAX    INTEGER {
				  config1(1),
				  config2(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"This object is used to select the operate configuration id for restore or backup."

		DEFVAL { config1 }
			::= { devFunConfiguration 5 }
   
    devFunCfgOperation OBJECT-TYPE
           SYNTAX INTEGER {
              none(0),
              download(1),
             upload(2)
           }
	MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"The operates to perform download or upload file, 
		download means transfer file from server to dut,
		upload means transfer file from dut to server."
           ::= { devFunConfiguration 6 }   
   
    devFunCfgSave OBJECT-TYPE
           SYNTAX INTEGER {
                               enabled(1),
                               disabled(2)
                          }
           MAX-ACCESS read-write
           STATUS current
           DESCRIPTION
               "Save current configuration to file."
			DEFVAL  { disabled }
           ::= { devFunConfiguration 7 }   
    
    devFunCfgOperationStatus OBJECT-TYPE
           SYNTAX INTEGER {
                               none(0),
                               success(1),
                               failure(2),
                               progressing(3),
                               transmit(4)
                          }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION 
               "The current operation status of file upload or download."
           ::= { devFunConfiguration 8 }    
    
    devFunCfgTransferPercentage OBJECT-TYPE
           SYNTAX INTEGER(0..100)
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION 
               "The file transfer percentage of the file upload or download."
           ::= { devFunConfiguration 9 }    
           
    devFunCfgServerInterfaceName    OBJECT-TYPE
           SYNTAX      OCTET STRING (SIZE(1..32))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "Specifies the interface name when the cmCfgServerIpvxAddr is linklocal address."
           ::= { devFunConfiguration 10 } 
    
    devFunCfgServerStatus    OBJECT-TYPE
           SYNTAX INTEGER {
                             ok(0),
                             internalerror(1),
                             nofileerror(2),
                             accessViolation(3),
                             memoryfull(4),
                             fileexists(5),
                             connecthostfail(6),
                             invalidarg(7),
                             readfail(8),
                             writefail(9),
                             createfilefail(10),
                             filetoohuge(11),
                             buffertoosmall(12),
                             serverfail(13),
							 programming(14)
                          }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION 
               "The current operation status of file upload or download."
           ::= { devFunConfiguration 11 }

	devFunCfgCurrStartUpConfigID OBJECT-TYPE
		SYNTAX    INTEGER {
				  config1(1),
				  config2(2)
		}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"This object is used to refer to the startup configuration id."

		DEFVAL { config1 }
			::= { devFunConfiguration 12 }

-- ---------------------------------------------------------------------
-- Log Backup
-- ---------------------------------------------------------------------

    devFunLogBackupToTftpIpType OBJECT-TYPE
           SYNTAX    INTEGER {
                            ipv4 (1),
                            ipv6 (2)
               }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Type of IP interface."
           ::= { devFunLogBackup 1 }

    devFunLogBackupToTftpIpAddr    OBJECT-TYPE
          SYNTAX InetAddress
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
              "The TFTP server's IP address is used to download Log file."
          ::= { devFunLogBackup 2 }

     devFunLogBackupToTftpDestURL OBJECT-TYPE
          SYNTAX DisplayString (SIZE(1..64))
          MAX-ACCESS read-write
          STATUS obsolete
          DESCRIPTION
              "The Log filename is used to download to the tftp client."
          ::= { devFunLogBackup 3 }
          
     devFunLogBackupToTftpOper OBJECT-TYPE
          SYNTAX INTEGER {
                    false (0),
                    true (1)
               }
          MAX-ACCESS read-write
          STATUS obsolete
          DESCRIPTION
              "The operate to backup log."
          ::= { devFunLogBackup 4 }

     devFunLogBackupToTftStatus OBJECT-TYPE
          SYNTAX INTEGER {
                    none (0),
                    success (1),
                    failure (2),
                    progressing (3)
               }
          MAX-ACCESS read-only
          STATUS obsolete
          DESCRIPTION
              "The backup log status."
          ::= { devFunLogBackup 5 }

--    devFunLogBackupToTftpType OBJECT-TYPE
--           SYNTAX    INTEGER {
--                  systemLog     (1),
--                  attackLog      (2)
--               }
--           MAX-ACCESS  read-write
--           STATUS      current
--           DESCRIPTION
--               "Type of Log Backup."
--           ::= { devFunLogBackup 6 }

-- ---------------------------------------------------------------------
-- Ping
-- ---------------------------------------------------------------------

 --   devPingDestIpType               OBJECT IDENTIFIER ::= { devFunPing 1 }
 --   devPingDestIpAddr               OBJECT IDENTIFIER ::= { devFunPing 2 }
 --   devPingTimeout               	OBJECT IDENTIFIER ::= { devFunPing 3 }
 --   devPingTimes               		OBJECT IDENTIFIER ::= { devFunPing 4 }
 ---   devPingStart               		OBJECT IDENTIFIER ::= { devFunPing 5 }
 --   devPingStatus               	OBJECT IDENTIFIER ::= { devFunPing 6 }
 --   devPingSuccesses               	OBJECT IDENTIFIER ::= { devFunPing 7 }    
 --   devIPv4HistoryTable             OBJECT IDENTIFIER ::= { devFunPing 8 }
  --  devIPv6HistoryTable             OBJECT IDENTIFIER ::= { devFunPing 9 }    
    
    

    -- ---------------------------------------------------------------------
    -- IPv4/v6 Ping switch
    -- ---------------------------------------------------------------------
    
	devPingDestIpType OBJECT-TYPE
		SYNTAX	INTEGER{
					ipv4(1),
					ipv6(2)
				}
          MAX-ACCESS read-write
		STATUS      current
          DESCRIPTION
			"The IP address type of the node to be pinged."
		DEFVAL { ipv4 }
		::= { devFunPing 1 }
		

	devPingDestIpAddr OBJECT-TYPE
		SYNTAX	InetAddress
          MAX-ACCESS read-write
		STATUS      current
          DESCRIPTION
			"The IP address of the node to be pinged,  set ip type before set it."
		::= { devFunPing 2 }
		

	devPingTimeout	    OBJECT-TYPE
		SYNTAX      Integer32 (1..99)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
			"The time in seconds after which the entity waiting
			for the ping response times out."
		::= { devFunPing 3 }


	devPingTimes OBJECT-TYPE
		SYNTAX      Integer32 (0..255)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
			"The number of times the given node address is to be pinged.
			 value 0 for infinite times."
		::= { devFunPing 4 }

	devPingStart OBJECT-TYPE
		SYNTAX      INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
			"The ping event of ping operate."
		DEFVAL  { disabled }
		::= { devFunPing 5 }

	devPingStatus OBJECT-TYPE
		SYNTAX	INTEGER {
					notinitiated (1),
					progress  (2),
					completed (3)
				}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The current status of the Ping operate"
		::= { devFunPing 6 }
		
	devPingSuccesses OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The number of ping responses received."
		::= { devFunPing 7 }		

    

    -- ---------------------------------------------------------------------
    -- IPv4 Table
    -- --------------------------------------------------------------------- 
    
    devPingV4ProbeHistoryTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF DevPingV4ProbeHistoryEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "Defines a table for storing the results of ping
				operations.  The number of entries in this table is
				limited per entry in the fsipv6PingTable by the value
				of the corresponding cmPingProbeMaxRow object.
	 	
				An implementation of this MIB will remove the oldest
				entry in the cmPingProbeHistoryTable of the
				corresponding entry in the cmPingProbeMaxRow to allow
				the addition of an new entry once the number of rows
				in the cmPingProbeHistoryTable reaches the value
				specified by pingCtlMaxRows for the corresponding
				entry in the cmPingProbeMaxRow."
		::= { devFunPing 8 } 
		
		
	devPingV4ProbeHistoryEntry OBJECT-TYPE
	    SYNTAX     DevPingV4ProbeHistoryEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
	    DESCRIPTION
	            "Defines an entry in the cmPingProbeHistoryTable.
				The first index elements identify the
				Probe history entry  that a fsPingTable belongs
				to.  The second index element selects a single
				probe result."
	    INDEX   { 	
					devPingIndex,
					devPingProbeIndex
				}
	     ::= { devPingV4ProbeHistoryTable 1 }
	     
	 DevPingV4ProbeHistoryEntry ::= SEQUENCE {
	 
		devPingIndex					INTEGER,
        devPingProbeIndex				INTEGER,
        devPingProbeHistoryResponseTime	Unsigned32        
	}
	
	
	devPingIndex	OBJECT-TYPE
	    SYNTAX			INTEGER
	    MAX-ACCESS		read-only
	    STATUS			current
	    DESCRIPTION
	           "The index identify the Probe history entry that 
			   fsPingTable belongs to"
	    ::= { devPingV4ProbeHistoryEntry 1 }
	
	devPingProbeIndex	OBJECT-TYPE
	    SYNTAX					INTEGER
	    MAX-ACCESS				read-only
	    STATUS					current
	    DESCRIPTION
	           "The probe history sequence of this entry belong to"
	    ::= { devPingV4ProbeHistoryEntry 2 }

    
                       
	devPingProbeHistoryResponseTime	OBJECT-TYPE
    SYNTAX					Unsigned32
    MAX-ACCESS				read-only
    STATUS					current
          DESCRIPTION
           "The amount of time measured in milliseconds from when
			a probe was sent to when its response was received or
			when it timed out.  The value of this object is reported
			as 0 when it is not possible to transmit a probe."
    ::= { devPingV4ProbeHistoryEntry 3 }
                                               
    
    -- ---------------------------------------------------------------------
    -- IPv6 Table
    -- ---------------------------------------------------------------------
    
    devIpv6PingProbeHistoryTable OBJECT-TYPE
	    SYNTAX     SEQUENCE OF DevIpv6PingProbeHistoryEntry
	    MAX-ACCESS not-accessible
	    STATUS     current
        DESCRIPTION
	            "Defines a table for storing the results of ping
				operations.  The number of entries in this table is
				limited per entry in the fsipv6PingTable by the value
				of the corresponding cmIpv6PingProbeMaxRow object.
	 	
				An implementation of this MIB will remove the oldest
				entry in the cmIpv6PingProbeHistoryTable of the
				corresponding entry in the cmIpv6PingProbeMaxRow to allow
				the addition of an new entry once the number of rows
				in the cmIpv6PingProbeHistoryTable reaches the value
				specified by pingCtlMaxRows for the corresponding
				entry in the cmIpv6PingProbeMaxRow."
		::= { devFunPing 9 }
		

	devIpv6PingProbeHistoryEntry OBJECT-TYPE
	    SYNTAX     DevIpv6PingProbeHistoryEntry
	    MAX-ACCESS not-accessible
        STATUS      current
        DESCRIPTION
	            "Defines an entry in the cmIpv6PingProbeHistoryTable.
				The first index elements identify the
				Probe history entry  that a fsIpv6PingTable belongs
				to.  The second index element selects a single
				probe result."
	    INDEX   { 	
					devIpv6PingIndex,
					devIpv6PingProbeIndex
				}
	     ::= { devIpv6PingProbeHistoryTable 1 }
	     
	     
	DevIpv6PingProbeHistoryEntry ::= SEQUENCE {
		devIpv6PingIndex					INTEGER,
        devIpv6PingProbeIndex				INTEGER,        
        devIpv6PingProbeHistoryResponseTime			Unsigned32
	}

	
	
	devIpv6PingIndex	OBJECT-TYPE
	    SYNTAX			INTEGER
	    MAX-ACCESS		read-only
        STATUS      current
        DESCRIPTION
	           "The index identify the Probe history entry that 
			   fsIpv6PingTable belongs to"
	    ::= { devIpv6PingProbeHistoryEntry 1 }

	devIpv6PingProbeIndex	OBJECT-TYPE
	    SYNTAX					INTEGER
	    MAX-ACCESS				read-only
        STATUS      current
        DESCRIPTION
	           "The probe history sequence of this entry belong to"
	    ::= { devIpv6PingProbeHistoryEntry 2 }

	    
	devIpv6PingProbeHistoryResponseTime	OBJECT-TYPE
    SYNTAX					Unsigned32
    MAX-ACCESS				read-only
    STATUS					current
          DESCRIPTION
           "The amount of time measured in milliseconds from when
			a probe was sent to when its response was received or
			when it timed out.  The value of this object is reported
			as 0 when it is not possible to transmit a probe."
    ::= { devIpv6PingProbeHistoryEntry 3 }
   

	


-- ---------------------------------------------------------------------
-- Language Management
-- ---------------------------------------------------------------------
-- devFunLangMgmt
     devFunLangMgmtFile OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION
            "Language Management. Language File"
        ::= { devFunLangMgmt 1 }

    devFunLangMgmtApply OBJECT-TYPE
        SYNTAX    TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Language Management. Apply"
        ::= { devFunLangMgmt 2 }
-- ---------------------------------------------------------------------
-- Reset and Reboot System
-- ---------------------------------------------------------------------
    devFunRestart OBJECT-TYPE
       SYNTAX      INTEGER {
					noreboot(1),
					reboot(2),
					reset(3),
					resetwithoutip(4)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
		  "This object allows the user to restart the Switch
		  (i.e)the entire switch will operationally go down and
		   start again.

		   This objects also allows user to reset swith(all configuration
		   set to default)  and reset switch without ip(except ip configuration
		   saved, configuration set to default) and reset switch without ip and
		   vlan(except ip and vlan configuration saved, configuration set to default)

		   When  the switch operationally goes down, configuration
		   save operation is initiated based on the configuration save
		   option chosen.

		   When the switch operationally come up, the saved configurations
		   are restored based on the restore option chosen.

		   Once the switch is restarted, the value of this object reverts
		   to noreboot."
	   DEFVAL  { noreboot }
       ::= { deviceFunction 8 }

    devFunWizardIgnoreNextTime OBJECT-TYPE
       SYNTAX      INTEGER {
					enabled(1),
					disabled(2)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
		  "This object indicates Smart Wizard ignore next time or not."
	   DEFVAL  { disabled }
       ::= { deviceFunction 9 }
	   

	   
-- ---------------------------------------------------------------------
-- Error code Information
-- ---------------------------------------------------------------------	
    deviceErrorCodeTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DeviceErrorCodeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table to control the port specific parameters of the device like speed,
            duplex mode, etc."
        ::= { deviceErrorCodeInformation 1 }

    deviceErrorCodeEntry OBJECT-TYPE
        SYNTAX      DeviceErrorCodeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "An entry appears in this table for each interface in the system.
           Index to the table is the interface index of the port."

        INDEX { devErrorCodeIndex }
        ::= { deviceErrorCodeTable 1 }

    DeviceErrorCodeEntry ::=
       SEQUENCE {
            devErrorCodeIndex		 Integer32,
            devErrorString		     DisplayString
       }

    devErrorCodeIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Error code index."

        ::= { deviceErrorCodeEntry 1 }

    devErrorString OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The error string of the index."

        ::= { deviceErrorCodeEntry 2 }

-- ---------------------------------------------------------------------
-- Fan Status
-- ---------------------------------------------------------------------	
    deviceFanStatus OBJECT-TYPE
    SYNTAX  INTEGER {
				ok(0),
				fail(1)
			}
	MAX-ACCESS  read-only 
	STATUS      current 
	DESCRIPTION 
			"Enable/Disable Loopback detection function.
			The Loopback Detection function is used to detect the thermal sensor's
			status is ok or not , if the status is Enable ,that means the smartfan module 
			will be on work ,it will detect the thermal sensor and send status change log."
	DEFVAL  { fail }
        ::= { deviceFan 1 }

    -- ------------------------------------------------------------------ 
    -- ACLGroup
    -- ------------------------------------------------------------------
    aclProfile       OBJECT IDENTIFIER ::= { aclGroup 1 }

    aclProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to ACL profile .
           "
       ::= { aclProfile 1 }

    aclProfileEntry OBJECT-TYPE
       SYNTAX      AclProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a ACL profile.
             Index to the table is ACL profile ID. "
       INDEX { aclProfileNo}
       ::= { aclProfileTable 1 }

    AclProfileEntry ::=
       SEQUENCE {
          aclProfileNo
             Integer32,
          aclProfileName
             SnmpAdminString,
          aclProfileType
             INTEGER,
          aclProfileRuleCount
             Integer32,
          aclProfileRemark
          	 SnmpAdminString,
	  	  aclProfileRuleIdStart
	  	  	 INTEGER,
	  	  aclProfileRuleIdStep
	  	  	 INTEGER,
	  	  aclProfileRuleCounterState
	  	  	 INTEGER,
	  	  aclProfileRuleCounterClear
	  	  	 INTEGER,
          aclProfileStatus
             RowStatus
      }

    aclProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The ACL Profile ID. The ID 1 to 50 is user-defined ACL,
           and the ID more than 50 is reserved for system-defined ACL.
           The user only allow to create user-defined ACL ID.
           And system-defined ACL is read only."
       ::= { aclProfileEntry 1 }

    aclProfileName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclProfileEntry 2 }

    aclProfileType OBJECT-TYPE
       SYNTAX   INTEGER  {
                      l2 (1),
                      l3v4 (2),
                      l3v4Ext(3),
                      l3v6 (4),
                      l3v6Ext (5),
                      expert (6)
                   }
       MAX-ACCESS   read-write
       STATUS      current
       DESCRIPTION
          "The ACL Profile type, possible value are
          l2      (1) - for MAC-based rule,
          l3v4    (2) - for IPv4-based rule,
          l3v4Ext (3) - for IPv4-Ext rule,
          l3v6    (4) - for IPv6-based rule.
          Note that only l2, l3 and l3v6 could be set by user,
          other is reserved for system to show information.
          "
       ::= { aclProfileEntry 3 }

    aclProfileRuleCount  OBJECT-TYPE
       SYNTAX   Integer32 (0..65535)
       MAX-ACCESS   read-only
       STATUS      current
       DESCRIPTION
          "The number of rules in this profile."
       ::= { aclProfileEntry 4 }

	aclProfileRemark		OBJECT-TYPE
	SYNTAX     SnmpAdminString (SIZE (0..32))
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION
	    "acl group description which is long and more detailed."
	::= { aclProfileEntry 5 }

	aclProfileRuleIdStart	OBJECT-TYPE
		SYNTAX     INTEGER (1..65535)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		    "the start rule id in this acl group."
		::= { aclProfileEntry 6 }

	aclProfileRuleIdStep	OBJECT-TYPE
		SYNTAX     INTEGER (1..32)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		    "the step of the rule id in this acl group."
		::= { aclProfileEntry 7 }

	aclProfileRuleCounterState		OBJECT-TYPE
		SYNTAX     INTEGER {
						 enabled(1),
				    	disabled(2)
					}
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		    "the state of hw counter for this acl group."
		::= { aclProfileEntry 8 }

	aclProfileRuleCounterClear		OBJECT-TYPE
		SYNTAX     INTEGER {
						 enabled(1),
				    	disabled(2)
					}
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
		    "Clear rule hw counter for this acl group."
		::= { aclProfileEntry 9 }
	
    aclProfileStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This object indicates the status of this entry, can only be set to
             'createAndWait','active' and 'destroy'.
             When the value of the entry status is 'createAndWait', it could be
             set to 'active' only if the three values of aclProfileType,
             aclProfileMask and ProtocolType are not conflicted.
           "
       ::= { aclProfileEntry 10 }

    -- L2 Filter Group --------------------------------------------------

    aclL2Rule       OBJECT IDENTIFIER ::= { aclGroup 2 }

    aclL2RuleTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF AclL2RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table to configure L2 filter rules in the system."
       ::= { aclL2Rule 1 }

    aclL2RuleEntry OBJECT-TYPE
       SYNTAX      AclL2RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Each entry in this table is a L2 filter rule.
           Index to the table is the L2 filter number and Profile ID."
       INDEX { aclL2ProfileID , aclL2AccessID }
       ::= { aclL2RuleTable 1 }

    AclL2RuleEntry ::=
       SEQUENCE {         
          aclL2ProfileID
             Integer32,
		  aclL2AccessID
             Integer32,
          aclL2RuleEtherType
             Integer32,
          aclL2RuleDstMacAddr
             MacAddress,
          aclL2RuleSrcMacAddr
             MacAddress,
          aclL2RuleVlanId
             Integer32,
          aclL2Rule1pPriority
             Integer32,
          aclL2RuleDstMacAddrMask
             MacAddress,
          aclL2RuleSrcMacAddrMask
             MacAddress,
          aclL2RuleTimeRange
             SnmpAdminString,
          aclL2RuleAction
             INTEGER,
          aclL2RuleEtherTypeMask
             Integer32,
          aclL2RuleMatchCount
          	 Counter32,
          aclL2RuleStatus
             RowStatus
      }

   

    aclL2ProfileID OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "ACL Profile ID which this rule join."
       DEFVAL  { 1 }
       ::= { aclL2RuleEntry 1 }
	aclL2AccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L2 Filter rule ID."
       ::= { aclL2RuleEntry 2 }

    aclL2RuleEtherType OBJECT-TYPE
       SYNTAX      Integer32  (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The value in the Type/Len field of a frame that will
          be matched to trigger this filter. The default value of
          this object is '0', which means the rule don't care this
          condition.
          The aclL2EtherFrameType should be specified as ether-type."
       DEFVAL  { 0 }
       ::= { aclL2RuleEntry 3 }

    aclL2RuleDstMacAddr OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination MAC address to be matched with the packet. By Default, the
           Destination Mac Address will be zero,which means the rule don't care this
           condition."
       ::= { aclL2RuleEntry 4 }

    aclL2RuleSrcMacAddr OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source MAC address to be matched with the packet. By Default, the Source
           Mac Address will be zero, which means the rule don't care this condition..
           address"
       ::= { aclL2RuleEntry 5 }

    aclL2RuleVlanId OBJECT-TYPE
       SYNTAX      Integer32 (-1..4094)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
          be treated as customer Vlan Id. By Default, the value will be '-1',
          which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclL2RuleEntry 6 }

     aclL2Rule1pPriority OBJECT-TYPE
       SYNTAX      Integer32  (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "802.1p priority to be matched with the packet. By Default, the value
          will be '-1', which means the rule don't care this condition."
      DEFVAL  { -1 }
       ::= { aclL2RuleEntry 7 }

    aclL2RuleDstMacAddrMask OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Destination MAC address."
       ::= { aclL2RuleEntry 8 }

    aclL2RuleSrcMacAddrMask OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Source MAC address."
       ::= { aclL2RuleEntry 9 }

    aclL2RuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclL2RuleEntry 10 }

    aclL2RuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches.
          If the action is 'allow', the packet will be forwarded according
          to the forwarding rules.
          If the action is 'drop', the packet will be discarded."
       DEFVAL  { allow }
       ::= { aclL2RuleEntry 11 }

    aclL2RuleEtherTypeMask OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The value in the Type/Len field of a frame that will
          be matched to trigger this filter. The default value of
          this object is '-1', which means the rule don't care this
          condition.
          The aclL2EtherFrameType should be specified as ether-type."
       DEFVAL  { -1 }
       ::= { aclL2RuleEntry 12 }

	 aclL2RuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclL2RuleEntry 13 }
	   
     aclL2RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL2RuleEntry 14 }

    -- L3 Filter Group --------------------------------------------------

    aclL3v4Rule       OBJECT IDENTIFIER ::= { aclGroup 3 }

    aclL3v4RuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v4RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 filter rules in the system.
           "
       ::= { aclL3v4Rule 1 }

    aclL3v4RuleEntry OBJECT-TYPE
       SYNTAX      AclL3v4RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 filter rule.
             Index to the table is L3 filter number. "
       INDEX { aclL3v4RuleProfileNo, aclL3v4RuleAccessID }
       ::= { aclL3v4RuleTable 1 }

    AclL3v4RuleEntry ::=
       SEQUENCE {          
          aclL3v4RuleProfileNo
             Integer32,
		  aclL3v4RuleAccessID
             Integer32,
          aclL3v4RuleDstIpAddr
             IpAddress,
          aclL3v4RuleSrcIpAddr
             IpAddress,
          aclL3v4RuleDstIpAddrMask
             IpAddress,
          aclL3v4RuleSrcIpAddrMask
             IpAddress,
          aclL3v4RuleAction
             INTEGER,
          aclL3v4RuleTimeRange
             SnmpAdminString,
          aclL3v4RuleMatchCount
          	 Counter32,
          aclL3v4RuleStatus
             RowStatus

      }
	  
    aclL3v4RuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v4RuleEntry 1 }

	aclL3v4RuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v4RuleEntry 2 }

    aclL3v4RuleDstIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IP address to be matched with the packet.
           The default value will be zero, which means the rule
           don't care this condition."
       DEFVAL  { '00000000'h }
       ::= { aclL3v4RuleEntry 3 }

    aclL3v4RuleSrcIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IP address to be matched with the packet.
          The default value will be zero, which means the
          rule don't care this condition."

       DEFVAL  { '00000000'h }
       ::= { aclL3v4RuleEntry 4 }

    aclL3v4RuleDstIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Destination IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4RuleEntry 5 }

    aclL3v4RuleSrcIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Source IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4RuleEntry 6 }

    aclL3v4RuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { allow }
       ::= { aclL3v4RuleEntry 7 }

    aclL3v4RuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclL3v4RuleEntry 8 }

	aclL3v4RuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclL3v4RuleEntry 9 }
	   
    aclL3v4RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v4RuleEntry 10 }

    -- L3v4 Ext Filter Group --------------------------------------------------

    aclL3v4ExtRule       OBJECT IDENTIFIER ::= { aclGroup 4 }

    aclL3v4ExtRuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v4ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 filter rules in the system.
           "
       ::= { aclL3v4ExtRule 1 }

    aclL3v4ExtRuleEntry OBJECT-TYPE
       SYNTAX      AclL3v4ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 filter rule.
             Index to the table is L3 filter number. "
       INDEX { aclL3v4ExtRuleProfileNo, aclL3v4ExtRuleAccessID }
       ::= { aclL3v4ExtRuleTable 1 }

    AclL3v4ExtRuleEntry ::=
       SEQUENCE {         
          aclL3v4ExtRuleProfileNo
             Integer32,
		  aclL3v4ExtRuleAccessID
             Integer32,
          aclL3v4ExtRuleProtocol
             INTEGER,
          aclL3v4ExtRuleFragments
             INTEGER,
          aclL3v4ExtRuleICMPMessageType
             Integer32,
          aclL3v4ExtRuleICMPMessageCode
             Integer32,
          aclL3v4ExtRuleDstIpAddr
             IpAddress,
          aclL3v4ExtRuleSrcIpAddr
             IpAddress,
          aclL3v4ExtRuleDstIpAddrMask
             IpAddress,
          aclL3v4ExtRuleSrcIpAddrMask
             IpAddress,
          aclL3v4ExtRuleTcpUdpDstOperator
             INTEGER,
          aclL3v4ExtRuleTcpUdpDstPort
             Integer32,
          aclL3v4ExtRuleTcpUdpMinDstPort
             Unsigned32,
          aclL3v4ExtRuleTcpUdpMaxDstPort
             Unsigned32,
          aclL3v4ExtRuleTcpUdpSrcOperator
             INTEGER,
          aclL3v4ExtRuleTcpUdpSrcPort
             Integer32,
          aclL3v4ExtRuleTcpUdpMinSrcPort
             Unsigned32,
          aclL3v4ExtRuleTcpUdpMaxSrcPort
             Unsigned32,
          aclL3v4ExtRuleIPPrecedence
             Integer32,
          aclL3v4ExtRuleDscp
             Integer32,
          aclL3v4ExtRuleToS
             Integer32,
          aclL3v4ExtRuleTcpAckBit
             INTEGER,
          aclL3v4ExtRuleTcpRstBit
             INTEGER,
          aclL3v4ExtRuleTcpUrgBit
             INTEGER,
          aclL3v4ExtRuleTcpPshBit
             INTEGER,
          aclL3v4ExtRuleTcpSynBit
             INTEGER,
          aclL3v4ExtRuleTcpFinBit
             INTEGER,
          aclL3v4ExtRuleAction
             INTEGER,
          aclL3v4ExtRuleTimeRange
             SnmpAdminString,
          aclL3v4ExtRuleMatchCount
          	 Counter32,
          aclL3v4ExtRuleStatus
             RowStatus

      }
    
    aclL3v4ExtRuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v4ExtRuleEntry 1 }
	   
	aclL3v4ExtRuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v4ExtRuleEntry 2 }

    aclL3v4ExtRuleProtocol OBJECT-TYPE
       SYNTAX      INTEGER  {
                     none(0),
       				 icmp(1),
       				 igmp(2),
       				 tcp(6),
      				 udp(17),
      				 gre(47),
      				 esp(50),
      				 eigrp(88),
      				 ospf(89),
      				 ipinip(94),
      				 pim(103),
      				 pcp(108),
      				 vrrp(112)
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of protocol to be checked against the packet."
       DEFVAL  { 0 }
       ::= { aclL3v4ExtRuleEntry 3 }

    aclL3v4ExtRuleFragments OBJECT-TYPE
       SYNTAX      INTEGER {
       				  none (0),
                      enabled (1),
                      disabled  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          ""
       DEFVAL  { none }
       ::= { aclL3v4ExtRuleEntry 4 }

    aclL3v4ExtRuleICMPMessageType OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
         " The message type to be checked against the packet. If the
          message type matches with the packet, then the packet will be
          dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1',which means the rule don't care this
          condition.
          Some ICMP message types are:
               echoReply(0),
               destinationUnreachable(3),
               sourceQuench(4),
               redirect(5),
               echoRequest(8),
               timeExceeded(11),
               parameterProblem(12),
               timestampRequest(13),
               timestampReply(14),
               informationRequest(15),
               informationReply(16),
               addressMaskRequest(17),
               addressMaskReply (18),
          "
       DEFVAL  { -1 }
       ::= { aclL3v4ExtRuleEntry 5 }

    aclL3v4ExtRuleICMPMessageCode OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The message code to be checked against the packet. If the
          packet matches with the message code, then the packet will
          be dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1', which means the rule don't care this
          condition.
          Some ICMP message codes are :
               networkUnreachable(0),
               hostUnreachable(1),
               protocolUnreachable(2),
               portUnreachable(3),
               fragmentNeed(4),
               sourceRouteFail(5),
               destNetworkUnknown(6),
               destHostUnknown(7),
               srcHostIsolated(8),
               destNetworkAdminProhibited(9),
               destHostAdminProhibited(10),
               networkUnreachableTOS(11),
               hostUnreachableTOS(12),
          "
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 6 }

    aclL3v4ExtRuleDstIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IP address to be matched with the packet.
           The default value will be zero, which means the rule
           don't care this condition."
       DEFVAL  { '00000000'h }
       ::= { aclL3v4ExtRuleEntry 7 }

    aclL3v4ExtRuleSrcIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IP address to be matched with the packet.
          The default value will be zero, which means the
          rule don't care this condition."

       DEFVAL  { '00000000'h }
       ::= { aclL3v4ExtRuleEntry 8 }

    aclL3v4ExtRuleDstIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Destination IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4ExtRuleEntry 9 }

    aclL3v4ExtRuleSrcIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Source IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4ExtRuleEntry 10 }

    aclL3v4ExtRuleTcpUdpDstOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclL3v4ExtRuleEntry 11 }

    aclL3v4ExtRuleTcpUdpDstPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP destination port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 12 }

    aclL3v4ExtRuleTcpUdpMinDstPort OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the destination port range."
       DEFVAL   { 0 }
       ::= { aclL3v4ExtRuleEntry 13 }

    aclL3v4ExtRuleTcpUdpMaxDstPort OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the destination port range."
       DEFVAL   { 65535 }
       ::= { aclL3v4ExtRuleEntry 14 }

    aclL3v4ExtRuleTcpUdpSrcOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclL3v4ExtRuleEntry 15 }

    aclL3v4ExtRuleTcpUdpSrcPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP source port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 16 }

    aclL3v4ExtRuleTcpUdpMinSrcPort OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the source port range."
       DEFVAL   { 0 }
       ::= { aclL3v4ExtRuleEntry 17 }

	aclL3v4ExtRuleTcpUdpMaxSrcPort OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the source port range."
       DEFVAL   { 65535 }
       ::= { aclL3v4ExtRuleEntry 18 }
       
    aclL3v4ExtRuleIPPrecedence		OBJECT-TYPE
    	SYNTAX		Integer32 (-1..7)
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		""
    	DEFVAL	{ -1 }
    	::= { aclL3v4ExtRuleEntry 19 }

    aclL3v4ExtRuleDscp		OBJECT-TYPE
    	SYNTAX		Integer32 (-1..63)
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		"The IP Dscp value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The aclL3RuleTos should be specified as dscp."
    	DEFVAL	{ -1 }
    	::= { aclL3v4ExtRuleEntry 20 }

    aclL3v4ExtRuleToS OBJECT-TYPE
       SYNTAX      Integer32 (-1..15)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The ToS value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The cmAclL3RuleTos should be specified as dscp."
       DEFVAL  { -1 }
       ::= { aclL3v4ExtRuleEntry 21 }

    aclL3v4ExtRuleTcpAckBit		OBJECT-TYPE
    	SYNTAX	INTEGER	{
    						establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP ACK bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 22 }
    
    aclL3v4ExtRuleTcpRstBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP RST bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 23 }
    
    aclL3v4ExtRuleTcpUrgBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Urg bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 24 }
    	
    aclL3v4ExtRuleTcpPshBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Psh bit to be checked against the packet. The default 
    		value is 'dont_care'(3). which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 25 }	
    
    aclL3v4ExtRuleTcpSynBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Syn bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 26 }		
    
    aclL3v4ExtRuleTcpFinBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Fin bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v4ExtRuleEntry 27 }

    aclL3v4ExtRuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { allow }
       ::= { aclL3v4ExtRuleEntry 28 }

    aclL3v4ExtRuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
       STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclL3v4ExtRuleEntry 29 }

	aclL3v4ExtRuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclL3v4ExtRuleEntry 30 }
	   
    aclL3v4ExtRuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v4ExtRuleEntry 31 }

    -- L3v6 Filter Group --------------------------------------------------

    aclL3v6Rule       OBJECT IDENTIFIER ::= { aclGroup 5 }

    aclL3v6RuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v6RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 ipv6 filter rules in the system."
       ::= { aclL3v6Rule 1 }

    aclL3v6RuleEntry OBJECT-TYPE
       SYNTAX      AclL3v6RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 ipv6 filter rule.
             Index to the table is L3 ipv6 filter number. "
       INDEX { aclL3v6RuleProfileNo, aclL3v6RuleAccessID }
       ::= { aclL3v6RuleTable 1 }

    AclL3v6RuleEntry ::=
       SEQUENCE {         
          aclL3v6RuleProfileNo
             Integer32,
		  aclL3v6RuleAccessID
             Integer32,
          aclL3v6RuleDstIpv6Addr
             Ipv6Address,
          aclL3v6RuleSrcIpv6Addr
             Ipv6Address,
          aclL3v6RuleDstIpv6AddrPrefixLen
             InetAddressPrefixLength,
          aclL3v6RuleSrcIpv6AddrPrefixLen
             InetAddressPrefixLength,            
          aclL3v6RuleAction
             INTEGER,
          aclL3v6RuleTimeRange
             SnmpAdminString,
          aclL3v6RuleMatchCount
          	 Counter32,
          aclL3v6RuleStatus
             RowStatus
      }
    
    aclL3v6RuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v6RuleEntry 1 }

	aclL3v6RuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v6RuleEntry 2 }

    aclL3v6RuleDstIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IPv6 address to be matched with the packet."
       ::= { aclL3v6RuleEntry 3 }

    aclL3v6RuleSrcIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IPv6 address to be matched with the packet."
       ::= { aclL3v6RuleEntry 4 }

    aclL3v6RuleDstIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Destination IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6RuleEntry 5 }

    aclL3v6RuleSrcIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Source IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6RuleEntry 6 }

    aclL3v6RuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { allow }
       ::= { aclL3v6RuleEntry 7 }

    aclL3v6RuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclL3v6RuleEntry 8 }

	aclL3v6RuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclL3v6RuleEntry 9 }
	   
    aclL3v6RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v6RuleEntry 10 }

    -- L3v6 Ext Filter Group --------------------------------------------------

    aclL3v6ExtRule       OBJECT IDENTIFIER ::= { aclGroup 6 }

    aclL3v6ExtRuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v6ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 ipv6 filter rules in the system."
       ::= { aclL3v6ExtRule 1 }

    aclL3v6ExtRuleEntry OBJECT-TYPE
       SYNTAX      AclL3v6ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 ipv6 filter rule.
             Index to the table is L3 ipv6 filter number. "
       INDEX { aclL3v6ExtRuleProfileNo, aclL3v6ExtRuleAccessID }
       ::= { aclL3v6ExtRuleTable 1 }

    AclL3v6ExtRuleEntry ::=
       SEQUENCE {         
          aclL3v6ExtRuleProfileNo
             Integer32,
		  aclL3v6ExtRuleAccessID
             Integer32,
          aclL3v6ExtRuleDscp
             Integer32,
          aclL3v6ExtRuleProtocol
             INTEGER,
          aclL3v6ExtRuleFragments
             INTEGER,
          aclL3v6ExtRuleTcpUdpDstOperator
             INTEGER,
          aclL3v6ExtRuleTcpUdpDstPort
             Integer32,
          aclL3v6ExtRuleTcpUdpMinDstPort
             Unsigned32,
          aclL3v6ExtRuleTcpUdpMaxDstPort
             Unsigned32,
          aclL3v6ExtRuleTcpUdpSrcOperator
             INTEGER,
          aclL3v6ExtRuleTcpUdpSrcPort
             Integer32,
          aclL3v6ExtRuleTcpUdpMinSrcPort
             Unsigned32,
          aclL3v6ExtRuleTcpUdpMaxSrcPort
             Unsigned32,
          aclL3v6ExtRuleICMPv6MessageType
             Integer32,
          aclL3v6ExtRuleICMPv6MessageCode
             Integer32,
          aclL3v6ExtRuleDstIpv6Addr
             Ipv6Address,
          aclL3v6ExtRuleSrcIpv6Addr
             Ipv6Address,
          aclL3v6ExtRuleDstIpv6AddrPrefixLen
             InetAddressPrefixLength,
          aclL3v6ExtRuleSrcIpv6AddrPrefixLen
             InetAddressPrefixLength,
          aclL3v6ExtRuleTcpAckBit
             INTEGER,
          aclL3v6ExtRuleTcpRstBit
             INTEGER,
          aclL3v6ExtRuleTcpUrgBit
             INTEGER,
          aclL3v6ExtRuleTcpPshBit
             INTEGER,
          aclL3v6ExtRuleTcpSynBit
             INTEGER,
          aclL3v6ExtRuleTcpFinBit
             INTEGER,
          aclL3v6ExtRuleFlowLabel
             Integer32,
          aclL3v6ExtRuleAction
             INTEGER,
          aclL3v6ExtRuleTimeRange
             SnmpAdminString,
          aclL3v6ExtRuleMatchCount
          	 Counter32,
          aclL3v6ExtRuleStatus
             RowStatus
      }
    
    aclL3v6ExtRuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v6ExtRuleEntry 1 }

	aclL3v6ExtRuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v6ExtRuleEntry 2 }

    aclL3v6ExtRuleDscp OBJECT-TYPE
       SYNTAX      Integer32 (-1..63)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP Dscp value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition."
       DEFVAL  { -1 }
       ::= { aclL3v6ExtRuleEntry 3 }

    aclL3v6ExtRuleProtocol OBJECT-TYPE
       SYNTAX      INTEGER (0..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of protocol to be checked against the packet."
       DEFVAL  { 0 }
       ::= { aclL3v6ExtRuleEntry 4 }

    aclL3v6ExtRuleFragments OBJECT-TYPE
       SYNTAX      INTEGER {
       				  none (0),
                      enabled (1),
                      disabled  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          ""
       DEFVAL  { none }
       ::= { aclL3v6ExtRuleEntry 5 }

    aclL3v6ExtRuleTcpUdpDstOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclL3v6ExtRuleEntry 6 }

    aclL3v6ExtRuleTcpUdpDstPort OBJECT-TYPE
       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP destination port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { 0 }
       ::= { aclL3v6ExtRuleEntry 7 }

    aclL3v6ExtRuleTcpUdpMinDstPort OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the destination port range."
       DEFVAL   { 0 }
       ::= { aclL3v6ExtRuleEntry 8 }

    aclL3v6ExtRuleTcpUdpMaxDstPort OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the destination port range."
       DEFVAL   { 65535 }
       ::= { aclL3v6ExtRuleEntry 9 }

    aclL3v6ExtRuleTcpUdpSrcOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclL3v6ExtRuleEntry 10 }

    aclL3v6ExtRuleTcpUdpSrcPort OBJECT-TYPE
       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP source port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { 0 }
       ::= { aclL3v6ExtRuleEntry 11 }

    aclL3v6ExtRuleTcpUdpMinSrcPort OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the source port range."
       DEFVAL   { 0 }
       ::= { aclL3v6ExtRuleEntry 12 }

    aclL3v6ExtRuleTcpUdpMaxSrcPort OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the source port range."
       DEFVAL   { 65535 }
       ::= { aclL3v6ExtRuleEntry 13 }

    aclL3v6ExtRuleICMPv6MessageType OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
         " The message type to be checked against the packet. If the
          message type matches with the packet, then the packet will be
          dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1',which means the rule don't care this
          condition.
          Some ICMP message types are:
               echoReply(0),
               destinationUnreachable(3),
               sourceQuench(4),
               redirect(5),
               echoRequest(8),
               timeExceeded(11),
               parameterProblem(12),
               timestampRequest(13),
               timestampReply(14),
               informationRequest(15),
               informationReply(16),
               addressMaskRequest(17),
               addressMaskReply (18),
          "
       DEFVAL  { -1 }
       ::= { aclL3v6ExtRuleEntry 14 }

    aclL3v6ExtRuleICMPv6MessageCode OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The message code to be checked against the packet. If the
          packet matches with the message code, then the packet will
          be dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1', which means the rule don't care this
          condition.
          Some ICMP message codes are :
               networkUnreachable(0),
               hostUnreachable(1),
               protocolUnreachable(2),
               portUnreachable(3),
               fragmentNeed(4),
               sourceRouteFail(5),
               destNetworkUnknown(6),
               destHostUnknown(7),
               srcHostIsolated(8),
               destNetworkAdminProhibited(9),
               destHostAdminProhibited(10),
               networkUnreachableTOS(11),
               hostUnreachableTOS(12),
          "
       DEFVAL   { -1 }
       ::= { aclL3v6ExtRuleEntry 15 }

    aclL3v6ExtRuleDstIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IPv6 address to be matched with the packet."
       ::= { aclL3v6ExtRuleEntry 16 }

    aclL3v6ExtRuleSrcIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IPv6 address to be matched with the packet."
       ::= { aclL3v6ExtRuleEntry 17 }

    aclL3v6ExtRuleDstIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Destination IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6ExtRuleEntry 18 }

    aclL3v6ExtRuleSrcIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Source IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6ExtRuleEntry 19 }

    aclL3v6ExtRuleTcpAckBit		OBJECT-TYPE
    	SYNTAX	INTEGER	{
    						establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP ACK bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 20 }
    
    aclL3v6ExtRuleTcpRstBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP RST bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 21 }
    
    aclL3v6ExtRuleTcpUrgBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Urg bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 22 }
    	
    aclL3v6ExtRuleTcpPshBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Psh bit to be checked against the packet. The default 
    		value is 'dont_care'(3). which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 23 }	
    
    aclL3v6ExtRuleTcpSynBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Syn bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 24 }		
    
    aclL3v6ExtRuleTcpFinBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Fin bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclL3v6ExtRuleEntry 25 }

    aclL3v6ExtRuleFlowLabel OBJECT-TYPE
       SYNTAX      Integer32  (-1..1048575)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The flow identifier in an IPv6 header."
       ::= { aclL3v6ExtRuleEntry 26 }

    aclL3v6ExtRuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { allow }
       ::= { aclL3v6ExtRuleEntry 27 }

    aclL3v6ExtRuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclL3v6ExtRuleEntry 28 }

	aclL3v6ExtRuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclL3v6ExtRuleEntry 29 }
	   
    aclL3v6ExtRuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v6ExtRuleEntry 30 }

    -- Expert Ext Filter Group --------------------------------------------------

    aclExpertExtRule       OBJECT IDENTIFIER ::= { aclGroup 7 }

    aclExpertExtRuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclExpertExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 filter rules in the system.
           "
       ::= { aclExpertExtRule 1 }

    aclExpertExtRuleEntry OBJECT-TYPE
       SYNTAX      AclExpertExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 filter rule.
             Index to the table is L3 filter number. "
       INDEX { aclExpertExtRuleProfileNo, aclExpertExtRuleAccessID }
       ::= { aclExpertExtRuleTable 1 }

    AclExpertExtRuleEntry ::=
       SEQUENCE {          
          aclExpertExtRuleProfileNo
             Integer32,
		  aclExpertExtRuleAccessID
             Integer32,
          aclExpertExtRuleProtocol
             INTEGER,
          aclExpertExtRuleFragments
             INTEGER,
          aclExpertExtRuleICMPMessageType
             Integer32,
          aclExpertExtRuleICMPMessageCode
             Integer32,
          aclExpertExtRuleDstIpAddr
             IpAddress,
          aclExpertExtRuleSrcIpAddr
             IpAddress,
          aclExpertExtRuleDstIpAddrMask
             IpAddress,
          aclExpertExtRuleSrcIpAddrMask
             IpAddress,
          aclExpertExtRuleTcpUdpDstOperator
             INTEGER,
          aclExpertExtRuleTcpUdpDstPort
             Integer32,
          aclExpertExtRuleTcpUdpMinDstPort
             INTEGER,
          aclExpertExtRuleTcpUdpMaxDstPort
             INTEGER,
          aclExpertExtRuleTcpUdpSrcOperator
             INTEGER,
          aclExpertExtRuleTcpUdpSrcPort
             Integer32,
          aclExpertExtRuleTcpUdpMinSrcPort
             INTEGER,
          aclExpertExtRuleTcpUdpMaxSrcPort
             INTEGER,
          aclExpertExtRuleIPPrecedence
             Integer32,
          aclExpertExtRuleDscp
             Integer32,
          aclExpertExtRuleToS
             Integer32,
          aclExpertExtRuleTcpAckBit
             INTEGER,
          aclExpertExtRuleTcpRstBit
             INTEGER,
          aclExpertExtRuleTcpUrgBit
             INTEGER,
          aclExpertExtRuleTcpPshBit
             INTEGER,
          aclExpertExtRuleTcpSynBit
             INTEGER,
          aclExpertExtRuleTcpFinBit
             INTEGER,
          aclExpertExtRuleDstMacAddr
             MacAddress,
          aclExpertExtRuleSrcMacAddr
             MacAddress,
          aclExpertExtRuleVlanId
             Integer32,
          aclExpertExtRule1pPriority
             Integer32,
          aclExpertExtRuleDstMacAddrMask
             MacAddress,
          aclExpertExtRuleSrcMacAddrMask
             MacAddress,
          aclExpertExtRuleAction
             INTEGER,
          aclExpertExtRuleTimeRange
             SnmpAdminString,
          aclExpertExtRuleMatchCount
          	 Counter32,
          aclExpertExtRuleStatus
             RowStatus
      }
    
    aclExpertExtRuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclExpertExtRuleEntry 1 }

	aclExpertExtRuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclExpertExtRuleEntry 2 }
	   
    aclExpertExtRuleProtocol OBJECT-TYPE
       SYNTAX      INTEGER  {
                     none(0),
       				 icmp(1),
       				 igmp(2),
       				 tcp(6),
      				 udp(17),
      				 gre(47),
      				 esp(50),
      				 eigrp(88),
      				 ospf(89),
      				 ipinip(94),
      				 pim(103),
      				 pcp(108),
      				 vrrp(112)
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of protocol to be checked against the packet."
       DEFVAL  { 0 }
       ::= { aclExpertExtRuleEntry 3 }

    aclExpertExtRuleFragments OBJECT-TYPE
       SYNTAX      INTEGER {
       				  none (0),
                      enabled (1),
                      disabled  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          ""
       DEFVAL  { none }
       ::= { aclExpertExtRuleEntry 4 }

    aclExpertExtRuleICMPMessageType OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
         " The message type to be checked against the packet. If the
          message type matches with the packet, then the packet will be
          dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1',which means the rule don't care this
          condition.
          Some ICMP message types are:
               echoReply(0),
               destinationUnreachable(3),
               sourceQuench(4),
               redirect(5),
               echoRequest(8),
               timeExceeded(11),
               parameterProblem(12),
               timestampRequest(13),
               timestampReply(14),
               informationRequest(15),
               informationReply(16),
               addressMaskRequest(17),
               addressMaskReply (18),
          "
       DEFVAL  { -1 }
       ::= { aclExpertExtRuleEntry 5 }

    aclExpertExtRuleICMPMessageCode OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The message code to be checked against the packet. If the
          packet matches with the message code, then the packet will
          be dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1', which means the rule don't care this
          condition.
          Some ICMP message codes are :
               networkUnreachable(0),
               hostUnreachable(1),
               protocolUnreachable(2),
               portUnreachable(3),
               fragmentNeed(4),
               sourceRouteFail(5),
               destNetworkUnknown(6),
               destHostUnknown(7),
               srcHostIsolated(8),
               destNetworkAdminProhibited(9),
               destHostAdminProhibited(10),
               networkUnreachableTOS(11),
               hostUnreachableTOS(12),
          "
       DEFVAL   { -1 }
       ::= { aclExpertExtRuleEntry 6 }

    aclExpertExtRuleDstIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IP address to be matched with the packet.
           The default value will be zero, which means the rule
           don't care this condition."
       DEFVAL  { '00000000'h }
       ::= { aclExpertExtRuleEntry 7 }

    aclExpertExtRuleSrcIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IP address to be matched with the packet.
          The default value will be zero, which means the
          rule don't care this condition."

       DEFVAL  { '00000000'h }
       ::= { aclExpertExtRuleEntry 8 }

    aclExpertExtRuleDstIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Destination IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclExpertExtRuleEntry 9 }

    aclExpertExtRuleSrcIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Source IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclExpertExtRuleEntry 10 }

    aclExpertExtRuleTcpUdpDstOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclExpertExtRuleEntry 11 }

    aclExpertExtRuleTcpUdpDstPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP destination port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclExpertExtRuleEntry 12 }

    aclExpertExtRuleTcpUdpMinDstPort OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the destination port range."
       DEFVAL   { 0 }
       ::= { aclExpertExtRuleEntry 13 }

    aclExpertExtRuleTcpUdpMaxDstPort OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the destination port range."
       DEFVAL   { 0 }
       ::= { aclExpertExtRuleEntry 14 }

    aclExpertExtRuleTcpUdpSrcOperator OBJECT-TYPE
       SYNTAX      INTEGER  {
                        none(1),
                        eq(2),
                        gt(3),
                        lt(4),
                        neq(5),
                        range(6) 
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of UDP/TCP port operator indicates how a packet's
            TCP/UDP source or destination port number is compared.
            none(1) - No comparison.
            eq (2)- equal
            gt (3)- greater than.
            lt (4)- less than.
            neq(5)- not equal                            
            range(6)- compares the port value between two numbers."
       DEFVAL  { 1 }
       ::= { aclExpertExtRuleEntry 15 }

    aclExpertExtRuleTcpUdpSrcPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP source port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclExpertExtRuleEntry 16 }

    aclExpertExtRuleTcpUdpMinSrcPort OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The minimum port in the source port range."
       DEFVAL   { 0 }
       ::= { aclExpertExtRuleEntry 17 }

    aclExpertExtRuleTcpUdpMaxSrcPort OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The maximum port in the source port range."
       DEFVAL   { 0 }
       ::= { aclExpertExtRuleEntry 18 }

    aclExpertExtRuleIPPrecedence		OBJECT-TYPE
    	SYNTAX		Integer32 (-1..7)
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		""
    	DEFVAL	{ -1 }
    	::= { aclExpertExtRuleEntry 19 }

    aclExpertExtRuleDscp		OBJECT-TYPE
    	SYNTAX		Integer32 (-1..63)
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		"The IP Dscp value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The aclL3RuleTos should be specified as dscp."
    	DEFVAL	{ -1 }
    	::= { aclExpertExtRuleEntry 20 }

    aclExpertExtRuleToS OBJECT-TYPE
       SYNTAX      Integer32 (-1..15)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The ToS value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The cmAclL3RuleTos should be specified as dscp."
       DEFVAL  { -1 }
       ::= { aclExpertExtRuleEntry 21 }


    aclExpertExtRuleTcpAckBit		OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP ACK bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 22 }
    
    aclExpertExtRuleTcpRstBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP RST bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 23 }
    
    aclExpertExtRuleTcpUrgBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Urg bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 24 }
    	
    aclExpertExtRuleTcpPshBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Psh bit to be checked against the packet. The default 
    		value is 'dont_care'(3). which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 25 }	
    
    aclExpertExtRuleTcpSynBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    	                    establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Syn bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 26 }		
    
    aclExpertExtRuleTcpFinBit	 OBJECT-TYPE
    	SYNTAX	INTEGER	{
    						establish(1),
    						notEstablish(2),
    						dont_care(3)
    					}
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		" The TCP Fin bit to be checked against the packet. The default 
    		value is 'dont_care'(3), which means the rule don't care this 
    		condition."
    	DEFVAL	{ dont_care }
    	::= { aclExpertExtRuleEntry 27 }

    aclExpertExtRuleDstMacAddr OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination MAC address to be matched with the packet. By Default, the
           Destination Mac Address will be zero,which means the rule don't care this
           condition."
       ::= { aclExpertExtRuleEntry 28 }

    aclExpertExtRuleSrcMacAddr OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source MAC address to be matched with the packet. By Default, the Source
           Mac Address will be zero, which means the rule don't care this condition..
           address"
       ::= { aclExpertExtRuleEntry 29 }

    aclExpertExtRuleVlanId OBJECT-TYPE
       SYNTAX      Integer32 (-1..4094)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
          be treated as customer Vlan Id. By Default, the value will be '-1',
          which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclExpertExtRuleEntry 30 }

     aclExpertExtRule1pPriority OBJECT-TYPE
       SYNTAX      Integer32  (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "802.1p priority to be matched with the packet. By Default, the value
          will be '-1', which means the rule don't care this condition."
      DEFVAL  { -1 }
       ::= { aclExpertExtRuleEntry 31 }

    aclExpertExtRuleDstMacAddrMask OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Destination MAC address."
       ::= { aclExpertExtRuleEntry 32 }

    aclExpertExtRuleSrcMacAddrMask OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Source MAC address."
       ::= { aclExpertExtRuleEntry 33 }

    aclExpertExtRuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { allow }
       ::= { aclExpertExtRuleEntry 34 }

    aclExpertExtRuleTimeRange OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..32))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclExpertExtRuleEntry 35 }

	aclExpertExtRuleMatchCount OBJECT-TYPE
	   SYNTAX      Counter32
	   MAX-ACCESS  read-only 
	   STATUS      current 
	   DESCRIPTION 
	      "Number of times this filter is matched."

	   ::= { aclExpertExtRuleEntry 36 }
	   
    aclExpertExtRuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclExpertExtRuleEntry 37 }

    -- Port Binding Group
    aclPortBindGroup   OBJECT IDENTIFIER ::= { aclGroup 8 }
    
    aclPortGroupTable OBJECT-TYPE 
       SYNTAX      SEQUENCE OF AclPortGroupEntry
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "A table to control the port group binding information of L2 Group, 
            L3v4 Group, and L3v6 Group"
       ::= { aclPortBindGroup 1 }
    
    aclPortGroupEntry OBJECT-TYPE 
       SYNTAX      AclPortGroupEntry
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "An entry appears in this table for each interface in the system.
       
           Index to the table is the interface index of the port."
    
       INDEX { aclPortIndex }
       ::= { aclPortGroupTable 1 }
       
    AclPortGroupEntry ::= 
       SEQUENCE { 
          aclPortIndex 
             Integer32,
          aclPortDirection
             INTEGER,
          aclPortL2ProfileNo
             Integer32, 
          aclPortL3v4StdProfileNo
             Integer32,
          aclPortL3v4ExtProfileNo
             Integer32,
          aclPortL3v6StdProfileNo
             Integer32,
          aclPortL3v6ExtProfileNo
             Integer32,
          aclPortExpertProfileNo
             Integer32
      }
    
    aclPortIndex   OBJECT-TYPE 
       SYNTAX      Integer32
       MAX-ACCESS  read-only 
       STATUS      current 
       DESCRIPTION 
          "Interface index of the port for the configuration
          in this entry applies."
       
       ::= { aclPortGroupEntry 1 }

    aclPortDirection OBJECT-TYPE
       SYNTAX      INTEGER {
                      in (1)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches."
       DEFVAL  { in }
       ::= { aclPortGroupEntry 2 }

    aclPortL2ProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L2 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 3 }

    aclPortL3v4StdProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v4 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 4 }        

    aclPortL3v4ExtProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v4 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 5 }
        
    aclPortL3v6StdProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v6 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 6 }

    aclPortL3v6ExtProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v6 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 7 }

    aclPortExpertProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v6 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 8 }

    -- Vlan Binding Group
--    aclVlanBindGroup   OBJECT IDENTIFIER ::= { aclGroup 9 }
    
--    aclVlanGroupTable OBJECT-TYPE 
--       SYNTAX      SEQUENCE OF AclVlanGroupEntry
--       MAX-ACCESS  not-accessible 
--       STATUS      current 
--       DESCRIPTION 
--           "A table to control the vlan group binding information of L2 Group, 
--            L3v4 Group, and L3v6 Group"
--       ::= { aclVlanBindGroup 1 }
    
--    aclVlanGroupEntry OBJECT-TYPE 
--       SYNTAX      AclVlanGroupEntry
--       MAX-ACCESS  not-accessible 
--       STATUS      current 
--       DESCRIPTION 
--           "An entry appears in this table for each interface in the system.
--
--           Index to the table is the interface index of the vlan."
    
--      INDEX { aclVlanAccessMapName, aclVlanSubMapNo }
--       ::= { aclVlanGroupTable 1 }
       
--    AclVlanGroupEntry ::= 
--       SEQUENCE {
--          aclVlanAccessMapName
--             SnmpAdminString,
--          aclVlanSubMapNo
--             Integer32,
--          aclVlanAction
--           INTEGER,
--          aclVlanRedirectPort
--       	Integer32,
--          aclVlanMatchL2ProfileNo
--             Integer32, 
--         aclVlanMatchL3v4ProfileNo
--            Integer32,
--          aclVlanMatchL3v4ExtProfileNo
--            Integer32,
--       	aclVlanMatchL3v6ProfileNo
--        		Integer32,
--     		aclVlanMatchL3v6ExtProfileNo
--       		Integer32,
--    		aclVlanMatchExpertProfileNo
--       		Integer32,
--    		aclVlanRuleStatus
--      		RowStatus
-- }

--    aclVlanAccessMapName OBJECT-TYPE
--        SYNTAX      SnmpAdminString (SIZE (0..32))
--       MAX-ACCESS   read-only
--        STATUS      current
--        DESCRIPTION
--            "An administratively assigned string, which may be used
--            to identify the Profile."
--        ::= { aclVlanGroupEntry 1 }
  
--    aclVlanSubMapNo   OBJECT-TYPE 
--       SYNTAX      Integer32 (1..65535)
--       MAX-ACCESS  read-only 
--      STATUS      current 
--     DESCRIPTION 
--          "Interface index of the vlan for the configuration
--          in this entry applies."
       
--       ::= { aclVlanGroupEntry 2 }

--    aclVlanAction OBJECT-TYPE
--       SYNTAX      INTEGER {
--                      forward  (1),
--                      drop     (2),
--                      redirect (3)
--                   }
--       MAX-ACCESS  read-write
--       STATUS      current
--       DESCRIPTION
--          "Specifies the action to be taken on the packet if the filter
--          rule matches."
--       DEFVAL  { forward }
--       ::= { aclVlanGroupEntry 3 }

--    aclVlanRedirectPort   OBJECT-TYPE 
--       SYNTAX      Integer32
--       MAX-ACCESS  read-write 
--       STATUS      current 
--       DESCRIPTION 
--          "Interface index of the port for the configuration
--          in this entry applies."
--       ::= { aclVlanGroupEntry 4 }

--    aclVlanMatchL2ProfileNo OBJECT-TYPE
--       SYNTAX      Integer32 (0..50)
--       MAX-ACCESS  read-write 
--       STATUS      current
--       DESCRIPTION
--          "The L2 Profile ID which this vlan bind.
--          zero means not configured."
--       ::= { aclVlanGroupEntry 5 }

	--aclVlanMatchL3v4ProfileNo OBJECT-TYPE
       --SYNTAX      Integer32 (0..50)
       --MAX-ACCESS  read-write 
       --STATUS      current
       --DESCRIPTION
          --"The L3v4 Profile ID which this vlan bind.
          --zero means not configured."
       --::= { aclVlanGroupEntry 6 }
       
    --aclVlanMatchL3v4ExtProfileNo OBJECT-TYPE
       --SYNTAX      Integer32 (0..50)
       --MAX-ACCESS  read-write 
       --STATUS      current
       --DESCRIPTION
          --"The L3v4 Profile ID which this vlan bind.
          --zero means not configured."
       --::= { aclVlanGroupEntry 7 }      
        
    --aclVlanMatchL3v6ProfileNo OBJECT-TYPE
       --SYNTAX      Integer32 (0..50)
       --MAX-ACCESS  read-write 
       --STATUS      current
       --DESCRIPTION
          --"The L3v6 Profile ID which this vlan bind.
          --zero means not configured."
       --::= { aclVlanGroupEntry 8 }

    --aclVlanMatchL3v6ExtProfileNo OBJECT-TYPE
       --SYNTAX      Integer32 (0..50)
       --MAX-ACCESS  read-write 
       --STATUS      current
       --DESCRIPTION
         -- "The L3v6 Profile ID which this vlan bind.
         -- zero means not configured."
       --::= { aclVlanGroupEntry 9 }

    --aclVlanMatchExpertProfileNo OBJECT-TYPE
       --SYNTAX      Integer32 (0..50)
      -- MAX-ACCESS  read-write 
      -- STATUS      current
      -- DESCRIPTION
       --   "The L3v6 Profile ID which this vlan bind.
       --   zero means not configured."
      -- ::= { aclVlanGroupEntry 10 }

    --aclVlanRuleStatus OBJECT-TYPE
      -- SYNTAX      RowStatus
      -- MAX-ACCESS  read-write
       --STATUS      current
      -- DESCRIPTION
          --  "This object indicates the status of this entry. An entry is
          --  created in this table when this object is SET to 'createAndWait'.
          --  The entry in this table is used when the status of this object
          --  is SET 'active'. The entry in this table is not used when this
          --  object is SET 'notInService'. An entry created in this table is
          --  be deleted when this object is SET 'destroy'."
      -- ::= { aclVlanGroupEntry 11 }

    -- Vlan counter Group
    --aclVlanCounterGroup   OBJECT IDENTIFIER ::= { aclGroup 10 }
    
    --aclVlanCounterTable OBJECT-TYPE 
     --  SYNTAX      SEQUENCE OF AclVlanCounterEntry
     --  MAX-ACCESS  not-accessible 
     --  STATUS      current 
     --  DESCRIPTION 
       --    "A table to control the vlan group binding information of L2 Group, 
         --   L3v4 Group, and L3v6 Group"
       --::= { aclVlanCounterGroup 1 }
    
    --aclVlanCounterEntry OBJECT-TYPE 
       --SYNTAX      AclVlanCounterEntry
       --MAX-ACCESS  not-accessible 
       --STATUS      current 
       --DESCRIPTION 
          -- "An entry appears in this table for each interface in the system.
       
          -- Index to the table is the interface index of the vlan."
    
       --INDEX { aclVlanCounterAccessMapName }
       --::= { aclVlanCounterTable 1 }
       
    --AclVlanCounterEntry ::= 
      -- SEQUENCE {
          --aclVlanCounterAccessMapName
           --  SnmpAdminString,
        --  aclVlanCounterState
          --   INTEGER,
        --  aclVlanCounterMatchCount
          --   Integer32
     -- }

    --aclVlanCounterAccessMapName OBJECT-TYPE
        --SYNTAX      SnmpAdminString (SIZE (0..32))
       -- MAX-ACCESS   read-only
       -- STATUS      current
       -- DESCRIPTION
         --   "An administratively assigned string, which may be used
         --   to identify the Profile."
       -- ::= { aclVlanCounterEntry 1 }

  	--aclVlanCounterState OBJECT-TYPE
       --SYNTAX      INTEGER {
        --              enabled  (1),
        --              disabled (2)
         --          }
      -- MAX-ACCESS  read-write
      -- STATUS      current
      -- DESCRIPTION
      --    "Specifies the action to be taken on the packet if the filter
       --   rule matches."
      -- DEFVAL  { enabled }
      -- ::= { aclVlanCounterEntry 2 }
       
    --aclVlanCounterMatchCount   OBJECT-TYPE 
      -- SYNTAX      Integer32
      -- MAX-ACCESS  read-only 
      -- STATUS      current 
       --DESCRIPTION 
         -- "Interface index of the vlan for the configuration
        --  in this entry applies."
       
      -- ::= { aclVlanCounterEntry 3 }

    -- Vlan Filter Group
   -- aclVlanFilterGroup   OBJECT IDENTIFIER ::= { aclGroup 11 }
    
    --aclVlanFilterTable OBJECT-TYPE 
    --   SYNTAX      SEQUENCE OF AclVlanFilterEntry
      -- MAX-ACCESS  not-accessible 
      -- STATUS      current 
      -- DESCRIPTION 
       --    "A table to control the vlan group binding information of L2 Group, 
        --    L3v4 Group, and L3v6 Group"
      -- ::= { aclVlanFilterGroup 1 }
    
    --aclVlanFilterEntry OBJECT-TYPE 
      -- SYNTAX      AclVlanFilterEntry
      -- MAX-ACCESS  not-accessible 
      -- STATUS      current 
      -- DESCRIPTION 
       --    "An entry appears in this table for each interface in the system.
       
        --   Index to the table is the interface index of the vlan."
    
      -- INDEX { aclVlanFilterAccessMapName }
      -- ::= { aclVlanFilterTable 1 }
       
    --AclVlanFilterEntry ::= 
      -- SEQUENCE {
        --   aclVlanFilterAccessMapName
          --   SnmpAdminString,
		  -- aclVlanFilterVlanList 
			--	OCTET STRING
    --  }

    --aclVlanFilterAccessMapName OBJECT-TYPE
        --SYNTAX      SnmpAdminString (SIZE (0..32))
       -- MAX-ACCESS   read-only
      --  STATUS      current
      --  DESCRIPTION
       --     "An administratively assigned string, which may be used
        --    to identify the Profile."
       -- ::= { aclVlanFilterEntry 1 }
	
	--aclVlanFilterVlanList OBJECT-TYPE
		--SYNTAX     OCTET STRING (SIZE (0..512))
		--MAX-ACCESS read-write
		--STATUS     current
		--DESCRIPTION
		-- "A string of octets containing one bit per VLAN. The
		--  first octet corresponds to VLANs with VlanIndex values
		--  1 through 8; the second octet to VLANs 9 through
		--  16 etc.  The most significant bit of each octet
		--  corresponds to the lowest VlanIndex value in that octet.
		--  The set of vlans configured by management to map for this 
		--  Instance.  If the VlanId to Instance Mapping has to be known
		--  then any one of the VlanMapped object should be used.If a 
		--  vlan is already mapped to this Instance, it may not be mapped 
		--  again. This object is used only for SET operation.
		--  GET Operation returns null values."
		--::= { aclVlanFilterEntry 2 }

      snmpGlobalSettings        OBJECT IDENTIFIER ::= { mgtSnmpGroup 1 }
      --snmpLinkchangeTrap        OBJECT IDENTIFIER ::= { mgtSnmpGroup 2 }
      snmpView                  OBJECT IDENTIFIER ::= { mgtSnmpGroup 3 }
      snmpCommunity             OBJECT IDENTIFIER ::= { mgtSnmpGroup 4 }
      snmpGroup                 OBJECT IDENTIFIER ::= { mgtSnmpGroup 5 }
      snmpUser                  OBJECT IDENTIFIER ::= { mgtSnmpGroup 7 }
      snmpHost                  OBJECT IDENTIFIER ::= { mgtSnmpGroup 8 }

-- ----------------------------------------------------------------
-- SNMP Global Settings
-- ----------------------------------------------------------------
    snmpGlobalState OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling SNMP Community function."
		   DEFVAL  { enabled }
           ::= { snmpGlobalSettings 1 }

    snmpResBroadReq OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling SNMP Response Broadcast Request."
		   DEFVAL  { disabled }
           ::= { snmpGlobalSettings 2 }

    snmpUDPPort OBJECT-TYPE
            SYNTAX      Unsigned32 (0..65535)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "SNMP UDP Port (0-65535)."
            ::= { snmpGlobalSettings 3 }

    snmpTrapSourceInterface     OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Trap Source Interface."
      ::= { snmpGlobalSettings 4 }

-- ----------------------------------------------------------------
-- SNMP Trap Settings
-- ----------------------------------------------------------------
    snmpTrapGlobalState OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling SNMP Trap Global State."
		   DEFVAL  { enabled }
           ::= { snmpGlobalSettings 5 }

    snmpTrapSNMPAuthTrap OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling SNMP login fail
                event trap in the system."
           ::= { snmpGlobalSettings 6 }

    snmpTrapPortLinkUp OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling Port Link Up."
           ::= { snmpGlobalSettings 7 }

    snmpTrapPortLinkDown OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling Port Link Down."
           ::= { snmpGlobalSettings 8 }

    snmpTrapColdstart OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling devie Bootup event
                trap in the system."
           ::= { snmpGlobalSettings 9 }

    snmpTrapWarmstart OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling devie bootup event
                trap in the system."
           ::= { snmpGlobalSettings 10 }
-- ----------------------------------------------------------------
-- SNMP Linkchange Trap Settings
-- ----------------------------------------------------------------

--    snmpLinkchangeTrapTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SnmpLinkchangeTrapEntry
--        MAX-ACCESS not-accessible
--        STATUS     current
--        DESCRIPTION
--          "The table of snmp view tree."
--        ::= { snmpLinkchangeTrap 1 }

--	snmpLinkchangeTrapEntry OBJECT-TYPE
--        SYNTAX      SnmpLinkchangeTrapEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--          "The list of snmp view tree entry."
--        INDEX { snmpLinkchangeport }
--        ::= { snmpLinkchangeTrapTable 1 }

--    SnmpLinkchangeTrapEntry ::= SEQUENCE
--        {
--            snmpLinkchangeport          Integer32,
--            snmpLinkchangeTrapSending   INTEGER,
--            snmpLinkchangeTrapState     INTEGER
--        }

--    snmpLinkchangeport OBJECT-TYPE
--        SYNTAX      Integer32
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--            "SNMP Linkchange Trap Settings."
--        ::= { snmpLinkchangeTrapEntry 1 }

--    snmpLinkchangeTrapSending OBJECT-TYPE
--        SYNTAX      INTEGER {
--                        enabled(1),
--                        disabled(2)
--                    }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--            "SNMP Linkchange Trap Settings Trap Sending."
--        ::= { snmpLinkchangeTrapEntry 2 }

--    snmpLinkchangeTrapState OBJECT-TYPE
--           SYNTAX      INTEGER {
--                          enabled(1),
--                          disabled(2)
--                       }
--           MAX-ACCESS  read-write
--           STATUS      current
--           DESCRIPTION
--               "SNMP Linkchange Trap Settings Trap State."
--           ::= { snmpLinkchangeTrapEntry 3 }
-- ----------------------------------------------------------------
-- SNMP View Table Settings
-- ----------------------------------------------------------------
        snmpViewTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpViewEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp view tree."
           ::= { snmpView 1 }

		snmpViewEntry OBJECT-TYPE
           SYNTAX      SnmpViewEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp view tree entry."
           INDEX { snmpViewName ,snmpViewSubtree }
           ::= { snmpViewTable 1 }

        SnmpViewEntry ::= SEQUENCE
            {
                snmpViewName         SnmpAdminString,
                snmpViewSubtree      OBJECT IDENTIFIER,
                snmpViewType         INTEGER,
                snmpViewStatus       RowStatus
            }

        snmpViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The human readable name for a family of view subtrees.
                        "

            ::= { snmpViewEntry 1 }

        snmpViewSubtree OBJECT-TYPE
            SYNTAX       OBJECT IDENTIFIER
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The MIB subtree which when combined with the
                         corresponding instance of vacmViewFamilyMask
                         defines a family of view subtrees.
                        "
            ::= { snmpViewEntry 2 }

        snmpViewType OBJECT-TYPE
            SYNTAX       INTEGER  {
                            included(1),
                            excluded(2)
                        }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "Indicates whether the corresponding instances of
                         vacmViewFamilySubtree and vacmViewFamilyMask
                         define a family of view subtrees which is included in
                         or excluded from the MIB view.
                        "
            DEFVAL      { included }
            ::= { snmpViewEntry 3 }

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

                         The  RowStatus TC [RFC2579] requires that this
                         DESCRIPTION clause states under which circumstances
                         other objects in this row can be modified:

                         The value of this object has no effect on whether
                         other objects in this conceptual row can be modified.
                        "
            ::= { snmpViewEntry 4 }

-- ----------------------------------------------------------------
-- The sysSNMPCommunity group
-- ----------------------------------------------------------------

        snmpCommunityTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpCommunityEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp community."
           ::= { snmpCommunity 1 }

        snmpCommunityEntry OBJECT-TYPE
           SYNTAX      SnmpCommunityEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp community entry."
           INDEX { snmpCommName }
           ::= { snmpCommunityTable 1 }

        SnmpCommunityEntry ::= SEQUENCE
            {
                snmpCommName                SnmpAdminString,
                snmpCommKeyType             INTEGER,
                snmpCommViewName            SnmpAdminString,
                snmpCommAccessRight         INTEGER,
                snmpCommIPAccListName       SnmpAdminString,
                snmpCommStatus              RowStatus
            }

        snmpCommName OBJECT-TYPE
            SYNTAX      SnmpAdminString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The unique index value of a row in this table."
            ::= { snmpCommunityEntry 1 }

        snmpCommKeyType OBJECT-TYPE
            SYNTAX       INTEGER  {
                            plainText(1),
                            encrypted(2)
                        }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "Key Type."
            ::= { snmpCommunityEntry 2 }

        snmpCommViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "SNMP Community Settings View Name."
            ::= { snmpCommunityEntry 3 }

        snmpCommAccessRight OBJECT-TYPE
            SYNTAX       INTEGER  {
                            readOnly(1),
                            readWrite(2)
                        }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "SNMP Community Settings Key Type."

            ::= { snmpCommunityEntry 4 }

        snmpCommIPAccListName OBJECT-TYPE
            SYNTAX      SnmpAdminString
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "SNMP Community Settings IP Access-List Name."
            ::= { snmpCommunityEntry 5 }

        snmpCommStatus OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
                "The status of this conceptual row in the
                 snmpCommunityTable.

                 An entry in this table is not qualified for activation
                 until instances of all corresponding columns have been
                 initialized, either through default values, or through
                 Set operations.  The snmpCommunityName and
                 snmpCommunitySecurityName objects must be explicitly set.

                 There is no restriction on setting columns in this table
                 when the value of snmpCommunityStatus is active(1)."
            ::= { snmpCommunityEntry 6 }


-- ----------------------------------------------------------------
-- The sysSNMPGroup group
-- ----------------------------------------------------------------
        snmpGroupTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpGroupEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
               "The table of snmp group."
           ::= { snmpGroup 1 }

        snmpGroupEntry OBJECT-TYPE
           SYNTAX      SnmpGroupEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              " The list of snmp group entry."
           INDEX { snmpGroupName ,snmpGroupSecurityModel ,snmpGroupSecurityLevel}
           ::= { snmpGroupTable 1 }

        SnmpGroupEntry ::= SEQUENCE {
                snmpGroupName              SnmpAdminString,
                snmpGroupSecurityModel     INTEGER,
                snmpGroupSecurityLevel     INTEGER,
                snmpGroupReadViewName      SnmpAdminString,
                snmpGroupWriteViewName     SnmpAdminString,
                snmpGroupNotifyViewName    SnmpAdminString,
                snmpGroupIpListName        SnmpAdminString,
                snmpGroupStatus            RowStatus
            }

        snmpGroupName  OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The name of the group to which this entry (e.g., the
                         combination of securityModel and securityName)
                         belongs.

                         This groupName is used as index into the
                         vacmAccessTable to select an access control policy.
                         However, a value in this table does not imply that an
                         instance with the value exists in table vacmAccesTable.
                        "
            ::= { snmpGroupEntry 1 }

        snmpGroupSecurityModel OBJECT-TYPE
            SYNTAX    INTEGER {
                      v1            (1),
                      v2c	        (2),
                      v3            (3)
                   }
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "In order to gain the access rights allowed by this
                         conceptual row, this securityModel must be in use.
                        "
            ::= { snmpGroupEntry 2 }

        snmpGroupSecurityLevel OBJECT-TYPE
            SYNTAX    INTEGER {
                      noAuthNoPriv      (1),
                      authNoPriv	    (2),
					  authPriv	        (3)
                   }
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The minimum level of security required in order to
                         gain the access rights allowed by this conceptual
                         row.  A securityLevel of noAuthNoPriv is less than
                         authNoPriv which in turn is less than authPriv.

                         If multiple entries are equally indexed except for
                         this vacmAccessSecurityLevel index, then the entry
                         which has the highest value for
                         vacmAccessSecurityLevel is selected.
                        "
            ::= { snmpGroupEntry 3 }

        snmpGroupReadViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "The value of an instance of this object identifies
                         the MIB view of the SNMP context to which this
                         conceptual row authorizes read access.

                         The identified MIB view is that one for which the
                         vacmViewTreeFamilyViewName has the same value as the
                         instance of this object; if the value is the empty
                         string or if there is no active MIB view having this
                         value of vacmViewTreeFamilyViewName, then no access
                         is granted.
                        "
        --    DEFVAL      { ''H }   -- -- the empty string --
            ::= { snmpGroupEntry 4 }

        snmpGroupWriteViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "The value of an instance of this object identifies
                         the MIB view of the SNMP context to which this
                         conceptual row authorizes write access.

                         The identified MIB view is that one for which the
                         vacmViewTreeFamilyViewName has the same value as the
                         instance of this object; if the value is the empty
                         string or if there is no active MIB view having this
                         value of vacmViewTreeFamilyViewName, then no access
                         is granted.
                        "
        --    DEFVAL      { ''H }   -- -- the empty string --

            ::= { snmpGroupEntry 5 }

        snmpGroupNotifyViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "The value of an instance of this object identifies
                         the MIB view of the SNMP context to which this
                         conceptual row authorizes access for notifications.

                         The identified MIB view is that one for which the
                         vacmViewTreeFamilyViewName has the same value as the
                         instance of this object; if the value is the empty
                         string or if there is no active MIB view having this
                         value of vacmViewTreeFamilyViewName, then no access
                         is granted.
                        "
        --    DEFVAL      { ''H }   -- -- the empty string --
            ::= { snmpGroupEntry 6 }

        snmpGroupIpListName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "SNMP Group Settings IP Address-List Name.
                        "
        --    DEFVAL      { ''H }   -- -- the empty string --
            ::= { snmpGroupEntry 7 }

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

                         The  RowStatus TC [RFC2579] requires that this
                         DESCRIPTION clause states under which circumstances
                         other objects in this row can be modified:

                         The value of this object has no effect on whether
                         other objects in this conceptual row can be modified.
                        "
            ::= { snmpGroupEntry 8 }
-- ----------------------------------------------------------------
-- SNMP Engine ID Local Settings
-- ----------------------------------------------------------------
    snmpEngineID OBJECT-TYPE
        SYNTAX       SnmpEngineID
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                    "SNMP Engine ID Local Settings.
                    "
        ::= { mgtSnmpGroup 6 }
-- ----------------------------------------------------------------
-- SNMP User Table Settings
-- ----------------------------------------------------------------

      snmpUserTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpUserEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp user."
           ::= { snmpUser 1 }

      snmpUserEntry OBJECT-TYPE
           SYNTAX      SnmpUserEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp user entry."
           INDEX { snmpUserName , snmpUserVersion}
           ::= { snmpUserTable 1 }

      SnmpUserEntry ::= SEQUENCE {
                snmpUserName                        SnmpAdminString,
                snmpUserVersion                     INTEGER,
                snmpUserGroupName                   SnmpAdminString,
                snmpUserV3Encrypt                   INTEGER,
                snmpUserAuthProtocol                INTEGER,
                snmpUserAuthProtocolPassword        SnmpAdminString,
                snmpUserPrivProtocol                INTEGER,
                snmpUserPrivProtocolPassword        SnmpAdminString,
                snmpUserAuthProtoByKey              INTEGER,
                snmpUserAuthProtoKey      			SnmpAdminString,
                snmpUserPrivProtoByKey              INTEGER,
                snmpUserPrivProtoKey      			SnmpAdminString,
                snmpUserIpListName                  SnmpAdminString,
                snmpUserStatus                      RowStatus
            }

    snmpUserName       OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                "A human readable string representing the name of
                the user.

                This is the (User-based Security) Model dependent
                security ID."
    ::= { snmpUserEntry 1 }

    snmpUserVersion  OBJECT-TYPE
        SYNTAX    INTEGER {
                    v1      (1),
                    v2c	    (2),
                    v3      (3)
                }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                "A human readable string representing the name of
                the user.

                This is the (User-based Security) Model dependent
                security ID."
        DEFVAL  { v1 }
    ::= { snmpUserEntry 2 }

    snmpUserGroupName      OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "The name of the group to which this entry (e.g., the
                combination of securityModel and securityName)
                belongs.

                This groupName is used as index into the
                vacmAccessTable to select an access control policy.
                However, a value in this table does not imply that an
                instance with the value exists in table vacmAccesTable.
                "
    ::= { snmpUserEntry 3 }

    snmpUserV3Encrypt  OBJECT-TYPE
        SYNTAX    INTEGER {
                    none    (0),
                    password (1),
                    key     (2)
                }
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
                "A human readable string representing the name of
                the user.

                This is the (User-based Security) Model dependent
                security ID."
        DEFVAL  { none }
    ::= { snmpUserEntry 4 }

    snmpUserAuthProtocol OBJECT-TYPE
        SYNTAX    INTEGER {
        			none (1),
                    md5 (2),
                    sha (3)
                }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be authenticated, and if so,
                 the type of authentication protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 UserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the NoAuthProtocol.

                 If a set operation tries to change the value of an


                 existing instance of this object to any value other
                 than NoAuthProtocol, then an 'inconsistentValue'
                 error must be returned.

                 If a set operation tries to set the value to the
                 NoAuthProtocol while the UserPrivProtocol value
                 in the same row is not equal to NoPrivProtocol,
                 then an 'inconsistentValue' error must be returned.
                 That means that an SNMP command generator application
                 must first ensure that the UserPrivProtocol is set
                 to the NoPrivProtocol value before it can set
                 the UserAuthProtocol value to NoAuthProtocol.
                "
			::= { snmpUserEntry 5 }

        snmpUserAuthProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  "Password of  snmp user auth protocol."
            ::= { snmpUserEntry 6 }


        snmpUserPrivProtocol OBJECT-TYPE
            SYNTAX    INTEGER {
                      none          (1),
                      des	        (2)
                   }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be protected from disclosure,
                 and if so, the type of privacy protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 usmUserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the NoPrivProtocol.

                 If a set operation tries to change the value of an
                 existing instance of this object to any value other
                 than NoPrivProtocol, then an 'inconsistentValue'
                 error must be returned.

                 Note that if any privacy protocol is used, then you
                 must also use an authentication protocol. In other
                 words, if usmUserPrivProtocol is set to anything else
                 than NoPrivProtocol, then the corresponding instance
                 of usmUserAuthProtocol cannot have a value of

                 usmNoAuthProtocol. If it does, then an
                 'inconsistentValue' error must be returned.
                "
			DEFVAL  { none }
        ::= { snmpUserEntry 7 }

    snmpUserPrivProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  "Password of  snmp user priv protocol."
        ::= { snmpUserEntry 8 }

    snmpUserAuthProtoByKey OBJECT-TYPE
        SYNTAX    INTEGER {
        			none (1),
                    md5 (2),
                    sha (3)
                }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "Auth-Protocol by Key."
		
        ::= { snmpUserEntry 9 }

    snmpUserAuthProtoKey OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  "Key of snmp user auth protocol by Key."
        ::= { snmpUserEntry 10 }

    snmpUserPrivProtoByKey OBJECT-TYPE
        SYNTAX    INTEGER {
                    none (1),
                    des	 (2)
                }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "Priv-Protocol by Key."
			
        ::= { snmpUserEntry 11 }

    snmpUserPrivProtoKey OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "Key of snmp user Priv protocol by Key."
        ::= { snmpUserEntry 12 }


    snmpUserIpListName OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(0..32))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "SNMP User Settings IP Address-List Name."
        ::= { snmpUserEntry 13 }

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

                 Until instances of all corresponding columns are
                 appropriately configured, the value of the
                 corresponding instance of the usmUserStatus column
                 is 'notReady'.

                 In particular, a newly created row for a user who
                 employs authentication, cannot be made active until the
                 corresponding usmUserCloneFrom and usmUserAuthKeyChange
                 have been set.

                 Further, a newly created row for a user who also
                 employs privacy, cannot be made active until the
                 usmUserPrivKeyChange has been set.

                 The RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified,
                 except for usmUserOwnAuthKeyChange and
                 usmUserOwnPrivKeyChange. For these 2 objects, the
                 value of usmUserStatus MUST be active.
                "
    ::= { snmpUserEntry 14 }

-- ----------------------------------------------------------------
-- SNMP Host Table Settings
-- ----------------------------------------------------------------
        snmpHostTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpHostEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp host."
           ::= { snmpHost 1 }

        snmpHostEntry OBJECT-TYPE
           SYNTAX      SnmpHostEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp host entry."
           INDEX { snmpHostAddress, snmpHostIPType}
           ::= { snmpHostTable 1 }

        SnmpHostEntry ::= SEQUENCE
            {
                snmpHostAddress             InetAddress,
                snmpHostIPType              INTEGER,
                snmpHostVersion             INTEGER,
                snmpHostUDPPort             Integer32,
                snmpHostCommunityName       SnmpAdminString,
                snmpHostStatus              RowStatus
            }


    snmpHostAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object contains a transport address.  The format of
            this address depends on the value of the
            snmpTargetAddrTDomain object. And this object is unique
            identifier associated with this snmpNotifyEntry."
    ::= { snmpHostEntry 1 }
    
    
    
    snmpHostIPType OBJECT-TYPE
        SYNTAX    INTEGER {
                        iPv4    (1),
                        iPv6    (2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Type of IP interface."
    ::= { snmpHostEntry 2 }



    snmpHostVersion OBJECT-TYPE
        SYNTAX    INTEGER {
                        v1      (1),
                        v2c	    (2),
                        noAuthNoPriv      (3),
                  		authNoPriv	      (4),
				  		authPriv	      (5)

                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Level of Security to be used when generating
            SNMP messages using this entry."
    ::= { snmpHostEntry 3 }


    snmpHostUDPPort OBJECT-TYPE
            SYNTAX      Integer32 (0..65535)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "SNMP UDP Port (0-65535)."
    ::= { snmpHostEntry 4 }

    snmpHostCommunityName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(1..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "The locally arbitrary."
    ::= { snmpHostEntry 5 }

    snmpHostStatus OBJECT-TYPE
        SYNTAX       RowStatus

        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "The status of this conceptual row in the
                snmpHostTable."
    ::= { snmpHostEntry 6 }


          
		-- *****************************************************************
		--
		--  Enterprise Trap group 
		--
		-- *****************************************************************
		        
END
