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

-- --------------------------- Revision ----------------------------------------
-- Date        Version   Author         Chanage Description
--    
-- 2014/09/04   1.01.B013 D-Link         1. Add SSH .
--
-- 2014/07/22   1.01.B011 D-Link         1. Add mib dhcpRetryCount
--                                       2. Add CPU ACL.
--                                       3. Add sysDot1qPVIDAutoAssign 
--                                       4. Add qinQMissDrop, qinQAddInnerTag, qinQVlanTranslationTable   
--                                       5. Add Trust Host.
--                                       6. Add ACL, CPU ACL.
--   
-- 2014/05/26   1.00.010  D-Link         1. add ipifDuplicateIPDetected
--  
-- 2014/05/21   1.00.009  D-Link         1. change limitIPMulticastPortMaxGrp range to (1..32)
--  
-- 2014/05/16   1.00.008  D-Link         1. change index in static mib to read-only
--  
-- 2014/05/12   1.00.007  D-Link         1. fix some bugs
--  
-- 2014/05/07   1.00.006  D-Link         1. add sysTftpTrapGroup
--
-- 2014/04/25   1.00.005  D-Link         1. delete unknown(0) value in sysTraceRouteCtlAddressType  
--
-- 2014/04/21   1.00.004  D-Link         1. add arpRowStatus .
-- 									    2. add sysCliPromptStr 
--
-- 2014/03/24   1.00.003  D-Link         1. Change snmp oid from "1.3.6.1.4.1.171.10.135.1" to "1.3.6.1.4.1.171.10.134.2".
--                                      2. Add dhcpRelayInterface
-- 2014/02/28   1.00.002  D-Link         1. Move "sysStaticMacAutoLearn" as "portCtrlDynamicMacAutoLearn" of PortCtrlEntry.
-- 
-- 2014/01/27   1.00.001  D-Link         1. Add "sysTftpSyslogTargetGroup" mib group
--                                      2. Add portUtilizTable 
--                                      3. Changed igsReportToAllPort ->igsReportForwardRouterOnly 
-- 
-- 2014/01/15   1.00.000  D-Link         1.Initial version.
-- 
-- -------------------------- Revision End -------------------------------------

--------------------------------------------------------------------------------
-- mib version: dgs-1100-10ME_A1-V1.01.B013


        DGS-1100-10ME_A1 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       FROM SNMPv2-TC
   VlanId                                         FROM Q-BRIDGE-MIB   
   AddressFamilyNumbers                           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB;

        

    d-link						OBJECT IDENTIFIER ::= { enterprises 171 }  
    dlink-products				OBJECT IDENTIFIER ::= { d-link 10 }
    dlink-DGS1100SeriesProd	    OBJECT IDENTIFIER ::= { dlink-products 134}
    dgs-1100-10ME				OBJECT IDENTIFIER ::= { dlink-DGS1100SeriesProd 2 }  
    dgs-1100-10ME_A1			OBJECT IDENTIFIER ::= { dgs-1100-10ME 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


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))	
-- ----------------------------------------------------------------- -- 
-- groups in the MIB  
-- ----------------------------------------------------------------- -- 

	companySystem				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 1 }
	sysPort				OBJECT IDENTIFIER ::= { companySystem 100 }
	companyIpifGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 2 }
	companyTftpGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 3 }
	companyUserAccount				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 4 }
	companySNMP				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 5 }
	companyDot1qVlanGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 7 }
	companyStaticMac				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 9 }
	companyIgsGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 10 }
	companyQoSGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 12 }
	companyTrafficMgmt				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 13 }
	companySecurity				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 14 }
	sysPortSecurity				OBJECT IDENTIFIER ::= { companySecurity 2 }
	sysTrafficSegmentation				OBJECT IDENTIFIER ::= { companySecurity 9 }
	sysSecurityAAC				OBJECT IDENTIFIER ::= { companySecurity 11 }
	sysTrustedHost				OBJECT IDENTIFIER ::= { companySecurity 13 }
	companyArp				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 15 }
	companySyslog				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 16 }
	companyLBD				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 17 }
	companyMirror				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 18 }
	companyStaticMcast				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 19 }
	companySNTPSetting				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 20 }
	companyRMON				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 22 }
	companyPnacGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 23 }
	sysPnacRadiusServer				OBJECT IDENTIFIER ::= { companyPnacGroup 4 }
	companyGuestVLAN				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 24 }
	companyMacNotify				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 25 }
	companyISMVLAN				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 27 }
	companyDHCPRelay				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 28 }
	companyDHCPLocalRelay				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 29 }
	companyGreenSetting				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 31 }
	companyLLDP				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 32 }
	companyCableDiagnostic				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 35 }
	companyQinQ				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 37 }
	companyTimeRangeMgmt				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 38 }
	companyLimitIP				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 45 }
	companyMulticastFilter				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 49 }
	companyIPv6Neighbor				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 50 }
	companyEoam				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 51 }
	companyDuld				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 52 }
	companyEee				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 60 }
	companyDHCPv6Relay				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 86 }
	companyMldsGroup				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 88 }
	companyTraceRoute				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 90 }
	companyPPPoE				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 98 }
	companyStatistics				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 99 }
	companyPing				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 100 }
	companyDDP				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 101 }
	companySession				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 102 }
	companyACL				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 103 }
	companyCPUACL				OBJECT IDENTIFIER ::= { dgs-1100-10ME_A1 104 }
      
-- ---------------------------------------------------------------- --

      -- ----------------------------------------------------------------
      -- The multiIFSupportV4V6Info group
      -- ----------------------------------------------------------------

      sysIpifSupportV4V6Info         OBJECT IDENTIFIER ::= { companyIpifGroup 7 }

       ipv4AddrCfgMode OBJECT-TYPE 
       SYNTAX      INTEGER {
                    manual(1),
                    dynamic(2)
                   }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "Specifies the means by which the default interface in the device 

      gets the IP address.

      If 'manual' mode is selected, the default interface takes the 
      default IPv4 address configured in the system.

      If 'dynamic' mode is selected, the default interface gets the IP address
      through dynamic IP address configuration protocols such as RARP client, 
      BootP client, DHCP Client, etc.
      
      If the system fails to get the IP address dynamically through all the
      above protocols, the default interface uses the default IPv4 address 
      configured in the system."  
       DEFVAL  { manual } 
       ::= { sysIpifSupportV4V6Info 1 }

    ipv4Address  OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Default IP Address of the system.
    
           This IP address, if modified, will take effect only when the 
           configuration is stored & restored."
       ::= { sysIpifSupportV4V6Info 2 }
    
    ipv4SubnetMask  OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "IP subnet mask for the default IP address.
    
           This subnet mask, if modified, will take effect only when the
           configuration is stored & restored."
       ::= { sysIpifSupportV4V6Info 3 }

    ipv4DefaultGateway  OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Gateway"
       ::= { sysIpifSupportV4V6Info 4 }

    dhcpOption12Status  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Status of DHCP Option12"
       ::= { sysIpifSupportV4V6Info 5 }
       
    dhcpOption12HostName  OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Host name in DHCP option 12"
       ::= { sysIpifSupportV4V6Info 6 }

    ipv6GlobalStatus     OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enabled(1),    
                                  disabled(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The state of IPv6 function."
            ::= { sysIpifSupportV4V6Info 9 }

      ipv6DHCPStatus       OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enabled(1),    
                                  disabled(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The state of DHCPv6 that you want this interface to be in."
            ::= { sysIpifSupportV4V6Info 10 }

      ipv6AutolinkloStatus OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enabled(1),    
                                  disabled(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "This object is to set the status of ipv6 link local address auto-generated.
 	             if set enabled, system will auto-generate a link-local ipv6 address by switch 
 	             base mac addree. if set disabled, link-local address will be configured by mannual."
            ::= { sysIpifSupportV4V6Info 11 }

      ipv6NSRetransmitTime OBJECT-TYPE
            SYNTAX              Integer32 (1..3600)
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The NS's retransmit time that you want this interface to be in"
			DEFVAL {1}
            ::= { sysIpifSupportV4V6Info 12 }

     -- ipv6DefaultGateway OBJECT-TYPE
     --       SYNTAX              Ipv6Address
     --       MAX-ACCESS          read-write
     --       STATUS              current
     --       DESCRIPTION
     --           "The ipv6 default gateway that you want this interface to be in. 
     --           To delete gateway, please insert address
     --           '0000:0000:0000:0000:0000:0000:0000:0000'."
     --       ::= { sysIpifSupportV4V6Info 13 }
	ipv6DefaultRouteTable   OBJECT-TYPE
			SYNTAX   SEQUENCE OF Ipv6DefaultRouteEntry
			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."
			::= { sysIpifSupportV4V6Info 13 }


	ipv6DefaultRouteEntry   OBJECT-TYPE
			SYNTAX   Ipv6DefaultRouteEntry
			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  { 
				   ipv6DefaultRouteProtocol,
				   ipv6DefaultRouteNextHop
				 }
		  ::= { ipv6DefaultRouteTable 1 }


	 Ipv6DefaultRouteEntry  ::=
		  SEQUENCE {
			 ipv6DefaultRouteProtocol
				 INTEGER,
			 ipv6DefaultRouteNextHop
				 Ipv6Address,
			 ipv6DefaultRouteIfIndex
				 InterfaceIndex,
			 ipv6DefaultRouteMetric
				 Unsigned32,
			 ipv6DefaultRouteAdminStatus
				 RowStatus
		  }


          ipv6DefaultRouteProtocol OBJECT-TYPE
              SYNTAX     INTEGER {
                            static(3),      -- static route

                            dynamic(4)         -- 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. If it has value local(2), it indicates this
                 route was derived from a configured address prefix."
              ::= { ipv6DefaultRouteEntry 3 }


          ipv6DefaultRouteNextHop  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."
              ::= { ipv6DefaultRouteEntry 4 }


          ipv6DefaultRouteIfIndex  OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS   read-only
              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."
              ::= { ipv6DefaultRouteEntry 5 }


          ipv6DefaultRouteMetric  OBJECT-TYPE
              SYNTAX   Unsigned32 (1..4294967295)
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                 "The routing metric associated with this route."
              DEFVAL { 1 }
              ::= { ipv6DefaultRouteEntry 6 }
          
          ipv6DefaultRouteAdminStatus  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 ipv6DefaultRouteIfIndex
                 needs to be set, before the route entry is made active. 
                 CreateAndGo is not supported."
              ::= { ipv6DefaultRouteEntry 10 }

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

      ipv6AddressTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF Ipv6AddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of interface entries."
         ::= { sysIpifSupportV4V6Info 14}

      ipv6AddressEntry          OBJECT-TYPE
         SYNTAX            Ipv6AddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { ipv6AddressMainIndex, ipv6AddressIpAddr, ipv6AddressIpPrefix }
         ::= { ipv6AddressTable 1 }

      Ipv6AddressEntry ::=
         SEQUENCE {
                ipv6AddressMainIndex              InterfaceIndex,
                ipv6AddressIpAddr                 Ipv6Address,     -- IPv6 Address.
                ipv6AddressIpPrefix               INTEGER,         -- IPv6 Address Prefix.
                ipv6AddressIpType                 INTEGER,         -- IP type (Link-local, Global, anycast).
                ipv6AddressRowStatus              RowStatus        -- IPv6 Address entries row status.
            }

      ipv6AddressMainIndex    OBJECT-TYPE
         SYNTAX                 InterfaceIndex
         MAX-ACCESS             read-only 
         STATUS                 current
         DESCRIPTION
            "The index of this IPv6 entry." 
         ::= { ipv6AddressEntry 1 }

      ipv6AddressIpAddr       OBJECT-TYPE
         SYNTAX                 Ipv6Address
         MAX-ACCESS             read-only
         STATUS                 current
         DESCRIPTION
            "The ip address of this IPv6 entry."
         --DEFVAL { '00000000'H } 
         ::= { ipv6AddressEntry 2 }
              
      ipv6AddressIpPrefix     OBJECT-TYPE
            SYNTAX              INTEGER
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
            "The ip prefix of this IPv6 entry."
        ::= { ipv6AddressEntry 3 } 

      ipv6AddressIpType       OBJECT-TYPE
         SYNTAX                 INTEGER {
                                    unicast(1), 
                                    --anycast(2),
                                    linklocal(3)
                                }
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
            "The ip type of this IPv6 entry."
        ::= { ipv6AddressEntry 4 }
        
      ipv6AddressRowStatus    OBJECT-TYPE
         SYNTAX                 RowStatus
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "The status of an entry.  Only a subset
             of the rowstatus variables (active, createAndWait, destroy) are available." 
         ::= { ipv6AddressEntry 5 }     


      dhcpRetryCount  OBJECT-TYPE
         SYNTAX      Integer32 (5..120)
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION 
            "Retry count of dhcp."
         ::= { sysIpifSupportV4V6Info 15 }

	 sysIpifTraps 	 OBJECT IDENTIFIER ::= { companyIpifGroup 8 }
	
	  ipifDuplicateIPDetected NOTIFICATION-TYPE
		STATUS             current
		DESCRIPTION
			"This is a trap that will send to snmp manager,and it will be generated when device receive a gratuitous arp packet and ip address
			 is the same as the one of device."
		::= {sysIpifTraps 1 }    

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

        sysIPv6neighborTable OBJECT-TYPE
            SYNTAX SEQUENCE OF IPV6NeighborEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Neighbor Cache Table."
            ::= { companyIPv6Neighbor  1 }

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

        IPV6NeighborEntry ::= SEQUENCE {
            ipv6NeighborIndex         INTEGER,
            ipv6NeighborAddr        Ipv6Address,
            ipv6NeighborMacAddr         MacAddress,
 --           ipv6NeighborType            INTEGER,
            ipv6NeighborCacheState      INTEGER,
 --           ipv6NeighborActiveStatus    INTEGER,
            ipv6NeighborRowStatus       RowStatus
        }

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

        ipv6NeighborAddr  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."
           ::= { ipv6NeighborEntry 2 }

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

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

         ipv6NeighborCacheState 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."
           ::= { ipv6NeighborEntry 5 }

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

         ipv6NeighborRowStatus 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."
            ::= { ipv6NeighborEntry 7 }

		sysDuld                OBJECT IDENTIFIER ::= { companyDuld 1 }

    -- ------------------------------------------------------------------
    -- The DULD System Group
    -- ------------------------------------------------------------------

    duldTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF DuldEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains DULD mode information about each port."
        ::= { sysDuld 1 }

    duldEntry OBJECT-TYPE
        SYNTAX     DuldEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of DULD mode information for each port."
        INDEX { duldIfIndex }
        ::= { duldTable 1 }

    DuldEntry ::= 
            SEQUENCE {
              duldIfIndex                    InterfaceIndex,
              duldState                      INTEGER,
              duldOperState                  INTEGER,
              duldMode                       INTEGER,
              duldLinkStatus                 INTEGER,
              duldDiscoveryTime              Unsigned32
              }

    duldIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The index of the port. "
        ::= { duldEntry 1 }

    duldState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the DULD admin state enabled or disabled."
		DEFVAL  { disabled }
        ::= { duldEntry 2 }

    duldOperState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Gets the DULD Oper state enabled or disabled."
        ::= { duldEntry 3 }

    duldMode OBJECT-TYPE
       SYNTAX       INTEGER { shutdown(1), normal(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the DULD mode as shutdown or normal."
		DEFVAL  { normal } 
        ::= { duldEntry 4 }

    duldLinkStatus OBJECT-TYPE
       SYNTAX       INTEGER { unknown(1), bidirectional(2), txFault(3), rxFault(4), linkDown(5) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Gets the DULD link status."
        ::= { duldEntry 5 }

    duldDiscoveryTime OBJECT-TYPE
       SYNTAX       Unsigned32 (5..65535) 
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the DULD discovery time."
        ::= { duldEntry 6 }


    -- ---------------------------------------------------------------------
    -- Green Function
    -- ---------------------------------------------------------------------

      sysGreenLEDShutoff            OBJECT IDENTIFIER ::= { companyGreenSetting 1 }
      sysGreenPortShutoff           OBJECT IDENTIFIER ::= { companyGreenSetting 2 }
      sysGreenSystemHibernation     OBJECT IDENTIFIER ::= { companyGreenSetting 4 }

    -- ---------------------------------------------------------------------
    -- Green LED
    -- ---------------------------------------------------------------------

    greenLEDShutoffPortList    OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Provides control to LED port."
    ::= { sysGreenLEDShutoff 1 }

	greenLEDShutoffState       OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green LED function.
            Default is disabled."

    DEFVAL  { disabled }
    ::= { sysGreenLEDShutoff 2 }
    
    greenLEDShutoffTimeProfile1 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')."
    ::= { sysGreenLEDShutoff 3}

    greenLEDShutoffTimeProfile2 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')."
    ::= { sysGreenLEDShutoff 4}
    -- ---------------------------------------------------------------------
    -- Green Port
    -- ---------------------------------------------------------------------

    greenPortShutoffPortList    OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Provides control to LED port."
    ::= { sysGreenPortShutoff 1 }

	greenPortShutoffState       OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green LED function.
            Default is disabled."

    DEFVAL  { disabled }
    ::= { sysGreenPortShutoff 2 }
    
    greenPortShutoffTimeProfile1 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')."
    ::= { sysGreenPortShutoff 3}
    
    greenPortShutoffTimeProfile2 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')."
    ::= { sysGreenPortShutoff 4}

    -- ---------------------------------------------------------------------
    -- Green System Hibernation mode
    -- ---------------------------------------------------------------------

   greenSystemHibernationState       OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green LED function.
            Default is disabled."

    DEFVAL  { disabled }
    ::= { sysGreenSystemHibernation 1 }
    
    greenSystemHibernationTimeProfile1 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')."
    ::= { sysGreenSystemHibernation 2}

    greenSystemHibernationTimeProfile2 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')."
    ::= { sysGreenSystemHibernation 3}

    -- ------------------------------------------------------------------
    -- Cable Length Detection
    -- ------------------------------------------------------------------
	    
	greenCableLenDetectionState       OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Power Saving Cable Length Detection."
    ::= { companyGreenSetting 5 }

	  sysDevInfo              OBJECT IDENTIFIER ::= { companySystem 1 }
	  --sysPort              	OBJECT IDENTIFIER ::= { companySystem 13 }
    -- ------------------------------------------------------------------
    -- device info
    -- ------------------------------------------------------------------

    sysSwitchName OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(0..32))
       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  +  _  =  ."
       ::= { sysDevInfo 1 }

    sysHardwareVersion OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..15))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Version number of the Hardware."
          DEFVAL { "Version of the hardware" }
       ::= { sysDevInfo 2 }

    sysFirmwareVersion OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..15))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Version number of the Firmware."
          DEFVAL { "" }
       ::= { sysDevInfo 3 }
       
    sysDeviceType OBJECT-TYPE
		SYNTAX      DisplayString (SIZE (0..255))
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"A textual description of the entity.  This value should
				include the full name and version identification of
				the system's hardware type, software operating-system,
				and networking software."
		::= { sysDevInfo 4 }     
		
  	sysBootVerion OBJECT-TYPE 
		SYNTAX      DisplayString (SIZE(1..15))
		MAX-ACCESS  read-only 
		STATUS      current 
		DESCRIPTION 
				"Version number of the BootLoader."
	   ::= { sysDevInfo 5 }

    sysLoginTimeout  OBJECT-TYPE
       SYNTAX      Integer32 (3..30)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This time is used to count the time and
     logout web or telnet interface automatically."
       ::= { companySystem 2 }

    sysLocationName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..32))
        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."
       ::= { companySystem 3 }
	   
	sysContact OBJECT-TYPE
		SYNTAX      DisplayString (SIZE (0..32))
		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."
		::= { companySystem 4 }
	
    sysSafeGuardEnable  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to set Safeguard Enable\Disable."
          DEFVAL { enabled }
       ::= { companySystem 8 }

    sysRestart OBJECT-TYPE
	   SYNTAX      INTEGER {
					noreboot(1),
					reboot(2),
					reset(3),
					resetwithoutip(4),
					resetwithoutipvlan(5)
				   }
	   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 } 
       ::= { companySystem 9 }

    sysSave OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to save Configuration."
       DEFVAL  { false }
       ::= { companySystem 10 }


    sysJumboFrameEnable  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Gigabit Web Smart Switches support jumbo frames (frames larger than
           the Ethernet frame size of 1522 bytes) of up to 10,000 bytes (tagged).
           Default jumbo frame is disabled."
          DEFVAL { disabled }
       ::= { companySystem 12 }
	 
	  
        sysDhcpAutoConfiguration  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "This object indicates auto config is enabled or disabled."
            DEFVAL { disabled }
            ::= { companySystem 16 }

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

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

           sysARPAgingTime  OBJECT-TYPE
		   SYNTAX      Integer32 (0..65535)
		   MAX-ACCESS  read-write
		   STATUS      current
		   DESCRIPTION
		       "This object is for ARP aging time."
		   ::= { companySystem 19 }


           sysMACAgingTime  OBJECT-TYPE
		   SYNTAX      Integer32 (10..600)
		   MAX-ACCESS  read-write
		   STATUS      current
		   DESCRIPTION
		       "This object is for MAC aging time."
		   ::= { companySystem 20 }
		   
            sysTelnetsettingManagementOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable management Telnetsetting mechanism."
            ::= { companySystem 23 }

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

        sysAutoRefreshConfiguration  OBJECT-TYPE
            SYNTAX      INTEGER {
                    refreshimenever(0),
                    refreshtime10secs(1),
                    refreshtime30secs(2),
                    refreshtime1min(3),
                    refreshtime5mins(4)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set the WEB panel auto refresh timer."
            ::= { companySystem 25 }      
            
		sysMacAddr OBJECT-TYPE 
		   SYNTAX      MacAddress
		   MAX-ACCESS  read-only 
		   STATUS      current 
		   DESCRIPTION 
		      "Ethernet address (base address) of the Switch.
		       This base Mac Address, if modified, will take effect only when the
		       Switch is restarted."
		      
		   DEFVAL  { '000102030405'h }
		   ::= { companySystem 26 }

 		sysSwitchTime OBJECT-TYPE
    		SYNTAX       DisplayString (SIZE(40))
		    MAX-ACCESS   read-write
		    STATUS       current
		    DESCRIPTION
		
		    " The date is configured in the switch in the format, 
		    Hours:Minutes:Seconds Day Month Year
		    e.g 19:10:31 11 08 2005
		
		    01-12  Month - beginning from January to December
		    The railway time  00 to 24 hours can be configured and 
		    displayed. 
		    The Display of the date is in the format ,
		    WeekDay  Month  Day  Hours:Minutes:Seconds Year
		    e.g 04 09 21 18:11:30 2005 
		
		    01-07  WeekDay - beginning from Sunday to Saturday
		    01-12  Month - beginning from January to December "
		
		    ::= { companySystem 27 }

		sysDhcpTimeout OBJECT-TYPE 
		   SYNTAX      Integer32(1..65535)
		   MAX-ACCESS  read-write 
		   STATUS      current 
		   DESCRIPTION 
		      "This is DHCP auto configuration timeout, the maxium time in seconds to wait before terminate."
			DEFVAL { 50 }
		   ::= { companySystem 28 }
        sysSerialNumber OBJECT-TYPE
			SYNTAX     DisplayString (SIZE (0..32))
			MAX-ACCESS read-only
			STATUS     current
			DESCRIPTION
	   			"The serial number assigned to this nvram sub-unit" 
	   		::= { companySystem 29 }

		
		sysCPU	OBJECT IDENTIFIER ::= { companySystem 30 }
		
		cpuLast5SecUsage   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"
		::= {  sysCPU 1 }

		cpuLast1MinUsage   OBJECT-TYPE
		SYNTAX          Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the average CPU usage in last 1 minute of the switch in percentage"
		::= {  sysCPU 2 }

		cpuLast5MinUsage   OBJECT-TYPE
		SYNTAX          Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the average CPU usage in last 5 minute of the switch in percentage"
		::= {  sysCPU 3 }
		
		sysRAM	OBJECT IDENTIFIER ::= { companySystem 31 }
		
		ramLast5SecUsage   OBJECT-TYPE
		SYNTAX          Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the average RAM usage in last 5 second of the switch in percentage"
		::= {  sysRAM 1 }

		ramLast1MinUsage   OBJECT-TYPE
		SYNTAX          Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the average RAM usage in last 1 minute of the switch in percentage"
		::= {  sysRAM 2 }

		ramLast5MinUsage   OBJECT-TYPE
		SYNTAX          Integer32
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the average RAM usage in last 5 minute of the switch in percentage"
		::= {  sysRAM 3 }

		sysCliPromptStr OBJECT-TYPE
		SYNTAX      DisplayString (SIZE(0..32))
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
		"Cli Prompt string, some special value definition as below:
		1. default                 - represent using the default value;
		2. username                - using the current login username;"
       ::= { companySystem 32 }  
       
	   sysSshState OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable management SSH ."
            ::= { companySystem 33 }

        sysSshPortNumber OBJECT-TYPE
            SYNTAX  Integer32 (1..65535)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                "The value is for setting SSH's tcp Port." 
            DEFVAL  { 22 }
            ::= { companySystem 34 }	
            
		-- ------------------------------------------------------------------
     -- Port Control Table
     -- ------------------------------------------------------------------
        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."
           ::= { sysPort 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 { portCtrlIndex , portCtrlMediumType}
           ::= { portCtrlTable 1 }

        PortCtrlEntry ::=
           SEQUENCE {
              portCtrlIndex
                 Integer32,
              portCtrlMediumType
                 INTEGER,
              portCtrlSpeed
                 INTEGER,
              portCtrlLinkStatus
                 INTEGER,
              portCtrlMDI
                 INTEGER,
              portCtrlFlowControl
                 INTEGER,
			  portCtrlFlowControlOper
				 INTEGER,
			  portCtrlAdminState
				 INTEGER,
			  portCtrlDetailMediumType 
			  	INTEGER,
			  portCtrlDynamicMacAutoLearn
			  	INTEGER
          }

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

        portCtrlMediumType OBJECT-TYPE
           SYNTAX      INTEGER {
             copper(1),
             fiber(2)
            }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port type: fiber 1G/100M or copper."
		   DEFVAL  { copper }
           ::= { portCtrlEntry 2 }

        portCtrlSpeed OBJECT-TYPE
           SYNTAX      INTEGER {
                         full1000m(1),
                         full100m(2),
                         half100m(3),
                         full10m(4),
                         half10m(5),
                         auto(6),
                         disabled(7)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configures port speed which the mediatype is match with portCtrlDetailMediumType."
		   DEFVAL  { auto }
           ::= { portCtrlEntry 3 }

        portCtrlLinkStatus OBJECT-TYPE
           SYNTAX      INTEGER {
                         down(1),
                         full1000m(2),
                         full100m(3),
                         half100m(4),
                         full10m(5),
                         half10m(6)
                      }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port's operating speed state."

           ::= { portCtrlEntry 4 }

        portCtrlMDI OBJECT-TYPE
           SYNTAX      INTEGER {
                         auto    (1),
                         mdi     (2),
                         mdix    (3)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configures interface auto/mdi/mdix mode.
              The default setting is Auto."
           ::= { portCtrlEntry 5 }

        portCtrlFlowControl OBJECT-TYPE
           SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Enables / disables flow control for the interface."
			DEFVAL  { disabled }
           ::= { portCtrlEntry 6 } 
		   
		portCtrlFlowControlOper OBJECT-TYPE
           SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              " Show Enables / disables status of flow control for the interface."
			DEFVAL  { disabled }
           ::= { portCtrlEntry 7 } 
		   
		portCtrlAdminState OBJECT-TYPE
           SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              " Enables / disables Admin for the interface."
           ::= { portCtrlEntry 8 }   
       portCtrlDetailMediumType OBJECT-TYPE
          SYNTAX      INTEGER {
                 fastethernet    (1),
                 gigabitethernet     (2),
                 fiberwith100BaseSFPModule    (3),
                 fiberwith1GBaseSFPModule(4)
              }
   		MAX-ACCESS  read-only 
   		STATUS      current 
   		DESCRIPTION 
      	"Get the port's current media type"
       	  ::= { portCtrlEntry 9 }

       portCtrlDynamicMacAutoLearn OBJECT-TYPE
          SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
   		MAX-ACCESS  read-write 
   		STATUS      current 
   		DESCRIPTION 
      	" Enables / disables dynamic mac auto learning for the interface."
       	  ::= { portCtrlEntry 10 }
	 -- ------------------------------------------------------------------
     -- Port Description Table
     -- ------------------------------------------------------------------
        portDescriptionTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF PortDescriptionEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port description table."
           ::= { sysPort 2 }

        portDescriptionEntry OBJECT-TYPE
           SYNTAX      PortDescriptionEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port description entry."
           INDEX { portDescIndex, portDescMediumType }
           ::= { portDescriptionTable 1 }

        PortDescriptionEntry ::=
           SEQUENCE {
              portDescIndex
                 INTEGER,
              portDescMediumType
                 INTEGER,
              portDescString
                 DisplayString
           }

        portDescIndex OBJECT-TYPE
           SYNTAX      INTEGER (1..255)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port index."
           ::= { portDescriptionEntry 1 }
              
              
        portDescMediumType OBJECT-TYPE
           SYNTAX      INTEGER {
             copper(1),
             fiber(2)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port type: fiber or copper."
           ::= { portDescriptionEntry 2 }
           
        portDescString OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "This object indicates the port description."
           ::= { portDescriptionEntry 3 }

	 -- ------------------------------------------------------------------
     -- Port Error Table
     -- ------------------------------------------------------------------
		portErrTable OBJECT-TYPE
		   SYNTAX       SEQUENCE OF PortErrEntry
		   MAX-ACCESS   not-accessible
		   STATUS       current
		   DESCRIPTION
		   	   "The port error table."
           ::= { sysPort 3 }

		portErrEntry OBJECT-TYPE
		   SYNTAX       PortErrEntry
		   MAX-ACCESS   not-accessible
		   STATUS       current
		   DESCRIPTION
		        "A list of information for the err port of the device."
		   INDEX { portErrPortIndex }
		    ::= { portErrTable 1 }

		PortErrEntry ::= 
		   SEQUENCE {
		      portErrPortIndex
		         INTEGER,
		      portErrPortState
		         INTEGER,
		      portErrPortStatus 
		         INTEGER,
		      portErrPortReason
		         INTEGER
		}

		portErrPortIndex OBJECT-TYPE
		   SYNTAX       INTEGER (1..255)
		   MAX-ACCESS   read-only
		   STATUS       current
		   DESCRIPTION
		        "This object indicates the module's port number.(1..Max port number in
		        the module)"
		   ::= { portErrEntry 1 }
       
		portErrPortState 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."
		   ::= { portErrEntry 2 }
		
		portErrPortStatus 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."
		   ::= { portErrEntry 3 }
		
		portErrPortReason OBJECT-TYPE
		   SYNTAX       INTEGER {
		      lbd(1),
			  trafficcontrol(2),
			  duld(3)
		   }
		   MAX-ACCESS   read-only
		   STATUS       current
		   DESCRIPTION
		        "This object decides whether the PortStatus is 
				LBD, Traffic Control, DULD."
		   ::= { portErrEntry 4 }

		   	 -- ------------------------------------------------------------------
     -- Port Utilization Table
     -- ------------------------------------------------------------------
        portUtilizTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF PortUtilizEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "A table to display the TX/RX frames per second and port utilization."
           ::= { sysPort 4 }

        portUtilizEntry OBJECT-TYPE
           SYNTAX      PortUtilizEntry
           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 { portUtilizIndex}
           ::= { portUtilizTable 1 }

        PortUtilizEntry ::=
           SEQUENCE {
              portUtilizIndex
                 Integer32,
              portUtilizTX
                 Integer32,
              portUtilizRX
                 Integer32,
              portUtilizAverage
                 INTEGER
          }

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

           ::= { portUtilizEntry 1 }

        portUtilizTX OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The total number of frames forwarded on the interface during last second."
           ::= { portUtilizEntry 2 }

        portUtilizRX OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The total number of frames received on the interface during last second."
           ::= { portUtilizEntry 3 }
		   
        portUtilizAverage OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "interface frame usage during last second."
           ::= { portUtilizEntry 4 }
		  
	-- --------------------------------------------------------------------
	-- Statistics Table ---------------------------------------------------
	-- --------------------------------------------------------------------
	sysStatisticsTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF SysStatisticsEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"A list of interface entries.  The number of entries is
				given by the value of ifNumber."
		::= { companyStatistics 1 }

	statisticsEntry OBJECT-TYPE
		SYNTAX      SysStatisticsEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"An entry containing management information applicable to a
				particular interface."
		INDEX   { statisticsIndex }

		::= { sysStatisticsTable 1 }

	SysStatisticsEntry ::=
		SEQUENCE {
			statisticsIndex                 			InterfaceIndex,
			statisticsInOctets              			Counter64,
			statisticsInUcastPkts           			Counter32,
			statisticsInMcastPkts           			Counter32,
			statisticsInNUcastPkts         	 			Counter32,  
			statisticsInDiscards            			Counter32,
			statisticsInErrors             	 			Counter32,			
			statisticsOutOctets             			Counter64,
			statisticsOutUcastPkts          			Counter32,
			statisticsOutNUcastPkts         			Counter32, 			
			statisticsOutErrors             			Counter32,
			statisticsOutDiscards             			Counter32,
			statisticsLateCollisions              		Counter32,
			statisticsExcessiveCollisions       		Counter32,			
			statisticsFCSErrors          				Counter32,
			statisticsFrameTooLongs         			Counter32, 			
			statisticsEtherUndersizePkts				Counter32,
			statisticsEtherOversizePkts					Counter32,
			statisticsEtherFragments					Counter32,
			statisticsEtherJabbers						Counter32,
			statisticsEtherDropEvents					Counter32,
			statisticsDeferredTransmissions				Counter32,
			statisticsSingleCollisionFrames				Counter32,
			statisticsStatsCollisions					Counter32,
			statisticsPkts64Octets						Counter32,
			statisticsPkts65to127Octets					Counter32,
			statisticsPkts128to255Octets				Counter32,
			statisticsPkts256to511Octets				Counter32,
			statisticsPkts512to1023Octets				Counter32,
			statisticsPkts1024to1518Octets				Counter32
								
		}

	statisticsIndex 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."
		::= { statisticsEntry 1 }
		
	statisticsInOctets OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The total number of octets received on the interface,
				including framing characters.

				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."
		::= { statisticsEntry 2 }

	statisticsInUcastPkts OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The number of packets, delivered by this sub-layer to a
				higher (sub-)layer, which were not addressed to a multicast
				or broadcast address at this sub-layer.

				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."
		::= { statisticsEntry 3 }
		
	statisticsInMcastPkts OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The number of packets, delivered by this sub-layer to a
				higher (sub-)layer, which were not addressed to a multicast
				address at this sub-layer.

				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."
		::= { statisticsEntry 4 }

	statisticsInNUcastPkts OBJECT-TYPE
		SYNTAX  Counter32
		MAX-ACCESS  read-only
		STATUS      deprecated
		DESCRIPTION
				"The number of packets, delivered by this sub-layer to a
				higher (sub-)layer, which were addressed to a multicast or
				broadcast address at this sub-layer.

				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.

				This object is deprecated in favour of ifInMulticastPkts and
				ifInBroadcastPkts."
		::= { statisticsEntry 5 }

	statisticsInDiscards OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The number of inbound packets which were chosen to be
				discarded even though no errors had been detected to prevent
				their being deliverable to a higher-layer protocol.  One
				possible reason for discarding such a packet could be to
				free up buffer space.

				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."
		::= { statisticsEntry 6 }

	statisticsInErrors OBJECT-TYPE

		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"For packet-oriented interfaces, the number of inbound
				packets that contained errors preventing them from being
				deliverable to a higher-layer protocol.  For character-
				oriented or fixed-length interfaces, the number of inbound
				transmission units that contained errors preventing them
				from being deliverable to a higher-layer protocol.

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

	

	statisticsOutOctets OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The total number of octets transmitted out of the
				interface, including framing characters.

				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."
		::= { statisticsEntry 8 }

	statisticsOutUcastPkts OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The total number of packets that higher-level protocols
				requested be transmitted, and which were not addressed to a
				multicast or broadcast address at this sub-layer, including
				those that were discarded or not sent.

				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."
		::= { statisticsEntry 9 }

	statisticsOutNUcastPkts OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      deprecated
		DESCRIPTION
				"The total number of packets that higher-level protocols
				requested be transmitted, and which were addressed to a
				multicast or broadcast address at this sub-layer, including
				those that were discarded or not sent.

				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.

				This object is deprecated in favour of ifOutMulticastPkts
				and ifOutBroadcastPkts."
		::= { statisticsEntry 10 }

	statisticsOutErrors OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"For packet-oriented interfaces, the number of outbound
				packets that could not be transmitted because of errors.
				For character-oriented or fixed-length interfaces, the
				number of outbound transmission units that could not be
				transmitted because of errors.

				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."
		::= { statisticsEntry 11 }

	statisticsOutDiscards OBJECT-TYPE
		SYNTAX      Counter32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The number of outbound packets which were chosen
				to be discarded even though no errors had been
				detected to prevent their being transmitted.  One
				possible reason for discarding such a packet could
				be to free up buffer space."
		::= { statisticsEntry 12 }
		
	statisticsLateCollisions 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."
           ::= { statisticsEntry 13 }
		   
		statisticsExcessiveCollisions 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."
           ::= { statisticsEntry 14 }

		statisticsFCSErrors 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."
           ::= { statisticsEntry 15 }
		   
		statisticsFrameTooLongs OBJECT-TYPE
           SYNTAX      Counter32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION "A count of frames received on a particular
                       interface that exceed the maximum permitted
                       frame size.

                       The count represented by an instance of this
                       object is incremented when the frameTooLong
                       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.

                       For interfaces operating at 10 Gb/s, this
                       counter can roll over in less than 80 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
                       dot3HCStatsFrameTooLongs 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.25,
                       aFrameTooLongErrors."
           ::= { statisticsEntry 16 }

     
	
	statisticsEtherUndersizePkts 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."
     ::= { statisticsEntry 17 }
	 
	 statisticsEtherOversizePkts 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."
     ::= { statisticsEntry 18 }
	 
	 statisticsEtherFragments 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 statisEtherFragments to
         increment.  This is because it counts both runts (which are
         normal occurrences due to collisions) and noise hits."
     ::= { statisticsEntry 19 }
	
	statisticsEtherJabbers 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."
     ::= { statisticsEntry 20 }
	 
	 statisticsEtherDropEvents 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."
     ::= { statisticsEntry 21 }
	 
	 statisticsDeferredTransmissions 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."
     ::= { statisticsEntry 22 }
	 
	 statisticsSingleCollisionFrames OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "A count of frames that are involved in a single
		collision, and are subsequently transmitted
		successfully.
		
		A frame that is counted by an instance of this
		object is also counted by the corresponding
		instance of either the ifOutUcastPkts,
		ifOutMulticastPkts, or ifOutBroadcastPkts,
		and is not counted by the corresponding
		instance of the dot3StatsMultipleCollisionFrames
		object.
		
		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."
     ::= { statisticsEntry 23 }
	 
	 statisticsStatsCollisions OBJECT-TYPE
     SYNTAX     Counter32
     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."
     ::= { statisticsEntry 24 }
	 
	 statisticsPkts64Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of pkts that it's length is 64 bytes."
	::= { statisticsEntry 25 }
	
	statisticsPkts65to127Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of Rx pkts that it's length is 65-127 bytes."
	::= { statisticsEntry 26 }
	
	statisticsPkts128to255Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of Rx pkts that it's length is 128-255 bytes."
	::= { statisticsEntry 27 }
	
	statisticsPkts256to511Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of Rx pkts that it's length is 256-511 bytes."
	::= { statisticsEntry 28 }
	
	statisticsPkts512to1023Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of Rx pkts that it's length is 512-1023 bytes."
	::= { statisticsEntry 29 }
	
	statisticsPkts1024to1518Octets OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of Rx pkts that it's length is 1024-1518 bytes."
	::= { statisticsEntry 30 }
	

----------------------------------------------------------------------------------------------
	-- the Interfaces table

	sysStatisticsClearTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF SysStatisticsClearEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"A list of interface entries.  The number of entries is
				given by the value of ifNumber."
		::= { companyStatistics 2 }

	statisticsClearEntry OBJECT-TYPE
		SYNTAX      SysStatisticsClearEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
				"An entry containing management information applicable to a
				particular interface."
		INDEX   { statisticsClearIndex }
		::= { sysStatisticsClearTable 1 }

	SysStatisticsClearEntry ::=
		SEQUENCE {
			statisticsClearIndex            INTEGER,
			statisticsClearStatus			INTEGER
		}

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

	statisticsClearStatus OBJECT-TYPE
	   SYNTAX      INTEGER { enabled(1), disabled(2) }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
			   "Enable or disable statistics Counters Clear on read by port."
	   ::= { statisticsClearEntry 2 }

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

        sysDot1qVlanManagementOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable management VLAN mechanism."
            ::= { companyDot1qVlanGroup 2 }

        sysDot1qVlanManagementid OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The management VLAN ID, which will allow to forward packets of that VLAN to CPU."
            DEFVAL { 1 }
            ::= { companyDot1qVlanGroup 3 }

        sysDot1qPVIDAutoAssign OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable IEEE 802.1Q PVID Auto assign"
            ::= { companyDot1qVlanGroup  4 }    
            
        sysDot1qVlanAsyOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Enable/Disable IEEE 802.1Q Asymmetric VLAN"
            ::= { companyDot1qVlanGroup  5 }

            
        -- -------------------------------------------------------------
        -- The VLAN Database
        -- -------------------------------------------------------------
        
        sysDot1qVlanTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF SysDot1qVlanEntry
            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."
            ::= { companyDot1qVlanGroup 6 }
        
        dot1qVlanEntry OBJECT-TYPE
            SYNTAX      SysDot1qVlanEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information for a VLAN configured into the
                device by (local or network) management."
            INDEX   { dot1qVlanid }
            ::= { sysDot1qVlanTable 1 }
        
        SysDot1qVlanEntry ::=
            SEQUENCE {
				dot1qVlanid
				Integer32,
                dot1qVlanName
                    SnmpAdminString,
                dot1qVlanEgressPorts
                    PortList,                   
                dot1qVlanUntaggedPorts
                    PortList,     
                dot1qVlanRowStatus
                    RowStatus
            }

		dot1qVlanid OBJECT-TYPE
            SYNTAX      Integer32(1..4094)
            MAX-ACCESS  read-write
            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-write
            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-write
            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 5 }    

        -- -------------------------------------------------------------
        -- The VLAN Port Configuration Table
        -- -------------------------------------------------------------
        
        sysDot1qVlanPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF SysDot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing per port control and status
                information for VLAN configuration in the device."
            ::= { companyDot1qVlanGroup  7 }
        
        dot1qVlanPortEntry OBJECT-TYPE
            SYNTAX      SysDot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information controlling VLAN configuration for a port
                on the device."
			INDEX { dot1qVlanPortIndex } 
            ::= { sysDot1qVlanPortTable 1 }
        
        SysDot1qVlanPortEntry ::=
            SEQUENCE {
                dot1qVlanPortIndex
                    Integer32,
				dot1qVlanPortVlanId
					VlanIndex
            }
			
		dot1qVlanPortIndex OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Port index."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.10.1.1"
            ::= { dot1qVlanPortEntry 1 }    
        
        dot1qVlanPortVlanId OBJECT-TYPE
            SYNTAX      VlanIndex
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The PVID, the VLAN ID assigned to untagged frames or
                Priority-Tagged frames received on this port."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.10.1.1"
            DEFVAL      { 1 }
            ::= { dot1qVlanPortEntry 2 }    
    

 --     sysDot1qVlanPVIDAutoAssignOnOff OBJECT-TYPE
 --           SYNTAX INTEGER {
 --                  enabled(1),
 --                  disabled(2)
 --           }
 --           MAX-ACCESS read-write
 --           STATUS current
 --           DESCRIPTION
 --               "Enable/Disable VLAN PVID auto assignment"
 --           ::= { companyDot1qVlanGroup  9 }
            
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    --sysSecurityAAC                  OBJECT IDENTIFIER ::= { companySecurity 11 }

-- -------------------------------------------------------------
-- Authentication Policy and Parameter Settings
-- -------------------------------------------------------------
    aacAuthenAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the Access Authentication is enable or
            disable."
        ::= { sysSecurityAAC 1}

    aacAuthParamResponseTimeout  OBJECT-TYPE
        SYNTAX     Integer32 (0..255)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Timeout in second for login authentication response."
        ::= { sysSecurityAAC 2 }

    aacAuthParamAttempt  OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The amount for login authentication, if login failure exceed,
             connection or access would be locked."
        ::= { sysSecurityAAC 3 }

   aacLocalEnablePassword  OBJECT-TYPE
	   SYNTAX      DisplayString (SIZE(1..15))
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		  "This object is used to set Local Enable Password."
	   ::= { sysSecurityAAC 4 }

-- -------------------------------------------------------------
-- Application Authentication Settings
-- -------------------------------------------------------------

    aacAPAuthMethodGroup OBJECT IDENTIFIER ::= { sysSecurityAAC 5 }

    aacAPLoginMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 1 }
    aacAPEnableMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 2 }

    aacAPTelnetLoginMethod OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the way which has to execute authentication while login the
            system and the method for authentication.Access system via telnet."
        ::= { aacAPLoginMethod 2 }

    aacAPHttpLoginMethod OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the way which has to execute authentication while login the
            system and the method for authentication.Access system via HTTP."
        ::= { aacAPLoginMethod 4 }

    aacAPTelnetEnableMethod OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the way which has to execute authentication while login the
            system and the method for authentication.Access system via telnet."
        ::= { aacAPEnableMethod 2 }

    aacAPHttpEnableMethod OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the way which has to execute authentication while login the
            system and the method for authentication.Access system via HTTP."
        ::= { aacAPEnableMethod 4 }


-- -------------------------------------------------------------
-- Login Method list table
-- -------------------------------------------------------------
    aacLoginMethodListTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AacLoginMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains information about Login authentication method
            lists."
        ::= { sysSecurityAAC 6 }

    aacLoginMethodListEntry OBJECT-TYPE
        SYNTAX AacLoginMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of the Authentication methods."
        INDEX { aacLoginMethodListName }
        ::= { aacLoginMethodListTable 1 }

    AacLoginMethodListEntry ::= SEQUENCE {
		aacLoginMethodListName			DisplayString,
		aacLoginMethod1					DisplayString,
		aacLoginMethod2					DisplayString,
		aacLoginMethod3					DisplayString,
		aacLoginMethod4					DisplayString,
		aacLoginMethodListRowStatus		RowStatus
	}

    aacLoginMethodListName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."
        ::= { aacLoginMethodListEntry 1 }

    aacLoginMethod1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacLoginMethodListEntry 2 }

    aacLoginMethod2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacLoginMethodListEntry 3 }

    aacLoginMethod3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacLoginMethodListEntry 4 }

    aacLoginMethod4 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacLoginMethodListEntry 5 }

    aacLoginMethodListRowStatus 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'."
        ::= { aacLoginMethodListEntry 6 }

-- -------------------------------------------------------------
-- Enable Method table
-- -------------------------------------------------------------
    aacEnableMethodListTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AacEnableMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains information about Enable authentication method
            lists."
        ::= { sysSecurityAAC 7 }

    aacEnableMethodListEntry OBJECT-TYPE
        SYNTAX AacEnableMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of the Authentication methods."
        INDEX { aacEnableMethodListName }
        ::= { aacEnableMethodListTable 1 }

    AacEnableMethodListEntry ::= SEQUENCE {
		aacEnableMethodListName			DisplayString,
		aacEnableMethod1				DisplayString,
		aacEnableMethod2				DisplayString,
		aacEnableMethod3				DisplayString,
		aacEnableMethod4				DisplayString,
		aacEnableMethodListRowStatus	RowStatus
	}

    aacEnableMethodListName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."
        ::= { aacEnableMethodListEntry 1 }

    aacEnableMethod1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacEnableMethodListEntry 2 }

    aacEnableMethod2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacEnableMethodListEntry 3 }

    aacEnableMethod3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacEnableMethodListEntry 4 }

    aacEnableMethod4 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Login method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."
        ::= { aacEnableMethodListEntry 5 }

    aacEnableMethodListRowStatus 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'."
        ::= { aacEnableMethodListEntry 6 }

-- -------------------------------------------------------------
-- Authentication Server Group setting
-- -------------------------------------------------------------
    aacServerGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AacServerGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains informations about server group."
        ::= { sysSecurityAAC 8 }

    aacServerGroupEntry OBJECT-TYPE
        SYNTAX AacServerGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of the group including servers."
        INDEX { aacServerGroupName }
        ::= { aacServerGroupTable 1 }

    AacServerGroupEntry ::= SEQUENCE {
		aacServerGroupName			DisplayString,
		aacServersInGroup			BITS,
		aacServerGroupRowStatus		RowStatus
	}

    aacServerGroupName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method group."
        ::= { aacServerGroupEntry 1 }


    aacServersInGroup OBJECT-TYPE
        SYNTAX      BITS {
            id1(0),
            id2(1),
            id3(2),
            id4(3),
            id5(4),
            id6(5),
            id7(6),
            id8(7),
            id9(8),
            id10(9),
            id11(10),
            id12(11),
            id13(12),
            id14(13),
            id15(14),
            id16(15)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The list of servers in the group, each bit indicates a specified server ID.
             The server must be created before including it."
        ::= { aacServerGroupEntry 2 }

    aacServerGroupRowStatus 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'."
        ::= { aacServerGroupEntry 3 }



-- -------------------------------------------------------------
-- IPv4 and IPv6
-- Authentication Server host setting
-- -------------------------------------------------------------

    aacServerInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AacServerInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains information about radius severs."
        ::= { sysSecurityAAC 9 }

    aacServerInfoEntry OBJECT-TYPE
        SYNTAX AacServerInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of the information of server ."
        INDEX { aacServerIPType,  aacServerIPAddr}
        ::= { aacServerInfoTable 1 }

    AacServerInfoEntry ::=	SEQUENCE {
		aacServerIPType				INTEGER,
		aacServerIPAddr				InetAddress,
		aacServerIndex				Integer32,            
		aacServerInterfaceName		DisplayString,
		aacServerAuthPort			Integer32,
		aacServerAuthKey			DisplayString,
		aacServerTimeout			Integer32,
		aacServerRetryCount			Integer32,
		aacServerRowStatus			RowStatus
	}

    aacServerIPType     OBJECT-TYPE
        SYNTAX      INTEGER{
            ipv4(1),
            ipv6(2)
         }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The IP address of the radius AAC server IP type
                referred to in this table entry. (IPv4=1, IPv6=2)"
        DEFVAL { ipv4 }
       ::= { aacServerInfoEntry 1 }

    aacServerIPAddr OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address of radius Server"
        ::= { aacServerInfoEntry 2 }

    aacServerIndex  OBJECT-TYPE
        SYNTAX     Integer32 (1..16)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that uniquely identifies this SwAACServerGroupEntry."
        ::= { aacServerInfoEntry 3 }

    aacServerInterfaceName   OBJECT-TYPE
         SYNTAX      DisplayString
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
               "Specifies the interface name when the aacServerIPAddr is linklocal address."
         ::= { aacServerInfoEntry 4 } 
         
    aacServerAuthPort OBJECT-TYPE
        SYNTAX      Integer32(1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/IP port ."
        ::= { aacServerInfoEntry 5 }

    aacServerAuthKey OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..254))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The key used while authentication process."
        ::= { aacServerInfoEntry 6 }

    aacServerTimeout OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "radius Server response timeout ."
        ::= { aacServerInfoEntry 7 }

    aacServerRetryCount OBJECT-TYPE
        SYNTAX      Integer32(1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Client retry count .
             (-1: No retry mechanism)"
        ::= { aacServerInfoEntry 8 }

    aacServerRowStatus 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'."
        ::= { aacServerInfoEntry 9 }

 -- ----------------------------------------------------------
 -- The companyCableDiagnostic Groups
 -- ----------------------------------------------------------
 -- Cable Diagnostics Group --------------------------------------------- --

         sysCableDiagTriggerIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
              "Trigger an interface index to do cable diagnostic."
           ::= {companyCableDiagnostic 1 }

         sysCableDiagPair1TestResult OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 1 test result."
           ::= {companyCableDiagnostic 2 }

         sysCableDiagPair1FaultDistance  OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable Diagnostics pair 1 fault distance."
           ::= {companyCableDiagnostic 3}

         sysCableDiagPair2TestResult OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 2 test result."
           ::= {companyCableDiagnostic 4 }

         sysCableDiagPair2FaultDistance  OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 2 fault distance."
           ::= {companyCableDiagnostic 5}

         sysCableDiagPair3TestResult OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 3 test result."
           ::= {companyCableDiagnostic 6 }

         sysCableDiagPair3FaultDistance  OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 3 fault distance."
           ::= {companyCableDiagnostic 7}

         sysCableDiagPair4TestResult OBJECT-TYPE
           SYNTAX INTEGER  {
                  ok (0),
                  open (1),
                  short (2),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 4 test result."
           ::= {companyCableDiagnostic 8 }

         sysCableDiagPair4FaultDistance  OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics pair 4 fault distance."
           ::= {companyCableDiagnostic 9}

         sysCableDiagLengthinRange  OBJECT-TYPE 
           SYNTAX INTEGER  {
                  less50 (1),
                  from50to80 (2),
                  from80to100 (3),
                  from100to140 (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics length when link up in speed 1G.
               (Display in range)"
           ::= {companyCableDiagnostic 10}
-- LBD Group ------------------------------------------------------    
    sysLBDStateEnable 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 }
           ::= { companyLBD 1 }
        
    sysLBDMode OBJECT-TYPE 
           SYNTAX      INTEGER {
                          port(1),
                          vlan(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Loopback detection function mode."
        
           DEFVAL  { port }
           ::= { companyLBD 2 }

    sysLBDInterval  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 }
           ::= { companyLBD 3 }
           
    sysLBDRecoverTime  OBJECT-TYPE
           SYNTAX      Integer32 (0 | 60..1000000)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "This time interval to be used at counting time seconds to
            recover the disabled port automatically. 
            The Loop Detection Recover Time can be set at 0 seconds, 
            or 60 to 1000000 seconds.
            Entering 0 will disable the Loop Detection Recover Time.
            The default is 60 seconds."  
           DEFVAL  { 60 }
           ::= { companyLBD 4 }       
        
        -- LBD Port Control Table
        
        sysLBDCtrlTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysLBDCtrlEntry 
           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."
           ::= { companyLBD 5 }
        
        sysLBDCtrlEntry OBJECT-TYPE 
           SYNTAX      SysLBDCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface 
                in the system."
           INDEX { sysLBDCtrlIndex }
           ::= { sysLBDCtrlTable 1 }
           
        SysLBDCtrlEntry ::= 
           SEQUENCE { 
              sysLBDCtrlIndex
                 Integer32, 
              sysLBDPortStatus 
                 INTEGER, 
              sysLBDPortLoopStatus 
                 INTEGER 
          }
        
        sysLBDCtrlIndex 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."
           ::= { sysLBDCtrlEntry 1 }
            
        sysLBDPortStatus 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 }
           ::= { sysLBDCtrlEntry 2 }
        
        sysLBDPortLoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                       normal(1),
                       loop(2)
                      }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The loop status for this port."
           ::= { sysLBDCtrlEntry 3 }

        -- LBD Vlan Loop Table
        
        sysLBDVlanLoopTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysLBDVlanLoopEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "A table to display Loopback detection features by vlan
               mode ."
           ::= { companyLBD 6 }
        
        sysLBDVlanLoopEntry OBJECT-TYPE 
           SYNTAX      SysLBDVlanLoopEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface 
                in the system."
           INDEX { sysLBDVlanLoopIndex }
           ::= { sysLBDVlanLoopTable 1 }
           
        SysLBDVlanLoopEntry ::= 
           SEQUENCE { 
              sysLBDVlanLoopIndex
                 Integer32, 
              sysLBDVlanLoopPorts 
                 PortList
          }
        
        sysLBDVlanLoopIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Display port lists loop status by vlan."
           ::= { sysLBDVlanLoopEntry 1 }
            
        sysLBDVlanLoopPorts OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Display port lists loop status by vlan."
           ::= { sysLBDVlanLoopEntry 2 }
       sysLBDEnabledVlanList OBJECT-TYPE
		    SYNTAX     DisplayString 
		    MAX-ACCESS read-write
		    STATUS     current
		    DESCRIPTION
		   	 "This object indicates the VLANs that enabled LBD.
			 	Note:
			 	For the LBD enabled VLAN specification, 
			 	the value should be separated by ',' or '-'.
			 	Such as: 1,4,7 or 1,4,7-9 ."
		    ::= { companyLBD 7 }

	-- ---------------------------------------------------------------------
    -- LBD Trap Function
    -- ---------------------------------------------------------------------
	sysLBDTrap  		OBJECT IDENTIFIER ::= { companyLBD  8 }
	lbdTraps 		OBJECT IDENTIFIER ::= { sysLBDTrap 0 }

    loopbackOccur NOTIFICATION-TYPE
	OBJECTS {
        sysLBDCtrlIndex,
        sysLBDPortLoopStatus
    }
    STATUS      current
    DESCRIPTION
        "A loopbackOccur notification is sent when loop found."
    ::= { lbdTraps 1 }
	
	loopbackRecovery NOTIFICATION-TYPE
	OBJECTS {
        sysLBDCtrlIndex,
        sysLBDRecoverTime
    }
    STATUS      current
    DESCRIPTION
        "A loopbackRecovery notification is sent when recovery time comes to end."
    ::= { lbdTraps 2 }
  	sysLLDPXdot3Objects    		OBJECT IDENTIFIER ::= { companyLLDP 12 }
	sysLLDPXdot1Objects    		OBJECT IDENTIFIER ::= { companyLLDP 13 }
	sysLLDPStatistics    		OBJECT IDENTIFIER ::= { companyLLDP 14 }
	sysLLDPLocalSystemData    	OBJECT IDENTIFIER ::= { companyLLDP 15 }
	sysLLDPRemoteSystemsData    OBJECT IDENTIFIER ::= { companyLLDP 16 }
	sysLLDPNotification  		OBJECT IDENTIFIER ::= { companyLLDP 17}

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

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

        ::= { companyLLDP 2 }

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

        ::= { companyLLDP 3 }

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

        ::= { companyLLDP 4 }

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

        ::= { companyLLDP 5 }
--
-- lldpManAddrConfigTxPortsTable : selection of management addresses
--                                 to be transmitted on a specified set
--                                 of ports.
-- 

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

	sysLLDPConfigManAddrEntry  OBJECT-TYPE
		SYNTAX      SyslldpConfigManAddrEntry
		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 sysLLDPConfigManAddrEntry 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 }
		::= { sysLLDPConfigManAddrTable 1 }

	SyslldpConfigManAddrEntry  ::= 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"
    ::= { sysLLDPConfigManAddrEntry 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"
    ::= { sysLLDPConfigManAddrEntry 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
    ::= { sysLLDPConfigManAddrEntry 3 }
--
	-- D-Link Defined LLDP Port Configuration Table
	--	
    
	sysLLDPPortConfigTable   OBJECT-TYPE
	    SYNTAX      SEQUENCE OF SysLLDPPortConfigEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls LLDP frame transmission on individual
	            ports."
	    ::= { companyLLDP 11 }
	
	sysLLDPPortConfigEntry   OBJECT-TYPE
	    SYNTAX      SysLLDPPortConfigEntry
	    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 }
	    ::= { sysLLDPPortConfigTable 1 }
	
	SysLLDPPortConfigEntry ::= SEQUENCE {
	      lldpPortConfigPortNum            LldpPortNumber,
	      lldpPortConfigAdminStatus        INTEGER,
	      lldpPortConfigNotificationEnable TruthValue,
	      lldpPortConfigTLVsTxEnable       BITS }
	
	lldpPortConfigPortNum   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."
	    ::= { sysLLDPPortConfigEntry 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 }    
	   ::= { sysLLDPPortConfigEntry 2 } 
	
	lldpPortConfigNotificationEnable OBJECT-TYPE 
	    SYNTAX     TruthValue
	    MAX-ACCESS read-write 
	    STATUS     current 
	    DESCRIPTION 
	            "The lldpPortConfigNotificationEnable controls, on a per
	            port basis,  whether or not notifications from the agent
	            are enabled. The value true(1) means that notifications are
	            enabled; the value false(2) means that they are not."
	    DEFVAL  { false }    
	   ::= { sysLLDPPortConfigEntry 3 } 
	
	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, sysLLDPConfigManAddrTable.
	
	            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  { { } }
	    ::= { sysLLDPPortConfigEntry 4 } 

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

	
	-- LLDP IEEE 802.3 extension MIB groups
	lldpXdot3Config     OBJECT IDENTIFIER ::= { sysLLDPXdot3Objects 1 }
	lldpXdot3LocalData  OBJECT IDENTIFIER ::= { sysLLDPXdot3Objects 2 }
	lldpXdot3RemoteData OBJECT IDENTIFIER ::= { sysLLDPXdot3Objects 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-write
	    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),
	            maxFrameSize(1)
	    }
	    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 'maxFrameSize(1)' 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-write
	    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 }
	---
	---
	--- 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-write
	    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 }
--
	-- D-Link Defined LLDP Extension Dot1 MIB Objects
	--

	-- LLDP IEEE 802.1 extension MIB groups
	lldpXdot1Config     OBJECT IDENTIFIER ::= { sysLLDPXdot1Objects 1 }
	lldpXdot1LocalData  OBJECT IDENTIFIER ::= { sysLLDPXdot1Objects 2 }
	lldpXdot1RemoteData OBJECT IDENTIFIER ::= { sysLLDPXdot1Objects 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,lldpXdot1ConfigVlanId }
	    ::= { lldpXdot1ConfigVlanNameTable 1 }
	
	LldpXdot1ConfigVlanNameEntry ::= SEQUENCE { 
		  lldpXdot1LocConfigVlanNamePortNum    LldpPortNumber,
		  lldpXdot1ConfigVlanId     VlanId,
	      lldpXdot1ConfigVlanNameTxEnable  TruthValue 
	}
	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 }
	    
	lldpXdot1ConfigVlanId  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"
	    ::= { lldpXdot1ConfigVlanNameEntry 2 }
	
	lldpXdot1ConfigVlanNameTxEnable  OBJECT-TYPE
	    SYNTAX        TruthValue
	    MAX-ACCESS    read-write
	    STATUS        current
	    DESCRIPTION
	            "The boolean value that indicates whether the corresponding
	            Local System VLAN name instance will be transmitted on the
	            port defined by the given lldpXdot1LocVlanNameEntry.
	
	            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 }
	    ::= { lldpXdot1ConfigVlanNameEntry 3 }
		
		--
	-- 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 }
		
	--
	-- 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-write
	    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 }
	--
--  *********************************************************** 
--
--                   L L D P    S T A T S 
--
--  *********************************************************** 
--

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 sysLLDPRemoteSystemsData objects
            and all LLDP extension objects associated with remote systems.

            An NMS can use this object to reduce polling of the
            sysLLDPRemoteSystemsData objects."
    ::= { sysLLDPStatistics 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 sysLLDPRemoteSystemsData 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."
    ::= { sysLLDPStatistics 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 sysLLDPRemoteSystemsData 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."
    ::= { sysLLDPStatistics 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 sysLLDPRemoteSystemsData and lldpExtensions
            objects because of insufficient resources."
    ::= { sysLLDPStatistics 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 sysLLDPRemoteSystemsData 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."
    ::= { sysLLDPStatistics 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 sysLLDPPortConfigEntry object is equal to
            'disabled(4)'."
    ::= { sysLLDPStatistics 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 sysLLDPPortConfigEntry object is equal to 'disabled(4)'."
    ::= { sysLLDPStatistics 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
            sysLLDPRemoteSystemsData 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 sysLLDPRemoteSystemsData 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 }

-- 

--  ***********************************************************
--
--          L O C A L    S Y S T E M    D A T A
--
--  ***********************************************************

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

 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"
    ::= { sysLLDPLocalSystemData 5 }  
    
    
--
-- 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."
    ::= { sysLLDPLocalSystemData 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          LldpPortIdSubtype,
      lldpLocPortId                 LldpPortId,
      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      LldpPortIdSubtype
    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      LldpPortId
    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."
    ::= { sysLLDPLocalSystemData 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 }
--  ***********************************************************
--
--          R E M O T E    S Y S T E M S    D A T A
--
--  ***********************************************************
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."
    ::= { sysLLDPRemoteSystemsData 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."
    ::= { sysLLDPRemoteSystemsData 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"
    ::= { sysLLDPRemoteSystemsData 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 }

-- ------------------------------------------------------------------ 
-- The LLDP Notification Group 
-- ------------------------------------------------------------------ 
    lldpTraps OBJECT IDENTIFIER ::= { sysLLDPNotification 0 }

    lldpRemTablesChange NOTIFICATION-TYPE
    OBJECTS {
        lldpStatsRemTablesInserts,
        lldpStatsRemTablesDeletes,
        lldpStatsRemTablesDrops,
        lldpStatsRemTablesAgeouts
    }
    STATUS      current
    DESCRIPTION
        "A lldpRemTablesChange notification is sent when the value
         of lldpStatsRemTableLastChangeTime changes.  It can be
         utilized by an NMS to trigger LLDP remote systems table
         maintenance polls.

         Note that transmission of lldpRemTablesChange
         notifications are throttled by the agent, as specified by the
         'lldpNotificationInterval' object.
          
         The first four objects are already mentioned in the standard
         LLDP mib. As the Table Updation notification is also sent in the
         same notification PDU these objects are moved to proprietary mib."
    ::= { lldpTraps 1 }

    lldpExceedsMaxFrameSize NOTIFICATION-TYPE
    OBJECTS {
        lldpLocPortId
    }
    STATUS      current
    DESCRIPTION
           "A lldpExceedsMaxFrameSize notification is sent if the size of LLDP
           frame to be transmitted exceeds the maximum frame size (1522 bytes).
           This can occur if many number of TLVs need to be included in a single
           frame .

           It notifies the NMS that the information obtained about this system
           from its neighbor is not complete."
    ::= { lldpTraps 2 }


    lldpDupChasisId NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId,
        lldpRemPortId        
    }
    STATUS      current
    DESCRIPTION
           "A lldpDupChasisId notification sent if the configured 
            chasisId and Received chasisId from the neighbor is same.

            It notifies the NMS that the information obtained from its neighbor 
            is Duplicate."
       ::= {lldpTraps 3}

    lldpDupSystemName NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpRemSysName    
    }
    STATUS      current
    DESCRIPTION
           "A lldpDupSystemName notification sent if the configured 
            system name and Received system name from the neighbor is same.

            It notifies the NMS that the information obtained from its neighbor 
            is Duplicate."
       ::= {lldpTraps 4}

    lldpDupManagmentAddress NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpRemManAddrIfId
    }
    STATUS      current
    DESCRIPTION
           "A fsLldpDupManagementAddress notification sent if the configured 
            management address and Received management address from the 
            neighbor is same. The received duplicate management address is sent
            with the OID as index. Hence lldpRemManAddrIfId is sent in the
            value field.

            It notifies the NMS that the information obtained from its neighbor 
            is Duplicate."
       ::= {lldpTraps 5}

    lldpMisConfigPortVlanID NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpXdot1RemPortVlanId
    }
    STATUS      current
    DESCRIPTION
           "A lldpMisConfigPortVlanID notification sent if the Port VlanId of 
            two systems connected to the same link is different.

            It notifies the NMS that the information obtained from its neighbor 
            is mis-configured."
       ::= {lldpTraps 6}

    lldpMisConfigVlanName NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpXdot1RemVlanName        
    }
    STATUS      current
    DESCRIPTION
           "A lldpMisConfigVlanName notification sent if the vlan name 
            of two systems connected to the same link is different.

            It notifies the NMS that the information obtained from its neighbor 
            is mis-configured."
       ::= {lldpTraps 8}

    lldpMisConfigProtocolIdentity NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
       lldpXdot1RemProtocolId 
    }
    STATUS      current
    DESCRIPTION
           "A lldpMisConfigProtocolIdentity notification sent if the protocol 
            identity information (example spanning Tree protocol, 
            the Link Aggregation protocol and proprietary protocol) of 
            two systems connected to the same link is different.

            It notifies the NMS that the information obtained from its neighbor 
            is mis-configured."
       ::= {lldpTraps 9}

    lldpMisConfigMaxFrameSize NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpXdot3RemMaxFrameSize
    }
    STATUS      current
    DESCRIPTION
           "A lldpMisConfigMaxFrameSize notification sent if the 
            maximum frame size configuration of two systems connected to 
            the same link is different.
            
            Difference in maximum frame size can result in loss of frames if 
            the sending station advertised maximum frame size is larger 
            than the receiveing station.

            It notifies the NMS that the information obtained from its neighbor 
            is mis-configured."
       ::= {lldpTraps 12}
       
    lldpMisConfigOperMauType NOTIFICATION-TYPE
    OBJECTS {
        lldpRemChassisId ,
        lldpRemPortId, 
        lldpXdot3RemPortOperMauType         
    }
    STATUS      current
    DESCRIPTION
           "A lldpMisConfigOperMauType  notification sent if the 
           Operational MauType of the two systems connected to the same link is different.

            It notifies the NMS that the information obtained from its neighbor 
            is mis-configured."
       ::= {lldpTraps 13}
   
    -- ---------------------------------------------------------------------
    -- QinQ Function
    -- ---------------------------------------------------------------------
      sysQinQSystem                OBJECT IDENTIFIER ::= { companyQinQ 1 }
    -- ------------------------------------------------------------------
    -- The QinQ System Group
    -- ------------------------------------------------------------------

    qinQGlobalStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used to enable/disable the Q-in-Q status."
        ::= { sysQinQSystem 1 }  
          
    qinQInnerTPID OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Sets the QinQ Inner TPID value per system"
        ::= { sysQinQSystem 3 }


    qinQConfigTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF QinQConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains Q-in-Q VLAN mode information about each port."
        ::= { sysQinQSystem 2 }

    qinQConfigEntry OBJECT-TYPE
        SYNTAX     QinQConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of Q-in-Q VLAN mode information for each port."
        INDEX { qinQIfIndex }
        ::= { qinQConfigTable 1 }

    QinQConfigEntry ::= 
            SEQUENCE {
              qinQIfIndex                    InterfaceIndex,
              qinQRoleState                  INTEGER,
              qinQOuterTPID                  Unsigned32,
              qinQMissDrop					 INTEGER,
              qinQAddInnerTag				 Unsigned32
              }

    qinQIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The index of the port. "
        ::= { qinQConfigEntry 1 }

    qinQRoleState OBJECT-TYPE
       SYNTAX       INTEGER { nni(1), uni(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Role as NNI or UNI."
        ::= { qinQConfigEntry 2 }

    qinQOuterTPID OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Outer TPID value."
        ::= { qinQConfigEntry 3 }
                  
   qinQMissDrop OBJECT-TYPE 
   SYNTAX      INTEGER {enabled(1),disabled(2)}
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object indicates if drop pkts that do not match selective QinQ rule"
   DEFVAL   { disabled } 
   ::= { qinQConfigEntry 4 } 

   qinQAddInnerTag OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "innter tag for C-VLAN untag pkts"
   ::= { qinQConfigEntry 5 }

    qinQVlanTranslationTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF QinQVlanTranslationEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains Q-in-Q VLAN translation config."
        ::= { sysQinQSystem 4 }

    qinQVlanTranslationEntry OBJECT-TYPE
        SYNTAX     QinQVlanTranslationEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of Q-in-Q VLAN translation config ."
        INDEX { qinQVlanTransPortNum, 
        		qinQVlanTransCVID}
        ::= { qinQVlanTranslationTable 1 }

    QinQVlanTranslationEntry ::= 
            SEQUENCE {
              qinQVlanTransPortNum                    INTEGER,
              qinQVlanTransCVID                  	  Integer32,
              qinQVlanTransSVID                       Integer32,
              qinQVlanTransAction                     INTEGER,
              qinQVlanTransPriority           		  INTEGER,
              qinQVlanTransRowStatus          		  RowStatus

              }

    qinQVlanTransPortNum OBJECT-TYPE
   SYNTAX      INTEGER
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The Index value of the port in the system for which this entry
      applies. The maximum index value of the port is defined by the
      system."
   ::= { qinQVlanTranslationEntry 1 }  
   
   qinQVlanTransCVID OBJECT-TYPE
    SYNTAX      Integer32(1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The customer VLAN ID in the customer VLAN tag of an ingress frame
        at this specified port or the customer VLAN ID to which the ingress
        frame is classified to, at this specified port."
    ::= { qinQVlanTranslationEntry  2 }   
    
    qinQVlanTransSVID OBJECT-TYPE
    SYNTAX      Integer32(1..4094)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "S-VLAN Id for the service instance to which this port and this 
        C-VLAN are mapped to.
         ie) CEP,C-VID ===> S-VID."
    ::= { qinQVlanTranslationEntry  3 } 
    
    qinQVlanTransAction OBJECT-TYPE
    SYNTAX      INTEGER { add(1), replace(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates add outer tag or replace inner tag by outer tag ." 
    DEFVAL   { add }  
    ::= { qinQVlanTranslationEntry 4 }

    
    qinQVlanTransPriority OBJECT-TYPE
    SYNTAX      INTEGER (-1..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The priority for rule matched outer tag.
		 -1 means use inner priority.
		" 
	DEFVAL   { -1 }  
    ::= { qinQVlanTranslationEntry 5 }   
    
    qinQVlanTransRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    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
        deleted when this object is SET 'destroy'."
    ::= { qinQVlanTranslationEntry  6 }


        -- -------------------------------------------------------------------------
        -- companyTftpGroup         
        -- -------------------------------------------------------------------------
            
    	sysTftpFwTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 1 }
    	             
        tftpFwTargetServerIpAddress OBJECT-TYPE
              SYNTAX Ipv6Address
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The TFTP server's IP address is used to upload or
  		           download firmware."
              ::= { sysTftpFwTargetGroup 1 }
 
        tftpFwTargetServerIpType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { sysTftpFwTargetGroup 2 }
               
        tftpFwTargetInterfaceName OBJECT-TYPE
               SYNTAX      OCTET STRING
               MAX-ACCESS  read-only
               STATUS      current
               DESCRIPTION
                   "Specifies the interface name when the tftpFwTargetServerIpAddress
                    is linklocal address."
               ::= { sysTftpFwTargetGroup 3 }
               
        tftpFwTargetImageFileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "Configure firmware filename to download."
             ::= { sysTftpFwTargetGroup 4 }

        tftpFwTargetTftpOperation OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    download(1),
                    upload(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "The tftp operates to perform downloading the firmware image
                 to the unit. This object is used in conjunction with
 		         configBootTftpServerIp and configBootImageFileName."
             ::= { sysTftpFwTargetGroup 5 }

        tftpFwTargetTftpOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3),
                    transmit(4)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "The tftp operation status represent firmware backup or upgrade status."
             ::= { sysTftpFwTargetGroup 6 }    	
         tftpFwTargetTransferPercentage OBJECT-TYPE
			SYNTAX INTEGER(0..100)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION "The file transfer percentage of the file upload or download."
              
			::= { sysTftpFwTargetGroup 7 } 	     
    	sysTftpCfgTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 2 }
    	                 	
         tftpCfgTargetServerIpAddress OBJECT-TYPE
              SYNTAX Ipv6Address
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The TFTP server's IP address is used to upload or
  		           download configuration file."
              ::= { sysTftpCfgTargetGroup 1 }

        tftpCfgTargetServerIpType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { sysTftpCfgTargetGroup 2 }
                
        tftpCfgTargetInterfaceName OBJECT-TYPE
               SYNTAX      OCTET STRING
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Specifies the interface name when the tftpCfgTargetServerIpAddress
                    is linklocal address."
               ::= { sysTftpCfgTargetGroup 3 }
                
         tftpCfgTargetImageFileName OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The configuration filename is used to store or retrieve config 
                   from the tftp server."
              ::= { sysTftpCfgTargetGroup 4 }
  
         tftpCfgTargetTftpOperation OBJECT-TYPE
              SYNTAX INTEGER {
                     download(1),
                     upload(2),
                     progressing(3)
              }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The tftp operates to perform either downloading the 
  		           configuration file to the unit or uploading the current
  		           configuration file to the tftp server. This object is 
  		           used in conjunction with configTftpServerIpAddress
  		           and configTftpServerFileName."
              ::= { sysTftpCfgTargetGroup 5 }

        tftpCfgTargetTftpOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "The tftp operation status represent configuration file backup or restore status."
             ::= { sysTftpCfgTargetGroup 6 }   
			 
			 

sysTftpSyslogTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 3 }

syslogFileSave OBJECT-TYPE
	SYNTAX INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "enable will save system log to file."
    DEFVAL  { disable }
	::= { sysTftpSyslogTargetGroup 1 }
	
 tftpSyslogTargetServerIpAddress OBJECT-TYPE
	  SYNTAX Ipv6Address
	  MAX-ACCESS read-write
	  STATUS current
	  DESCRIPTION
		  "The TFTP server's IP address is used to upload or
		   download system log file."
	  ::= { sysTftpSyslogTargetGroup 2 }

tftpSyslogTargetServerIpType OBJECT-TYPE
	   SYNTAX    INTEGER {
			  iPv4              (1),
			  iPv6	            (2)
		   }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		   "Type of IP interface."
	   ::= { sysTftpSyslogTargetGroup 3 }
		
tftpSyslogTargetInterfaceName OBJECT-TYPE
	   SYNTAX      OCTET STRING
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
		   "Specifies the interface name when the tftpSyslogTargetServerIpAddress
			is linklocal address."
	   ::= { sysTftpSyslogTargetGroup 4 }
		
 tftpSyslogTargetImageFileName OBJECT-TYPE
	  SYNTAX DisplayString (SIZE(1..64))
	  MAX-ACCESS read-write
	  STATUS current
	  DESCRIPTION
		  "The system log filename is used to store or retrieve system log 
		   from the tftp server."
	  ::= { sysTftpSyslogTargetGroup 5 }

 tftpSyslogTargetTftpOperation OBJECT-TYPE
	  SYNTAX INTEGER {
				 enable     (1),
				 disable    (2)
			  }
	  MAX-ACCESS read-write
	  STATUS current
	  DESCRIPTION
		  "The tftp operates to perform either downloading the 
		   system log file to the unit or uploading the current
		   system log file to the tftp server. This object is 
		   used in conjunction with configTftpServerIpAddress
		   and configTftpServerFileName.
	 Note:
		enable means backup system log file from dut."
	  ::= { sysTftpSyslogTargetGroup 6 }

tftpSyslogTargetTftpOperationStatus OBJECT-TYPE
	 SYNTAX INTEGER {
			none(0),
			success(1),
			fail(2),
			progressing(3)
	 }
	 MAX-ACCESS read-only
	 STATUS current
	 DESCRIPTION
		 "The tftp operation status represent system log file backup or restore status."
	 ::= { sysTftpSyslogTargetGroup 7 }   
	 
tftpSyslogTargetTftpTransferPercentage OBJECT-TYPE
	SYNTAX INTEGER(0..100)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The file transfer percentage of the file upload or download."
	::= { sysTftpSyslogTargetGroup 8 }   
	
-- ---------------------------------------------------------------------
-- Tftp Trap Group
-- ---------------------------------------------------------------------
sysTftpTrapGroup OBJECT IDENTIFIER ::= { companyTftpGroup 4 }
sysFimwareTraps 	 OBJECT IDENTIFIER ::= { sysTftpTrapGroup 0 }

	
sysFimwareupgradesuccess NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when Firware upgrade success."
 	::= {sysFimwareTraps 1 }          
sysFimwareillegalfile NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when Firware upgrade with issegalfile."
 	::= {sysFimwareTraps 2 }
sysFimwarefiletransferfailed NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when transfer file failed."
 	::= {sysFimwareTraps 3 }
sysFimwarewrongchecksum NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when Firware with wrong checksum ."
 	::= {sysFimwareTraps 4 }
sysFimwareuupgradefailed NOTIFICATION-TYPE
      STATUS             current
      DESCRIPTION
       "This is a trap that will send to snmp manager,and it will be generated when Firware upgrade failed."
 	::= {sysFimwareTraps 5 }



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

	    sysTimeRangeSettingTable OBJECT-TYPE
	       SYNTAX      SEQUENCE OF SysTimeRangeSettingEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	       DESCRIPTION
	           "A table to configure time Range in the system."
	       ::= { companyTimeRangeMgmt 1 }
	    
	    timeRangeSettingEntry OBJECT-TYPE
	       SYNTAX      SysTimeRangeSettingEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	            DESCRIPTION
	                "A schedule entry to configure time Range in the system."     
	       INDEX { timeRangeIndex }
	       ::= { sysTimeRangeSettingTable 1 }      
	       
	    SysTimeRangeSettingEntry ::=
	       SEQUENCE { 
	          	timeRangeIndex     	    Integer32,      
	          	timeRangeName	            DisplayString,
	          	timeRangeDate             INTEGER,          	          	
	            timeRangeStartYear		INTEGER,
	            timeRangeStartMonth		INTEGER,
	            timeRangeStartDay			Integer32,
	            timeRangeStartHour		Integer32,
	            timeRangeStartMinute    	Integer32,
	            timeRangeEndYear			INTEGER,
	            timeRangeEndMonth			INTEGER,
	            timeRangeEndDay			Integer32,
	            timeRangeEndHour			Integer32,
	            timeRangeEndMinute       	Integer32,          
	            timeRangeMonday          	INTEGER,
	            timeRangeTuesday         	INTEGER,
	            timeRangeWednesday       	INTEGER,
	            timeRangeThursday        	INTEGER,
	            timeRangeFriday          	INTEGER,
	            timeRangeSaturday        	INTEGER,
	            timeRangeSunday          	INTEGER,
	          	timeRangeRowStatus  		RowStatus             
	     } 
	
	    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."
	       ::= { timeRangeSettingEntry 1 }
	    
	    timeRangeName OBJECT-TYPE 
	       SYNTAX      DisplayString (SIZE(1..20))
	       MAX-ACCESS  read-write 
	       STATUS      current 
	            DESCRIPTION
	                "The Schedule name associated with the Schedule entry (e.g., `abc, bbb')."
	       ::= { timeRangeSettingEntry 2}
	
	    timeRangeDate  OBJECT-TYPE
	        SYNTAX INTEGER  {
	    		 enabled(1),
	    		 disabled(2)
	        }
	        MAX-ACCESS read-write
	        STATUS current
	        DESCRIPTION 
	            "Enable/Disable date range checking while executing time base PoE."
	        ::= { timeRangeSettingEntry 3}       
	       
		timeRangeStartYear  OBJECT-TYPE
	            SYNTAX INTEGER {
		               y2014(2014),
		               y2015(2015),
		               y2016(2016),
		               y2017(2017),
		               y2018(2018),
		               y2019(2019),
		               y2020(2020),
		               y2021(2021),
		               y2022(2022),
		               y2023(2023),
		               y2024(2024),
		               y2025(2025),
		               y2026(2026),
		               y2027(2027),
		               y2028(2028),
		               y2029(2029)
	            }
				   MAX-ACCESS   read-write
				   STATUS       current
	            DESCRIPTION
	                "Start year of the Schedule entry."
	            ::= { timeRangeSettingEntry 4 }
	
		timeRangeStartMonth  OBJECT-TYPE
	            SYNTAX INTEGER {
	                   january(1),
		               february(2),
		               march(3),
		               april(4),
		               may(5),
		               june(6),
		               july(7),
		               august(8),
		               september(9),
		               october(10),
		               november(11),
		               december(12)
	            }
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "Start month of the Schedule entry."
	            ::= { timeRangeSettingEntry 5 }
	
		timeRangeStartDay  OBJECT-TYPE
	            SYNTAX Integer32 (1..31)
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "Start day of the Schedule entry.
	                The value must be from 1 to 31."
	            ::= { timeRangeSettingEntry 6 }
		   
		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."
	            ::= { timeRangeSettingEntry 7 }
		
		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."
	            ::= { timeRangeSettingEntry 8 }	   
	
		timeRangeEndYear  OBJECT-TYPE
	            SYNTAX INTEGER {
		               y2011(2011),
		               y2012(2012),
		               y2013(2013),
		               y2014(2014),
		               y2015(2015),
		               y2016(2016),
		               y2017(2017),
		               y2018(2018),
		               y2019(2019),
		               y2020(2020),
		               y2021(2021),
		               y2022(2022),
		               y2023(2023),
		               y2024(2024),
		               y2025(2025),
		               y2026(2026),
		               y2027(2027),
		               y2028(2028),
		               y2029(2029)
	            }
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "End year of the Schedule entry."
	            ::= { timeRangeSettingEntry 9 }
	
		timeRangeEndMonth  OBJECT-TYPE
	            SYNTAX INTEGER {
	                   january(1),
		               february(2),
		               march(3),
		               april(4),
		               may(5),
		               june(6),
		               july(7),
		               august(8),
		               september(9),
		               october(10),
		               november(11),
		               december(12)
	            }
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "End month of the Schedule entry."
	            ::= { timeRangeSettingEntry 10 }
	
		timeRangeEndDay  OBJECT-TYPE
	            SYNTAX Integer32 (1..31)
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "End day of the Schedule entry.
	                The value must be from 1 to 31."
	            ::= { timeRangeSettingEntry 11 }
		   
		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."
	            ::= { timeRangeSettingEntry 12 }
		
		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."
	            ::= { timeRangeSettingEntry 13 }

        timeRangeMonday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Monday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 14 }            

        timeRangeTuesday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Tuesday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 15 }         
            
        timeRangeWednesday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Wednesday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 16 } 
            
        timeRangeThursday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Thursday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 17 } 
            
        timeRangeFriday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Friday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 18 }
            
        timeRangeSaturday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Saturday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 19 }
            
        timeRangeSunday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Sunday."
			  DEFVAL { disable }
			::= { timeRangeSettingEntry 20 }    
	
	    timeRangeRowStatus OBJECT-TYPE
	       SYNTAX      RowStatus
	       MAX-ACCESS  read-write
	       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."
	       ::= { timeRangeSettingEntry 21 }            




sysTraceRouteCtlAddressType OBJECT-TYPE
   SYNTAX      INTEGER {
			ipv4(1),
            ipv6(2)
    }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the type of host address to be used on the
       traceroute request at the remote host, 1(ipv4), 2(ipv6)."
   DEFVAL { 1 }
   ::= { companyTraceRoute 1 }

sysTraceRouteCtlAddress OBJECT-TYPE
   SYNTAX      InetAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the host address used on the
       traceroute request at the remote host.  The
       host address type can be determined by
       examining the value of the corresponding
       sysTraceRouteCtlTargetAddressType."
   ::= { companyTraceRoute 2 }
   
sysTraceRouteCtlTimeOut OBJECT-TYPE
   SYNTAX      Unsigned32 (1..60)
   UNITS       "seconds"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the time-out value, in seconds, for
       a traceroute request."
   DEFVAL { 3 }
   ::= { companyTraceRoute 3 }
   
sysTraceRouteCtlTTL OBJECT-TYPE
   SYNTAX      Unsigned32 (1..60)
   UNITS       "time-to-live value"

   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the time-to-live value."
   DEFVAL { 30 }
   ::= { companyTraceRoute 4 }
   
sysTraceRouteCtlPort OBJECT-TYPE
   SYNTAX      Unsigned32 (30000..64900)
   UNITS       "UDP Port"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the (initial) UDP port to send the traceroute
       request to.  A port needs to be specified that is not in
       use at the destination (target) host.  The default
       value for this object is the IANA assigned port,
       33434, for the traceroute function."
   DEFVAL { 33434 }
   ::= { companyTraceRoute 5 }
   
sysTraceRouteCtlProbe OBJECT-TYPE
   SYNTAX      Unsigned32 (1..9)
   UNITS       "probes"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the number of times to reissue a traceroute
       request with the same time-to-live (TTL) value."
   DEFVAL { 3 }
   ::= { companyTraceRoute 6 }

sysTraceRouteCtlAdminStatus OBJECT-TYPE
	SYNTAX INTEGER {
			enabled(1),
            disabled(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Control the traceroute action state, value should be in:
			enabled(1)  - Attempt to activate the test as configure.
			disabled(2) - Deactivate the test."
	DEFVAL { 2 }
    ::= { companyTraceRoute 7 }
   
sysTraceRouteHistoryTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SysTraceRouteHistoryEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Defines the Remote Operations Traceroute Results Table
       for storing the results of a traceroute operation.

       An implementation of this MIB will remove the oldest

       entry in the traceRouteProbeHistoryTable of the
       corresponding entry in the traceRouteCtlTable to allow
       the addition of a new entry once the number of rows in
       the traceRouteProbeHistoryTable reaches the value specified
       by traceRouteCtlMaxRows for the corresponding entry in the
       traceRouteCtlTable."
  ::= { companyTraceRoute 8 }

traceRouteHistoryEntry OBJECT-TYPE
   SYNTAX      SysTraceRouteHistoryEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Defines a table for storing the results of a traceroute
       operation.  Entries in this table are limited by
       the value of the corresponding traceRouteCtlMaxRows
       object.

       The first two index elements identify the
       traceRouteCtlEntry that a traceRouteProbeHistoryEntry
       belongs to.  The third index element selects a single
       traceroute operation result.  The fourth and fifth indexes
       select the hop and the probe for a particular
       traceroute operation."
   INDEX {
			traceRouteHistoryIndex,
            traceRouteHistoryHopIndex,
            traceRouteHistoryProbeIndex
         }
   ::= { sysTraceRouteHistoryTable 1 }

SysTraceRouteHistoryEntry ::=
   SEQUENCE {
	 traceRouteHistoryIndex			Unsigned32,
     traceRouteHistoryHopIndex      Unsigned32,
     traceRouteHistoryProbeIndex    Unsigned32,
	 traceRouteHistoryHAddrType		InetAddressType,
	 traceRouteHistoryHAddr			InetAddress,
     traceRouteHistoryResponse      Unsigned32,
     traceRouteHistoryStatus        OperationResponseStatus

   }
traceRouteHistoryIndex OBJECT-TYPE
   SYNTAX      Unsigned32 (1..'ffffffff'h)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "An entry in this table is created when the result of
 	a traceroute probe is determined.  The initial 2 instance
 	identifier index values identify the traceRouteCtlEntry
 	that a probe result (traceRouteProbeHistoryEntry) belongs
 	to.  An entry is removed from this table when
 	its corresponding traceRouteCtlEntry is deleted."
   ::= { traceRouteHistoryEntry 1 }
traceRouteHistoryHopIndex OBJECT-TYPE
   SYNTAX      Unsigned32 (1..255)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates which hop in a traceroute path the probe's
      results are for.  The value of this object is initially
      determined by the value of traceRouteCtlInitialTtl."
   ::= { traceRouteHistoryEntry 2 }
traceRouteHistoryProbeIndex OBJECT-TYPE
   SYNTAX      Unsigned32 (1..10)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates the index of a probe for a particular
      hop in a traceroute path.  The number of probes per
      hop is determined by the value of the corresponding
      traceRouteCtlProbesPerHop object."
   ::= { traceRouteHistoryEntry 3 }
traceRouteHistoryHAddrType OBJECT-TYPE
   SYNTAX      InetAddressType
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "This objects indicates the type of address stored
       in the corresponding traceRouteHistoryHAddr
       object."
   ::= { traceRouteHistoryEntry 4 }

traceRouteHistoryHAddr OBJECT-TYPE
   SYNTAX      InetAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The address of a hop in a traceroute path.  This object
      is not allowed to be a DNS name.  The value of the
      corresponding object, traceRouteHistoryHAddrType,
      indicates this object's IP address type."
   ::= { traceRouteHistoryEntry 5 }

traceRouteHistoryResponse OBJECT-TYPE
   SYNTAX      Unsigned32
   UNITS       "milliseconds"
   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."
   ::= { traceRouteHistoryEntry 6 }

traceRouteHistoryStatus OBJECT-TYPE
   SYNTAX      OperationResponseStatus
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The result of a traceroute operation made by a remote
       host for a particular probe."
   ::= { traceRouteHistoryEntry 7 }
        -- ----------------------------------------------------------------
        -- The RMON group
        -- ----------------------------------------------------------------
      sysRMONGlobalState OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object is for enabling or disabling RMON function."
        
           ::= { companyRMON 1 }

     sysRMONStatistics        OBJECT IDENTIFIER ::= { companyRMON 2 }
     sysRMONHistory           OBJECT IDENTIFIER ::= { companyRMON 3 }
     sysRMONAlarm             OBJECT IDENTIFIER ::= { companyRMON 4 }
     sysRMONEvent             OBJECT IDENTIFIER ::= { companyRMON 5 }
     
-- 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."
     ::= { sysRMONStatistics 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,
     rmonStatsStatus                   RmonStatus,
	 rmonStatsDropEvents               Counter32,
	 rmonStatsOctets                   Counter32,
	 rmonStatsPkts                     Counter32,
	 rmonStatsBroadcastPkts            Counter32,
	 rmonStatsMulticastPkts            Counter32
 }

 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 }

 rmonStatsStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this etherStats entry."
     ::= { rmonStatsEntry 4 }
  
 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 5 }

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

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

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

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

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

 rmonHistoryTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF RmonHistoryEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of history control entries."
     ::= { sysRMONHistory 1 }

 rmonHistoryEntry OBJECT-TYPE
     SYNTAX     RmonHistoryEntry
     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 { rmonHistoryIndex }
     ::= { rmonHistoryTable 1 }

 RmonHistoryEntry ::= SEQUENCE {
     rmonHistoryIndex             Integer32,
     rmonHistoryDataSource        OBJECT IDENTIFIER,
     rmonHistoryBucketsRequested  Integer32,
     rmonHistoryInterval          Integer32,
     rmonHistoryOwner             OwnerString,
     rmonHistoryStatus            RmonStatus
 }

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

 rmonHistoryDataSource 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)."
     ::= { rmonHistoryEntry 2 }

 rmonHistoryBucketsRequested OBJECT-TYPE
     SYNTAX     Integer32 (1..50)
     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 }
     ::= { rmonHistoryEntry 3 }

 rmonHistoryInterval 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 }
     ::= { rmonHistoryEntry 4 }

 rmonHistoryOwner 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."
     ::= { rmonHistoryEntry 5 }

 rmonHistoryStatus 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)."
     ::= { rmonHistoryEntry 6 }


 -- 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."
     ::= { sysRMONAlarm 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,
     rmonAlarmRisingThreshold          Integer32,
     rmonAlarmFallingThreshold         Integer32,
     rmonAlarmRisingEventIndex         Integer32,
     rmonAlarmFallingEventIndex        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 }

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

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

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

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

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

 rmonAlarmStatus OBJECT-TYPE
     SYNTAX     RmonStatus
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "The status of this alarm entry."
     ::= { rmonAlarmEntry 10 }

 -- 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."
     ::= { sysRMONEvent 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 (1..32))
     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 }	 

        -- ----------------------------------------------------------
		-- The DHCP Relay
		-- ----------------------------------------------------------
  sysDHCPRelayControl                   OBJECT IDENTIFIER ::= { companyDHCPRelay 1 }
  sysDHCPRelayManagement                OBJECT IDENTIFIER ::= { companyDHCPRelay 2 }
  dhcpRelayManagermentOption82        OBJECT IDENTIFIER ::= { sysDHCPRelayManagement 2 }
        
		-- The DHCP Relay Control
        
            
            dhcpRelayState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP relay function is enabled or disabled."
            ::= { sysDHCPRelayControl 1 }

            dhcpRelayHopCount OBJECT-TYPE
                SYNTAX  INTEGER (1..16)
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the maximum number of router hops that the BOOTP packets can cross."
            ::= { sysDHCPRelayControl 2 }

            dhcpRelayTimeThreshold OBJECT-TYPE
                SYNTAX  Integer32 (0..65535)
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the minimum time in seconds within which the switch must relay the DHCP request.
                    If this time is exceeded, the switch will drop the DHCP packet."
            ::= { sysDHCPRelayControl 3 }


		-- The DHCP Relay Management
		-- The DHCP Relay Interface Settings Table

            dhcpRelayInterfaceSettingsTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF DHCPRelayInterfaceSettingsEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "This table indicates the IP address as a destination to forward (relay) DHCP packets to."
            ::= { sysDHCPRelayManagement 1 }

            dhcpRelayInterfaceSettingsEntry OBJECT-TYPE
                SYNTAX  DHCPRelayInterfaceSettingsEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "A list of information indicates the IP address as a destination to forward (relay) DHCP packets to."
                INDEX  {dhcpRelayServerIP}
            ::= { dhcpRelayInterfaceSettingsTable 1 }

            DHCPRelayInterfaceSettingsEntry ::=
                SEQUENCE {
                    dhcpRelayServerIP
                        IpAddress,
					dhcpRelayInterface
                        DisplayString,
                    dhcpRelayInterfaceSettingsRowStatus
                        RowStatus
                }

            dhcpRelayServerIP OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                    "This object indicates the DHCP server IP address."
            ::= { dhcpRelayInterfaceSettingsEntry 1 }
			
			dhcpRelayInterface OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object indicates the input Interface Index value mapped to this Server Address Table."
            ::= { dhcpRelayInterfaceSettingsEntry 2 }

            dhcpRelayInterfaceSettingsRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the status of this entry."
            ::= { dhcpRelayInterfaceSettingsEntry 3 }

		-- The DHCP Relay Management
		-- The DHCP Relay Option82

			dhcpRelayOption82State OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "Only when enabled, the Relay Agent shall do any processing
 					 related to Relay Agent Information Options - like
 					 inserting the necessary options while relaying a packet
 					 from a client to a server and examining/stripping of
 					 options when relaying a packet from a server to a client."
            ::= { dhcpRelayManagermentOption82 1 }
            
            dhcpRelayOption82CheckState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP relay option 82 Check function is enabled or disabled."
            ::= { dhcpRelayManagermentOption82 2 }

            dhcpRelayOption82Policy OBJECT-TYPE
                SYNTAX  INTEGER {
                    replace(1),
                    drop(2),
                    keep(3)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP relay option 82 policy."
            ::= { dhcpRelayManagermentOption82 3 }

	        dhcpRelayOption82RemoteIDType OBJECT-TYPE
                SYNTAX  INTEGER {
                    default(1),
                    userdefined(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the type of remote ID.
                    If the type is default, the remote ID will be the MAC address of the device, otherwise,
                    the remote ID can be defined by writing to the swDHCPRelayOption82RemoteID object."
            ::= { dhcpRelayManagermentOption82 4 }

	        dhcpRelayOption82RemoteID OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object displays the current remote ID of the device.
                    If DHCPRelayOption82RemoteIDType is set to default, the value will be the MAC address of the device,
                    and this object cannot be modified.
                    If DHCPRelayOption82RemoteIDType is set to user-defined, a new value can be written to this object."
            ::= { dhcpRelayManagermentOption82 5 }
            
            
  		-- ----------------------------------------------------------
		-- The DHCP LocalRelay
		-- ----------------------------------------------------------
		-- The DHCP Local Relay Table
            sysDHCPLocalRelayGlobalState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP local relay function is enabled or disabled globally."
            ::= { companyDHCPLocalRelay 1 }

            sysDHCPLocalRelayTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF DHCPLocalRelayEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "This table indicates the IP address as a destination to forward (local relay) DHCP packets to."
            ::= { companyDHCPLocalRelay 2 }

            dhcpLocalRelayEntry OBJECT-TYPE
                SYNTAX  DHCPLocalRelayEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "A list of information indicates the IP address as a destination to forward (local relay) DHCP packets to."
                INDEX  { dhcpLocalRelayVlanId }
            ::= { sysDHCPLocalRelayTable 1 }

            DHCPLocalRelayEntry ::=
                SEQUENCE {
                    dhcpLocalRelayVlanId
                        Integer32,
                    dhcpLocalRelayState
                        INTEGER
                }

	        dhcpLocalRelayVlanId OBJECT-TYPE
                SYNTAX  Integer32 (1..4094)
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object displays the current VLAN ID of the device."
            ::= { dhcpLocalRelayEntry 1 }

            dhcpLocalRelayState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP local relay function of VLAN is enabled or disabled."
            ::= { dhcpLocalRelayEntry 2 }
            

        sysDHCPv6RelayControl                   OBJECT IDENTIFIER ::= { companyDHCPv6Relay 1 }
        sysDHCPv6RelayManagement                OBJECT IDENTIFIER ::= { companyDHCPv6Relay 2 }
        sysDHCPv6RelayOption37                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 3 }
        -- ----------------------------------------------------------
		-- The DHCPv6 Relay
		-- ----------------------------------------------------------

		-- The DHCPv6 Relay Control

            dhcpv6RelayState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCPv6 relay function is enabled or disabled."
            ::= { sysDHCPv6RelayControl 1 }

            dhcpv6RelayHopCount OBJECT-TYPE
                SYNTAX  INTEGER (1..32)
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the maximum number of router hops that the DHCPv6 packets can cross."
            ::= { sysDHCPv6RelayControl 2 }


		-- The DHCPv6 Relay Management
		-- The DHCPv6 Relay Interface Settings Table

            dhcpv6RelayInterfaceTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF Dhcpv6RelayInterfaceEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "This table indicates the IP address as a destination to forward (relay) DHCP packets to."
            ::= { sysDHCPv6RelayManagement 1 }

            dhcpv6RelayInterfaceEntry OBJECT-TYPE
                SYNTAX  Dhcpv6RelayInterfaceEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "A list of information indicates the IP address as a destination to forward (relay) DHCP packets to."
                INDEX  { dhcpv6RelayServerIP}
            ::= { dhcpv6RelayInterfaceTable 1 }

            Dhcpv6RelayInterfaceEntry ::=
                SEQUENCE {
                    dhcpv6RelayServerIP
                        Ipv6Address,
                    dhcpv6RelayInterface
                        DisplayString,
                    dhcpv6RelayRowStatus
                        RowStatus
                }

            dhcpv6RelayServerIP OBJECT-TYPE
                SYNTAX Ipv6Address
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                    "This object indicates the DHCP server IP address."
           ::= { dhcpv6RelayInterfaceEntry 1 }
 
			dhcpv6RelayInterface OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object indicates the input Interface Index value mapped to this Server Address Table."
             ::= { dhcpv6RelayInterfaceEntry 2 }

            dhcpv6RelayRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the status of this entry."
            ::= { dhcpv6RelayInterfaceEntry 3 }


		-- The DHCPv6 Relay Option37

            dhcpv6RelayOption37State OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCPv6 relay option 37 function is enabled or disabled."
            ::= { sysDHCPv6RelayOption37 1 }

            dhcpv6RelayOption37CheckState OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCPv6 relay option 37 Check function is enabled or disabled."
            ::= { sysDHCPv6RelayOption37 2 }

	        dhcpv6RelayOption37RemoteIDType OBJECT-TYPE
                SYNTAX  INTEGER {
                    default(0),
                    cid_with_user_define(1),
                    user_define(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the type of remote ID."
            ::= { sysDHCPv6RelayOption37 3 }

	        dhcpv6RelayOption37RemoteID OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object displays the current remote ID of the device.
                    If RemoteIDType is set to default, the value will be the MAC address of the device,
                    and this object cannot be modified.
                    If RemoteIDType is set to user-defined, a new value can be written to this object."
            ::= { sysDHCPv6RelayOption37 4 }
            

 		-- ----------------------------------------------------------
		-- The companyTrafficMgmt Groups
		-- ----------------------------------------------------------      		

        -- Bandwidth Control Group --------------------------------------------- --
		sysBandwidthCtrlSettings  OBJECT IDENTIFIER ::= { companyTrafficMgmt 1 }
                
        bandwidthCtrlTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF BandwidthCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "A table to control the rate limiting parameters 
               either for the entire switch or for each interface in the switch."
           ::= { sysBandwidthCtrlSettings 2 }
        
        bandwidthCtrlEntry OBJECT-TYPE 
           SYNTAX      BandwidthCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "An entry appears in this table for each physical
               interface in the switch."
           INDEX { bandwidthCtrlIndex }
           ::= { bandwidthCtrlTable 1 }
           
        BandwidthCtrlEntry ::= 
           SEQUENCE { 
              bandwidthCtrlIndex 
                 Integer32, 
              bandwidthCtrlTxThreshold
                 Integer32,
			  bandwidthCtrlEffectiveTxThreshold
                 Integer32,
              bandwidthCtrlRxThreshold
                 Integer32,
			  bandwidthCtrlEffectiveRxThreshold
                 Integer32
          }
        
        bandwidthCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies."
           ::= { bandwidthCtrlEntry 1 }
            
        
        bandwidthCtrlTxThreshold OBJECT-TYPE
           SYNTAX      Integer32 (0 | 64..1000000)
           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. The value can 
              be set between 64~100000(Kbits per second) in FE port, 64~1000000
              (Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 2 }        
        
		bandwidthCtrlEffectiveTxThreshold OBJECT-TYPE
           SYNTAX      Integer32 (0 | 64..1000000)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Configures the new 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. The value can 
              be set between 64~100000(Kbits per second) in FE port, 64~1000000
              (Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 3 }    
		   
        bandwidthCtrlRxThreshold OBJECT-TYPE 
           SYNTAX      Integer32 (0 | 64..1000000)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Allows to configure the limiting value for the maximum number
               of receive packets that can be transmitted per second over this 
               interface. Setting this object to the value zero disables rate 
               limiting for receive packets on this interface. The value that
               can be set for this object is limited by the underlying hardware. 
               The value can be set between 64~100000(Kbits per second) in FE 
               port,  64~1000000(Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 4}       

		bandwidthCtrlEffectiveRxThreshold OBJECT-TYPE 
           SYNTAX      Integer32 (0 | 64..1000000)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Allows to configure the new limiting value for the maximum number
               of receive packets that can be transmitted per second over this 
               interface. Setting this object to the value zero disables rate 
               limiting for receive packets on this interface. The value that
               can be set for this object is limited by the underlying hardware. 
               The value can be set between 64~100000(Kbits per second) in FE 
               port,  64~1000000(Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 5}

       -- Traffic Control Group --------------------------------------------- --
       
       sysTrafficCtrlSettings OBJECT IDENTIFIER ::= { companyTrafficMgmt 4 }
       
	   trafficCtrlTrap OBJECT-TYPE
          SYNTAX INTEGER {
          		none(0),
          		stormOccurred(1),
          		stormCleared(2),
           		both(3)
          }
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
              "The trap setting of traffic control."
          ::= { sysTrafficCtrlSettings 1 }

       
	   trafficCtrlTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF TrafficCtrlEntry
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
              "The traffic control table."
          ::= { sysTrafficCtrlSettings 2 }

       trafficCtrlEntry OBJECT-TYPE 
          SYNTAX      TrafficCtrlEntry
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
              "The traffic control entry."
          INDEX { trafficCtrlIndex }
          ::= { trafficCtrlTable 1 }

       TrafficCtrlEntry ::= 
          SEQUENCE { 
             trafficCtrlIndex 
                Integer32, 
             trafficCtrlActionMode
                INTEGER, 
             trafficCtrlType
                INTEGER,
             trafficCtrlThreshold
             	Integer32,
             trafficCtrlCountDown
             	Integer32,
             trafficCtrlTimeInterval
             	Integer32,
			 trafficCtrlPortState
             	INTEGER
       }
       
       trafficCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..65535)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The traffic control index."
           ::= { trafficCtrlEntry 1 }

        trafficCtrlActionMode OBJECT-TYPE
           SYNTAX INTEGER {
           		drop(0),
           		shutdown(1)
           }
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The action mode of traffic control."
           ::= { trafficCtrlEntry 2 }
   
   
        trafficCtrlType OBJECT-TYPE
           SYNTAX INTEGER {
           		none(0),
           		b(1),
           		m(2),
           		mb(3),
           		u(4),
           		ub(5),
           		um(6),
           		umb(7)
           }
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The control type of traffic control.
               (b: Broadcast, m: Multicast, u: Unknown Unicast)"
           ::= { trafficCtrlEntry 3 }

        trafficCtrlThreshold OBJECT-TYPE
           SYNTAX       Integer32 (1..102400)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The threshold of traffic control.
		   In drop mode,threshold should be times of 64,its range is 64 to 1000000,unit is kbps
		   In Shutdown mode,threshold's range is 1 to 255000,unit is pkts per second"
           ::= { trafficCtrlEntry 4 }
 
        trafficCtrlCountDown OBJECT-TYPE
           SYNTAX       Integer32 (0..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The count down value of traffic control."
           ::= { trafficCtrlEntry 5 }   
              
        trafficCtrlTimeInterval OBJECT-TYPE
           SYNTAX       Integer32 (5..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The time interval of traffic control."
           ::= { trafficCtrlEntry 6 } 
		   
		trafficCtrlPortState OBJECT-TYPE     
		SYNTAX      INTEGER {
					normal(0),
					blocking(1),
					shutdown(2)
					}
			MAX-ACCESS  read-only
			STATUS      current 
			DESCRIPTION 
					"The Traffic control port status in shutdown mode." 
			DEFVAL  { normal }

			::= { trafficCtrlEntry 7 }
    
	-- ---------------------------------------------------------------------
    -- QoS Trap Function
    -- ---------------------------------------------------------------------
	sysStormCtrlTrap	     OBJECT IDENTIFIER ::= { companyTrafficMgmt 5 }
	stormCtrlTrap	     OBJECT IDENTIFIER ::= { sysStormCtrlTrap 0 }
	
	stormOccurred NOTIFICATION-TYPE
	OBJECTS {
        trafficCtrlIndex,
        trafficCtrlType
    }
    STATUS      current
    DESCRIPTION
        "when storm event occur on the port ,it will send out storm occured snmp trap to snmp manager."
    ::= { stormCtrlTrap 1 }
	
	stormCleared NOTIFICATION-TYPE
	OBJECTS {
        trafficCtrlIndex,
		trafficCtrlTimeInterval
    }
    STATUS      current
    DESCRIPTION
        "when storm event cleared on the port, it will send out a storm cleared snmp trap to snmp manager."
    ::= { stormCtrlTrap 2 }
    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------ 
    sysQos1p     OBJECT IDENTIFIER ::= { companyQoSGroup 4 }
    
    qosTrafficClassTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF QosTrafficClassEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	        "A table mapping evaluated User Priority to Traffic
	        Class, for forwarding by the bridge."
	    REFERENCE
	        "ISO/IEC 15802-3 Table 7-2"
	    ::= { sysQos1p 1 }
	
	qosTrafficClassEntry OBJECT-TYPE
	    SYNTAX      QosTrafficClassEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	        "User Priority to Traffic Class mapping."
	    INDEX   {qosTrafficClassPriority }
	    ::= { qosTrafficClassTable 1 }
	
	QosTrafficClassEntry ::=
	    SEQUENCE {
	        qosTrafficClassPriority
	            INTEGER,
	        qosTrafficClass
	            INTEGER
	    }
	
	qosTrafficClassPriority OBJECT-TYPE
	    SYNTAX      INTEGER (0..7)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The Priority value determined for the received frame.
	        This value is equivalent to the priority indicated in
	        the tagged frame received, or one of the evaluated
	        priorities, determined according to the media-type."
	    ::= { qosTrafficClassEntry 1 }
	
	qosTrafficClass OBJECT-TYPE
	    SYNTAX      INTEGER (0..7)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The Traffic Class the received frame is mapped to."
	    ::= {qosTrafficClassEntry 2 }

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------ 
    sysQosPortBase     OBJECT IDENTIFIER ::= { companyQoSGroup 3 }
    
    qosPortBaseTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF QosPortBaseEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority Entries."
        ::= { sysQosPortBase 1 }
        
    qosPortBaseEntry OBJECT-TYPE
        SYNTAX QosPortBaseEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority priorities."
        INDEX { qosPortBasePortIndex }
        ::= { qosPortBaseTable 1 }
        
    QosPortBaseEntry ::= SEQUENCE {
        qosPortBasePortIndex                 INTEGER,
        qosPortBasePriority              	 INTEGER,
        qosPortBaseEffectivePriority		 INTEGER
    }
    
    qosPortBasePortIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "A port identifier that is in the range of 1 to ifNumber."
        ::= { qosPortBaseEntry 1 }
        
    qosPortBasePriority OBJECT-TYPE
        SYNTAX INTEGER (0..7) 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "For ingress packets, the per port 'Default Priority'
         setting will be applied to packets of each port to provide 
         port-based traffic prioritization."
        ::= { qosPortBaseEntry 2 }    

     qosPortBaseEffectivePriority OBJECT-TYPE
        SYNTAX INTEGER (0..7) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "For ingress packets, the per port 'Effective Default 
		Priority' setting will be applied to packets of each port to 
		provide port-based traffic prioritization."
        ::= { qosPortBaseEntry 3 }  
    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------
    
	sysQosMode  OBJECT-TYPE
        SYNTAX INTEGER { 
           dot1p(1), 
           dscp(2) ,
           portbase (3)
        } 
        MAX-ACCESS    read-write 
        STATUS        current
        DESCRIPTION 
           "Settings of Qos mode.
			Qos PortBase, 802.1p or DSCP mode.
			PortBase: 
				When Qos in Port Base mode, ingress packets from each port SHOULD be forwarded to the specific queue according to Port Base Priority settings for traffic per-port classification

			802.1p:
				When Qos is placed in 802.1P mode, ingress tagged packets SHOULD be classified to 8 different queues according to its carrying 802.1P priority and queue setting
			DSCP:
				When Qos in DSCP mode, ingress packets MUST be classified to the specified queue according to its DSCP and queue mapping " 
        ::= { companyQoSGroup 1 } 

    sysQosQueuingMechanism       OBJECT-TYPE 
        SYNTAX INTEGER {
            strictPriority(1),
            wrr(2)
        } 
        MAX-ACCESS    read-write 
        STATUS        current
        DESCRIPTION 
           "Queuing mechanism.
                 strictPriority(1) : Strict Priority
                 wrr(2)            : Weighted Round Robin    
            Strict-priority scheduling is implemented with a special strict-priority scheduler 
			node that is stacked directly above the port. Queues stacked on top of the strict-priority 
			scheduler node always get bandwidth before other queues.   
			
            Weighted round-robin scheduling is designed to better handle queues with different 
			processing capacities. Each queue has a weight : Low is 1, Medium is 2, High is 4 and 
			Highest is 8. Queues with higher weights get bandwidth before than other 
			queues with less weights. 
           " 
        ::= { companyQoSGroup 2 }     

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------
    sysQosDiffServ     OBJECT IDENTIFIER ::= { companyQoSGroup 6 }
    

    qosDiffServTypeGroup OBJECT IDENTIFIER ::= { sysQosDiffServ 1 }
    
    qosDiffServType00 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
    	MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 0 : IP ToS value = 0"  
        ::= { qosDiffServTypeGroup 1 }
    
    qosDiffServType01 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
    	MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 01 : IP ToS value = 4"  
        ::= { qosDiffServTypeGroup 2 }
        
    qosDiffServType02 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 02 : IP ToS value = 8"  
        ::= { qosDiffServTypeGroup 3 }
    
    qosDiffServType03 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 03 : IP ToS value = 12"  
        ::= { qosDiffServTypeGroup 4 }
        
    qosDiffServType04 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 04 : IP ToS value = 16"  
        ::= { qosDiffServTypeGroup 5 }
    
    qosDiffServType05 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 05 : IP ToS value = 20"  
        ::= { qosDiffServTypeGroup 6 }
        
    qosDiffServType06 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 06 : IP ToS value = 24"  
        ::= { qosDiffServTypeGroup 7 }
    
    qosDiffServType07 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 07 : IP ToS value = 28"  
        ::= { qosDiffServTypeGroup 8 }
        
    qosDiffServType08 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 08 : IP ToS value = 32"  
        ::= { qosDiffServTypeGroup 9 }
    
    qosDiffServType09 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 09 : IP ToS value = 36"  
        ::= { qosDiffServTypeGroup 10 }
        
    qosDiffServType10 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 10 : IP ToS value = 40"  
        ::= { qosDiffServTypeGroup 11 }
    
    qosDiffServType11 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 11 : IP ToS value = 44"  
        ::= { qosDiffServTypeGroup 12 }
        
    qosDiffServType12 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 12 : IP ToS value = 48"  
        ::= { qosDiffServTypeGroup 13 }
    
    qosDiffServType13 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 13 : IP ToS value = 52"  
        ::= { qosDiffServTypeGroup 14 }
        
    qosDiffServType14 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 14 : IP ToS value = 56"  
        ::= { qosDiffServTypeGroup 15 }
    
    qosDiffServType15 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 15 : IP ToS value = 60"  
        ::= { qosDiffServTypeGroup 16 }
        
    qosDiffServType16 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 16 : IP ToS value = 64"  
        ::= { qosDiffServTypeGroup 17 }
    
    qosDiffServType17 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 17 : IP ToS value = 68"  
        ::= { qosDiffServTypeGroup 18 }
        
    qosDiffServType18 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 18 : IP ToS value = 72"  
        ::= { qosDiffServTypeGroup 19 }
    
    qosDiffServType19 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 19 : IP ToS value = 76"  
        ::= { qosDiffServTypeGroup 20 }
        
    qosDiffServType20 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 20 : IP ToS value = 80"  
        ::= { qosDiffServTypeGroup 21 }
    
    qosDiffServType21 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 21 : IP ToS value = 84"  
        ::= { qosDiffServTypeGroup 22 }                                            
        
    qosDiffServType22 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 22 : IP ToS value = 88"  
        ::= { qosDiffServTypeGroup 23 }
    
    qosDiffServType23 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 23 : IP ToS value = 92"  
        ::= { qosDiffServTypeGroup 24 }
        
    qosDiffServType24 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 24 : IP ToS value = 96"  
        ::= { qosDiffServTypeGroup 25 }
    
    qosDiffServType25 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 25 : IP ToS value = 100"  
        ::= { qosDiffServTypeGroup 26 }
        
    qosDiffServType26 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 26 : IP ToS value = 104"  
        ::= { qosDiffServTypeGroup 27 }
    
    qosDiffServType27 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 27 : IP ToS value = 108"  
        ::= { qosDiffServTypeGroup 28 }
        
    qosDiffServType28 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 28 : IP ToS value = 112"  
        ::= { qosDiffServTypeGroup 29 }
    
    qosDiffServType29 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 29 : IP ToS value = 116"  
        ::= { qosDiffServTypeGroup 30 }   
    
    qosDiffServType30 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 30 : IP ToS value = 120"  
        ::= { qosDiffServTypeGroup 31 }
    
    qosDiffServType31 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 31 : IP ToS value = 124"  
        ::= { qosDiffServTypeGroup 32 }
    
    qosDiffServType32 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 32 : IP ToS value = 128"  
        ::= { qosDiffServTypeGroup 33 }
    
    qosDiffServType33 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 33 : IP ToS value = 132"  
        ::= { qosDiffServTypeGroup 34 }
        
    qosDiffServType34 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 34 : IP ToS value = 136"  
        ::= { qosDiffServTypeGroup 35 }
    
    qosDiffServType35 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 35 : IP ToS value = 140"  
        ::= { qosDiffServTypeGroup 36 }
        
    qosDiffServType36 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 36 : IP ToS value = 144"  
        ::= { qosDiffServTypeGroup 37 }
    
    qosDiffServType37 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 37 : IP ToS value = 148"  
        ::= { qosDiffServTypeGroup 38 }
        
    qosDiffServType38 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 38 : IP ToS value = 152"  
        ::= { qosDiffServTypeGroup 39 }
    
    qosDiffServType39 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 39 : IP ToS value = 156"  
        ::= { qosDiffServTypeGroup 40 }
        
    qosDiffServType40 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 40 : IP ToS value = 160"  
        ::= { qosDiffServTypeGroup 41 }
    
    qosDiffServType41 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 41 : IP ToS value = 164"  
        ::= { qosDiffServTypeGroup 42 }
        
    qosDiffServType42 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 42 : IP ToS value = 168"  
        ::= { qosDiffServTypeGroup 43 }
    
    qosDiffServType43 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 43 : IP ToS value = 172"  
        ::= { qosDiffServTypeGroup 44 }
        
    qosDiffServType44 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 44 : IP ToS value = 176"  
        ::= { qosDiffServTypeGroup 45 }
    
    qosDiffServType45 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 45 : IP ToS value = 180"  
        ::= { qosDiffServTypeGroup 46 }
        
    qosDiffServType46 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 46 : IP ToS value = 184"  
        ::= { qosDiffServTypeGroup 47 }
    
    qosDiffServType47 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 47 : IP ToS value = 188"  
        ::= { qosDiffServTypeGroup 48 }
        
    qosDiffServType48 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 48 : IP ToS value = 192"  
        ::= { qosDiffServTypeGroup 49 }
    
    qosDiffServType49 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 49 : IP ToS value = 196"  
        ::= { qosDiffServTypeGroup 50 }
        
    qosDiffServType50 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 50 : IP ToS value = 200"  
        ::= { qosDiffServTypeGroup 51 }
    
    qosDiffServType51 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 51 : IP ToS value = 204"  
        ::= { qosDiffServTypeGroup 52 }
        
    qosDiffServType52 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 52 : IP ToS value = 208"  
        ::= { qosDiffServTypeGroup 53 }
    
    qosDiffServType53 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 53 : IP ToS value = 212"  
        ::= { qosDiffServTypeGroup 54 }                                            
        
    qosDiffServType54 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 54 : IP ToS value = 216"  
        ::= { qosDiffServTypeGroup 55 }
    
    qosDiffServType55 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 55 : IP ToS value = 220"  
        ::= { qosDiffServTypeGroup 56 }
        
    qosDiffServType56 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 56 : IP ToS value = 224"  
        ::= { qosDiffServTypeGroup 57 }
    
    qosDiffServType57 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 57 : IP ToS value = 228"  
        ::= { qosDiffServTypeGroup 58 }
        
    qosDiffServType58 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 58 : IP ToS value = 232"  
        ::= { qosDiffServTypeGroup 59 }
    
    qosDiffServType59 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 59 : IP ToS value = 236"  
        ::= { qosDiffServTypeGroup 60 }
        
    qosDiffServType60 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 60 : IP ToS value = 240"  
        ::= { qosDiffServTypeGroup 61 }
    
    qosDiffServType61 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 61 : IP ToS value = 244"  
        ::= { qosDiffServTypeGroup 62 }     
    
    qosDiffServType62 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 62 : IP ToS value = 248"  
        ::= { qosDiffServTypeGroup 63 }                                 
    
    qosDiffServType63 OBJECT-TYPE
        SYNTAX  INTEGER (0..7) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "DiffServ Type 63 : IP ToS value = 252"  
        ::= { qosDiffServTypeGroup 64 }  

	
    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------ 
    sysQosScheduling     OBJECT IDENTIFIER ::= { companyQoSGroup 5 }
    
    qosSchedulingClassTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF QosSchedulingClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of sysQosScheduling."
        ::= { sysQosScheduling 1 }
        
    qosSchedulingClassEntry OBJECT-TYPE
        SYNTAX QosSchedulingClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of sysQosScheduling Weight."
        INDEX { qosSchedulingClassIndex }
        ::= { qosSchedulingClassTable 1 }
        
    QosSchedulingClassEntry ::= SEQUENCE {
        qosSchedulingClassIndex          INTEGER,
        qosSchedulingWeight              INTEGER
    }
    
    qosSchedulingClassIndex OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "A index of class 0 ~ 7."
        ::= { qosSchedulingClassEntry 1 }
        
    qosSchedulingWeight OBJECT-TYPE 
        SYNTAX INTEGER (1..127)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "cos weight "
        ::= { qosSchedulingClassEntry 2 }  
	    
	 
-- ------------------------------------------------------------------     
-- SNTP Timesetting
      -- ------------------------------------------------------------------

--IPv6 sntp server Table

		sysSNTPSettingGroup OBJECT IDENTIFIER ::= { companySNTPSetting 17 }
              
		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)."
              ::= { sysSNTPSettingGroup 1 }         
         
		sntpPollInterval  OBJECT-TYPE
   		      SYNTAX      Integer32
   		      MAX-ACCESS  read-write
   		      STATUS      current
   		      DESCRIPTION
       		      "SNTP Poll Interval In Seconds  (30-99999) "
              ::= { sysSNTPSettingGroup 8 }

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

  -- SNTPv6 TimeZonesetting

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

		sntpGMTMinutes OBJECT-TYPE
              SYNTAX        INTEGER  
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
                  "Specifies the Time Zone Offset from GMT in +/- Minutes. (+780 ~ -720)"
              ::= { sysSNTPSettingGroup 11 }

		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"   
		::= { sysSNTPSettingGroup 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"   
		::= { sysSNTPSettingGroup 13 }
		      
		sntpDSTState  OBJECT-TYPE
              SYNTAX       INTEGER {
                           annual(1),
                           disabled(2)
              }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "This object is for Annual(1) or Disabled(2) DST state in the system."
              ::= { sysSNTPSettingGroup 20 }  
              
   --- sntp server
   -- SntpServer Table
-- This table is for configuring the unicast server table
     sysSNTPServerGroup OBJECT IDENTIFIER ::= { companySNTPSetting 18 }
     
	 sntpServerTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF SntpServerEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
            "The table contains configured SNTP/NTP servers in the system."
		::= { sysSNTPServerGroup 1 }

	 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, 
		sntpServerType             INTEGER,		
		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}
			   
	 sntpServerType OBJECT-TYPE
		SYNTAX      INTEGER { primary  (1), secondary (2) }
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"In Unicast addressing mode, we can have primary and secondary servers.
			 This flag is to distinguish between primary and secondary server.
			 SNTP client sends request to different servers until it receives
			 successful response. This flag tells the order in which to query the
			 servers."		
			 ::= { sntpServerEntry 4 }

	 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 5 }    
	
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------      	
    --sysPortSecurity                  OBJECT IDENTIFIER ::= { companySecurity 2 }
 -- Port Security Group --------------------------------------------- --
    
    portSecurityTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF PortSecurityEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control port security features of the device."
        ::= { sysPortSecurity 1 }
        
    portSecurityEntry OBJECT-TYPE
        SYNTAX PortSecurityEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in port security table for each interface 
 	        in the system."
        INDEX { portSecurityIndex }
        ::= { portSecurityTable 1 }
  
    PortSecurityEntry ::= 
           SEQUENCE { 
              portSecurityIndex 
                 Integer32, 
              portSecurityState 
                 INTEGER, 
              portSecurityMLA 
                 Integer32             

              ,
              portSecurityLockAddrMode
                 INTEGER
          }
        
               
         portSecurityIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies."
           ::= { portSecurityEntry 1 }
            
        
         portSecurityState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  enabled (1), disabled (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Enable / disable port security admin state for the interface.
              
              A given ports' dynamic MAC address learning will be stopped such
              that the current source MAC addresses entered into the MAC address
              forwarding table can not be changed once the port security admin 
              state is enabled."
        
           ::= { portSecurityEntry 2 }
        
        
        portSecurityMLA OBJECT-TYPE 
           SYNTAX      Integer32 (0..64)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configures interface port security maximum learning address
               numbers.
                              
               When given ports' admin state is enabled, allows forwarding 
               table learning address number. The number can be set 0 to 64.
               Note: Set value 0 means cannot learn MAC address."
        
           ::= {portSecurityEntry 3}

         portSecurityLockAddrMode OBJECT-TYPE
           SYNTAX INTEGER  {
                            deleteOnReset (1), 
                            deleteOnTimeout (2),
                            permanent(3)
	}
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configures port security lock address mode for the interface.

              deleteOnReset : The locked addresses will not age out until the Switch has been reset.
              deleteOnTimeout : The locked addresses will age out after the aging timer expires.
              Permanent : The locked addresses will not age out after the aging timer expires."

           ::= { portSecurityEntry 4 }

    portSecFDBPermanentTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF PortSecFDBPermanentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control port security FDB Permanent of the device."
        ::= { sysPortSecurity 2 }

    portSecFDBPermanentEntry OBJECT-TYPE
        SYNTAX PortSecFDBPermanentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in port security table for each interface 
 	        in the system."
        INDEX { portSecFDBPermVlanID,portSecFDBPermMac}
        ::= { portSecFDBPermanentTable 1 }
  
    PortSecFDBPermanentEntry ::= 
           SEQUENCE { 
            portSecFDBPermVlanID        INTEGER,
            portSecFDBPermMac           MacAddress,
            portSecFDBPermPort          INTEGER,
            portSecFDBPermType 			INTEGER,
          	portSecFDBPermEntryState	INTEGER 
          }

        portSecFDBPermVlanID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The VLAN ID of the port security MAC entry."
            ::= { portSecFDBPermanentEntry 1 }

         portSecFDBPermMac OBJECT-TYPE
           SYNTAX MacAddress
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The MAC address associated of the port security MAC entry."
           ::= { portSecFDBPermanentEntry 2 }

        portSecFDBPermPort OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The forwarding port of the port security MAC entry."
            ::= { portSecFDBPermanentEntry 3 }
        
        portSecFDBPermType OBJECT-TYPE 
 			SYNTAX  INTEGER { 
               other(0), 
               deleteOnReset (1), 
               deleteOnTimeout (2),
               permanent(3),
               invalid(4) 
           } 
   			MAX-ACCESS  read-only
   			STATUS  current
   			DESCRIPTION 
    		 "This object indicates the status of this entry. 
     		The default value is permanent(3). 

          		other(1) - this entry is currently in use but 
               		the conditions under which it will 
               		remain so are different from each of the 
               		following values. 
          		invalid(2) - writing this value to the object 
               		removes the corresponding entry. 
          		permanent(3) - this entry is currently in use 
               		and will remain so after the next reset 
               		of the bridge. 
          		deleteOnReset(4) - this entry is currently in 
               		use and will remain so until the next 
               		reset of the bridge. 
          		deleteOnTimeout(5) - this entry is currently 
               		in use and will remain so until it is 
               		aged out." 
  		 ::= { portSecFDBPermanentEntry 4 }  
   
  		portSecFDBPermEntryState OBJECT-TYPE
   			SYNTAX INTEGER  {
        				  true (1), false (2)
        		    }
    		MAX-ACCESS  read-write
    		STATUS      current
   		DESCRIPTION
     		"This object indicates the status of Port Security entry 
     		when the value of this boject is setted to false ,this 
     		specific enntry will be delete form dynamic FDB and 
     		Port Security Entry"
   		::= { portSecFDBPermanentEntry 5 }

	-- ---------------------------------------------------------------------
    -- Port Security Trap Function
    -- ---------------------------------------------------------------------
	sysPortSecurityTrap  		OBJECT IDENTIFIER ::= { companySecurity  12 }
	portSecurityTraps 			OBJECT IDENTIFIER ::= { sysPortSecurityTrap 0 }

    portSecurityViolation NOTIFICATION-TYPE
	OBJECTS {
        portSecurityIndex,
        portSecurityMLA
    }
    STATUS      current
    DESCRIPTION
        "System SHOULD send out a trap message in violation that 
		the learning entries exceeds the max learning address set of port security."
    ::= { portSecurityTraps 1 }
    -- ---------------------------------------------------------------------
    -- MLD Snooping Function
    -- ---------------------------------------------------------------------
	sysMldsSystem       OBJECT IDENTIFIER ::= { companyMldsGroup 1 }
	sysMldsVlan         OBJECT IDENTIFIER ::= { companyMldsGroup 3 }
	sysMldsHost         OBJECT IDENTIFIER ::= { companyMldsGroup 4 }

    mldsStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables MLD snooping in the system.
              When set to 'enabled', the MLDS module starts 
              protocol operations.
              When set to 'disabled', the MLDS module stops performing 
              protocol operations."
          DEFVAL  { disabled } 
          ::= { sysMldsSystem 1 } 
	        
-- VLAN based router table.
 
      mldsVlanRouterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldsVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { sysMldsVlan 3 } 
 
      mldsVlanRouterEntry OBJECT-TYPE 
          SYNTAX      MldsVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains the VLAN ID and list of ports on which 
              routers are present in the VLAN." 
          INDEX { mldsVlanRouterVlanId } 
          ::= { mldsVlanRouterTable 1 } 
 
      MldsVlanRouterEntry ::= SEQUENCE { 
          mldsVlanRouterVlanId             Integer32,
          mldsVlanRouterStaticPortList     PortList,
		  mldsVlanRouterDynamicPortList     PortList
      }
           
      mldsVlanRouterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID of the ports through which router is reachable." 
           ::= { mldsVlanRouterEntry 1 } 
 
      mldsVlanRouterStaticPortList 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." 
           ::= { mldsVlanRouterEntry 2 } 
		   
	  mldsVlanRouterDynamicPortList 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." 
           ::= { mldsVlanRouterEntry 3 } 
 
-- VLAN based filter table 
 
      mldsVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldsVlanFilterEntry 
          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." 
          ::= { sysMldsVlan 4 } 
 
      mldsVlanFilterEntry OBJECT-TYPE 
          SYNTAX      MldsVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping status , version and fast leave
              configuration for a specific VLAN." 
          INDEX { mldsVlanFilterVlanId } 
          ::= { mldsVlanFilterTable 1 } 
 
      MldsVlanFilterEntry ::= SEQUENCE { 
          mldsVlanFilterVlanId           Integer32, 
          mldsVlanSnoopStatus            INTEGER, 
          mldsVlanQuerier                INTEGER, 
          mldsVlanCfgQuerier             INTEGER, 
		  mldsVlanQueryInterval			Integer32,
          mldsVlanFastLeave             INTEGER,
		  mldsVlanQuerierVersion		INTEGER,
		  mldsVlanRouterPortPurgeInterval	Integer32,
		  mldsVlanHostPortPurgeInterval		Integer32,
		  mldsVlanRobustnessValue			Integer32,
		  mldsVlanGrpQueryInterval			Integer32,
		  mldsVlanQueryMaxResponseTime		Integer32
          } 

      mldsVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            "Index of MldsVlanFilterEntry. This object indicates the VLAN ID for which 
            the snooping configurations in MldsVlanFilterEntry is to be done." 
           ::= { mldsVlanFilterEntry 1 } 
 
      mldsVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object allows you to enable/disable MLDS function on a specific VLAN."  
           DEFVAL  { enabled }
           ::= { mldsVlanFilterEntry 2 } 

      mldsVlanQuerier 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 } 
          ::= { mldsVlanFilterEntry 3 } 

      mldsVlanCfgQuerier 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 MLD general queries when IGMP routers are not present in the VLAN. 
              When set to 'enabled', the switch will generate general queries."
          DEFVAL  { 2 } 
          ::= { mldsVlanFilterEntry 4 } 

     mldsVlanQueryInterval OBJECT-TYPE 
         SYNTAX      Integer32 (60..600) 
         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 } 
         ::= { mldsVlanFilterEntry 5 } 

          

      mldsVlanFastLeave 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 }
           ::= { mldsVlanFilterEntry 6 }

		mldsVlanQuerierVersion OBJECT-TYPE 
            SYNTAX      INTEGER { 
							v1(1), 
							v2(2)
					} 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to set igmp version function on a specific VLAN."
            ::= { mldsVlanFilterEntry 7 }

		mldsVlanRouterPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (60..600) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              router port entry will be purged for a specific VLAN. 
			  For each router port learnt, 
              this timer runs for 'RouterPortPurgeInterval' seconds.When the 
              timer expires, the learnt router port entry is purged. However 
              if control messages are received from the router before the 
              timer expiry, then the timer is restarted."
          DEFVAL  { 125 } 
          ::= { mldsVlanFilterEntry 8} 
 
      mldsVlanHostPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (130..153025) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              port entry will be purged for a specific VLAN. 
			  For each port on which report
              has been received this timer runs for 'PortPurgeInterval'
              seconds. This timer will be restarted whenever a report 
              message is received from a host on the specific port. If 
              the timer expires, then , the learnt port entry  will 
              be purged from the multicast group." 
          DEFVAL  {260} 
          ::= { mldsVlanFilterEntry 9 } 


		mldsVlanRobustnessValue OBJECT-TYPE
          SYNTAX      Integer32 (2..255)
          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 } 
          ::= { mldsVlanFilterEntry 10 } 
		  
		mldsVlanGrpQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..25) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The value of this attribute defines the time period with which 
              the specific VLAN will send group specific queries on a port to check 
              if there is any interested receivers. The switch will send 
              'RobustnessValue' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 1 }
          ::= { mldsVlanFilterEntry 11 } 
		  
		mldsVlanQueryMaxResponseTime OBJECT-TYPE
			SYNTAX      Integer32 (10..25)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
				"The maximum query response time advertised General
				queries on this interface."
			DEFVAL     { 10 }
			::= { mldsVlanFilterEntry 12}
			
    -- VLAN Based MLD Snooping Group 
 
      mldsVlanMulticastGroupTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF MldsVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains MAC based multicast forwarding 
             information." 
          ::= { sysMldsVlan 5 } 
 
      mldsVlanMulticastGroupEntry OBJECT-TYPE 
          SYNTAX      MldsVlanMulticastGroupEntry 
          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 { mldsVlanMulticastGroupVlanId,
                  mldsVlanMulticastGroupIpAddress } 
          ::= { mldsVlanMulticastGroupTable 1 } 
 
      MldsVlanMulticastGroupEntry ::= SEQUENCE { 
          mldsVlanMulticastGroupVlanId           Integer32,
          mldsVlanMulticastGroupIpAddress        Ipv6Address, 
          mldsVlanMulticastGroupMacAddress       MacAddress,
          mldsVlanMulticastGroupPortList         PortList
        } 

      mldsVlanMulticastGroupVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID pertaining to the Multicast forwarding entry"  
           ::= { mldsVlanMulticastGroupEntry 1 } 
 
      mldsVlanMulticastGroupIpAddress 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." 
           ::= { mldsVlanMulticastGroupEntry 2 } 
 
 
      mldsVlanMulticastGroupMacAddress 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." 
           ::= { mldsVlanMulticastGroupEntry 3 } 

      mldsVlanMulticastGroupPortList 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."  
           ::= { mldsVlanMulticastGroupEntry 4 } 

-- Host Table

    mldsHostTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF MldsHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table is used to manage
            the mld snooping Host based Fast Leave function of the switch."
        ::= { sysMldsHost 1 }
 
    mldsHostEntry OBJECT-TYPE
        SYNTAX      MldsHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Contains management entities for
            mld snooping Host based function."
        INDEX {mldsHostTableVLANID,
               mldsHostTableGroupAddress,
               mldsHostTablePort,
               mldsHostTableHostIPAddress}
        ::= { mldsHostTable 1 }
 
    MldsHostEntry ::= SEQUENCE {
        mldsHostTableVLANID          Integer32,
        mldsHostTableGroupAddress    Ipv6Address,
        mldsHostTablePort            Integer32,
        mldsHostTableHostIPAddress   Ipv6Address
    }

    mldsHostTableVLANID OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "VLAN ID of mld snooping Host table entry."
        ::= { mldsHostEntry 1 }
 
    mldsHostTableGroupAddress OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Group address of mld snooping Host table entry."
        ::= { mldsHostEntry 2 } 
 
    mldsHostTablePort OBJECT-TYPE 
        SYNTAX      Integer32 
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Port number of mld snooping Host table entry."
        ::= { mldsHostEntry 3 }

    mldsHostTableHostIPAddress OBJECT-TYPE 
        SYNTAX      Ipv6Address 
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Host IP address of Group in mld snooping Host table entry."
        ::= { mldsHostEntry 4 }


        -- ----------------------------------------------------------------
        -- The STATIC MAC group
        -- ----------------------------------------------------------------
 -- /*CAMEOTAG: delete by xieyuanjun on 2014.2.25, Function move to port module*/ 
 --      sysStaticMacAutoLearn OBJECT-TYPE
 --           SYNTAX INTEGER {
 --                  on(1),
 --                  off(2)
 --           }
 --           MAX-ACCESS read-write
 --           STATUS current
 --           DESCRIPTION
 --               "Set on to disable Auto Learning Excluding Uplink Port and
 --                set off to enable Auto Learning."
 --           ::= { companyStaticMac 1 }

 --       sysStaticMacAutoLearnList OBJECT-TYPE
 --           SYNTAX PortList
 --           MAX-ACCESS read-write
 --           STATUS current
 --           DESCRIPTION
 --               "The set of the device's member ports that belong
 --	            to the Static MAC auto learning enable/disable.
 --	            
 --	            For example, when Disable Auto Learning is enable,
 --	            the octet value set up as '# 0x0F 0xFF 0xFF 0xFF' means 
 --	            from port 1 to port 4 are not in auto learning state, 
 --	            the other ports are in auto learning state. It can be 
 --	            set up when Disable Auto Learning is enable."
 --           ::= { companyStaticMac 2 }

        sysStaticMacTable OBJECT-TYPE
            SYNTAX SEQUENCE OF SysStaticMacEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static MACs"
            ::= { companyStaticMac 1 }

        staticMacEntry OBJECT-TYPE
            SYNTAX SysStaticMacEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static MAC entry containing the mac and forwarding port."
            INDEX { staticMacVlanID, staticMacAddr}
            ::= { sysStaticMacTable 1 }

        SysStaticMacEntry ::= SEQUENCE {
            staticMacVlanID     	Integer32,
            staticMacAddr           MacAddress,
            staticMacPort          Integer32,
            staticMacStatus        RowStatus
        }

        staticMacVlanID OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The VLAN ID of the static MAC entry."
            ::= { staticMacEntry 1 }

         staticMacAddr OBJECT-TYPE
           SYNTAX MacAddress
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The MAC address associated of the static MAC entry."
           ::= { staticMacEntry 2 }

        staticMacPort OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The forwarding port of the static MAC entry."
            ::= { staticMacEntry 3 }
        
        staticMacStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Static MAC Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available. The trunk member port can not set up static MAC."
            ::= { staticMacEntry 4 }
		
	sysDynamicFdbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SysDynamicFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains information about unicast entries
        for which the device has forwarding and/or filtering
        information.  This information is used by the
        transparent bridging function in determining how to
        propagate a received frame. This table maintains context ID
        as one more index to support Multiple Instances."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7.7"
    ::= { companyStaticMac 2 }

	sysDynamicFdbEntry OBJECT-TYPE
    SYNTAX      SysDynamicFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a specific unicast MAC address for
        which the device has some forwarding and/or filtering
        information."
    INDEX   { dynamicFdbId, dynamicFdbMacAddr }
    ::= { sysDynamicFdbTable 1 }

	SysDynamicFdbEntry ::=
    SEQUENCE {
		dynamicFdbId
			Unsigned32,
        dynamicFdbMacAddr
            MacAddress,
        dynamicFdbPort
            DisplayString,
        dynamicFdbStatus
            INTEGER
    }

	dynamicFdbId OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The identity of this Filtering Database."
    ::= { sysDynamicFdbEntry 1 }
	
	dynamicFdbMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A unicast MAC address for which the device has
        forwarding and/or filtering information."
    ::= { sysDynamicFdbEntry 2 }

	dynamicFdbPort 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."
    ::= { sysDynamicFdbEntry 3 }

	dynamicFdbStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    other(1),
                    invalid(2),
                    dynamic(3),
                    self(4),
                    static(5),
					deleteOnReset(6),
					deleteOnTimeout(7),
					permanent(8)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of this entry.  The meanings of the values
        are:
            other(1) - none of the following.  This may include
                the case where some other MIB object (not the
                corresponding instance of dynamicFdbPort, nor an
                entry in the fsDot1qStaticUnicastTable) is being
                used to determine if and how frames addressed to
                the value of the corresponding instance of
                dynamicFdbMacAddr are being forwarded.
            invalid(2) - this entry is no longer valid (e.g., it
                was learned but has since aged out), but has not
                yet been flushed from the table.
            learned(3) - the value of the corresponding instance
                of dynamicFdbPort was learned and is being used.
            self(4) - the value of the corresponding instance of
                dynamicFdbMacAddr represents one of the device's
                addresses.  The corresponding instance of
                dynamicFdbPort indicates which of the device's
                ports has this address.
            static(5) - the value of the corresponding instance of
                dynamicFdbMacAddr is also the value of an
                existing instance of fsDot1qStaticAddress.
			deleteOnReset(6) - the value of the corresponding instance of
				fsDot1qTpFdbAddress and the port of this entry enablement 
				Port security and set Lock address mode to Delete on Reset.
			deleteOnTimeout(7) - the value of the corresponding instance of
				fsDot1qTpFdbAddress and the port of this entry enablement 
				Port security and set Lock address mode to Delete on TimeOut.
			permanent(8) - the value of the corresponding instance of
				fsDot1qTpFdbAddress and the port of this entry enablement 
				Port security and set Lock address mode to Permanent."
    ::= { sysDynamicFdbEntry 4 }

-- fdb clear action mib
sysFdbClear   	OBJECT IDENTIFIER ::= { companyStaticMac 3 }

sysFdbClearId OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Fdb clear object identification:
		If cmFdbClearAction is clear by port, then this value is a port number;
		If cmFdbClearAction is clear by vlan, then this value is a port vlan id;
		otherwise this value is not used."
	::= { sysFdbClear 1 }

sysFdbClearAction OBJECT-TYPE
	SYNTAX INTEGER {
	           clearAll(1),
               clearByVlanId(2),
               clearByPort(3)
	}
	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"
	::= { sysFdbClear 2 }
	

    -- ------------------------------------------------------------------    
    -- Limit IP multicast Group 
    -- ------------------------------------------------------------------

        syslimitIPMulticastProfileTable OBJECT-TYPE
            SYNTAX SEQUENCE OF SyslimitIPMulticastProfileEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the limit ip multicast Profile Table."
            ::= { companyLimitIP 1 }

        limitIPMulticastProfileEntry OBJECT-TYPE
            SYNTAX SyslimitIPMulticastProfileEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
            INDEX { limitIPMulticastProfileID, limitIPMulticastIPType }
            ::= { syslimitIPMulticastProfileTable 1 }   

        SyslimitIPMulticastProfileEntry ::= SEQUENCE { 
            limitIPMulticastProfileID       INTEGER,
        	limitIPMulticastIPType          INTEGER,
            limitIPMulticastProfileName     DisplayString,
            limitIPMulticastProfileStatus   RowStatus
        }
                      
        limitIPMulticastProfileID OBJECT-TYPE 
           SYNTAX      INTEGER
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The ProfileID of the limit ip multicast profile entry."
           ::= { limitIPMulticastProfileEntry 1 }          
           
		limitIPMulticastIPType OBJECT-TYPE
           SYNTAX      INTEGER {
                  ipv4(1),
                  ipv6(2)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                "Indicate the IP type of profile."
           ::= { limitIPMulticastProfileEntry 2 }
           
        limitIPMulticastProfileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "The ProfileName of the limit ip multicast profile entry."
             ::= { limitIPMulticastProfileEntry 3 }           

        limitIPMulticastProfileStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the limit ip multicast profile Table. Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { limitIPMulticastProfileEntry 4 } 



              
--       limitIPMulticastEntryTable OBJECT-TYPE
--          SYNTAX SEQUENCE OF LimitIPMulticastEntry
--           MAX-ACCESS not-accessible
--           STATUS current
--           DESCRIPTION
--               "A list of the limit ip multicast entry Table."
--           ::= { companyLimitIP 2 }
--
--        limitIPMulticastEntry OBJECT-TYPE
--            SYNTAX LimitIPMulticastEntry
--            MAX-ACCESS not-accessible
--            STATUS current
--            DESCRIPTION
--                "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
--            INDEX { limitIPMulticastEntryIPType, limitIPMulticastEntryProfileID, limitIPMulticaststartIPAddr, limitIPMulticastendIPAddr}
--            ::= { limitIPMulticastEntryTable 1 }       
                
                           
--        LimitIPMulticastEntry ::= SEQUENCE {               
--        	limitIPMulticastEntryIPType          INTEGER,  
--            limitIPMulticastEntryProfileID       INTEGER,  
--            limitIPMulticaststartIPAddr          DisplayString,
--            limitIPMulticastendIPAddr            DisplayString,
--            limitIPMulticastStatus               RowStatus
--        }                                
        
--        limitIPMulticastEntryIPType OBJECT-TYPE
--           SYNTAX      INTEGER {
--                 ipv4(1),
--                 ipv6(2)
--          }
--          MAX-ACCESS read-only
--          STATUS current
--          DESCRIPTION
--               "Indicate the IP type of entry."
--          ::= { limitIPMulticastEntry 1 }
--
--       limitIPMulticastEntryProfileID OBJECT-TYPE 
--           SYNTAX      INTEGER
--           MAX-ACCESS  read-only 
--           STATUS      current 
--           DESCRIPTION 
--               "The ProfileID of the limit ip multicast entry."
--           ::= { limitIPMulticastEntry 2 }
                                         
--        limitIPMulticaststartIPAddr OBJECT-TYPE
--              SYNTAX DisplayString (SIZE(1..16))
--              MAX-ACCESS read-only
--              STATUS current
--              DESCRIPTION
--                  "The limit ip multicast IP address is used to set start ip"
--              ::= { limitIPMulticastEntry 3 }    
              
--       limitIPMulticastendIPAddr OBJECT-TYPE
--              SYNTAX DisplayString (SIZE(1..16))
--              MAX-ACCESS read-only
--              STATUS current
--              DESCRIPTION
--                  "The limit ip multicast IP address is used to set end ip"
--              ::= { limitIPMulticastEntry 4 }

--        limitIPMulticastStatus OBJECT-TYPE
--            SYNTAX     RowStatus
--            MAX-ACCESS read-write
--            STATUS     current
--            DESCRIPTION
--                "The status of an entry in the limit ip multicast entry Table. Only a subset
--                 of the rowstatus variables (active, createAndGo, destroy) 
--                 are available."
--            ::= { limitIPMulticastEntry 5 } 
            
 
              
        syslimitIPMulticastPortTable OBJECT-TYPE
            SYNTAX SEQUENCE OF SyslimitIPMulticastPortEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the limit ip multicast Port entry Table."
            ::= { companyLimitIP 3 }

        limitIPMulticastPortEntry OBJECT-TYPE
            SYNTAX SyslimitIPMulticastPortEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A limit ip multicast entry maintain by the Port Index."
            INDEX { limitIPMulticastPortID, limitIPMulticastPortIPType }
            ::= { syslimitIPMulticastPortTable 1 }       
                
                           
        SyslimitIPMulticastPortEntry ::= SEQUENCE {
            limitIPMulticastPortID          INTEGER,           
        	limitIPMulticastPortIPType      INTEGER, 
            limitIPMulticastPortState       INTEGER,
            limitIPMulticastPortProfileID   PortList,
            limitIPMulticastPortMaxGrp      Unsigned32
        } 
           
        limitIPMulticastPortID OBJECT-TYPE 
           SYNTAX      INTEGER
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The Port Index of the limit ip multicast port entry."
           ::= { limitIPMulticastPortEntry 1 }                          
          
        limitIPMulticastPortIPType OBJECT-TYPE
           SYNTAX      INTEGER {
                  ipv4(1),
                  ipv6(2)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                "Indicate the IP type of entry."
           ::= { limitIPMulticastPortEntry 2 }
                                          
		limitIPMulticastPortState OBJECT-TYPE
            SYNTAX INTEGER  {
        		  permit (1), deny (2)
            }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The limit ip multicast port state"
              ::= { limitIPMulticastPortEntry 3 }    
              
        limitIPMulticastPortProfileID OBJECT-TYPE
              SYNTAX PortList
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The limit ip multicast port mapping profileID list."
              ::= { limitIPMulticastPortEntry 4 }
           
           
        limitIPMulticastPortMaxGrp OBJECT-TYPE
            SYNTAX     Unsigned32(1..32)
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                  "The limit ip multicast per-port max group."
            ::= { limitIPMulticastPortEntry 5 } 
            
	-- ------------------------------------------------------------------    
    -- Limited Multicast Range Settings 
    -- ------------------------------------------------------------------
	limitIpMulticastRangeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF LimitIpMulticastRangeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the limit ip multicast entry Table."
            ::= { companyLimitIP 4 }

        limitIpMulticastRangeEntry OBJECT-TYPE
            SYNTAX LimitIpMulticastRangeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
            INDEX { limitIpMulticastRangeProfileID, limitIpMulticastRangeIPType, limitIpMulticastRangeStartIpAddr, limitIpMulticastRangeEndIpAddr}
            ::= { limitIpMulticastRangeTable 1 }       
                
                           
        LimitIpMulticastRangeEntry ::= SEQUENCE { 
            limitIpMulticastRangeProfileID       INTEGER,                
        	limitIpMulticastRangeIPType          INTEGER,  
            limitIpMulticastRangeStartIpAddr     InetAddress,
            limitIpMulticastRangeEndIpAddr       InetAddress,
            limitIpMulticastRangeStatus          RowStatus
        } 
        limitIpMulticastRangeProfileID OBJECT-TYPE 
           SYNTAX      INTEGER
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The ProfileID of the limit ip multicast entry."
           ::= { limitIpMulticastRangeEntry 1 }                               
        
        limitIpMulticastRangeIPType OBJECT-TYPE
           SYNTAX      INTEGER {
                  ipv4(1),
                  ipv6(2)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                "Indicate the IP type of entry."
           ::= { limitIpMulticastRangeEntry 2 }

                                         
        limitIpMulticastRangeStartIpAddr OBJECT-TYPE
              SYNTAX InetAddress
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The limit ip multicast IP address is used to set start ip"
              ::= { limitIpMulticastRangeEntry 3 }    
              
        limitIpMulticastRangeEndIpAddr OBJECT-TYPE
              SYNTAX InetAddress
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The limit ip multicast IP address is used to set end ip"
              ::= { limitIpMulticastRangeEntry 4 }

        limitIpMulticastRangeStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the limit ip multicast entry Table. Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { limitIpMulticastRangeEntry 5 } 
            
 


    -- ------------------------------------------------------------------    
    -- Mirror Group 
    -- ------------------------------------------------------------------
    

	sysMirrorStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled 	     (1),
                          disabled       (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enable/Disable Port Mirroring function.
               Default is disabled.
               Port Mirroring is a method of monitoring network traffic that 
               forwards a copy of each incoming and/or outgoing packet from one 
               port of the Switch to another port where the packet can be studied."
         --    "Provides control over the mirroring feature in the switch." --
        
           DEFVAL  { disabled }
           ::= { companyMirror 1 }
        
	 -- ------------------------------------------------------------------
     -- Port Mirror Table
     -- ------------------------------------------------------------------
		sysMirrorPortTable OBJECT-TYPE 
		   SYNTAX      SEQUENCE OF PortMirrorEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
               "Provides control to enable or disable mirroring of ingress or Egress
                traffic over this interface to the mirrored-to port."
           ::= { companyMirror 2 }
		   
		   
		mirrorPortEntry OBJECT-TYPE 
		   SYNTAX      PortMirrorEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
               "Provides control to enable or disable mirroring of ingress 
                traffic over this interface to the mirrored-to port."
		INDEX { mirrorTargetIfIndex}
           ::= { sysMirrorPortTable 1 }
		   
		PortMirrorEntry ::=
           SEQUENCE {
			  mirrorTargetIfIndex
			     Integer32,
              mirrorTargetPort
                 Integer32,
              mirrorIngressPortList
                 PortList,
              mirrorEgressPortList
                 PortList,
			  mirrorCtrlRowStatus
				 RowStatus
          }
		  
		mirrorTargetIfIndex 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." 
           ::= { mirrorPortEntry 1 }
        
        mirrorTargetPort OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Specifies the port to which the mirrored traffic in the system 
                is to be copied." 
           ::= { mirrorPortEntry 2 }

        mirrorIngressPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Provides control to enable or disable mirroring of ingress 
                traffic over this interface to the mirrored-to port."
           ::= { mirrorPortEntry 3 }
        
        mirrorEgressPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Provides control to enable or disable mirroring of egress 
                traffic over this interface to the mirrored-to port."
           ::= { mirrorPortEntry 4 }
		
		mirrorCtrlRowStatus OBJECT-TYPE 
		   SYNTAX      RowStatus
		   MAX-ACCESS  read-write 
		   STATUS      current 
		   DESCRIPTION 
			  "Specifies the validity of the entry, max entry number is 4."
		   ::= { mirrorPortEntry 5 }

     -- ----------------------------------------------------------
     -- Multicast Filter Port Table 
     -- ----------------------------------------------------------
    
        sysMulticastFilterPortTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF MulticastFilterPortEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to control multicast filtering modes."
           ::= { companyMulticastFilter 1 }
        
        multicastFilterPortEntry OBJECT-TYPE 
           SYNTAX      MulticastFilterPortEntry
           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 port."
        
           INDEX { multicastFilterPortIndex }
           ::= { sysMulticastFilterPortTable 1 }
           
        MulticastFilterPortEntry ::= 
           SEQUENCE { 
              multicastFilterPortIndex 
                 Integer32, 
              multicastFilterPortType
                 INTEGER
        }
        
        multicastFilterPortIndex OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "Interface index of the port for which the configuration
              in this entry applies."
           
           ::= { multicastFilterPortEntry 1 }
                
        multicastFilterPortType 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."
        
           ::= { multicastFilterPortEntry 2 }

    -- ------------------------------------------------------------------
    -- The Static Multicast Group
    -- ------------------------------------------------------------------

      sysStaticMcastTable OBJECT-TYPE
            SYNTAX SEQUENCE OF StaticMcastEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static MACs"
            ::= { companyStaticMcast 1 }

        staticMcastEntry OBJECT-TYPE
            SYNTAX StaticMcastEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static MAC entry containing the mac and forwarding port."
            INDEX { staticMcastVlanID, staticMcastMac, staticMcastEgressPorts}
            ::= { sysStaticMcastTable 1 }

        StaticMcastEntry ::= SEQUENCE {
            staticMcastVlanID     	 INTEGER,
            staticMcastMac           MacAddress,
            staticMcastEgressPorts   PortList,
            staticMcastStatus        RowStatus
        }

        staticMcastVlanID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The VLAN ID of the static MAC entry."
            ::= { staticMcastEntry 1 }

        staticMcastMac OBJECT-TYPE
           SYNTAX MacAddress
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The MAC address associated of the static MAC entry."
           ::= { staticMcastEntry 2 }

        staticMcastEgressPorts OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The set of ports to which frames received from a
                specific port and destined for a specific Multicast or
                Broadcast MAC address must be forwarded, regardless of
                any dynamic information e.g. from GMRP.  A port may not
                be added in this set if it is already a member of the
                set of ports in dot1qStaticMulticastForbiddenEgressPorts.
                The default value of this object is a string of ones of
                appropriate length."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
            ::= { staticMcastEntry 3 }
        
        staticMcastStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Static Mcast Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { staticMcastEntry 4 }



sysDDPStatus OBJECT-TYPE
	SYNTAX INTEGER {
		   enabled(1),
		   disabled(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/Disable DDP function." 
	DEFVAL  { enabled }
	::= { companyDDP 1 }
	
sysDDPReportTime 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  { never }
	::= { companyDDP 2 }
   

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

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

SysDDPEntry ::=
   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."  
   DEFVAL  { enabled }
   ::= { ddpEntry 2 }
   
	  sysEee                 OBJECT IDENTIFIER ::= { companyEee 1 }
	  
  	 -- ------------------------------------------------------------------
     -- EEE Table
     -- ------------------------------------------------------------------
        eeeTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF EeeEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains EEE status about each port."
        ::= { sysEee 1 }

        eeeEntry OBJECT-TYPE
           SYNTAX      EeeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "A list of EEE status for each port."
           INDEX { eeePort }
           ::= { eeeTable 1 }

        EeeEntry ::=
           SEQUENCE {
              eeePort
                 Integer32,
              eeestatus
                 INTEGER
           }

        eeePort OBJECT-TYPE
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port index."
           ::= { eeeEntry 1 }
              
              
        eeestatus OBJECT-TYPE
           SYNTAX      INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object indicates the port eee status."
           ::= { eeeEntry 2 }
           
        sysPppoeGlobalState OBJECT-TYPE
            SYNTAX INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
        MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "PPPoE global state"
            ::= { companyPPPoE 1 }

        sysPppoePortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SyspppoePortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control PPPoE features of the device."
        ::= { companyPPPoE 2 }


    pppoePortEntry OBJECT-TYPE
        SYNTAX SyspppoePortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in PPPoE table for each interface 
                in the system."    
            INDEX {pppoePortIndex}
        ::= { sysPppoePortTable 1 }

    SyspppoePortEntry ::= 
        SEQUENCE {  
           pppoePortIndex
              Integer32,
           pppoePortState
              INTEGER, 
           pppoePortCircuitIDType 
              INTEGER,
           pppoePortUDFString 
              DisplayString       
        }
           

    pppoePortIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..6)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Interface index of the port for the configuration
            in this entry applies."
        ::= { pppoePortEntry 1 }

    pppoePortState OBJECT-TYPE
            SYNTAX INTEGER {
                         enabled     (1),
                         disabled    (2)
                      }
        MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "PPPoE per port state"
            ::= { pppoePortEntry 2 } 
            
        pppoePortCircuitIDType OBJECT-TYPE
            SYNTAX INTEGER  {
                 ip (1),
                 mac (2),
                 udf (3)
        }

        MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "PPPoE per port circuit ID type"
            ::= { pppoePortEntry 3 }

    pppoePortUDFString OBJECT-TYPE
            SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "PPPoE per port UDF string"
            ::= { pppoePortEntry 4 }    

    -- ---------------------------------------------------------------------
    -- IGMP Snooping Function
    -- ---------------------------------------------------------------------
	sysIgsSystem       OBJECT IDENTIFIER ::= { companyIgsGroup 1 }
	sysIgsVlan         OBJECT IDENTIFIER ::= { companyIgsGroup 3 }	
    sysIgsAccessAuth   OBJECT IDENTIFIER ::= { companyIgsGroup 5 }   
    sysIgsHost         OBJECT IDENTIFIER ::= { companyIgsGroup 6 }


    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 } 
          ::= { sysIgsSystem 1 } 
 
    igsReportForwardRouterOnly 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 forwards report packets 
            to router port only.
            When set to 'disabled', the IGS module forwards report packets 
            to all port."
        DEFVAL  { enabled } 
        ::= { sysIgsSystem 8 } 

-- 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." 
          ::= { sysIgsVlan 3 } 
 
      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,
		  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 } 
		   
	  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 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." 
          ::= { sysIgsVlan 4 } 
 
      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, 
          igsVlanQuerier                	INTEGER, 
          igsVlanCfgQuerier             	INTEGER, 
          igsVlanQueryInterval          	Integer32, 
          igsVlanFastLeave            		INTEGER,
		  igsVlanQuerierVersion 			INTEGER,		  
		  igsVlanRouterPortPurgeInterval	Integer32,
		  igsVlanHostPortPurgeInterval		Integer32,
		  igsVlanRobustnessValue			Integer32,
		  igsVlanGrpQueryInterval			Integer32,
		  igsVlanQueryMaxResponseTime		Integer32
	} 

      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 } 

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

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

      igsVlanQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (60..600) 
          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 5 } 

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

			
		igsVlanQuerierVersion OBJECT-TYPE 
            SYNTAX      INTEGER { 
							igmp_v1(1), 
							igmp_v2(2),
							igmp_v3(3)
					} 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to set igmp version function on a specific VLAN."
            ::= { igsVlanFilterEntry 7 }


     igsVlanRouterPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (60..600) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              router port entry will be purged for a specific VLAN. 
			  For each router port learnt, 
              this timer runs for 'RouterPortPurgeInterval' seconds.When the 
              timer expires, the learnt router port entry is purged. However 
              if control messages are received from the router before the 
              timer expiry, then the timer is restarted."
          DEFVAL  { 125 } 
          ::= { igsVlanFilterEntry 8} 
 
      igsVlanHostPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (130..153025) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              port entry will be purged for a specific VLAN. 
			  For each port on which report
              has been received this timer runs for 'PortPurgeInterval'
              seconds. This timer will be restarted whenever a report 
              message is received from a host on the specific port. If 
              the timer expires, then , the learnt port entry  will 
              be purged from the multicast group." 
          DEFVAL  {260} 
          ::= { igsVlanFilterEntry 9 } 


		igsVlanRobustnessValue OBJECT-TYPE
          SYNTAX      Integer32 (2..255)
          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 10 } 
		  
		  igsVlanGrpQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..25) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The value of this attribute defines the time period with which 
              the specific VLAN will send group specific queries on a port to check 
              if there is any interested receivers. The switch will send 
              'RobustnessValue' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 1 }
          ::= { igsVlanFilterEntry 11 } 
		  
		igsVlanQueryMaxResponseTime OBJECT-TYPE
			SYNTAX      Integer32 (10..25)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
				"The maximum query response time advertised General
				queries on this interface."
			DEFVAL     { 10 }
			::= { igsVlanFilterEntry 12}
		
-- 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." 
          ::= { sysIgsVlan 5 } 
 
      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 } 
          ::= { igsVlanMulticastGroupTable 1 } 
 
      IgsVlanMulticastGroupEntry ::= SEQUENCE { 
          igsVlanMulticastGroupVlanId           Integer32,
          igsVlanMulticastGroupIpAddress        IpAddress, 
          igsVlanMulticastGroupMacAddress       MacAddress,
          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 } 
 
 
      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 3 } 

      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 4 } 
         
      igsAccessAuthTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsAccessAuthEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table is used to manage the IGMP Authentication
              function of the switch." 
          ::= { sysIgsAccessAuth 1 } 
 
      igsAccessAuthEntry OBJECT-TYPE 
          SYNTAX      IgsAccessAuthEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains management entities for IGMP Authentication
              function." 
          INDEX { igsAccessAuthPortIndex } 
          ::= { igsAccessAuthTable 1 } 
 
      IgsAccessAuthEntry ::= SEQUENCE { 
          igsAccessAuthPortIndex             Integer32,
          igsAccessAuthState                 INTEGER
      }
           
      igsAccessAuthPortIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The port index of igsAccessAuthTable which 
               indicates the port to be configured." 
           ::= { igsAccessAuthEntry 1 } 
 
      igsAccessAuthState OBJECT-TYPE 
           SYNTAX      INTEGER  { 
							enabled(1), 
							disabled(2) 
					} 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "This object can be configured to set IGMP Authentication
                state to enabled/disabled on each port." 
           ::= { igsAccessAuthEntry 2 }

    igsHostTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF IgsHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table is used to manage
            the IGMP Host based Fast Leave function of the switch."
        ::= { sysIgsHost 1 }
 
    igsHostEntry OBJECT-TYPE
        SYNTAX      IgsHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Contains management entities for
            IGMP Host based fast leave function."
        INDEX {igsHostTableVlanId,
               igsHostTableGroupAddress,
               igsHostTablePort,
               igsHostTableHostIPAddress}
        ::= { igsHostTable 1 }
 
    IgsHostEntry ::= SEQUENCE {
        igsHostTableVlanId          Integer32,
        igsHostTableGroupAddress    IpAddress,
        igsHostTablePort            Integer32,
        igsHostTableHostIPAddress   IpAddress
    }

    igsHostTableVlanId OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "VLAN ID of Host table entry."
        ::= { igsHostEntry 1 }
 
    igsHostTableGroupAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Group address of Host table entry."
        ::= { igsHostEntry 2 } 
 
    igsHostTablePort OBJECT-TYPE 
        SYNTAX      Integer32 
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Port number of Host table entry."
        ::= { igsHostEntry 3 }

    igsHostTableHostIPAddress OBJECT-TYPE 
        SYNTAX      IpAddress 
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Host IP address of Group in Host table entry."
        ::= { igsHostEntry 4 }

    sysIGMPMulticastVlanStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enable/Disable IGMP Multicast Vlan function."
        
           DEFVAL  { disabled }
           ::= { companyISMVLAN 1 }

     -- ----------------------------------------------------------
     -- sysIGMPMulticastVlanTable Table 
     -- ----------------------------------------------------------
    
     sysIGMPMulticastVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SysIGMPMulticastVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the IGMP snooping multicast VLAN table."
        ::= { companyISMVLAN 2 }
    
     sysIGMPMulticastVlanEntry OBJECT-TYPE
        SYNTAX  SysIGMPMulticastVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry of sysIGMPMulticastVlanTable."
        INDEX  { 	igmpMulticastVlanid, 
					igmpMulticastVlanAddressType}
        ::= { sysIGMPMulticastVlanTable 1 }

    SysIGMPMulticastVlanEntry ::= 
        SEQUENCE {
            igmpMulticastVlanid
                Integer32,
			igmpMulticastVlanAddressType  
				InetAddressType,
            igmpMulticastVlanName
                DisplayString,
            igmpMulticastVlanSourcePort
                PortList,
            igmpMulticastVlanMemberPort
                PortList,
            igmpMulticastVlanTagMemberPort
            	PortList,
            igmpMulticastVlanState
            	INTEGER,
            igmpMulticastVlanReplaceSourceIp
            	DisplayString,
            igmpMulticastVlanRowStatus
                RowStatus
        }
        
    igmpMulticastVlanid OBJECT-TYPE
        SYNTAX  Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN ID of the IGMP snooping multicast 
             VLAN entry."
        ::= { sysIGMPMulticastVlanEntry 1 }
     
	igmpMulticastVlanAddressType OBJECT-TYPE
		SYNTAX      InetAddressType
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
		 "This object indicates InetAddressType IGS or MLD"
		::= { sysIGMPMulticastVlanEntry 2 }	
	
    igmpMulticastVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..32))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN name of the IGMP snooping multicast 
             VLAN entry."
        ::= { sysIGMPMulticastVlanEntry 3 }   
            
    igmpMulticastVlanSourcePort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the source ports of the IGMP 
             snooping multicast VLAN. The source ports will be set as tag ports 
             of the VLAN entry and the IGMP control messages received from the
             member ports will be forwarded to the source ports."
        ::= { sysIGMPMulticastVlanEntry 4 }   

    igmpMulticastVlanMemberPort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the member ports of the IGMP 
             snooping multicast VLAN. The source ports will be set as untagged ports 
             of the VLAN entry and the IGMP control messages received from the
             member ports will be forwarded to the source ports."
        ::= { sysIGMPMulticastVlanEntry 5 }      
        
    igmpMulticastVlanTagMemberPort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the tag member ports of the IGMP 
             snooping multicast VLAN."
        ::= { sysIGMPMulticastVlanEntry 6 }
    		
    igmpMulticastVlanState OBJECT-TYPE
        SYNTAX  INTEGER{
        	enabled(1),
        	disabled(2)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object can be used to enable or disable the IGMP snooping multicast VLAN."
        ::= { sysIGMPMulticastVlanEntry 7 }
            
    igmpMulticastVlanReplaceSourceIp OBJECT-TYPE
    	SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement source IP of this multicast VLAN."
        ::= { sysIGMPMulticastVlanEntry 8 }
        
    igmpMulticastVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { sysIGMPMulticastVlanEntry 9 }         
      
    -- -----------------------------------------------------------------------------
    --  sysIGMPMulticastVlanGroupTable	
    -- -----------------------------------------------------------------------------   
    sysIGMPMulticastVlanGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SysIGMPMulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table containing the IGMP snooping multicast VLAN group information"
        ::= { companyISMVLAN 3 }

    sysIGMPMulticastVlanGroupEntry OBJECT-TYPE
        SYNTAX  SysIGMPMulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the current IGMP snooping multicast VLAN group."
        INDEX  { 	igmpMulticastVlanGroupVid,
					igmpMulticastVlanGroupAddressType, 		
					igmpMulticastVlanGroupFromIp,
					igmpMulticastVlanGroupToIp }
        ::= { sysIGMPMulticastVlanGroupTable 1 }

    SysIGMPMulticastVlanGroupEntry ::= 
        SEQUENCE {
            igmpMulticastVlanGroupVid
                Integer32,
				
			igmpMulticastVlanGroupAddressType
				InetAddressType,
				
            igmpMulticastVlanGroupFromIp
                InetAddress,
				
            igmpMulticastVlanGroupToIp
                InetAddress,
				
            igmpMulticastVlanGroupStatus
                RowStatus
        }
    
    igmpMulticastVlanGroupVid	OBJECT-TYPE
	SYNTAX  Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the IGMP snooping multicast VLAN group."
        ::= { sysIGMPMulticastVlanGroupEntry 1 }
	
	igmpMulticastVlanGroupAddressType OBJECT-TYPE
		SYNTAX      InetAddressType
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
		  "This object indicates InetAddressType IGS or MLD"
		::= { sysIGMPMulticastVlanGroupEntry 2 }		

    igmpMulticastVlanGroupFromIp	OBJECT-TYPE
    	SYNTAX      InetAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { sysIGMPMulticastVlanGroupEntry 3  }
    		
    igmpMulticastVlanGroupToIp	OBJECT-TYPE
    	SYNTAX      InetAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { sysIGMPMulticastVlanGroupEntry 4  }
    	
    igmpMulticastVlanGroupStatus	OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS read-write
        STATUS   current
        DESCRIPTION
        	"This object indicates the status of this entry."		
        ::= { sysIGMPMulticastVlanGroupEntry 5 }       
-- -------------------------------------------------------------
-- groups in the Pnac MIB
-- -------------------------------------------------------------
    sysPnacCtrl  OBJECT IDENTIFIER ::= { companyPnacGroup 1 }
-- -----------------------------------------------------------------------------
-- sysPnacCtrl
-- -----------------------------------------------------------------------------

    pnacStatus OBJECT-TYPE
        SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
        }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
        "Enable/Disable Static 802.1x."
        ::= { sysPnacCtrl 1 }

    pnacMode OBJECT-TYPE
        SYNTAX  INTEGER {
                    portBase(1),
                    macBase(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the authentication mode of the device."
        ::= { sysPnacCtrl 2 }

    pnacProtocol OBJECT-TYPE
        SYNTAX INTEGER {
            pnacProtocolRadiusEap(1),
            pnacProtocolLocal(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The authentication method used to authenticate users."
        DEFVAL { pnacProtocolLocal }
            ::= { sysPnacCtrl 3 }

	pnacRadiusAccountingState   OBJECT-TYPE
        SYNTAX        INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "Enable/disable Radius Accounting Settings."
		DEFVAL { disabled }
			::= { sysPnacCtrl 4 }

-- -------------------------------------------------------------
-- groups in the Port Access Control MIB
-- -------------------------------------------------------------
    sysPnacPortAccessCtrl  OBJECT IDENTIFIER ::= { companyPnacGroup 2 }
-- -----------------------------------------------------------------------------
-- sysPnacPortAccessCtrl
-- -----------------------------------------------------------------------------
    pnacPortAccessControlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PnacPortAccessControlEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "A table that contains the configuration objects for the
         Authenticator PAE associated with each port.
         An entry appears in this table for each port that may
         authenticate access to itself."
        ::= { sysPnacPortAccessCtrl 1 }

    pnacPortAccessControlEntry OBJECT-TYPE
        SYNTAX              PnacPortAccessControlEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { pnacConfigPortNumber }
        ::= { pnacPortAccessControlTable 1 }

    PnacPortAccessControlEntry ::= SEQUENCE {
        pnacConfigPortNumber          	Integer32,
        pnacQuietPeriod               	Unsigned32,
        pnacTxPeriod                  	Unsigned32,
        pnacSuppTimeout               	Unsigned32,
        pnacServerTimeout             	Unsigned32,
        pnacMaxReq                    	Unsigned32,
        pnacReAuthPeriod              	Unsigned32,
        pnacReAuthentication          	INTEGER,
        pnacConfigPortControl         	INTEGER,
        pnacCapability                	INTEGER,
        pnacDirection                 	INTEGER,
		pnacOperControlledDirections		INTEGER,
		pnacPortAuthStatus				INTEGER
    }

    pnacConfigPortNumber   OBJECT-TYPE
        SYNTAX              Integer32
        MAX-ACCESS          read-only
        STATUS              current
        DESCRIPTION
        "A unique value for each port that correlates to port index.
         Its value ranges between 1 and the value of port number."
        ::= { pnacPortAccessControlEntry 1 }

    pnacQuietPeriod        OBJECT-TYPE
        SYNTAX        Unsigned32 (0..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value, in seconds, of the quietPeriod constant
           currently in use by the Authenticator PAE state
           machine."
        DEFVAL { 60 }
        ::= { pnacPortAccessControlEntry 2 }

    pnacTxPeriod           OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value, in seconds, of the txPeriod constant
           currently in use by the Authenticator PAE state
           machine."
        DEFVAL { 30 }
        ::= { pnacPortAccessControlEntry 3 }

    pnacSuppTimeout        OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value, in seconds, of the suppTimeout constant
           currently in use by the Backend Authentication state
           machine."
        DEFVAL { 30 }
        ::= { pnacPortAccessControlEntry 4 }

    pnacServerTimeout      OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value, in seconds, of the serverTimeout constant
           currently in use by the Backend Authentication state
           machine."
        DEFVAL { 30 }
        ::= { pnacPortAccessControlEntry 5 }

    pnacMaxReq             OBJECT-TYPE
        SYNTAX        Unsigned32 (1..10)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value of the maxReq constant currently in use by
           the Backend Authentication state machine."
        DEFVAL { 2 }
        ::= { pnacPortAccessControlEntry 6 }

    pnacReAuthPeriod       OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value, in seconds, of the reAuthPeriod constant
           currently in use by the Reauthentication Timer state
           machine."
        DEFVAL { 3600 }
        ::= { pnacPortAccessControlEntry 7 }

    pnacReAuthentication   OBJECT-TYPE
        SYNTAX        INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The enable/disable control used by the Reauthentication
           Timer state machine (8.5.5.1)."
        ::= { pnacPortAccessControlEntry 8 }

    pnacConfigPortControl  OBJECT-TYPE
       SYNTAX       INTEGER {
                       forceUnauthorized(1),
                       auto(2),
                       forceAuthorized(3)
                   }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
           "The current value of the controlled Port
           control parameter for the Port."
        ::= { pnacPortAccessControlEntry 9 }

    pnacCapability         OBJECT-TYPE
       SYNTAX       INTEGER {
                       authenticator(1),
                       none(2)
                   }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
           "The current value of the controlled Port
           control parameter for the Port."
        ::= { pnacPortAccessControlEntry 10 }

    pnacDirection          OBJECT-TYPE
       SYNTAX       INTEGER {
                       both(0),
                       in(1)
                   }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
           "The current value of the controlled Port
           control parameter for the Port."
        ::= { pnacPortAccessControlEntry 11 }
	
	pnacOperControlledDirections          OBJECT-TYPE
       SYNTAX       INTEGER {
                       both(0),
                       in(1)
                   }
        MAX-ACCESS          read-only
        STATUS              current
        DESCRIPTION
           "The current value of the open control Port
           control parameter for the Port."
        ::= { pnacPortAccessControlEntry 12 }
		
	pnacPortAuthStatus          OBJECT-TYPE
       SYNTAX       INTEGER {
                       authorized(1),
                       unAuthorized(2)
                   }
        MAX-ACCESS          read-only
        STATUS              current
        DESCRIPTION
           "The authorized status of the open control Port."
        ::= { pnacPortAccessControlEntry 13 }
-- -------------------------------------------------------------
-- groups in the 802.1X Local user MIB
-- -------------------------------------------------------------
    sysPnacUser  OBJECT IDENTIFIER ::= { companyPnacGroup 3 }
-- -----------------------------------------------------------------------------
-- sysPnacUser
-- -----------------------------------------------------------------------------
    pnacUserTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PnacUserEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "A table that contains the configuration objects for the
         Authenticator PAE associated with each port.
         An entry appears in this table for each port that may
         authenticate access to itself."
        ::= { sysPnacUser 1 }

    pnacUserEntry OBJECT-TYPE
        SYNTAX              PnacUserEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "The configuration information for an Pnacenticator Port."
        INDEX { pnacUserName }
        ::= { pnacUserTable 1 }

    PnacUserEntry ::= SEQUENCE {
        pnacUserName                      SnmpAdminString,
        pnacUserPassword                  DisplayString,
        pnacUserStatus                    RowStatus
    }

    pnacUserName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(1..15))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The unique index value of a row in this table.

            This object is used to set 802.1X Local user name,
            The following characters are allowed to input:
            semicolon, question mark, space, and double quotation mark."
        ::= { pnacUserEntry 1 }

    pnacUserPassword  OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..15))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to set 802.1X Local user Password,
          The following characters are allowed to input:
          semicolon, question mark, space, and double quotation mark."
       ::= { pnacUserEntry 2 }

    pnacUserStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The status of this conceptual row in the pnacUserTable.

            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 pnacUserName objects must be
            explicitly set."
        ::= { pnacUserEntry 3 }

-- -------------------------------------------------------------
-- groups in the Pnacentication RADIUS Server MIB
-- -------------------------------------------------------------
    -- sysPnacRadiusServer  OBJECT IDENTIFIER ::= { companyPnacGroup 4 }
-- -----------------------------------------------------------------------------
-- -----------------------------------------------------------------------------
-- sysPnacRadiusServer for IPv4 and IPv6
-- -----------------------------------------------------------------------------
    pnacRadiusServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PnacRadiusServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "A table that contains the configuration objects for the
         Authenticator PAE associated with each port.
         An entry appears in this table for each port that may
         authenticate access to itself."
        ::= { sysPnacRadiusServer 1 }

    pnacRadiusServerEntry                 OBJECT-TYPE
        SYNTAX                              PnacRadiusServerEntry
        MAX-ACCESS                          not-accessible
        STATUS                              current
        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { pnacRadiusServerIndex }
        ::= { pnacRadiusServerTable 1 }

    PnacRadiusServerEntry ::= SEQUENCE {
        pnacRadiusServerIndex                 Integer32,
        pnacRadiusIPType                      INTEGER,
        pnacRadiusServerAddress               InetAddress,
--      pnacRadiusServerInterfaceName         OCTET STRING,
        pnacRadiusServerAuthenticationPort    Integer32,
        pnacRadiusServerAccountingPort        Integer32,
        pnacRadiusServerTimeout               Integer32,
        pnacRadiusServerRetransmit            Integer32,
        pnacRadiusServerKey                   DisplayString,
        pnacRadiusServerStatus                RowStatus
    }

    pnacRadiusServerIndex                 OBJECT-TYPE
        SYNTAX                              Integer32 (1..3)
        MAX-ACCESS                          read-only
        STATUS                              current
        DESCRIPTION
        "A unique value for Authentication RADIUS Server index.
         Its value ranges between 1 and 3."
        ::= { pnacRadiusServerEntry 1 }

    pnacRadiusIPType    OBJECT-TYPE
        SYNTAX     INTEGER {
                   ipv4(1),
                   ipv6(2)
        }
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The IP address of the RADIUS server IP type
                referred to in this table entry."
        DEFVAL { ipv4 }
       ::= { pnacRadiusServerEntry 2 }

    pnacRadiusServerAddress               OBJECT-TYPE
        SYNTAX                              InetAddress
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The IP address of the RADIUS server
                     referred to in this table entry."
        ::=  { pnacRadiusServerEntry 3 }

--    pnacRadiusServerInterfaceName   OBJECT-TYPE
--         SYNTAX      OCTET STRING
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--               "Specifies the interface name when the pnacRadiusServerAddress is linklocal address."
--         ::= { pnacRadiusServerEntry 4 } 

    pnacRadiusServerAuthenticationPort    OBJECT-TYPE
        SYNTAX                              Integer32 (1..65535)
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 1812 }
       ::= { pnacRadiusServerEntry 5 }

    pnacRadiusServerAccountingPort        OBJECT-TYPE
        SYNTAX                              Integer32 (1..65535)
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 1813 }
       ::= { pnacRadiusServerEntry 6 }

    pnacRadiusServerTimeout               OBJECT-TYPE
        SYNTAX                              Integer32 (1..255)
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 5 }
       ::= { pnacRadiusServerEntry 7 }

    pnacRadiusServerRetransmit            OBJECT-TYPE
        SYNTAX                              Integer32 (1..255)
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 2 }
       ::= { pnacRadiusServerEntry 8 }

    pnacRadiusServerKey                   OBJECT-TYPE
       SYNTAX                               DisplayString (SIZE(1..32))
       MAX-ACCESS                           read-write
       STATUS                               current
       DESCRIPTION
          "This object is used to set 802.1X Radius Server Key,
          The following characters are allowed to input:
          semicolon, question mark, space, and double quotation mark."
       ::= { pnacRadiusServerEntry 9 }

    pnacRadiusServerStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The status of this conceptual row in the
            pnacRadiusServerTable.

            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 pnacRadiusServerIndex objects
            must be explicitly set."
        ::= { pnacRadiusServerEntry 10 }
 
	-- -----------------------------------------------------------------------------
	-- The Guest Vlan Group
	-- -----------------------------------------------------------------------------
	sysGuestVlanName OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..20))
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"The VLAN name of guest VLAN."
	    ::= { companyGuestVLAN 1 }

	sysGuestVlanPort OBJECT-TYPE
	    SYNTAX      PortList
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"This object indicates the guest VLAN port members of this device."
	     ::= { companyGuestVLAN 2 }

	sysGuestVlanDelState OBJECT-TYPE
	    SYNTAX      INTEGER{
			none(1),
			start(2)
			}
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"Used to delete the guest VLAN."
	    ::= { companyGuestVLAN 3 }

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

      sysSNMPUser                    OBJECT IDENTIFIER ::= { companySNMP 2 }
      sysSNMPGroup                   OBJECT IDENTIFIER ::= { companySNMP 3 }
      sysSNMPViewTree                OBJECT IDENTIFIER ::= { companySNMP 4 }
      sysSNMPCommunity               OBJECT IDENTIFIER ::= { companySNMP 5 }
      sysSNMPHost                    OBJECT IDENTIFIER ::= { companySNMP 6 }

      sysSNMPEngineID OBJECT-TYPE
              SYNTAX  SnmpEngineID
              MAX-ACCESS read-write
              STATUS current
		      DESCRIPTION
		         "An SNMP engine's administratively-unique identifier.

                 In a simple agent, this value is always that agent's
                 own snmpEngineID value.

                 The value can also take the value of the snmpEngineID
                 of a remote SNMP engine with which this user can
                 communicate."

         ::=  { companySNMP  7 }

      sysSNMPTrap                    OBJECT IDENTIFIER ::= { companySNMP 8 }

      -- ----------------------------------------------------------------
      -- The sysSNMPUser group
      -- ----------------------------------------------------------------

      snmpUserTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpUserEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp user."
           ::= { sysSNMPUser 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,
                snmpUserAuthProtocol              INTEGER,
                snmpUserAuthProtocolPassword      SnmpAdminString,
                snmpUserPrivProtocol              INTEGER,
                snmpUserPrivProtocolPassword      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 }

        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.
                "
			DEFVAL  { none }
            ::= { snmpUserEntry 4 }

        snmpUserAuthProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  "Password of  snmp user auth protocol."
            ::= { snmpUserEntry 5 }


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

        snmpUserPrivProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION  "Password of  snmp user priv protocol."
            ::= { snmpUserEntry 7 }


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


      -- ----------------------------------------------------------------
      -- The sysSNMPGroup group
      -- ----------------------------------------------------------------
        snmpGroupTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpGroupEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
               "The table of snmp group."
           ::= { sysSNMPGroup 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,
                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 }

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


      -- ----------------------------------------------------------------
      -- The sysSNMPViewTree group
      -- ----------------------------------------------------------------
        snmpViewTreeTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpViewTreeEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp view tree."
           ::= { sysSNMPViewTree 1 }

		snmpViewTreeEntry OBJECT-TYPE
           SYNTAX      SnmpViewTreeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp view tree entry."
           INDEX { snmpViewTreeName ,snmpViewTreeSubtree }
           ::= { snmpViewTreeTable 1 }

        SnmpViewTreeEntry ::= SEQUENCE
            {
                snmpViewTreeName         SnmpAdminString,
                snmpViewTreeSubtree      OBJECT IDENTIFIER,
                snmpViewTreeMask         OCTET STRING,
                snmpViewTreeType         INTEGER,
                snmpViewTreeStatus       RowStatus
            }

        snmpViewTreeName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The human readable name for a family of view subtrees.
                        "

            ::= { snmpViewTreeEntry 1 }

        snmpViewTreeSubtree OBJECT-TYPE
            SYNTAX       OBJECT IDENTIFIER
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION "The MIB subtree which when combined with the
                         corresponding instance of vacmViewTreeFamilyMask
                         defines a family of view subtrees.
                        "
            ::= { snmpViewTreeEntry 2 }

        snmpViewTreeMask OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (0..16))
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "The bit mask which, in combination with the
                         corresponding instance of vacmViewTreeFamilySubtree,
                         defines a family of view subtrees.

                         Each bit of this bit mask corresponds to a
                         sub-identifier of vacmViewTreeFamilySubtree, with the
                         most significant bit of the i-th octet of this octet
                         string value (extended if necessary, see below)
                         corresponding to the (8*i - 7)-th sub-identifier, and
                         the least significant bit of the i-th octet of this
                         octet string corresponding to the (8*i)-th
                         sub-identifier, where i is in the range 1 through 16.

                         Each bit of this bit mask specifies whether or not
                         the corresponding sub-identifiers must match when
                         determining if an OBJECT IDENTIFIER is in this
                         family of view subtrees; a '1' indicates that an
                         exact match must occur; a '0' indicates 'wild card',
                         i.e., any sub-identifier value matches.

                         Thus, the OBJECT IDENTIFIER X of an object instance
                         is contained in a family of view subtrees if, for
                         each sub-identifier of the value of
                         vacmViewTreeFamilySubtree, either:

                           the i-th bit of vacmViewTreeFamilyMask is 0, or

                           the i-th sub-identifier of X is equal to the i-th
                           sub-identifier of the value of
                           vacmViewTreeFamilySubtree.

                         If the value of this bit mask is M bits long and

                         there are more than M sub-identifiers in the
                         corresponding instance of vacmViewTreeFamilySubtree,
                         then the bit mask is extended with 1's to be the
                         required length.

                         Note that when the value of this object is the
                         zero-length string, this extension rule results in
                         a mask of all-1's being used (i.e., no 'wild card'),
                         and the family of view subtrees is the one view
                         subtree uniquely identified by the corresponding
                         instance of vacmViewTreeFamilySubtree.

                         Note that masks of length greater than zero length
                         do not need to be supported.  In this case this
                         object is made read-only.
                        "
        --    DEFVAL      { ''H }
            ::= { snmpViewTreeEntry 3 }

        snmpViewTreeType OBJECT-TYPE
            SYNTAX       INTEGER  { included(1), excluded(2) }
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION "Indicates whether the corresponding instances of
                         vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
                         define a family of view subtrees which is included in
                         or excluded from the MIB view.
                        "
            DEFVAL      { included }
            ::= { snmpViewTreeEntry 4 }

        snmpViewTreeStatus 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.
                        "
            ::= { snmpViewTreeEntry 5 }


      -- ----------------------------------------------------------------
      -- The sysSNMPCommunity group
      -- ----------------------------------------------------------------

        snmpCommunityTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpCommunityEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp community."
           ::= { sysSNMPCommunity 1 }

        snmpCommunityEntry OBJECT-TYPE
           SYNTAX      SnmpCommunityEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The list of snmp community entry."
           INDEX {snmpCommunityName }
           ::= { snmpCommunityTable 1 }

        SnmpCommunityEntry ::= SEQUENCE
            {
                snmpCommunityName                SnmpAdminString,
                snmpCommunityPolicy              SnmpAdminString,
                snmpCommunityStatus              RowStatus
            }

        snmpCommunityName OBJECT-TYPE
            SYNTAX      SnmpAdminString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The unique index value of a row in this table."
            ::= { snmpCommunityEntry 1 }

        snmpCommunityPolicy OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "A human readable string representing the corresponding
                 value of snmpCommunityName in a Security Model
                 independent format."
            ::= { snmpCommunityEntry 2 }

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


      -- ----------------------------------------------------------------
      -- The sysSNMPHost group
      -- ----------------------------------------------------------------
        snmpHostTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpHostEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The table of snmp host."
           ::= { sysSNMPHost 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,
                snmpHostCommunityName     SnmpAdminString,
                snmpHostVersion           INTEGER,               
                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 }
               
        snmpHostCommunityName OBJECT-TYPE
               SYNTAX      SnmpAdminString (SIZE(1..32))
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "The locally arbitrary."
               ::= { snmpHostEntry 3 } 
        
        snmpHostVersion OBJECT-TYPE
               SYNTAX    INTEGER {
                      v1                (1),
                      v2c	            (2),
                      v3-NoAuthNoPriv    (3),
                      v3-AuthNoPriv      (4),
                      v3-AuthPriv        (5)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "The Level of Security to be used when generating
                    SNMP messages using this entry."
               ::= { snmpHostEntry 4 }
        
        snmpHostStatus OBJECT-TYPE
               SYNTAX       RowStatus
               MAX-ACCESS   read-write
               STATUS       current
               DESCRIPTION
                "The status of this conceptual row in the
                 snmpHostTable."
               ::= { snmpHostEntry 6 }

      -- ----------------------------------------------------------------
      -- The sysSNMPTrap group
      -- ----------------------------------------------------------------

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

        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."
            ::= { sysSNMPTrap 2 }

        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."
            ::= { sysSNMPTrap 3 }

        snmpTrapFiberLinkUpDown  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling fiber port link up / link down
                event trap in the system."
            ::= { sysSNMPTrap 4 }
			
		snmpTrapTwistLinkUpDown  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling twisted pair port
				link up / link down
                event trap in the system."
            ::= { sysSNMPTrap 5 }

        snmpTrapFirmwareUpgrade   OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling firmware upgrade
                success or fail event trap in the system."
            ::= { sysSNMPTrap 6 }
			
		snmpTrapPortSecViolation   OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "This object is for enabling or disabling port security event trap in the system."
            ::= { sysSNMPTrap 7 }


    snmpTrapLBDDetection    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object is for enabling or disabling lbd event trap in the system."
        ::= { sysSNMPTrap 8 }

    snmpTrapDuplicateIPDetected    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object is for enabling or disabling send gratuitous
             trap when IP address conflicted in the network."
        ::= { sysSNMPTrap 9 }
	
	--snmpTrapEOAM    OBJECT-TYPE
    --    SYNTAX INTEGER {
    --        enabled(1),
    --       disabled(2)
    --    }
    --    MAX-ACCESS read-write
    --    STATUS current
    --    DESCRIPTION
    --        "This object is for enabling or disabling oam event trap in the system."
    --    ::= { sysSNMPTrap 10 }
		


 
    -- ------------------------------------------------------------------ 
    -- companySyslog
    -- ------------------------------------------------------------------
        syslogSettingGroup          OBJECT IDENTIFIER ::= { companySyslog 1 }

syslogEnable OBJECT-TYPE
   SYNTAX       INTEGER {
                enabled(1),
                disabled(2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling syslog alert features in
       the system and the syslog will save to flash or send to remote 
       syslog server.
       System Logs record and manage events, as well as report errors and 
       informational messages."

   DEFVAL  { disabled } 
   ::= { syslogSettingGroup 1 }


syslogSaveMode OBJECT-TYPE
   SYNTAX       INTEGER {
                onDemand(0),
                timeInterval(1),
                logTrigger(2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for choosing the method to save syslog into flash."

   DEFVAL  { logTrigger } 
   ::= { syslogSettingGroup 2 }

syslogSaveMinutes OBJECT-TYPE
   SYNTAX       Integer32 (1..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "When savemode is time interval, it's used to set the interval minutes of 
      system save syslog to flash."
   DEFVAL  { 30 } 
   ::= { syslogSettingGroup 3 }
   
syslogClearLog 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 }
   ::= { syslogSettingGroup 4 }

    -- ------------------------------------------------------------------
    -- syslogServTable
    -- ------------------------------------------------------------------
            syslogServerGroup          OBJECT IDENTIFIER ::= { companySyslog 3 }

    syslogServTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF SyslogServEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The table of syslog remote server."
        ::= { syslogServerGroup 1 }

    syslogServEntry OBJECT-TYPE
        SYNTAX     SyslogServEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "The list of syslog remote server entry."

        INDEX { syslogServIndex }
        ::= { syslogServTable 1 }

    SyslogServEntry  ::= 
            SEQUENCE {
              syslogServIndex          INTEGER,
              syslogServAddrType       INTEGER,
              syslogServAddr           Ipv6Address,
              syslogServSeverity       INTEGER,
              syslogServFacility       INTEGER,
              syslogServUDPport        Integer32,
              syslogServSrvStatus      INTEGER,
              syslogServSrvRowStatus   RowStatus
              }

    syslogServIndex OBJECT-TYPE
       SYNTAX       INTEGER (1..4)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "The index of syslog remote server." 
        ::= { syslogServEntry  1 }

    syslogServAddrType    OBJECT-TYPE
        SYNTAX              INTEGER {
                                 ipv4(1),
                                 ipv6(2)
                              }
        MAX-ACCESS             read-write
        STATUS                 current
        DESCRIPTION
           "Specifies the Address type of server.Address type shall be ipv4 or ipv6."
		DEFVAL  { ipv4 } 
        ::= { syslogServEntry 2 }

     syslogServAddr         OBJECT-TYPE
         SYNTAX                 Ipv6Address
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "Specifies the ServerIP to which the syslog shall be forwarded."
         ::= { syslogServEntry 3 }

    syslogServSeverity OBJECT-TYPE 
        SYNTAX       INTEGER{					 
                      warning(4),   -- For logging warning messages.
                      information(6),      -- For logging informational messages.
                      debug(7)      -- For logging debug messages.
                    }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "Specifies the log level option to be set for a specific server." 
		DEFVAL  { warning } 
        ::= { syslogServEntry 5 }

    syslogServFacility OBJECT-TYPE 
       SYNTAX         INTEGER {
                   local0(128),     -- Reserved local use
                   local1(136),     -- Reserved local use
                   local2(144),     -- Reserved local use
                   local3(152),     -- Reserved local use
                   local4(160),     -- Reserved local use
                   local5(168),     -- Reserved local use
                   local6(176),     -- Reserved local use
                   local7(184)      -- Reserved local use
                  }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
         "The Syslog standard facilities.
          The facility to be used when sending Syslog messages to this server."

       DEFVAL  { local0 } 
       ::= { syslogServEntry 6 }

    syslogServUDPport OBJECT-TYPE
       SYNTAX  Integer32 (514 | 6000..65535)
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "The value is for setting UDP Port."
	   DEFVAL  { 514 } 
       ::= { syslogServEntry 7 }

    syslogServSrvStatus OBJECT-TYPE 
        SYNTAX       INTEGER {
                enabled(1),
				disabled(2)
               }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "The status for this server. If enable, system will send message to 
           this server."
		DEFVAL  { disabled } 
        ::= { syslogServEntry 8 }


    syslogServSrvRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Row status of this server entry."
       ::= { syslogServEntry 9 } 
	   
	-- ------------------------------------------------------------------ 
    -- Syslog message table
    -- ------------------------------------------------------------------
        syslogMsg         OBJECT IDENTIFIER ::= { companySyslog 4 }
		
	syslogMsgTable OBJECT-TYPE
		SYNTAX SEQUENCE OF SyslogMsgEntry
		MAX-ACCESS not-accessible
		STATUS       current
		DESCRIPTION
			"Specifies the number of messages ."
		   ::= { syslogMsg 1 }

	syslogMsgEntry OBJECT-TYPE
		SYNTAX     SyslogMsgEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
			"An entry (conceptual row) in the syslogMsgTable."
		INDEX      { syslogMsgIndex }
		::= { syslogMsgTable 1 }

	SyslogMsgEntry ::= SEQUENCE {
			syslogMsgIndex     
				Integer32,
			syslogMsgDescr     
				DisplayString,
			syslogMsgTime     
				DisplayString,
			syslogMsgSeverity     
				INTEGER
		}

	syslogMsgIndex OBJECT-TYPE
		SYNTAX     Integer32 (1..2147483647)
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"The auxiliary variable used for identifying instances
			of the columnar objects in the syslogMsgTable."
		::= { syslogMsgEntry 1 }

	syslogMsgDescr OBJECT-TYPE
		SYNTAX     DisplayString
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"A textual description of system log message."
		::= { syslogMsgEntry 2 }
		
	syslogMsgTime OBJECT-TYPE
		SYNTAX     DisplayString
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"time of system log message."
		::= { syslogMsgEntry 3 }
		
	syslogMsgSeverity OBJECT-TYPE
		SYNTAX     INTEGER {
						  emergency(0),
                          alert(1),
                          critical(2),
						  error(3),
						  warning(4),
						  notice(5),
						  information(6),
						  debug(7)
                       }
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
			"Severity of system log message."
		::= { syslogMsgEntry 4 }
  
    -- ---------------------------------------------------------------------
    -- EOAM Function
    -- ---------------------------------------------------------------------
      sysEoamSystem                 OBJECT IDENTIFIER ::= { companyEoam 1 }
      sysEoamLinkMonitor            OBJECT IDENTIFIER ::= { companyEoam 2 }
	  sysEoamStats					OBJECT IDENTIFIER ::= { companyEoam 3 }
	  sysEoamEventLog				OBJECT IDENTIFIER ::= { companyEoam 4 }
	  sysEoamTrap					OBJECT IDENTIFIER ::= { companyEoam 5 }
	  sysEoamLoopbackTest			OBJECT IDENTIFIER ::= { companyEoam 6 }
    -- ------------------------------------------------------------------
    -- The EOAM System Group
    -- ------------------------------------------------------------------

    eoamTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF EoamEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains EOAM mode information about each port."
        ::= { sysEoamSystem 2 }

    eoamEntry OBJECT-TYPE
        SYNTAX     EoamEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of EOAM mode information for each port."
        INDEX { eoamIfIndex }
        ::= { eoamTable 1 }

    EoamEntry ::= 
            SEQUENCE {
              eoamIfIndex                    InterfaceIndex,
              eoamState                      INTEGER,
              eoamMode                       INTEGER,
              eoamReceivedRemoteLoopback     INTEGER,
              eoamRemoteLoopback             INTEGER,
 			  eoamMaxOAMPDU					 Unsigned32,  
 			  eoamUnidirection				 INTEGER,
 			  eoamLinkMonitoring			 INTEGER, 
 			  eoamVarReq					 INTEGER,
 			  eoamRemoteLoopbackSupport		 INTEGER,
 			  eoamPDURev					 Unsigned32,
 			  eoamOperStatus				 INTEGER,
 			  eoamPeerMode					 INTEGER,
 			  eoamPeerMacAddress             MacAddress,
 			  eoamPeerVendorOui           	 OCTET STRING,
 			  eoamPeerMaxOAMPDU				 Unsigned32,  
 			  eoamPeerUnidirection			 INTEGER,
 			  eoamPeerLinkMonitoring		 INTEGER, 
 			  eoamPeerVarReq				 INTEGER,
 			  eoamPeerPDURev				 Unsigned32}

    eoamIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The index of the port. "
        ::= { eoamEntry 1 }

    eoamState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM state enabled or disabled."
        ::= { eoamEntry 2 }

    eoamMode OBJECT-TYPE
       SYNTAX       INTEGER { passive(1), active(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM mode as active or passive."
        ::= { eoamEntry 3 }

    eoamReceivedRemoteLoopback OBJECT-TYPE
       SYNTAX       INTEGER { ignore(1), process(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM received or ignore remote loopback packets."
        ::= { eoamEntry 4 }

    eoamRemoteLoopback OBJECT-TYPE
       SYNTAX       INTEGER { noLoopBack(1), 
                              startLoopBack(2),
                              remoteLoopBack(3),
                              stopLoopBack(4),
                              localLoopBack(5),
                              unknownLoopBack(6)
                              }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM remote loopback start or stop."
        ::= { eoamEntry 5 }

	  eoamMaxOAMPDU OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the max EOAM PDU received packets."
        ::= { eoamEntry 6 }
		
	  eoamUnidirection OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoamUnidirection support or not support."
        ::= { eoamEntry 7 }
		
	   eoamLinkMonitoring OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam Link Monitoring support or not support."
        ::= { eoamEntry 8 }
		
	   eoamVarReq OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam variable support or not support."
        ::= { eoamEntry 9 }

       eoamRemoteLoopbackSupport OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam remote loopback support or not support."
        ::= { eoamEntry 10 }
		
		eoamPDURev OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "The configuration revision of the OAM entity as reflected in
          	    the latest OAMPDU sent by the OAM entity."
        ::= { eoamEntry 11 }
		
		eoamOperStatus OBJECT-TYPE
       SYNTAX       INTEGER { 
                      disabled(1),
                      linkFault(2),
                      passiveWait(3),
                      activeSendLocal(4),
                      sendLocalAndRemote(5),
                      sendLocalAndRemoteOk(6),
                      oamPeeringLocallyRejected(7),
                      oamPeeringRemotelyRejected(8),
                      operational(9),
                      nonOperHalfDuplex(10)
					}
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "At initialization and failure conditions, two OAM entities on
	            the same full-duplex Ethernet link begin a discovery phase to
	            determine what OAM capabilities may be used on that link.  The
	            progress of this initialization is controlled by the OA
	            sublayer."
        ::= { eoamEntry 12 }

       eoamPeerMode OBJECT-TYPE
       SYNTAX       INTEGER { passive(1), active(2), unknown(3) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the EOAM peer mode as active or passive."
        ::= { eoamEntry 13 }

	   eoamPeerMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The MAC address of the peer OAM entity."
        ::= { eoamEntry 14 }

       eoamPeerVendorOui OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The OUI of the OAM peer as reflected in the latest
          Information OAMPDU received with a Local Information TLV."
        ::= { eoamEntry 15 }

       eoamPeerMaxOAMPDU OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the max EOAM peer PDU received packets."
        ::= { eoamEntry 16 }

      eoamPeerUnidirection OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam peer Unidirection support or not support."
        ::= { eoamEntry 17 }
		
	   eoamPeerLinkMonitoring OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam peer Link Monitoring support or not support."
        ::= { eoamEntry 18 }
		
	   eoamPeerVarReq OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "Indicate the eoam peer variable support or not support."
        ::= { eoamEntry 19 }
		
	   eoamPeerPDURev OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "The configuration revision of the OAM peer as reflected in
	            the latest OAMPDU.  This attribute is changed by the peer
	            whenever it has a local configuration change for Ethernet OA
	            on this interface."
        ::= { eoamEntry 20 }


    -- ------------------------------------------------------------------
    -- The EOAM Link Monitor Group
    -- ------------------------------------------------------------------

    eoamLinkMonitorTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF EoamLinkMonitorEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains EOAM link monitor information about each port."
        ::= { sysEoamLinkMonitor 1 }

    eoamLinkMonitorEntry OBJECT-TYPE
        SYNTAX     EoamLinkMonitorEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of EOAM link monitor information for each port."
        INDEX { eoamLinkMonitorIfIndex }
        ::= { eoamLinkMonitorTable 1 }

    EoamLinkMonitorEntry ::= 
            SEQUENCE {
              eoamLinkMonitorIfIndex         InterfaceIndex,
              errorSymbolNotifyState         INTEGER,
              errorSymbolThreshold           Unsigned32,
              errorSymbolWindow              Unsigned32,
              errorFrameNotifyState          INTEGER,
              errorFrameThreshold            Unsigned32,
              errorFrameWindow               Unsigned32,
              errorFrameSecondsNotifyState   INTEGER,
              errorFrameSecondsThreshold     Integer32,
              errorFrameSecondsWindow        Integer32,
              errorFramePeriodNotifyState    INTEGER,
              errorFramePeriodThreshold      Unsigned32,
              errorFramePeriodWindow         Unsigned32,
			  eoamCriticalLinkEventState	 INTEGER 
              }

    eoamLinkMonitorIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The index of the port. "
        ::= { eoamLinkMonitorEntry 1 }

    errorSymbolNotifyState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol notify state enabled or disabled."
        ::= { eoamLinkMonitorEntry 2 }

    errorSymbolThreshold OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol threshold."
        ::= { eoamLinkMonitorEntry 3 }

    errorSymbolWindow OBJECT-TYPE
       SYNTAX       Unsigned32 (1000..60000)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol window."
        ::= { eoamLinkMonitorEntry 4 }

    errorFrameNotifyState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error frame notify state enabled or disabled."
        ::= { eoamLinkMonitorEntry 5 }

    errorFrameThreshold OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error frame threshold."
        ::= { eoamLinkMonitorEntry 6 }

    errorFrameWindow OBJECT-TYPE
       SYNTAX       Unsigned32 (1000..60000)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol window."
        ::= { eoamLinkMonitorEntry 7 }


    errorFrameSecondsNotifyState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol notify state enabled or disabled."
        ::= { eoamLinkMonitorEntry 8 }

    errorFrameSecondsThreshold OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol threshold."
        ::= { eoamLinkMonitorEntry 9 }

    errorFrameSecondsWindow OBJECT-TYPE
       SYNTAX       Integer32 (10000..900000)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol window."
        ::= { eoamLinkMonitorEntry 10 }

    errorFramePeriodNotifyState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol notify state enabled or disabled."
        ::= { eoamLinkMonitorEntry 11 }

    errorFramePeriodThreshold OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol threshold."
        ::= { eoamLinkMonitorEntry 12 }

    errorFramePeriodWindow OBJECT-TYPE
       SYNTAX       Unsigned32 (148810..100000000)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol window."
        ::= { eoamLinkMonitorEntry 13 }
		
	eoamCriticalLinkEventState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Set the EOAM critical link event state."
        ::= { eoamLinkMonitorEntry 14 }

	-- --------------------------------------------------------------------
	-- Ethernet OAM stats group             ---------------------------
	-- --------------------------------------------------------------------	
	sysEoamStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SysEoamStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table contains statistics for the OAM function on a
          particular Ethernet-like interface.  There is an entry in the
          table for every entry in the dot3OamTable.

          The counters in this table are defined as 32-bit entries to
          match the counter size as defined in [802.3ah].  Given that
          the OA protocol is a slow protocol, the counters increment at
          a slow rate.
          "
        ::= { sysEoamStats 1 }

      eoamStatsEntry OBJECT-TYPE
        SYNTAX      SysEoamStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the table containing statistics information on
          the Ethernet OAM function for a single Ethernet-like
          interface.  Entries are automatically created for every entry
          in the dot3OamTable.  Counters are maintained across
          transitions in dot3OamOperStatus.
          "
        INDEX       { eoamInfomationIndex }
        ::= { sysEoamStatsTable 1 }

      SysEoamStatsEntry ::=
        SEQUENCE {
				  eoamInfomationIndex			  InterfaceIndex,
                  eoamInformationTx                Counter32,
                  eoamInformationRx                Counter32,
                  eoamUniqueEventNotificationTx    Counter32,
                  eoamUniqueEventNotificationRx    Counter32,
                  eoamDuplicateEventNotificationTx Counter32,
                  eoamDuplicateEventNotificationRx Counter32,
                  eoamLoopbackControlTx            Counter32,
                  eoamLoopbackControlRx            Counter32,
                  eoamVariableRequestTx            Counter32,
                  eoamVariableRequestRx            Counter32,
                  eoamVariableResponseTx           Counter32,

                  eoamVariableResponseRx           Counter32,
                  eoamOrgSpecificTx                Counter32,
                  eoamOrgSpecificRx                Counter32,
                  eoamUnsupportedCodesTx           Counter32,
                  eoamUnsupportedCodesRx           Counter32,
                  eoamFramesLostDueToOam           Counter32
                 }
	  eoamInfomationIndex 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."
		::= { eoamStatsEntry 1 }
		
      eoamInformationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Information OAMPDUs transmitted on
          this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.  "
        REFERENCE   "[802.3ah], 30.3.6.1.20."
        ::= { eoamStatsEntry 2 }

      eoamInformationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Information OAMPDUs received on this
          interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.21."
        ::= { eoamStatsEntry 3 }

      eoamUniqueEventNotificationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of unique Event OAMPDUs transmitted on
          this interface.  Event Notifications may be sent in duplicate
          to increase the probability of successfully being received,

          given the possibility that a frame may be lost in transit.
          Duplicate Event Notification transmissions are counted by
          eoamDuplicateEventNotificationTx.

          A unique Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          distinct from the previously transmitted Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.22."
        ::= { eoamStatsEntry 4 }

      eoamUniqueEventNotificationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of unique Event OAMPDUs received on
          this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.  Duplicate Event Notification receptions are counted
          by eoamDuplicateEventNotificationRx.

          A unique Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          distinct from the previously received Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.24."
        ::= { eoamStatsEntry 5 }

      eoamDuplicateEventNotificationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of duplicate Event OAMPDUs transmitted

          on this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.

          A duplicate Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          identical to the previously transmitted Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.23."
        ::= { eoamStatsEntry 6 }

      eoamDuplicateEventNotificationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of duplicate Event OAMPDUs received on
          this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.

          A duplicate Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          identical to the previously received Event Notification OAMPDU
          Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.25."
        ::= { eoamStatsEntry 7 }

      eoamLoopbackControlTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Loopback Control OAMPDUs transmitted

          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.26."
        ::= { eoamStatsEntry 8 }

      eoamLoopbackControlRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Loopback Control OAMPDUs received
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.27."
        ::= { eoamStatsEntry 9 }

      eoamVariableRequestTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Request OAMPDUs transmitted
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.28."
        ::= { eoamStatsEntry 10 }

      eoamVariableRequestRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Request OAMPDUs received on

          this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.29."
        ::= { eoamStatsEntry 11 }

      eoamVariableResponseTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Response OAMPDUs
          transmitted on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.30."
        ::= { eoamStatsEntry 12 }

      eoamVariableResponseRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Response OAMPDUs received
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.31."
        ::= { eoamStatsEntry 13 }

       eoamOrgSpecificTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Organization Specific OAMPDUs

          transmitted on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.32."
        ::= { eoamStatsEntry 14 }

      eoamOrgSpecificRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Organization Specific OAMPDUs
          received on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.33."
        ::= { eoamStatsEntry 15 }

      eoamUnsupportedCodesTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of OAMPDUs transmitted on this
          interface with an unsupported op-code.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.18."
        ::= { eoamStatsEntry 16 }

      eoamUnsupportedCodesRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of OAMPDUs received on this interface

          with an unsupported op-code.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.19."
        ::= { eoamStatsEntry 17 }

      eoamFramesLostDueToOam OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of frames that were dropped by the OA
          multiplexer.  Since the OAM multiplexer has multiple inputs
          and a single output, there may be cases where frames are
          dropped due to transmit resource contention.  This counter is
          incremented whenever a frame is dropped by the OAM layer.
          Note that any Ethernet frame, not just OAMPDUs, may be dropped
          by the OAM layer.  This can occur when an OAMPDU takes
          precedence over a 'normal' frame resulting in the 'normal'
          frame being dropped.

          When this counter is incremented, no other counters in this
          MIB are incremented.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.46."
        ::= { eoamStatsEntry 18 }

    	sysEoamStatsClearPortlist OBJECT-TYPE 
          SYNTAX      PortList
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
             "Clear Eoam statistics according to portlist setting" 
          ::= { sysEoamStats 2 }
          
		
	-- --------------------------------------------------------------------
	-- Ethernet OAM Event Log group             ---------------------------
	-- --------------------------------------------------------------------	
	sysOamEventLogTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF SysEoamEventLogEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
          "This table records a history of the events that have occurred
          at the Ethernet OAM level.  These events can include locally
          detected events, which may result in locally generated
          OAMPDUs, and remotely detected events, which are detected by
          the OAM peer entity and signaled to the local entity via

          Ethernet OAM.  Ethernet OAM events can be signaled by Event
          Notification OAMPDUs or by the flags field in any OAMPDU.

          This table contains both threshold crossing events and
          non-threshold crossing events.  The parameters for the
          threshold window, threshold value, and actual value
          (eoamEventLogWindowXX, eoamEventLogThresholdXX,
          eoamEventLogValue) are only applicable to threshold
          crossing events, and are returned as all F's (2^32 - 1) for
          non-threshold crossing events.

          Entries in the table are automatically created when such
          events are detected.  The size of the table is implementation
          dependent.  When the table reaches its maximum size, older
          entries are automatically deleted to make room for newer
          entries.
          "
          ::= { sysEoamEventLog 2 }

      eoamEventLogEntry OBJECT-TYPE
        SYNTAX      SysEoamEventLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the eoamEventLogTable.  Entries are
          automatically created whenever Ethernet OAM events occur at
          the local OAM entity, and when Event Notification OAMPDUs are
          received at the local OAM entity (indicating that events have
          occurred at the peer OAM entity).  The size of the table is
          implementation dependent, but when the table becomes full,
          older events are automatically deleted to make room for newer
          events.  The table index eoamEventLogIndex increments for
          each new entry, and when the maximum value is reached, the
          value restarts at zero.
          "
        INDEX       { eoamEventLogPort, eoamEventLogIndex }
        ::= { sysOamEventLogTable 1 }
		
      SysEoamEventLogEntry ::=
        SEQUENCE {
		  eoamEventLogPort					InterfaceIndex,
          eoamEventLogIndex                 Unsigned32,
          eoamEventLogTimestamp             DisplayString,
          eoamEventLogType                  Unsigned32,
          eoamEventLogLocation              INTEGER,
		  eoamEventLogValue					Unsigned32,
		  eoamEventLogWindow				Unsigned32,
		  eoamEventLogThreshold				Unsigned32,
		  eoamEventLogAccError				Unsigned32
        }
	eoamEventLogPort 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."
		::= { eoamEventLogEntry 1 }
		
      eoamEventLogIndex       OBJECT-TYPE
        SYNTAX      Unsigned32(1..4294967295)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "An arbitrary integer for identifying individual events
          within the event log.  "
        ::= { eoamEventLogEntry 2 }

      eoamEventLogTimestamp  OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          " The object indicates eoam event log time stamp which in the format:
            day/month/year hour:minute:second. e.g 30/10/2013 17:36:11."
        ::= { eoamEventLogEntry 3 }
      
      eoamEventLogType      OBJECT-TYPE
        SYNTAX      Unsigned32

        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The type of event that generated this entry in the event log.
          When the OUI is the IEEE 802.3 OUI of 0x0180C2, the following
          event types are defined:
              erroredSymbolEvent(1),
              erroredFramePeriodEvent(2),
              erroredFrameEvent(3),
              erroredFrameSecondsEvent(4),
              linkFault(256),
              dyingGaspEvent(257),
              criticalLinkEvent(258)
          The first four are considered threshold crossing events, as
          they are generated when a metric exceeds a given value within
          a specified window.  The other three are not threshold
          crossing events.

          When the OUI is not 71874 (0x0180C2 in hex), then some other
          organization has defined the event space.  If event subtyping
          is known to the implementation, it may be reflected here.
          Otherwise, this value should return all F's (2^32 - 1).
          "
        REFERENCE   "[802.3ah], 30.3.6.1.10 and 57.5.3."
        ::= { eoamEventLogEntry 4 }

      eoamEventLogLocation OBJECT-TYPE
        SYNTAX      INTEGER { local(1), remote(2) }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Whether this event occurred locally (local(1)), or was
          received from the OAM peer via Ethernet OAM (remote(2)).
          "
        ::= { eoamEventLogEntry 5 }
		
	eoamEventLogValue OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The Ethernet OAM event log event value."
		::= { eoamEventLogEntry 6 }

	eoamEventLogWindow OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The Ethernet OAM event log window value."
		::= { eoamEventLogEntry 7 }
		
	eoamEventLogThreshold OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The Ethernet OAM event log Threshold value."
		::= { eoamEventLogEntry 8 }
		
	eoamEventLogAccError OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"The Ethernet OAM event log accumulate errors."
		::= { eoamEventLogEntry 9 }

	sysEoamEventLogClearPortlist OBJECT-TYPE 
          SYNTAX      PortList
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
             "Clear Eoam Event Log Table according to portlist setting" 
          ::= { sysEoamEventLog 3 }
          
	-- ---------------------------------------------------------------------
    -- Eoam Trap Function
    -- ---------------------------------------------------------------------
	eoamTrap	     OBJECT IDENTIFIER ::= { sysEoamTrap 0 }
	
	eoamNotifyThresholdEvent NOTIFICATION-TYPE
	OBJECTS {
		  eoamEventLogPort,
          eoamEventLogTimestamp,         
          eoamEventLogType,
          eoamEventLogLocation,
		  eoamEventLogValue,
		  eoamEventLogWindow,
		  eoamEventLogThreshold,
		  eoamEventLogAccError
    }
    STATUS      current
    DESCRIPTION
        "eoamNotifyThresholdEvent trap is sent when a local or remote 
		threshold crossing event is detected"
    ::= { eoamTrap 1 }
	
	eoamNotifyNonThresholdEvent NOTIFICATION-TYPE
	OBJECTS {
		  eoamEventLogPort,
          eoamEventLogTimestamp,         
          eoamEventLogType,
          eoamEventLogLocation,
		  eoamEventLogAccError
    }
    STATUS      current
    DESCRIPTION
        "eoamNotifyNonThresholdEvent trap is sent when a local or remote 
		non-threshold crossing event is detected"
    ::= { eoamTrap 2 }
	
-- ------------------------------------------------------------------ 
-- The Eoam Loopback Test Group 
-- ------------------------------------------------------------------ 
 
-- Loopback test configuration and current statistics table
      eoamLoopbackTestTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF EoamLoopbackTestEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains objects to configure Remote Loopback
             mode and loopback tests." 
          ::= { sysEoamLoopbackTest 1 } 
 
      eoamLoopbackTestEntry OBJECT-TYPE 
          SYNTAX      EoamLoopbackTestEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains remote loopback configuration and
             loopback test configuration."
             INDEX       { eoamLoopbackTestIndex }
          ::= { eoamLoopbackTestTable 1 } 
 
      EoamLoopbackTestEntry ::= SEQUENCE { 
      	  eoamLoopbackTestIndex		   		   InterfaceIndex,
          eoamLoopbackStatus       		   	   INTEGER,
          eoamLoopbackTestPattern              OCTET STRING,
          eoamLoopbackTestPktSize              Unsigned32,
          eoamLoopbackTestCount                Unsigned32,
          eoamLoopbackTestWaitTime             Integer32,
          eoamLoopbackTestCommand              INTEGER,
          eoamLoopbackTestStatus               INTEGER,
          eoamLoopbackTestStartTimestamp       DisplayString,
          eoamLoopbackTestEndTimestamp         DisplayString,
          eoamLoopbackTestTxCount              Unsigned32,
          eoamLoopbackTestRxCount              Unsigned32,
          eoamLoopbackTestMatchCount           Unsigned32
        } 

      eoamLoopbackTestIndex OBJECT-TYPE
		SYNTAX      InterfaceIndex
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"fault management loopback port index."
		::= { eoamLoopbackTestEntry 1 }
		
      eoamLoopbackStatus OBJECT-TYPE 
          SYNTAX      INTEGER { noLoopback (1), 
                                remoteLoopback (2),
                                unknown (3) } 
 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
            "The loopback status of the local interface. This status is
             obtained from the local EOAM Client. When operating in 
             normal mode with no loopback in progress, the status reads
             noLoopback(1).  
             If the local OAM client knows that the remote OAM entity is in
             loopback mode , the status is remoteLoopback(2).    
             The unknown(3) status indicates the loopback status is not
             known." 
          DEFVAL { unknown }
          ::= { eoamLoopbackTestEntry 2 }

      eoamLoopbackTestPattern OBJECT-TYPE 
          SYNTAX      OCTET STRING (SIZE (4))
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
            "Test Pattern for the remote loopback test. The default pattern
             of the test data will be 'F0F0F0F0'H " 
          ::= { eoamLoopbackTestEntry 3 }

      eoamLoopbackTestPktSize OBJECT-TYPE 
          SYNTAX      Unsigned32 (64..1500)
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
            "Test packet size for the remote loopback test" 
          DEFVAL { 64 }
          ::= { eoamLoopbackTestEntry 4 }

      eoamLoopbackTestCount OBJECT-TYPE 
          SYNTAX      Unsigned32 (1..1000)
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
            "Number of Test packets to be sent for the remote
             loopback test" 
          DEFVAL { 10 }
          ::= { eoamLoopbackTestEntry 5 }
  
      eoamLoopbackTestWaitTime OBJECT-TYPE 
          SYNTAX      Integer32 (1..10) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This timer is started after sending the last test packet.
              The Fault management module will wait until this timer
              expires or the packet reception counter is equal to the 
              transmission counter. This timer (in seconds) denotes the
              maximum time a packet can take to get looped back." 
          DEFVAL  { 5 } 
          ::= { eoamLoopbackTestEntry 6 } 
            

      eoamLoopbackTestCommand OBJECT-TYPE 
          SYNTAX      INTEGER  { noLoopbackTest(1),
                                 startLoopbackTest(2) }
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
            "This attribute initiates remote loopback test with
             an EOAM peer.  Writing startLoopbackTest(2) to this attribute
             cause the fault management send loopback test packets with
             defined test pattern, size and count.
             Writing noLoopbackTest to this attribute has no effect.  
      
             Writes to this attribute are ignored unless the fsFmLoopbackStatus
             of this interface is 'remoteLoopback'.
                              
             The attribute always returns noLoopbackTest on a read.
             " 
          ::= { eoamLoopbackTestEntry 7 } 
            
      eoamLoopbackTestStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { notInitiated(1), 
                                 loopbackTestInprogress(2),
                                 loopbackTestCompleted(3) }
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "This attribute indicates the status of the remote loopback 
             test.
             'notInitiated' indicates that the loopback has not been 
             initiated yet.
             'loopbackbTestInprogress' indicates that the loopback test is in
             progress.
             'loopbackbTestCompleted' indicates that the loopback test has been
             completed."

          ::= { eoamLoopbackTestEntry 8 } 
  
      eoamLoopbackTestStartTimestamp OBJECT-TYPE 
          SYNTAX      DisplayString (SIZE(40))
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Start timestamp of the current loopback test." 
          ::= { eoamLoopbackTestEntry 9 }
  
      eoamLoopbackTestEndTimestamp OBJECT-TYPE 
          SYNTAX      DisplayString (SIZE(40))
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "End timestamp of the current loopback test." 
          ::= { eoamLoopbackTestEntry 10 }

      eoamLoopbackTestTxCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Statistics of number of Test packets transmitted during
             current loopback test." 
          ::= { eoamLoopbackTestEntry 11 }
 
      eoamLoopbackTestRxCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
           "Statistics of number of Test packets received during
            current loopback test." 
          ::= { eoamLoopbackTestEntry 12 }
 
      eoamLoopbackTestMatchCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Statistics of number of Test packets that matched with the
             test pattern sent during current loopback test."
          ::= { eoamLoopbackTestEntry 13 }
 
-- Loopback test previous session statistics table
      eoamLoopbackStatsTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF EoamLoopbackStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains statistics of the last remote loopback
             test." 
          ::= { sysEoamLoopbackTest 2 } 
 
      eoamLoopbackStatsEntry OBJECT-TYPE 
          SYNTAX      EoamLoopbackStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains remote loopback test results of the
             last session. This table is updated every time a new loopback
             test session is started. The current fsFmLBTestTxCount,
             fsFmLBTestRxCount and fsFmLBTestMatchCount are copied to
             this table before starting the new test."
             INDEX       { eoamLoopbackStatsIndex }
          ::= { eoamLoopbackStatsTable 1 } 
 
      EoamLoopbackStatsEntry ::= SEQUENCE { 
      	  eoamLoopbackStatsIndex			   InterfaceIndex,
          eoamLoopbackStatsStartTimestamp      DisplayString,
          eoamLoopbackStatsEndTimestamp        DisplayString,
          eoamLoopbackStatsTxCount             Unsigned32,
          eoamLoopbackStatsRxCount             Unsigned32,
          eoamLoopbackStatsMatchCount          Unsigned32
        } 

  	  eoamLoopbackStatsIndex OBJECT-TYPE
		SYNTAX      InterfaceIndex
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
				"fault management loopback port index."
		::= { eoamLoopbackStatsEntry 1 }
		
      eoamLoopbackStatsStartTimestamp OBJECT-TYPE 
          SYNTAX      DisplayString (SIZE(40))
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Start timestamp of the current loopback test." 
          ::= { eoamLoopbackStatsEntry 2 }
  
      eoamLoopbackStatsEndTimestamp OBJECT-TYPE 
          SYNTAX       DisplayString (SIZE(40))
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "End timestamp of the current loopback test." 
          ::= { eoamLoopbackStatsEntry 3 }

 
      eoamLoopbackStatsTxCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Statistics of number of Test packets transmitted during
             last loopback test." 
          ::= { eoamLoopbackStatsEntry 4 }
 
      eoamLoopbackStatsRxCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
           "Statistics of number of Test packets received during
            last loopback test." 
          ::= { eoamLoopbackStatsEntry 5 }
 
      eoamLoopbackStatsMatchCount OBJECT-TYPE 
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
            "Statistics of number of Test packets that matched with the
             test pattern sent."
          ::= { eoamLoopbackStatsEntry 6 }
          
    --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"

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

        
    
	-- ping test module
	sysPingDestIpType 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 }
		::= { companyPing 1 }

	sysPingDestIpAddr 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."
		::= { companyPing 2 }
		
	sysPingTimeout	    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."
		::= { companyPing 3 }
	
	sysPingTimes 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."
		::= { companyPing 4 }

	sysPingStart OBJECT-TYPE
		SYNTAX      INTEGER { enabled(1), disabled(2) }
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"The ping event of ping operate."
		DEFVAL  { disabled }
		::= { companyPing 5 }

	sysPingStatus OBJECT-TYPE
		SYNTAX	INTEGER {
					notinitiated (1),
					progress  (2),
					completed (3)
				}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The current status of the Ping operate"
		::= { companyPing 6 }

	sysPingSuccesses OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The number of ping responses received."
		::= { companyPing 7 }

	
    -- ---------------------------------------------------------------------
    -- MacNotify Function
    -- ---------------------------------------------------------------------

    sysMacNotifyState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),        
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
           "This object can enabled or disabled MAC Notification."
        ::= { companyMacNotify 1 }        
             
    sysmacNotifyInterval OBJECT-TYPE
	    SYNTAX  Integer32 (1..2147483647)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the time interval in second for trigger the MAC notify message. "
        --DEFVAL     { 1 }
	    ::= { companyMacNotify 2 }    

    sysmacNotifyHistorySize OBJECT-TYPE
	    SYNTAX  Integer32 (1..500)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
            "This object indicates the history size of variation MAC in address table. The default value is 1 ."
        --DEFVAL     { 1 }
    ::= { companyMacNotify 3 } 
    
    -- Mac Notify Port Control Table    
    sysmacNotifyCtrlTable OBJECT-TYPE 
       SYNTAX      SEQUENCE OF MacNotifyCtrlEntry 
       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."
       ::= { companyMacNotify 4 }
    
    macNotifyCtrlEntry OBJECT-TYPE 
       SYNTAX      MacNotifyCtrlEntry 
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "An entry appears in this table for each interface 
            in the system."
       INDEX { macNotifyPortIndex }
       ::= { sysmacNotifyCtrlTable 1 }
       
    MacNotifyCtrlEntry ::= 
       SEQUENCE { 
          macNotifyPortIndex
             Integer32, 
          macNotifyPortStatus 
             INTEGER
      }
    
    macNotifyPortIndex 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."
       ::= { macNotifyCtrlEntry 1 }
        
    macNotifyPortStatus OBJECT-TYPE 
       SYNTAX      INTEGER {
                   enabled(1),
                   disabled(2)
                   }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
           "Provides control to per port enable or disable the mac notify status 
            function. Default is disabled."
       DEFVAL  { disabled }
       ::= { macNotifyCtrlEntry 2 }    

	-- ---------------------------------------------------------------------
    -- MacNotify Trap Function
    -- ---------------------------------------------------------------------
	--sysMacNotification  OBJECT IDENTIFIER ::= { companyMacNotify  5 }
	sysMacNotifyTraps 		OBJECT IDENTIFIER ::= { companyMacNotify 5 }

    fdbTableChanged NOTIFICATION-TYPE
	OBJECTS {
        portSecFDBPermVlanID,
		portSecFDBPermMac,
		portSecFDBPermPort
    }
    STATUS      current
    DESCRIPTION
        "A fdbTableChanged notification is sent when dynamic forwarding table
		add learning mac; also when one device leave, dynamic forwarding table
		delete one mac,a fdbTableChanged notification is sent too.

		Note that transmission of fdbTableChanged notifications are throttled by the agent."
    ::= { sysMacNotifyTraps 1 }

    sysArp        OBJECT IDENTIFIER ::= { companyArp 1}

	-- Arp Table
	
	arpTable OBJECT-TYPE 
	   SYNTAX      SEQUENCE OF ARPEntry 
	   MAX-ACCESS  not-accessible 
	   STATUS      current 
	   DESCRIPTION 
	      "A table that contains ARP infomation"
	   ::= { sysArp 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 { arpIpAddr }
	   ::= { arpTable 1 }
	
	ARPEntry ::=
	   SEQUENCE {
		  arpIpAddr
	         IpAddress,
	      arpMacAddress
	         MacAddress,
	      arpType
	         INTEGER,
		  arpRowStatus
			 RowStatus
	   }
	
	arpIpAddr OBJECT-TYPE
	   SYNTAX      IpAddress
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
	       "The IpAddress corresponding to the Mac Address."
	   ::= { arpEntry 1 }
	
	arpMacAddress OBJECT-TYPE 
	   SYNTAX      MacAddress
	   MAX-ACCESS  read-write
	   STATUS      current 
	   DESCRIPTION 
	      "Ethernet Mac Address."
	   ::= { arpEntry 2 }
   	
	arpType OBJECT-TYPE
	   SYNTAX      INTEGER {
           dynamic(1),
           static(2)
       }
	   MAX-ACCESS  read-write
	   STATUS      current
	   DESCRIPTION
	      "The type of ARP mapping entry."
	   ::= { arpEntry 3 }
	
	arpRowStatus OBJECT-TYPE
       SYNTAX     RowStatus
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
                "The status of an entry in the ARP Table.
				 A conceptual row can not be made active until the 
				 arpMacAddress object has been set."
       ::= { arpEntry 4 }
	
	cmArpClear  OBJECT-TYPE
		SYNTAX	INTEGER {
					none(0),			-- no action
					clearAll(1),		-- clear all arp entries
					cleatAllStatic(2),	-- clear all static arp entries
					clearAllDynamic(3)	-- clear all dynamic arp entries
				}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "clear action type:
			  none(0),			-- no action
			  clearAll(1),		-- clear all arp entries
			  cleatAllStatic,		-- clear all static arp entries
			  clearAllDynamic,	-- clear all dynamic arp entries
			 Initial its value is 0, and after each action, it will reset to 0"
    ::= { companyArp 2 }
	
	-- User Account User Table
    sysUserAccount			OBJECT IDENTIFIER ::= { companyUserAccount 1 }

	adminUserTable OBJECT-TYPE 
			SYNTAX      SEQUENCE OF AdminUserEntry 
			MAX-ACCESS  not-accessible 
			STATUS      current 
			DESCRIPTION 
					"A table to management user table in the switch."
			::= { sysUserAccount 1 }

	adminUserEntry OBJECT-TYPE
			SYNTAX      AdminUserEntry 
			MAX-ACCESS  not-accessible 
			STATUS      current 
			DESCRIPTION 
					"An entry appears in this table for each user 
					in the system."
			INDEX { userName }
			::= { adminUserTable 1 }

	AdminUserEntry ::= 
			SEQUENCE { 
					userName 			SnmpAdminString,
					userPassword 		DisplayString, 
					userAccessRight		INTEGER,
					userEncrypt			INTEGER,
					userEncryptControl	INTEGER,
					userRowStatus		RowStatus 
			}

	userName OBJECT-TYPE 
			SYNTAX      SnmpAdminString (SIZE(1..15))
			MAX-ACCESS  read-only
			STATUS      current 
			DESCRIPTION 
					"The name of user entry."
			::= { adminUserEntry 1 }

 	userPassword OBJECT-TYPE 
			SYNTAX      DisplayString (SIZE(0..15))
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"The password of user entry.
					0 means no password."
			::= { adminUserEntry 2 }

	userAccessRight OBJECT-TYPE 
			SYNTAX  INTEGER {
               admin(1),
               operator(2), 
               user(3)
    		}
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"The access right of user entry."
			DEFVAL  { admin }
			::= { adminUserEntry 3 }

	userEncrypt OBJECT-TYPE 
			SYNTAX  INTEGER {
               plainText(1),
               sha1(2)
    		}
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION 
					"The encrypt type of user password."
			DEFVAL  { sha1 }
			::= { adminUserEntry 4 }

	userEncryptControl OBJECT-TYPE 
			SYNTAX  INTEGER { 
					enabled(1), 
					disabled(2) 
			}
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
					"Enable or disable Encrypt of user password."
			::= { adminUserEntry 5 }

  	userRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create 
			STATUS      current 
			DESCRIPTION 
					"The row status of user entry."
			::= { adminUserEntry 6 }

	-- password encrypte
	sysPasswordEncrypt		OBJECT-TYPE
			SYNTAX      INTEGER { 
					enabled(1), 
					disabled(2) 
			}
			MAX-ACCESS  read-create 
			STATUS      current 
			DESCRIPTION 
					"encrypt control of user password, 
					 default password storage type is plaintext,
					 if set enable, all password storage is dlinksha1 format."
			::= { companyUserAccount 2 }



	syssessionTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF SyssessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A Table contain the user login session information."
        ::= { companySession 1 }

    syssessionEntry OBJECT-TYPE
        SYNTAX     SyssessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
			"A Session Table contain the user login information."
        INDEX { sessionID }
        ::= { syssessionTable 1 }

    SyssessionEntry  ::= SEQUENCE {
		sessionID          				Unsigned32,
		sessionUserName					DisplayString,
		sessionUserPrivilege			INTEGER,
		sessionLoginTime           		DisplayString,
		sessionLiveTime           		DisplayString,
		sessionType						INTEGER,
		sessionIP						InetAddress
	}

    sessionID 	OBJECT-TYPE
		SYNTAX       Unsigned32
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The index of session table."
		::= { syssessionEntry  1 }

	sessionUserName OBJECT-TYPE
		SYNTAX       DisplayString
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The name of login user."
		::= { syssessionEntry  2 }

	sessionUserPrivilege OBJECT-TYPE
		SYNTAX       INTEGER {
					user(3),
					operator(4),
					admin(5)
				}
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"login user privilege."
		::= { syssessionEntry  3 }

    sessionLoginTime OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The time at which user login."
		::= { syssessionEntry  4 }

    sessionLiveTime OBJECT-TYPE
		SYNTAX       DisplayString
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"The time peroid user has kept login."
		::= { syssessionEntry  5 }

	sessionType OBJECT-TYPE
		SYNTAX  	INTEGER {
					http(1),
					telnet(2),
					ssh(3)
				}
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"login from http or telnet."
		::= { syssessionEntry  6 }

	sessionIP OBJECT-TYPE
		SYNTAX       InetAddress
		MAX-ACCESS   read-only
		STATUS       current
		DESCRIPTION
			"login ip through http or telnet."
		::= { syssessionEntry  7 }
   
	-- ----------------------------------------------------------------
    -- Trusted Host
    -- ----------------------------------------------------------------
	trustedHostStatus		OBJECT-TYPE 
	   SYNTAX      INTEGER {
						  enabled      (1),
						  disabled	   (2)
					   }
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
			   "This object indicates trusted host function is enabled or disabled. 
				When trusted host function is enabled, Smart Switches will 
				only allow hosts which you trust to access and control the switch.
				Your local host IP Addresses must be one of the IP Addresses to 
				avoid disconnection." 
		
	   DEFVAL  { disabled }    
	   ::= { sysTrustedHost 1}
	
	trustedHostTable OBJECT-TYPE
	   SYNTAX      SEQUENCE OF TrustedHostEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
		   "A table to configure IP authorized managers in the system."
	   ::= { sysTrustedHost 2 }

	trustedHostEntry OBJECT-TYPE
	   SYNTAX      TrustedHostEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
		   "Each entry in this table represents rules for particular
			IP authorized manager."
	   INDEX { trustedHostIpAddr, trustedHostIpMask}
	   ::= { trustedHostTable 1 }

	TrustedHostEntry ::=
	   SEQUENCE {
		  trustedHostIpAddr
			InetAddress,
		  trustedHostIpMask
			 InetAddress,
		  trustedHostRowStatus
			 RowStatus
	 }
	
	trustedHostIpAddr OBJECT-TYPE
	SYNTAX 		InetAddress
	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'."
	::=  { trustedHostEntry 1 }
			
	trustedHostIpMask OBJECT-TYPE
	   SYNTAX      InetAddress
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
		   "Used to mask with IP address, it allow you set a subnet as a 
            trusted host entry."
	   ::= { trustedHostEntry 2 }

	trustedHostRowStatus OBJECT-TYPE
	   SYNTAX      	RowStatus
		MAX-ACCESS  read-create
	   STATUS      current
	   DESCRIPTION
		  "This object indicates the status of this entry."
	   ::= { trustedHostEntry 3 }
	   
-- start profile
	sysAclProfile		OBJECT IDENTIFIER ::= { companyACL 1 }

-- start l2 profile
	aclL2ProfileTable	OBJECT-TYPE
	SYNTAX				SEQUENCE OF AclL2ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L2 acl profile infomation."
	::= { sysAclProfile 1 }
	
	aclL2ProfileEntry	OBJECT-TYPE
	SYNTAX				AclL2ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the aclL2ProfileTable"
	INDEX				{ aclL2ProfileID }
	::= { aclL2ProfileTable 1 }
	
	AclL2ProfileEntry ::= SEQUENCE {
		aclL2ProfileID				Integer32,
		aclL2RuleCount				Integer32,
		aclL2SrcMacMask				MacAddress,
		aclL2DstMacMask				MacAddress,
		aclL28021pCheck				INTEGER,
		aclL2VlanIdCheck			INTEGER,
		aclL2EtherTypeCheck			INTEGER,
		aclL2ProfileStatus			RowStatus
	}
	
	aclL2ProfileID	OBJECT-TYPE
	SYNTAX			Integer32 (1..150)
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"The ACL Profile ID."
	::= { aclL2ProfileEntry  1 }
	
	aclL2RuleCount	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Rule count in this profile."
	::= { aclL2ProfileEntry  2 }
	
	aclL2SrcMacMask	OBJECT-TYPE
	SYNTAX			MacAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"L2 source mac address filter mask."
	::= { aclL2ProfileEntry  3 }

	aclL2DstMacMask	OBJECT-TYPE
	SYNTAX			MacAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"L2 destination mac address filter mask."
	::= { aclL2ProfileEntry  4 }

	aclL28021pCheck	OBJECT-TYPE
	SYNTAX			INTEGER {
						enabled(1),
						disabled(2)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Configure to decide whether to do 802.1p field check."
	::= { aclL2ProfileEntry  5 }
	
	aclL2VlanIdCheck	OBJECT-TYPE
	SYNTAX			INTEGER {
						enabled(1),
						disabled(2)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Configure to decide whether to do vlan id field check."
	::= { aclL2ProfileEntry  6 }
	
	aclL2EtherTypeCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do ether type check"
	::= { aclL2ProfileEntry  7 }
	
	aclL2ProfileStatus	OBJECT-TYPE
	SYNTAX				RowStatus
	MAX-ACCESS			read-create
	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 there is no configuration conflict."
	::= { aclL2ProfileEntry  8 }
-- end l2 profile

-- start L3 profile
	aclL3ProfileTable	OBJECT-TYPE
	SYNTAX				SEQUENCE OF AclL3ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L3 IPv4 acl profile infomation."
	::= { sysAclProfile 2 }
	
	aclL3ProfileEntry	OBJECT-TYPE
	SYNTAX				AclL3ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the aclIpv4ProfileTable"
	INDEX				{ aclL3ProfileID }
	::= { aclL3ProfileTable 1 }
	
	AclL3ProfileEntry ::= SEQUENCE {
		aclL3ProfileID				Integer32,
		aclL3RuleCount				Integer32,
		aclL3ProfileType			InetAddressType,
		aclL3Ip4SrcAddrMask			IpAddress,
		aclL3Ip4DstAddrMask			IpAddress,
		aclL3Ip4DscpCheck			INTEGER,
		aclL3Ip4TosCheck			INTEGER, 
		aclL3Ip4Protocol			INTEGER, 
		aclL3Ip4ProtocolMask		OCTET STRING,
		aclL3Ip6SrcAddrMask			Ipv6Address,
		aclL3Ip6DstAddrMask			Ipv6Address,
		aclL3Ip6TrafficClassCheck	INTEGER,
		aclL3IcmpTypeCheck			INTEGER,
		aclL3IcmpCodeCheck			INTEGER,
		aclL3IgmpTypeCheck			INTEGER,
		aclL3SrcPortMask			OCTET STRING,
		aclL3DstPortMask			OCTET STRING,
		aclL3TcpFlagCheck			INTEGER,
		aclL3ProfileStatus			RowStatus
	}
	
	aclL3ProfileID	OBJECT-TYPE
	SYNTAX			Integer32 (1..150)
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"The ACL Profile ID."
	::= { aclL3ProfileEntry  1 }
	
	aclL3RuleCount	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Rule count in this profile."
	::= { aclL3ProfileEntry  2 }
	
	aclL3ProfileType	OBJECT-TYPE
	SYNTAX				InetAddressType
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Current profile type, valid type is ipv4 and ipv6"
	::= { aclL3ProfileEntry  3 }

	aclL3Ip4SrcAddrMask	OBJECT-TYPE
	SYNTAX				IpAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv4 source address filter mask."
	::= { aclL3ProfileEntry  4 }

	aclL3Ip4DstAddrMask	OBJECT-TYPE
	SYNTAX				IpAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv4 destination address filter mask."
	::= { aclL3ProfileEntry  5 }
	
	aclL3Ip4DscpCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv4 DSCP/ToS check or not."
	::= { aclL3ProfileEntry 6 }
	
	aclL3Ip4TosCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv4 DSCP/ToS check or not."
	::= { aclL3ProfileEntry 7 }
	
	aclL3Ip4Protocol	OBJECT-TYPE
	SYNTAX				INTEGER {
							none(0),
							icmp(1),
							igmp(2),
							tcp(6),
							udp(17),
							icmpv6(58)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Indicate the IP Protocol to be care in this profile."
	::= { aclL3ProfileEntry 8 }
	
	aclL3Ip4ProtocolMask	OBJECT-TYPE
	SYNTAX					OCTET STRING
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv4 protocol id mask."
	::= { aclL3ProfileEntry 9 }
	
	aclL3Ip6SrcAddrMask	OBJECT-TYPE
	SYNTAX				Ipv6Address
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv6 source address filter mask."
	::= { aclL3ProfileEntry 10 }

	aclL3Ip6DstAddrMask	OBJECT-TYPE
	SYNTAX				Ipv6Address
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L3 IPv6 destination address filter mask."
	::= { aclL3ProfileEntry 11 }
	
	aclL3Ip6TrafficClassCheck	OBJECT-TYPE
	SYNTAX						INTEGER {
									enabled(1),
									disabled(2)
								}
	MAX-ACCESS					read-write
	STATUS						current
	DESCRIPTION				
		"Configure to decide whether to do ip6 Traffic Class check"
	::= { aclL3ProfileEntry 12 }
	
	aclL3IcmpTypeCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do icmp type check"
	::= { aclL3ProfileEntry 13 }
	
	aclL3IcmpCodeCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do icmp code check"
	::= { aclL3ProfileEntry  14 }
	
	aclL3IgmpTypeCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do igmp type check"
	::= { aclL3ProfileEntry  15 }
	
	aclL3SrcPortMask	OBJECT-TYPE
	SYNTAX			OCTET STRING
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Source port filter mask."
	::= { aclL3ProfileEntry  16 }
	
	aclL3DstPortMask	OBJECT-TYPE
	SYNTAX			OCTET STRING
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Destination port filter mask."
	::= { aclL3ProfileEntry  17 }
	
	aclL3TcpFlagCheck	OBJECT-TYPE
	SYNTAX			INTEGER {
						enabled(1),
						disabled(2)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Configure to decide whether to do tcp flag check"
	::= { aclL3ProfileEntry  18 }
	
	aclL3ProfileStatus	OBJECT-TYPE
	SYNTAX				RowStatus
	MAX-ACCESS			read-create
	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 there is no configuration conflict."
	::= { aclL3ProfileEntry  19 }
-- end L3 profile
--end profile


--start rule
	sysAclRule			OBJECT IDENTIFIER ::= { companyACL 2 }

-- start l2 rule
	aclL2RuleTable		OBJECT-TYPE
	SYNTAX				SEQUENCE OF AclL2RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L2 acl rule infomation."
	::= { sysAclRule 1 }
	
	aclL2RuleEntry		OBJECT-TYPE
	SYNTAX				AclL2RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the aclL2RuleTable"
	INDEX				{ aclL2RuleProfileID, aclL2RuleAccessID }
	::= { aclL2RuleTable 1 }
	
	AclL2RuleEntry ::= SEQUENCE {
		aclL2RuleProfileID	Integer32,
		aclL2RuleAccessID	Integer32,
		aclL2VlanId			Integer32,
		aclL2SrcMac			MacAddress,
		aclL2DstMac			MacAddress,
		aclL28021p			Integer32,
		aclL2EtherType		Integer32,
		aclL2InPortList		PortList,
		aclL2Action			INTEGER,
		aclL2RateLimit		Unsigned32,
		aclL2ReplaceDSCP	Integer32,
		aclL2RuleStatus		RowStatus
	}
	
	aclL2RuleProfileID	OBJECT-TYPE
	SYNTAX				Integer32 (1..150)
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"The ACL Profile ID."
	::= { aclL2RuleEntry 1 }
	
	aclL2RuleAccessID	OBJECT-TYPE
	SYNTAX			Integer32 (1..65535)
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"The ACL rule access ID."
	::= { aclL2RuleEntry 2 }
	
	aclL2VlanId	OBJECT-TYPE
	SYNTAX		Integer32 (0..4094)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	"Vlan id to be filter, 0 means not care."
	::= { aclL2RuleEntry 3 }
	
	aclL2SrcMac		OBJECT-TYPE
	SYNTAX			MacAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"L2 source mac address filter mask."
	::= { aclL2RuleEntry  4 }

	aclL2DstMac		OBJECT-TYPE
	SYNTAX			MacAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"L2 destination mac address filter mask."
	::= { aclL2RuleEntry  5 }
	
	aclL28021p	OBJECT-TYPE
	SYNTAX		Integer32 (-1..7)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	"Ethernet header 802.1p value to be filter, -1 means not care."
	::= { aclL2RuleEntry 6 }
	
	aclL2EtherType	OBJECT-TYPE
	SYNTAX			Integer32 (0..65535)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Ethernet type value to be filter, 0 means not care."
	::= { aclL2RuleEntry 7 }
	
	aclL2InPortList	OBJECT-TYPE
	SYNTAX			PortList
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Packet from which ports that this rule apply on."
	::= { aclL2RuleEntry  8 }
	
	aclL2Action		OBJECT-TYPE
	SYNTAX			INTEGER{
						permit(1),
						drop(2),
						rateLimit(4),
						replaceDSCP(6)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Action for a packet that hit this rule."
	::= { aclL2RuleEntry  9 }
	
	aclL2RateLimit	OBJECT-TYPE
	SYNTAX			Unsigned32 (16..1000000)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Rate limit value for the packet hit."
	::= { aclL2RuleEntry  10 }
	
	aclL2ReplaceDSCP	OBJECT-TYPE
	SYNTAX				Integer32 (-1..63)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Replace the DSCP value configured. -1 means not care."
	::= { aclL2RuleEntry  11 }
	
	aclL2RuleStatus	OBJECT-TYPE
	SYNTAX			RowStatus
	MAX-ACCESS		read-create
	STATUS			current
	DESCRIPTION		"operation of rule action"
	::= { aclL2RuleEntry  12 }
-- end l2 rule

-- start L3 rule
	aclL3RuleTable		OBJECT-TYPE
	SYNTAX				SEQUENCE OF AclL3RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L3 IPv4 acl rule infomation."
	::= { sysAclRule 2 }
	
	aclL3RuleEntry		OBJECT-TYPE
	SYNTAX				AclL3RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the acL3RuleTable"
	INDEX				{ aclL3RuleProfileID, aclL3RuleAccessID }
	::= { aclL3RuleTable 1 }
	
	AclL3RuleEntry ::= SEQUENCE {
		aclL3RuleProfileID		Integer32,
		aclL3RuleAccessID		Integer32,
		aclL3IP4SrcAddr			IpAddress,
		aclL3IP4DstAddr			IpAddress,
		aclL3IP4DSCP			Integer32,
		aclL3IP4ToS				Integer32,
		aclL3IP4Protocol		Integer32,
		aclL3IP6SrcAddr			Ipv6Address,
		aclL3IP6DstAddr			Ipv6Address,
		aclL3Ip6TrafficClass	INTEGER,
		aclL3IcmpType			Integer32,
		aclL3IcmpCode			Integer32,
		aclL3IgmpType			Integer32,
		aclL3SrcPort			Integer32,
		aclL3DstPort			Integer32,
		aclL3TcpFlagURG			INTEGER,
		aclL3TcpFlagACK			INTEGER,
		aclL3TcpFlagPSH			INTEGER,
		aclL3TcpFlagRST			INTEGER,
		aclL3TcpFlagSYN			INTEGER,
		aclL3TcpFlagFIN			INTEGER,
		aclL3InPortList			PortList,
		aclL3Action				INTEGER,
		aclL3RateLimit			Unsigned32,
		aclL3ReplaceDSCP		Integer32,
		aclL3RuleStatus			RowStatus
	}
	
	aclL3RuleProfileID	OBJECT-TYPE
	SYNTAX				Integer32 (1..150)
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"The ACL Profile ID."
	::= { aclL3RuleEntry 1 }
	
	aclL3RuleAccessID	OBJECT-TYPE
	SYNTAX				Integer32 (1..65535)
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"The ACL rule access ID."
	::= { aclL3RuleEntry 2 }
	
	aclL3IP4SrcAddr	OBJECT-TYPE
	SYNTAX			IpAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv4 source address to filter"
	::= { aclL3RuleEntry 3 }
	
	aclL3IP4DstAddr	OBJECT-TYPE
	SYNTAX			IpAddress
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv4 destination address to filter"
	::= { aclL3RuleEntry 4 }
	
	aclL3IP4DSCP	OBJECT-TYPE
	SYNTAX			Integer32 (-1..63)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv4 dscp value to filter, -1 means do not care."
	::= { aclL3RuleEntry 5 }
	
	aclL3IP4ToS		OBJECT-TYPE
	SYNTAX			Integer32 (-1..7)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv4 tos value to filter, -1 means do not care."
	::= { aclL3RuleEntry 6 }
	
	aclL3IP4Protocol	OBJECT-TYPE
	SYNTAX				Integer32 (0..255)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv4 protocol value to filter, 255 means do not care."
	::= { aclL3RuleEntry 7 }
	
	aclL3IP6SrcAddr	OBJECT-TYPE
	SYNTAX			Ipv6Address
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv6 source address to filter"
	::= { aclL3RuleEntry 8 }
	
	aclL3IP6DstAddr	OBJECT-TYPE
	SYNTAX			Ipv6Address
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv6 destination address to filter"
	::= { aclL3RuleEntry 9 }
	
	aclL3Ip6TrafficClass	OBJECT-TYPE
	SYNTAX					INTEGER (-1..255)
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"ipv6 traffic class to filter"
	::= { aclL3RuleEntry 10 }
	
	aclL3IcmpType	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"the icmp type value to filter"
	::= { aclL3RuleEntry 11 }
	
	aclL3IcmpCode	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"the icmp code value to filter"
	::= { aclL3RuleEntry 12 }
	
	aclL3IgmpType	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"the igmp type value to filter"
	::= { aclL3RuleEntry 13 }
	
	aclL3SrcPort	OBJECT-TYPE
	SYNTAX			Integer32 (-1..65535)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"the source port to filter"
	::= { aclL3RuleEntry 14 }
	
	aclL3DstPort	OBJECT-TYPE
	SYNTAX			Integer32 (-1..65535)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"the destination port to filter"
	::= { aclL3RuleEntry 15 }
	
	aclL3TcpFlagURG	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tcp urg flag set or not."
	::= { aclL3RuleEntry 16 }
	
	aclL3TcpFlagACK	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tcp ack flag set or not."
	::= { aclL3RuleEntry 17 }
	
	aclL3TcpFlagPSH	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tcp psh flag set or not."
	::= { aclL3RuleEntry 18 }
	
	aclL3TcpFlagRST	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tcp rst flag set or not."
	::= { aclL3RuleEntry 19 }
	
	aclL3TcpFlagSYN	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tcp syn flag set or not."
	::= { aclL3RuleEntry 20 }
	
	aclL3TcpFlagFIN	OBJECT-TYPE
	SYNTAX			INTEGER {
						set(1),
						notSet(2),
						any(3)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"check tco fin flag set or not."
	::= { aclL3RuleEntry 21 }
	
	aclL3InPortList	OBJECT-TYPE
	SYNTAX			PortList
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Packet from which ports that this rule apply on."
	::= { aclL3RuleEntry 22 }
	
	aclL3Action		OBJECT-TYPE
	SYNTAX			INTEGER{
						permit(1),
						drop(2),
						rateLimit(4),
						replaceDSCP(6)
					}
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Action for a packet that hit this rule."
	::= { aclL3RuleEntry 23 }
	
	aclL3RateLimit	OBJECT-TYPE
	SYNTAX			Unsigned32 (16..1000000)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Rate limit value for the packet hit."
	::= { aclL3RuleEntry 24 }
	
	aclL3ReplaceDSCP	OBJECT-TYPE
	SYNTAX				Integer32 (-1..63)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"replace dscp value to configured, -1 means not care."
	::= { aclL3RuleEntry 25 }
	
	aclL3RuleStatus	OBJECT-TYPE
	SYNTAX			RowStatus
	MAX-ACCESS		read-create
	STATUS			current
	DESCRIPTION		"operation of rule action."
	::= { aclL3RuleEntry 26 }
-- end L3 rule
-- end rule

-- start acl statistic
	sysAclStatistic		OBJECT IDENTIFIER ::= { companyACL 3 }
	
	aclTotalProfile	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Total profile entry count"
	::= { sysAclStatistic 1 }
	
	aclUsedProfile	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Profile entry number that in use"
	::= { sysAclStatistic 2 }
	
	aclTotalRule	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Total rule entry count"
	::= { sysAclStatistic 3 }
	
	aclUsedRule		OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Rule entry number that in use"
	::= { sysAclStatistic 4 }
-- end acl statistic

-- start profile
	sysCpuAclProfile		OBJECT IDENTIFIER ::= { companyCPUACL 1 }

-- start l2 profile
	cpuAclL2ProfileTable	OBJECT-TYPE
	SYNTAX				SEQUENCE OF CpuAclL2ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L2 acl profile infomation."
	::= { sysCpuAclProfile 1 }
	
	cpuAclL2ProfileEntry	OBJECT-TYPE
	SYNTAX				CpuAclL2ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the cpuAclL2ProfileTable"
	INDEX				{ cpuAclL2ProfileID }
	::= { cpuAclL2ProfileTable 1 }
	
	CpuAclL2ProfileEntry ::= SEQUENCE {
		cpuAclL2ProfileID				Integer32,
		cpuAclL2RuleCount				Integer32,
		cpuAclL2SrcMacMask				MacAddress,
		cpuAclL2DstMacMask				MacAddress,
		cpuAclL28021pCheck				INTEGER,
		cpuAclL2VlanIdCheck			INTEGER,
		cpuAclL2EtherTypeCheck			INTEGER,
		cpuAclL2ProfileStatus			RowStatus
	}
	
	cpuAclL2ProfileID	OBJECT-TYPE
	SYNTAX				Integer32 (1..3)
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"The ACL Profile ID."
	::= { cpuAclL2ProfileEntry  1 }
	
	cpuAclL2RuleCount	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"Rule count in this profile."
	::= { cpuAclL2ProfileEntry  2 }
	
	cpuAclL2SrcMacMask	OBJECT-TYPE
	SYNTAX				MacAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L2 source mac address filter mask."
	::= { cpuAclL2ProfileEntry  3 }

	cpuAclL2DstMacMask	OBJECT-TYPE
	SYNTAX				MacAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L2 destination mac address filter mask."
	::= { cpuAclL2ProfileEntry  4 }

	cpuAclL28021pCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do 802.1p field check."
	::= { cpuAclL2ProfileEntry  5 }
	
	cpuAclL2VlanIdCheck	OBJECT-TYPE
	SYNTAX				INTEGER {
							enabled(1),
							disabled(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Configure to decide whether to do vlan id field check."
	::= { cpuAclL2ProfileEntry  6 }
	
	cpuAclL2EtherTypeCheck	OBJECT-TYPE
	SYNTAX					INTEGER {
								enabled(1),
								disabled(2)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"Configure to decide whether to do ether type check"
	::= { cpuAclL2ProfileEntry  7 }
	
	cpuAclL2ProfileStatus	OBJECT-TYPE
	SYNTAX					RowStatus
	MAX-ACCESS				read-create
	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 there is no configuration conflict."
	::= { cpuAclL2ProfileEntry  8 }
-- end l2 profile

-- start L3 profile
	cpuAclL3ProfileTable	OBJECT-TYPE
	SYNTAX				SEQUENCE OF CpuAclL3ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L3 IPv4 acl profile infomation."
	::= { sysCpuAclProfile 2 }
	
	cpuAclL3ProfileEntry	OBJECT-TYPE
	SYNTAX				CpuAclL3ProfileEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the aclIpv4ProfileTable"
	INDEX				{ cpuAclL3ProfileID }
	::= { cpuAclL3ProfileTable 1 }
	
	CpuAclL3ProfileEntry ::= SEQUENCE {
		cpuAclL3ProfileID				Integer32,
		cpuAclL3RuleCount				Integer32,
		cpuAclL3ProfileType				InetAddressType,
		cpuAclL3Ip4SrcAddrMask			IpAddress,
		cpuAclL3Ip4DstAddrMask			IpAddress,
		cpuAclL3Ip4DscpCheck			INTEGER,
		cpuAclL3Ip4Protocol				INTEGER, 
		cpuAclL3Ip4ProtocolMask			OCTET STRING,
		cpuAclL3Ip4IcmpTypeCheck		INTEGER,
		cpuAclL3Ip4IcmpCodeCheck		INTEGER,
		cpuAclL3Ip4IgmpTypeCheck		INTEGER,
		cpuAclL3Ip4SrcPortMask			OCTET STRING,
		cpuAclL3Ip4DstPortMask			OCTET STRING,
		cpuAclL3Ip4TcpFlagCheck			INTEGER,
		cpuAclL3Ip6SrcAddrMask			Ipv6Address,
		cpuAclL3Ip6DstAddrMask			Ipv6Address,
		cpuAclL3Ip6TrafficClassCheck	INTEGER,
		cpuAclL3ProfileStatus			RowStatus
	}
	
	cpuAclL3ProfileID	OBJECT-TYPE
	SYNTAX				Integer32 (1..3)
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"The ACL Profile ID."
	::= { cpuAclL3ProfileEntry  1 }
	
	cpuAclL3RuleCount	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"Rule count in this profile."
	::= { cpuAclL3ProfileEntry  2 }
	
	cpuAclL3ProfileType	OBJECT-TYPE
	SYNTAX				InetAddressType
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Current profile type, valid type is ipv4 and ipv6"
	::= { cpuAclL3ProfileEntry  3 }

	cpuAclL3Ip4SrcAddrMask	OBJECT-TYPE
	SYNTAX					IpAddress
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv4 source address filter mask."
	::= { cpuAclL3ProfileEntry  4 }

	cpuAclL3Ip4DstAddrMask	OBJECT-TYPE
	SYNTAX					IpAddress
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv4 destination address filter mask."
	::= { cpuAclL3ProfileEntry  5 }
	
	cpuAclL3Ip4DscpCheck	OBJECT-TYPE
	SYNTAX					INTEGER {
								enabled(1),
								disabled(2)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv4 DSCP/ToS check or not."
	::= { cpuAclL3ProfileEntry 6 }
	
	cpuAclL3Ip4Protocol	OBJECT-TYPE
	SYNTAX				INTEGER {
							none(0),
							icmp(1),
							igmp(2),
							tcp(6),
							udp(17)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Indicate the IP Protocol to be care in this profile."
	::= { cpuAclL3ProfileEntry 7 }
	
	cpuAclL3Ip4ProtocolMask	OBJECT-TYPE
	SYNTAX					OCTET STRING
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv4 protocol id mask."
	::= { cpuAclL3ProfileEntry 8 }
	
	cpuAclL3Ip4IcmpTypeCheck	OBJECT-TYPE
	SYNTAX						INTEGER {
									enabled(1),
									disabled(2)
								}
	MAX-ACCESS					read-write
	STATUS						current
	DESCRIPTION					"Configure to decide whether to do icmp type check"
	::= { cpuAclL3ProfileEntry 9 }
	
	cpuAclL3Ip4IcmpCodeCheck	OBJECT-TYPE
	SYNTAX						INTEGER {
									enabled(1),
									disabled(2)
								}
	MAX-ACCESS					read-write
	STATUS						current
	DESCRIPTION					"Configure to decide whether to do icmp code check"
	::= { cpuAclL3ProfileEntry  10 }
	
	cpuAclL3Ip4IgmpTypeCheck	OBJECT-TYPE
	SYNTAX						INTEGER {
									enabled(1),
									disabled(2)
								}
	MAX-ACCESS					read-write
	STATUS						current
	DESCRIPTION					"Configure to decide whether to do igmp type check"
	::= { cpuAclL3ProfileEntry  11 }
	
	cpuAclL3Ip4SrcPortMask	OBJECT-TYPE
	SYNTAX					OCTET STRING
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"Source port filter mask."
	::= { cpuAclL3ProfileEntry  12 }
	
	cpuAclL3Ip4DstPortMask	OBJECT-TYPE
	SYNTAX					OCTET STRING
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"Destination port filter mask."
	::= { cpuAclL3ProfileEntry  13 }
	
	cpuAclL3Ip4TcpFlagCheck	OBJECT-TYPE
	SYNTAX					INTEGER {
								enabled(1),
								disabled(2)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"Configure to decide whether to do tcp flag check"
	::= { cpuAclL3ProfileEntry  14 }
	
	cpuAclL3Ip6SrcAddrMask	OBJECT-TYPE
	SYNTAX					Ipv6Address
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv6 source address filter mask."
	::= { cpuAclL3ProfileEntry 15 }

	cpuAclL3Ip6DstAddrMask	OBJECT-TYPE
	SYNTAX					Ipv6Address
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"L3 IPv6 destination address filter mask."
	::= { cpuAclL3ProfileEntry 16 }
	
	cpuAclL3Ip6TrafficClassCheck	OBJECT-TYPE
	SYNTAX							INTEGER {
										enabled(1),
										disabled(2)
									}
	MAX-ACCESS						read-write
	STATUS							current
	DESCRIPTION				
		"Configure to decide whether to do ip6 Traffic Class check"
	::= { cpuAclL3ProfileEntry 17 }
	
	cpuAclL3ProfileStatus	OBJECT-TYPE
	SYNTAX					RowStatus
	MAX-ACCESS				read-create
	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 there is no configuration conflict."
	::= { cpuAclL3ProfileEntry  18 }
-- end L3 profile
--end profile


--start rule
	sysCpuAclRule			OBJECT IDENTIFIER ::= { companyCPUACL 2 }

-- start l2 rule
	cpuAclL2RuleTable		OBJECT-TYPE
	SYNTAX				SEQUENCE OF CpuAclL2RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L2 acl rule infomation."
	::= { sysCpuAclRule 1 }
	
	cpuAclL2RuleEntry		OBJECT-TYPE
	SYNTAX				CpuAclL2RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the cpuAclL2RuleTable"
	INDEX				{ cpuAclL2RuleProfileID, cpuAclL2RuleAccessID }
	::= { cpuAclL2RuleTable 1 }
	
	CpuAclL2RuleEntry ::= SEQUENCE {
		cpuAclL2RuleProfileID	Integer32,
		cpuAclL2RuleAccessID	Integer32,
		cpuAclL2VlanId			Integer32,
		cpuAclL2SrcMac			MacAddress,
		cpuAclL2DstMac			MacAddress,
		cpuAclL28021p			Integer32,
		cpuAclL2EtherType		Unsigned32,
		cpuAclL2InPortList		PortList,
		cpuAclL2Action			INTEGER,
		cpuAclL2RuleStatus		RowStatus
	}
	
	cpuAclL2RuleProfileID	OBJECT-TYPE
	SYNTAX					Integer32 (1..3)
	MAX-ACCESS				read-only
	STATUS					current
	DESCRIPTION				"The ACL Profile ID."
	::= { cpuAclL2RuleEntry 1 }
	
	cpuAclL2RuleAccessID	OBJECT-TYPE
	SYNTAX					Integer32 (1..10)
	MAX-ACCESS				read-only
	STATUS					current
	DESCRIPTION				"The ACL rule access ID."
	::= { cpuAclL2RuleEntry 2 }
	
	cpuAclL2VlanId	OBJECT-TYPE
	SYNTAX			Integer32 (0..4094)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Vlan id to be filter, 0 means not care."
	::= { cpuAclL2RuleEntry 3 }
	
	cpuAclL2SrcMac		OBJECT-TYPE
	SYNTAX				MacAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L2 source mac address filter mask."
	::= { cpuAclL2RuleEntry  4 }

	cpuAclL2DstMac		OBJECT-TYPE
	SYNTAX				MacAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"L2 destination mac address filter mask."
	::= { cpuAclL2RuleEntry  5 }
	
	cpuAclL28021p	OBJECT-TYPE
	SYNTAX			Integer32 (-1..7)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"Ethernet header 802.1p value to be filter, 0 means not care."
	::= { cpuAclL2RuleEntry 6 }
	
	cpuAclL2EtherType	OBJECT-TYPE
	SYNTAX				Unsigned32 (1501..65535)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Ethernet type value to be filter, 0 means not care."
	::= { cpuAclL2RuleEntry 7 }
	
	cpuAclL2InPortList	OBJECT-TYPE
	SYNTAX				PortList
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Packet from which ports that this rule apply on."
	::= { cpuAclL2RuleEntry  8 }
	
	cpuAclL2Action		OBJECT-TYPE
	SYNTAX				INTEGER{
							permit(1),
							drop(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Action for a packet that hit this rule."
	::= { cpuAclL2RuleEntry  9 }
	
	cpuAclL2RuleStatus	OBJECT-TYPE
	SYNTAX				RowStatus
	MAX-ACCESS			read-create
	STATUS				current
	DESCRIPTION			"operation of rule action"
	::= { cpuAclL2RuleEntry  10 }
-- end l2 rule

-- start L3 rule
	cpuAclL3RuleTable		OBJECT-TYPE
	SYNTAX				SEQUENCE OF CpuAclL3RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"A Table contain the L3 IPv4 acl rule infomation."
	::= { sysCpuAclRule 2 }
	
	cpuAclL3RuleEntry		OBJECT-TYPE
	SYNTAX				CpuAclL3RuleEntry
	MAX-ACCESS			not-accessible
	STATUS				current
	DESCRIPTION			"Entries of the acL3RuleTable"
	INDEX				{ cpuAclL3RuleProfileID, cpuAclL3RuleAccessID }
	::= { cpuAclL3RuleTable 1 }
	
	CpuAclL3RuleEntry ::= SEQUENCE {
		cpuAclL3RuleProfileID		Integer32,
		cpuAclL3RuleAccessID		Integer32,
		cpuAclL3IP4SrcAddr			IpAddress,
		cpuAclL3IP4DstAddr			IpAddress,
		cpuAclL3IP4DSCP				Integer32,
		cpuAclL3IP4Protocol			Integer32,
		cpuAclL3IP4IcmpType			Integer32,
		cpuAclL3IP4IcmpCode			Integer32,
		cpuAclL3IP4IgmpType			Integer32,
		cpuAclL3IP4SrcPort			Integer32,
		cpuAclL3IP4DstPort			Integer32,
		cpuAclL3IP4TcpFlagURG		INTEGER,
		cpuAclL3IP4TcpFlagACK		INTEGER,
		cpuAclL3IP4TcpFlagPSH		INTEGER,
		cpuAclL3IP4TcpFlagRST		INTEGER,
		cpuAclL3IP4TcpFlagSYN		INTEGER,
		cpuAclL3IP4TcpFlagFIN		INTEGER,
		cpuAclL3IP6SrcAddr			Ipv6Address,
		cpuAclL3IP6DstAddr			Ipv6Address,
		cpuAclL3Ip6TrafficClass		INTEGER,
		cpuAclL3InPortList			PortList,
		cpuAclL3Action				INTEGER,
		cpuAclL3RuleStatus			RowStatus
	}
	
	cpuAclL3RuleProfileID	OBJECT-TYPE
	SYNTAX					Integer32 (1..3)
	MAX-ACCESS				read-only
	STATUS					current
	DESCRIPTION				"The ACL Profile ID."
	::= { cpuAclL3RuleEntry 1 }
	
	cpuAclL3RuleAccessID	OBJECT-TYPE
	SYNTAX					Integer32 (1..10)
	MAX-ACCESS				read-only
	STATUS					current
	DESCRIPTION				"The ACL rule access ID."
	::= { cpuAclL3RuleEntry 2 }
	
	cpuAclL3IP4SrcAddr	OBJECT-TYPE
	SYNTAX				IpAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv4 source address to filter"
	::= { cpuAclL3RuleEntry 3 }
	
	cpuAclL3IP4DstAddr	OBJECT-TYPE
	SYNTAX				IpAddress
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv4 destination address to filter"
	::= { cpuAclL3RuleEntry 4 }
	
	cpuAclL3IP4DSCP	OBJECT-TYPE
	SYNTAX			Integer32 (-1..63)
	MAX-ACCESS		read-write
	STATUS			current
	DESCRIPTION		"ipv4 dscp value to filter, -1 means do not care."
	::= { cpuAclL3RuleEntry 5 }
	
	cpuAclL3IP4Protocol	OBJECT-TYPE
	SYNTAX				Integer32 (0..255)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv4 protocol value to filter, 255 means do not care."
	::= { cpuAclL3RuleEntry 6 }
	
	cpuAclL3IP4IcmpType	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"the icmp type value to filter"
	::= { cpuAclL3RuleEntry 7 }
	
	cpuAclL3IP4IcmpCode	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"the icmp code value to filter"
	::= { cpuAclL3RuleEntry 8 }
	
	cpuAclL3IP4IgmpType	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"the igmp type value to filter"
	::= { cpuAclL3RuleEntry 9 }
	
	cpuAclL3IP4SrcPort	OBJECT-TYPE
	SYNTAX				Integer32 (-1..65535)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"the source port to filter"
	::= { cpuAclL3RuleEntry 10 }
	
	cpuAclL3IP4DstPort	OBJECT-TYPE
	SYNTAX				Integer32 (-1..65535)
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"the destination port to filter"
	::= { cpuAclL3RuleEntry 11 }
	
	cpuAclL3IP4TcpFlagURG	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tcp urg flag set or not."
	::= { cpuAclL3RuleEntry 12 }
	
	cpuAclL3IP4TcpFlagACK	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tcp ack flag set or not."
	::= { cpuAclL3RuleEntry 13 }
	
	cpuAclL3IP4TcpFlagPSH	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tcp psh flag set or not."
	::= { cpuAclL3RuleEntry 14 }
	
	cpuAclL3IP4TcpFlagRST	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tcp rst flag set or not."
	::= { cpuAclL3RuleEntry 15 }
	
	cpuAclL3IP4TcpFlagSYN	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tcp syn flag set or not."
	::= { cpuAclL3RuleEntry 16 }
	
	cpuAclL3IP4TcpFlagFIN	OBJECT-TYPE
	SYNTAX					INTEGER {
								set(1),
								notSet(2),
								any(3)
							}
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"check tco fin flag set or not."
	::= { cpuAclL3RuleEntry 17 }
	
	cpuAclL3InPortList	OBJECT-TYPE
	SYNTAX				PortList
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Packet from which ports that this rule apply on."
	::= { cpuAclL3RuleEntry 18 }
	
	cpuAclL3Action		OBJECT-TYPE
	SYNTAX				INTEGER{
							permit(1),
							drop(2)
						}
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"Action for a packet that hit this rule."
	::= { cpuAclL3RuleEntry 19 }
	
	cpuAclL3IP6SrcAddr	OBJECT-TYPE
	SYNTAX				Ipv6Address
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv6 source address to filter"
	::= { cpuAclL3RuleEntry 20 }
	
	cpuAclL3IP6DstAddr	OBJECT-TYPE
	SYNTAX				Ipv6Address
	MAX-ACCESS			read-write
	STATUS				current
	DESCRIPTION			"ipv6 destination address to filter"
	::= { cpuAclL3RuleEntry 21 }
	
	cpuAclL3Ip6TrafficClass	OBJECT-TYPE
	SYNTAX					INTEGER (-1..255)
	MAX-ACCESS				read-write
	STATUS					current
	DESCRIPTION				"ipv6 traffic class to filter"
	::= { cpuAclL3RuleEntry 22 }
	
	cpuAclL3RuleStatus	OBJECT-TYPE
	SYNTAX				RowStatus
	MAX-ACCESS			read-create
	STATUS				current
	DESCRIPTION			"operation of rule action"
	::= { cpuAclL3RuleEntry 23 }
-- end L3 rule
-- end rule

-- start acl statistic
	sysCpuAclStatistic		OBJECT IDENTIFIER ::= { companyCPUACL 3 }
	
	cpuAclTotalProfile	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"Total profile entry count"
	::= { sysCpuAclStatistic 1 }
	
	cpuAclUsedProfile	OBJECT-TYPE
	SYNTAX				Integer32
	MAX-ACCESS			read-only
	STATUS				current
	DESCRIPTION			"Profile entry number that in use"
	::= { sysCpuAclStatistic 2 }
	
	cpuAclTotalRule	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Total rule entry count"
	::= { sysCpuAclStatistic 3 }
	
	cpuAclUsedRule	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION		"Rule entry number that in use"
	::= { sysCpuAclStatistic 4 }
-- end acl statistic

          
		-- *****************************************************************
		--
		--  Enterprise Trap group 
		--
		-- *****************************************************************
		        
END
