        DGS-1210-28XME-BX DEFINITIONS ::= BEGIN

IMPORTS 
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   enterprises, IpAddress, Integer32, Unsigned32, TimeTicks, Counter32
                                                  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                 FROM SNMPv2-TC
   VlanId                                         FROM Q-BRIDGE-MIB
   TimeInterval, TimeStamp, TDomain, TAddress, DisplayString, RowPointer                 FROM SNMPv2-TC
             
   AddressFamilyNumbers                           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB;
   
   
    dgs-1210-28xmebx                      MODULE-IDENTITY
        

    LAST-UPDATED "201909030000Z"         -- 02 Sept 2019
    ORGANIZATION "DGS-1210-28XME-BX-7-03-001.mib"

    CONTACT-INFO
        ""
     DESCRIPTION
        "1.Add snmpV3TrapDyingGasp(76.30.2.5.8.22)object.
         2.Add value 'dying_gasp(5)' in syslogModuleLogType(16.4.1.1.1)
         3.Add companyMacFlap(76.30.2.25.6)object.
         4.Add companyErrPort(76.30.2.138)object."

    --  Revision history
     REVISION     "201909030000Z"         -- 03 Sept 2019
     DESCRIPTION
        "1.Add snmpV3TrapDyingGasp(76.30.2.5.8.22)object.
         2.Add value 'dying_gasp(5)' in syslogModuleLogType(16.4.1.1.1)
         3.Add companyMacFlap(76.30.2.25.6)object.
         4.Add companyErrPort(76.30.2.138)object."

     --  Revision history
     REVISION     "201907250000Z"         -- 25 Jul 2019
     DESCRIPTION
        "1.Add dhcpv6LocalRelayGlobalState(76.5.29.4.1)object.
         2.Add sysFdbTableClear(76.5.1.45.1)object.
         3.Add value 'impbPortStopLearnThreshold' in impbSettingEntry(76,28,1,14,10,1,1)
         4.Add value 'aclL2/L2/L3v6/Pzcket/flowMeterMatchCount' in companyACLGroup(76,5,15)"

     --  Revision history
     REVISION     "201906250000Z"         -- 25 Jun 2019
     DESCRIPTION
        "1.Add igsPortRateLimitTable(76.5.10.7.1)object.
         2.Add value 'vendor(5)' in PppoePortCircuitIDType(98,2,1,3)"

     --  Revision history
     REVISION     "201904260000Z"         -- 26 Apr 2019
     DESCRIPTION
        "1.Add syslogModuleLogThreshold(16.4.1.1.3) object.
         2.Add syslogModuleLogTimeInterval(16.4.1.1.4) object.
         3.Add value 'portSecurity(4)' in syslogModuleLogType(16.4.1.1.1)"

     --  Revision history
     REVISION     "201903220000Z"         -- 22 Mar 2019
     DESCRIPTION
        "1.Update release verion."

     --  Revision history
     REVISION     "201811300000Z"         -- 30 Nov 2018
     DESCRIPTION
        "1.Add impbPortDHCPSnoopingFlushState object."

     --  Revision history
     REVISION     "201808140000Z"         -- 14 Aug 2018
     DESCRIPTION
        "1.Update sslCipherSuiteList setting value."

     --  Revision history
     REVISION     "201802270000Z"         -- 27 Feb 2018
     DESCRIPTION
        "1. Remove impbLogState.
         2. Add syslogModuleLogGroup."

     --  Revision history
     REVISION     "201711280000Z"         -- 28 Nov 2017
     DESCRIPTION
        "1. Add sysPasswordRecovery object.
         2. Add tftpLogTargetGroup.
         3. Add snmpV3TrapRPS object."

     --  Revision history
     REVISION     "201706070000Z"         -- 07 Jun 2017
     DESCRIPTION
        "1. Add dhcpBOOTPRelayOption82PerPortPolicyTable.
         2. Modify snmpTrapPortSecurity."

     --  Revision history
     REVISION     "201704280000Z"         -- 28 April 2017
     DESCRIPTION
        "1. impbBindingtrapsign object change status to obsolete.
         2. brgAddress object change status to obsolete.
         3. oldDesignatedRoot object change status to obsolete.
         4. mstiBridgeRegionalRoot object change status to obsolete.
         5. snmpTrapRSTPStateChange object change status to obsolete.
         6. Add snmpMacAuth trap object."

     --  Revision history
     REVISION     "201703310000Z"         -- 31 Mar 2017
     DESCRIPTION
        "1. Add new object ipv6FilterDHCPv6EnablePortlist(14.14.1).
         2. Add new object ipv6FilterNANSEnablePortlist(14.14.2)."

     --  Revision history
     REVISION     "201703240000Z"         -- 24 Mar 2017
     DESCRIPTION
        "1. Remove old trafficCtrlTable(13.4.2).
         2. Add new trafficCtrlTable(13.4.4).
         3. Add new snmpDyingGaspReceive object."

     --  Revision history
     REVISION     "201703100000Z"         -- 10 Mar 2017
     DESCRIPTION
        "1. Add tftpFwTargetBootUp object."

     --  Revision history
     REVISION     "201702230000Z"         -- 23 Feb 2017
     DESCRIPTION
        "1. Add ipv4multiIfIndex object.
         2. Add ipv4multiIfVLANname object."
	
     --  Revision history
     REVISION     "201702160000Z"         -- 16 Feb 2017
     DESCRIPTION
        "1. Add sysFirmwareDelete object.
         2. Add tftpCfgTargetTftpConfigID option current-config(3)."

     --  Revision history
     REVISION     "201701190000Z"         -- 19 Jan 2017
     DESCRIPTION
        "1. Add aclPacketRuleReplaceVLAN object.
         2. Modify aclPacketRuleAction value list for replaceVLAN(8)."

     --  Revision history
     REVISION     "201701130000Z"         -- 13 Jan 2017
     DESCRIPTION
        "1. Add auto cable diag object.
         2. Add snmpTrapAutoCableDiag object."

     --  Revision history
     REVISION     "201612210000Z"         -- 21 Dec 2016
     DESCRIPTION
        "1. Add snmpTrapERPS notification object.
         2. Add sysPortCtrlState object and remove disable(7) value from sysPortCtrlSpeed."

     --  Revision history
     REVISION     "201611250000Z"         -- 25 Nov 2016
     DESCRIPTION
        "1. Add snmpTrapCpuProtectLimit object.
        2. Add MstMstiStpTopologyChangesCount,MstMstiStpLastTopologyChange object."

     --  Revision history
     REVISION     "201611150000Z"         -- 15 Nov 2016
     DESCRIPTION
        "1. Modify Value list for cpuFilterProfileIPProtocol and cpuFilterv6L3RuleProtocol."

     --  Revision history
     REVISION     "201610240000Z"         -- 04 Nov 2016
     DESCRIPTION
        "1. Add stpNniBpduAddr object(OID 6.1.18).
		 2. Add static multicast object"

     --  Revision history
     REVISION     "201610190000Z"         -- 19 Oct 2016
     DESCRIPTION
         "1. Add Replace CVID object(OID 27.2.1.12, OID 27.4.1.13).
          2. Add qosInBandMgmt object."

     --  Revision history
     REVISION     "201610140000Z"         -- 14 Oct 2016
     DESCRIPTION
        "1. Add LACP Active Port object.
		 2. Add Igmp Proxy Reporting.
		 3. Add companyStaticRoute object."

     --  Revision history
     REVISION     "201610070000Z"         -- 07 Oct 2016
     DESCRIPTION
        "1. Add Port utilization object.
		 2. Add PortLinkChangeTime."

     --  Revision history
     REVISION     "201609220000Z"         -- 22 Sep 2016
     DESCRIPTION
        "1. Add new value 'action_careful_mode(4)' for object cableDiagAction."

     --  Revision history
     REVISION     "201608180000Z"         -- 18 Aug 2016
     DESCRIPTION
        "1. Modify Value list for aclProfileIPProtocol.
		 2. Add new value 'download and reboot(4)' for object tftpCfgTargetTftpOperation."
		 
     --  Revision history
     REVISION     "201608030000Z"         -- 03 Aug 2016
     DESCRIPTION
        "1. Add portSecTableClearPortList object.
		 2. Add portSecTableClear object.
		 3. Add statisticsClearPortList object(OID 125).
		 4. Add statisticsClear object(OID 125).
		 5. Remove ipv4cpuFilterProfileTable."
		 
     --  Revision history
     REVISION     "201606210000Z"         -- 21 Jun 2016
     DESCRIPTION
        "1. Add New function Reboot Schedule.
	     2. Add New object mstDeleteInstanceStatus.
	     3. Add dot1qVlanId MIB object.
         4. Modify index sequence for dot1qVlanTable.
         5. Modify aclProfileStatus oid to 34.
		 6. Modify aclPacketRuleAction-aclPacketRuleOffsetValue4Mask oid 15-24. 
         7. Remove ipv4aclProfileTable.
         8. Add sysSaveOperationStatus object."

     --  Revision history
     REVISION     "201605300000Z"         -- 30 May 2016
     DESCRIPTION
        "1. Add tftpCfgTargetIncrement object."

     --  Revision history
     REVISION     "201605200000Z"         -- 20 May 2016
     DESCRIPTION
	    "1. For Release version."

     --  Revision history
     REVISION     "201605110000Z"         -- 11 May 2016
     DESCRIPTION
	    "1. Add impbDhcpSnoopingTableClearPortList object.
	     2. Add impbDhcpSnoopingTableClearIPType object.
         3. Add impbDhcpSnoopingTableClear object."

     --  Revision history
     REVISION     "201604290000Z"         -- 29 April 2016
     DESCRIPTION
        "1. Add sFlow(OID 130)."

     --  Revision history
     REVISION     "201604250000Z"         -- 25 April 2016
     DESCRIPTION
        "1. Add hol prevention object(OID 1.40)."

     --  Revision history
     REVISION     "201603240000Z"         -- 24 Mar 2016
     DESCRIPTION
        "1. Add new port role Root-inconsistent in mstCistCurrentPortRole(OID 15.2.6.5.1.1.7)."

     --  Revision history
     REVISION     "201603100000Z"         -- 10 Mar 2016
     DESCRIPTION
        "1. Add mldsReportToAllPort object."

     --  Revision history
     REVISION     "201601150000Z"         -- 15 Jan 2016
     DESCRIPTION
        "1. Add Dying Gasp object(OID 120.0.29)."

     --  Revision history
     REVISION     "201512310000Z"         -- 31 Dec 2015
     DESCRIPTION
        "1. Add ipv4 CPU filter profile offset mask object(OID 33.1.1.1.13 ~ 33.1.1.1.17).
         2. Add CPU filter profile offset mask object(OID 33.1.2.1.14 ~ 33.1.2.1.19).
         3. Add cpuFilterUdfRule object(OID 33.4)."

     --  Revision history
     REVISION     "201511270000Z"         -- 27 Nov 2015
     DESCRIPTION
        "1. Add sysPortAutoDowngrade object."

     --  Revision history
     REVISION     "201511060000Z"         -- 06 Nov 2015
     DESCRIPTION
        "1. Add ImpbDhcpSnoopingRemainingTime object.
         2. Add sysFirmwareInfomation and sysCurrentBootupImage object."

     --  Revision history
     REVISION     "201510290000Z"         -- 29 Oct 2015
     DESCRIPTION
        "1. Add icmpv6 ra filter object(OID 14.13).
         2. Add snmpV3TrapDHCPv6ServerScreening object(OID 5.8.18 and 120.0.28)."

     --  Revision history
     REVISION     "201510010000Z"         -- 23 Oct 2015
     DESCRIPTION
        "Fix dlinkGreen.mib display issue for D-view"

     --  Revision history
     REVISION     "201510070000Z"         -- 07 Oct 2015
     DESCRIPTION
        "1. Add dhcpv6 server screen object(OID 14.12).
         2. Add dhcpv4 server screen log object(OID 14.7.5).
         3. Add snmpV3TrapDHCPv6ServerScreening object(OID 5.8.17 and 120.0.27)."

     --  Revision history
     REVISION     "201510010000Z"         -- 01 Oct 2015
     DESCRIPTION
        "Fix D-view compiler error."

     --  Revision history
     REVISION     "201509180000Z"         -- 18 Sep 2015
     DESCRIPTION
        "Add RPS LED to 'swLedInfoFrontPanelLedStatus' object Octet 2."

     --  Revision history
     REVISION     "201509170000Z"         -- 17 Sep 2015
     DESCRIPTION
        "Add stpBridgeMaxHop object."

     --  Revision history
     REVISION     "201509160000Z"         -- 16 Sep 2015
     DESCRIPTION
        "Modify cableDiagPairStatus object."

     --  Revision history
     REVISION     "201509070000Z"         -- 7 Sep 2015
     DESCRIPTION
        "Add tftpFwTargetImageID object."

     --  Revision history
     REVISION     "201509070000Z"         -- 7 Sep 2015
     DESCRIPTION
        "For Release version."

     --  Revision history 
     REVISION     "201508280000Z"         -- 28 August 2015
     DESCRIPTION
        "DGS-1210 ME B1 Change IMPB from port to port list."

     --  Revision history
     REVISION     "201507230000Z"         -- 23 July 2015
     DESCRIPTION
        "Add LEDPanel object."

     --  Revision history
     REVISION     "201507080000Z"         -- 08 July 2015
     DESCRIPTION
        "Add cpuFilterState object."

     --  Revision history
     REVISION     "201506030000Z"         -- 03 Jun 2015
     DESCRIPTION
        " In order to pass the web www.simpleweb.org to 
          verify severity level 3, which must be change 
          the SYNTAX of mib file."

     --  Revision history
     REVISION     "201504240000Z"         -- 24 April 2015
     DESCRIPTION
         "Upgrade Firmware version from 6.11 to 7.00. 
          And, upgrade Hardware version to B1."

     REVISION     "201504160000Z"         -- 16 April 2015
     DESCRIPTION
         "Add trafficCtrlAutoRecoverTime object."

     REVISION     "201403060000Z"         -- 09 March 2015
     DESCRIPTION
         "Initial version, published as D-Link dgs-1210 28XME mib."


    ::= { dgs-1210-28xme 1}      

    d-link						OBJECT IDENTIFIER ::= { enterprises 171 }  
    dlink-products				OBJECT IDENTIFIER ::= { d-link 10 }
    dlink-DGS12XXSeriesProd	    OBJECT IDENTIFIER ::= { dlink-products 76}
    dgs-1210-28xme			OBJECT IDENTIFIER ::= { dlink-DGS12XXSeriesProd 43 }  
     
   
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

 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))
         
 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 OCTET STRING (SIZE (0..127))

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

        Note that a MIB object that is defined using this
        TEXTUAL-CONVENTION should clarify the meaning of
        'no VLAN' (i.e., the special value 0)."
    SYNTAX       Integer32 (0 | 1..4094)
	
Dot1agCfmMepId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
       "
    REFERENCE
       "802.1ag clauses 3.19 and 19.2.1"
    SYNTAX      Unsigned32 (1..8191)


Dot1agCfmMDLevelOrNone ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Integer identifying the Maintenance Domain Level (MD Level).
        Higher numbers correspond to higher Maintenance Domains,
        those with the greatest physical reach, with the highest
        values for customers' CFM packets.  Lower numbers correspond
        to lower Maintenance Domains, those with more limited
        physical reach, with the lowest values for CFM PDUs
        protecting single bridges or physical links.

        The value (-1) is reserved to indicate that no MA Level has
        been assigned.
       "
    REFERENCE
       "802.1ag clauses 18.3, 12.14.3.1.3:c"
    SYNTAX      Integer32 (-1 | 0..7)
	
Dot1agCfmMepIdOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
 
        The special value 0 is allowed to indicate special cases, for
        example that no MEPID is configured.

        Whenever an object is defined with this SYNTAX, then the
        DESCRIPTION clause of such an object MUST specify what the
        special value of 0 means.
       "
    REFERENCE
       "19.2.1"
    SYNTAX      Unsigned32 (0 | 1..8191)
	

CfmOuiType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION 
         "24-bit Organizationally Unique Identifier.  Information on
         OUIs can be found in IEEE 802-2001 [802-2001] Clause 9."
        SYNTAX       OCTET STRING(SIZE(3))

CfmMaintDomainNameType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A value that represents a type (and thereby the format)
        of a CfmMaintDomainName.  The value can be one of
        the following:


        ieeeReserved(0)   Reserved for definition by IEEE 802.1
                          recommend to not use zero unless
                          absolutely needed.
        none(1)           No format specified, usually because
                          there is not (yet) a Maintenance
                          Domain Name. In this case, a zero
                          length OCTET STRING for the Domain
                          Name field is acceptable.
        dnsLikeName(2)    Domain Name like string, globally unique
                          text string derived from a DNS name.
        macAddrAndUint(3) MAC address + 2-octet (unsigned) integer.
        charString(4)     RFC2579 DisplayString, except that the
                          character codes 0-31 (decimal) are not
                          used.
        ieeeReserved(xx)  Reserved for definition by IEEE 802.1
                          xx values can be [5..31] and [64..255]
        ituReserved(xx)   Reserved for definition by  ITU-T Y.1731
                          xx values range from [32..63]

        To support future extensions, the CfmMaintDomainNameType
        textual convention SHOULD NOT be sub-typed in object type
        definitions.  It MAY be sub-typed in compliance statements in
        order to require only a subset of these address types for a
        compliant implementation.

        Implementations must ensure that CfmMaintDomainNameType
        objects and any dependent objects (e.g.,
        CfmMaintDomainName objects) are consistent.  An
        inconsistentValue error must be generated if an attempt to
        change an CfmMaintDomainNameType object would, for
        example, lead to an undefined CfmMaintDomainName value.
        In particular,
        CfmMaintDomainNameType/CfmMaintDomainName pairs
        must be changed together if the nameType changes.
       "
    REFERENCE
       "802.1ag clause 21.6.5, Table 21-19"
    SYNTAX      INTEGER {
                  none              (1),
                  dnsLikeName       (2),
                  macAddressAndUint (3),
                  charString        (4)
                }

CfmMaintDomainName ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Denotes a generic Maintenance Domain Name.

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

        The value of a CfmMaintDomainName object must always
        be consistent with the value of the associated
        CfmMaintDomainNameType object. Attempts to set
        an CfmMaintDomainName object to a value inconsistent
        with the associated CfmMaintDomainNameType must fail
        with an inconsistentValue error.

        When this textual convention is used as the syntax of an
        index object, there may be issues with the limit of 128
        sub-identifiers specified in SMIv2, IETF STD 58.  In this
        case, the object definition MUST include a 'SIZE' clause
        to limit the number of potential instance sub-identifiers;
        otherwise the applicable constraints MUST be stated in
        the appropriate conceptual row DESCRIPTION clauses, or
        in the surrounding documentation if there is no single
        DESCRIPTION clause that is appropriate.

        A value of none(1) in the associated
        CfmMaintDomainNameType object means that no Maintenance
        Domain name is present, and the contents of the
        CfmMaintDomainName object are meaningless.

        See the DESCRIPTION of the CfmMaintAssocNameType
        TEXTUAL-CONVENTION for a discussion of the length limits on
        the Maintenance Domain name and Maintenance Association name.
       "
    REFERENCE
         "802.1ag clause 21.6.5"
    SYNTAX      OCTET STRING (SIZE(1..43))

CfmMaintAssocNameType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A value that represents a type (and thereby the format)
        of a CfmMaintAssocName.  The value can be one of
        the following:

        ieeeReserved(0)   Reserved for definition by IEEE 802.1
                          recommend to not use zero unless
                          absolutely needed.
        primaryVid(1)     Primary VLAN ID.
                          12 bits represented in a 2-octet integer:
                          - 4 least significant bits of the first
                            byte contains the 4 most significant 
                            bits of the 12 bits primary VID
                          - second byte contains the 8 least
                            significant bits of the primary VID

                                 0 1 2 3 4 5 6 7 8
                                 +-+-+-+-+-+-+-+-+
                                 |0 0 0 0| (MSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |  VID   LSB    |
                                 +-+-+-+-+-+-+-+-+

        charString(2)     RFC2579 DisplayString, except that the
                          character codes 0-31 (decimal) are not
                          used. (1..45) octets
        unsignedInt16 (3) 2-octet integer/big endian
        rfc2865VpnId(4)   RFC 2685 VPN ID
                          3 octet VPN authority Organizationally
                          Unique Identifier followed by 4 octet VPN
                          index identifying VPN according to the OUI:

                                 0 1 2 3 4 5 6 7 8
                                 +-+-+-+-+-+-+-+-+
                                 | VPN OUI (MSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |   VPN OUI     |
                                 +-+-+-+-+-+-+-+-+
                                 | VPN OUI (LSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |VPN Index (MSB)|
                                 +-+-+-+-+-+-+-+-+
                                 |  VPN Index    |
                                 +-+-+-+-+-+-+-+-+
                                 |  VPN Index    |
                                 +-+-+-+-+-+-+-+-+
                                 |VPN Index (LSB)|
                                 +-+-+-+-+-+-+-+-+

        ieeeReserved(xx)  Reserved for definition by IEEE 802.1
                          xx values can be [5..31] and [64..255]
        ituReserved(xx)   Reserved for definition by  ITU-T Y.1731
                          xx values range from [32..63]

        To support future extensions, the CfmMaintAssocNameType
        textual convention SHOULD NOT be sub-typed in object type
        definitions.  It MAY be sub-typed in compliance statements in
        order to require only a subset of these address types for a
        compliant implementation.

        Implementations must ensure that CfmMaintAssocNameType
        objects and any dependent objects (e.g.,
        CfmMaintAssocName objects) are consistent.  An
        inconsistentValue error must be generated if an attempt to
        change an CfmMaintAssocNameType object would, for
        example, lead to an undefined CfmMaintAssocName value.
        In particular,
        CfmMaintAssocNameType/CfmMaintAssocName pairs
        must be changed together if the nameType changes.

        The Maintenance Domain name and Maintenance Association name,
        when put together into the CCM PDU, MUST total 48 octets or
        less.  If the CfmMaintDomainNameType object contains
        none(1), then the CfmMaintAssocName object MUST be
        45 octets or less in length.  Otherwise, the length of
        the CfmMaintDomainName object plus the length of the
        CfmMaintAssocName object, added together, MUST total
        less than or equal to 44 octets.
       " 
    REFERENCE
       "802.1ag clause 21.6.5.4, Table 21-20"
    SYNTAX      INTEGER {
                  primaryVid        (1),
                  charString        (2),
                  unsignedInt16     (3),
                  rfc2865VpnId      (4)
                }

CfmMaintAssocName ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Denotes a generic Maintenance Association Name. It is the
        part of the Maintenance Association Identifier which is
        unique within the Maintenance Domain Name and is appended
        to the Maintenance Domain Name to form the Maintenance
        Association Identifier (MAID).

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

        The value of a CfmMaintAssocName object must 
        always be consistent with the value of the associated
        CfmMaintAssocNameType object. Attempts to set
        an CfmMaintAssocName object to a value inconsistent
        with the associated CfmMaintAssocNameType must fail
        with an inconsistentValue error.

        When this textual convention is used as the syntax of an
        index object, there may be issues with the limit of 128
        sub-identifiers specified in SMIv2, IETF STD 58.  In this
        case, the object definition MUST include a 'SIZE' clause
        to limit the number of potential instance sub-identifiers;
        otherwise the applicable constraints MUST be stated in
        the appropriate conceptual row DESCRIPTION clauses, or
        in the surrounding documentation if there is no single
        DESCRIPTION clause that is appropriate.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.4, 21.6.5.5, 21.6.5.6"
    SYNTAX      OCTET STRING (SIZE(1..45))


CfmMDLevel ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Integer identifying the Maintenance Domain Level (MD Level).
        Higher numbers correspond to higher Maintenance Domains,
        those with the greatest physical reach, with the highest
        values for customers' CFM PDUs.  Lower numbers correspond
        to lower Maintenance Domains, those with more limited
        physical reach, with the lowest values for CFM PDUs
        protecting single bridges or physical links.
       "
    REFERENCE
       "802.1ag clauses 18.3, 21.4.1"
    SYNTAX      Integer32 (0..7)

CfmMDLevelOrNone ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Integer identifying the Maintenance Domain Level (MD Level).
        Higher numbers correspond to higher Maintenance Domains,
        those with the greatest physical reach, with the highest
        values for customers' CFM packets.  Lower numbers correspond
        to lower Maintenance Domains, those with more limited
        physical reach, with the lowest values for CFM PDUs
        protecting single bridges or physical links.

        The value (-1) is reserved to indicate that no MA Level has
        been assigned.
       "
    REFERENCE
       "802.1ag clauses 18.3, 12.14.3.1.3:c"
    SYNTAX      Integer32 (-1 | 0..7)

CfmMpDirection ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the direction in which the Maintenance
        association (MEP or MIP) faces on the bridge port:

        down(1)    Sends Continuity Check Messages away from the
                   MAC Relay Entity.
        up(2)      Sends Continuity Check Messages towards the
                   MAC Relay Entity.
       "
    REFERENCE
       "802.1ag clauses 12.14.6.3.2:c"
    SYNTAX      INTEGER {
                  down  (1),
                  up    (2)
                }

CfmPortStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value from he Port Status TLV from the last CCM
        received from the last MEP. It indicates the ability of the
        Bridge Port on which the transmitting MEP resides to pass
        ordinary data, regardless of the status of the MAC
        (Table 21-10).

        psNoPortStateTLV(0) Indicates either that no CCM has been
                            received or that no port status TLV was
                            present in the last CCM received.

        psBlocked(1)        Ordinary data cannot pass freely through
                            the port on which the remote MEP resides.
                            Value of enableRmepDefect is equal to
                            false.

        psUp(2):            Ordinary data can pass freely through
                            the port on which the remote MEP resides.
                            Value of enableRmepDefect is equal to
                            true.

        NOTE: A 0 value is used for psNoPortStateTLV, so that
              additional code points can be added in a manner
              consistent with the CfmInterfaceStatus textual
              convention.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:f, 20.19.3 and 21.5.4"
    SYNTAX      INTEGER {
                  psNoPortStateTLV  (0),
                  psBlocked         (1),
                  psUp              (2)
                }

CfmInterfaceStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value from the Interface Status TLV from the 
        last CCM received from the last MEP. It indicates the status
        of the Interface within which the MEP transmitting the CCM
        is configured, or the next lower Interface in the Interface
        Stack, if the MEP is not configured within an Interface.

    isNoInterfaceStatusTLV(0)  Indicates either that no CCM has been
                          received or that no interface status TLV
                          was present in the last CCM received.

    isUp(1)               The interface is ready to pass packets.

    isDown(2)             The interface cannot pass packets

    isTesting(3)          The interface is in some test mode.
   
    isUnknown(4)          The interface status cannot be determined
                          for some reason.

    isDormant(5)          The interface is not in a state to pass
                          packets but is in a pending state, waiting
                          for some external event.
    
    isNotPresent(6)       Some component of the interface is missing
    
    isLowerLayerDown(7)   The interface is down due to state of the
                          lower layer interfaces

        NOTE: A 0 value is used for isNoInterfaceStatusTLV, so that
              these code points can be kept consistent with new code
              points added to ifOperStatus in the IF-MIB.

       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:g, 20.19.4 and 21.5.5"
    SYNTAX      INTEGER {
                  isNoInterfaceStatusTLV  (0),
                  isUp                    (1),
                  isDown                  (2),
                  isTesting               (3),
                  isUnknown               (4),
                  isDormant               (5),
                  isNotPresent            (6),
                  isLowerLayerDown        (7)
                }

CfmHighestDefectPri ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value, equal to the contents of the variable
        highestDefect (20.33.9 and Table 20-1), indicating the
        highest-priority defect that has been present since the MEP
        Fault Notification Generator State Machine was last in the 
        FNG_RESET state, either:

        none(0)           no defects since FNG_RESET
        defRDICCM(1)      DefRDICCM
        defMACstatus(2)   DefMACstatus
        defRemoteCCM(3)   DefRemoteCCM
        defErrorCCM(4)    DefErrorCCM
        defXconCCM(5)     DefXconCCM

        The value 0 is used for no defects so that additional higher
        priority values can be added, if needed, at a later time, and
        so that these values correspond with those in
        CfmLowestAlarmPri.
       "
    REFERENCE
       "802.1ag clause 20.1.2, 12.14.7.7.2:c and 20.33.9"
    SYNTAX      INTEGER {
                  none              (0),
                  defRDICCM         (1),
                  defMACstatus      (2),
                  defRemoteCCM      (3),
                  defErrorCCM       (4),
                  defXconCCM        (5)
                }

CfmLowestAlarmPri ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An integer value specifying the lowest priority defect
        that is allowed to generate a Fault Alarm (20.9.5), either:

        allDef(1)           DefRDICCM, DefMACstatus, DefRemoteCCM,
                            DefErrorCCM, and DefXconCCM;
        macRemErrXcon(2)    Only DefMACstatus, DefRemoteCCM,
                            DefErrorCCM, and DefXconCCM (default);
        remErrXcon(3)       Only DefRemoteCCM, DefErrorCCM,
                            and DefXconCCM;
        errXcon(4)          Only DefErrorCCM and DefXconCCM;
        xcon(5)             Only DefXconCCM; or
        noXcon(6)           No defects DefXcon or lower are to be
                            reported;
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:k and 20.9.5"
    SYNTAX      INTEGER {
                  allDef            (1),
                  macRemErrXcon     (2),
                  remErrXcon        (3),
                  errXcon           (4),
                  xcon              (5),
                  noXcon            (6)
                }

CfmMepId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
       "
    REFERENCE
       "802.1ag clauses 3.19 and 19.2.1"
    SYNTAX      Unsigned32 (1..8191)

CfmMepIdOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
 
        The special value 0 is allowed to indicate special cases, for
        example that no MEPID is configured.

        Whenever an object is defined with this SYNTAX, then the
        DESCRIPTION clause of such an object MUST specify what the
        special value of 0 means.
       "
    REFERENCE
       "802.1ag clause 19.2.1"
    SYNTAX      Unsigned32 (0 | 1..8191)

CfmMhfCreation ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates if the Management Entity can create MHFs.
        The valid values are:

        defMHFnone(1)      No MHFs can be created for this VID.
        defMHFdefault(2)   MHFs can be created on this VID on any
                           Bridge port through which this VID can
                           pass.
        defMHFexplicit(3)  MHFs can be created for this VID only on
                           Bridge ports through which this VID can
                           pass, and only if a MEP is created at some
                           lower MD Level.
        defMHFdefer(4)     The creation of MHFs is determined by the
                           corresponding Maintenance Domain variable
                           (dot1agCfmMaMhfCreation).
       "
    REFERENCE
       "802.1ag clause 12.14.5.1.3:c and 22.2.3"
    SYNTAX      INTEGER {
                  defMHFnone     (1),
                  defMHFdefault  (2),
                  defMHFexplicit (3),
                  defMHFdefer    (4)
                }

CfmIdPermission ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates what, if anything, is to be included in the Sender
        ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs.  The valid
        values are:

        sendIdNone(1)      The Sender ID TLV is not to be sent.
        sendIdChassis(2)   The Chassis ID Length, Chassis ID
                           Subtype, and Chassis ID fields of  the
                           Sender ID TLV are to be sent.
        sendIdManage(3)    The Management Address Length and
                           Management Address of the Sender ID TLV
                           are to be sent.
        sendIdChassisManage(4) The Chassis ID Length, Chassis ID
                           Subtype, Chassis ID, Management Address
                           Length and Management Address fields are
                           all to be sent.
        sendIdDefer(5)     The contents of the Sender ID TLV are
                           determined by the corresponding
                           Maintenance Domain variable
                           (dot1agCfmMaIdPermission).
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:d and 21.5.3"
    SYNTAX      INTEGER {
                  sendIdNone          (1),
                  sendIdChassis       (2),
                  sendIdManage        (3),
                  sendIdChassisManage (4),
                  sendIdDefer         (5)
                }

CfmCcmInterval ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the interval at which CCMs are sent by a MEP.
        The possible values are:
        intervalInvalid(0) No CCMs are sent (disabled).
        interval300Hz(1)   CCMs are sent every 3 1/3 milliseconds
                           (300Hz).
        interval10ms(2)    CCMs are sent every 10 milliseconds.
        interval100ms(3)   CCMs are sent every 100 milliseconds.
        interval1s(4)      CCMs are sent every 1 second.
        interval10s(5)     CCMs are sent every 10 seconds.
        interval1min(6)    CCMs are sent every minute.
        interval10min(7)   CCMs are sent every 10 minutes.

        Note: enumerations start at zero to match the 'CCM Interval
              field' protocol field.
       "
    REFERENCE
       "802.1ag clauses 12.14.6.1.3:e, 20.8.1 and 21.6.1.3"
    SYNTAX      INTEGER {
                  intervalInvalid   (0),
                  interval300Hz     (1),
                  interval10ms      (2),
                  interval100ms     (3),
                  interval1s        (4),
                  interval10s       (5),
                  interval1min      (6),
                  interval10min     (7)
                }

CfmFngState ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the diferent states of the MEP Fault Notification
        Generator State Machine.

        fngReset(1)            No defect has been present since the
                               dot1agCfmMepFngResetTime timer
                               expired, or since the state machine
                               was last reset.

        fngDefect(2)           A defect is present, but not for a
                               long enough time to be reported 
                               (dot1agCfmMepFngAlarmTime).

        fngReportDefect(3)     A momentary state during which the
                               defect is reported by sending a
                               dot1agCfmFaultAlarm notification,
                               if that action is enabled.

        fngDefectReported(4)   A defect is present, and some defect
                               has been reported.

        fngDefectClearing(5)   No defect is present, but the
                               dot1agCfmMepFngResetTime timer has
                               not yet expired.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:f and 20.35"
    SYNTAX      INTEGER {
                  fngReset          (1),
                  fngDefect         (2),
                  fngReportDefect   (3),
                  fngDefectReported (4),
                  fngDefectClearing (5)
                }

CfmRelayActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values the Relay action field can take."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g, 20.36.2.5, 21.9.5, and
        Table 21-27"
    SYNTAX      INTEGER {
                  rlyHit     (1),
                  rlyFdb     (2),
                  rlyMpdb    (3)
                }
               
CfmIngressActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values returned in the ingress action field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g, 20.36.2.6, 21.9.8.1, and
        Table 21-30
       "
    SYNTAX      INTEGER {
                  ingOk       (1),
                  ingDown     (2),
                  ingBlocked  (3),
                  ingVid      (4)
                }

CfmEgressActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values returned in the egress action field"
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:o, 20.36.2.10, 21.9.9.1, and
        Table 21-32"
    SYNTAX      INTEGER {
                  egrOK       (1),
                  egrDown     (2),
                  egrBlocked  (3),
                  egrVid      (4)
                }

CfmRemoteMepState ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Operational state of the remote MEP state machine.  This
        state machine monitors the reception of valid CCMs from a
        remote MEP with a specific MEPID.  It uses a timer that
        expires in 3.5 times the length of time indicated by the
        dot1agCfmMaCcmInterval object.

        rMepIdle(1)            Momentary state during reset.

        rMepStart(2)           The timer has not expired since the
                               state machine was reset, and no valid
                               CCM has yet been received.

        rMepFailed(3)          The timer has expired, both since the
                               state machine was reset, and since a
                               valid CCM was received.

        rMepOk(4)              The timer has not expired since a
                               valid CCM was received.
    "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:b, 20.22"
    SYNTAX      INTEGER {
                  rMepIdle    (1),
                  rMepStart   (2),
                  rMepFailed  (3),
                  rMepOk      (4)
                }

CfmIndexIntegerNextFree ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
      "An integer which may be used as a new Index in a table.

       The special value of 0 indicates that no more new entries can
       be created in the relevant table.

       When a MIB is used for configuration, an object with this
       SYNTAX always contains a legal value (if non-zero) for an
       index that is not currently used in the relevant table. The
       Command Generator (Network Management Application) reads this
       variable and uses the (non-zero) value read when creating a
       new row with an SNMP SET.  When the SET is performed, the
       Command Responder (agent) must determine whether the value is
       indeed still unused; Two Network Management Applications may
       attempt to create a row (configuration entry) simultaneously
       and use the same value. If it is currently unused, the SET
       succeeds and the Command Responder (agent) changes the value
       of this object, according to an implementation-specific
       algorithm.  If the value is in use, however, the SET fails.
       The Network Management Application must then re-read this
       variable to obtain a new usable value.

       An OBJECT-TYPE definition using this SYNTAX MUST specify the
       relevant table for which the object is providing this
       functionality.
      "
    SYNTAX      Unsigned32 (0..4294967295)

CfmMepDefects ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A MEP can detect and report a number of defects, and multiple
        defects can be present at the same time. These defects are:

        bDefRDICCM(1) A remote MEP is reported the RDI bit in its
                     last CCM.
        bDefMACstatus(2) Either some remote MEP is reporting its
                     Interface Status TLV as not isUp, or all remote
                     MEPs are reporting a Port Status TLV that
                     contains some value other than psUp.
        bDefRemoteCCM(3) The MEP is not receiving valid CCMs from at
                     least one of the remote MEPs.
        bDefErrorCCM(4) The MEP has received at least one invalid CCM
                     whose CCM Interval has not yet timed out.
        bDefXconCCM(5) The MEP has received at least one CCM from
                     either another MAID or a lower MD Level whose
                     CCM Interval has not yet timed out.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 12.14.7.1.3:q,
        12.14.7.1.3:r, and 12.14.7.1.3:s."
    SYNTAX BITS {

                bUnUsedBit(0),
                bDefRDICCM(1),
                bDefMACstatus(2),
                bDefRemoteCCM(3),
                bDefErrorCCM(4),
                bDefXconCCM(5)
                }

CfmConfigErrors ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "While making the MIP creation evaluation described in 802.1ag
        clause 22.2.3, the management entity can encounter errors in
        the configuration. These are possible errors that can be
        encountered:

        CFMleak(0)   MA x is associated with a specific VID list,
                     one or more of the VIDs in MA x can pass through
                     the Bridge Port, no Down MEP is configured on
                     any Bridge Port for MA x, and some other MA y,
                     at a higher MD Level than MA x, and associated
                     with at least one of the VID(s) also in MA x,
                     does have a MEP configured on the Bridge Port.

        conflictingVids(1)  MA x is associated with a specific VID
                     list, an Up MEP is configured on MA x on the
                     Bridge Port, and some other MA y, associated
                     with at least one of the VID(s) also in MA x,
                     also has an Up MEP configured on some Bridge
                     Port.

        ExcessiveLevels(2)  The number of different MD Levels at
                     which MIPs are to be created on this port
                     exceeds the Bridge's capabilities (see
                     subclause 22.3).

        OverlappedLevels(3) A MEP is created for one VID at one MD
                     Level, but a MEP is configured on another
                     VID at that MD Level or higher, exceeding
                     the Bridge's capabilities.
       "
    REFERENCE
       "802.1ag clause 12.14.4.1.3:b and clauses 22.2.3 and 22.2.4"
    SYNTAX BITS {
                cfmLeak(0),
                conflictingVids(1),
                excessiveLevels(2),
                overlappedLevels(3)
               }
               
CfmTransmitStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates whether LBM or LTM trasmission 
        can be initiated.

        ready(0)              Indicates LTM or LBM transmission 
                              can be initiated.

        notReady(1)           Indicates LTM or LBM transmission
                              can not be initiated.

        transmit(2)           To initiate the transmission of LBM or LTM.

        NOTE: A 2 value is used to initiate LBM or LTM transmission.
      "
    SYNTAX      INTEGER {
                  ready                   (0),
                  notReady                (1),
                  transmit                (2)
                }

CfmSetTraps ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Multiple traps can be enabled at the same time.
       "
    SYNTAX BITS {
                  trapUnUsedBit(0),
                  trapRDICCM(1),
                  trapMACstatus(2),
                  trapRemoteCCM(3),
                  trapErrorCCM(4),
                  trapXconCCM(5)
               }
 
-- ----------------------------------------------------------------------------
-- The ECFM System Group 
-- ----------------------------------------------------------------------------
 
 -- ----------------------------------------------------------------------------
-- The Y1731 System Group 
-- ----------------------------------------------------------------------------
FsY1731CcmApplication ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates the ETH-CC role to be or currently being 
        performed.

        ccFaultManagement(0)        Indicates ETH-CC is used for Fault Management.
        ccPerformanceMonitoring(1)  Indicates ETH-CC is used for Performance 
                                        Monitoring.
        ccProtectionSwitching(2)    Indicates ETH-CC is used for Protection 
                                    Switching
      "
    SYNTAX      INTEGER {
                  ccFaultManagement         (0),
                  ccPerformanceMonitoring   (1),
                  ccProtectionSwitching     (2)
                }

FsY1731TestTlvPatternType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates the Test pattern for Test TLV to be 
        included in LBM or TST message.

        patternNullSignalWithoutCRC32(0) Pattern contains null signal without 
                                         any CRC.
        patternNullSignalWithCRC32(1)    Pattern contains null signal with CRC.
        patternPRBSWithoutCRC32(2)       Pattern contains pseudo random bit 
                                         sequence 2^-31-1 without any CRC.
        patternPRBSWithCRC32(3)          Pattern contains pseudo random bit 
                                         sequence 2^-31-1 with CRC.
      "
    SYNTAX      INTEGER {
                  patternNullSignalWithoutCRC32  (0),
                  patternNullSignalWithCRC32     (1),
                  patternPRBSWithoutCRC32        (2),
                  patternPRBSWithCRC32           (3)
                }

FsY1731DestType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An Enumerated value indicates the type of 
       transaction, unicast ,through MEPID or  multicast. 

        unicast(0)         Indicates the operation is to be unicast.
        mepid(1)           Indicates that MEPID of the target MEP is used for
                           operation.
        multicast(2)       Indicate the operation is Multicast .
        mipid(3)           Indicates that MIP info of the target is used for 
                           operation only in MPLS-TP networks (Currently not
                           applicable for Ethernet).
      "
    SYNTAX      INTEGER {
                  unicast                     (0),
                  mepid                       (1),
                  multicast                   (2),
                  mipid                       (3)
                }
                
FsY1731TransmitStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates whether particular transmission can be 
       initiated.

        ready(0)       Indicates transmission can be initiated.
        notReady(1)    Indicates transmission can not be initiated.
        start(2)       To initiate the transmission .
        stop(3)        To stop the transmission .

      "
    SYNTAX      INTEGER {
                  ready                   (0),
                  notReady                (1),
                  start                   (2),
                  stop                    (3) 
                }

FsY1731TransmitLbmTlvTypeOrNone ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates which TLV is to be included in the LBM.

        none(0)               Indicates No TLV is included in the LBM.
        dataTlv (1)           Indicates Data TLV is included in the LBM.
        testTlv (2)           Indicates Test TLV is included in the LBM.
      "
    SYNTAX      INTEGER {
                  none                   (0),
                  dataTlv                (1),
                  testTlv                (2)
                }

FsY1731LbrErrType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value indicates the received loopback reply error type.
        none                    (0)       Indicates that no error was
                                          encountered in the received LBR.
        BadMacServiceDataUnit   (1)       Indicates bad/corrupt mac service data unit
        Crc32CheckFailure       (2)       Indicates CRC32 checksum failure
      "
    SYNTAX      INTEGER {
                  none                   (0),
                  badMacServiceDataUnit  (1),
                  crc32CheckFailure      (2)
                }

FsY1731LmmInterval ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the interval at which LMMs are sent by a MEP.
        The possible values are:
        
        interval100ms(1)   LMMs are sent every 100 milliseconds.
        interval1s(2)      LMMs are sent every second.
        interval10s(3)     LMMs are sent every 10 seconds.
        interval1min(4)    LMMs are sent every minute.
        interval10min(5)   LMMs are sent every 10 minutes.

       "
    SYNTAX      INTEGER {
                  interval100ms     (1),
                  interval1s        (2),
                  interval10s       (3),
                  interval1min      (4),
                  interval10min     (5)
                }

FsY1731TimeIntervalType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the units of interval at which LBM or TSTs are sent by a MEP.
        The possible values are:
        
        microseconds(1)   units for LBMs or TSTs transmission interval are 
                          microseconds.
        milliseconds(2)   units for LBMs or TSTs transmission interval are 
                          milliseconds.
        seconds(3)        units for LBM or TST transmission interval are 
                          seconds.

       "
    SYNTAX      INTEGER {
                  microseconds  (1),
                  milliseconds  (2),
                  seconds       (3)
                }


FsY1731AisLckInterval ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the interval at which AIS or LCK(s) are sent by a MEP.
        The possible values are:
        
        interval1s(1)       AIS or LCK(s) are sent every second.
        interval1min(2)     AIS or LCK(s) are sent every minute.
        
        Note: enumerations start at one to match the 'AIS/LCK Interval
              field' protocol field.
       "
    SYNTAX      INTEGER {
                  interval1s        (1),
                  interval1min      (2)
                }

FsY1731Traps ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the notifications to be provided to Management entity.
        Multiple notifications can be enabled at the same time. Notifictions 
        are:
        none(0)				 Dummy Bit
        bTrapTstReceivedWithError(1)     The MEP has received a TST PDU with bad 
                                         mac service data unit or invalid CRC32 
                                         checksum.
        bTrapFrameLoss(2)                The calculated frame loss value is greater
                                         than the configured frame loss threshold
                                         value.
        bTrapFrameDelay(3)               The calculated frame delay value is greater
                                         than the configured frame delay threshold
                                         value.
        bTrapDefRdiCondition(4)          The MEP has encountered remote MEP defect
                                         condition.
        bTrapDefLossOfContinuity(5)      The MEP has encountered loss of continuity
                                         defect condition.
        bTrapDefUnexpectedPeriod(6)      The MEP has encountered unexpected period
                                         defect condition.
        bTrapDefUnexpectedMep(7)         The MEP has encountered unexpected MEP
                                         defect condition.
        bTrapDefMisMerge(8)              The MEP has encountered mismerge defect 
                                         condition.
        bTrapDefUnexpectedMegLevel(9)    The MEP has encountered unexpected MEG level 
                                         defect condition.
        bTrapDefLocalLinkFailure(10)     The MEP has encountered local link failure 
                                         defect condition.
        bTrapDefInternalHWFailure(11)    The MEP has encountered internal hardware 
                                         failure defect condition.
        bTrapDefInternalSWFailure(12)    The MEP has encountered internal software 
                                         failure defect condition.
        bTrapDefAisCondition(13)         The MEP has encountered alarm indication 
                                         defect condition.
        bTrapDefLckCondition(14)         The MEP has encountered locked defect 
                                         condition. "
    SYNTAX      BITS{
			none (0),
                        bTrapTstReceivedWithError (1),
                        bTrapFrameLoss (2),
                        bTrapFrameDelay (3),
                        bTrapDefRdiCondition (4),
                        bTrapDefLossOfContinuity (5),
                        bTrapDefUnexpectedPeriod (6),
                        bTrapDefUnexpectedMep (7),
                        bTrapDefMisMerge (8),
                        bTrapDefUnexpectedMegLevel (9),
                        bTrapDefLocalLinkFailure (10),
                        bTrapDefInternalHWFailure (11),
                        bTrapDefInternalSWFailure (12),
                        bTrapDefAisCondition (13),
                        bTrapDefLckCondition (14)
                     }

FsY1731MepDefects ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A MEP can detect and report a number of defects, 
        and multiple defects can be present at the same time.
        These defects conditions are:
	none (0)			 Dummy Bit
        bDefRdiCondition (1)             The MEP has encountered remote MEP defect
                                         condition.
        bDefLossOfContinuity (2)         The MEP has encountered loss of continuity
                                         defect condition.
        bDefUnexpectedPeriod (3)         The MEP has encountered unexpected period
                                         defect condition.
        bDefUnexpectedMep (4)            The MEP has encountered unexpected MEP defect
                                         condition.
        bDefMisMerge (5)                 The MEP has encountered mismerge defect
                                         condition.
        bDefUnexpectedMegLevel (6)       The MEP has encountered unexpected MEG level
                                         defect condition.
        bDefLocalLinkFailure (7)         The MEP has encountered local link failure
                                         defect condition.
        bDefInternalHWFailure (8)        The MEP has encountered internal hardware
                                         failure defect condition.
        bDefInternalSWFailure (9)        The MEP has encountered internal software
                                         failure defect condition.
        bDefAisCondition(10)             The MEP has encountered alarm indication defect
                                         condition.
        bDefLckCondition(11)             The MEP has encountered locked defect
                                         condition. "
    SYNTAX      BITS{
			none (0),
                        bDefRdiCondition (1),
                        bDefLossOfContinuity (2),
                        bDefUnexpectedPeriod (3),
                        bDefUnexpectedMep (4),
                        bDefMisMerge (5),
                        bDefUnexpectedMegLevel (6),
                        bDefLocalLinkFailure (7),
                        bDefInternalHWFailure (8),
                        bDefInternalSWFailure (9),
                        bDefAisCondition (10),
                        bDefLckCondition (11)
                    }

FsY1731ErrorLogType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A MEP can detect and report a number of defects.
       
        logRdiConditionEntry(1)          The MEP has encountered remote MEP defect 
                                         condition entry.
                                         
        logLossOfContinuityEntry(2)      The MEP has encountered loss of continuity 
                                         defect condition  entry.
                                         
        logUnexpectedPeriodEntry(3)      The MEP has encountered unexpected period 
                                         defect condition  entry.
                                         
        logUnexpectedMepEntry(4)         The MEP has encountered unexpected MEP 
                                         defect condition entry.
                                         
        logMisMergeEntry(5)              The MEP has encountered mismerge defect 
                                         condition entry.
                                         
        logUnexpectedMegLevelEntry(6)    The MEP has encountered unexpected MEG 
                                         level defect condition entry.
                                         
        logLocalLinkFailureEntry(7)      The MEP has encountered local link failure 
                                         defect condition entry.
                                         
        logInternalHWFailureEntry(8)     The MEP has encountered internal hardware
                                         failure defect condition entry.
                                         
        logInternalSWFailureEntry(9)     The MEP has encountered internal software 
                                         failure defect condition entry.
                                         
        logAisConditonEntry(10)          The MEP has encountered alarm indication 
                                         defect condition entry.
                                         
        logLckConditionEntry(11)         The MEP has encountered locked defect 
                                         condition entry.
                                         
        logRdiConditionExit(12)          The MEP has encountered remote MEP defect 
                                         condition exit.
                                         
        logLossOfContinuityExit(13)      The MEP has encountered loss of continuity 
                                         defect condition  exit.
                                         
        logUnexpectedPeriodExit(14)      The MEP has encountered unexpected period 
                                         defect condition  exit.
                                         
        logUnexpectedMepExit(15)         The MEP has encountered unexpected MEP 
                                         defect condition exit.
                                         
        logMisMergeExit(16)              The MEP has encountered mismerge defect 
                                         condition exit.
                                         
        logUnexpectedMegLevelExit(17)    The MEP has encountered unexpected MEG level
                                         defect condition exit.
                                         
        logLocalLinkFailureExit(18)      The MEP has encountered local link failure 
                                         defect condition exit.
                                         
        logInternalHWFailureExit(19)     The MEP has encountered internal hardware 
                                         failure defect condition exit.
                                         
        logInternalSWFailureExit(20)     The MEP has encountered internal software 
                                         failure defect condition exit.
                                         
        logAisConditonExit(21)           The MEP has encountered alarm indication 
                                         defect condition exit.
                                         
        logLckConditionExit(22)          The MEP has encountered locked defect 
                                         condition exit."
    SYNTAX      INTEGER{

          logRdiConditionEntry(1),
          logLossOfContinuityEntry(2),
          logUnexpectedPeriodEntry(3),
          logUnexpectedMepEntry(4),
          logMisMergeEntry(5),
          logUnexpectedMegLevelEntry(6),
          logLocalLinkFailureEntry(7),
          logInternalHWFailureEntry(8),
          logInternalSWFailureEntry(9),
          logAisConditonEntry(10),
          logLckConditionEntry(11),
          logRdiConditionExit(12),
          logLossOfContinuityExit(13),
          logUnexpectedPeriodExit(14),
          logUnexpectedMepExit(15),
          logMisMergeExit(16),
          logUnexpectedMegLevelExit(17),
          logLocalLinkFailureExit(18),
          logInternalHWFailureExit(19),
          logInternalSWFailureExit(20),
          logAisConditonExit(21),
          logLckConditionExit(22)
                    }

FsY1731TimeRepresentation ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "4d:4d"
    STATUS      current
    DESCRIPTION
       "A specification used to represent time stamp.
        
        field  octets  contents                range
        -----  ------  --------                -----
        1      1-4     seconds                 0..4294967295
        2      5-8     nanoseconds             0..0..4294967295
       "

    SYNTAX     OCTET STRING (SIZE (8))

FsY1731EnabledStatus ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION 
        "A simple status value for the object." 
    SYNTAX      INTEGER { enabled(1), disabled(2) }

FsY1731AvailabilityInterval ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the interval at which Availability Measurement
        is carried out by sendiong LMM.
        The possible values are:
        
        interval100ms(1)   Availability Measurement is carried out at every 100 milliseconds.
        interval1s(2)      Availability Measurement is carried out at every second.
        interval10s(3)     Availability Measurement is carried out at every 10 seconds.
        interval1min(4)    Availability Measurement is carried out at every minute.
        interval10min(5)   Availability Measurement is carried out at every 10 minutes.
        interval10min(6)   Availability Measurement is carried out at every 30 hour.
        interval10min(7)   Availability Measurement is carried out at every 1 hour.

       "
    SYNTAX      INTEGER {
                  interval100ms     (1),
                  interval1s        (2),
                  interval10s       (3),
                  interval1min      (4),
                  interval10min     (5),
                  interval30min     (6),
                  interval1hour     (7)
                }

FsY1731AvailabilityType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates type of availability measurement to be carried out
        The valid values are:

        Static (1)   Static Availability Measurement will be carried out.
        Sliding(2)   Sliding Availability Measurement will be carried out.
       "
    SYNTAX      INTEGER {
                  defStatic     (1),
                  defSliding    (2)
                }
-- ----------------------------------------------------------------------------
-- End Y1731 System Group 
-- ----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------
-- The LLDP System Group 
-- ----------------------------------------------------------------------------
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))	

-- ----------------------------------------------------------------------------
-- End LLDP System Group 
-- ----------------------------------------------------------------------------

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


-- end DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
-- start DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
      companySystem           OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 1 }
      firmwareInfoImage1       OBJECT IDENTIFIER ::= { sysFirmwareInfomation 1 }      
      companyIpifGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 2 } 
      companyTftpGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 3 } 
      companyMiscGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 4 }
      companySNMPV3                 OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 5 }
      companySTP                 OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 6 }
      companyDot1qVlanGroup       OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 7 }      
      companyLA                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 8 }
      companyStaticMAC   	      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 9 }          
      companyIgsGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 10 }
      companyGVRPGroup       OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 11 }
      companyQoSGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 12 }
      companyTrafficMgmt          OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 13 }
      companySecurity             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 14 }
      companyACLGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 15 }
      companySyslog               OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 16 } 
	  companyLBD                  OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 17 }        
      companyMirror             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 18 }
      companyStaticMcast           OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 19 }
      companySNTPSetting          OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 20 }
      companyRMON                 OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 22 }
      companyAuthGroup           OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 23 }
      companyGuestVlan                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 24 }
      companyMacNotify                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 25 }
      companyISMVLAN          OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 27 }
    companyDHCPRelay                            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 28 }
    companyDHCPLocalRelay   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 29 }
      companyGreenSetting	        OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 31 }
      sysFirmwareInfomation   OBJECT IDENTIFIER ::= { companySystem 31 }
      companyLLDPSetting	      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 32 }
      companyCPUInterfaceFilterGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 33 }
      companyStaticARP   	      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 34 }          
      companyCableDiagnostic             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 35 }
      companyVLANTrunk                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 36 }
      companyTimeRangeMgmt                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 38 }
      companySMTP                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 40 }
      companyMultiIPInterface                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 41 }
      companyStaticRoute           OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 42 }
      companyLimitIp             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 45 }
      companyGratuitousARP       OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 48 }
      companyNeighbor   	      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 50 }          
      companyEoam                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 51 }
      companyDuld                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 52 }
      companydot3azEEE             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 53 }
      companyMacAuthGroup           OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 54 }
      companyMacBasedVlan       OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 70 }      
	  companyBPDUAttack                  OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 77 }
    companyDHCPv6Relay                            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 86 }
      companyMldsGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 88 }
      companyPPPoE                      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 98 }
      companyDoSCtrl             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 99 }
      companyAgentBasicInfo        OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 100 }
      companyProtocolVlan                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 101 }
      companyL2PT            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 102 }
      companyQinQ                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 103 }
    companySfpVendorInfo                            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 104 }
    companyDDM                                      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 105 }
      companyCpuProtect             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 106 }
      companyFTPGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 107 } 
      companyERPSGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 108 } 
      companyEquipmentGroup            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 109 } 
      companyCFMGroup             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 110 }
      companyTraps	      OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 120 }
      companyswLedPanel             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 121 }
      companyRspan             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 122 }
      companyPrivateVLAN            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 124 } 
      companyStatistics            OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 125 } 
      companysFlow             OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 130 }
      companyStaticMulticastFdbGroup       OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 135 }      
      companyVoiceVlan                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 136 }
      companyErrPort                   OBJECT IDENTIFIER ::= { dgs-1210-28xmebx 138 }
      
-- ---------------------------------------------------------------- --

    -- ------------------------------------------------------------------
    -- companySystem
    -- ------------------------------------------------------------------

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

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

    sysFirmwareVersion OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..15))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Version number of the Firmware."
          DEFVAL { "" }
       ::= { companySystem 3 }

    sysLoginTimeoutInterval  OBJECT-TYPE
       SYNTAX      Integer32 (3..30)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This time interval is used to count the time and
           logout web interface automatically."
           DEFVAL  { 5 }
       ::= { companySystem 4 }

    sysLocationName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..20))
        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 5 }



    sysSafeGuardEnable  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to set Safeguard Enable\Disable."
          DEFVAL { enable }
       ::= { companySystem 8 }


    sysRestart OBJECT-TYPE
       SYNTAX      TruthValue
       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.  Setting  a value of 'true' causes the switch
           to be restarted.

           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 'false'."
       DEFVAL  { false }
       ::= { companySystem 9 }

    sysSave OBJECT-TYPE
           SYNTAX      INTEGER {
                         true            (1),
                         false           (2),
                         config-1 	     (3),
                         config-2   	   (4)
                      }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to save Configuration , value 1 save config_1 , 
          value 2 is not in process , value 3 is save config_1 and value 4 is save config_2."
       DEFVAL  { 1 }
       ::= { companySystem 10 }


    sysJumboFrameEnable  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(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 { disable }
       ::= { companySystem 12 }

    -- Port Control Table

        sysPortCtrlTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF SysPortCtrlEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "A table to control the port specific parameters of the device like speed,
                duplex mode, etc."
           ::= { companySystem 13 }

        sysPortCtrlEntry OBJECT-TYPE
           SYNTAX      SysPortCtrlEntry
           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 { sysPortCtrlIndex , sysPortCtrlMediumType}
           ::= { sysPortCtrlTable 1 }

        SysPortCtrlEntry ::=
           SEQUENCE {
              sysPortCtrlIndex
                 Integer32,
              sysPortCtrlMediumType
                 INTEGER,
              sysPortCtrlSpeed
                 INTEGER,
              sysPortCtrlOperStatus
                 INTEGER,
              sysPortCtrlMDI
                 INTEGER,
              sysPortCtrlFlowControl
                 INTEGER,
              sysPortCtrlFlowControlOper
                 INTEGER,
              sysPortCtrlType
                 INTEGER,           
              sysPortCtrlCapability
              	 BITS
,
	      sysPortAutoDowngrade  
                 INTEGER
,              
              sysPortCtrlState
                 INTEGER
          }

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

           ::= { sysPortCtrlEntry 1 }

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

           ::= { sysPortCtrlEntry 2 }

        sysPortCtrlSpeed OBJECT-TYPE
           SYNTAX      INTEGER {
                         rate1000M-Full  (1),
                         rate100M-Full   (2),
                         rate100M-Half   (3),
                         rate10M-Full    (4),
                         rate10M-Half    (5),
                         auto            (6)
                      }	 
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configures interface speed."

           ::= { sysPortCtrlEntry 3 }

        sysPortCtrlOperStatus OBJECT-TYPE
           SYNTAX      INTEGER {
                         down            (1),
                         rate1000M-Full  (2),
                         rate100M-Full   (3),
                         rate100M-Half   (4),
                         rate10M-Full    (5),
                         rate10M-Half    (6),
                         rate10G-Full	 (7)
                         
                      }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port's operating speed state."

           ::= { sysPortCtrlEntry 4 }

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

           ::= { sysPortCtrlEntry 5 }

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

           ::= { sysPortCtrlEntry 6 }

        sysPortCtrlFlowControlOper OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The link parner negotiate port's operating flow control state."
            ::= { sysPortCtrlEntry 7 }

        sysPortCtrlType OBJECT-TYPE
            SYNTAX INTEGER {
                   fastethernet(1),
                   gigabitethernet(2),
                   fiberwith100BaseSFPModule(3),
                   fiberwith1GBaseSFPModule(4),
                   fiberwith10GBaseSFPModule(5)
            }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The port's media type."
            ::= { sysPortCtrlEntry 8 }                                    
            
    	sysPortCtrlCapability OBJECT-TYPE
      		SYNTAX  BITS {
            	rate10-half(0),
            	rate10-full(1),
            	rate100-half(2),
            	rate100-full(3),
            	reserve(4),
            	rate1000-full(5)     			
            }  		    
			MAX-ACCESS read-write
     		STATUS current
      		DESCRIPTION              
      			"The port's capability advertised."     
   			::= { sysPortCtrlEntry 9 }
		 sysPortAutoDowngrade OBJECT-TYPE
            SYNTAX INTEGER {
				enable     (1),
				disable    (2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The port's media AutoDowngrade."
            ::= { sysPortCtrlEntry 10 }
		 sysPortCtrlState OBJECT-TYPE
            SYNTAX INTEGER {
				enable     (1),
				disable    (2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Configures interface state."
            ::= { sysPortCtrlEntry 11 }
-- start DLINK_METRO_LIKE_GENERAL       
        sysPortDescriptionTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF SysPortDescriptionEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port description table."
           ::= { companySystem 14 }

        sysPortDescriptionEntry OBJECT-TYPE
           SYNTAX      SysPortDescriptionEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port description entry."
           INDEX { sysPortDescIndex, sysPortDescMediumType }
           ::= { sysPortDescriptionTable 1 }

        SysPortDescriptionEntry ::=
           SEQUENCE {
              sysPortDescIndex
                 INTEGER,
              sysPortDescMediumType
                 INTEGER,
              sysPortDescString
                 DisplayString,
              sysPortUpLinkTime
                 DisplayString,
              sysPortLinkChangeTime
                 DisplayString
           }

        sysPortDescIndex OBJECT-TYPE
           SYNTAX      INTEGER (1..255)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port index."
           ::= { sysPortDescriptionEntry 1 }
              
              
        sysPortDescMediumType 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."
           ::= { sysPortDescriptionEntry 2 }
           
        sysPortDescString OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "This object indicates the port description."
           ::= { sysPortDescriptionEntry 3 }

        sysPortUpLinkTime OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "This object indicates the port link up time."
           ::= { sysPortDescriptionEntry 4 }

        sysPortLinkChangeTime OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "This object indicates the port link up time."
           ::= { sysPortDescriptionEntry 5 }

-- end DLINK_METRO_LIKE_GENERAL

-- start DLINK_METRO_LIKE_GENERAL
		sysPortErrTable OBJECT-TYPE
		   SYNTAX       SEQUENCE OF SysPortErrEntry
		   MAX-ACCESS   not-accessible
		   STATUS       current
		   DESCRIPTION
		   	   "The port error table."
           ::= { companySystem 15 }

		sysPortErrEntry OBJECT-TYPE
		   SYNTAX       SysPortErrEntry
		   MAX-ACCESS   not-accessible
		   STATUS       current
		   DESCRIPTION
		        "A list of information for the err port of the device."
		   INDEX { sysPortErrPortIndex }
		    ::= { sysPortErrTable 1 }

		SysPortErrEntry ::= 
		   SEQUENCE {
		      sysPortErrPortIndex
		         INTEGER,
		      sysPortErrPortState
		         INTEGER,
		      sysPortErrPortStatus 
		         INTEGER,
		      sysPortErrPortReason
		         INTEGER
		}

		sysPortErrPortIndex 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)"
		   ::= { sysPortErrEntry 1 }
       
		sysPortErrPortState OBJECT-TYPE
		   SYNTAX       INTEGER {
		      disabled(1),
		      enabled(2)
		   }
		   MAX-ACCESS   read-only
		   STATUS       current
		   DESCRIPTION
		        "This object decides whether the port state is enabled or disabled."
		   ::= { sysPortErrEntry 2 }
		
		sysPortErrPortStatus 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."
		   ::= { sysPortErrEntry 3 }
		
		sysPortErrPortReason OBJECT-TYPE
		   SYNTAX       INTEGER {
		      lbd(1),
		      traffic-control(2),
		      duld(3),
		      bpdu-protection(4)
		   }
		   MAX-ACCESS   read-only
		   STATUS       current
		   DESCRIPTION
		        "This object decides whether the PortStatus is LBD."
		   ::= { sysPortErrEntry 4 }
-- end DLINK_METRO_LIKE_GENERAL

        sysDhcpAutoConfiguration  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "This object indicates auto config is enabled or disabled."
            DEFVAL { disable }
            ::= { companySystem 16 }

-- start DLINK_METRO_LIKE_GENERAL
		   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      INTEGER (0..65535)
		   MAX-ACCESS  read-write
		   STATUS      current
		   DESCRIPTION
		       "This object is for ARP aging time."
		   ::= { companySystem 19 }


           sysMACAgingTime  OBJECT-TYPE
		   SYNTAX      INTEGER (10..1000000)
		   MAX-ACCESS  read-write
		   STATUS      current
		   DESCRIPTION
		       "This object is for MAC aging time."
		   ::= { companySystem 20 }

 			baudRateConfiguration  OBJECT-TYPE
            SYNTAX      INTEGER {
                    baudrate9600(9600),
                    baudrate19200(19200),
                    baudrate38400(38400),
                    baudrate115200(115200)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set SerialPort baud-rate configuration."
            ::= { companySystem 21 }

        	autologoutConfiguration  OBJECT-TYPE
            SYNTAX      INTEGER {
                    logouttime2mins(120),
                    logouttime5mins(300),
                    logouttime10mins(600),
                    logouttime15mins(900),
                    logouttimenever(0)

            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set SerialPort auto-logout-time configuration."
            ::= { companySystem 22 }

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

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

        autoRefreshConfiguration  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 }
            
        floodfdbOnOff  OBJECT-TYPE
            SYNTAX      INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set enable status for flood fdb."
            ::= { companySystem 26 }
            
        sysContactName  OBJECT-TYPE
            SYNTAX      DisplayString (SIZE(1..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set system contact name."
            ::= { companySystem 27 }
-- end DLINK_METRO_LIKE_GENERAL

        sysDhcpAutoConfigTimeout  OBJECT-TYPE
            SYNTAX      INTEGER (1..65535)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "To set dhcp auto config timeout."
            ::= { companySystem 28 }

        sysCommandLogging OBJECT-TYPE
           SYNTAX      INTEGER {
                    enable    (1),
                    disable   (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "To set enable status for CommandLogging."

           ::= { companySystem 29 }
           
        sysSerialNumber OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..13))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
           "To get the serial number."

           ::= { companySystem 30 }             
           
-- start DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY   

    --FirmwareInfo
        firmwareInfoImage1Version OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..15))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The version of firmware information."
                DEFVAL { "" }

           ::= { firmwareInfoImage1 1 }

        firmwareInfoImage1Size OBJECT-TYPE
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The size of firmware information."

           ::= { firmwareInfoImage1 2 }

        firmwareInfoImage1UpdateTime OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..20))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The Update Time of firmware information."

           ::= { firmwareInfoImage1 3 }

        firmwareInfoImage1FromIP OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The IP address of firmware information."

           ::= { firmwareInfoImage1 4 }

        firmwareInfoImage1User OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..9))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The user of firmware infomation."

           ::= { firmwareInfoImage1 5 }

          firmwareInfoImage1Type OBJECT-TYPE
           SYNTAX      INTEGER{
                    console(1),
                    telnet(2),
                    ssh(3),
                    web(4),
                    unknown(-1)

           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The type of firmware infomation."

           ::= { firmwareInfoImage1 6 }
        firmwareInfoImage2        OBJECT IDENTIFIER ::= { sysFirmwareInfomation 2 }
        firmwareInfoImage2Version OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..15))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The version of firmware information."
                DEFVAL { "" }

           ::= { firmwareInfoImage2 1 }

        firmwareInfoImage2Size OBJECT-TYPE
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The size of firmware information."

           ::= { firmwareInfoImage2 2 }

        firmwareInfoImage2UpdateTime OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..20))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The Update Time of firmware information."

           ::= { firmwareInfoImage2 3 }

        firmwareInfoImage2FromIP OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The IP address of firmware information."

           ::= { firmwareInfoImage2 4 }

        firmwareInfoImage2User OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..9))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The user of firmware infomation."

           ::= { firmwareInfoImage2 5 }

          firmwareInfoImage2Type OBJECT-TYPE
           SYNTAX      INTEGER{
                    console(1),
                    telnet(2),
                    ssh(3),
                    web(4),
                    unknown(-1)

           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The type of firmware infomation."

           ::= { firmwareInfoImage2 6 }
-- end DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY

        sysDdp  OBJECT IDENTIFIER ::= { companySystem 32 }
        sysDdpGlobalOnOff       OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS    read-write 
            STATUS        current
            DESCRIPTION 
           "This object indicates D-Link discover protocol is enabled or disabled." 
            ::= { sysDdp 1 }                                           

        sysDdpGeneralReportOnOff       OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS    read-write 
            STATUS        current
            DESCRIPTION 
           "This object indicates D-Link discover protocol report is enabled or disabled.
            This object only can be modified when D-Link discover protocol state is enabled." 
            ::= { sysDdp 2 } 

        sysDdpGeneralReportTimer      OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 time30seconds(30),
        		 time60seconds(60),
        		 time90seconds(90),
        		 time120seconds(120)
            }
            MAX-ACCESS    read-write 
            STATUS        current
            DESCRIPTION 
           "This object indicates D-Link discover protocol report time period.
            This object only can be modified when both D-Link discover protocol state and
            D-Link discover protocol report state are enabled." 
            ::= { sysDdp 3 }

        sysDdpPortStatusTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysDdpPortStatusEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to control the port status of D-Link discover protocol."
           ::= { sysDdp 4 }
        
        sysDdpPortStatusEntry OBJECT-TYPE 
           SYNTAX      SysDdpPortStatusEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each port D-Link discover protocol status."
        
           INDEX { sysDdpPortStatusIndex }
           ::= { sysDdpPortStatusTable 1 }
           
        SysDdpPortStatusEntry ::= 
           SEQUENCE { 
              sysDdpPortStatusIndex 
                 Integer32, 
              sysDdpPortStatusControl
                 INTEGER
          }
        
        sysDdpPortStatusIndex 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."
           
           ::= { sysDdpPortStatusEntry 1 }

        sysDdpPortStatusControl OBJECT-TYPE 
           SYNTAX      INTEGER {
               enabled  (1),
               disabled (2)
                      }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configures the port status of D-Link discover protocol."
        
           ::= { sysDdpPortStatusEntry 2 }

         

        sysSmartFan  OBJECT IDENTIFIER ::= { companySystem 33 }
        sysSmartFanStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        failure(0), 
                        normal(1)
                    }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The Fan status for this device."
           ::= {sysSmartFan 1 }

        sysTemperature OBJECT-TYPE
            SYNTAX      DisplayString (SIZE(1..5))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The Temperature of this device."

           ::= { sysSmartFan 2 }


        sysDhcpAutoImage  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "This object indicates auto image is enabled or disabled."
            DEFVAL { disable }
            ::= { companySystem 34 }
                    
        sysBootupConfigID OBJECT-TYPE
           SYNTAX      INTEGER (1..2)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "To get/set bootup config ID."
           ::= { companySystem 35 }

        sysBootupImage OBJECT-TYPE
           SYNTAX      INTEGER (1..2)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "To get/set bootup Image."

           ::= { companySystem 36 }
-- Port Media Type Table

        sysPortMediaTypeTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF SysPortMediaTypeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "A table to control the port specific parameters of the device like speed,
                Vendor name, etc."
           ::= { companySystem 37 }

        sysPortMediaTypeEntry OBJECT-TYPE
           SYNTAX      SysPortMediaTypeEntry
           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 { sysPortMediaTypeIndex , sysPortMediaType}
           ::= { sysPortMediaTypeTable 1 }

        SysPortMediaTypeEntry ::=
           SEQUENCE {
              sysPortMediaTypeIndex
                 Integer32,
              sysPortMediaType
                 INTEGER,
              sysPortType
                 INTEGER,
              sysPortMediaTypeVendorName
                 DisplayString,
              sysPortMediaTypeOui
                 DisplayString,
              sysPortMediaTypePn
                 DisplayString,
              sysPortMediaTypeRev
                 DisplayString,
              sysPortMediaTypeSn
                 DisplayString,           
              sysPortMediaTypeDateCode
              	 DisplayString
          }

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

           ::= { sysPortMediaTypeEntry 1 }

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

           ::= { sysPortMediaTypeEntry 2 }

        sysPortType OBJECT-TYPE
           SYNTAX      INTEGER {
                         rate100M  (1),
                         rate1000M (2)

                      }	 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Configures interface speed."

           ::= { sysPortMediaTypeEntry 3 }

        sysPortMediaTypeVendorName OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..20))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port's VendorName."

           ::= { sysPortMediaTypeEntry 4 }

        sysPortMediaTypeOui OBJECT-TYPE
           SYNTAX      DisplayString (SIZE(1..20))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port's Oui."

           ::= { sysPortMediaTypeEntry 5 }

        sysPortMediaTypePn OBJECT-TYPE
           SYNTAX     DisplayString (SIZE(1..20))
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port's Pn."

           ::= { sysPortMediaTypeEntry 6 }

        sysPortMediaTypeRev OBJECT-TYPE
            SYNTAX     DisplayString (SIZE(1..20))
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The port's Rev."
            ::= { sysPortMediaTypeEntry 7 }

        sysPortMediaTypeSn OBJECT-TYPE
            SYNTAX      DisplayString (SIZE(1..20))
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The port's Sn."
                
            ::= { sysPortMediaTypeEntry 8 }                                    
            
    	sysPortMediaTypeDateCode OBJECT-TYPE
      		  SYNTAX  DisplayString (SIZE(1..20))
			      MAX-ACCESS read-only
     		    STATUS current
      		  DESCRIPTION              
      			   "The port's DateCode."
      			        
   			    ::= { sysPortMediaTypeEntry 9 }


        sysCurrentBootupImage OBJECT-TYPE
           SYNTAX      INTEGER (1..2)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
           "To get current bootup Image."

           ::= { companySystem 39 }

    sysHolPreventionEnable  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is used to set Hol Prevention Enable\Disable."
          DEFVAL { disable }
       ::= { companySystem 40 }
sysScheduleRebootTable  OBJECT-TYPE
            SYNTAX     SEQUENCE OF SysScheduleRebootEntry 
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
               "An entry containing systom restart time schedule."
            ::= { companySystem 41 }
                       
        sysScheduleRebootEntry OBJECT-TYPE
            SYNTAX     SysScheduleRebootEntry 
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                  "An entry containing systom restart time schedule."
            INDEX { sysScheduleRebootIndex}
            ::= { sysScheduleRebootTable 1 } 

        SysScheduleRebootEntry  ::= 
           SEQUENCE {
                sysScheduleRebootIndex        INTEGER,
                sysScheduleRebootTimeType     INTEGER,
                sysScheduleRebootTimeSetting  OCTET STRING,
                sysScheduleRebootSaveConfig   INTEGER,
                sysScheduleRebootStatus       RowStatus
              }            
            
        sysScheduleRebootIndex OBJECT-TYPE 
           SYNTAX      INTEGER
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The index for reboot schedule."
           ::= { sysScheduleRebootEntry 1 } 
          
        sysScheduleRebootTimeType OBJECT-TYPE 
           SYNTAX INTEGER{
                in(1),
                at(2)
           }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Schedule Reboot Time Type. One(in) is system reboots after a time interval, 
              and Two(at) is system reboots at the specific date and time."
           ::= { sysScheduleRebootEntry 2 }              
                             
        sysScheduleRebootTimeSetting OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "If Time is Type One(in) , the time format is min(1-43200).
               If Time is Type Two(at), the time format is hh:mm ddmthyyyy(date is optional)."
           ::= { sysScheduleRebootEntry 3 }   

        sysScheduleRebootSaveConfig OBJECT-TYPE 
           SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
           }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "System will save configuration before restarting."
           ::= { sysScheduleRebootEntry 4 }
                                                 
        sysScheduleRebootStatus OBJECT-TYPE
           SYNTAX RowStatus
           MAX-ACCESS read-write
           STATUS     current
           DESCRIPTION
             "This object indicates the status of this entry. 
             To create a new entry, you must set the cameraInformationStatus 
             to be CreateAndGo, then this entry will turn to be Active."
           ::= { sysScheduleRebootEntry 5 }
        sysSaveOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                save_progressing(1),
                last_save_success(2),
                last_save_fail(3),
                last_save_none(4)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "configuration saving status."
             ::= { companySystem 42 }
        sysFirmwareDelete OBJECT-TYPE
           SYNTAX      INTEGER (1..2)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "To get/set Firmware Delete."
           ::= { companySystem 43 }
        sysPasswordRecovery OBJECT-TYPE
           SYNTAX       INTEGER {
               enabled(1),
               disabled(2)
           }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "To get/set Password recovery."
           ::= { companySystem 44 }     

         sysFdbTableClear OBJECT-TYPE
           SYNTAX      TruthValue
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "This object allows the user to clear fdb table
           Setting  a value of 'true' causes the fdb  to
           be cleared."
           DEFVAL  { false }
           ::= { companySystem  45 }

 -- ----------------------------------------------------------
 -- The company802Dot3az Groups
 -- ----------------------------------------------------------      	
    dot3azEEEset                  OBJECT IDENTIFIER ::= { companydot3azEEE 1 }
 -- 802Dot3azTable  Group --------------------------------------------- --
    
    dot3azTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot3azEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control IEEE802.3az EEE settings features of the device."
        ::= { dot3azEEEset 1 }
        
    dot3azEntry OBJECT-TYPE
        SYNTAX Dot3azEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in IEEE802.3az EEE table for each interface 
 	        in the system."
        INDEX { portD3Index }
        ::= { dot3azTable 1 }
  
    Dot3azEntry ::= 
           SEQUENCE { 
              portD3Index 
                 Integer32, 
              portD3State 
                 INTEGER             
          }
        
               
         portD3Index OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies.
               For all machines give maximum port number."
           ::= { dot3azEntry 1 }
            
        
         portD3State OBJECT-TYPE
           SYNTAX INTEGER  {
        		  enabled (1), disabled (2), notsupported (3)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Enable / disable port IEEE802.3az EEE 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."
        
           ::= { dot3azEntry 2 }
        
       

        -- -------------------------------------------------------------------------
        -- companyIpifGroup       
        -- -------------------------------------------------------------------------
       
       ipv4sysIpAddrCfgMode 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 
      'sysDefaultIpAddr' 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 'sysDefaultIpAddr' 
      configured in the system."  
       DEFVAL  { manual } 
       ::= { companyIpifGroup 1 }

    ipv4sysIpAddr  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."
       ::= { companyIpifGroup 2 }
    
    ipv4sysIpSubnetMask  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."
       ::= { companyIpifGroup 3 }

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

    ipv4dhcpOption12Status  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Status of DHCP Option12"
       ::= { companyIpifGroup 5 }
       
    ipv4dhcpOption12HostName  OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Host name in DHCP option 12"
       ::= { companyIpifGroup 6 }

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

      ipifSupportV4V6Info         OBJECT IDENTIFIER ::= { companyIpifGroup 7 }

       sysIpAddrCfgMode 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 
      'sysDefaultIpAddr' 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 'sysDefaultIpAddr' 
      configured in the system."  
       DEFVAL  { manual } 
       ::= { ipifSupportV4V6Info 1 }

    sysIpAddr  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."
       ::= { ipifSupportV4V6Info 2 }
    
    sysIpSubnetMask  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."
       ::= { ipifSupportV4V6Info 3 }

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

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

    ipifName           OBJECT-TYPE
         SYNTAX             OCTET STRING
         MAX-ACCESS         read-only
         STATUS             current
         DESCRIPTION
               "The Description for the interface."
         ::= { ipifSupportV4V6Info 7 }         
         
      ipifVLANname       OBJECT-TYPE
         SYNTAX             OCTET STRING
         MAX-ACCESS         read-only
         STATUS             current
         DESCRIPTION
               "The vlan name for the interface."
         ::= { ipifSupportV4V6Info 8 }    

      ipifv6GlobalStatus     OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The ID of VLAN that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { ipifSupportV4V6Info 9 }

      ipifv6DHCPStatus       OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The state of DHCPv6 that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { ipifSupportV4V6Info 10 }

      ipifv6AutolinkloStatus OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The global state of link local that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { ipifSupportV4V6Info 11 }

      ipifv6NSRetransmitTime OBJECT-TYPE
            SYNTAX              INTEGER
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The NS's retransmit time that you want this interface to be in. 
                It must be a exist vlan id (1~3600)."
            ::= { ipifSupportV4V6Info 12 }

      ipifv6DefaultGateway OBJECT-TYPE
            SYNTAX              Ipv6Address
            MAX-ACCESS          read-write
            STATUS              current
            DESCRIPTION
                "The ipv6 default gateway that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { ipifSupportV4V6Info 13 }
 
    -- ---------------------------------------------------------------------    
    -- ---------------------------------------------------------------------   

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

      ipifV6AddressEntry          OBJECT-TYPE
         SYNTAX            IpifV6AddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { ipifV6AddressMainIndex, ipifV6AddressIpAddr, ipifV6AddressIpPrefix }
         ::= { ipifV6AddressTable 1 }

      IpifV6AddressEntry ::=
         SEQUENCE {
                ipifV6AddressMainIndex              InterfaceIndex,
                ipifV6AddressIpAddr                 Ipv6Address,     -- IPv6 Address.
                ipifV6AddressIpPrefix               INTEGER,         -- IPv6 Address Prefix.
                ipifV6AddressIpType                 INTEGER,         -- IP type (Link-local, Global, anycast).
                ipifV6AddressRowStatus              RowStatus        -- IPv6 Address entries row status.
            }

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

      ipifV6AddressIpAddr       OBJECT-TYPE
         SYNTAX                 Ipv6Address
         MAX-ACCESS             read-only
         STATUS                 current
         DESCRIPTION
            "The ip address of this IPv6 entry."
         DEFVAL { '00000000'H } 
         ::= { ipifV6AddressEntry 2 }
              
      ipifV6AddressIpPrefix     OBJECT-TYPE
            SYNTAX              INTEGER (1..128)
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
            "The ip prefix of this IPv6 entry."
        ::= { ipifV6AddressEntry 3 } 

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

    ipv4sysIprouteGateway OBJECT-TYPE 
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "IProute Gateway of the system."
       ::= { companyIpifGroup 8 }

    ipv4sysIprouteHops  OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "IProute Hops of the system."
       ::= { companyIpifGroup 9 }


        -- -------------------------------------------------------------------------
        -- companyTftpGroup         
        -- -------------------------------------------------------------------------
        tftpFwServerIpAddress OBJECT-TYPE
              SYNTAX IpAddress
              MAX-ACCESS read-write
              STATUS obsolete
              DESCRIPTION
                  "The TFTP server's IP address is used to upload or
  		           download firmware."
              ::= { companyTftpGroup 1 }
 

        tftpFwImageFileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
                 "Configure firmware filename to download."
             ::= { companyTftpGroup 2 }

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

        tftpFwTftpOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3),
                    transmit(4)
             }
             MAX-ACCESS read-only
             STATUS obsolete
             DESCRIPTION
                 "The tftp operation status represent firmware backup or upgrade status."
             ::= { companyTftpGroup 4 }
         
         tftpCfgServerIpAddress OBJECT-TYPE
              SYNTAX IpAddress
              MAX-ACCESS read-write
              STATUS obsolete
              DESCRIPTION
                  "The TFTP server's IP address is used to upload or
  		           download configuration file."
              ::= { companyTftpGroup 5 }
                
         tftpConfigFileName OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
              STATUS obsolete
              DESCRIPTION
                  "The configuration filename is used to store or retrieve config 
                   from the tftp server."
              ::= { companyTftpGroup 6 }
  
         tftpConfigTftpOperation OBJECT-TYPE
              SYNTAX INTEGER {
                     download(1),
                     upload(2),
                     progressing(3)
              }
              MAX-ACCESS read-write
              STATUS obsolete
              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."
              ::= { companyTftpGroup 7 }

        tftpConfigTftpOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3)
             }
             MAX-ACCESS read-only
             STATUS obsolete
             DESCRIPTION
                 "The tftp operation status represent configuration file backup or restore status."
             ::= { companyTftpGroup 8 }
             
    	tftpFwTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 9 }
    	             
        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."
              ::= { tftpFwTargetGroup 1 }
 
        tftpFwTargetServerIpType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { tftpFwTargetGroup 2 }
               
        tftpFwTargetInterfaceName OBJECT-TYPE
               SYNTAX      OCTET STRING
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Specifies the interface name when the tftpFwTargetServerIpAddress
                    is linklocal address."
               ::= { tftpFwTargetGroup 3 }
               
        tftpFwTargetImageFileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "Configure firmware filename to download."
             ::= { tftpFwTargetGroup 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."
             ::= { tftpFwTargetGroup 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."
             ::= { tftpFwTargetGroup 6 }    	
             
        tftpFwTargetImageID OBJECT-TYPE
             SYNTAX INTEGER {
                    imageId-1(1),
                    imageId-2(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "Select image id for upload the FW."
             ::= { tftpFwTargetGroup 7 }
             
        tftpFwTargetBootUp OBJECT-TYPE
             SYNTAX INTEGER {
                    true(1),
                    false(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "If true using download image to bootup."
             ::= { tftpFwTargetGroup 8 }                 
        
    	tftpCfgTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 10 }
    	                 	
         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."
              ::= { tftpCfgTargetGroup 1 }

        tftpCfgTargetServerIpType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { tftpCfgTargetGroup 2 }
                
        tftpCfgTargetInterfaceName OBJECT-TYPE
               SYNTAX      OCTET STRING
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Specifies the interface name when the tftpCfgTargetServerIpAddress
                    is linklocal address."
               ::= { tftpCfgTargetGroup 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."
              ::= { tftpCfgTargetGroup 4 }
  
         tftpCfgTargetTftpOperation OBJECT-TYPE
              SYNTAX INTEGER {
                     download(1),
                     upload(2),
                     progressing(3),
                     download_and_reboot(4)
              }
              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."
              ::= { tftpCfgTargetGroup 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."
             ::= { tftpCfgTargetGroup 6 }    
             
         tftpCfgTargetConfigID OBJECT-TYPE
              SYNTAX INTEGER {
                     config1(1),
                     config2(2),
                     current-config(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."
              ::= { tftpCfgTargetGroup 7 }

         tftpCfgTargetIncrement OBJECT-TYPE
              SYNTAX INTEGER {
                     none (1),
                     increment (2)
              }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The tftp increment determine download config behavior."
              ::= { tftpCfgTargetGroup 8 }
                         	
    	tftpLogTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 11 }
    	             
        tftpLogTargetServerIpAddress OBJECT-TYPE
              SYNTAX Ipv6Address
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The TFTP server's IP address is used to upload log file."
              ::= { tftpLogTargetGroup 1 }
 
        tftpLogTargetServerIpType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-write
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { tftpLogTargetGroup 2 }

         tftpLogTargetFileName OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The log filename is used to store log file 
                   to the tftp server."
              ::= { tftpLogTargetGroup 4 }

        tftpLogTargetTftpOperation OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    upload(1)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "The tftp operates to perform uploading the log file
                 to the tftp server."
             ::= { tftpLogTargetGroup 5 }

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

        -- -------------------------------------------------------------------------
        -- company Extension MIB, Miscellaneous Information         
        -- -------------------------------------------------------------------------

        miscReset OBJECT-TYPE
            SYNTAX INTEGER {
                   reset(1),
                   noop(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Physically resets the unit - use with care. A (1) resets 
                 the unit, a (2) does nothing."
            ::= { companyMiscGroup 2 }

        miscStatisticsReset OBJECT-TYPE
            SYNTAX INTEGER {
                   reset(1),
                   noop(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Resets the units statistics. A (1) resets 
                 the statistics count, a (2) does nothing."
            ::= { companyMiscGroup 3 }
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------      	
    securityIpMacPortBinding                     OBJECT IDENTIFIER ::= { companySecurity 10 }
 -- IpMacPortBinding Group --------------------------------------------- --
    
    impbSettingTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbSettingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control IP-MAC-Port Binding Setting features of the device."
        ::= { securityIpMacPortBinding 1 }
        
    impbSettingEntry OBJECT-TYPE
        SYNTAX ImpbSettingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in IP-MAC-Port Binding Setting table for each interface 
 	        in the system."
        INDEX { impbPortIndex }
        ::= { impbSettingTable 1 }
  
    ImpbSettingEntry ::= 
           SEQUENCE { 
              impbPortIndex 
                 INTEGER, 
              impbPortState 
                 INTEGER,   
              impbPortDHCPSnoopingState
                 INTEGER,
              impbPortArpInspectionState 
                 INTEGER,
              impbPortIpInspectionState 
                 INTEGER,   
              impbPortAllowZeroIPState   
                 INTEGER,
              impbPortForwardDHCPPktState   
                 INTEGER,
              impbPortDHCPMaxEntryIPv4
                 Integer32,
              impbPortDHCPMaxEntryIPv6
                 Integer32,
              impbPortNDInspectionState 
                 INTEGER,
              impbPortProtocolState 
                 INTEGER,
             impbPortDHCPv4SetVlanList
                 OCTET STRING,            
             impbPortDHCPv4VlanList1k
                 OCTET STRING,
             impbPortDHCPv4VlanList2k
                 OCTET STRING,
             impbPortDHCPv4VlanList3k
                 OCTET STRING,
             impbPortDHCPv4VlanList4k
                 OCTET STRING,
             impbPortDHCPv6SetVlanList
                 OCTET STRING,
             impbPortDHCPv6VlanList1k
                 OCTET STRING,
             impbPortDHCPv6VlanList2k
                 OCTET STRING,
             impbPortDHCPv6VlanList3k
                 OCTET STRING,
             impbPortDHCPv6VlanList4k
                 OCTET STRING,
             impbPortDHCPSnoopingFlushState
                 INTEGER,
             impbPortStopLearnThreshold
                 Integer32
         }
        
         impbPortIndex OBJECT-TYPE 
           SYNTAX      INTEGER (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Specifies the port numbers through which the authorized manager can
	        access the switch. 
	        By default the authorized manager is allowed to access the switch 
	        through all the ports.
	        If a set of ports are configured in the 'PortList', the manager can
	        access the switch only through the configured ports."
           ::= { impbSettingEntry 1 }
            
         impbPortState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding admin state for the interface."
        
           ::= { impbSettingEntry 2 }
             
         impbPortDHCPSnoopingState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding DHCP snooping state for the interface."
        
           ::= { impbSettingEntry 4 }
           
         impbPortArpInspectionState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), strict (1), loose (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set IP-MAC-Port Binding ARP Inspection state for the interface."
        
           ::= { impbSettingEntry 5 }                             

         impbPortIpInspectionState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set IP-MAC-Port Binding IP Inspection state for the interface."
        
           ::= { impbSettingEntry 6 }
           
         impbPortAllowZeroIPState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding Allow-Zero-IP state for the interface."
        
           ::= { impbSettingEntry 7 }
           
         impbPortForwardDHCPPktState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding Forward-DHCP-Packet state for the interface."
        
           ::= { impbSettingEntry 8 }  
           
           impbPortDHCPMaxEntryIPv4 OBJECT-TYPE
           SYNTAX      Integer32 (0..10)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set the maximum number of IPv4 entries that can be learned for the interface."
        
           ::= { impbSettingEntry 9 }    
           
           impbPortDHCPMaxEntryIPv6 OBJECT-TYPE
           SYNTAX      Integer32 (0..10)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set the maximum number of IPv6 entries that can be learned for the interface."
        
           ::= { impbSettingEntry 10 }

           impbPortNDInspectionState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set IP-MAC-Port Binding ND Inspection state for the interface."        
           ::= { impbSettingEntry 11 }

           impbPortProtocolState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  ipv4 (0), ipv6 (1), all (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Set IP-MAC-Port Binding protocol state for the interface."
        
           ::= { impbSettingEntry 12 }
           
        impbPortDHCPv4SetVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
           	 "A string of octets containing one bit per VLAN. The
             first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.
            The set of vlans configured by management to map for this 
            Instance.  If the VlanId to Instance Mapping has to be known
            then any one of the VlanMapped object should be used.If a 
            vlan is already mapped to this Instance, it may not be mapped 
            again. This object is used only for SET operation.
            GET Operation returns null values."
            ::= { impbSettingEntry 13 }
 
         impbPortDHCPv4VlanList1k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.
 	
            For each VLAN that is mapped to this DHCP snooping,
            the bit corresponding to that VLAN is set to '1'. "
            ::= { impbSettingEntry 14 }
            
          impbPortDHCPv4VlanList2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 1025 through 2048.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this DHCPv4 snooping,
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 15 }
            
         impbPortDHCPv4VlanList3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 2049 through 3072.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this  DHCPv4 snooping
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 16 }
            
          impbPortDHCPv4VlanList4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
             "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 3073 through 4094.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this  DHCPv4 snooping,
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 17 }
  
          impbPortDHCPv6SetVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
           	 "A string of octets containing one bit per VLAN. The
             first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.
            The set of vlans configured by management to map for this 
            Instance.  If the VlanId to Instance Mapping has to be known
            then any one of the VlanMapped object should be used.If a 
            vlan is already mapped to this Instance, it may not be mapped 
            again. This object is used only for SET operation.
            GET Operation returns null values."
            ::= { impbSettingEntry 18 }
 
         impbPortDHCPv6VlanList1k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.
 	
            For each VLAN that is mapped to this DHCP snooping,
            the bit corresponding to that VLAN is set to '1'. "
            ::= { impbSettingEntry 19 }
            
          impbPortDHCPv6VlanList2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 1025 through 2048.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this DHCPv6 snooping,
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 20 }
            
         impbPortDHCPv6VlanList3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 2049 through 3072.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this  DHCPv6 snooping
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 21 }
            
          impbPortDHCPv6VlanList4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
             "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 3073 through 4094.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
 	
            For each VLAN that is mapped to this  DHCPv6 snooping,
            the bit corresponding to that VLAN is set to '1'.
 	
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4094."
            ::= { impbSettingEntry 22 }
             
         impbPortDHCPSnoopingFlushState OBJECT-TYPE
           SYNTAX INTEGER  {
                disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding DHCP snooping flush when port down."
        
           ::= { impbSettingEntry 23 }

         impbPortStopLearnThreshold OBJECT-TYPE
           SYNTAX      Integer32 (0..500)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Block entry num limit"

           ::= { impbSettingEntry 24 }

                                                       
    impbAutoScanTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF ImpbAutoScanEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table to control auto scan features of the device."
            ::= { securityIpMacPortBinding 2 }
        
    impbAutoScanEntry OBJECT-TYPE
        SYNTAX ImpbAutoScanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in auto scan table for each interface 
          in the system."
        INDEX { impbAutoScanMacAddress, impbAutoScanPort, impbAutoScanIpAddress}
        ::= { impbAutoScanTable 1 }
  
    ImpbAutoScanEntry ::= 
           SEQUENCE { 
              impbAutoScanMacAddress 
                 MacAddress, 
              impbAutoScanPort   
                 Integer32,
              impbAutoScanIpAddress 
                 DisplayString,
              impbAutoScanVlanId 
                 Integer32, 
              impbAutoScanBinding   
                 INTEGER             
          }
           
         impbAutoScanMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the auto scan entry."
           ::= { impbAutoScanEntry 1 } 
         
         impbAutoScanPort OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The port number of the auto scan entry.
               For all machines give maximum port number."
           ::= { impbAutoScanEntry 2 }
                      
         impbAutoScanIpAddress OBJECT-TYPE 
           SYNTAX      DisplayString 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the auto scan entry."      
           DEFVAL { '00000000'H } 
           ::= { impbAutoScanEntry 3 } 
           
         impbAutoScanVlanId OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The VLAN ID of the auto scan entry."
           ::= { impbAutoScanEntry 4 }  
           
         impbAutoScanBinding OBJECT-TYPE 
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Disable / enable IP-MAC-Port Binding for the entry."
           ::= { impbAutoScanEntry 5 }

    impbBindingListTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbBindingListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control Manual IP-MAC-Port Binding white list features of the device."
        ::= { securityIpMacPortBinding 3 }
        
    impbBindingListEntry OBJECT-TYPE
        SYNTAX ImpbBindingListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in Manual IP-MAC-Port Binding white list table for each interface 
 	        in the system."
        INDEX { impbBindingListIpAddress, impbBindingListMacAddress }
        ::= { impbBindingListTable 1 }
  
    ImpbBindingListEntry ::= 
           SEQUENCE { 
              impbBindingListIpAddress 
                 DisplayString,
              impbBindingListMacAddress 
                 MacAddress, 
              impbBindingListPort   
                 PortList,
              impbBindingListRowStatus   
                 RowStatus             
          }       
          
         impbBindingListIpAddress OBJECT-TYPE 
           SYNTAX      DisplayString 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the Manual IP-MAC-PORT Binding white list entry."
           DEFVAL { '00000000'H }
           ::= { impbBindingListEntry 1 } 
            
         impbBindingListMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the Manual IP-MAC-PORT Binding white list entry."
           ::= { impbBindingListEntry 2 } 
           
         impbBindingListPort OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The port number of the Manual IP-MAC-PORT Binding white list entry."
           ::= { impbBindingListEntry 3 } 
           
         impbBindingListRowStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "The status of a row in impbBindingListTable. By setting this object, new
                entries can be created in impbBindingListTable and existing entries can be
                removed from impbBindingListTable. It can be used as specified in the SNMP
                v2 standard."
            ::= { impbBindingListEntry 4 } 

    impbBlockListTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbBlockListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control IP-MAC-Port Binding black list of the device."
        ::= { securityIpMacPortBinding 4 }
        
    impbBlockListEntry OBJECT-TYPE
        SYNTAX ImpbBlockListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in Manual IP-MAC-Port Binding black list table for each interface 
 	        in the system."
        INDEX { impbBlockListMacAddress, impbBlockListVlanId, impbBlockListPort }
        ::= { impbBlockListTable 1 }
  
    ImpbBlockListEntry ::= 
           SEQUENCE { 
              impbBlockListMacAddress 
                 MacAddress, 
              impbBlockListVlanId 
                 Integer32, 
              impbBlockListPort   
                 Integer32,
              impbBlockListIpAddress 
                 DisplayString,
              impbBlockListStatus   
                 INTEGER             
          }
          
        impbBlockListMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlockListEntry 1 } 
         
         impbBlockListVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The VLAN ID of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlockListEntry 2 }
           
         impbBlockListPort OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The port number of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlockListEntry 3 } 
           
         impbBlockListIpAddress OBJECT-TYPE 
           SYNTAX      DisplayString 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the IP-MAC-PORT Binding black list entry."  
           DEFVAL { '00000000'H }
           ::= { impbBlockListEntry 4 } 
           
         impbBlockListStatus OBJECT-TYPE
            SYNTAX      INTEGER {
        		  nothing (0), deleted (1)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "nothing/delete IP-MAC-Port Binding for the interface."
            ::= { impbBlockListEntry 5 }    

    impbAutoScanIpAddressFrom OBJECT-TYPE 
        SYNTAX      Ipv6Address 
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "The begin for IP address associated of the IP-MAC-PORT Binding auto scan entry."
        DEFVAL { '00000000'H }
        ::= { securityIpMacPortBinding 5 }
            
    impbAutoScanIpAddressTo OBJECT-TYPE 
        SYNTAX      Ipv6Address 
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "The end for IP address associated of the IP-MAC-PORT Binding auto scan entry."
        DEFVAL { '00000000'H }
        ::= { securityIpMacPortBinding 6 }
           
    impbAutoScanStatus OBJECT-TYPE
        SYNTAX      INTEGER {
      		  nothing (0), scan (1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Nothing / scan IP-MAC-Port Binding auto scan for the interface."
        ::= { securityIpMacPortBinding 7 }
                                                               
    impbDhcpSnoopingTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbDhcpSnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to display DHCP snooping entries of the device."
        ::= { securityIpMacPortBinding 8 }		
		  
    impbDhcpSnoopingEntry OBJECT-TYPE
        SYNTAX ImpbDhcpSnoopingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in DHCP snooping table for each interface 
 	        in the system."
        INDEX { impbDhcpSnoopingMacAddress, impbDhcpSnoopingIpAddress }
        ::= { impbDhcpSnoopingTable 1 }			
	   
    ImpbDhcpSnoopingEntry ::= 
           SEQUENCE {   
              impbDhcpSnoopingMacAddress 
                 MacAddress,
              impbDhcpSnoopingIpAddress 
                 Ipv6Address,
              impbDhcpSnoopingLeaseTime
                 Integer32,
              impbDhcpSnoopingPort   
                 Integer32,
			  impbDhcpSnoopingremainingTime
			    Integer32
          }       
                  
         impbDhcpSnoopingMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the DHCP snooping entry."
           ::= { impbDhcpSnoopingEntry 1 } 
           
         impbDhcpSnoopingIpAddress OBJECT-TYPE 
           SYNTAX      Ipv6Address 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the DHCP snooping entry."
           DEFVAL { '00000000'H }
           ::= { impbDhcpSnoopingEntry 2 } 
         
         impbDhcpSnoopingLeaseTime OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The lease time associated of the DHCP snooping entry."
           ::= { impbDhcpSnoopingEntry 3 }
           
         impbDhcpSnoopingPort OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The port number associated of the DHCP snooping entry."
           ::= { impbDhcpSnoopingEntry 4 } 
           
		 impbDhcpSnoopingremainingTime OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The remaining time associated of the DHCP snooping entry."
           ::= { impbDhcpSnoopingEntry 5 }		   
        
    impbRoamingState OBJECT-TYPE
           SYNTAX INTEGER  {
                  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding roaming state."
           ::= { securityIpMacPortBinding 9 }

    impbVlanModeState OBJECT-TYPE
           SYNTAX INTEGER  {
                  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Disable / enable IP-MAC-Port Binding vlan mode state."
           ::= { securityIpMacPortBinding 10 }

    impbVlanModeVlanList OBJECT-TYPE
           SYNTAX      PortList
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "IP-MAC-Port Binding vlan mode VID list."
           ::= { securityIpMacPortBinding 11 }

    impbDHCPv6PrefixDelegationSnoopState OBJECT-TYPE
           SYNTAX INTEGER  {
                  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configure DHCPv6 PD snooping state."
           ::= { securityIpMacPortBinding 13 }  
           
    impbBindingtraplog OBJECT-TYPE
           SYNTAX INTEGER  {
                  disabled (2), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object is for enabling or disabling topology change event trap in the system."
           ::= { securityIpMacPortBinding 14 }       
 
    impbBindingtrap  OBJECT IDENTIFIER ::= { securityIpMacPortBinding 15 }
        
    impbBindingtrapsign  NOTIFICATION-TYPE
           STATUS  obsolete
           DESCRIPTION
              "The object is for IMPB trap sign in the system."
              ::= {impbBindingtrap 1 }
         
    impbAutoScanCurrentStatus OBJECT-TYPE 
           SYNTAX INTEGER  {
        		  stop (0), scanning (1) 
            } 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Show Auto scan status"
           ::= { securityIpMacPortBinding 16 }	 

	impbDhcpSnoopingTableClearPortList OBJECT-TYPE
		SYNTAX      PortList
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
            "This object allow the user to set the port list for impbDhcpSnoopingTableClear."
		::= { securityIpMacPortBinding 17 }   
		   
    impbDhcpSnoopingTableClearIPType OBJECT-TYPE
           SYNTAX INTEGER  {
                   ipv4 (0),  ipv6 (1),  both (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object allow the user to set the IP type for impbDhcpSnoopingTableClear."
           ::= { securityIpMacPortBinding 18 } 		   
		   
	impbDhcpSnoopingTableClear OBJECT-TYPE 
	   SYNTAX      TruthValue 
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
		  "This object allows the user to clear the DHCP snooping entry.
		  Setting  a value of 'true' causes the DHCP snooping entry to 
		  be cleared."
		DEFVAL  { false }
	   ::= { securityIpMacPortBinding 19 }
          
        -- ----------------------------------------------------------------
        -- The STP Bridge Global
        -- ----------------------------------------------------------------
        stpBridgeGlobal  OBJECT IDENTIFIER ::= { companySTP 1 }
        
        stpModuleStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The administrative status requested by management for the MST  
              feature. The value enabled(1) indicates that Mst should be enabled  
              in the device on all ports. The value disabled(2) indicates that 
              Mst should be disabled in the device on all ports. The object can 
              be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
           ::= { stpBridgeGlobal 1 }
           
        stpProtocolVersion OBJECT-TYPE
           SYNTAX      INTEGER {
                          stp(1),
                          rstp(2),
                          mstp(3)
                       }
           MAX-ACCESS  read-write 
           STATUS      current
           DESCRIPTION
              "The version of Spanning Tree Protocol the bridge is
        	   currently running.  The value 'stpCompatible(0)'
        	   indicates the Spanning Tree Protocol specified in
        	   IEEE 802.1D and 'rstp(2)' indicates the Rapid Spanning
        	   Tree Protocol specified in IEEE 802.1w and 'mstp(3)'
        	   indicates the Multiple Spanning Tree Protocol Specified
        	   in IEEE 802.1s." 
           DEFVAL { rstp }
           ::= { stpBridgeGlobal 2 }
           
        stpBridgePriority OBJECT-TYPE
           SYNTAX      Integer32 (0..61440) 
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The Value of the writable portion of the Bridge
               Identifier comprising of the first two octets.
               The values that are set for Bridge Priority must be 
               in steps of 4096."
           DEFVAL {32768}
           ::= { stpBridgeGlobal 3 }          

        stpTxHoldCount OBJECT-TYPE
            SYNTAX      Integer32 (1..10)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "The value used by the Port Transmit state machine to limit
                the maximum transmission rate."
            DEFVAL  { 3 }
            ::= { stpBridgeGlobal 4 }

        stpBridgeMaxAge OBJECT-TYPE
            SYNTAX      Timeout (600..4000)  
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "The value that all bridges use for MaxAge when
                this bridge is acting as the root. The granularity 
                of this timer is specified to be 1 second.
                An agent may return a badValue error if a set is
                attempted to a value which is not a whole number
                of seconds."
            DEFVAL {2000}
            ::= { stpBridgeGlobal 5 }
        
        stpBridgeHelloTime OBJECT-TYPE
           SYNTAX      Timeout (100..1000)  
           MAX-ACCESS  read-write  
           STATUS      current
           DESCRIPTION
               "The amount of time between the transmission of
               Configuration bridge PDUs by this node in units 
               of hundredths of a second."
           ::= { stpBridgeGlobal 6 }

        stpBridgeForwardDelay OBJECT-TYPE
           SYNTAX      Timeout (400..3000)  
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
                "The value that all bridges use for ForwardDelay
                 when this bridge is acting as the root.  Note that
                 802.1D specifies that the range for this
                 parameter is related to the value of
                 BridgeMaxAge.  The granularity of this
                 timer is specified to be 1 second.
                 An agent may return a badValue error if a set is
                 attempted to a value which is not a whole number
                 of seconds."
           DEFVAL {1500}
           ::= { stpBridgeGlobal 7 }
        stpFowardBPDU OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object is for enabling or disabling forward BPDU."
           ::= {stpBridgeGlobal 8 }   

        stpRootBridge  OBJECT-TYPE
           SYNTAX      BridgeId  
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
                "The bridge identifier of the Root of the common spanning
                 tree as determined by the Spanning Tree Protocol
                 as executed by this node.  This value is used as
                 the CIST Root Identifier parameter in all Configuration
                 Bridge PDUs originated by this node."
           ::= { stpBridgeGlobal 9 }
           
        stpRootCost OBJECT-TYPE
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
                "The Cost of the path to the CIST Root as seen 
                from this bridge."
           ::= { stpBridgeGlobal 10 }
           
        stpMaxAge OBJECT-TYPE
           SYNTAX      Timeout
           MAX-ACCESS  read-only  
           STATUS      current
           DESCRIPTION
                 "The maximum age of Spanning Tree Protocol
                  information learned from the network on any port
                  before it is discarded, in units of hundredths of
                  a second.  This is the actual value that this
                  bridge is currently using."
           ::= { stpBridgeGlobal 11 }
           
        stpForwardDelay OBJECT-TYPE
           SYNTAX      Timeout
           MAX-ACCESS  read-only  
           STATUS      current
           DESCRIPTION
           	  "This time value, measured in units of hundredths
        	   of a second, controls how fast a port changes its
        	   spanning state when moving towards the Forwarding
        	   state.  The value determines how long the port
        	   stays in a particular state before moving to the
        	   next state."
           ::= { stpBridgeGlobal 12 }
           
        stpRootPort OBJECT-TYPE
           SYNTAX      Integer32  
           MAX-ACCESS  read-only      
           STATUS      current 
           DESCRIPTION 
              "The Port Number of the Port which offers the lowest    
               path cost from this bridge to the CIST Root Bridge."
           ::= { stpBridgeGlobal 13 }      
           
        stpTopologyChangeTrapStatus OBJECT-TYPE
           SYNTAX      INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }  
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "This object is for enabling or disabling topology change event
               trap in the system."
           DEFVAL  { disabled }
           ::= { stpBridgeGlobal 14 }  
           
        stpNewRootTrapStatus OBJECT-TYPE
           SYNTAX      INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }  
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "This object is for enabling or disabling new root event
               trap in the system."
           DEFVAL  { disabled }
           ::= { stpBridgeGlobal 15 }  		   

        stpNewRootTraps  OBJECT IDENTIFIER ::= { stpBridgeGlobal 16 }
         
        stpBridgeMaxHop OBJECT-TYPE
            SYNTAX      Timeout (600..4000)  
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "The value that all bridges use for MaxAge when
                this bridge is acting as the root. The granularity 
                of this timer is specified to be 1 second.
                An agent may return a badValue error if a set is
                attempted to a value which is not a whole number
                of seconds."
            DEFVAL {2000}
            ::= { stpBridgeGlobal 17 }         
         
        brgAddress NOTIFICATION-TYPE
           STATUS  obsolete
           DESCRIPTION
              "The MAC address used by this bridge when it must
               be referred to in a unique fashion."
              ::= { stpNewRootTraps 1 }

        oldDesignatedRoot NOTIFICATION-TYPE
           STATUS  obsolete
           DESCRIPTION
              "The bridge identifier of the old root of the spanning
 	       tree instance as determined by the Spanning Tree Protocol
 	       as executed by this node."

              ::= { stpNewRootTraps 2 }

        mstiBridgeRegionalRoot NOTIFICATION-TYPE
           STATUS  obsolete
           DESCRIPTION
              "MSTI Regional Root Identifier value for the Instance."
              ::= { stpNewRootTraps 3 }

        stpNniBpduAddr OBJECT-TYPE
           SYNTAX   INTEGER { 
                        dot1d (1), 
                        dot1ad (2) 
                    }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The value dot1d(1) indicates that Tx BPDU Header should be   
              01-80-c2-00-00-00 on nni ports when qinq enabled. The value dot1ad(2) indicates that 
               Tx BPDU Header should be 01-80-c2-00-00-08 on nni ports when qinq enabled."
           ::= { stpBridgeGlobal 18 }

     -- -------------------------------------
     -- The Spanning Tree Port Table   
     -- -------------------------------------
             
        stpPortTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF StpPortEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             "A table that contains port-specific information
             for the Spanning Tree Protocol."
           ::= { companySTP 2 }
        
        stpPortEntry OBJECT-TYPE
           SYNTAX  StpPortEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             "A list of information maintained by every port
             about the Spanning Tree Protocol state for that
             port."
           INDEX   { stpPort }
           ::= { stpPortTable 1 }

        StpPortEntry ::=
           SEQUENCE {
                  stpPort
                     INTEGER,
                  stpPortStatus
                     INTEGER,                     
                  stpPortPriority
                     INTEGER,
                  stpAdminPortPathCost
                     INTEGER,
                  stpPortPathCost
                     INTEGER,
                  stpPortProtocolMigration
                     INTEGER,
                  stpPortEdge
                     INTEGER,
                  stpPortAdminP2P
                     INTEGER,
                  stpPortRestrictedRole 
                     TruthValue, 
                  stpPortRestrictedTCN
                     TruthValue,
                  stpPortHelloTime
                     Timeout,
                  stpPortState
                     INTEGER,
                  stpPortFowardBPDU
                     INTEGER
        }

        stpPort OBJECT-TYPE
           SYNTAX      INTEGER (1..65535)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The Port number of the port for which this entry contains   
               spanning tree information."                                      
           ::= { stpPortEntry 1 }
           
        stpPortStatus OBJECT-TYPE
          SYNTAX      INTEGER {
                       enabled(1),
                       disabled(0)
                      }
          MAX-ACCESS  read-write           
          STATUS      current
          DESCRIPTION
              "Current state of the Port which can be changed to either 
               Disabled or Enabled for ALL spanning tree   
               instances. Setting this object will override the port's
               status in any of the MSTI contexts"                                        
          ::= { stpPortEntry 2 }
          
        stpPortPriority OBJECT-TYPE
           SYNTAX      INTEGER (0..240)
           MAX-ACCESS  read-write           
           STATUS      current
           DESCRIPTION
              "The four most significant bits of the Port Identifier 
              of the Spanning Tree instance can be modified by setting 
              the CistPortPriority value. The values that are set for Port 
              Priority must be in steps of 16."
           DEFVAL {128}
           ::= { stpPortEntry 3 }

        stpAdminPortPathCost OBJECT-TYPE
           SYNTAX  INTEGER (0..200000000)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The contribution of this port to the path cost of
             paths towards the spanning tree root which include
             this port.  Writing a value of '0' assigns the 
             automatically calculated default Path Cost value to 
             the ohter object stpPortPathCost. If the default 
             Path Cost is being used,this object returns '0' when 
             read."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 4 }
           
        stpPortPathCost OBJECT-TYPE
           SYNTAX      INTEGER (1..200000000)
           MAX-ACCESS  read-only           
           STATUS      current
           DESCRIPTION
                "The contribution of this port to the path cost of
                 paths towards the CIST Root which include this port."
           ::= { stpPortEntry 5 }
           
        stpPortProtocolMigration OBJECT-TYPE
           SYNTAX      INTEGER{
                        false(0),
                        true(1)
                        }                
           MAX-ACCESS  read-write           
           STATUS      current
           DESCRIPTION
              "Indicates the Protocol migration state of this Port.         
               When operating in RSTP/MSTP (version >= 2) mode, writing 
               TRUE(1) to this object forces this port to transmit MSTP 
               BPDUs without instance information.
               Any other operation on this object has no effect and
               it always returns FALSE(2) when read."
           ::= { stpPortEntry 6 }
        
        stpPortEdge OBJECT-TYPE
            SYNTAX      INTEGER {
                           true(1),
                           false(0),
                           auto(2)
                       }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                " This parameter when TRUE(1) indicates that detection of a port 
                 as Edge Port happens automatically and FALSE(2) 
                 indicates that this feature is disabled."
           ::= { stpPortEntry 7 }
        
        stpPortAdminP2P OBJECT-TYPE
           SYNTAX      INTEGER {               
                         forceTrue(0),
                         forceFalse(1),
                         auto(2)
                       }
           MAX-ACCESS  read-write           
           STATUS      current
           DESCRIPTION
              "The administrative point-to-point status of the LAN segment
               attached to this port.  A value of forceTrue(0) indicates that
               this port should always be treated as if it is connected to
               a point-to-point link.  A value of forceFalse(1) indicates
               that this port should be treated as having a shared media
               connection.  A value of auto(2) indicates that this port is
               considered to have a point-to-point link if it is an Aggregator
               and all of its members are aggregatable, or if the MAC entity
               is configured for full duplex operation, either through
               auto-negotiation or by management means."
           ::= { stpPortEntry 8 }
        
        stpPortRestrictedRole OBJECT-TYPE 
            SYNTAX      TruthValue 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
                "A Boolean value set by management. If TRUE causes the Port not 
                 to be selected as Root Port for the CIST or any MSTI, even it has 
                 the best spanning tree priority vector. Such a Port will be selected 
                 as an Alternate Port after the Root Port has been selected. This 
                 parameter should be FALSE by default. If set it can cause lack of 
                 spanning tree connectivity. It is set by a network administrator to 
                 prevent bridges external to a core region of the network influencing 
                 the spanning tree active topology, possibly because those bridges are 
                 not under the full control of the administrator.
                 This administrator configuration is also known as 'Root Guard'."
            ::= {stpPortEntry 9}
  
        stpPortRestrictedTCN OBJECT-TYPE 
            SYNTAX      TruthValue 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
                "A Boolean value set by management. If TRUE causes the Port not 
                 to propagate received topology change notifications and topology 
                 changes to other Ports. This parameter should be FALSE by default. 
                 If set it can cause temporary loss of connectivity after changes in 
                 a spanning trees active topology as a result of persistent 
                 incorrectly learnt station location information. It is set by a 
                 network administrator to prevent bridges external to a core region of 
                 the network causing address flushing in that region, possibly because 
                 those bridges are not under the full control of the administrator or 
                 MAC_Operational for the attached LANs transitions frequently." 
            ::= {stpPortEntry 10}
           
        stpPortHelloTime OBJECT-TYPE
           SYNTAX      Timeout (100..1000)  
           MAX-ACCESS  read-write  
           STATUS      current
           DESCRIPTION
               "The amount of time between the transmission of
               Configuration bridge PDUs by this node in units 
               of hundredths of a second."
           ::= { stpPortEntry 11 }
            
        stpPortState OBJECT-TYPE
             SYNTAX    INTEGER {              
                         disabled (1),
                         discarding (2),
                         learning (4),
                         forwarding (5)
                       }
             MAX-ACCESS  read-only            
             STATUS      current
             DESCRIPTION
                 "Current state of the Port as defined by the Common    
                  spanning tree protocol." 
           ::= { stpPortEntry 12 }
            
        stpPortFowardBPDU OBJECT-TYPE
           SYNTAX  INTEGER {
                       enabled(1),
                       disabled(2)
                   }
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "This object is for enabling or disabling forward BPDU."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 13 }

        -- ----------------------------------------------------------------
        -- The MST Configuration Identification
        -- ----------------------------------------------------------------
        mstConfigurationIdentification  OBJECT IDENTIFIER ::= { companySTP 3 }
        
        mstiConfigurationName OBJECT-TYPE
           SYNTAX      OCTET STRING (SIZE (0..32))
           MAX-ACCESS  read-write 
           STATUS      current
           DESCRIPTION
              "The Name for the Region's configuration. By Default 
               Region Name will be equal to the Bridge Mac Address."
           ::= { mstConfigurationIdentification 1 } 
        
        mstiRevisionLevel OBJECT-TYPE
           SYNTAX      Integer32 (0..65535)
           MAX-ACCESS  read-write 
           STATUS      current
           DESCRIPTION
              "Version of the MST Region."
           ::= { mstConfigurationIdentification 2 }
           
        -- -----------------------------------------------------------------
        -- Future Mst VlanId to Instance Mapping Table : CIST             
        -- -----------------------------------------------------------------
        mstCistVlanMapped OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN. The
                    first octet corresponds to VLANs with VlanIndex values
                    1 through 8; the second octet to VLANs 9 through
                    16 etc.  The most significant bit of each octet
                    corresponds to the lowest VlanIndex value in that octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'."
            ::= { mstConfigurationIdentification 3 }
        
        mstCistVlanMapped2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 1024 through 2047. The
                    first octet corresponds to VLANs with VlanIndex values
                    1024 through 1031; the second octet to VLANs 1032
                    through 1039 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
                    
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstConfigurationIdentification 4 }
        
        mstCistVlanMapped3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 2048 through 3071. The
                    first octet corresponds to VLANs with VlanIndex values
                    of 2048 through 2055; the second octet to VLANs 2056
                    through 2063 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
        
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstConfigurationIdentification 5 }
        
        mstCistVlanMapped4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 3072 through 4095. The
                    first octet corresponds to VLANs with VlanIndex values
                    3072 through 3079; the second octet to VLANs 3080
                    through 3087 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
        
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstConfigurationIdentification 6 }
        
        -- -----------------------------------------------------------------
        -- Future Mst VlanId to Instance Mapping Table : MSTI             
        -- -----------------------------------------------------------------        
        mstVlanMstiMappingTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstVlanMstiMappingEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                  "This table contains one entry for each instance of MSTP. 
        	       This table maintains context ID as one more index to 
        	       support Multiple Instances." 
            ::= { mstConfigurationIdentification 7 }
        
        mstVlanMstiMappingEntry OBJECT-TYPE
             SYNTAX      MstVlanMstiMappingEntry
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "A conceptual row containing the status of the MSTP instance."
                  INDEX  { mstInstanceIndex }
             ::= { mstVlanMstiMappingTable 1 }
        
        MstVlanMstiMappingEntry ::= 
           SEQUENCE {
               mstInstanceIndex  
                    Integer32,
               mstSetVlanList 
                    OCTET STRING,
               mstResetVlanList 
                    OCTET STRING,
               mstInstanceVlanMapped 
                    OCTET STRING,
               mstInstanceVlanMapped2k 
                    OCTET STRING,
               mstInstanceVlanMapped3k 
                    OCTET STRING,
               mstInstanceVlanMapped4k 
                    OCTET STRING,
               mstDeleteInstanceStatus
                    TruthValue
           }
        
        mstInstanceIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..15)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "An arbitrary integer within the range from 1 to the value of
                   Max Instance Number that uniquely identifies an instance."
              ::= { mstVlanMstiMappingEntry 1 }
        
        mstSetVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
           	 "A string of octets containing one bit per VLAN. The
        	  first octet corresponds to VLANs with VlanIndex values
        	  1 through 8; the second octet to VLANs 9 through
        	  16 etc.  The most significant bit of each octet
        	  corresponds to the lowest VlanIndex value in that octet.
        	  The set of vlans configured by management to map for this 
        	  Instance.  If the VlanId to Instance Mapping has to be known
              then any one of the VlanMapped object should be used.If a 
              vlan is already mapped to this Instance, it may not be mapped 
              again. This object is used only for SET operation.
              GET Operation returns null values."
            ::= { mstVlanMstiMappingEntry 2 }
        
        mstResetVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
           	 "A string of octets containing one bit per VLAN. The
        	  first octet corresponds to VLANs with VlanIndex values
        	  1 through 8; the second octet to VLANs 9 through
        	  16 etc.  The most significant bit of each octet
        	  corresponds to the lowest VlanIndex value in that octet.
        	  The set of vlans configured by management to unmap from this 
        	  Instance. A vlan may not be unmapped from this instance if 
        	  it is not already mapped to this Instance. This object is
              used only for SET operation.GET Operation returns null values."
            ::= { mstVlanMstiMappingEntry 3 }
        
        mstInstanceVlanMapped OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN. The
                    first octet corresponds to VLANs with VlanIndex values
                    1 through 8; the second octet to VLANs 9 through
                    16 etc.  The most significant bit of each octet
                    corresponds to the lowest VlanIndex value in that octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'."
            ::= { mstVlanMstiMappingEntry 4 }
        
        mstInstanceVlanMapped2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 1024 through 2047. The
                    first octet corresponds to VLANs with VlanIndex values
                    1024 through 1031; the second octet to VLANs 1032
                    through 1039 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
                    
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstVlanMstiMappingEntry 5 }
        
        mstInstanceVlanMapped3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 2048 through 3071. The
                    first octet corresponds to VLANs with VlanIndex values
                    of 2048 through 2055; the second octet to VLANs 2056
                    through 2063 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
        
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstVlanMstiMappingEntry 6 }
        
        mstInstanceVlanMapped4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "A string of octets containing one bit per VLAN for
                    VLANS with VlanIndex values 3072 through 4095. The
                    first octet corresponds to VLANs with VlanIndex values
                    3072 through 3079; the second octet to VLANs 3080
                    through 3087 etc.  The most significant bit of each
                    octet corresponds to the lowest VlanIndex value in that
                    octet.
        
                    For each VLAN that is mapped to this MSTP instance,
                    the bit corresponding to that VLAN is set to '1'.
        
                    This object is only instantiated on devices with 
                    support for VlanIndex values up to 4095."
            ::= { mstVlanMstiMappingEntry 7 }
            
        mstDeleteInstanceStatus OBJECT-TYPE
           SYNTAX      TruthValue
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "Delete Instance Index."
              ::= { mstVlanMstiMappingEntry 8 }

        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table
        -- -----------------------------------------------------------------
        stpInstance  OBJECT IDENTIFIER ::= { companySTP 4 }
        
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table : CIST
        -- -----------------------------------------------------------------
        mstCistBridgePriority OBJECT-TYPE
           SYNTAX      Integer32 (0..61440) 
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "The writable portion of the MSTI Bridge Identifier.
               comprising of the first two octets.
               The values that are set for Bridge Priority must be 
               in steps of 4096."
           DEFVAL {32768}
           ::= { stpInstance 1 }
           
        mstCistStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The administrative status requested by management for the MST  
              feature. The value enabled(1) indicates that Mst should be enabled  
              in the device on all ports. The value disabled(2) indicates that 
              Mst should be disabled in the device on all ports. The object can 
              be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
           ::= { stpInstance 2 }
           
        mstCiststpTopologyChangesCount OBJECT-TYPE
             SYNTAX      Counter32
              MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The number of times that there have been atleast
              one non-zero TcWhile Timer on this Bridge for Common
              Spanning Tree context."
           ::= { stpInstance 3 }

        mstCiststpLastTopologyChange OBJECT-TYPE
    SYNTAX      TimeTicks 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for this spanning tree instance."
            DEFVAL {0}
            ::= { stpInstance 4 }
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table : MSTI
        -- -----------------------------------------------------------------        
        mstMstiBridgeTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF MstMstiBridgeEntry      
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION
              "Table containing Bridge Information specific to Spanning 
               Tree Instance. This table maintains context ID as one 
               more index to support Multiple Instances."
           ::= { stpInstance 20 } 
         
        mstMstiBridgeEntry OBJECT-TYPE
           SYNTAX      MstMstiBridgeEntry       
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "Entry indicating the Bridge Information."
           INDEX { mstMstiInstanceIndex }
           ::= { mstMstiBridgeTable 1 }
        
        MstMstiBridgeEntry ::=
           SEQUENCE {
              mstMstiInstanceIndex 
                    Integer32,
              mstMstiBridgePriority 
                    Integer32,
              mstMstiStatus
                    INTEGER,
              mstMstistpTopologyChangesCount
                    Counter32,
              mstMstistpLastTopologyChange
                    TimeTicks
                    
           }
        
        mstMstiInstanceIndex OBJECT-TYPE
           SYNTAX      Integer32 (1..15)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Spanning Tree Instance to which the information belongs."
           ::= { mstMstiBridgeEntry 1 }
        
        mstMstiBridgePriority OBJECT-TYPE
           SYNTAX      Integer32 (0..61440) 
           MAX-ACCESS  read-write     
           STATUS      current 
           DESCRIPTION 
              "The writable portion of the MSTI Bridge Identifier.
               comprising of the first two octets.
               The values that are set for Bridge Priority must be 
               in steps of 4096."
           DEFVAL {32768}
           ::= { mstMstiBridgeEntry 2 }
       
        mstMstiStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The administrative status requested by management for the MST  
              feature. The value enabled(1) indicates that Mst should be enabled  
              in the device on all ports. The value disabled(2) indicates that 
              Mst should be disabled in the device on all ports. The object can 
              be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
           ::= { mstMstiBridgeEntry 3 }
        
        mstMstistpTopologyChangesCount OBJECT-TYPE
             SYNTAX      Counter32
              MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The number of times that there have been atleast
              one non-zero TcWhile Timer on this Bridge for Common
              Spanning Tree context."
           ::= { mstMstiBridgeEntry 4 }

        mstMstistpLastTopologyChange OBJECT-TYPE
    SYNTAX      TimeTicks 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for this spanning tree instance."
            DEFVAL {0}
            ::= { mstMstiBridgeEntry 5 }

        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Bridge Table
        -- -----------------------------------------------------------------
        stpInstancePortTable  OBJECT IDENTIFIER ::= { companySTP 5 }
        
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Port Table : CIST
        -- -----------------------------------------------------------------
        mstCistPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstCistPortEntry              
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                  "This table contains Common Spanning Tree Port
                   Information."
             ::= { stpInstancePortTable 1 }
        
        mstCistPortEntry OBJECT-TYPE
              SYNTAX      MstCistPortEntry               
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of information maintained by every port for 
                  Common Spanning tree."
              INDEX  { mstCistPort }
              ::= { mstCistPortTable 1 }
        
        MstCistPortEntry ::= 
           SEQUENCE {
               mstCistPort  
                    Integer32,
               mstCistPortDesignatedBridge 
                    BridgeId,
               mstCistPortAdminPathCost 
                    Integer32,
               mstCistPortPathCost 
                    Integer32,
               mstCistPortPriority 
                    Integer32,
               mstCistForcePortState 
                    INTEGER,
               mstCistCurrentPortRole  
                    INTEGER
        }
        
        mstCistPort OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The Port number of the port for which this entry contains   
                   spanning tree information."                                      
              ::= { mstCistPortEntry 1 }
        
        mstCistPortDesignatedBridge OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge which this port  
                   considers to be the Designated Bridge for the port's segment."   
              ::= { mstCistPortEntry 2 }
        
        mstCistPortAdminPathCost OBJECT-TYPE
              SYNTAX      Integer32 (0..200000000)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstCistPortEntry 3 }
        
        mstCistPortPathCost OBJECT-TYPE
              SYNTAX      Integer32 (1..200000000)
              MAX-ACCESS  read-only           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstCistPortEntry 4 }
        
        mstCistPortPriority OBJECT-TYPE
              SYNTAX      Integer32 (0..240)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The four most significant bits of the Port Identifier 
                  for a given Spanning Tree instance can be modified 
                  independently for each Spanning Tree instance 
                  supported by the Bridge. The values that are set for Port 
                  Priority must be in steps of 16."
            DEFVAL {128}
              ::= { mstCistPortEntry 5 }
        
        mstCistForcePortState OBJECT-TYPE
              SYNTAX      INTEGER {
                           disabled(0),
                           enabled(1)
                          }
              MAX-ACCESS  read-only           
              STATUS      current
              DESCRIPTION
                  "Current state of the Port which can be changed to either 
                   Disabled or Enabled for the specific spanning tree   
                   instance. This object can be set to enabled only if the 
                   'fsMIMstCistForcePortState' is set to 'enabled' for this port"                                            
              ::= { mstCistPortEntry 6 }
        
        mstCistCurrentPortRole OBJECT-TYPE
              SYNTAX      INTEGER {              
                           disabled(0),
                           alternate(1),
                           backup(2),
                           root(3),
                           designated(4),
                           master(5),
                            root-inconsistent(6)
                          }
              MAX-ACCESS  read-only        
              STATUS      current
              DESCRIPTION
                  "Current Port Role of the port for this spanning 
                  tree instance."                                      
              ::= { mstCistPortEntry 7 }
          
        -- -----------------------------------------------------------------
        -- Mst Multiple Spanning Tree Instance Port Table : MSTI
        -- -----------------------------------------------------------------
        mstMstiPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstMstiPortEntry              
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                  "This table contains Spanning Tree Instance Specific Port
                   Information."
             ::= { stpInstancePortTable 2 }
        
        mstMstiPortEntry OBJECT-TYPE
              SYNTAX      MstMstiPortEntry               
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of information maintained by every port for each 
                   and every spanning tree instance."
              INDEX  { mstMstiPort, mstInstanceIndex }
              ::= { mstMstiPortTable 1 }
        
        MstMstiPortEntry ::= 
           SEQUENCE {
               mstMstiPort  
                    Integer32,
               mstMstiPortDesignatedBridge 
                    BridgeId,
               mstMstiPortAdminPathCost 
                    Integer32,
               mstMstiPortPathCost 
                    Integer32,
               mstMstiPortPriority 
                    Integer32,
               mstMstiForcePortState 
                    INTEGER,
               mstMstiCurrentPortRole  
                    INTEGER
        }
        
        mstMstiPort OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The Port number of the port for which this entry contains   
                   spanning tree information."                                      
              ::= { mstMstiPortEntry 1 }
              
        mstMstiPortDesignatedBridge OBJECT-TYPE
              SYNTAX      BridgeId                 
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The unique Bridge Identifier of the bridge which this port  
                   considers to be the Designated Bridge for the port's segment."   
              ::= { mstMstiPortEntry 2 }
        
        mstMstiPortAdminPathCost OBJECT-TYPE
              SYNTAX      Integer32 (0..200000000)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstMstiPortEntry 3 }
        
        mstMstiPortPathCost OBJECT-TYPE
              SYNTAX      Integer32 (1..200000000)
              MAX-ACCESS  read-only            
              STATUS      current
              DESCRIPTION
                  "The contribution of this port to the path cost of
                   paths towards the MSTI Root which include this port."
              ::= { mstMstiPortEntry 4 }
        
        mstMstiPortPriority OBJECT-TYPE
              SYNTAX      Integer32 (0..240)
              MAX-ACCESS  read-write           
              STATUS      current
              DESCRIPTION
                  "The four most significant bits of the Port Identifier 
                  for a given Spanning Tree instance can be modified 
                  independently for each Spanning Tree instance 
                  supported by the Bridge. The values that are set for Port 
                  Priority must be in steps of 16."
            DEFVAL {128}
              ::= { mstMstiPortEntry 5 }
        
        mstMstiForcePortState OBJECT-TYPE
              SYNTAX      INTEGER {
                           disabled(0),
                           enabled(1)
                          }
              MAX-ACCESS  read-only           
              STATUS      current
              DESCRIPTION
                  "Current state of the Port which can be changed to either 
                   Disabled or Enabled for the specific spanning tree   
                   instance. This object can be set to enabled only if the 
                   'fsMIMstCistForcePortState' is set to 'enabled' for this port"                                            
              ::= { mstMstiPortEntry 6 }
        
        mstMstiCurrentPortRole OBJECT-TYPE
              SYNTAX      INTEGER {              
                           disabled(0),
                           alternate(1),
                           backup(2),
                           root(3),
                           designated(4),
                           master(5),
                            root-inconsistent(6)
                          }
              MAX-ACCESS  read-only        
              STATUS      current
              DESCRIPTION
                  "Current Port Role of the port for this spanning 
                  tree instance."                                      
              ::= { mstMstiPortEntry 7 }
        

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

      staticMcastTable 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, staticMcastIpAddr}
            ::= { staticMcastTable 1 }

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

        staticMcastVlanID OBJECT-TYPE
            SYNTAX INTEGER (1..4094)
            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 (SIZE(1..28))
            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 }

        staticMcastIpAddr  OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Static Multicast IP Address."
           ::= { staticMcastEntry 4 }

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


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

--        dot1qVlanManagementid OBJECT-TYPE
--            SYNTAX INTEGER
--            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 }
-- ----------------------------------------------------------   
        dot1qVlanAsyOnOff 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
        -- -------------------------------------------------------------
        
        dot1qVlanTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF Dot1qVlanEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing static configuration information for
                each VLAN configured into the device by (local or
                network) management.  All entries are permanent and will
                be restored after the device is reset."
            ::= { companyDot1qVlanGroup 6 }
        
        dot1qVlanEntry OBJECT-TYPE
            SYNTAX      Dot1qVlanEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information for a VLAN configured into the
                device by (local or network) management."
            INDEX   { dot1qVlanId }
            ::= { dot1qVlanTable 1 }
        
        Dot1qVlanEntry ::=
            SEQUENCE {
                dot1qVlanId
                    Integer32,
                dot1qVlanName
                    SnmpAdminString,
                dot1qVlanEgressPorts
                    PortList,                  
                dot1qVlanForbiddenPorts
                    PortList,                                       
                dot1qVlanUntaggedPorts
                    PortList, 
                dot1qVlanAdvertisementStatus
                    INTEGER,
                dot1qVlanRowStatus
                    RowStatus
            }

        dot1qVlanId OBJECT-TYPE
            SYNTAX      Integer32 (1..4094)
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "An administratively assigned Id, which is used
                to identify the VLAN."
            ::= { dot1qVlanEntry 1 }

        dot1qVlanName OBJECT-TYPE
            SYNTAX      SnmpAdminString (SIZE (0..20))
            MAX-ACCESS  read-create
            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-create
            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 } 
                    
        dot1qVlanForbiddenPorts OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The set of ports which are prohibited by management
                from being included in the egress list for this VLAN.
                Changes to this object that cause a port to be included
                or excluded affect the per-port per-VLAN Registrar
                control for Registration Forbidden 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 dot1qVlanEgressPorts.  The default value of
                this object is a string of zeros of appropriate length,
                excluding all ports from the forbidden set."
            REFERENCE
                "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
            ::= { dot1qVlanEntry 4 }      
        
        dot1qVlanUntaggedPorts OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-create
            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 5 }
 
        dot1qVlanAdvertisementStatus OBJECT-TYPE
            SYNTAX      INTEGER {
                   enabled(1),
                   disabled(2)
            }
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "Enable/Disable Advertisement Status of the IEEE 802.1Q VLAN."
            ::= { dot1qVlanEntry 6 }
 
        dot1qVlanRowStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "The status of a row in dot1qVlanTable. By setting this object, new
                entries can be created in dot1qVlanTable and existing entries can be
                removed from dot1qVlanTable. It can be used as specified in the SNMP
                v2 standard."
            ::= { dot1qVlanEntry 7 }   

        -- -------------------------------------------------------------
        -- The VLAN Port Configuration Table
        -- -------------------------------------------------------------
        
        dot1qVlanPortTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF Dot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing per port control and status
                information for VLAN configuration in the device."
            ::= { companyDot1qVlanGroup  7 }
        
        dot1qVlanPortEntry OBJECT-TYPE
            SYNTAX      Dot1qVlanPortEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information controlling VLAN configuration for a port
                on the device."
            AUGMENTS { dot1dBasePortEntry }
            ::= { dot1qVlanPortTable 1 }
        
        Dot1qVlanPortEntry ::=
            SEQUENCE {
                dot1qVlanPvid
                    VlanIndex
            }
        
        dot1qVlanPvid 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 1 }    
    
        -- -------------------------------------------------------------
        -- The VLAN Ungister Multicast Filter Table
        -- -------------------------------------------------------------
      dot1qVlanUngisterMCFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF Dot1qVlanUngisterMCFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { companyDot1qVlanGroup 8 } 
 
      dot1qVlanUngisterMCFilterEntry OBJECT-TYPE 
          SYNTAX      Dot1qVlanUngisterMCFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "A list of multicast filter mode information for each VLAN ID." 
          INDEX { dot1qVlanUngisterMCFilterVlanId } 
          ::= { dot1qVlanUngisterMCFilterTable 1 } 
 
      Dot1qVlanUngisterMCFilterEntry ::= SEQUENCE { 
          dot1qVlanUngisterMCFilterVlanId             Integer32,
          dot1qVlanUngisterMCFiltermode               INTEGER
      }
           
      dot1qVlanUngisterMCFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "Per Vlan to configure multicast filtering function." 
           ::= { dot1qVlanUngisterMCFilterEntry 1 } 
 
      dot1qVlanUngisterMCFiltermode OBJECT-TYPE 
           SYNTAX      INTEGER {forwardall(2), filter(1), forward(0) } 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "Filter unknown multicast frames or normal operation(i.e. forwarding)"
           ::= { dot1qVlanUngisterMCFilterEntry 2 } 
                                              

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

  		        
        staticMulticastFdbTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF StaticMulticastFdbEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table containing filtering information for multicast MAC
            addresses for forwarding specific ports."

            ::= { companyStaticMulticastFdbGroup 1 }   
            
        
    	staticMulticastFdbEntry OBJECT-TYPE
        	SYNTAX      StaticMulticastFdbEntry
        	MAX-ACCESS  not-accessible
        	STATUS      current
        	DESCRIPTION
            	"A list of filtering information for multicast MAC addresses
            	for forwarding specific ports."
        	INDEX  { staticMulticastFdbVlanIndex, staticMulticastFdbMacAddress }
        	::= { staticMulticastFdbTable 1 }
                
        
    StaticMulticastFdbEntry ::=
        SEQUENCE {
            staticMulticastFdbVlanIndex
                Integer32,
            staticMulticastFdbMacAddress
                MacAddress,
            staticMulticastFdbEgressPorts
                PortList,
            staticMulticastFdbRowStatus
                RowStatus
        }

    staticMulticastFdbVlanIndex OBJECT-TYPE
        SYNTAX  Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The VLAN-ID or other identifier referring to this VLAN."
        ::= { staticMulticastFdbEntry 1 }

    staticMulticastFdbMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The destination MAC address in a frame to which this entry's
            filtering information applies."
        ::= { staticMulticastFdbEntry 2 }

    staticMulticastFdbEgressPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The set of ports for a specific MAC address must be forwarded."
        ::= { staticMulticastFdbEntry 3 }

	staticMulticastFdbRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The status of this conceptual row. To create a row in this
            table, a manager must set this object to createAndGo (4).
            To delete a row in this table, a manager must set this object
            to destroy (6)."
        ::= { staticMulticastFdbEntry 99 }            

  		-- ----------------------------------------------------------
		-- The GVRP Groups
		-- ----------------------------------------------------------

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

        gvrpSettingsJoinTime OBJECT-TYPE
            SYNTAX       INTEGER (100..100000)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
            "The Join Time value assigned to this Join Time field.
            This 16-bit value is read-write."
            ::= { companyGVRPGroup 2 }

        gvrpSettingsLeaveTime OBJECT-TYPE
            SYNTAX       INTEGER (100..100000)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
            "The Leave Time value assigned to this Leave Time field.
            This 16-bit value is read-write."
            ::= { companyGVRPGroup 3 }

        gvrpSettingsLeaveAllTime OBJECT-TYPE
            SYNTAX       INTEGER (100..100000)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
            "The Leave_All Time value assigned to this Leave_All Time field.
            This 16-bit value is read-write."
            ::= { companyGVRPGroup 4 }



        -- GRVP Port Setting Table
        --

        gvrpSettingsTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF GvrpSettingsEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "A table containing static configuration information for
                each GVRP configured into the device by (local or
                network) management.  All entries are permanent and will
                be restored after the device is reset."
            ::= { companyGVRPGroup 5 }

        gvrpSettingsEntry OBJECT-TYPE
            SYNTAX      GvrpSettingsEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Information for a GVRP configured into the
                device by (local or network) management."
            INDEX   { gvrpSettingsPortControlIndex }
            ::= { gvrpSettingsTable 1 }

        GvrpSettingsEntry ::=
          SEQUENCE {
            gvrpSettingsPortControlIndex
                InterfaceIndex,
            gvrpSettingsPVID
                INTEGER,
            gvrpSettingsGVRPState
                INTEGER,
            gvrpSettingsIngressChecking
                INTEGER,
            gvrpSettingsAcceptableFrameType
                INTEGER
        }

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

        gvrpSettingsPVID OBJECT-TYPE
          SYNTAX       INTEGER (1..4094)
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "The PVID value assigned to this Aggregation Port.
            This 16-bit value is read-write."
          ::= { gvrpSettingsEntry 2 }

        gvrpSettingsGVRPState OBJECT-TYPE
            SYNTAX      INTEGER { enabled(1), disabled(2) }

          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "Enable/Disable GVRP State to this Aggregation Port."
          ::= { gvrpSettingsEntry 3 }

        gvrpSettingsIngressChecking OBJECT-TYPE
            SYNTAX      INTEGER { enabled(1), disabled(2) }

          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "Enable/Disable Ingress Checking mechanism of GVRP to this Aggregation Port."
          ::= { gvrpSettingsEntry 4 }

        gvrpSettingsAcceptableFrameType OBJECT-TYPE
          SYNTAX       INTEGER {
                   allFrames(1),
                   taggedOnly(2)
            }
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "Chose types All Frames/Tagged to this Aggregation Port."
          ::= { gvrpSettingsEntry 5 }

        -- ----------------------------------------------------------
		-- The DHCP/BOOTP Relay
		-- ----------------------------------------------------------
  dhcpBOOTPRelayControl                   OBJECT IDENTIFIER ::= { companyDHCPRelay 1 }
  dhcpBOOTPRelayManagement                OBJECT IDENTIFIER ::= { companyDHCPRelay 2 }
  dhcpBOOTPRelayManagementOption82        OBJECT IDENTIFIER ::= { dhcpBOOTPRelayManagement 2 }
        
		-- The DHCP/BOOTP Relay Control
        
            
            dhcpBOOTPRelayState 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."
            ::= { dhcpBOOTPRelayControl 1 }

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

            dhcpBOOTPRelayTimeThreshold OBJECT-TYPE
                SYNTAX  INTEGER (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."
            ::= { dhcpBOOTPRelayControl 3 }

            dhcpBOOTPRelayEnablePortlist OBJECT-TYPE 
               SYNTAX      PortList
               MAX-ACCESS  read-write 
               STATUS      current 
               DESCRIPTION 
                   "This object indicates DHCP relay function is enabled or disabled by portlist."
               ::= { dhcpBOOTPRelayControl 4 }

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

            dhcpRelayVlanTableEntry OBJECT-TYPE
                SYNTAX  DHCPRelayVlanSettings
                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  { dhcpRelayVlanSettingsVLANID }
            ::= { dhcpRelayVlanTable 1 }

            DHCPRelayVlanSettings ::=
                SEQUENCE {
                    dhcpRelayVlanSettingsVLANID
                        INTEGER,
                    dhcpRelayVlanSettingsState
                        INTEGER
                }

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

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

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

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

            dhcpBOOTPRelayInterfaceSettingsEntry OBJECT-TYPE
                SYNTAX  DHCPBOOTPRelayInterfaceSettings
                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  { dhcpBOOTPRelayInterface,  dhcpBOOTPRelayServerIP}
            ::= { dhcpBOOTPRelayInterfaceSettingsTable 1 }

            DHCPBOOTPRelayInterfaceSettings ::=
                SEQUENCE {
                    dhcpBOOTPRelayInterface
                        DisplayString,
                    dhcpBOOTPRelayServerIP
                        IpAddress,
                    dhcpBOOTPRelayInterfaceSettingsRowStatus
                        RowStatus
                }

            dhcpBOOTPRelayInterface OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..12))
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object indicates the name of the IP interface."
            ::= { dhcpBOOTPRelayInterfaceSettingsEntry 1 }

            dhcpBOOTPRelayServerIP OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                    "This object indicates the DHCP server IP address."
            ::= { dhcpBOOTPRelayInterfaceSettingsEntry 2 }

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

		-- The DHCP/BOOTP Relay Management
		-- The DHCP/BOOTP Relay Option82

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

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

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

	        dhcpBOOTPRelayOption82RemoteIDType OBJECT-TYPE
                SYNTAX  INTEGER {
                    default(1),
                    userdefined(2),
                    userdefinedhex(3)
                }
                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."
            ::= { dhcpBOOTPRelayManagementOption82 4 }

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

            
            
	        dhcpBOOTPRelayOption82CircuitIDType OBJECT-TYPE
                SYNTAX  INTEGER {
                    default(1),
                    userdefined(2),
                    userdefinedhex(3)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the type of remote ID.
                    If the type is default, the circuit ID will be blank, otherwise,
                    the circuit ID can be defined by writing to the dhcpBOOTPRelayOption82CircuitID object."
            ::= { dhcpBOOTPRelayManagementOption82 7 }

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


            dhcpBOOTPRelayOption82PerPortPolicyTable     OBJECT-TYPE
                SYNTAX SEQUENCE OF DhcpBOOTPRelayOption82PerPortPolicyEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "A table to Option82 Port Policy of the device."
                ::= { dhcpBOOTPRelayManagementOption82 9 }
                
            dhcpBOOTPRelayOption82PerPortPolicyEntry OBJECT-TYPE
                SYNTAX DhcpBOOTPRelayOption82PerPortPolicyEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "An entry to Option82 Port Policy of the device."
                INDEX { dhcpBOOTPRelayOption82PerPortPolicyIndex }
                ::= { dhcpBOOTPRelayOption82PerPortPolicyTable 1 }

            DhcpBOOTPRelayOption82PerPortPolicyEntry ::= 
                   SEQUENCE { 
                      dhcpBOOTPRelayOption82PerPortPolicyIndex 
                         INTEGER, 
                      dhcpBOOTPRelayOption82PerPortPolicyState 
                         INTEGER
                  }

                 dhcpBOOTPRelayOption82PerPortPolicyIndex     OBJECT-TYPE 
                   SYNTAX      INTEGER 
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      "The port index for Option82 Port Policy."
                   ::= { dhcpBOOTPRelayOption82PerPortPolicyEntry 1 }


                 dhcpBOOTPRelayOption82PerPortPolicyState 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 for port."

                      ::= { dhcpBOOTPRelayOption82PerPortPolicyEntry 2 }


  		-- ----------------------------------------------------------
		-- The DHCP LocalRelay
		-- ----------------------------------------------------------
		-- The DHCP Local Relay Table
            dhcpLocalRelayGlobalState 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."
            ::= { companyDHCPLocalRelay 1 }

            dhcpLocalRelayTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF DHCPLocalRelaySettings
                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 }

            dhcpLocalRelayTableEntry OBJECT-TYPE
                SYNTAX  DHCPLocalRelaySettings
                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  { dhcpLocalRelaySettingsVLANID }
            ::= { dhcpLocalRelayTable 1 }

            DHCPLocalRelaySettings ::=
                SEQUENCE {
                    dhcpLocalRelaySettingsVLANID
                        INTEGER,
                    dhcpLocalRelaySettingsState
                        INTEGER
                }

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

            dhcpLocalRelaySettingsState 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."
            ::= { dhcpLocalRelayTableEntry 2 }
            
            dhcpLocalRelayEnablePortlist OBJECT-TYPE 
               SYNTAX      PortList
               MAX-ACCESS  read-write 
               STATUS      current 
               DESCRIPTION 
                   "This object indicates DHCP local relay function is enabled or disabled by portlist."
               ::= { companyDHCPLocalRelay 3 }

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

    -- ---------------------------------------------------------------------
    -- LA Function
    -- ---------------------------------------------------------------------
          
      laSystem                OBJECT IDENTIFIER ::= { companyLA 1 }
      laPortControl           OBJECT IDENTIFIER ::= { companyLA 2 }

    -- -------------------------------------------------------------
    -- Textual Conventions
    -- -------------------------------------------------------------
    
     PortLaMode ::= TEXTUAL-CONVENTION
         STATUS         current
         DESCRIPTION    
           "Defines how a Port Channel does channeling.
           lacp(1)      - place the port into passive 
                           negotiation state, in which the
                           port waits for its peer to 
                           initiate negotiation.
           static(2)    - force the port to enable 
                           channeling.
           disable(3)   - channeling is disabled."
                     
     SYNTAX INTEGER {
                       lacp(1),
                       static(2),
                       disable(3)
                    }

     LacpKey ::= TEXTUAL-CONVENTION
         STATUS    current
         DESCRIPTION
                "The Actor or Partner Key value (0..65535)."
         SYNTAX Integer32 (0..65535)
 

    -- ------------------------------------------------------------------
    -- The La System Group
    -- ------------------------------------------------------------------

      laStatus OBJECT-TYPE
           SYNTAX      INTEGER { enabled(1), disabled(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Sets the Link Aggregation Module administrative status as 
                enabled or disabled."
           ::= { laSystem 2 }

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

        ::= { laSystem 3 }

    laPortChannelEntry OBJECT-TYPE
        SYNTAX     LaPortChannelEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created
               port-channel port."

        INDEX { laPortChannelIfIndex }
        ::= { laPortChannelTable 1 }

    LaPortChannelEntry ::= 
            SEQUENCE {
              laPortChannelIfIndex                InterfaceIndex,
              laPortChannelMemberList             PortList,
              laPortChannelMode                   PortLaMode              
	      -- start CAMEO_LA_MASTER_PORT_WANTED
	      ,
              laPortChannelMasterPort             InterfaceIndex
	      -- end CAMEO_LA_MASTER_PORT_WANTED
          ,
              laPortChannelActiveMemberPorts    PortList
              }

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

  	laPortChannelMemberList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Member Port list of the port channel. Add the ports as a 
	        aggregation member associated of a port-channel."
	   ::= { laPortChannelEntry 2 }

        
    laPortChannelMode OBJECT-TYPE
       SYNTAX       PortLaMode
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Current Operating Channel Mode of the port channel
                     Lacp(1)    - forcing the port to negotiate with the
                                  partner.
                     manual(2)  - force the port to enable channeling (Manual).
                     disable(3) - channeling is disabled."
        ::= { laPortChannelEntry 3 }
        
-- start CAMEO_LA_MASTER_PORT_WANTED
    laPortChannelMasterPort OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The master port of the port-channel. "
        ::= { laPortChannelEntry 4 }
-- end CAMEO_LA_MASTER_PORT_WANTED

  	laPortChannelActiveMemberPorts OBJECT-TYPE
	   SYNTAX          PortList
	   MAX-ACCESS      read-only
	   STATUS          current
	   DESCRIPTION
	       "This object indicates the operational bundled ports in this
            channel group."	
	   ::= { laPortChannelEntry 5 }


    -- ------------------------------------------------------------------
    -- The La Algorithm Group
    -- ------------------------------------------------------------------

      laAlgorithm OBJECT-TYPE
           SYNTAX      INTEGER { 
				sourceMAC(1), 
				destMAC(2), 
				sourceAndDestMAC(3), 
				sourceIP(4), 
				destIP(5), 
				sourceAndDestIP(6)
				}
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Sets the Link Aggregation load balance algorithm."
           ::= { laSystem 4 }

    --
        -- LA Port Control Table
        --          

        laPortControlTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF LaPortControlEntry
          MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
                      "A table that contains Link Aggregation Control
                       configuration information about every
                       Aggregation Port associated with this device.
                       A row appears in this table for each physical port."
          ::= { laPortControl 1 }


        laPortControlEntry OBJECT-TYPE
          SYNTAX      LaPortControlEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
                      "A list of Link Aggregation Control configuration
                       parameters for each Aggregation Port on this device."
          INDEX      { laPortControlIndex }
          ::= { laPortControlTable 1 }  

        LaPortControlEntry ::=
          SEQUENCE {
            laPortControlIndex
                InterfaceIndex,
            laPortActorPortPriority
                INTEGER,
            laPortActorActivity
                INTEGER,
            laPortActorTimeout
                INTEGER        
        }
        
        laPortControlIndex OBJECT-TYPE
          SYNTAX       InterfaceIndex
          MAX-ACCESS   read-only
                STATUS       current
                DESCRIPTION
              "The index of the port."
          ::= { laPortControlEntry 1 }    
        
        laPortActorPortPriority OBJECT-TYPE
          SYNTAX       INTEGER (0..65535)
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "The priority value assigned to this Aggregation Port.
            This 16-bit value is read-write."
          ::= { laPortControlEntry 2 }  
       
        laPortActorActivity      OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 active(1),
        		 passive(2)
            }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
                "This object indicates LACP_Activity to this Aggregation Port. 
                LACP can be configured in one of two modes: active or passive. 
                In active mode it will always send frames along the configured links. 
                If the actor and partner are both in passive mode, they do not 
                exchange LACP packets." 
           ::= { laPortControlEntry 3 }    

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

        -- ----------------------------------------------------------------
        -- The STATIC MAC group
        -- ----------------------------------------------------------------
 staticVlanBaseTable       OBJECT IDENTIFIER ::= { companyStaticMAC 5 }
        staticDisableAutoLearn 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 }

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

        staticTable OBJECT-TYPE
            SYNTAX SEQUENCE OF StaticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static MACs"
            ::= { companyStaticMAC 3 }

        staticEntry OBJECT-TYPE
            SYNTAX StaticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static MAC entry containing the mac and forwarding port."
            INDEX { staticVlanID, staticMac,staticPort}
            ::= { staticTable 1 }

        StaticEntry ::= SEQUENCE {
            staticVlanID     	INTEGER,
            staticMac           MacAddress,
            staticPort          INTEGER,
            staticStatus        RowStatus
        }

        staticVlanID OBJECT-TYPE
            SYNTAX INTEGER (1..4094)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The VLAN ID of the static MAC entry."
            ::= { staticEntry 1 }

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

        staticPort OBJECT-TYPE
            SYNTAX INTEGER (1..28)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The forwarding port of the static MAC entry.
                For all machines give maximum port number."
            ::= { staticEntry 3 }
        
        staticStatus 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."
            ::= { staticEntry 4 }
          staticVlanBaseAutoLearnList1k OBJECT-TYPE
            SYNTAX     OCTET STRING(SIZE (0..128))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.
            For each VLAN that is mapped to this Auto Learn,
            the bit corresponding to that VLAN is set to '1'.
            Write AutoLearnList1k use 256 character, and conform 
            to the foregoing rules."
            ::= { staticVlanBaseTable 1 }
 
           staticVlanBaseAutoLearnList2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 1025 through 2048.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
            For each VLAN that is mapped to this Auto Learn.
            Write AutoLearnList2k use 256 character, and conform 
            to the foregoing rules."
            ::= { staticVlanBaseTable 2 } 
            
           staticVlanBaseAutoLearnList3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 2049 through 3072.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
            For each VLAN that is mapped to this  Auto Learn
            the bit corresponding to that VLAN is set to '1'.
            Write AutoLearnList3k use 256 character, and conform 
            to the foregoing rules."
            ::= { staticVlanBaseTable 3 } 
 
           staticVlanBaseAutoLearnList4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 3073 through 4094.
            The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.
            For each VLAN that is mapped to this  Auto Learn
            the bit corresponding to that VLAN is set to '1'.
            Write AutoLearnList4k use 256 character, and conform 
            to the foregoing rules."
            ::= { staticVlanBaseTable 4 }      
            
         staticVlanBaseEnableAutoLearn OBJECT-TYPE
            SYNTAX OCTET STRING(SIZE (0..512))
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
            "Set enable vlan list to auto learn, and range 1-4094."
            ::= { staticVlanBaseTable 5 }            
 
           staticVlanBaseDisableAutoLearn OBJECT-TYPE
            SYNTAX OCTET STRING(SIZE (0..512))
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
            "Set disable vlan list to auto learn, and range 1-4094."
            ::= { staticVlanBaseTable 6 }                                                       
    -- ---------------------------------------------------------------------
    -- IGMP Snooping Function
    -- ---------------------------------------------------------------------
	igsSystem       OBJECT IDENTIFIER ::= { companyIgsGroup 1 }
	igsVlan         OBJECT IDENTIFIER ::= { companyIgsGroup 3 }
    igsAccessAuth   OBJECT IDENTIFIER ::= { companyIgsGroup 5 }
-- start IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
    igsHost         OBJECT IDENTIFIER ::= { companyIgsGroup 6 }
-- end IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
    igsPortRate     OBJECT IDENTIFIER ::= { companyIgsGroup 7 }

    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  { 2 } 
          ::= { igsSystem 1 } 
 
      igsRouterPortPurgeInterval 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 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  { 260 } 
          ::= { igsSystem 2 } 
 
      igsHostPortPurgeInterval 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 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} 
          ::= { igsSystem 3 } 
    igsDataDrivenLearningMaxLearnedEntryVlaue OBJECT-TYPE
        SYNTAX      INTEGER (1..1024)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION 
            "The maximum data driven learning entry value."
        DEFVAL     { 64 }
        ::= { igsSystem 8 }

    igsReportToAllPort 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 packets 
            to report to all port.
            When set to 'disabled', the IGS module forwards packets 
            to router port only."
        DEFVAL  { 2 } 
        ::= { igsSystem 9 } 


-- VLAN Based MAC Multicast Forwarding Table 
-- 
--      igsVlanMcastMacFwdTable OBJECT-TYPE 
--          SYNTAX      SEQUENCE OF IgsVlanMcastMacFwdEntry 
--          MAX-ACCESS  not-accessible 
--          STATUS      current 
--          DESCRIPTION 
--            "This table contains MAC based multicast forwarding 
--             information. This information is applicable only if
--             the 'igsVlanMcastForwardingMode' is set to 'macbased' " 
--          ::= { igsVlan 1 } 
-- 
--      igsVlanMcastMacFwdEntry OBJECT-TYPE 
--          SYNTAX      IgsVlanMcastMacFwdEntry 
--          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 { igsVlanMcastMacFwdVlanId,
--                  igsVlanMcastMacFwdGroupAddress } 
--          ::= { igsVlanMcastMacFwdTable 1 } 
-- 
--      IgsVlanMcastMacFwdEntry ::= SEQUENCE { 
--          igsVlanMcastMacFwdVlanId           Integer32,
--          igsVlanMcastMacFwdGroupAddress     MacAddress, 
--          igsVlanMcastMacFwdPortList         PortList 
--        } 
--
--      igsVlanMcastMacFwdVlanId OBJECT-TYPE 
--           SYNTAX      Integer32 (1..4094) 
--           MAX-ACCESS  not-accessible 
--           STATUS      current 
--           DESCRIPTION 
--              "VLAN ID pertaining to the Multicast forwarding entry"  
--           ::= { igsVlanMcastMacFwdEntry 1 } 
-- 
--      igsVlanMcastMacFwdGroupAddress OBJECT-TYPE 
--           SYNTAX      MacAddress 
--           MAX-ACCESS  not-accessible 
--           STATUS      current 
--           DESCRIPTION 
--               "Multicast group MAC address." 
--           ::= { igsVlanMcastMacFwdEntry 2 } 
-- 
-- 
--      igsVlanMcastMacFwdPortList 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."  
--           ::= { igsVlanMcastMacFwdEntry 3 } 

-- VLAN based router table.
 
      igsVlanRouterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { igsVlan 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,
          igsVlanRouterPortList           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 } 
 
      igsVlanRouterPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
               "List of 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 } 
 
-- VLAN based filter table 
 
      igsVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains configuration of snooping
              on specific Vlans. This Table is valid only when VLAN is  
              enabled in the system." 
          ::= { igsVlan 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, 
          igsVlanRtrPortList            PortList
          ,igsVlanFbdRtrPortList         PortList
          , igsVlanFastLeave            INTEGER
          , igsVlanDataDrivenLearningStatus INTEGER
          , igsVlanQuerierVersionStatus INTEGER
          , igsVlanDataDrivenLearningAgeOutStatus INTEGER
         ,  igsVlanReportSuppression  INTEGER
        ,   igsVlanRobustnessValue  Integer32
        ,   igsVlanGrpQueryInterval  Integer32
        ,   igsVlanQueryMaxResponseTime  INTEGER
        ,   igsVlanProxyReportingStatus    INTEGER
        ,   igsVlanProxyReportingSourceIP  IpAddress
          } 

      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  { 1 }
           ::= { 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  { 2 } 
          ::= { 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  { 2 } 
          ::= { 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 } 
      igsVlanRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as router ports"
           ::= { igsVlanFilterEntry 6 } 

      igsVlanFbdRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which can be configured statically as forbidden router ports."
           ::= { igsVlanFilterEntry 7 }            

      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  { 2 }
           ::= { igsVlanFilterEntry 8 }

        igsVlanDataDrivenLearningStatus OBJECT-TYPE 
            SYNTAX      INTEGER { enabled(1), disabled(2) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to enable/disable
                Data Driven Learning function on a specific VLAN."
            ::= { igsVlanFilterEntry 9 }

        igsVlanQuerierVersionStatus OBJECT-TYPE 
            SYNTAX      INTEGER { igmp-v3(3), igmp-v2(2), igmp-v1(1) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to enable/disable
                Querier Version function on a specific VLAN."
            ::= { igsVlanFilterEntry 10 }

        igsVlanDataDrivenLearningAgeOutStatus OBJECT-TYPE 
            SYNTAX      INTEGER { enabled(1), disabled(2) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to enable/disable
                Data Driven Learning Age Out State on a specific VLAN."
            ::= { igsVlanFilterEntry 11 }
        igsVlanReportSuppression OBJECT-TYPE 
            SYNTAX      INTEGER  { enabled(1), disabled(2) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
               "Enables or disables Report suppression in the system." 
            ::= { igsVlanFilterEntry 12 } 
      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 of queries sent by the switch before deleting 
              the port from the group membership information in the forwarding 
              database. If the maximum retry count exceeds 'igsRobustnessValue', 
              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 13 } 

      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 switch will send group specific queries on a port to check 
              if there is any intersted receivers. The switch will send 
              'igsRobustnessValue' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 1 }
            ::= { igsVlanFilterEntry 14 } 

    igsVlanQueryMaxResponseTime OBJECT-TYPE
        SYNTAX      INTEGER (10..25)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION 
        	"The maximum query response time advertised in IGMPv2 general
        	queries on this interface."
        DEFVAL     { 10 }
            ::= { igsVlanFilterEntry 15 } 
      igsVlanProxyReportingStatus OBJECT-TYPE 
          SYNTAX      INTEGER { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
            "This indicates the Proxy Reporting State of this VLAN. 
 	        When set to enabled, intergrate into multiple IGMP reports or only integrate a single IGMP report for 
 	        a specific (S,G) before sending to the router port."
          DEFVAL  { 2 }
            ::= { igsVlanFilterEntry 16 } 

      igsVlanProxyReportingSourceIP OBJECT-TYPE 
          SYNTAX      IpAddress 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
            "This indicates the IP source address of the igmp report 
 	        sended by the IGMP snooping proxy reporting in this VLAN."
            ::= { igsVlanFilterEntry 17 } 
    -- VLAN Based IGMP Snooping Group 
 
      igsVlanMulticastGroupTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF IgsVlanMulticastGroupEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains MAC based multicast forwarding 
             information." 
          ::= { igsVlan 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        InetAddress, 
          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      InetAddress
           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." 
          ::= { igsAccessAuth 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 (1..28)
           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 }

-- start IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
    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."
        ::= { igsHost 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    InetAddress,
        igsHostTablePort            Integer32,
        igsHostTableHostIPAddress   InetAddress
    }

    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      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Group address of Host table entry."
        ::= { igsHostEntry 2 } 
 
    igsHostTablePort OBJECT-TYPE 
        SYNTAX      Integer32 (1..28)
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Port number of Host table entry.
            For all machines give maximum port number."
        ::= { igsHostEntry 3 }

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

-- start DLINK_METRO_LIKE_IGS_PER_PORT_RATE
      igsPortRateLimitTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF IgsPortRateLimitEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
             "This table is used to manage the IGMP port rate limit
              function of the switch."
          ::= { igsPortRate 1 }

      igsPortRateLimitEntry OBJECT-TYPE
          SYNTAX      IgsPortRateLimitEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
             "Contains management entities for IGMP port rate limit
              function."
          INDEX { igsRateLimitPortIndex }
          ::= { igsPortRateLimitTable 1 }

      IgsPortRateLimitEntry ::= SEQUENCE {
          igsRateLimitPortIndex             Integer32,
          igsRateLimitPortValue             INTEGER
      }

      igsRateLimitPortIndex OBJECT-TYPE
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The port index of igsPortRateLimitTable which
               indicates the port to be configured."
           ::= { igsPortRateLimitEntry 1 }

      igsRateLimitPortValue OBJECT-TYPE
           SYNTAX      INTEGER  (1..200)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object can be configured to set IGMP port rate limit value
                on each port."
           DEFVAL     { 200 }
           ::= { igsPortRateLimitEntry 2 }
-- end DLINK_METRO_LIKE_IGS_PER_PORT_RATE
    -- ---------------------------------------------------------------------
    -- MLD Snooping Function
    -- ---------------------------------------------------------------------
	mldsSystem       OBJECT IDENTIFIER ::= { companyMldsGroup 1 }
	mldsVlan         OBJECT IDENTIFIER ::= { companyMldsGroup 3 }
	mldsHost         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  { 2 } 
          ::= { mldsSystem 1 } 
 
     mldsRouterPortPurgeInterval 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 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  { 260 } 
          ::= { mldsSystem 2 } 
 
      mldsHostPortPurgeInterval 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 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} 
          ::= { mldsSystem 3 } 
    mldsDataDrivenLearningMaxLearnedEntryVlaue OBJECT-TYPE
        SYNTAX      INTEGER (1..1024)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION 
            "The maximum data driven learning entry value."
        DEFVAL     { 64 }
        ::= { mldsSystem 8 }

    mldsReportToAllPort OBJECT-TYPE
        SYNTAX      INTEGER  { enabled(1), disabled(2) }
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION 
           "Enables or disables MLDS snooping in the system.
            When set to 'enabled', the MLDS module forwards packets 
            to report to all port.
            When set to 'disabled', the MLDS module forwards packets 
            to router port only."
        DEFVAL     { 2 }
        ::= { mldsSystem 9 }

-- 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." 
          ::= { mldsVlan 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,
          mldsVlanRouterPortList           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 } 
 
      mldsVlanRouterPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
               "List of 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 } 
 
-- 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." 
          ::= { mldsVlan 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, 
          mldsVlanRtrPortList            PortList
          , mldsVlanFbdRtrPortList         PortList
          , mldsVlanFastLeave            INTEGER
          , mldsVlanDataDrivenLearningStatus INTEGER
          , mldsVlanReportSuppression INTEGER
        ,   mldsVlanRobustnessValue  Integer32
        ,   mldsVlanGrpQueryInterval  Integer32
        ,   mldsVlanQueryMaxResponseTime  INTEGER
          } 

      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  { 1 }
           ::= { 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  { 2 } 
          ::= { 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 } 
      mldsVlanRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as router ports"
           ::= { mldsVlanFilterEntry 6 } 

      mldsVlanFbdRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which can be configured statically as forbidden router ports."
           ::= { mldsVlanFilterEntry 7 }            

      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  { 2 }
           ::= { mldsVlanFilterEntry 8 }

        mldsVlanDataDrivenLearningStatus OBJECT-TYPE 
            SYNTAX      INTEGER { enabled(1), disabled(2) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION
                "This object allows you to enable/disable
                Data Driven Learning function on a specific VLAN."
            ::= { mldsVlanFilterEntry 9 }

        mldsVlanReportSuppression OBJECT-TYPE 
            SYNTAX      INTEGER  { enabled(1), disabled(2) } 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
               "Enables or disables Report suppression in the system."
            ::= { mldsVlanFilterEntry 10 } 
      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 of queries sent by the switch before deleting 
              the port from the group membership information in the forwarding 
              database. If the maximum retry count exceeds 'mldsRobustnessValue', 
              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 11 } 

      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 switch will send group specific queries on a port to check 
              if there is any intersted receivers. The switch will send 
              'mldsRobustnessValue' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 1 }
            ::= { mldsVlanFilterEntry 12 } 

    mldsVlanQueryMaxResponseTime OBJECT-TYPE
        SYNTAX      INTEGER (10..25)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION 
        	"The maximum query response time advertised in MLDv1 general
        	queries on this interface."
        DEFVAL     { 10 }
            ::= { mldsVlanFilterEntry 13 } 
    -- 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." 
          ::= { mldsVlan 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        InetAddress, 
          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      InetAddress
           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 IGMP Host based Fast Leave function of the switch."
        ::= { mldsHost 1 }
 
    mldsHostEntry OBJECT-TYPE
        SYNTAX      MldsHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Contains management entities for
            IGMP Host based fast leave 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 IPv6 Host table entry."
        ::= { mldsHostEntry 1 }
 
    mldsHostTableGroupAddress OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Group address of IPv6 Host table entry."
        ::= { mldsHostEntry 2 } 
 
    mldsHostTablePort OBJECT-TYPE 
        SYNTAX      Integer32 (1..28)
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
            "Port number of IPv6 Host table entry.
            For all machines give maximum port number."
        ::= { mldsHostEntry 3 }

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

-- -------------------------------------------------------------
-- groups in the Auth MIB
-- -------------------------------------------------------------
    swAuthenCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 1 }
-- -----------------------------------------------------------------------------
-- swAuthenCtrl
-- -----------------------------------------------------------------------------

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

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

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

-- start CAMEO_EAP_TRANSPARENT_FILTERING
    swAuthCtrlPktFwdMode OBJECT-TYPE
        SYNTAX INTEGER {
            authForwardEap(1),
            authDropEap(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "When 802.1x disable, this item can decided eap packet be forward or drop."
        DEFVAL { authForwardEap }
            ::= { swAuthenCtrl 4 }
-- end CAMEO_EAP_TRANSPARENT_FILTERING

-- -------------------------------------------------------------
-- groups in the Port Access Control MIB
-- -------------------------------------------------------------
    swAuthPortAccessCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 2 }
-- -----------------------------------------------------------------------------
-- swAuthPortAccessCtrl
-- -----------------------------------------------------------------------------
    swAuthPortAccessControlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SwAuthPortAccessControlEntry
        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."
        ::= { swAuthPortAccessCtrl 1 }

    swAuthPortAccessControlEntry OBJECT-TYPE
        SYNTAX              SwAuthPortAccessControlEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { swAuthAuthConfigPortNumber }
        ::= { swAuthPortAccessControlTable 1 }

    SwAuthPortAccessControlEntry ::= SEQUENCE {
        swAuthAuthConfigPortNumber          INTEGER,
        swAuthAuthQuietPeriod               INTEGER,
        swAuthAuthSuppTimeout               INTEGER,
        swAuthAuthServerTimeout             INTEGER,
        swAuthAuthMaxReq                    INTEGER,
        swAuthAuthTxPeriod                  INTEGER,
        swAuthAuthReAuthPeriod              INTEGER,
        swAuthAuthReAuthentication          INTEGER,
        swAuthAuthConfigPortControl         INTEGER,
        swAuthAuthCapability                INTEGER,
        swAuthAuthDirection                 INTEGER
    }

    swAuthAuthConfigPortNumber   OBJECT-TYPE
        SYNTAX              INTEGER (1..28)
        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.
         For all machines give maximum port number."
        ::= { swAuthPortAccessControlEntry 1 }

    swAuthAuthQuietPeriod        OBJECT-TYPE
        SYNTAX        INTEGER (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."
        REFERENCE
           "9.4.1, quietPeriod."
        DEFVAL { 60 }
        ::= { swAuthPortAccessControlEntry 2 }

    swAuthAuthSuppTimeout        OBJECT-TYPE
        SYNTAX        INTEGER (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."
        REFERENCE
           "9.4.1, suppTimeout."
        DEFVAL { 12 }
        ::= { swAuthPortAccessControlEntry 3 }

    swAuthAuthServerTimeout      OBJECT-TYPE
        SYNTAX        INTEGER (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."
        REFERENCE
           "9.4.1, serverTimeout."
        DEFVAL { 16 }
        ::= { swAuthPortAccessControlEntry 4 }

    swAuthAuthMaxReq             OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "The value of the maxReq constant currently in use by
           the Backend Authentication state machine."
        REFERENCE
           "9.4.1, maxReq."
        DEFVAL { 2 }
        ::= { swAuthPortAccessControlEntry 5 }

    swAuthAuthTxPeriod           OBJECT-TYPE
        SYNTAX        INTEGER (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."
        REFERENCE
           "9.4.1, txPeriod."
        DEFVAL { 24 }
        ::= { swAuthPortAccessControlEntry 6 }

    swAuthAuthReAuthPeriod       OBJECT-TYPE
        SYNTAX        INTEGER (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."
        REFERENCE
           "9.4.1, reAuthPerio."
        DEFVAL { 3600 }
        ::= { swAuthPortAccessControlEntry 7 }

    swAuthAuthReAuthentication   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)."
        REFERENCE
           "9.4.1, reAuthEnable."
        ::= { swAuthPortAccessControlEntry 8 }

    swAuthAuthConfigPortControl  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."
        REFERENCE
           "9.4.1, AuthControlledPortControl."
        ::= { swAuthPortAccessControlEntry 9 }

    swAuthAuthCapability         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."
        REFERENCE
           "AuthCapability."
        ::= { swAuthPortAccessControlEntry 10 }

    swAuthAuthDirection          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."
        REFERENCE
           "AuthDirection."
        ::= { swAuthPortAccessControlEntry 11 }

-- -------------------------------------------------------------
-- groups in the 802.1X Local user MIB
-- -------------------------------------------------------------
    swAuthUser  OBJECT IDENTIFIER ::= { companyAuthGroup 3 }
-- -----------------------------------------------------------------------------
-- swAuthUser
-- -----------------------------------------------------------------------------
    swAuthUserTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SwAuthUserEntry
        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."
        ::= { swAuthUser 1 }

    swAuthUserEntry OBJECT-TYPE
        SYNTAX              SwAuthUserEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { swAuthUserName }
        ::= { swAuthUserTable 1 }

    SwAuthUserEntry ::= SEQUENCE {
        swAuthUserName                      SnmpAdminString,
        swAuthUserPassword                  DisplayString,
        swAuthUserStatus                    RowStatus
    }

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

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

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

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

-- -------------------------------------------------------------
-- groups in the Authentication RADIUS Server MIB
-- -------------------------------------------------------------
    swAuthRadiusServer  OBJECT IDENTIFIER ::= { companyAuthGroup 4 }
-- -----------------------------------------------------------------------------
-- swAuthRadiusServer
-- -----------------------------------------------------------------------------
    iPv4swAuthRadiusServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IPv4SwAuthRadiusServerEntry
        MAX-ACCESS          not-accessible
        STATUS              obsolete
        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."
        ::= { swAuthRadiusServer 1 }

    iPv4swAuthRadiusServerEntry                 OBJECT-TYPE
        SYNTAX                              IPv4SwAuthRadiusServerEntry
        MAX-ACCESS                          not-accessible
        STATUS                              obsolete

        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { iPv4swAuthRadiusServerIndex }
        ::= { iPv4swAuthRadiusServerTable 1 }

    IPv4SwAuthRadiusServerEntry ::= SEQUENCE {
        iPv4swAuthRadiusServerIndex                 INTEGER,
        iPv4swAuthRadiusServerAddress               IpAddress,
        iPv4swAuthRadiusServerAuthenticationPort    INTEGER,
        iPv4swAuthRadiusServerAccountingPort        INTEGER,
        iPv4swAuthRadiusServerTimeout               INTEGER,
        iPv4swAuthRadiusServerRetransmit            INTEGER,
        iPv4swAuthRadiusServerKey                   DisplayString,
        iPv4swAuthRadiusServerStatus                RowStatus
    }

    iPv4swAuthRadiusServerIndex                 OBJECT-TYPE
        SYNTAX                              INTEGER (1..3)
        MAX-ACCESS                          read-only
        STATUS                              obsolete

        DESCRIPTION
        "A unique value for Authentication RADIUS Server index.
         Its value ranges between 1 and 3."
        ::= { iPv4swAuthRadiusServerEntry 1 }

    iPv4swAuthRadiusServerAddress               OBJECT-TYPE
        SYNTAX                              IpAddress
        MAX-ACCESS                          read-write
        STATUS                              obsolete
        DESCRIPTION
            "The IP address of the RADIUS server
                     referred to in this table entry."
        ::=  { iPv4swAuthRadiusServerEntry 2 }

    iPv4swAuthRadiusServerAuthenticationPort    OBJECT-TYPE
        SYNTAX                              INTEGER (1..65535)
        MAX-ACCESS                          read-write
        STATUS                              obsolete
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 1812 }
       ::= { iPv4swAuthRadiusServerEntry 3 }

    iPv4swAuthRadiusServerAccountingPort        OBJECT-TYPE
        SYNTAX                              INTEGER (1..65535)
        MAX-ACCESS                          read-write
        STATUS                              obsolete
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 1813 }
       ::= { iPv4swAuthRadiusServerEntry 4 }

    iPv4swAuthRadiusServerTimeout               OBJECT-TYPE
        SYNTAX                              INTEGER (1..255)
        MAX-ACCESS                          read-write
        STATUS                              obsolete
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 5 }
       ::= { iPv4swAuthRadiusServerEntry 5 }

    iPv4swAuthRadiusServerRetransmit            OBJECT-TYPE
        SYNTAX                              INTEGER (1..255)
        MAX-ACCESS                          read-write
        STATUS                              obsolete
        DESCRIPTION
            "The value is for setting UDP Port."
        DEFVAL { 2 }
       ::= { iPv4swAuthRadiusServerEntry 6 }

    iPv4swAuthRadiusServerKey                   OBJECT-TYPE
       SYNTAX                               DisplayString (SIZE(1..15))
       MAX-ACCESS                           read-write
       STATUS                               obsolete
       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."
       ::= { iPv4swAuthRadiusServerEntry 7 }

    iPv4swAuthRadiusServerStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       obsolete
        DESCRIPTION
            "The status of this conceptual row in the
            swAuthRadiusServerTable.

            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 swAuthRadiusServerIndex objects
            must be explicitly set."
        ::= { iPv4swAuthRadiusServerEntry 8 }
-- -----------------------------------------------------------------------------
-- swAuthRadiusServer for IPv6
-- -----------------------------------------------------------------------------
    swAuthRadiusServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SwAuthRadiusServerEntry
        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."
        ::= { swAuthRadiusServer 2 }

    swAuthRadiusServerEntry                 OBJECT-TYPE
        SYNTAX                              SwAuthRadiusServerEntry
        MAX-ACCESS                          not-accessible
        STATUS                              current
        DESCRIPTION
        "The configuration information for an Authenticator Port."
        INDEX { swAuthRadiusServerIndex }
        ::= { swAuthRadiusServerTable 1 }

    SwAuthRadiusServerEntry ::= SEQUENCE {
        swAuthRadiusServerIndex                 INTEGER,
        swAuthRadiusIPType                      INTEGER,
        swAuthRadiusServerAddress               Ipv6Address,
        swAuthRadiusServerInterfaceName         OCTET STRING,
        swAuthRadiusServerAuthenticationPort    INTEGER,
        swAuthRadiusServerAccountingPort        INTEGER,
        swAuthRadiusServerTimeout               INTEGER,
        swAuthRadiusServerRetransmit            INTEGER,
        swAuthRadiusServerKey                   DisplayString,
        swAuthRadiusServerStatus                RowStatus
    }

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

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

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

    swAuthRadiusServerInterfaceName   OBJECT-TYPE
         SYNTAX      OCTET STRING
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
               "Specifies the interface name when the swAuthRadiusServerAddress is linklocal address."
         ::= { swAuthRadiusServerEntry 4 } 

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

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

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

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

    swAuthRadiusServerKey                   OBJECT-TYPE
       SYNTAX                               DisplayString (SIZE(1..15))
       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."
       ::= { swAuthRadiusServerEntry 9 }

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

            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 swAuthRadiusServerIndex objects
            must be explicitly set."
        ::= { swAuthRadiusServerEntry 10 }
    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------

--10--
    qosInBandMgmt         OBJECT IDENTIFIER ::= { companyQoSGroup 10  }

        qosInBandMgmtSetDefPriority OBJECT-TYPE
                SYNTAX  INTEGER  {
                       other(1),
                       action(2)
                       }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                      "Sets the default priority. It is project dependent."
                ::= { qosInBandMgmt 1 }

        qosInBandMgmtPktPriority OBJECT-TYPE
               SYNTAX  INTEGER (0..7)
               MAX-ACCESS  read-write
               STATUS  current
               DESCRIPTION
                     "Specifies the priority of packets, the range is 0-7. 7 is the highest priority."
               ::= { qosInBandMgmt 2 }

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------

--1--
    cosScheduleMechanism       OBJECT-TYPE 
        SYNTAX INTEGER {
            strictPriority(1),
            wrr(2),
            strict7wrr(3),
            strict6wrr(4)
        } 
        MAX-ACCESS    read-write 
        STATUS        current
        DESCRIPTION 
           "Queuing mechanism.
                 strictPriority(1) : Strict Priority
                 wrr(2)            : Weighted Round Robin    
                 strict7wrr(3)     : 1 SP + 7WRR
                 strict6wrr(4)     : 2 SP + 6WRR                 
            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 for WS3 spec. Queues with higher weights get bandwidth before than other queues with less weights. 
           " 
        ::= { companyQoSGroup 1 } 

--2--
    cosOutputSchedule     OBJECT IDENTIFIER ::= { companyQoSGroup 2 }
    
    cosClassTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF CosClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of cosOutputSchedule."
        ::= { cosOutputSchedule 1 }
        
    cosClassEntry OBJECT-TYPE
        SYNTAX CosClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of cosOutputClass Weight."
        INDEX { cosClassIndex }
        ::= { cosClassTable 1 }
        
    CosClassEntry ::= SEQUENCE {
        cosClassIndex                 INTEGER,
        cosWeight              INTEGER
    }
    
    cosClassIndex OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "A index of class 0 ~ 7."
        ::= { cosClassEntry 1 }
        
    cosWeight OBJECT-TYPE 
        SYNTAX INTEGER (1..55)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "cos weight "
        ::= { cosClassEntry 2 }  

      cosBandwidthControlSettings     OBJECT IDENTIFIER ::= { companyQoSGroup 9 }

      cosBandwidthControlTable OBJECT-TYPE
          SYNTAX  SEQUENCE OF CosBandwidthControlEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
		      "A table that contains information about
		       CoS Bandwidth Control on each port."
          ::= { cosBandwidthControlSettings 1 }
          
      cosBandwidthControlEntry OBJECT-TYPE
          SYNTAX  CosBandwidthControlEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
		      "A list that contains CoS Bandwidth Control information
		      for each port."
		      INDEX   { cosBandwidthPort, cosBandwidthCoSID }
		      ::= { cosBandwidthControlTable 1 }
          
      CosBandwidthControlEntry ::= SEQUENCE {
          cosBandwidthPort      INTEGER,
          cosBandwidthCoSID     INTEGER,
          cosBandwidthMinRate   INTEGER,      
          cosBandwidthMaxRate   INTEGER
      }
      
      cosBandwidthPort OBJECT-TYPE
		      SYNTAX  INTEGER
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
		      "This object indicates the port number."
		      ::= { cosBandwidthControlEntry 1 }
          
      cosBandwidthCoSID OBJECT-TYPE
		      SYNTAX  INTEGER (0..7)
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
		      "Indicates the hardware queue number."
		      ::= { cosBandwidthControlEntry 2 }
          
      cosBandwidthMinRate OBJECT-TYPE
		      SYNTAX  INTEGER (0|8..10240000)
		      MAX-ACCESS  read-write
		      STATUS  current
		      DESCRIPTION
		      "Indicates the Minimum Rate of the specified port. 
		       A value of 0 means no limit."
		      ::= { cosBandwidthControlEntry 3 }				
          
      cosBandwidthMaxRate OBJECT-TYPE
		      SYNTAX  INTEGER (0|8..10240000) 
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
		      "Indicates the Maximum Rate of the specified port. 
		       A value of 0 means no limit."
		      ::= { cosBandwidthControlEntry 4 }

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------ 
    
--4 default user priority--
    qosDefaultUserPri     OBJECT IDENTIFIER ::= { companyQoSGroup 4 }
    
    qosDefaultUserPriTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF QosDefaultUserPriEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority Entries."
        ::= { qosDefaultUserPri 1 }
        
    qosDefaultUserPriEntry OBJECT-TYPE
        SYNTAX QosDefaultUserPriEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority priorities."
        INDEX { qosDefaultUserPriPortIndex }
        ::= { qosDefaultUserPriTable 1 }
        
    QosDefaultUserPriEntry ::= SEQUENCE {
        qosDefaultUserPriPortIndex      INTEGER,
        qosDefaultPriority              INTEGER,
        qosEffectiveDefaultPriority     INTEGER
    }
    
    qosDefaultUserPriPortIndex OBJECT-TYPE
        SYNTAX INTEGER (1..28)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "A port identifier that is in the range of 1 to ifNumber."
        ::= { qosDefaultUserPriEntry 1 }
        
    qosDefaultPriority OBJECT-TYPE
        SYNTAX INTEGER {
               priority0(0),
               priority1(1),    
               priority2(2),    
               priority3(3),
               priority4(4),
               priority5(5),    
               priority6(6),    
               priority7(7) 
    	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "For ingress untagged packets, the per port 'Default Priority'
         setting will be applied to packets of each port to provide 
         port-based traffic prioritization when 802.1p is enabled."
        ::= { qosDefaultUserPriEntry 2 }   
        
        
    qosEffectiveDefaultPriority OBJECT-TYPE
        SYNTAX INTEGER {
               priority0(0),
               priority1(1),    
               priority2(2),    
               priority3(3),
               priority4(4),
               priority5(5),    
               priority6(6),    
               priority7(7) 
    	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "For ingress untagged packets, the per port 'Effective Default 
         Priority' setting will be applied to packets of each port to 
         provide port-based traffic prioritization when 802.1p is enabled."
        ::= { qosDefaultUserPriEntry 3 }  

--5 vlan tag user priority --
    qosUserPriority     OBJECT IDENTIFIER ::= { companyQoSGroup 5 }
    qosUserPriorityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF QosUserPriEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table mapping evaluated User Priority to Traffic
             Class, for forwarding by the bridge.  Traffic class is a
             number in the range (0..3)."
        REFERENCE
            "ISO/IEC 15802-3 Table 7-2"
        ::= { qosUserPriority 1 }

    qosUserPriEntry OBJECT-TYPE
        SYNTAX      QosUserPriEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "User Priority to Traffic Class mapping."
        INDEX {qosUserPriIndex }
        ::= { qosUserPriorityTable 1 }

    QosUserPriEntry ::=
        SEQUENCE {
            qosUserPriIndex
                INTEGER,
            qosUserPriClass
                INTEGER
        }

    qosUserPriIndex OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "For ingress tagged packets, D-Link Smart Switches will refer
         to these information and prioritize them with 4 different priority queues. 
         If 802.1p is enabled."

        ::= { qosUserPriEntry 1 }

    qosUserPriClass OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The User Class the received frame is mapped to."
        ::= { qosUserPriEntry 2 }

--7 priority setting on/off table --
    qosPriSettings     OBJECT IDENTIFIER ::= { companyQoSGroup 7 }
    qosPriSettingsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF QosPriSettingsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of port priority settings."
        REFERENCE
            "ISO/IEC 15802-3 Table 7-2"
        ::= { qosPriSettings 1 }

    qosPriSettingsEntry OBJECT-TYPE
        SYNTAX      QosPriSettingsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A list of port priority settings Entries."
        INDEX {qosPriSetPortIndex }
        ::= { qosPriSettingsTable 1 }

    QosPriSettingsEntry ::=
        SEQUENCE {
            qosPriSetPortIndex
                INTEGER,
            qosPriSetPortType
                INTEGER
        }

    qosPriSetPortIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..28)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A port identifier that is in the range of 1 to ifNumber."
        ::= { qosPriSettingsEntry 1 }

    qosPriSetPortType OBJECT-TYPE
        SYNTAX      INTEGER
        {
               none(0),
               ieee8021P(2),
               dscp-tos(4),
               ieee8021P-dscp-tos(6)
    	}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The port priority setting type. (ex. none = 0, 
             802.1p = 2, DSCP = 4. If you want enable 802.1p & DSCP, the value
             is 2 + 4 = 6. "
        ::= { qosPriSettingsEntry 2 }

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------
    qosDiffServTOS     OBJECT IDENTIFIER ::= { companyQoSGroup 6 }
    
	qosDSCPTOSMode  OBJECT-TYPE
        SYNTAX INTEGER {
           tos(1),
           dscp(2)
        } 
        MAX-ACCESS    read-write 
        STATUS        current
        DESCRIPTION 
           "Settings of Qos mode:
              DSCP QoS or TOS Qos.
            IEEE 802.1p : It specifies a priority(0~7) value to four queues in WS3 : Low(1,2), Medium(0,3), High(4,5) and Highest(6,7), inclusive that can be used by Quality of Service (QoS) disciplines to differentiate traffic.
            DSCP : Differentiated services enhancements to the Internet protocol are intended to enable scalable service discrimination in the Internet without the need for per-flow state and signaling at every hop. 
           " 
        ::= { qosDiffServTOS 1 }    

    -- ------------------------------------------------------------------ 
    -- DSCP_Mode
    -- ------------------------------------------------------------------
    
    qosDiffServTypeGroup OBJECT IDENTIFIER ::= { qosDiffServTOS 2 }
    
    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 }    
    
    -- ------------------------------------------------------------------ 
    -- TOS_Mode
    -- ------------------------------------------------------------------
        
    qosTOSGroup OBJECT IDENTIFIER ::= { qosDiffServTOS 3 }
    
    qosTOSType00 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
    	MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 0"  
        ::= { qosTOSGroup 1 }
    
    qosTOSType01 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
    	MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 01"  
        ::= { qosTOSGroup 2 }
        
    qosTOSType02 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 02"  
        ::= { qosTOSGroup 3 }
    
    qosTOSType03 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 03"  
        ::= { qosTOSGroup 4 }
        
    qosTOSType04 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 04"  
        ::= { qosTOSGroup 5 }
    
    qosTOSType05 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 05"  
        ::= { qosTOSGroup 6 }
        
    qosTOSType06 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 06"  
        ::= { qosTOSGroup 7 }
    
    qosTOSType07 OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "TOS 07"  
        ::= { qosTOSGroup 8 }

    qosAclPrioritySettings     OBJECT IDENTIFIER ::= { companyQoSGroup 8 }

    -- ------------------------------------------------------------------
    -- ipv4aclQosTable
    -- ------------------------------------------------------------------

    ipv4aclQosTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF Ipv4AclQosEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A list of priority by acl setting."

        ::= { qosAclPrioritySettings 1 }

    ipv4aclQosEntry OBJECT-TYPE
        SYNTAX     Ipv4AclQosEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of priority by acl setting entry."

        INDEX { ipv4aclQosIndex }
        ::= { ipv4aclQosTable 1 }

    Ipv4AclQosEntry  ::= 
            SEQUENCE {
              ipv4aclQosIndex          Integer32,
              ipv4aclQosType           INTEGER,
              ipv4aclQosMACAddr        MacAddress,
              ipv4aclQosIPAddr         IpAddress,
              ipv4aclQosTCPUDPPort     Integer32,
              ipv4aclQosVlanID         Integer32,
              ipv4aclQosProtocol       Integer32,
              ipv4aclQosAssignClass    INTEGER,
              ipv4aclQosStatus         RowStatus
              }
              
    ipv4aclQosIndex OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Index of priority by acl setting." 
        ::= { ipv4aclQosEntry  1 }
        
    ipv4aclQosType OBJECT-TYPE
       SYNTAX       INTEGER { mac(0), ip(1), tcp(2), udp(3), vlanid(4), protocol(5) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Type of priority by acl setting." 
        ::= { ipv4aclQosEntry  2 }

    ipv4aclQosMACAddr OBJECT-TYPE 
       SYNTAX      MacAddress 
       MAX-ACCESS  read-write
       STATUS      current 
       DESCRIPTION 
           "Dst MAC of priority by acl setting." 
        ::= { ipv4aclQosEntry  3 } 
        
        
    ipv4aclQosIPAddr OBJECT-TYPE 
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current 
       DESCRIPTION 
           "Dst IP of priority by acl setting" 
        ::= { ipv4aclQosEntry 4 } 
        
    ipv4aclQosTCPUDPPort OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Dst TCP/UDP port of priority by acl setting" 
        ::= { ipv4aclQosEntry  5 }
        
    ipv4aclQosVlanID OBJECT-TYPE
       SYNTAX       Integer32 (1..4094)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "VLAN ID of priority by acl setting" 
        ::= { ipv4aclQosEntry  6 }

    ipv4aclQosProtocol OBJECT-TYPE
       SYNTAX       Integer32 (1..255)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Ip protocol number of priority by acl setting" 
        ::= { ipv4aclQosEntry  7 }
        
    ipv4aclQosAssignClass OBJECT-TYPE
       SYNTAX       INTEGER  { class0(0), class1(1), class2(2), class3(3) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Be mapped class of priority by acl setting." 
        ::= { ipv4aclQosEntry  8 }
        
    ipv4aclQosStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Status of priority by acl setting."
       ::= { ipv4aclQosEntry 9 }    


    -- ------------------------------------------------------------------
    -- aclQosTable
    -- ------------------------------------------------------------------       
       
    aclQosTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF AclQosEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A list of priority by acl setting."

        ::= { qosAclPrioritySettings 2 }

    aclQosEntry OBJECT-TYPE
        SYNTAX     AclQosEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of priority by acl setting entry."

        INDEX { aclQosIndex }
        ::= { aclQosTable 1 }

    AclQosEntry  ::= 
            SEQUENCE {
              aclQosIndex          Integer32,
              aclQosType           INTEGER,
              aclQosMACAddr        MacAddress,
              aclQosIPAddr         IpAddress,
              aclQosIPv6Addr       Ipv6Address,
              aclQosTCPUDPPort     Integer32,
              aclQosVlanID         Integer32,
              aclQosProtocol       Integer32,
--start DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
              aclQosIP6TC          Integer32,
--end DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
              aclQosAssignClass    INTEGER,
              aclQosStatus         RowStatus
              }
              
    aclQosIndex OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Index of priority by acl setting." 
        ::= { aclQosEntry  1 }
        
    aclQosType OBJECT-TYPE
       SYNTAX       INTEGER { mac(0), ip(1), tcp(2), udp(3), vlanid(4), protocol(5), ipv6(6), ipv6traffic-class(7) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Type of priority by acl setting." 
        ::= { aclQosEntry  2 }

    aclQosMACAddr OBJECT-TYPE 
       SYNTAX      MacAddress 
       MAX-ACCESS  read-write
       STATUS      current 
       DESCRIPTION 
           "Dst MAC of priority by acl setting." 
        ::= { aclQosEntry  3 } 
        
        
    aclQosIPAddr OBJECT-TYPE 
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current 
       DESCRIPTION 
           "Dst IP of priority by acl setting" 
        ::= { aclQosEntry 4 } 
    
    aclQosIPv6Addr OBJECT-TYPE 
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current 
       DESCRIPTION 
           "Dst IP of priority by acl setting. " 
        ::= { aclQosEntry 5 }
        
    aclQosTCPUDPPort OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Dst TCP/UDP port of priority by acl setting" 
        ::= { aclQosEntry  6 }
        
    aclQosVlanID OBJECT-TYPE
       SYNTAX       Integer32 (1..4094)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "VLAN ID of priority by acl setting" 
        ::= { aclQosEntry  7 }

    aclQosProtocol OBJECT-TYPE
       SYNTAX       Integer32 (1..255)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Ip protocol number of priority by acl setting" 
        ::= { aclQosEntry  8 }

--start DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
    aclQosIP6TC OBJECT-TYPE
       SYNTAX       Integer32 (0..255)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Ipv6 Traffic Class number of priority by acl setting" 
        ::= { aclQosEntry  10 }
--end DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL

    aclQosAssignClass OBJECT-TYPE
       SYNTAX       INTEGER  { class0(0), class1(1), class2(2), class3(3) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Be mapped class of priority by acl setting." 
        ::= { aclQosEntry  98 }
        
    aclQosStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Status of priority by acl setting."
       ::= { aclQosEntry 99 }         
 		-- ----------------------------------------------------------
		-- The companyTrafficMgmt Groups
		-- ----------------------------------------------------------      		

        -- Bandwidth Control Group --------------------------------------------- --
		bandwidthCtrlSettings  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."
           ::= { bandwidthCtrlSettings 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,
              bandwidthCtrlRxThreshold
                 Integer32 ,
              bandwidthEffecTxThreshold
                 Integer32,
              bandwidthEffecRxThreshold
                 Integer32                               
          }
        
        bandwidthCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies.
               For all machines give maximum port number."
           ::= { bandwidthCtrlEntry 1 }
            
        
        bandwidthCtrlTxThreshold OBJECT-TYPE
           SYNTAX      Integer32 (0 | 64..1024000)
           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~102400(Kbits per second) in FE port, 64~1024000
              (Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 2 }        
        
        bandwidthCtrlRxThreshold OBJECT-TYPE 
           SYNTAX      Integer32 (0 | 64..1024000)
           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~102400(Kbits per second) in FE 
               port,  64~1024000(Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 3}               

        bandwidthEffecTxThreshold OBJECT-TYPE
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "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. "
            ::= { bandwidthCtrlEntry 4}
 
         bandwidthEffecRxThreshold OBJECT-TYPE
           SYNTAX      Integer32
           MAX-ACCESS  read-only
           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. "
            ::= { bandwidthCtrlEntry 5}

       
       -- Traffic Control Group --------------------------------------------- --
       
       trafficCtrlSettings 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."
          ::= { trafficCtrlSettings 1 }

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

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

       TrafficCtrlEntry ::= 
          SEQUENCE { 
             trafficCtrlIndex 
                Integer32, 
             trafficCtrlActionModeForUnicast
                INTEGER, 
             trafficCtrlActionModeForMulticast
                INTEGER,
             trafficCtrlActionModeForBroadcast
                INTEGER, 
             trafficCtrlType
                INTEGER,
             trafficCtrlThresholdForUnicast
                Integer32,
             trafficCtrlThresholdForMulticast
                Integer32,
             trafficCtrlThresholdForBroadcast
                Integer32,
             trafficCtrlCountDownForUnicast
                Integer32,
             trafficCtrlCountDownForMulticast
                Integer32,
             trafficCtrlCountDownForBroadcast
                Integer32,
             trafficCtrlTimeIntervalForUnicast
                Integer32,
             trafficCtrlTimeIntervalForMulticast
             	Integer32,
             trafficCtrlTimeIntervalForBroadcast
             	Integer32
       }
       
       trafficCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..65535)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The traffic control index."
           ::= { trafficCtrlEntry 1 }

        trafficCtrlActionModeForUnicast OBJECT-TYPE
           SYNTAX INTEGER {
           		dropkbps(0),
           		shutdown(1),
           		dropratebypps(2)
           }
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The action mode of traffic control for unicast."
           ::= { trafficCtrlEntry 2 }
   
        trafficCtrlActionModeForMulticast OBJECT-TYPE
           SYNTAX INTEGER {
           		dropkbps(0),
           		shutdown(1),
           		dropratebypps(2)
           }
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The action mode of traffic control for multicast."
           ::= { trafficCtrlEntry 3 }
   
        trafficCtrlActionModeForBroadcast OBJECT-TYPE
           SYNTAX INTEGER {
           		dropkbps(0),
           		shutdown(1),
           		dropratebypps(2)
           }
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The action mode of traffic control for broadcast."
           ::= { trafficCtrlEntry 4 }


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

        trafficCtrlThresholdForUnicast OBJECT-TYPE
           SYNTAX       Integer32 (1..102400)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The threshold of traffic control for unicast."
           ::= { trafficCtrlEntry 6 }
 
        trafficCtrlThresholdForMulticast OBJECT-TYPE
           SYNTAX       Integer32 (1..102400)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The threshold of traffic control for multicast."
           ::= { trafficCtrlEntry 7 }

        trafficCtrlThresholdForBroadcast OBJECT-TYPE
           SYNTAX       Integer32 (1..102400)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The threshold of traffic control for broadcast."
           ::= { trafficCtrlEntry 8 }
 
        trafficCtrlCountDownForUnicast OBJECT-TYPE
           SYNTAX       Integer32 (0..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The count down value of traffic control for unicast."
           ::= { trafficCtrlEntry 9 }   
              
        trafficCtrlCountDownForMulticast OBJECT-TYPE
           SYNTAX       Integer32 (0..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The count down value of traffic control for multicast."
           ::= { trafficCtrlEntry 10 }   
 
        trafficCtrlCountDownForBroadcast OBJECT-TYPE
           SYNTAX       Integer32 (0..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The count down value of traffic control for broadcast."
           ::= { trafficCtrlEntry 11 }   
              
        trafficCtrlTimeIntervalForUnicast OBJECT-TYPE
           SYNTAX       Integer32 (5..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The time interval of traffic control for unicast."
           ::= { trafficCtrlEntry 12 } 
           
        trafficCtrlTimeIntervalForMulticast OBJECT-TYPE
           SYNTAX       Integer32 (5..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The time interval of traffic control for multicast."
           ::= { trafficCtrlEntry 13 } 
              
        trafficCtrlTimeIntervalForBroadcast OBJECT-TYPE
           SYNTAX       Integer32 (5..30)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The time interval of traffic control for broadcast."
           ::= { trafficCtrlEntry 14 } 

        trafficCtrlAutoRecoverTime OBJECT-TYPE
           SYNTAX       Integer32 (0..65535)  
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "The recover time of traffic control."
           ::= { trafficCtrlSettings 3 } 

       
    -- ------------------------------------------------------------------ 
    -- companySecurity
    -- ------------------------------------------------------------------
    
    -- Trusted Host
    
    securityTrustedHost       OBJECT IDENTIFIER ::= { companySecurity 1 }
    
    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, D-Link 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 }
       ::= { securityTrustedHost 1 }
    
    
    ipv4trustedHostTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Ipv4TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      obsolete
       DESCRIPTION
           "A table to configure trusted host in the system."
       ::= { securityTrustedHost 2 }
    
    ipv4trustedHostEntry OBJECT-TYPE
       SYNTAX      Ipv4TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      obsolete
       DESCRIPTION
           "Each entry in this table represents rules for particular
            trusted host."
       INDEX { ipv4trustedHostIpAddr, ipv4trustedHostIpMask }
       ::= { ipv4trustedHostTable 1 }
    
    Ipv4TrustedHostEntry ::=
       SEQUENCE {
          ipv4trustedHostIpAddr
             IpAddress,
          ipv4trustedHostIpMask
             IpAddress,
          ipv4trustedHostRowStatus
             RowStatus
     }
    
    ipv4trustedHostIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      obsolete
       DESCRIPTION
            "The IP address of host you allow to access to D-Link Smart 
             Switch.
             Your local host IP Addresses must be one of the IP Addresses 
             to avoid disconnection."
       ::= { ipv4trustedHostEntry 1 }
    
    ipv4trustedHostIpMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      obsolete
       DESCRIPTION
            "Used to mask with IP address, it allow you set a subnet as a 
            trusted host entry."        
       ::= { ipv4trustedHostEntry 2 }
    
    ipv4trustedHostRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      obsolete
       DESCRIPTION
             "The status of an entry in the Trusted Host Table.  Only a subset
             of the rowstatus variables (active, createAndGo, destroy) 
             are available."
       ::= { ipv4trustedHostEntry 3 }
       

    -- ipv6 
    trustedHostTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table to configure trusted host for in the system."
       ::= { securityTrustedHost 3 }
    
    trustedHostEntry OBJECT-TYPE
       SYNTAX      TrustedHostEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Each entry in this table represents rules for particular
            trusted host."
       INDEX { trustedHostIPType, trustedHostIpAddr, trustedHostIpMask }
       ::= { trustedHostTable 1 }
    
    TrustedHostEntry ::=
       SEQUENCE {
          trustedHostIPType
             INTEGER,
          trustedHostIpAddr
             Ipv6Address,
          trustedHostIpMask
             Ipv6Address,
          trustedHostRowStatus
             RowStatus
     }
    
    trustedHostIPType OBJECT-TYPE
        SYNTAX    INTEGER {
               iPv4             (1),
               iPv6	            (2)
            }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
           "Type of IP interface."
        ::= { trustedHostEntry 1 }
    
    trustedHostIpAddr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "The IP address of host you allow to access to D-Link Smart 
             Switch.
             Your local host IPv4/6 Addresses must be one of the IP Addresses 
             to avoid disconnection."
       ::= { trustedHostEntry 2 }
    
    trustedHostIpMask OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "Used to mask with IPv4/6 address, it allow you set a subnet as a 
            trusted host entry."        
       ::= { trustedHostEntry 3 }
    
    trustedHostRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
             "The status of an entry in the Trusted Host Table.  Only a subset
             of the rowstatus variables (active, createAndGo, destroy) 
             are available."
       ::= { trustedHostEntry 4 }
    
       


                      
    -- ------------------------------------------------------------------ 
    -- companySecurity
    -- ------------------------------------------------------------------
    
    securitySSL       OBJECT IDENTIFIER ::= { companySecurity 5 }

    sslSecurityHttpStatus OBJECT-TYPE 
       SYNTAX       INTEGER {
                    enable(1),
                    disable(2)
                    }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object is for enabling or disabling secure HTTP in the system."
    
       DEFVAL  { disable } 
       ::= { securitySSL 1 }
       
    sslCiphers                  OBJECT IDENTIFIER ::= { securitySSL 2 }
       
    sslCipherSuiteList OBJECT-TYPE
      SYNTAX  BITS {
            bECDHE-RSA-AES128-SHA(0),
            bECDHE-ECDSA-AES256-SHA(1),
            bDHE-RSA-AES256-SHA(2),
            bECDHE-RSA-AES256-SHA(3),
            bECDHE-ECDSA-AES128-SHA(4),
            bDHE-RSA-AES128-SHA(5),
            bAES128-SHA(6),
            bAES256-SHA(7),
            bECDHE-RSA-AES256-SHA384(8),
            bDHE-RSA-AES256-SHA256(9)
     }

      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
      
         "This object is to configure the cipher-suites list."

   ::= { sslCiphers 1}
   

                      
    -- ------------------------------------------------------------------ 
    -- companySecurity
    -- ------------------------------------------------------------------
    
    securitySSH       OBJECT IDENTIFIER ::= { companySecurity 8 }
       
    sshSecurityStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                enable(1),
                disable(2)
                } 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is for enabling or disabling ssh in the system."
    
    DEFVAL  { disable }
    ::= { securitySSH 1}
  
sshMaxAuthFailAttempts OBJECT-TYPE
	SYNTAX INTEGER (2..20)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object indicates the max auth fail retry attempt times."
	::= {securitySSH 2}

sshSessionKeyRekeying OBJECT-TYPE
	SYNTAX INTEGER {
		never(0),
		ten-min(1),
		thirty-min(2),
		sixty-min(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object indicates one SSH session rekey time interval."
	::= {securitySSH 3}

sshMaxSession OBJECT-TYPE
	SYNTAX INTEGER (1..8)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object indicates max SSH session number supported in system."
	::= {securitySSH 4}

sshConnectionTimeout OBJECT-TYPE
	SYNTAX INTEGER (120..600)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object indicates SSH connection timeout value."
	::= {securitySSH 5}

--************************************************************************	
-- SSH encryption algorithm group configuration
--************************************************************************
sshAuthenMethodPassWordAdmin OBJECT-TYPE
	SYNTAX INTEGER {
                enable(1),
                disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The object indicates authen method password is enabled or disabled."
	::= {securitySSH 6}

sshAuthenMethodPubKeyAdmin OBJECT-TYPE
	SYNTAX INTEGER {
                enable(1),
                disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The object indicates authen method public-key is enabled or disabled."
	::= {securitySSH 7}	

sshAuthenMethodHostKeyAdmin OBJECT-TYPE
	SYNTAX INTEGER {
                enable(1),
                disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The object indicates authen method host-key is enabled or disabled."
	::= {securitySSH 8}

    sshCipherSuiteList OBJECT-TYPE
        SYNTAX  BITS {
        tripleDESCBC(0)
        }
     
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      
    "This object is to configure the cipher-suites list."
          
	::= { securitySSH 9}
    
    sshMacSuiteList OBJECT-TYPE
        SYNTAX  BITS {
            hMAC-SHA1(0),
            hMAC-MD5(1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION

    "This object is to configure the MAC-list."
            
	::= { securitySSH 10}


sshPublKeyRSAAdmin OBJECT-TYPE
	SYNTAX INTEGER {
		enabled(1),	
		disabled(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The object indicates Public key generating algorithm RSA is enabled or disabled."
	::= {securitySSH 11}

--************************************************************************	
-- SSH User Auth Info.
--************************************************************************
	    sshUserInfoTable OBJECT-TYPE
	       SYNTAX      SEQUENCE OF SshUserInfoEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	       DESCRIPTION
	           "A table to configure SSH user auth in the system."
	       ::= { securitySSH 12 }
	    
	    sshUserInfoEntry OBJECT-TYPE
	       SYNTAX      SshUserInfoEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	            DESCRIPTION
	                "An entry to configure user auth in the system."     
	       INDEX { sshUserInfoID }
	       ::= { sshUserInfoTable 1 }      
	       
	    SshUserInfoEntry ::=
	       SEQUENCE { 
	          	sshUserInfoID   		Integer32,      
	          	sshUserInfoUserName		DisplayString,
	          	sshUserInfoAuth         INTEGER,          	          	
	            sshUserInfoHostName		DisplayString,
	            sshUserInfoHostIp		IpAddress            
	     } 
	
	    sshUserInfoID OBJECT-TYPE 
	       SYNTAX      Integer32 (1..8)
	       MAX-ACCESS  read-only 
	       STATUS      current 
	            DESCRIPTION
	                "The Schedule identifier. The maximum number of Schedule entry is 
                     the number of ports supported PoE function.
	                 The value must be between 1 and 8."
	       ::= { sshUserInfoEntry 1 }
	    
	    sshUserInfoUserName OBJECT-TYPE 
	       SYNTAX      DisplayString (SIZE(1..20))
	       MAX-ACCESS  read-only 
	       STATUS      current 
	            DESCRIPTION
	                "The ssh user name associated with the SSH suer Info. entry (e.g., `admin, user')."
	       ::= { sshUserInfoEntry 2}	       

		sshUserInfoAuth OBJECT-TYPE
			SYNTAX INTEGER {
			    publickey(4),
				password(2),				
				hostbased(1)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The object indicates which auth used by the user."
			::= {sshUserInfoEntry 3}	       

	    sshUserInfoHostName OBJECT-TYPE 
	       SYNTAX      DisplayString (SIZE(1..20))
	       MAX-ACCESS  read-write 
	       STATUS      current 
	            DESCRIPTION
	                "The ssh host name associated with the SSH suer Info. entry (e.g., `DUT1, DUT2')."
	       ::= { sshUserInfoEntry 4}
	         
		sshUserInfoHostIp  OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "SSH HostBased IP Address of the system."
			::= { sshUserInfoEntry 5 }
			
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------      	
    securityPortSecurity                  OBJECT IDENTIFIER ::= { companySecurity 2 }
 -- Port Security Group --------------------------------------------- --
    
    portSecTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF PortSecEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control port security features of the device."
        ::= { securityPortSecurity 1 }
        
    portSecEntry OBJECT-TYPE
        SYNTAX PortSecEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in port security table for each interface 
 	        in the system."
        INDEX { portSecIndex }
        ::= { portSecTable 1 }
  
    PortSecEntry ::= 
           SEQUENCE { 
              portSecIndex 
                 Integer32, 
              portSecState 
                 INTEGER, 
              portSecMLA 
                 Integer32             

-- start DLINK_METRO_LIKE_LOCK_ADDRESS_MODE
              ,
              portSecLockAddrMode
                 INTEGER
-- end DLINK_METRO_LIKE_LOCK_ADDRESS_MODE
          }
        
               
         portSecIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies.
               For all machines give maximum port number."
           ::= { portSecEntry 1 }
            
        
         portSecState 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."
        
           ::= { portSecEntry 2 }
        
        
        portSecMLA 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."
        
           ::= {portSecEntry 3}

-- start DLINK_METRO_LIKE_LOCK_ADDRESS_MODE
         portSecLockAddrMode 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."

           ::= { portSecEntry 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."
        ::= { securityPortSecurity 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 { portSecFDBPermPort, portSecFDBPermIndex}
        ::= { portSecFDBPermanentTable 1 }
  
    PortSecFDBPermanentEntry ::= 
           SEQUENCE { 
	    portSecFDBPermIndex		INTEGER,
            portSecFDBPermVlanID        INTEGER,
            portSecFDBPermMac           MacAddress,
            portSecFDBPermPort          INTEGER
          }

        portSecFDBPermIndex OBJECT-TYPE
            SYNTAX INTEGER (1..28)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The index of the port security MAC entry.
                For all machines give maximum port number."
            ::= { portSecFDBPermanentEntry 1 }

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

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

        portSecFDBPermPort OBJECT-TYPE
            SYNTAX INTEGER (1..28)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The forwarding port of the port security MAC entry.
                For all machines give maximum port number."
            ::= { portSecFDBPermanentEntry 4 }
        
-- end DLINK_METRO_LIKE_LOCK_ADDRESS_MODE
		portSecTableClearPortList OBJECT-TYPE
		SYNTAX      PortList
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
            "This object allow the user to set the port list for portSecTableClear."
		::= { securityPortSecurity 3 }
		
		portSecTableClear OBJECT-TYPE
			SYNTAX      TruthValue 
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
			"This object allows the user to clear portSecTable entry.
			Setting  a value of 'true' causes the portSecTable entry to 
			be cleared."
			DEFVAL  { false }
            ::= { securityPortSecurity  4 }
 -- ----------------------------------------------------------
 -- The companyCableDiagnostic Groups
 -- ----------------------------------------------------------
 -- Cable Diagnostics Group --------------------------------------------- --

         cableDiagTable OBJECT-TYPE 
           SYNTAX SEQUENCE OF CableDiagEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "A table that contains the cable situation for each port."
           ::= {companyCableDiagnostic 1 }         
    
         cableDiagEntry OBJECT-TYPE 
           SYNTAX      CableDiagEntry  
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "A list of cable situations for each port on the device."
            INDEX { cableDiagPortIndex }
            ::= { cableDiagTable 1 }

        CableDiagEntry ::= 
          SEQUENCE {
              cableDiagPortIndex
                  Integer32,
			  cableDiagPortType
				  INTEGER,
			  cableDiagLinkStatus
				  INTEGER,
			  cableDiagPair1Status
				  INTEGER,
			  cableDiagPair2Status
				  INTEGER,
			  cableDiagPair3Status
				  INTEGER,
			  cableDiagPair4Status
				  INTEGER,
		      cableDiagPair1Length
				  Integer32,
			  cableDiagPair2Length
				  Integer32,
			  cableDiagPair3Length
			      Integer32,
		      cableDiagPair4Length
			      Integer32,
		      cableDiagAction
				  INTEGER,
			  cableDiagStatus
				  INTEGER	                
            }


        cableDiagPortIndex OBJECT-TYPE
          SYNTAX      Integer32 (1..28)
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "The interface index for which the configuration in this 
              entry applies.
              For all machines give maximum port number."
          ::= { cableDiagEntry 1 }

        cableDiagPortType OBJECT-TYPE
          SYNTAX INTEGER {
    			fastEthernet(0),
    			gigaEthernet(1),
    			other(2)
    	    	}
          MAX-ACCESS  read-only
          STATUS current
          DESCRIPTION
            "Indicates the supported port data rate classification."
          ::= { cableDiagEntry 2 }

        cableDiagLinkStatus OBJECT-TYPE
          SYNTAX INTEGER {
               linkdown(0),
               linkup(1),
               other(2)
               }
          MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
            "This object indicates the link status."
          ::= { cableDiagEntry 3 }


        cableDiagPair1Status OBJECT-TYPE
          SYNTAX INTEGER  {
               ok(0),
               open(1),
               short(2),
               open-short(3),
               crosstalk(4),
               mismatch(5),
               linedriver(6),
               unknown(7),
               count(8),
               no-cable(9),
               other(10)
            }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
              "Cable diagnostics pair 1 test result."
          ::= {cableDiagEntry 4 }

        cableDiagPair2Status OBJECT-TYPE
          SYNTAX INTEGER  {
               ok(0),
               open(1),
               short(2),
               open-short(3),
               crosstalk(4),
               mismatch(5),
               linedriver(6),
               unknown(7),
               count(8),
               no-cable(9),
               other(10)
            }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
             "Cable diagnostics pair 2 test result."
          ::= {cableDiagEntry 5 }

        cableDiagPair3Status OBJECT-TYPE
          SYNTAX INTEGER  {
               ok(0),
               open(1),
               short(2),
               open-short(3),
               crosstalk(4),
               mismatch(5),
               linedriver(6),
               unknown(7),
               count(8),
               no-cable(9),
               other(10)
          }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
             "Cable diagnostics pair 3 test result."
          ::= {cableDiagEntry 6 }

        cableDiagPair4Status OBJECT-TYPE
          SYNTAX INTEGER  {
               ok(0),
               open(1),
               short(2),
               open-short(3),
               crosstalk(4),
               mismatch(5),
               linedriver(6),
               unknown(7),
               count(8),
               no-cable(9),
               other(10)
          }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
             "Cable diagnostics pair 4 test result."
          ::= {cableDiagEntry 7}

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

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

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

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

        cableDiagAction  OBJECT-TYPE 
          SYNTAX  INTEGER {
               action(1),
               processing(2),
               other(3),
               action_careful_mode(4)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
            "Function to run the cable diagnostic on selected port.
             Can not detect fiber ports"
         ::= { cableDiagEntry 12} 


        cableDiagStatus  OBJECT-TYPE 
          SYNTAX  INTEGER {
               notrun(1),
               processing(2),
               lasttestok(3),
               lasttestfailed(4)
               }
          MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
            "Indicates the status of cable diagnostics on the port.
            	not-run - cable diagnostics has never been run for this port
            	processing - cable diagnostics is currently running on the port
            	last-test-ok - the last cable diagnostics done on the port was successful
            	last-test-failed - the last cable diagnostics done on the port failed"
          ::= { cableDiagEntry 13 } 
         autoCableDiagTable OBJECT-TYPE 
           SYNTAX SEQUENCE OF AutoCableDiagEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "When detecting a port linkdown, system will execute cable diagnostic function on the port, 
               and then send the trap that includes test result."
           ::= {companyCableDiagnostic 2 }         
    
         autoCableDiagEntry OBJECT-TYPE 
           SYNTAX      AutoCableDiagEntry  
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "When detecting a port linkdown, system will execute cable diagnostic function on the port, 
               and then send the trap that includes test result."
            INDEX { autoCableDiagPortIndex }
            ::= { autoCableDiagTable 1 }

        AutoCableDiagEntry ::= 
          SEQUENCE {
              autoCableDiagPortIndex
                  Integer32,
              autoCableDiagStatus
                  INTEGER}

        autoCableDiagPortIndex OBJECT-TYPE
          SYNTAX      Integer32 (1..28)
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "The interface index for which the configuration in this 
              entry applies.
              For all machines give maximum port number."
          ::= { autoCableDiagEntry 1 }

        autoCableDiagStatus OBJECT-TYPE
          SYNTAX INTEGER {
               enabled (1), 
               disabled (2)
          }
          MAX-ACCESS  read-write
          STATUS  current
          DESCRIPTION
            "This object indicates the link status."
          ::= { autoCableDiagEntry 2 }
    -- ------------------------------------------------------------------ 
    -- companyACLGroup
    -- ------------------------------------------------------------------

        -- ACL Profile Group --------------------------------------------------
        aclProfile       OBJECT IDENTIFIER ::= { companyACLGroup 1 }
        
        -- IPv6 ACL Profile Group --------------------------------------------------
        aclProfileTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF AclProfileEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to ACL profile .
               "
           ::= { aclProfile 2 }
        
        aclProfileEntry OBJECT-TYPE 
           SYNTAX      AclProfileEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a ACL profile.
                 Index to the table is ACL profile ID. "
           INDEX { aclProfileNo}
           ::= { aclProfileTable 1 }
           
        AclProfileEntry ::= 
           SEQUENCE { 
              aclProfileNo 
                 Integer32, 
              aclProfileType 
                 INTEGER, 
              aclProfileRuleCount 
                 Integer32,  
              aclProfileMask 
                 OCTET STRING,
              aclProfileDstMacAddrMask 
                 MacAddress,          
              aclProfileSrcMacAddrMask 
                 MacAddress,         
              aclProfileIPProtocol  
                 INTEGER, 
              aclProfileIPProtocolMask  
                 OCTET STRING,  
              aclProfileDstIpAddrMaskType  
                 INTEGER, 
              aclProfileDstIpAddrMask 
                 Ipv6Address,
              aclProfileSrcIpAddrMaskType  
                 INTEGER, 
              aclProfileSrcIpAddrMask 
                 Ipv6Address,
              aclProfileDstPortMask
                 OCTET STRING,         
              aclProfileSrcPortMask
                 OCTET STRING,       
              aclProfileUdfOffsetMap
                 OCTET STRING,
              aclUdfOffsetChunk1
                 Integer32,
              aclUdfOffsetMask1
                 OCTET STRING,
              aclUdfOffsetChunk2
                 Integer32,
              aclUdfOffsetMask2
                 OCTET STRING,
              aclUdfOffsetChunk3
                 Integer32,
              aclUdfOffsetMask3
                 OCTET STRING,
              aclUdfOffsetChunk4
                 Integer32,
              aclUdfOffsetMask4
                 OCTET STRING,
              aclProfileStatus
                 RowStatus
          }
        
        aclProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile ID. The ID 1 to 50 is user-defined ACL,
               and the ID more than 50 is reserved for system-defined ACL.
               The user only allow to create user-defined ACL ID.
               And system-defined ACL is read only."
           ::= { aclProfileEntry 1 }
        
        aclProfileType OBJECT-TYPE 
           SYNTAX   INTEGER  {
                          l2 (1),
                          l3v4 (2),
                          l3v6 (11),
                          impb (3),
                          aclQos (8) ,
                          userDefined(9)
                       }
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile type, possible value are
              l2 (1) - for MAC-based rule, 
              l3v4 (2) - for IPv4-based rule,
              l3v6 (11) - for IPv6-based rule,              
              voiceVlan(6) - for Voice VLAN OUI entry.
              userDefined(9) - for User Defined entry.
              Note that only l2, l3 and userDefined could be set by user, 
              other is reserved for system to show information.
              "
           ::= { aclProfileEntry 2 }
        
        aclProfileRuleCount  OBJECT-TYPE 
           SYNTAX   Integer32 (0..65535)
           MAX-ACCESS   read-only 
           STATUS      current 
           DESCRIPTION 
              "The number of rules in this profile."
           ::= { aclProfileEntry 3 }
              
              
        aclProfileMask OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write  
           STATUS      current 
           DESCRIPTION 
              "Indicate which field want to care in the packet.
               Turn on the following bits to select the following items
               Type        Item                   BIT         
               ------------------------------------------
               L2          DST_MAC                0 (LSB)        
               L2          SRC_MAC                1         
               L2          VID                    2         
               L2          8021P_PRIORITY         3         
               L2          ETHER_TYPE             4         
               L3          DSCP                   5         
               L3          ICMP_TYPE              6         
               L3          ICMP_CODE              7         
               L3          IGMP_TYPE              8         
               L3          DST_IP                 9         
               L3    	   SRC_IP                 10        
               L3    	   DST_PORT               11        
               L3          SRC_PORT               12        
               L3          TCPFLAG                13 (MSB)
               L3          TOS                    16
               UDF         UDF1                   17
               UDF         UDF2                   18
               UDF         UDF3                   19
               UDF         UDF4                   20
               L3v6        TRAFFIC_CLASS          21
               L3v6        DST_IPV6               22  
               L3v6        SRC_IPV6               23  (MSB)
               -------------------------------------------
               
               The value is in Hex format.
              "
           ::= { aclProfileEntry 4 }      
       

        aclProfileDstMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile destination MAC address mask.
               If DST_MAC is turn on in aclProfileMask, 
               it will work with its member rule field,aclL2RuleDstMacAddr, 
               to caculate a range of MAC address which is really care.
              "
           ::= { aclProfileEntry 5 }
        
        
        aclProfileSrcMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile source MAC address mask.
               If SRC_MAC is turn on in aclProfileMask, 
               it will work with its member rule field,aclL2RuleSrcMacAddr, 
               to caculate a range of MAC address which is really care.
              "
           ::= { aclProfileEntry 6 }
        
        
        aclProfileIPProtocol OBJECT-TYPE 
           SYNTAX   INTEGER  {  
                         none(0),   
           				 icmp(1),
           				 igmp(2),
           				 tcp(6),
          				 udp(17),
          				 icmpv6(58)
                         ,ipProtocolMask(255)
                        }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Indicate which IP Protocol will be care in this profile.
               Only profile type is l3 can set the IP protocol.
               For others, this field will be none.
              "
           ::= { aclProfileEntry 7 } 
        aclProfileIPProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile IP protocol mask.
               If aclProfileIPProtocol set to ipMask, this field will be refered.
               It will work with its member rule field,aclL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { aclProfileEntry 8 }
		aclProfileDstIpAddrMaskType OBJECT-TYPE
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "IPv6 Address type."
              ::= { aclProfileEntry 9 }
        aclProfileDstIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile destination IP address mask.
               If DST_IP is turn on in aclProfileMask, 
               it will work with its member rule field,aclL3RuleDstIpAddr, 
               to caculate a range of IP address which is really care.
               The value is in HEX format, for example:
               '255.255.255.0' is presented to 'FFFFFF00'
              "
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 10 }
        
		aclProfileSrcIpAddrMaskType OBJECT-TYPE
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "IPv6 Address type."
              ::= { aclProfileEntry 11 }
        
        aclProfileSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile source IP address mask.
               If SRC_IP is turn on in aclProfileMask, 
               it will work with its member rule field,aclL3RuleSrcIpAddr, 
               to caculate a range of IP address which is really care.
               The value is in HEX format, for example:
               '255.255.255.0' is presented to 'FFFFFF00'
              "
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 12 }
        
        aclProfileDstPortMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile UDP/TCP destination port mask.
               If DST_PORT is turn on in aclProfileMask, 
               it will work with its member rule field,aclL3RuleTcpUdpDstPort, 
               to caculate a range of destination port which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FFFF'h }   
           ::= { aclProfileEntry 13 }
           
        
        aclProfileSrcPortMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The ACL Profile UDP/TCP source port mask.
               If SRC_PORT is turn on in aclProfileMask, 
               it will work with its member rule field,aclL3RuleTcpUdpSrcPort, 
               to caculate a range of source port which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FFFF'h }     
           ::= { aclProfileEntry 14 }   


        aclProfileUdfOffsetMap OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write  
           STATUS      current 
           DESCRIPTION 
              "Indicate which Udf field want to care in the packet.
               Turn on the following bits to select the following items
               Type        Item                   BIT         
               ------------------------------------------
               UDF         Offset1                 0 (LSB)        
               UDF         Offset2                 1         
               UDF         Offset3                 2         
               UDF         Offset4                 3         
               -------------------------------------------
               
               The value is in Hex format.
              "
           ::= { aclProfileEntry 17 }  
           
        aclUdfOffsetChunk1  OBJECT-TYPE 
           SYNTAX   Integer32 (0..31)
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The value of offset Chunk."
           ::= { aclProfileEntry 19 }

        aclUdfOffsetMask1  OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write
           STATUS      current 
           DESCRIPTION 
              "The value of offset MAsk."
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 20 }

        aclUdfOffsetChunk2  OBJECT-TYPE 
           SYNTAX   Integer32 (0..31)
           MAX-ACCESS   read-write
           STATUS      current 
           DESCRIPTION 
              "The value of offset Chunk."
           ::= { aclProfileEntry 22 }

        aclUdfOffsetMask2  OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The value of offset MAsk."
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 23 }
           
        aclUdfOffsetChunk3  OBJECT-TYPE 
           SYNTAX   Integer32 (0..31)
           MAX-ACCESS   read-write
           STATUS      current 
           DESCRIPTION 
              "The value of offset Chunk."
           ::= { aclProfileEntry 25 }

        aclUdfOffsetMask3  OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write
           STATUS      current 
           DESCRIPTION 
              "The value of offset MAsk."
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 26 }
           
        aclUdfOffsetChunk4  OBJECT-TYPE 
           SYNTAX   Integer32 (0..31)
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The value of offset Chunk."
           ::= { aclProfileEntry 28 }

        aclUdfOffsetMask4  OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The value of offset MAsk."
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclProfileEntry 29 }

        aclProfileStatus 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 the three values of aclProfileType,
                 aclProfileMask and ProtocolType are not conflicted.
               "
        
           ::= { aclProfileEntry 34 }

        -- ------------------------------------------------------------------ 
        -- L2 Filter Group --------------------------------------------------
        aclL2Rule       OBJECT IDENTIFIER ::= { companyACLGroup 2 }

        aclL2RuleTable OBJECT-TYPE 
        
           SYNTAX      SEQUENCE OF AclL2RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to configure L2 filter rules in the system."
           ::= { aclL2Rule 1 }
        
        aclL2RuleEntry OBJECT-TYPE 
           SYNTAX      AclL2RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "Each entry in this table is a L2 filter rule.
               Index to the table is the L2 filter number and Profile ID."
           INDEX {aclL2ProfileID, aclL2AccessID}
           ::= { aclL2RuleTable 1 }
           
        AclL2RuleEntry ::= 
           SEQUENCE { 
              aclL2AccessID 
                 Integer32,        
              aclL2ProfileID 
                 Integer32, 
              aclL2RuleEtherType 
                 Integer32, 
              aclL2RuleDstMacAddr 
                 MacAddress, 
              aclL2RuleSrcMacAddr 
                 MacAddress, 
              aclL2RuleVlanId 
                 Integer32,
              aclL2Rule1pPriority
                 Integer32,
              aclL2RuleDstMacAddrMask 
                 MacAddress, 
              aclL2RuleSrcMacAddrMask 
                 MacAddress,   
              aclL2RuleAction 
                 INTEGER, 
              aclL2RuleRateLimit 
                 Unsigned32, 
              aclL2RuleReplaceDSCP 
                 Integer32, 
              aclL2RuleReplace1P 
                 Integer32, 
              aclL2RuleReplaceQueue 
                 Integer32,  
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
              aclL2RuleReplaceVLAN 
                 Integer32, 
--end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
              aclL2RuleFilterTimeRange 
                OCTET STRING,
              aclL2RuleVlanIdMask
                OCTET STRING,
              aclL2RuleMatchCount
                 Unsigned32,
              aclL2RuleInPortList 
                 PortList,
              aclL2RuleInVlanList 
                 OCTET STRING,
              aclL2RuleStatus
                 RowStatus      
          }
        
        aclL2AccessID OBJECT-TYPE 
           SYNTAX      Integer32 (0..250)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L2 Filter rule ID. 0 means auto assign."
           ::= { aclL2RuleEntry 1 }
            
        aclL2ProfileID OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "ACL Profile ID which this rule join."
           DEFVAL  { 1 }
           ::= { aclL2RuleEntry 2 }
           
        aclL2RuleEtherType OBJECT-TYPE 
           SYNTAX      Integer32  (-1 | 1501..65535)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The value in the Type/Len field of a frame that will
              be matched to trigger this filter. The default value of
              this object is '-1', which means the rule don't care this 
              condition."
           DEFVAL  { -1 }
           ::= { aclL2RuleEntry 3 }
                      
        aclL2RuleDstMacAddr OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination MAC address to be matched with the packet. By Default, the
               Destination Mac Address will be zero,which means the rule don't care this 
               condition." 
           ::= { aclL2RuleEntry 4 }
        
        aclL2RuleSrcMacAddr OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source MAC address to be matched with the packet. By Default, the Source 
               Mac Address will be zero, which means the rule don't care this condition..
               address"
           ::= { aclL2RuleEntry 5 }
                
        aclL2RuleVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (-1..4094)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
              be treated as customer Vlan Id. By Default, the value will be '-1', 
              which means the rule don't care this condition."
           DEFVAL  { -1 }
           ::= { aclL2RuleEntry 6 }        
         
         aclL2Rule1pPriority OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "802.1p priority to be matched with the packet. By Default, the value
              will be '-1', which means the rule don't care this condition."
          DEFVAL  { -1 }
           ::= { aclL2RuleEntry 7 }   
        
        aclL2RuleDstMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address Mask work for Destination MAC address.
              This field is read-only and copy from it's Profile setting."
              
           ::= { aclL2RuleEntry 8 }
        
        aclL2RuleSrcMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address Mask work for Source MAC address.
              This field is read-only and copy from it's Profile setting."
        
           ::= { aclL2RuleEntry 9 } 
        
        aclL2RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                          ,mirror (3)
                          ,rateLimit(4)
                          ,replaceDSCP(5)
                          ,replace1P(6)
                          ,replaceQueue(7)
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                          ,replaceVLAN(8)
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches.
              If the action is 'allow', the packet will be forwarded according
              to the forwarding rules.
              If the action is 'drop', the packet will be discarded."
           DEFVAL  { allow } 
           ::= { aclL2RuleEntry 11 }
         aclL2RuleRateLimit OBJECT-TYPE 
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Rate limit for matched packet."
        
           ::= { aclL2RuleEntry 12 }

          aclL2RuleReplaceDSCP OBJECT-TYPE 
           SYNTAX      Integer32  (-1..63)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched packet."
        
           ::= { aclL2RuleEntry 13 }
           
          aclL2RuleReplace1P OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched packet."
        
           ::= { aclL2RuleEntry 14 }
         aclL2RuleReplaceQueue OBJECT-TYPE 
           SYNTAX      Integer32  
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "ACL L2 Rule Replace Queue."
        
           ::= { aclL2RuleEntry 15 }

-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
          aclL2RuleReplaceVLAN OBJECT-TYPE 
           SYNTAX      Integer32  (-1..4094)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace VLAN for matched packet."
        
           ::= { aclL2RuleEntry 16 }
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON

        aclL2RuleFilterTimeRange OBJECT-TYPE
           SYNTAX      OCTET STRING 
           MAX-ACCESS  read-create
           STATUS  current
           DESCRIPTION
            "ACL L2 Filter Time Range"
        ::= { aclL2RuleEntry 17 }   
         
	aclL2RuleVlanIdMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              
              "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
              be treated as customer Vlan Id. By Default, the value will be '-1', 
              which means the rule don't care this condition."
              
           DEFVAL  { 'FFFF'h }   
           ::= { aclL2RuleEntry 18 }

        aclL2RuleMatchCount OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The num of the L2 rule matches"
           ::= { aclL2RuleEntry 19 }

        aclL2RuleInPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which this filter is applied
               for packets ingress at ports in this list." 
           ::= { aclL2RuleEntry 51 }
           
        aclL2RuleInVlanList OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of Vlan over which this filter is applied
               for packets ingress at vlan . Notice : Only support one VLAN." 
           ::= { aclL2RuleEntry 52 }


         aclL2RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { aclL2RuleEntry 99 }    

        -- ------------------------------------------------------------------ 
        -- L3 Filter Group --------------------------------------------------
        aclL3Rule       OBJECT IDENTIFIER ::= { companyACLGroup 3 }
         
        aclL3RuleTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF AclL3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to configure L3 filter rules in the system.
               "
           ::= { aclL3Rule 1 }
        
        aclL3RuleEntry OBJECT-TYPE 
           SYNTAX      AclL3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a L3 filter rule.
                 Index to the table is L3 filter number and Profile ID."
           INDEX {aclL3RuleProfileNo, aclL3RuleAccessID }
           ::= { aclL3RuleTable 1 }
           
        AclL3RuleEntry ::= 
           SEQUENCE { 
              aclL3RuleAccessID 
                 Integer32, 
              aclL3RuleProfileNo 
                 Integer32,
              aclL3RuleProtocol  
                 INTEGER, 
              aclL3RuleProtocolMask  
                 OCTET STRING, 
              aclL3RuleICMPMessageType 
                 Integer32, 
              aclL3RuleICMPMessageCode 
                 Integer32, 
              aclL3RuleDstIpAddr 
                 IpAddress, 
              aclL3RuleSrcIpAddr 
                 IpAddress, 
              aclL3RuleDstIpAddrMask 
                 IpAddress, 
              aclL3RuleSrcIpAddrMask 
                 IpAddress,
              aclL3RuleTcpUdpDstPort
                 Integer32, 
              aclL3RuleTcpUdpSrcPort
                 Integer32, 
              aclL3RuleTcpUdpDstPortMask
                OCTET STRING,         
              aclL3RuleTcpUdpSrcPortMask
                OCTET STRING,         
              aclL3RuleTcpAckBit
                 INTEGER,
              aclL3RuleTcpRstBit
                 INTEGER,
              aclL3RuleTcpUrgBit
                 INTEGER,
              aclL3RuleTcpPshBit
                 INTEGER,
              aclL3RuleTcpSynBit
                 INTEGER,
              aclL3RuleTcpFinBit
                 INTEGER,
              aclL3RuleDscp
                 Integer32,
              aclL3RuleTos
                 Integer32,
              aclL3RuleIgmpType
                 Integer32,
              aclL3RuleAction 
                 INTEGER, 
              aclL3RuleRateLimit 
                 Unsigned32,
              aclL3RuleReplaceDSCP 
                 Integer32,
              aclL3RuleReplace1P 
                 Integer32,
              aclL3RuleReplaceQueue 
                 Integer32, 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
              aclL3RuleReplaceVLAN
                 Integer32,
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
              aclL3RuleFilterTimeRange 
                 OCTET STRING,
              aclL3RuleMatchCount
                  Unsigned32,
              aclL3RulePortList 
                 PortList,
              aclL3RuleVlanList 
                 OCTET STRING,
              aclL3RuleStatus
                 RowStatus         
          }
        
        aclL3RuleAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (0..250)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L3 Filter rule ID. 0 means auto assign."
           ::= { aclL3RuleEntry 1 }
            
        aclL3RuleProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "The Profile ID which this rule join."
           ::= { aclL3RuleEntry 2 }
              
        aclL3RuleProtocol OBJECT-TYPE 
           SYNTAX      INTEGER  {     
           				 icmp(1),
           				 igmp(2),
           				 tcp(6),
          				 udp(17)
                        } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The type of protocol to be checked against the packet."
           ::= { aclL3RuleEntry 3 }
           
        aclL3RuleProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP protocol mask.
               This field is read-only and copy from it's Profile setting.
               It will work with the other field,aclL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { aclL3RuleEntry 4 }

        aclL3RuleICMPMessageType OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The message type to be checked against the packet. If the
              message type matches with the packet, then the packet will be
              dropped / allowed based on the action set in aclL3RuleAction.
              The default value is '-1',which means the rule don't care this 
              condition.
              Some ICMP message types are: 
                   echoReply(0),
                   destinationUnreachable(3),
                   sourceQuench(4),
                   redirect(5),
                   echoRequest(8),
                   timeExceeded(11),
                   parameterProblem(12),
                   timestampRequest(13),
                   timestampReply(14),
                   informationRequest(15),
                   informationReply(16),
                   addressMaskRequest(17),
                   addressMaskReply (18),
              "
           DEFVAL  { -1 }
           ::= { aclL3RuleEntry 5 }
        
        aclL3RuleICMPMessageCode OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The message code to be checked against the packet. If the
              packet matches with the message code, then the packet will
              be dropped / allowed based on the action set in aclL3RuleAction.
              The default value is '-1', which means the rule don't care this 
              condition.
              Some ICMP message codes are :
                   networkUnreachable(0),
                   hostUnreachable(1),
                   protocolUnreachable(2),
                   portUnreachable(3),
                   fragmentNeed(4),
                   sourceRouteFail(5),
                   destNetworkUnknown(6),
                   destHostUnknown(7),
                   srcHostIsolated(8),
                   destNetworkAdminProhibited(9),
                   destHostAdminProhibited(10),
                   networkUnreachableTOS(11),
                   hostUnreachableTOS(12),
              "
           DEFVAL   { -1 }
           ::= { aclL3RuleEntry 6 }     
        
        aclL3RuleDstIpAddr OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination IP address to be matched with the packet.
               The default value will be zero, which means the rule 
               don't care this condition."
           DEFVAL  { '00000000'h }
           ::= { aclL3RuleEntry 7 }
        
        aclL3RuleSrcIpAddr OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source IP address to be matched with the packet.
              The default value will be zero, which means the 
              rule don't care this condition."

           DEFVAL  { '00000000'h }
           ::= { aclL3RuleEntry 8 }
        
        aclL3RuleDstIpAddrMask OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Destination IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclL3RuleEntry 9 }
        
        aclL3RuleSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Source IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclL3RuleEntry 10 }
        
        aclL3RuleTcpUdpDstPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP destination port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { aclL3RuleEntry 11 }
        
        aclL3RuleTcpUdpSrcPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP source port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { aclL3RuleEntry 12 }
           
        aclL3RuleTcpUdpDstPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Destination port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { aclL3RuleEntry 13 }
        
        aclL3RuleTcpUdpSrcPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Source port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { aclL3RuleEntry 14 } 
           
        aclL3RuleTcpAckBit		OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP ACK bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 15 }
        
        aclL3RuleTcpRstBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP RST bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 16 }
        
        aclL3RuleTcpUrgBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Urg bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 17 }
        	
        aclL3RuleTcpPshBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Psh bit to be checked against the packet. The default 
        		value is 'dont_care'(-1). which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 18 }	
        
        aclL3RuleTcpSynBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Syn bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 19 }		
        
        aclL3RuleTcpFinBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Fin bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclL3RuleEntry 20 }		  
        
        aclL3RuleDscp		OBJECT-TYPE
        	SYNTAX		Integer32 (-1..63)
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The IP Dscp value to be checked against the packet. 
                A default value is '-1', which means the rule don't 
                care this condition."
        	DEFVAL	{ -1 }
        	::= { aclL3RuleEntry 21 }
        	
        aclL3RuleTos		OBJECT-TYPE
        	SYNTAX		Integer32 (-1..7)
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The IP Dscp value to be checked against the packet. 
                A default value is '-1', which means the rule don't 
                care this condition."
        	DEFVAL	{ -1 }
        	::= { aclL3RuleEntry 22 }

        aclL3RuleIgmpType	 OBJECT-TYPE
        	SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The IGMP Type to be checked against the packet.A default value is '-1',
             which means the rule don't care this condition."
           DEFVAL  { -1 }
           ::= { aclL3RuleEntry 23 }
           
           
        aclL3RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                          ,mirror (3)
                          ,rateLimit(4)
                          ,replaceDSCP(5)
                          ,replace1P(6)
                          ,replaceQueue(7)
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
                          ,replaceVLAN(8)
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches."
           DEFVAL  { allow } 
           ::= { aclL3RuleEntry 25 }
        aclL3RuleRateLimit OBJECT-TYPE 
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Rate limit for matched packet."
        
           ::= { aclL3RuleEntry 26 }
        aclL3RuleReplaceDSCP OBJECT-TYPE 
           SYNTAX      Integer32  (-1..63)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "ReplaceDSCP for matched packet."
        
           ::= { aclL3RuleEntry 27 }

        aclL3RuleReplace1P OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "ReplaceDSCP for matched packet."
        
           ::= { aclL3RuleEntry 28 }
        aclL3RuleReplaceQueue OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Acl L3 Rule Replace Queue."
            ::= { aclL3RuleEntry 29 }
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
        aclL3RuleReplaceVLAN OBJECT-TYPE 
           SYNTAX      Integer32  (-1..4094)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "ReplaceVLAN for matched packet."
            ::= { aclL3RuleEntry 30 }
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
        aclL3RuleFilterTimeRange OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-create
           STATUS  current
           DESCRIPTION
            "ACL L3 Filter Time Range"
        ::= { aclL3RuleEntry 31 }  

        aclL3RuleMatchCount OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The num of the L3 rule matches"
           ::= { aclL3RuleEntry 32 }

        aclL3RulePortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which if the packet arrives
              this filter rule will be applicable."
 
           ::= { aclL3RuleEntry 51 }
         	       	
           
        aclL3RuleVlanList OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of vlan over which if the packet arrives
              this filter rule will be applicable. Notice : only support one vlan."
 
           ::= { aclL3RuleEntry 52 }
           

        aclL3RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { aclL3RuleEntry 99 }

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

        aclv6L3RuleTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF Aclv6L3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to configure L3 filter rules in the system.
               "
           ::= { aclL3Rule 2 }
        
        aclv6L3RuleEntry OBJECT-TYPE 
           SYNTAX      Aclv6L3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a L3 filter rule.
                 Index to the table is L3 filter number and Profile ID."
           INDEX {aclv6L3RuleProfileNo, aclv6L3RuleAccessID }
           ::= { aclv6L3RuleTable 1 }
           
        Aclv6L3RuleEntry ::= 
           SEQUENCE { 
              aclv6L3RuleAccessID 
                 Integer32, 
              aclv6L3RuleProfileNo 
                 Integer32,
              aclv6L3RuleProtocol  
                 INTEGER, 
              aclv6L3RuleProtocolMask  
                 OCTET STRING, 
              aclv6L3RuleICMPMessageType 
                 Integer32, 
              aclv6L3RuleICMPMessageCode 
                 Integer32, 
              aclv6L3RuleDstIpAddr 
                 Ipv6Address,
              aclv6L3RuleSrcIpAddr 
                 Ipv6Address, 
              aclv6L3RuleDstIpAddrMask 
                 Ipv6Address, 
              aclv6L3RuleSrcIpAddrMask 
                 Ipv6Address,
              aclv6L3RuleTcpUdpDstPort
                 Integer32, 
              aclv6L3RuleTcpUdpSrcPort
                 Integer32, 
              aclv6L3RuleTcpUdpDstPortMask
                OCTET STRING,         
              aclv6L3RuleTcpUdpSrcPortMask
                OCTET STRING,         
              aclv6L3RuleTcpAckBit
                 INTEGER,
              aclv6L3RuleTcpRstBit
                 INTEGER,
              aclv6L3RuleTcpUrgBit
                 INTEGER,
              aclv6L3RuleTcpPshBit
                 INTEGER,
              aclv6L3RuleTcpSynBit
                 INTEGER,
              aclv6L3RuleTcpFinBit
                 INTEGER,
              aclv6L3RuleTrafficClass
                 Integer32,
              aclv6L3RuleAction 
                 INTEGER, 
              aclv6L3RuleRateLimit 
                 Unsigned32,
              aclv6L3RuleReplaceDSCP 
                 Integer32,
              aclv6L3RuleReplace1P 
                 Integer32,
              aclv6L3RuleReplaceQueue 
                 Integer32, 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
              aclv6L3RuleReplaceVLAN
                 Integer32,
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
              aclv6L3RuleFilterTimeRange 
                 OCTET STRING,
              aclv6L3RuleMatchCount
                  Unsigned32,
              aclv6L3RulePortList 
                 PortList,
              aclv6L3RuleVlanList 
                 OCTET STRING,
              aclv6L3RuleStatus
                 RowStatus         
          }
        
        aclv6L3RuleAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (0..250)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L3 Filter rule ID.  0 means auto assign."
           ::= { aclv6L3RuleEntry 1 }
            
        aclv6L3RuleProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "The Profile ID which this rule join."
           ::= { aclv6L3RuleEntry 2 }
              
        aclv6L3RuleProtocol OBJECT-TYPE 
           SYNTAX      INTEGER  {     
           				 tcp(6),
          				 udp(17),
           				 icmpv6(58)
                        } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The type of protocol to be checked against the packet."
           ::= { aclv6L3RuleEntry 3 }
           
        aclv6L3RuleProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP protocol mask.
               This field is read-only and copy from it's Profile setting.
               It will work with the other field,aclL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { aclv6L3RuleEntry 4 }

        aclv6L3RuleICMPMessageType OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The message type to be checked against the packet. If the
              message type matches with the packet, then the packet will be
              dropped / allowed based on the action set in aclL3RuleAction.
              The default value is '-1',which means the rule don't care this 
              condition.
              Some ICMP message types are: 
                   echoReply(0),
                   destinationUnreachable(3),
                   sourceQuench(4),
                   redirect(5),
                   echoRequest(8),
                   timeExceeded(11),
                   parameterProblem(12),
                   timestampRequest(13),
                   timestampReply(14),
                   informationRequest(15),
                   informationReply(16),
                   addressMaskRequest(17),
                   addressMaskReply (18),
              "
           DEFVAL  { -1 }
           ::= { aclv6L3RuleEntry 5 }
        
        aclv6L3RuleICMPMessageCode OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The message code to be checked against the packet. If the
              packet matches with the message code, then the packet will
              be dropped / allowed based on the action set in aclL3RuleAction.
              The default value is '-1', which means the rule don't care this 
              condition.
              Some ICMP message codes are :
                   networkUnreachable(0),
                   hostUnreachable(1),
                   protocolUnreachable(2),
                   portUnreachable(3),
                   fragmentNeed(4),
                   sourceRouteFail(5),
                   destNetworkUnknown(6),
                   destHostUnknown(7),
                   srcHostIsolated(8),
                   destNetworkAdminProhibited(9),
                   destHostAdminProhibited(10),
                   networkUnreachableTOS(11),
                   hostUnreachableTOS(12),
              "
           DEFVAL   { -1 }
           ::= { aclv6L3RuleEntry 6 }     
        
        aclv6L3RuleDstIpAddr OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination IP address to be matched with the packet.
               The default value will be zero, which means the rule 
               don't care this condition."
           DEFVAL  { '00000000'h }
           ::= { aclv6L3RuleEntry 7 }
        
        aclv6L3RuleSrcIpAddr OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source IP address to be matched with the packet.
              The default value will be zero, which means the 
              rule don't care this condition."

           DEFVAL  { '00000000'h }
           ::= { aclv6L3RuleEntry 8 }
        
        aclv6L3RuleDstIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Destination IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclv6L3RuleEntry 9 }
        
        aclv6L3RuleSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Source IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { aclv6L3RuleEntry 10 }
        
        aclv6L3RuleTcpUdpDstPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP destination port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { aclv6L3RuleEntry 11 }
        
        aclv6L3RuleTcpUdpSrcPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP source port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { aclv6L3RuleEntry 12 }
           
        aclv6L3RuleTcpUdpDstPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Destination port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { aclv6L3RuleEntry 13 }
        
        aclv6L3RuleTcpUdpSrcPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Source port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { aclv6L3RuleEntry 14 } 
           
        aclv6L3RuleTcpAckBit		OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP ACK bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 15 }
        
        aclv6L3RuleTcpRstBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP RST bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 16 }
        
        aclv6L3RuleTcpUrgBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Urg bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 17 }
        	
        aclv6L3RuleTcpPshBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Psh bit to be checked against the packet. The default 
        		value is 'dont_care'(-1). which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 18 }	
        
        aclv6L3RuleTcpSynBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Syn bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 19 }		
        
        aclv6L3RuleTcpFinBit	 OBJECT-TYPE
        	SYNTAX	INTEGER	{
        	                    dont-care(-1),	
        						establish(1),
        						notEstablish(2)
        					}
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The TCP Fin bit to be checked against the packet. The default 
        		value is 'dont_care'(-1), which means the rule don't care this 
        		condition."
        	DEFVAL	{ dont-care }
        	::= { aclv6L3RuleEntry 20 }		  
        
        aclv6L3RuleTrafficClass		OBJECT-TYPE
        	SYNTAX		Integer32 (-1..63)
        	MAX-ACCESS	read-create
        	STATUS		current
        	DESCRIPTION
        		" The IP Dscp value to be checked against the packet. 
                A default value is '-1', which means the rule don't 
                care this condition."
        	DEFVAL	{ -1 }
        	::= { aclv6L3RuleEntry 21 }       
           
        aclv6L3RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                          ,mirror (3)
                          ,rateLimit(4)
                          ,replaceDSCP(5)     
                          ,replace1P(6)
                          ,replaceQueue(7) 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
                          ,replaceVLAN(8)
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches."
           DEFVAL  { allow } 
           ::= { aclv6L3RuleEntry 24 }
        aclv6L3RuleRateLimit OBJECT-TYPE 
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Rate limit for matched packet."
        
           ::= { aclv6L3RuleEntry 25 }
        aclv6L3RuleReplaceDSCP OBJECT-TYPE 
           SYNTAX      Integer32  (-1..63)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched packet."
        
           ::= { aclv6L3RuleEntry 26 }
           
        aclv6L3RuleReplace1P OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched packet."
        
           ::= { aclv6L3RuleEntry 27 }  
        aclv6L3RuleReplaceQueue OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Acl IPV6 L3 Rule Replace Queue."
            ::= { aclv6L3RuleEntry 28 } 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
        aclv6L3RuleReplaceVLAN OBJECT-TYPE 
           SYNTAX      Integer32  (-1..4094)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace VLAN for matched packet."
        
           ::= { aclv6L3RuleEntry 29 }
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
        aclv6L3RuleFilterTimeRange OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-create
           STATUS  current
           DESCRIPTION
            "ACL IPV6 L3 Filter Time Range"
        ::= { aclv6L3RuleEntry 30 }      
        aclv6L3RuleMatchCount OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The num of the v6L3 rule matches"
           ::= { aclv6L3RuleEntry 31 }

        aclv6L3RulePortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which if the packet arrives
              this filter rule will be applicable."
 
           ::= { aclv6L3RuleEntry 51 }
           	
           
        aclv6L3RuleVlanList OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of vlan over which if the packet arrives
              this filter rule will be applicable. Notice : only support one vlan."
 
           ::= { aclv6L3RuleEntry 52 }
                  	       	

        aclv6L3RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { aclv6L3RuleEntry 99 }


        -- ------------------------------------------------------------------ 
        -- PacketContent Filter Group --------------------------------------------------
        aclPacketRule       OBJECT IDENTIFIER ::= { companyACLGroup 4 }

        aclPacketRuleTable OBJECT-TYPE 
        
           SYNTAX      SEQUENCE OF AclPacketRuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to configure Packet Content filter rules in the system."
           ::= { aclPacketRule 1 }
        
        aclPacketRuleEntry OBJECT-TYPE 
           SYNTAX      AclPacketRuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "Each entry in this table is a Packet filter rule.
               Index to the table is the Packet filter number and Profile ID."
           INDEX {aclPacketProfileID, aclPacketAccessID}
           ::= { aclPacketRuleTable 1 }
           
        AclPacketRuleEntry ::= 
           SEQUENCE { 
              aclPacketAccessID 
                 Integer32,        
              aclPacketProfileID 
                 Integer32, 
              aclPacketRuleOffsetValue1 
                 OCTET STRING, 
              aclPacketRuleOffsetValue2 
                 OCTET STRING, 
              aclPacketRuleOffsetValue3 
                 OCTET STRING, 
              aclPacketRuleOffsetValue4 
                 OCTET STRING, 
              aclPacketRuleAction 
                 INTEGER, 
              aclPacketRuleRateLimit 
                 Unsigned32, 
              aclPacketRuleReplaceDSCP 
                 Integer32, 
              aclPacketRuleReplace1P 
                 Integer32, 
              aclPacketRuleReplaceQueue 
                 Integer32, 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
              aclPacketRuleReplaceVLAN 
                 Integer32,
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
              aclPacketRuleFilterTimeRange 
                 OCTET STRING,
			aclPacketRuleOffsetValue1Mask
			     OCTET STRING,
			aclPacketRuleOffsetValue2Mask
			     OCTET STRING,
			aclPacketRuleOffsetValue3Mask
				 OCTET STRING,
			aclPacketRuleOffsetValue4Mask
			     OCTET STRING, 
              aclPacketRuleMatchCount
                  Unsigned32,
              aclPacketRuleInPortList 
                 PortList,
              aclPacketRuleInVlanList 
                 OCTET STRING,
              aclPacketRuleStatus
                 RowStatus      
          }
        
        aclPacketAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (0..250)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Packet Filter rule ID.  0 means auto assign."
           ::= { aclPacketRuleEntry 1 }
            
        aclPacketProfileID OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "ACL Profile ID which this rule join."
           ::= { aclPacketRuleEntry 2 }
           
        aclPacketRuleOffsetValue1 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 1."
           ::= { aclPacketRuleEntry 3 }
           
        aclPacketRuleOffsetValue2 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 2."
           ::= { aclPacketRuleEntry 4 }
           
        aclPacketRuleOffsetValue3 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 3."
           ::= { aclPacketRuleEntry 5 }
           
        aclPacketRuleOffsetValue4 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 4."
           ::= { aclPacketRuleEntry 6 }
                      
                         
        aclPacketRuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                          ,mirror (3)
                          ,rateLimit(4)
                          ,replaceDSCP(5)     
                          ,replace1P(6)
                          ,replaceQueue(7) 
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
                          ,replaceVLAN(8)
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches.
              If the action is 'allow', the packet will be forwarded according
              to the forwarding rules.
              If the action is 'drop', the packet will be discarded."
           DEFVAL  { allow } 
           ::= { aclPacketRuleEntry 15 }
           
         aclPacketRuleRateLimit OBJECT-TYPE 
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Rate limit for matched packet."
        
           ::= { aclPacketRuleEntry 16 }

          aclPacketRuleReplaceDSCP OBJECT-TYPE 
           SYNTAX      Integer32  (-1..63)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched packet."
        
           ::= { aclPacketRuleEntry 17 }
           
          aclPacketRuleReplace1P OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace 1p for matched packet."
        
           ::= { aclPacketRuleEntry 18 }
          aclPacketRuleReplaceQueue OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Acl Rule Replace Queue."
        
           ::= { aclPacketRuleEntry 19 }
-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
          aclPacketRuleReplaceVLAN OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace VLAN for matched packet."
        
           ::= { aclPacketRuleEntry 20 }
-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
         aclPacketRuleFilterTimeRange OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-create
           STATUS  current
           DESCRIPTION
            "Acl Filter Time Range"
        ::= { aclPacketRuleEntry 21 }
        
        aclPacketRuleOffsetValue1Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 1."
           DEFVAL  { 'FFFF'h }   
           ::= { aclPacketRuleEntry 22 }
           
		aclPacketRuleOffsetValue2Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 2."
           DEFVAL  { 'FFFF'h }   
           ::= { aclPacketRuleEntry 23 }
           
		aclPacketRuleOffsetValue3Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 3."
           DEFVAL  { 'FFFF'h }   
           ::= { aclPacketRuleEntry 24 }
           
		aclPacketRuleOffsetValue4Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 4."
           DEFVAL  { 'FFFF'h }   
           ::= { aclPacketRuleEntry 25 }      

          aclPacketRuleMatchCount OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The num of the packet rule matches"
           ::= { aclPacketRuleEntry 26 }

        aclPacketRuleInPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which this filter is applied
               for packets ingress at ports in this list." 
           ::= { aclPacketRuleEntry 51 }
        
  
        aclPacketRuleInVlanList OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of vlan over which this filter is applied
               for packets ingress at vlan. Notice : Only support one vlan." 
           ::= { aclPacketRuleEntry 52 }
        

         aclPacketRuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { aclPacketRuleEntry 99 }    


        -- Flow Meter Group --------------------------------------------------
        aclFlowMeterRule       OBJECT IDENTIFIER ::= { companyACLGroup 10 }

        aclFlowMeterTable OBJECT-TYPE 
        
           SYNTAX      SEQUENCE OF AclFlowMeterEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to configure L2 filter rules in the system."
           ::= { aclFlowMeterRule 1 }
        
        aclFlowMeterEntry OBJECT-TYPE 
           SYNTAX      AclFlowMeterEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "Each entry in this table is a L2 filter rule.
               Index to the table is the L2 filter number and Profile ID."
           INDEX {aclFlowMeterProfileID, aclFlowMeterAccessID}
           ::= { aclFlowMeterTable 1 }
           
        AclFlowMeterEntry ::= 
           SEQUENCE {      
              aclFlowMeterProfileID 
                 Integer32, 
              aclFlowMeterAccessID 
                 Integer32,   
              aclFlowMeterRate 
                 Integer32, 
              aclFlowMeterBurstSize
                 Integer32,
              aclFlowMeterReplaceDscp
                 Integer32,
              aclFlowMeterAction 
                 INTEGER, 
              aclFlowMeterMatchCount
                  Unsigned32,
              aclFlowMeterStatus
                 RowStatus      
          }
        
        aclFlowMeterProfileID OBJECT-TYPE 
           SYNTAX      Integer32 (1..50)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "ACL Profile ID which this flow meter join."
           ::= { aclFlowMeterEntry 1 }

        aclFlowMeterAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (1..250)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "ACL Access ID which this flow meter join."
           ::= { aclFlowMeterEntry 2 }
           
        aclFlowMeterRate OBJECT-TYPE 
           SYNTAX      Integer32 (64..1024000)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The rate limiter of meter."
           ::= { aclFlowMeterEntry 3 }
                      
        aclFlowMeterBurstSize OBJECT-TYPE 
           SYNTAX      Integer32 (0..1016)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The burst size of meter."
           ::= { aclFlowMeterEntry 4 }        
         
         aclFlowMeterReplaceDscp OBJECT-TYPE 
           SYNTAX      Integer32 (0..63)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Replace DSCP for matched out-band packets when aclFlowMeterAction is replace DSCP."
           ::= { aclFlowMeterEntry 5 }   
        
        
        aclFlowMeterAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          drop  (2)      
                          ,replaceDSCP(5)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the out-band packet if the filter
              rule matches.
              If the action is 'drop', the packet will be discarded."
           DEFVAL  { drop } 
           ::= { aclFlowMeterEntry 6 }

          aclFlowMeterMatchCount OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The num of the packet rule matches"
           ::= { aclFlowMeterEntry 7 }

         aclFlowMeterStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { aclFlowMeterEntry 99 }    


        -- Vlan Based Profile Group --------------------------------------------------
--        aclVlanBasedProfile       OBJECT IDENTIFIER ::= { companyACLGroup 20 }
--
--        aclVlanBasedProfileTable OBJECT-TYPE 
--        
--           SYNTAX      SEQUENCE OF AclVlanBasedProfileEntry
--           MAX-ACCESS  not-accessible 
--           STATUS      current 
--           DESCRIPTION 
--               "A table to configure L2 filter rules in the system."
--           ::= { aclVlanBasedProfile 1 }
--        
--        aclVlanBasedProfileEntry OBJECT-TYPE 
--           SYNTAX      AclVlanBasedProfileEntry
--           MAX-ACCESS  not-accessible 
--           STATUS      current 
--           DESCRIPTION 
--               "Each entry in this table is a L2 filter rule.
--               Index to the table is the L2 filter number and Profile ID."
--           INDEX {aclVlanBasedProfileNo}
--           ::= { aclVlanBasedProfileTable 1 }
--           
--        AclVlanBasedProfileEntry ::= 
--           SEQUENCE {      
--              aclVlanBasedProfileNo 
--                 Integer32, 
--              aclVlanBasedProfileActiveVlan 
--                 Integer32,   
--              aclVlanBasedProfileActivePortList 
--                 PortList 
--          }
--        
--        aclVlanBasedProfileNo OBJECT-TYPE 
--           SYNTAX      Integer32 (1..50)
--           MAX-ACCESS  read-only  
--           STATUS      current 
--           DESCRIPTION 
--              "ACL Profile ID which this flow meter join."
--           ::= { aclVlanBasedProfileEntry 1 }
--
--        aclVlanBasedProfileActiveVlan OBJECT-TYPE 
--           SYNTAX      Integer32 (0..4094)
--           MAX-ACCESS  read-write 
--           STATUS      current 
--           DESCRIPTION 
--              "ACL Access ID which this flow meter join."
--           ::= { aclVlanBasedProfileEntry 2 }
--           
--        aclVlanBasedProfileActivePortList OBJECT-TYPE 
--           SYNTAX      PortList
--           MAX-ACCESS  read-write 
--           STATUS      current 
--           DESCRIPTION 
--              "The rate limiter of meter."
--           ::= { aclVlanBasedProfileEntry 3 }
                      

    -- ------------------------------------------------------------------ 
    -- companyCPUInterfaceFilterGroup
    -- ------------------------------------------------------------------

        -- CPU Interface Filter Profile Group --------------------------------------------------
        cpuFilterProfile       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 1 }
        

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

        cpuFilterProfileTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF CpuFilterProfileEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to CPUInterfaceFilter profile .
               "
           ::= { cpuFilterProfile 2 }
        
        cpuFilterProfileEntry OBJECT-TYPE 
           SYNTAX      CpuFilterProfileEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a CPUInterfaceFilter profile.
                 Index to the table is CPUInterfaceFilter profile ID. "
           INDEX { cpuFilterProfileNo}
           ::= { cpuFilterProfileTable 1 }
           
        CpuFilterProfileEntry ::= 
           SEQUENCE { 
              cpuFilterProfileNo 
                 Integer32, 
              cpuFilterProfileType 
                 INTEGER, 
              cpuFilterProfileRuleCount 
                 Integer32,  
              cpuFilterProfileMask 
                 OCTET STRING,
              cpuFilterProfileDstMacAddrMask 
                 MacAddress,          
              cpuFilterProfileSrcMacAddrMask 
                 MacAddress,         
              cpuFilterProfileIPProtocol  
                 INTEGER, 
              cpuFilterProfileIPProtocolMask  
                 OCTET STRING,  
              cpuFilterProfileDstIpAddrMaskType  
                 INTEGER, 
              cpuFilterProfileDstIpAddrMask 
                 Ipv6Address,
              cpuFilterProfileSrcIpAddrMaskType  
                 INTEGER, 
              cpuFilterProfileSrcIpAddrMask 
                 Ipv6Address,
              cpuFilterProfileDstPortMask
                 OCTET STRING,         
              cpuFilterProfileSrcPortMask
                 OCTET STRING,    
              cpuFilterProfileOffset1Mask
                 OCTET STRING,       
              cpuFilterProfileOffset2Mask
                 OCTET STRING,       
              cpuFilterProfileOffset3Mask
                 OCTET STRING,       
              cpuFilterProfileOffset4Mask
                 OCTET STRING,       
              cpuFilterProfileOffset5Mask
                 OCTET STRING,       
              cpuFilterProfileStatus
                 RowStatus
          }
        
        cpuFilterProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..3)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile ID. The ID 1 to 50 is user-defined CPUInterfaceFilter,
               and the ID more than 50 is reserved for system-defined CPUInterfaceFilter.
               The user only allow to create user-defined CPUInterfaceFilter ID.
               And system-defined CPUInterfaceFilter is read only."
           ::= { cpuFilterProfileEntry 1 }
        
        cpuFilterProfileType OBJECT-TYPE 
           SYNTAX   INTEGER  {
                          l2 (1),
                          l3 (2),
                          udf (9),
                          l3v6 (11)
                       }
           MAX-ACCESS   read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile type, possible value are
              l2 (1) - for MAC-based rule, 
              l3 (2) - for IPv4-based rule,
              udf (9) - for User-defined rule,
              l3v6 (11) - for IPv6-based rule
              "
           ::= { cpuFilterProfileEntry 2 }
        
        cpuFilterProfileRuleCount  OBJECT-TYPE 
           SYNTAX   Integer32 (0..65535)
           MAX-ACCESS   read-only 
           STATUS      current 
           DESCRIPTION 
              "The number of rules in this profile."
           ::= { cpuFilterProfileEntry 3 }
              
              
        cpuFilterProfileMask OBJECT-TYPE 
           SYNTAX   OCTET STRING
           MAX-ACCESS   read-write  
           STATUS      current 
           DESCRIPTION 
              "Indicate which field want to care in the packet.
               Turn on the following bits to select the following items
               Type        Item                   BIT         
               ------------------------------------------
               L2          DST_MAC                0 (LSB)        
               L2          SRC_MAC                1         
               L2          VID                    2         
               L2          8021P_PRIORITY         3         
               L2          ETHER_TYPE             4         
               L3          DSCP                   5         
               L3          ICMP_TYPE              6         
               L3          ICMP_CODE              7         
               L3          IGMP_TYPE              8         
               L3          DST_IP                 9         
               L3          SRC_IP                 10        
               L3          DST_PORT               11        
               L3          SRC_PORT               12        
               L3          TCPFLAG                13 (MSB)
               L3          TRAFFIC_CLASS          21
               -------------------------------------------
               
               The value is in Hex format.
              "
           ::= { cpuFilterProfileEntry 4 }
       

        cpuFilterProfileDstMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile destination MAC address mask.
               If DST_MAC is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL2RuleDstMacAddr, 
               to caculate a range of MAC address which is really care.
              "
           ::= { cpuFilterProfileEntry 5 }
        
        
        cpuFilterProfileSrcMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile source MAC address mask.
               If SRC_MAC is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL2RuleSrcMacAddr, 
               to caculate a range of MAC address which is really care.
              "
           ::= { cpuFilterProfileEntry 6 }
        
        
        cpuFilterProfileIPProtocol OBJECT-TYPE 
           SYNTAX   INTEGER  {  
                         none(0),   
                                         icmp(1),
                                         igmp(2),
                                         tcp(6),
                                         udp(17),
                                         ipv6(41)
                         ,ipMask(255)
                        }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Indicate which IP Protocol will be care in this profile.
               Only profile type is l3 can set the IP protocol.
               For others, this field will be none.
              "
           ::= { cpuFilterProfileEntry 7 } 
        cpuFilterProfileIPProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile IP protocol mask.
               If cpuFilterProfileIPProtocol set to ipMask, this field will be refered.
               It will work with its member rule field,cpuFilterL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { cpuFilterProfileEntry 8 }

		cpuFilterProfileDstIpAddrMaskType OBJECT-TYPE
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "IPv6 Address type."
              ::= { cpuFilterProfileEntry 9 }

        cpuFilterProfileDstIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile destination IP address mask.
               If DST_IP is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL3RuleDstIpAddr, 
               to caculate a range of IP address which is really care.
               The value is in HEX format, for example:
               '255.255.255.0' is presented to 'FFFFFF00'
              "
           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterProfileEntry 10 }
        
		cpuFilterProfileSrcIpAddrMaskType OBJECT-TYPE
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "IPv6 Address type."
              ::= { cpuFilterProfileEntry 11 }

        cpuFilterProfileSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile source IP address mask.
               If SRC_IP is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL3RuleSrcIpAddr, 
               to caculate a range of IP address which is really care.
               The value is in HEX format, for example:
               '255.255.255.0' is presented to 'FFFFFF00'
              "
           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterProfileEntry 12 }
        
        cpuFilterProfileDstPortMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile UDP/TCP destination port mask.
               If DST_PORT is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL3RuleTcpUdpDstPort, 
               to caculate a range of destination port which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FFFF'h }   
           ::= { cpuFilterProfileEntry 13 }
           
        
        cpuFilterProfileSrcPortMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile UDP/TCP source port mask.
               If SRC_PORT is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterL3RuleTcpUdpSrcPort, 
               to caculate a range of source port which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FFFF'h }     
           ::= { cpuFilterProfileEntry 14 }   

        cpuFilterProfileOffset1Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile Offset1 mask.
               If Offset1 is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterUdfRuleOffset1, 
               to caculate a range of offset1 which is really care.
               The value is in HEX format.
              "
           ::= { cpuFilterProfileEntry 15 }   

        cpuFilterProfileOffset2Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile Offset2 mask.
               If Offset2 is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterUdfRuleOffset2, 
               to caculate a range of offset2 which is really care.
               The value is in HEX format.
              "
           ::= { cpuFilterProfileEntry 16 }   

        cpuFilterProfileOffset3Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile Offset3 mask.
               If Offset3 is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterUdfRuleOffset3, 
               to caculate a range of offset3 which is really care.
               The value is in HEX format.
              "
           ::= { cpuFilterProfileEntry 17 }   

        cpuFilterProfileOffset4Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile Offset4 mask.
               If offset4 is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterUdfRuleOffset4, 
               to caculate a range of offset4 which is really care.
               The value is in HEX format.
              "
           ::= { cpuFilterProfileEntry 18 }   

        cpuFilterProfileOffset5Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The CPUInterfaceFilter Profile Offset5 mask.
               If Offset5 is turn on in cpuFilterProfileMask, 
               it will work with its member rule field,cpuFilterUdfRuleOffset5, 
               to caculate a range of offset5 which is really care.
               The value is in HEX format.
              "
           ::= { cpuFilterProfileEntry 19 }   

        cpuFilterProfileStatus 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 the three values of cpuFilterProfileType,
                 cpuFilterProfileMask and ProtocolType are not conflicted.
               "
        
           ::= { cpuFilterProfileEntry 20 }


        -- ------------------------------------------------------------------ 
        -- L2 Filter Group --------------------------------------------------
        cpuFilterL2Rule       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 2 }

        cpuFilterL2RuleTable OBJECT-TYPE 
        
           SYNTAX      SEQUENCE OF CpuFilterL2RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "A table to configure L2 filter rules in the system."
           ::= { cpuFilterL2Rule 1 }
        
        cpuFilterL2RuleEntry OBJECT-TYPE 
           SYNTAX      CpuFilterL2RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "Each entry in this table is a L2 filter rule.
               Index to the table is the L2 filter number and Profile ID."
           INDEX { cpuFilterL2ProfileID, cpuFilterL2AccessID}
           ::= { cpuFilterL2RuleTable 1 }
           
        CpuFilterL2RuleEntry ::= 
           SEQUENCE { 
              cpuFilterL2ProfileID 
                 Integer32,        
              cpuFilterL2AccessID 
                 Integer32, 
              cpuFilterL2RuleEtherType 
                 Integer32, 
              cpuFilterL2RuleDstMacAddr 
                 MacAddress, 
              cpuFilterL2RuleSrcMacAddr 
                 MacAddress, 
              cpuFilterL2RuleVlanId 
                 Integer32,
              cpuFilterL2Rule1pPriority
                 Integer32,
              cpuFilterL2RuleDstMacAddrMask 
                 MacAddress, 
              cpuFilterL2RuleSrcMacAddrMask 
                 MacAddress,   
              cpuFilterL2RuleInPortList 
                 PortList,
              cpuFilterL2RuleAction 
                 INTEGER, 
              cpuFilterL2RuleStatus
                 RowStatus      
          }
        
        cpuFilterL2ProfileID OBJECT-TYPE 
           SYNTAX      Integer32 (1..3)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L2 Filter rule ID."
           ::= { cpuFilterL2RuleEntry 1 }
            
        cpuFilterL2AccessID OBJECT-TYPE 
           SYNTAX      Integer32 (1..5)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "CPUInterfaceFilter Profile ID which this rule join."
           DEFVAL  { 1 }
           ::= { cpuFilterL2RuleEntry 2 }
           
        cpuFilterL2RuleEtherType OBJECT-TYPE 
           SYNTAX      Integer32  (-1 | 1501..65535)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The value in the Type/Len field of a frame that will
              be matched to trigger this filter. The default value of
              this object is '-1', which means the rule don't care this 
              condition."
           DEFVAL  { -1 }
           ::= { cpuFilterL2RuleEntry 3 }
                      
        cpuFilterL2RuleDstMacAddr OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination MAC address to be matched with the packet. By Default, the
               Destination Mac Address will be zero,which means the rule don't care this 
               condition." 
           ::= { cpuFilterL2RuleEntry 4 }
        
        cpuFilterL2RuleSrcMacAddr OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source MAC address to be matched with the packet. By Default, the Source 
               Mac Address will be zero, which means the rule don't care this condition..
               address"
           ::= { cpuFilterL2RuleEntry 5 }
                
        cpuFilterL2RuleVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (-1..4094)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
              be treated as customer Vlan Id. By Default, the value will be '-1', 
              which means the rule don't care this condition."
           DEFVAL  { -1 }
           ::= { cpuFilterL2RuleEntry 6 }        
         
         cpuFilterL2Rule1pPriority OBJECT-TYPE 
           SYNTAX      Integer32  (-1..7)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "802.1p priority to be matched with the packet. By Default, the value
              will be '-1', which means the rule don't care this condition."
          DEFVAL  { -1 }
           ::= { cpuFilterL2RuleEntry 7 }   
        
        cpuFilterL2RuleDstMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address Mask work for Destination MAC address.
              This field is read-only and copy from it's Profile setting."
              
           ::= { cpuFilterL2RuleEntry 8 }

        cpuFilterL2RuleSrcMacAddrMask OBJECT-TYPE 
           SYNTAX      MacAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address Mask work for Source MAC address.
              This field is read-only and copy from it's Profile setting."

           ::= { cpuFilterL2RuleEntry 9 } 

        cpuFilterL2RuleInPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which this filter is applied
               for packets ingress at ports in this list." 
           ::= { cpuFilterL2RuleEntry 10 }
        
        cpuFilterL2RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches.
              If the action is 'allow', the packet will be forwarded according
              to the forwarding rules.
              If the action is 'drop', the packet will be discarded."
           DEFVAL  { allow } 
           ::= { cpuFilterL2RuleEntry 11 }

         cpuFilterL2RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { cpuFilterL2RuleEntry 14 }    

        -- ------------------------------------------------------------------ 
        -- L3 Filter Group --------------------------------------------------
        cpuFilterL3Rule       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 3 }
         
        cpuFilterL3RuleTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF CpuFilterL3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to configure L3 filter rules in the system.
               "
           ::= { cpuFilterL3Rule 1 }

        cpuFilterL3RuleEntry OBJECT-TYPE 
           SYNTAX      CpuFilterL3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a L3 filter rule.
                 Index to the table is L3 filter number and Profile ID."
           INDEX { cpuFilterL3RuleProfileNo, cpuFilterL3RuleAccessID}
           ::= { cpuFilterL3RuleTable 1 }

        CpuFilterL3RuleEntry ::= 
           SEQUENCE { 
              cpuFilterL3RuleProfileNo 
                 Integer32, 
              cpuFilterL3RuleAccessID 
                 Integer32,
              cpuFilterL3RuleProtocol  
                 INTEGER, 
              cpuFilterL3RuleProtocolMask  
                 OCTET STRING, 
              cpuFilterL3RuleICMPMessageType 
                 Integer32, 
              cpuFilterL3RuleICMPMessageCode 
                 Integer32, 
              cpuFilterL3RuleDstIpAddr 
                 IpAddress, 
              cpuFilterL3RuleSrcIpAddr 
                 IpAddress, 
              cpuFilterL3RuleDstIpAddrMask 
                 IpAddress, 
              cpuFilterL3RuleSrcIpAddrMask 
                 IpAddress,
              cpuFilterL3RuleTcpUdpDstPort
                 Integer32, 
              cpuFilterL3RuleTcpUdpSrcPort
                 Integer32, 
              cpuFilterL3RuleTcpUdpDstPortMask
                OCTET STRING,         
              cpuFilterL3RuleTcpUdpSrcPortMask
                OCTET STRING,         
              cpuFilterL3RuleTcpAckBit
                 INTEGER,
              cpuFilterL3RuleTcpRstBit
                 INTEGER,
              cpuFilterL3RuleTcpUrgBit
                 INTEGER,
              cpuFilterL3RuleTcpPshBit
                 INTEGER,
              cpuFilterL3RuleTcpSynBit
                 INTEGER,
              cpuFilterL3RuleTcpFinBit
                 INTEGER,
              cpuFilterL3RuleDscp
                 Integer32,
              cpuFilterL3RuleIgmpType
                 Integer32,
              cpuFilterL3RulePortList 
                 PortList,
              cpuFilterL3RuleAction 
                 INTEGER, 
              cpuFilterL3RuleStatus
                 RowStatus
          }
        
        cpuFilterL3RuleProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..5)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L3 Filter rule ID."
           ::= { cpuFilterL3RuleEntry 1 }
            
        cpuFilterL3RuleAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (1..3)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "The Profile ID which this rule join."
           ::= { cpuFilterL3RuleEntry 2 }
              
        cpuFilterL3RuleProtocol OBJECT-TYPE 
           SYNTAX      INTEGER  {     
                                         icmp(1),
                                         igmp(2),
                                         tcp(6),
                                         udp(17)
                        } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The type of protocol to be checked against the packet."
           ::= { cpuFilterL3RuleEntry 3 }
           
        cpuFilterL3RuleProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP protocol mask.
               This field is read-only and copy from it's Profile setting.
               It will work with the other field,cpuFilterL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { cpuFilterL3RuleEntry 4 }

        cpuFilterL3RuleICMPMessageType OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The message type to be checked against the packet. If the
              message type matches with the packet, then the packet will be
              dropped / allowed based on the action set in cpuFilterL3RuleAction.
              The default value is '-1',which means the rule don't care this 
              condition.
              Some ICMP message types are: 
                   echoReply(0),
                   destinationUnreachable(3),
                   sourceQuench(4),
                   redirect(5),
                   echoRequest(8),
                   timeExceeded(11),
                   parameterProblem(12),
                   timestampRequest(13),
                   timestampReply(14),
                   informationRequest(15),
                   informationReply(16),
                   addressMaskRequest(17),
                   addressMaskReply (18),
              "
           DEFVAL  { -1 }
           ::= { cpuFilterL3RuleEntry 5 }
        
        cpuFilterL3RuleICMPMessageCode OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The message code to be checked against the packet. If the
              packet matches with the message code, then the packet will
              be dropped / allowed based on the action set in cpuFilterL3RuleAction.
              The default value is '-1', which means the rule don't care this 
              condition.
              Some ICMP message codes are :
                   networkUnreachable(0),
                   hostUnreachable(1),
                   protocolUnreachable(2),
                   portUnreachable(3),
                   fragmentNeed(4),
                   sourceRouteFail(5),
                   destNetworkUnknown(6),
                   destHostUnknown(7),
                   srcHostIsolated(8),
                   destNetworkAdminProhibited(9),
                   destHostAdminProhibited(10),
                   networkUnreachableTOS(11),
                   hostUnreachableTOS(12),
              "
           DEFVAL   { -1 }
           ::= { cpuFilterL3RuleEntry 6 }

        cpuFilterL3RuleDstIpAddr OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination IP address to be matched with the packet.
               The default value will be zero, which means the rule 
               don't care this condition."
           DEFVAL  { '00000000'h }
           ::= { cpuFilterL3RuleEntry 7 }
        
        cpuFilterL3RuleSrcIpAddr OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source IP address to be matched with the packet.
              The default value will be zero, which means the 
              rule don't care this condition."

           DEFVAL  { '00000000'h }
           ::= { cpuFilterL3RuleEntry 8 }
        
        cpuFilterL3RuleDstIpAddrMask OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Destination IP address.
               This field is read-only and copy from it's Profile setting.
              "

           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterL3RuleEntry 9 }
        
        cpuFilterL3RuleSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      IpAddress
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Source IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterL3RuleEntry 10 }

        cpuFilterL3RuleTcpUdpDstPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP destination port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { cpuFilterL3RuleEntry 11 }
        
        cpuFilterL3RuleTcpUdpSrcPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP source port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { cpuFilterL3RuleEntry 12 }
           
        cpuFilterL3RuleTcpUdpDstPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Destination port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { cpuFilterL3RuleEntry 13 }

        cpuFilterL3RuleTcpUdpSrcPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Source port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { cpuFilterL3RuleEntry 14 } 
           
        cpuFilterL3RuleTcpAckBit                OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP ACK bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 15 }
        
        cpuFilterL3RuleTcpRstBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP RST bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 16 }
        
        cpuFilterL3RuleTcpUrgBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Urg bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 17 }
                
        cpuFilterL3RuleTcpPshBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Psh bit to be checked against the packet. The default 
                        value is 'dontcare'(-1). which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 18 } 
        
        cpuFilterL3RuleTcpSynBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Syn bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 19 }

        cpuFilterL3RuleTcpFinBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Fin bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterL3RuleEntry 20 }
        
        cpuFilterL3RuleDscp             OBJECT-TYPE
                SYNTAX          Integer32 (-1..63)
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The IP Dscp value to be checked against the packet. 
                A default value is '-1', which means the rule don't 
                care this condition."
                DEFVAL  { -1 }
                ::= { cpuFilterL3RuleEntry 21 }
                
        cpuFilterL3RuleIgmpType  OBJECT-TYPE
                SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The IGMP Type to be checked against the packet.A default value is '-1',
             which means the rule don't care this condition."
           DEFVAL  { -1 }
           ::= { cpuFilterL3RuleEntry 22 }
           
        cpuFilterL3RulePortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which if the packet arrives
              this filter rule will be applicable."

           ::= { cpuFilterL3RuleEntry 23 }

        cpuFilterL3RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches."
           DEFVAL  { allow } 
           ::= { cpuFilterL3RuleEntry 24 }

        cpuFilterL3RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { cpuFilterL3RuleEntry 27 }


        -- L3 IPv6 Filter Group --------------------------------------------------
         
        cpuFilterv6L3RuleTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF CpuFilterv6L3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to configure L3 filter rules in the system.
               "
           ::= { cpuFilterL3Rule 2 }

        cpuFilterv6L3RuleEntry OBJECT-TYPE 
           SYNTAX      CpuFilterv6L3RuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a L3 filter rule.
                 Index to the table is L3 filter number and Profile ID."
           INDEX { cpuFilterv6L3RuleProfileNo, cpuFilterv6L3RuleAccessID}
           ::= { cpuFilterv6L3RuleTable 1 }

        CpuFilterv6L3RuleEntry ::= 
           SEQUENCE { 
              cpuFilterv6L3RuleProfileNo 
                 Integer32, 
              cpuFilterv6L3RuleAccessID 
                 Integer32,
              cpuFilterv6L3RuleProtocol  
                 INTEGER, 
              cpuFilterv6L3RuleProtocolMask  
                 OCTET STRING, 
              cpuFilterv6L3RuleICMPMessageType 
                 Integer32, 
              cpuFilterv6L3RuleICMPMessageCode 
                 Integer32, 
              cpuFilterv6L3RuleDstIpAddr 
                 Ipv6Address, 
              cpuFilterv6L3RuleSrcIpAddr 
                 Ipv6Address, 
              cpuFilterv6L3RuleDstIpAddrMask 
                 Ipv6Address, 
              cpuFilterv6L3RuleSrcIpAddrMask 
                 Ipv6Address,
              cpuFilterv6L3RuleTcpUdpDstPort
                 Integer32, 
              cpuFilterv6L3RuleTcpUdpSrcPort
                 Integer32, 
              cpuFilterv6L3RuleTcpUdpDstPortMask
                OCTET STRING,         
              cpuFilterv6L3RuleTcpUdpSrcPortMask
                OCTET STRING,         
              cpuFilterv6L3RuleTcpAckBit
                 INTEGER,
              cpuFilterv6L3RuleTcpRstBit
                 INTEGER,
              cpuFilterv6L3RuleTcpUrgBit
                 INTEGER,
              cpuFilterv6L3RuleTcpPshBit
                 INTEGER,
              cpuFilterv6L3RuleTcpSynBit
                 INTEGER,
              cpuFilterv6L3RuleTcpFinBit
                 INTEGER,
              cpuFilterv6L3RuleTrafficClass
                 Integer32,
              cpuFilterv6L3RulePortList 
                 PortList,
              cpuFilterv6L3RuleAction 
                 INTEGER, 
              cpuFilterv6L3RuleStatus
                 RowStatus
          }
        
        cpuFilterv6L3RuleProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..5)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "L3 Filter rule ID."
           ::= { cpuFilterv6L3RuleEntry 1 }
            
        cpuFilterv6L3RuleAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (1..3)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "The Profile ID which this rule join."
           ::= { cpuFilterv6L3RuleEntry 2 }
              
        cpuFilterv6L3RuleProtocol OBJECT-TYPE 
           SYNTAX      INTEGER  {     
                                         icmp(1),
                                         tcp(6),
                                         udp(17),
                                         ipv6(41)
                        } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The type of protocol to be checked against the packet."
           ::= { cpuFilterv6L3RuleEntry 3 }
           
        cpuFilterv6L3RuleProtocolMask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP protocol mask.
               This field is read-only and copy from it's Profile setting.
               It will work with the other field,cpuFilterL3RuleProtocol, 
               to caculate a range of IP protocol which is really care.
               The value is in HEX format.
              "
           DEFVAL  { 'FF'h }   
           ::= { cpuFilterv6L3RuleEntry 4 }

        cpuFilterv6L3RuleICMPMessageType OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
             " The message type to be checked against the packet. If the
              message type matches with the packet, then the packet will be
              dropped / allowed based on the action set in cpuFilterL3RuleAction.
              The default value is '-1',which means the rule don't care this 
              condition.
              Some ICMP message types are: 
                   echoReply(0),
                   destinationUnreachable(3),
                   sourceQuench(4),
                   redirect(5),
                   echoRequest(8),
                   timeExceeded(11),
                   parameterProblem(12),
                   timestampRequest(13),
                   timestampReply(14),
                   informationRequest(15),
                   informationReply(16),
                   addressMaskRequest(17),
                   addressMaskReply (18),
              "
           DEFVAL  { -1 }
           ::= { cpuFilterv6L3RuleEntry 5 }
        
        cpuFilterv6L3RuleICMPMessageCode OBJECT-TYPE 
           SYNTAX      Integer32 (-1..255)
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              " The message code to be checked against the packet. If the
              packet matches with the message code, then the packet will
              be dropped / allowed based on the action set in cpuFilterL3RuleAction.
              The default value is '-1', which means the rule don't care this 
              condition.
              Some ICMP message codes are :
                   networkUnreachable(0),
                   hostUnreachable(1),
                   protocolUnreachable(2),
                   portUnreachable(3),
                   fragmentNeed(4),
                   sourceRouteFail(5),
                   destNetworkUnknown(6),
                   destHostUnknown(7),
                   srcHostIsolated(8),
                   destNetworkAdminProhibited(9),
                   destHostAdminProhibited(10),
                   networkUnreachableTOS(11),
                   hostUnreachableTOS(12),
              "
           DEFVAL   { -1 }
           ::= { cpuFilterv6L3RuleEntry 6 }

        cpuFilterv6L3RuleDstIpAddr OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Destination IP address to be matched with the packet.
               The default value will be zero, which means the rule 
               don't care this condition."
           DEFVAL  { '00000000'h }
           ::= { cpuFilterv6L3RuleEntry 7 }
        
        cpuFilterv6L3RuleSrcIpAddr OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Source IP address to be matched with the packet.
              The default value will be zero, which means the 
              rule don't care this condition."

           DEFVAL  { '00000000'h }
           ::= { cpuFilterv6L3RuleEntry 8 }
        
        cpuFilterv6L3RuleDstIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Destination IP address.
               This field is read-only and copy from it's Profile setting.
              "

           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterv6L3RuleEntry 9 }
        
        cpuFilterv6L3RuleSrcIpAddrMask OBJECT-TYPE 
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP subnet mask for Source IP address.
               This field is read-only and copy from it's Profile setting.
              "
           
           DEFVAL  { 'FFFFFFFF'h }
           ::= { cpuFilterv6L3RuleEntry 10 }

        cpuFilterv6L3RuleTcpUdpDstPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP destination port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { cpuFilterv6L3RuleEntry 11 }
        
        cpuFilterv6L3RuleTcpUdpSrcPort OBJECT-TYPE
           SYNTAX      Integer32 (-1..65535)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The TCP / UDP source port. The default value is -1, 
              which means the rule don't care this condition."
           DEFVAL   { -1 }
           ::= { cpuFilterv6L3RuleEntry 12 }
           
        cpuFilterv6L3RuleTcpUdpDstPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Destination port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { cpuFilterv6L3RuleEntry 13 }

        cpuFilterv6L3RuleTcpUdpSrcPortMask OBJECT-TYPE
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "The TCP / UDP Source port Mask.
               This field is read-only and copy from it's Profile setting.
              "
           ::= { cpuFilterv6L3RuleEntry 14 } 
           
        cpuFilterv6L3RuleTcpAckBit                OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP ACK bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 15 }
        
        cpuFilterv6L3RuleTcpRstBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP RST bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 16 }
        
        cpuFilterv6L3RuleTcpUrgBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Urg bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 17 }
                
        cpuFilterv6L3RuleTcpPshBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Psh bit to be checked against the packet. The default 
                        value is 'dontcare'(-1). which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 18 } 
        
        cpuFilterv6L3RuleTcpSynBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Syn bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 19 }

        cpuFilterv6L3RuleTcpFinBit         OBJECT-TYPE
                SYNTAX  INTEGER {
                                    dontcare(-1),
                                                        establish(1),
                                                        notEstablish(2)
                                                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The TCP Fin bit to be checked against the packet. The default 
                        value is 'dontcare'(-1), which means the rule don't care this 
                        condition."
                DEFVAL  { dontcare }
                ::= { cpuFilterv6L3RuleEntry 20 }
        
        cpuFilterv6L3RuleTrafficClass             OBJECT-TYPE
                SYNTAX          Integer32 (-1..63)
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                        " The IP Dscp value to be checked against the packet. 
                A default value is '-1', which means the rule don't 
                care this condition."
                DEFVAL  { -1 }
                ::= { cpuFilterv6L3RuleEntry 21 }
           
        cpuFilterv6L3RulePortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which if the packet arrives
              this filter rule will be applicable."

           ::= { cpuFilterv6L3RuleEntry 22 }

        cpuFilterv6L3RuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                          ,drop  (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches."
           DEFVAL  { allow } 
           ::= { cpuFilterv6L3RuleEntry 23 }

        cpuFilterv6L3RuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { cpuFilterv6L3RuleEntry 24 }


        -- ------------------------------------------------------------------ 
        -- Udf Filter Group --------------------------------------------------
        cpuFilterUdfRule       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 4 }
         
        cpuFilterUdfRuleTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF CpuFilterUdfRuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " A table to configure Udf filter rules in the system.
               "
           ::= { cpuFilterUdfRule 1 }

        cpuFilterUdfRuleEntry OBJECT-TYPE 
           SYNTAX      CpuFilterUdfRuleEntry
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               " Each entry in this table is a Udf filter rule.
                 Index to the table is Udf filter number and Profile ID."
           INDEX { cpuFilterUdfRuleProfileNo, cpuFilterUdfRuleAccessID}
           ::= { cpuFilterUdfRuleTable 1 }

        CpuFilterUdfRuleEntry ::= 
           SEQUENCE { 
              cpuFilterUdfRuleProfileNo 
                 Integer32, 
              cpuFilterUdfRuleAccessID 
                 Integer32,
              cpuFilterUdfRuleOffset1  
                 OCTET STRING, 
              cpuFilterUdfRuleOffset2  
                 OCTET STRING, 
              cpuFilterUdfRuleOffset3
                 OCTET STRING, 
              cpuFilterUdfRuleOffset4
                 OCTET STRING, 
              cpuFilterUdfRuleOffset5
                 OCTET STRING, 
              cpuFilterUdfRuleOffset1Mask
                 OCTET STRING, 
              cpuFilterUdfRuleOffset2Mask
                 OCTET STRING, 
              cpuFilterUdfRuleOffset3Mask
                 OCTET STRING, 
              cpuFilterUdfRuleOffset4Mask
                 OCTET STRING, 
              cpuFilterUdfRuleOffset5Mask
                 OCTET STRING, 
              cpuFilterUdfRulePortList 
                 PortList,
              cpuFilterUdfRuleAction 
                 INTEGER, 
              cpuFilterUdfRuleStatus
                 RowStatus
          }
        
        cpuFilterUdfRuleProfileNo OBJECT-TYPE 
           SYNTAX      Integer32 (1..5)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Udf Filter rule ID."
           ::= { cpuFilterUdfRuleEntry 1 }
            
        cpuFilterUdfRuleAccessID OBJECT-TYPE 
           SYNTAX      Integer32 (1..3)
           MAX-ACCESS  read-only  
           STATUS      current 
           DESCRIPTION 
              "The Profile ID which this rule join."
           ::= { cpuFilterUdfRuleEntry 2 }

        cpuFilterUdfRuleOffset1 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 1."
           
           ::= { cpuFilterUdfRuleEntry 3 }

        cpuFilterUdfRuleOffset2 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 2."
           
           ::= { cpuFilterUdfRuleEntry 4 }

        cpuFilterUdfRuleOffset3 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 3."
           
           ::= { cpuFilterUdfRuleEntry 5 }

        cpuFilterUdfRuleOffset4 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 4."
           
           ::= { cpuFilterUdfRuleEntry 6 }

        cpuFilterUdfRuleOffset5 OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The filter value of Offset 5."
           
           ::= { cpuFilterUdfRuleEntry 7 }

        cpuFilterUdfRuleOffset1Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 1."
           
           ::= { cpuFilterUdfRuleEntry 8 }

        cpuFilterUdfRuleOffset2Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 2."
           
           ::= { cpuFilterUdfRuleEntry 9 }

        cpuFilterUdfRuleOffset3Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 3."
           
           ::= { cpuFilterUdfRuleEntry 10 }

        cpuFilterUdfRuleOffset4Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 4."
           
           ::= { cpuFilterUdfRuleEntry 11 }

        cpuFilterUdfRuleOffset5Mask OBJECT-TYPE 
           SYNTAX      OCTET STRING
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The filter Mask of Offset 5."
           
           ::= { cpuFilterUdfRuleEntry 12 }

        cpuFilterUdfRulePortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the complete set of ports over which if the packet arrives
              this filter rule will be applicable."

           ::= { cpuFilterUdfRuleEntry 13 }

        cpuFilterUdfRuleAction OBJECT-TYPE 
           SYNTAX      INTEGER {
                          allow (1)
                         ,drop  (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Specifies the action to be taken on the packet if the filter
              rule matches."
           DEFVAL  { allow } 

           ::= { cpuFilterUdfRuleEntry 14 }

        cpuFilterUdfRuleStatus 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
                be deleted when this object is SET 'destroy'."
           ::= { cpuFilterUdfRuleEntry 15 }

        cpuFilterState  OBJECT-TYPE
        SYNTAX       INTEGER {
                     enable(1),
                     disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "This object is used for enabling or disabling CPU Interface Filter in the system."

        DEFVAL  { disable }
        ::= { companyCPUInterfaceFilterGroup 5 }

      snmpGlobalState OBJECT-TYPE
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling SNMP Community function."

           ::= { companySNMPV3 1 }

      snmpV3User                    OBJECT IDENTIFIER ::= { companySNMPV3 2 }
      snmpV3Group                   OBJECT IDENTIFIER ::= { companySNMPV3 3 }
      snmpV3ViewTree                OBJECT IDENTIFIER ::= { companySNMPV3 4 }
      snmpV3Community               OBJECT IDENTIFIER ::= { companySNMPV3 5 }
      snmpV3Host                    OBJECT IDENTIFIER ::= { companySNMPV3 6 }

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

         ::=  { companySNMPV3  7 }

      snmpV3Trap                    OBJECT IDENTIFIER ::= { companySNMPV3 8 }

      -- ----------------------------------------------------------------
      -- The snmpV3User group
      -- ----------------------------------------------------------------

      snmpV3UserTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpV3UserEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              ""
           ::= { snmpV3User 1 }

      snmpV3UserEntry OBJECT-TYPE
           SYNTAX      SnmpV3UserEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              ""
           INDEX { snmpV3UserName , snmpV3UserVersion}
           ::= { snmpV3UserTable 1 }

      SnmpV3UserEntry ::= SEQUENCE {
                snmpV3UserName                      SnmpAdminString,
                snmpV3UserVersion                   INTEGER,
                snmpV3UserGroupName                 SnmpAdminString,
                snmpV3UserAuthProtocol              INTEGER,
                snmpV3UserAuthProtocolPassword      SnmpAdminString,
                snmpV3UserPrivProtocol              INTEGER,
                snmpV3UserPrivProtocolPassword      SnmpAdminString,
                snmpV3UserStatus                    RowStatus
            }

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

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


        snmpV3UserGroupName      OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-create
            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.
                        "
            ::= { snmpV3UserEntry 3 }

        snmpV3UserAuthProtocol OBJECT-TYPE
            SYNTAX    INTEGER {
                      none          (1),
                      md5	        (2),
                      sha           (3)
                   }
            MAX-ACCESS   read-create
            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.
                "
            ::= { snmpV3UserEntry 4 }

        snmpV3UserAuthProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION  ""
            ::= { snmpV3UserEntry 5 }


        snmpV3UserPrivProtocol OBJECT-TYPE
            SYNTAX    INTEGER {
                      none          (1),
                      des	        (2)
                   }
            MAX-ACCESS   read-create
            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.
                "
            ::= { snmpV3UserEntry 6 }

        snmpV3UserPrivProtocolPassword OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE(1..32))
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION  ""
            ::= { snmpV3UserEntry 7 }


        snmpV3UserStatus  OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            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.
                "
    ::= { snmpV3UserEntry 8 }


      -- ----------------------------------------------------------------
      -- The snmpV3Group group
      -- ----------------------------------------------------------------
        snmpV3GroupTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpV3GroupEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              ""
           ::= { snmpV3Group 1 }

        snmpV3GroupEntry OBJECT-TYPE
           SYNTAX      SnmpV3GroupEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              ""
           INDEX { snmpV3GroupName ,snmpV3GroupSecurityModel ,snmpV3GroupSecurityLevel}
           ::= { snmpV3GroupTable 1 }

        SnmpV3GroupEntry ::= SEQUENCE {
                snmpV3GroupName              SnmpAdminString,
                snmpV3GroupSecurityModel     INTEGER,
                snmpV3GroupSecurityLevel     SnmpSecurityLevel,
                snmpV3GroupReadViewName      SnmpAdminString,
                snmpV3GroupWriteViewName     SnmpAdminString,
                snmpV3GroupNotifyViewName    SnmpAdminString,
                snmpV3GroupStatus            RowStatus
            }

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

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

        snmpV3GroupSecurityLevel OBJECT-TYPE
            SYNTAX       SnmpSecurityLevel
            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.
                        "
            ::= { snmpV3GroupEntry 3 }

        snmpV3GroupReadViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-create
            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 --
            ::= { snmpV3GroupEntry 4 }

        snmpV3GroupWriteViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-create
            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 --

            ::= { snmpV3GroupEntry 5 }

        snmpV3GroupNotifyViewName OBJECT-TYPE
            SYNTAX       SnmpAdminString (SIZE(0..32))
            MAX-ACCESS   read-create
            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 --
            ::= { snmpV3GroupEntry 6 }

        snmpV3GroupStatus     OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            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.
                        "
            ::= { snmpV3GroupEntry 7 }


      -- ----------------------------------------------------------------
      -- The snmpV3ViewTree group
      -- ----------------------------------------------------------------
        snmpV3ViewTreeTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpV3ViewTreeEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              ""
           ::= { snmpV3ViewTree 1 }

        snmpV3ViewTreeEntry OBJECT-TYPE
           SYNTAX      SnmpV3ViewTreeEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              ""
           INDEX { snmpV3viewTreeName ,snmpV3viewTreeSubtree }
           ::= { snmpV3ViewTreeTable 1 }

        SnmpV3ViewTreeEntry ::= SEQUENCE
            {
                snmpV3viewTreeName         SnmpAdminString,
                snmpV3viewTreeSubtree      OBJECT IDENTIFIER,
                snmpV3viewTreeMask         OCTET STRING,
                snmpV3viewTreeType         INTEGER,
                snmpV3viewTreeStatus       RowStatus
            }

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

            ::= { snmpV3ViewTreeEntry 1 }

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

        snmpV3viewTreeMask OBJECT-TYPE
            SYNTAX       OCTET STRING (SIZE (0..16))
            MAX-ACCESS   read-create
            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 }
            ::= { snmpV3ViewTreeEntry 3 }

        snmpV3viewTreeType OBJECT-TYPE
            SYNTAX       INTEGER  { included(1), excluded(2) }
            MAX-ACCESS   read-create
            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 }
            ::= { snmpV3ViewTreeEntry 4 }

        snmpV3viewTreeStatus OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            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.
                        "
            ::= { snmpV3ViewTreeEntry 5 }


      -- ----------------------------------------------------------------
      -- The snmpV3Community group
      -- ----------------------------------------------------------------

        snmpV3CommunityTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpV3CommunityEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              ""
           ::= { snmpV3Community 1 }

        snmpV3CommunityEntry OBJECT-TYPE
           SYNTAX      SnmpV3CommunityEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              ""
           INDEX { snmpV3CommunityName }
           ::= { snmpV3CommunityTable 1 }

        SnmpV3CommunityEntry ::= SEQUENCE
            {
                snmpV3CommunityName                OCTET STRING,
                snmpV3CommunityPolicy              SnmpAdminString,
                snmpV3CommunityStatus              RowStatus
            }

        snmpV3CommunityName OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (1..15))
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The unique index value of a row in this table."
            ::= { snmpV3CommunityEntry 1 }

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

        snmpV3CommunityStatus OBJECT-TYPE
            SYNTAX       RowStatus
            MAX-ACCESS   read-create
            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)."
            ::= { snmpV3CommunityEntry 3 }


      -- ----------------------------------------------------------------
      -- The snmpV3Host group
      -- ----------------------------------------------------------------

        ipv4snmpV3HostTable OBJECT-TYPE
           SYNTAX SEQUENCE OF Ipv4snmpV3HostEntry
           MAX-ACCESS not-accessible
           STATUS     obsolete
           DESCRIPTION
              ""
           ::= { snmpV3Host 1 }

        ipv4snmpV3HostEntry OBJECT-TYPE
           SYNTAX      Ipv4snmpV3HostEntry
           MAX-ACCESS  not-accessible
           STATUS      obsolete
           DESCRIPTION
              ""
           INDEX { ipv4snmpV3HostAddress }
           ::= { ipv4snmpV3HostTable 1 }

        Ipv4snmpV3HostEntry ::= SEQUENCE
            {
                ipv4snmpV3HostAddress           IpAddress,
                ipv4snmpV3HostCommunityName     SnmpAdminString,
                ipv4snmpV3HostVersion           INTEGER,
                ipv4snmpV3HostStatus            RowStatus
            }

        ipv4snmpV3HostAddress OBJECT-TYPE
               SYNTAX      IpAddress
               MAX-ACCESS  read-only
               STATUS      obsolete
               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."
               ::= { ipv4snmpV3HostEntry 1 }

        ipv4snmpV3HostCommunityName OBJECT-TYPE
               SYNTAX      SnmpAdminString (SIZE(1..32))
               MAX-ACCESS  read-create
               STATUS      obsolete
               DESCRIPTION
                   "The locally arbitrary."
               ::= { ipv4snmpV3HostEntry 2 }


        ipv4snmpV3HostVersion OBJECT-TYPE
               SYNTAX    INTEGER {
                      v1                (1),
                      v2c	            (2),
                      v3NoAuthNoPriv    (3),
                      v3AuthNoPriv      (4),
                      v3AuthPriv        (5)
                   }
               MAX-ACCESS  read-create
               STATUS      obsolete
               DESCRIPTION
                   "The Level of Security to be used when generating
                    SNMP messages using this entry."
               ::= { ipv4snmpV3HostEntry 3 }

        ipv4snmpV3HostStatus OBJECT-TYPE
               SYNTAX       RowStatus
               MAX-ACCESS   read-create
               STATUS       obsolete
               DESCRIPTION
                ""
               ::= { ipv4snmpV3HostEntry 4 }

      -- ----------------------------------------------------------------
      -- The snmpV3Host group
      -- ----------------------------------------------------------------

        snmpV3HostTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SnmpV3HostEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              ""
           ::= { snmpV3Host 2 }

        snmpV3HostEntry OBJECT-TYPE
           SYNTAX      SnmpV3HostEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              ""
           INDEX { snmpV3HostAddress, snmpV3IPType }
           ::= { snmpV3HostTable 1 }
              
        SnmpV3HostEntry ::= SEQUENCE
            {                
                snmpV3HostAddress           Ipv6Address,
                snmpV3IPType                INTEGER,
                snmpV3HostCommunityName     SnmpAdminString,
                snmpV3HostVersion           INTEGER,
                snmpV3HostInterfaceName     OCTET STRING,
                snmpV3HostStatus            RowStatus       
            }    
        
        snmpV3HostAddress OBJECT-TYPE
               SYNTAX      Ipv6Address
               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."
               ::= { snmpV3HostEntry 1 }

        snmpV3IPType OBJECT-TYPE
               SYNTAX    INTEGER {
                      iPv4              (1),
                      iPv6	            (2)
                   }
               MAX-ACCESS  read-only
               STATUS      current
               DESCRIPTION
                   "Type of IP interface."
               ::= { snmpV3HostEntry 2 }
               
        snmpV3HostCommunityName OBJECT-TYPE
               SYNTAX      SnmpAdminString (SIZE(1..32))
               MAX-ACCESS  read-create
               STATUS      current
               DESCRIPTION
                   "The locally arbitrary."
               ::= { snmpV3HostEntry 3 } 
        
        snmpV3HostVersion OBJECT-TYPE
               SYNTAX    INTEGER {
                      v1                (1),
                      v2c	            (2),
                      v3NoAuthNoPriv    (3),
                      v3AuthNoPriv      (4),
                      v3AuthPriv        (5)
                   }
               MAX-ACCESS  read-create
               STATUS      current
               DESCRIPTION
                   "The Level of Security to be used when generating
                    SNMP messages using this entry."
               ::= { snmpV3HostEntry 4 }
               
        snmpV3HostInterfaceName OBJECT-TYPE
               SYNTAX      OCTET STRING
               MAX-ACCESS  read-create
               STATUS      current
               DESCRIPTION
                   "Specifies the interface name when the syslogSrvIP is linklocal address."
               ::= { snmpV3HostEntry 5 }
        
        snmpV3HostStatus OBJECT-TYPE
               SYNTAX       RowStatus
               MAX-ACCESS   read-create
               STATUS       current
               DESCRIPTION
                ""
               ::= { snmpV3HostEntry 6 }

      -- ----------------------------------------------------------------
      -- The snmpV3Trap group
      -- ----------------------------------------------------------------

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

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

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

        snmpV3TrapLinkUpDown  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling Copper link up / link down
                event trap in the system."
            ::= { snmpV3Trap 4 }

        snmpV3TrapRSTPStateChange  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling RSTP topology change
                event trap in the system."
            ::= { snmpV3Trap 5 }

        snmpV3TrapFirmUpgrade   OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object is for enabling or disabling Firmware upgrade
                suess or fail event trap in the system."
            ::= { snmpV3Trap 6 }

    snmpV3TrapBPDUAttack    OBJECT-TYPE
           SYNTAX      INTEGER {
                          none(1),
                          attackDetected(2),
                          attackCleared(3),
                          both(4)
                       }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Used to configure trap settings for BPDU attack protection events."

           DEFVAL  { none }
        ::= { snmpV3Trap 11 }

-- start CAMEO_PORT_SECURITY
    snmpV3TrapPortSecurity    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 12 }
-- end CAMEO_PORT_SECURITY
-- start CAMEO_IMPBv2
    snmpV3TrapIMPBViolation    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 13 }
-- end CAMEO_IMPBv2
-- start CAMEO_LBD
    snmpV3TrapLBD    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 14 }
-- end CAMEO_LBD
-- start CAMEO_DHCP_SCREEN
    snmpV3TrapDHCPServerScreening    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 15 }
-- end CAMEO_DHCP_SCREEN
    snmpV3TrapDuplicateIPDetected    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."
        ::= { snmpV3Trap 16 }

-- start CAMEO_DHCPv6_SCREEN
    snmpV3TrapDHCPv6ServerScreening    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 17 }
-- end CAMEO_DHCPv6_SCREEN

-- start CAMEO_ICMPv6_RA_FILTER
    snmpV3TrapICMPv6RaAllNodeFilter    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 18 }
-- end CAMEO_ICMPv6_RA_FILTER

    snmpV3TrapLoginout    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 19 }

    snmpV3TrapDULD    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 20 }

    snmpV3TrapRPS    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 21 }
-- start DYING_GASP
    snmpV3TrapDyingGasp    OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            ""
        ::= { snmpV3Trap 22 }
-- end DYING_GASP


    snmpV3CommunityEncryption OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object is for enabling or disabling community encryption."
         ::=  { companySNMPV3  9 }

      	traps            OBJECT IDENTIFIER ::= { companyTraps 0 }
			snmpTrapSNMPAuthentication NOTIFICATION-TYPE				
              	STATUS  current
              	DESCRIPTION
					"SnmpV3TrapSNMPAuthentication."
              	::= { traps 1 }              
			snmpTrapColdStart NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
					"SnmpV3TrapColdStart."
              	::= { traps 2 }
              	
			snmpTrapWarmStart NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
					"SnmpV3TrapWarmStart."
              	::= { traps 3 }
			snmpTrapCopperLinkUpDown NOTIFICATION-TYPE				
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapCopperLinkUpDown."
				::= { traps 4 }
			snmpTrapRSTPStateChange NOTIFICATION-TYPE              	
              	STATUS  obsolete
              	DESCRIPTION
                      "SnmpV3TrapRSTPStateChange."
              ::= { traps 5 }              
			snmpTrapFirmUpgrade NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapFirmUpgrade."
              	::= { traps 6 }
			snmpTrapBPDUAttack NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "                      	
						SnmpV3TrapBPDUAttack notification. The notification is issued
                         when the for port for folloowing status:
                         
                         1. BPDU Attacked on port
                         2. BPDU Attacke Cleared on port
                         3. BPDU Attacke Recovered on port
					  "                      
              ::= { traps 11 }              
			snmpTrapPortSecurityViolationMac NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "This object indicates the MAC address that violates the port security configuration."
              ::= { traps 12 }
			snmpTrapIMPBv2 NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapIMPBv2."
              	::= { traps 13 }              	
			snmpTrapLBD NOTIFICATION-TYPE              
              STATUS  current
              DESCRIPTION
                      "SnmpV3TrapLBD."
              ::= { traps 14 }              
			snmpTrapDHCPScreen NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapDHCPScreen."
              	::= { traps 15 }              	
			snmpTrapGratuitousArp NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapGratuitousArp."
              	::= { traps 16 }              	
			macNotificatiotn NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" This trap indicates the MAC address variations in the address table . "
               	::= { traps 17 }
			duplicateIP NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" duplicateIP . "
               	::= { traps 21 }
			trafficControl NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" trafficControl. "
               	::= { traps 22 }
            topologyChange NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" topologyChange. "
               	::= { traps 23 }   	
			
			newRootBrgaddress NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" newRootBrgaddress. "
               	::= { traps 24 }
			newRootOlddesignatedroot NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" newRootOlddesignatedroot. "
               	::= { traps 25 }
			newRootMSTibridgeregionalroot NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
 					" topologyChange. "
               	::= { traps 26 }
-- start CAMEO_DHCPv6_SERVER_SCREEN_TRAP			
			snmpTrapDHCPv6Screen NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "SnmpV3TrapDHCPv6Screen."
              	::= { traps 27 }              	
-- start CAMEO_ICMPv6_RA_ALL_NODE_FILTER_TRAP			
			snmpTrapICMPv6RaAllNodeFilter NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "snmpTrapICMPv6RaAllNodeFilter."
              	::= { traps 28 }              	
-- end CAMEO_ICMPv6_RA_ALL_NODE_FILTER_TRAP                   	
-- start CAMEO_DYING_GASP			
			snmpTrapDyingGasp NOTIFICATION-TYPE              	
              	STATUS  current
              	DESCRIPTION
                      "snmpTrapDyingGasp."
              	::= { traps 29 }              	
-- end CAMEO_DYING_GASP
			snmpTrapWebLoginout NOTIFICATION-TYPE            
              	STATUS  current
              	DESCRIPTION
                      "snmpTrapWebLoginout."
              	::= { traps 30 }    
			snmpTrapLoginout NOTIFICATION-TYPE            
              	STATUS  current
              	DESCRIPTION
                      "snmpTrapLoginout."
              	::= { traps 31 } 
-- start DLINK_METRO_LIKE_CPU_PROTECT_ON
            snmpTrapCpuProtectLimit NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapCpuProtectLimit."
                ::= { traps 32 }
-- end DLINK_METRO_LIKE_CPU_PROTECT_ON

            snmpTrapDULD NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapDULD."
                ::= { traps 33 }
            snmpTrapERPS NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapERPS."
                ::= { traps 34 }
            snmpTrapDOSPrevent NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapDOSPrevent."
                ::= { traps 35 }
            snmpTrapAutoCableDiag NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapAutoCableDiag."
                ::= { traps 36 }
            snmpDyingGaspReceive NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpDyingGaspReceive."
                ::= { traps 37 }
                
            snmpMacAuth NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpMacAuth."
                ::= { traps 38 }
            snmpTrapRPS NOTIFICATION-TYPE
                STATUS  current
                DESCRIPTION
                    "snmpTrapRPS."
                ::= { traps 39 }

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

syslogEnable OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(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       INTEGER (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 }


    -- ------------------------------------------------------------------
    -- smtpRecvMailAddrTable
    -- ------------------------------------------------------------------
            ipv4syslogServerGroup          OBJECT IDENTIFIER ::= { companySyslog 2 }
            
    ipv4syslogServTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF Ipv4SyslogServEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The table of syslog remote server."
        ::= { ipv4syslogServerGroup 1 }

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

        INDEX { ipv4syslogServIndex }
        ::= { ipv4syslogServTable 1 }

    Ipv4SyslogServEntry  ::= 
            SEQUENCE {
              ipv4syslogServIndex          INTEGER,
              ipv4syslogServAddr           IpAddress,
              ipv4syslogServSeverity       INTEGER,
              ipv4syslogServFacility       INTEGER,
              ipv4syslogServUDPport        INTEGER,
              ipv4syslogServSrvStatus      INTEGER,
              ipv4syslogServSrvRowStatus   RowStatus
              }

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

    ipv4syslogServAddr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
              "The IP Address of syslog remote server."
        ::= { ipv4syslogServEntry  2 }

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



    ipv4syslogServFacility 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-create 
       STATUS      current 
       DESCRIPTION 
         "The Syslog standard facilities.
          The facility to be used when sending Syslog messages to this server."

       DEFVAL  { local0 } 
       ::= { ipv4syslogServEntry 4 }

    ipv4syslogServUDPport OBJECT-TYPE
       SYNTAX  INTEGER (514 | 6000..65535)
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
          "The value is for setting UDP Port."
       ::= { ipv4syslogServEntry 5 }

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


    ipv4syslogServSrvRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Row status of this server entry."
       ::= { ipv4syslogServEntry 7 }    

    -- ------------------------------------------------------------------
    -- 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,
              syslogServInterfaceName  OCTET STRING,
              syslogServSeverity       INTEGER,
              syslogServFacility       INTEGER,
              syslogServUDPport        INTEGER,
              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-create
        STATUS                 current
        DESCRIPTION
           "Specifies the Address type of server.Address type shall be ipv4 or ipv6."
        ::= { syslogServEntry 2 }

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

    syslogServInterfaceName   OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the interface name when the syslogServInterfaceName is linklocal address."
            ::= { syslogServEntry 4 } 

    syslogServSeverity OBJECT-TYPE 
        SYNTAX       INTEGER{
                      warning(4),   -- For logging warning messages.
                      information(6),      -- For logging informational messages.
                      all(7)      -- For logging debug messages.
                    }
        MAX-ACCESS  read-create 
        STATUS      current 
        DESCRIPTION 
           "Specifies the log level option to be set for a specific server."
 
        ::= { 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-create 
       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  INTEGER (514 | 6000..65535)
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
          "The value is for setting UDP Port."
       ::= { 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."
 
        ::= { syslogServEntry 8 }


    syslogServSrvRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Row status of this server entry."
       ::= { syslogServEntry 9 }   


    -- ------------------------------------------------------------------ 
    -- syslogModuleLogTable
    -- ------------------------------------------------------------------
        syslogModuleLogGroup          OBJECT IDENTIFIER ::= { companySyslog 4 }

    syslogModuleLogTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SyslogModuleLogEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that holds the module log state setting."

        ::= { syslogModuleLogGroup 1 }

    syslogModuleLogEntry OBJECT-TYPE
        SYNTAX  SyslogModuleLogEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of module log state settings of the device."
        INDEX   { syslogModuleLogType }

        ::= { syslogModuleLogTable 1 }

    SyslogModuleLogEntry ::= 
        SEQUENCE {
			syslogModuleLogType
				INTEGER,
			syslogModuleLogState
				INTEGER,
			syslogModuleLogThreshold
				INTEGER,
			syslogModuleLogTimeInterval
				INTEGER
        }

    syslogModuleLogType OBJECT-TYPE
    	SYNTAX INTEGER {
			igmp(1),
			 stp(2),
			impb(3),
			portSecurity(4),
			dying_gasp(5)
   	    	}
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "This object indicates the module log type."

        ::= { syslogModuleLogEntry 1 }

    syslogModuleLogState OBJECT-TYPE
       SYNTAX INTEGER {
                disabled(0),
                enabled(1)
               }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object is for enabling or disabling module log state."

       ::= { syslogModuleLogEntry 2 }

    syslogModuleLogThreshold OBJECT-TYPE
       SYNTAX  INTEGER (0..100)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is rate threshold of module log. The value 0 means unlimited."

       ::= { syslogModuleLogEntry 3 }

    syslogModuleLogTimeInterval OBJECT-TYPE
       SYNTAX  INTEGER (1..30)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "This object is time interval of rate threshold."

       ::= { syslogModuleLogEntry 4 }

-- 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 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index of the port for which the configuration
              in this entry applies.
              For all machines give maximum port number."
           ::= { 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 (1..4094)
           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 }


    -- ------------------------------------------------------------------    
    -- 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 }
        
        sysMirrorTargetPort 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." 
           ::= { companyMirror 2 }
        
        sysMirrorCtrlIngressMirroring 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."
           ::= { companyMirror 3 }
        
        sysMirrorCtrlEgressMirroring 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."
           ::= { companyMirror 4 }

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

	sysRspanStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled 	     (1),
                          disabled       (2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enable/Disable Rspan function.
               Default is disabled. "
         --    "Provides control over the mirroring feature in the switch." --
        
           DEFVAL  { disabled }
           ::= { companyRspan 1 }
        
        sysRspanVlanID 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." 
           ::= { companyRspan 2 }
        
        sysRspanRedirectPortList 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."
           ::= { companyRspan 3 }
        
	 
-- ------------------------------------------------------------------     
-- SNTP Timesetting
      -- ------------------------------------------------------------------


ipv4sysSNTPTimeSeconds  OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-write
   STATUS      obsolete
   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 1230768000 (00:00:00 UTC, 
        January 1, 2009) and smaller than 2145916799 (23:59:59
        UTC, December 31, 2037)."
   ::= { companySNTPSetting 1 }
   
ipv4sysSNTPFirstServer  OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      obsolete
   DESCRIPTION
       "SNTP First Server's IP Address"
   ::= { companySNTPSetting 2 }
   
ipv4sysSNTPSecondServer  OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      obsolete
   DESCRIPTION
       "SNTP Second Server's IP Address"
   ::= { companySNTPSetting 3 }
   
ipv4sysSNTPPollInterval  OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-write
   STATUS      obsolete
   DESCRIPTION
       "SNTP Poll Interval In Seconds  (30-99999) "
   ::= { companySNTPSetting 4 }

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

-- SNTP TimeZonesetting


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

   ::= { companySNTPSetting 6 }

ipv4sysSNTPGMTMinutes  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "Specifies the Time Zone Offset from GMT in +/- Minutes. (+780 ~ -720)"

   ::= { companySNTPSetting 7 }

ipv4sysSNTPDSTStartMon  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The start month of Daylight Saving Time."

   ::= { companySNTPSetting 8 }

ipv4sysSNTPDSTStartDay  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The start day of Daylight Saving Time."

   ::= { companySNTPSetting 9 }

ipv4sysSNTPDSTStartHour  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The start hour of Daylight Saving Time."

   ::= { companySNTPSetting 10 }

ipv4sysSNTPDSTStartMin  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The start minute of Daylight Saving Time."

   ::= { companySNTPSetting 11 }

ipv4sysSNTPDSTEndMon  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The end month of Daylight Saving Time."

   ::= { companySNTPSetting 12 }

ipv4sysSNTPDSTEndDay  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The end day of Daylight Saving Time."

   ::= { companySNTPSetting 13 }

ipv4sysSNTPDSTEndHour  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The end hour of Daylight Saving Time."

   ::= { companySNTPSetting 14 }

ipv4sysSNTPDSTEndMin  OBJECT-TYPE
   SYNTAX       INTEGER  
   MAX-ACCESS   read-write
   STATUS       obsolete
   DESCRIPTION
      "The end minute of Daylight Saving Time."

   ::= { companySNTPSetting 15 }
	 
ipv4sysSNTPDSTState  OBJECT-TYPE
   SYNTAX       INTEGER {
                annual(1),
                disabled(2)
               }
   MAX-ACCESS  read-write
   STATUS      obsolete
   DESCRIPTION
      "This object is for Annual(1) or Disabled(2) DST state in the system."
   ::= { companySNTPSetting 16 }

--IPv6 sntp server Table

		sysSNTPServerTable OBJECT IDENTIFIER ::= { companySNTPSetting 17 }
              
		sysSNTPTimeSeconds  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 1230768000 (00:00:00 UTC, 
                   January 1, 2009) and smaller than 2145916799 (23:59:59
                   UTC, December 31, 2037)."
              ::= { sysSNTPServerTable 1 }         
         
		sysSNTPFirstServer  OBJECT-TYPE
              SYNTAX      Ipv6Address
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "SNTP First Server's IPv6 Address"
              ::= { sysSNTPServerTable 2 }
   
		sysSNTPFirstType OBJECT-TYPE
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "SNTP First Server's IPv6 Address type."
              ::= { sysSNTPServerTable 3 }

        sysSNTPFirstInterfaceName   OBJECT-TYPE
              SYNTAX      OCTET STRING
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "Specifies the interface name when the sysSNTPFirstServer is linklocal address."
              ::= { sysSNTPServerTable 4 } 
   
		sysSNTPSecondServer  OBJECT-TYPE
              SYNTAX      Ipv6Address
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "SNTP Second Server's IPv6 Address"
              ::= { sysSNTPServerTable 5 }    
   
		sysSNTPSecondType OBJECT-TYPE	          
	          SYNTAX    INTEGER {
                        iPv4 (1),
                        iPv6 (2)
              }
              MAX-ACCESS  read-write
              STATUS      current
	          DESCRIPTION
                  "SNTP First Server's IPv6 Address type."
              ::= { sysSNTPServerTable 6 }

        sysSNTPSecondInterfaceName   OBJECT-TYPE
              SYNTAX      OCTET STRING
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "Specifies the interface name when the sysSNTPSecondServer is linklocal address."
              ::= { sysSNTPServerTable 7 } 
   
		sysSNTPPollInterval  OBJECT-TYPE
   		      SYNTAX      Integer32
   		      MAX-ACCESS  read-write
   		      STATUS      current
   		      DESCRIPTION
       		      "SNTP Poll Interval In Seconds  (30-99999) "
              ::= { sysSNTPServerTable 8 }

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

  -- SNTPv6 TimeZonesetting

		sysSNTPDSTOffset 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."
              ::= { sysSNTPServerTable 10 }

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

		sysSNTPDSTStartMon  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start month of Daylight Saving Time."
              ::= { sysSNTPServerTable 12 }

		sysSNTPDSTStartDay  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start day of Daylight Saving Time."
              ::= { sysSNTPServerTable 13 }

		sysSNTPDSTStartHour  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start hour of Daylight Saving Time."
              ::= { sysSNTPServerTable 14 }

		sysSNTPDSTStartMin  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start minute of Daylight Saving Time."
              ::= { sysSNTPServerTable 15 }

		sysSNTPDSTEndMon  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end month of Daylight Saving Time."
              ::= { sysSNTPServerTable 16 }

		sysSNTPDSTEndDay  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end day of Daylight Saving Time."
              ::= { sysSNTPServerTable 17 }

		sysSNTPDSTEndHour  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end hour of Daylight Saving Time."
              ::= { sysSNTPServerTable 18 }

		sysSNTPDSTEndMin  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end minute of Daylight Saving Time."
              ::= { sysSNTPServerTable 19 }	
               
		sysSNTPDSTState  OBJECT-TYPE
              SYNTAX       INTEGER {
                           enabled(1),
                           disabled(2)
              }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "This object is for Enabled(1) or Disabled(2) DST state in the system."
              ::= { sysSNTPServerTable 20 }   
	
	

		sysSNTPDSTMethod  OBJECT-TYPE
              SYNTAX       INTEGER {
                           annual(1),
                           repeating(2)
              }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "This object is for Annual(1) or Repeating(2) DST method in the system."
              ::= { sysSNTPServerTable 30 }

		sysSNTPDSTRepeatStartMon  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start month of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 31 }

		sysSNTPDSTRepeatStartWeek  OBJECT-TYPE
              SYNTAX       INTEGER {
                           last(0),
                           first(1),
                           second(2),
                           third(3),
                           fourth(4),
                           fifth(5)
              }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start week of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 32 }


		sysSNTPDSTRepeatStartWeekDay  OBJECT-TYPE
              SYNTAX       INTEGER {
                           sun(0),
                           mon(1),
                           tue(2),
                           wed(3),
                           thu(4),
                           fri(5),
                           sat(6)
              }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start weekday of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 33 }

		sysSNTPDSTRepeatStartHour  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start hour of Daylight Saving Time in Repeating mode.."
              ::= { sysSNTPServerTable 34 }

		sysSNTPDSTRepeatStartMin  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The start minute of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 35 }

		sysSNTPDSTRepeatEndMon  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end month of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 36 }

		sysSNTPDSTRepeatEndWeek  OBJECT-TYPE
              SYNTAX       INTEGER {
                           last(0),
                           first(1),
                           second(2),
                           third(3),
                           fourth(4),
                           fifth(5)
              }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end week of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 37 }


		sysSNTPDSTRepeatEndWeekDay  OBJECT-TYPE
              SYNTAX       INTEGER {
                           sun(0),
                           mon(1),
                           tue(2),
                           wed(3),
                           thu(4),
                           fri(5),
                           sat(6)
              }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end weekday of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 38 }

		sysSNTPDSTRepeatEndHour  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end hour of Daylight Saving Time in Repeating mode.."
              ::= { sysSNTPServerTable 39 }

		sysSNTPDSTRepeatEndMin  OBJECT-TYPE
              SYNTAX       INTEGER  
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                  "The end minute of Daylight Saving Time in Repeating mode."
              ::= { sysSNTPServerTable 40 }
 
    -- ---------------------------------------------------------------------
    -- voicevlan Function
    -- ---------------------------------------------------------------------
          
      voicevlanSystem          OBJECT IDENTIFIER ::= { companyVoiceVlan 1 }
      voicevlanOUI             OBJECT IDENTIFIER ::= { companyVoiceVlan 2 }
      voicevlanDevice          OBJECT IDENTIFIER ::= { companyVoiceVlan 3 }
      voicevlanLldpmedDevice   OBJECT IDENTIFIER ::= { companyVoiceVlan 4 }
    -- ------------------------------------------------------------------
    -- The Voice Vlan Group
    -- ------------------------------------------------------------------

      voiceVlanMode OBJECT-TYPE
           SYNTAX      INTEGER { enabled(1), disabled(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Voice VLAN is a feature that allows you to automatically place 
               the voice traffic from IP phone to an assigned VLAN to enhance 
               the VoIP service. 
               This object is for enabling or disabling Voice Vlan function 
               in the system. 
               If the Vlan mode is in Asymmetric VLAN mode, Voice VLAN can not 
               be enabled."

           ::= { voicevlanSystem 2 }

      voiceVlanId OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The ID of VLAN that you want the voice traffic to be in. 
                It must be a exist vlan id."
            ::= { voicevlanSystem 3 }

      voiceVlanTimeout OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "A period of time in hour to remove a port from voice VLAN 
                if the port is an automatic VLAN member.
                The Timeout range is 1~120 hours.
                Default aging time is 1 hour."
            ::= { voicevlanSystem 4}

      voiceVlanPriority OBJECT-TYPE
            SYNTAX INTEGER (0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The 802.1p priority levels of the traffic in the Voice VLAN."
            ::= { voicevlanSystem 5}

      voiceVlanLogState OBJECT-TYPE
            SYNTAX  INTEGER { enabled(1), disabled(2) }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Log status in the Voice VLAN."
            ::= { voicevlanSystem 6}

        --
        -- Voice Vlan Port Control Table
        --          

        voicevlanPortControlTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF VoiceVlanPortControlEntry
          MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
                      "A table that contains Voice Vlan Port Control
                       configuration information."
          ::= { voicevlanSystem 7 }


        voicevlanPortControlEntry OBJECT-TYPE
          SYNTAX      VoiceVlanPortControlEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
                      "A list of Voice Vlan Control configuration
                       parameters for each Port on this device."
          INDEX      { voicevlanPortControlIndex }
          ::= { voicevlanPortControlTable 1 }  

        VoiceVlanPortControlEntry ::=
          SEQUENCE {
            voicevlanPortControlIndex
                InterfaceIndex,
            voicevlanPortAutoDetection
                INTEGER,    
            voicevlanPortManuTagMode
                INTEGER, 
            voicevlanPortCurrentTagMode
                INTEGER, 
            voicevlanPortState
                INTEGER        
        }
        
        voicevlanPortControlIndex OBJECT-TYPE
          SYNTAX       InterfaceIndex
          MAX-ACCESS   read-only
          STATUS       current
          DESCRIPTION
              "The voice vlan port index."
          ::= { voicevlanPortControlEntry 1 }            
          
        voicevlanPortAutoDetection  OBJECT-TYPE
          SYNTAX       INTEGER { enabled(1), disabled(2) }
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "This object is for enabling or disabling Voice Vlan Auto 
             Detection in the port.
             If the auto detection is enable, switch will add this port 
             to the voice VLAN automatically if it detects the device OUI 
             matches the Telephony OUI.
             If the port is a static member of voice vlan or a LA member,
             it can not enable voice vlan auto detection."
          ::= { voicevlanPortControlEntry 2 }
                
        voicevlanPortManuTagMode  OBJECT-TYPE
            SYNTAX INTEGER  { 
                tag(1), 
                untag(2) 
            }
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
            "User assign per port tag/untag mode."
          ::= { voicevlanPortControlEntry 3 }

        voicevlanPortCurrentTagMode      OBJECT-TYPE 
            SYNTAX INTEGER  { 
                tag(1), 
                untag(2),
                none(3)
            }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Per port current tag/untag mode."
                 
           ::= { voicevlanPortControlEntry 4 }    
                
        voicevlanPortState      OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 manual(1),
        		 dynamic(2),
                 none(3)
            }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
                "This object indicates Voice vlan state to this Port.
                manual - this port is a static member of voice vlan.
                dynamic - this port is a dynamic member of voice vlan.
                none - this port is not a member of voice vlan."
                 
           ::= { voicevlanPortControlEntry 5 }    

    -- ------------------------------------------------------------------
    -- The Voice Vlan OUI Group
    -- ------------------------------------------------------------------

    --
    -- Voice Vlan OUI Table
    --
    
    voicevlanOUITable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF VoicevlanOUIEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A voice vlan OUI entry containing the description and mac."

        ::= { voicevlanOUI 1 }

    voicevlanOUIEntry OBJECT-TYPE
        SYNTAX     VoicevlanOUIEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A voice vlan OUI entry containing the description and mac."

        INDEX { voicevlanOUITelephonyOUI }
        ::= { voicevlanOUITable 1 }

    VoicevlanOUIEntry  ::= 
            SEQUENCE {
              voicevlanOUITelephonyOUI          MacAddress,
              voicevlanOUIDescription           OCTET STRING,
              voicevlanOUIMask                  MacAddress,
              voicevlanOUIStatus                RowStatus
              }

    voicevlanOUITelephonyOUI OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "An Organizationally Unique Identifier (OUI) is a 24-bit number 
         that is purchased from the IEEE Registration Authority. This identifier 
         uniquely identifies a vendor, manufacturer, or other organization.
         This object indicates the voice traffic's OUI that user created." 
        ::= { voicevlanOUIEntry  1 }

    voicevlanOUIDescription OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The Description for the OUI."
        ::= { voicevlanOUIEntry  2 }
        
    voicevlanOUIMask OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Voice vlan OUI Mask. Always be FF:FF:FF:00:00:00."
        ::= { voicevlanOUIEntry  3 }
        
    voicevlanOUIStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "This object indicates the status of this entry. 
         To create a new entry, you must set the voicevlanOUIStatus 
         to be CreateAndGo, then this entry will turn to be Active."
       ::= { voicevlanOUIEntry 4 }    

	-- ------------------------------------------------------------------
    -- The Voice Vlan Device Group
    -- ------------------------------------------------------------------

    --
    -- Voice Vlan Device Table
    --
    
    voicevlanDeviceTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF VoicevlanDeviceEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A voice vlan Device entry containing the description and mac."

        ::= { voicevlanDevice 1 }

    voicevlanDeviceEntry OBJECT-TYPE
        SYNTAX     VoicevlanDeviceEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A voice vlan Device entry containing the description and mac."

        INDEX { voicevlanDeviceIndexMac }
        ::= { voicevlanDeviceTable 1 }

    VoicevlanDeviceEntry  ::= 
            SEQUENCE {
              voicevlanDeviceIndexMac       MacAddress,
              voicevlanDevicePort           INTEGER
              }

    voicevlanDeviceIndexMac OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "An Mac Address is a 24-bit number that is purchased from the 
         IEEE Registration Authority. This identifier uniquely identifies 
         a vendor, manufacturer, or other organization. This object 
         indicates the voice traffic's Mac that voice device created." 
        ::= { voicevlanDeviceEntry  1 }

    voicevlanDevicePort OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The port is learning by voice device."
        ::= { voicevlanDeviceEntry  2 }	   
	   
    -- ------------------------------------------------------------------
    -- The Voice Vlan Lldp Med Device Group
    -- ------------------------------------------------------------------

    --
    -- Voice Vlan Lldp Med Device Table
    --
    
    voicevlanLldpMedDeviceTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF VoicevlanLldpMedDeviceEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A voice vlan Lldp Med Device entry containing the description and mac."

        ::= { voicevlanLldpmedDevice 1 }

    voicevlanLldpMedDeviceEntry OBJECT-TYPE
        SYNTAX     VoicevlanLldpMedDeviceEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A voice vlan Lldp Med Device entry containing the description and mac."

        INDEX { voicevlanLldpMedDeviceIndexMac }
        ::= { voicevlanLldpMedDeviceTable 1 }

    VoicevlanLldpMedDeviceEntry  ::= 
            SEQUENCE {
              voicevlanLldpMedDeviceIndexMac       MacAddress,
              voicevlanLldpmedDevicePort           INTEGER,
              voicevlanLldpmedDevicePriority       INTEGER,
              voicevlanLldpmedDeviceTagType        INTEGER,
              voicevlanLldpmedDeviceStatus         INTEGER
              }

    voicevlanLldpMedDeviceIndexMac OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "An Mac Address is a 24-bit number that is purchased from the 
         IEEE Registration Authority. This identifier uniquely identifies 
         a vendor, manufacturer, or other organization. This object 
         indicates the voice traffic's Mac that voice device created." 
        ::= { voicevlanLldpMedDeviceEntry  1 }

    voicevlanLldpmedDevicePort OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The port is learning by voice device."
        ::= { voicevlanLldpMedDeviceEntry  2 }
        
    voicevlanLldpmedDevicePriority OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "The priority value for voice device."
        ::= { voicevlanLldpMedDeviceEntry  3 }
        
    voicevlanLldpmedDeviceTagType OBJECT-TYPE
       SYNTAX INTEGER  { 
            tag(1), 
            untag(2) 
        }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "The tag type for voice device."
        ::= { voicevlanLldpMedDeviceEntry  4 }
        
    voicevlanLldpmedDeviceStatus OBJECT-TYPE
       SYNTAX INTEGER  { 
            active(1), 
            destroy(6) 
        }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "This object indicates the status of this entry. 
         You can delete this object."
       ::= { voicevlanLldpMedDeviceEntry 5 }
-- end CAMEO_VOICE_VLAN   

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

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

        limitIpMulticastProfileEntry OBJECT-TYPE
            SYNTAX LimitIpMulticastProfileEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
            INDEX { limitIpMulticastIPType, limitIpMulticastProfileID }
            ::= { limitIpMulticastProfileTable 1 }   

        LimitIpMulticastProfileEntry ::= SEQUENCE { 
        	limitIpMulticastIPType          INTEGER,
            limitIpMulticastProfileID       INTEGER,
            limitIpMulticastProfileName     DisplayString,
            limitIpMulticastProfileStatus   RowStatus
        }          
           
		limitIpMulticastIPType OBJECT-TYPE
           SYNTAX      INTEGER {
                  ipv4(1),
                  ipv6(2)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                "Indicate the IP type of profile."
           ::= { limitIpMulticastProfileEntry 1 }
                      
        limitIpMulticastProfileID OBJECT-TYPE 
           SYNTAX      INTEGER (1..24)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The ProfileID of the limit ip multicast profile entry."
           ::= { limitIpMulticastProfileEntry 2 }
           
        limitIpMulticastProfileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..20))
             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 (1..24)
           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 } 
            
 
              
        limitIpMulticastPortTable OBJECT-TYPE
            SYNTAX SEQUENCE OF LimitIpMulticastPortEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the limit ip multicast Port entry Table."
            ::= { companyLimitIp 3 }

        limitIpMulticastPortEntry OBJECT-TYPE
            SYNTAX LimitIpMulticastPortEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A limit ip multicast entry maintain by the Port Index."
            INDEX { limitIpMulticastPortIPType, limitIpMulticastPortID }
            ::= { limitIpMulticastPortTable 1 }       
                
                           
        LimitIpMulticastPortEntry ::= SEQUENCE {        
        	limitIpMulticastPortIPType      INTEGER,
            limitIpMulticastPortID          INTEGER,    
            limitIpMulticastPortState       INTEGER,
            limitIpMulticastPortProfileID   PortList,
            limitIpMulticastPortMaxGrp      INTEGER,
            limitIpMulticastPortAction      INTEGER
        }                           
          
        limitIpMulticastPortIPType OBJECT-TYPE
           SYNTAX      INTEGER {
                  ipv4(1),
                  ipv6(2)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                "Indicate the IP type of entry."
           ::= { limitIpMulticastPortEntry 1 }
           
        limitIpMulticastPortID OBJECT-TYPE 
           SYNTAX      INTEGER (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The Port Index of the limit ip multicast port entry.
               For all machines give maximum port number."
           ::= { 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     INTEGER (1..256)
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                  "The limit ip multicast per-port max group."
            ::= { limitIpMulticastPortEntry 5 } 
            
        limitIpMulticastPortAction OBJECT-TYPE
           SYNTAX      INTEGER {
                  drop(1),
                  replace(2)
           }
           MAX-ACCESS read-write
           STATUS current
           DESCRIPTION
                "The limit ip multicast port action."
           ::= { limitIpMulticastPortEntry 6 }
            


 
	-- -----------------------------------------------------------------------------
	-- The Guest Vlan Group
	-- -----------------------------------------------------------------------------
	guestVlanName OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..32))
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"The VLAN name of guest VLAN."
	    ::= { companyGuestVlan 1 }

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

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

 
    -- -----------------------------------------------------------------------------
	-- The Protocol Group Name Table
	-- -----------------------------------------------------------------------------
	protocolGroupNameTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ProtocolGroupNameEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control protocol group name features of the device."
        ::= { companyProtocolVlan 1 }
        
    protocolGroupNameEntry OBJECT-TYPE
        SYNTAX ProtocolGroupNameEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in protocol group name table for each interface 
 	        in the system."    
 	    INDEX {protocolGroupGID}
        ::= { protocolGroupNameTable 1 }
  
    ProtocolGroupNameEntry ::= 
        SEQUENCE {  
           protocolGroupGID
              Integer32,
           protocolGroupName
              DisplayString
        }
           
    protocolGroupGID OBJECT-TYPE
        SYNTAX      Integer32 (1..16)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The group ID of protocol group name table."
        ::= { protocolGroupNameEntry 1 }
    
    protocolGroupName OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		   "The group name of protocol group name table."
	    ::= { protocolGroupNameEntry 2 }

                  
	-- -----------------------------------------------------------------------------
	-- The Protocol Group Table
	-- -----------------------------------------------------------------------------
	protocolGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ProtocolGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control protocol group features of the device."
        ::= { companyProtocolVlan 2 }
        
    protocolGroupEntry OBJECT-TYPE
        SYNTAX ProtocolGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in protocol group table for each interface 
 	        in the system."    
 	    INDEX {protocolGroupId, protocolGroupFrameType, protocolGroupProtocolValue}
        ::= { protocolGroupTable 1 }
  
    ProtocolGroupEntry ::= 
        SEQUENCE {  
           protocolGroupId
              Integer32,
           protocolGroupFrameType 
              INTEGER,
           protocolGroupProtocolValue
              Integer32,
           protocolGroupRowStatus 
              RowStatus       
        }
           
    protocolGroupId OBJECT-TYPE
        SYNTAX      Integer32 (1..16)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The group ID of protocol group table."
        ::= { protocolGroupEntry 1 }
        
    protocolGroupFrameType OBJECT-TYPE
	    SYNTAX INTEGER  {
        	 ethernet (1),
        	 ieee8023-snap (2)
        }
        MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
		   "The frame type of protocol group table."
	    ::= { protocolGroupEntry 2 } 
	
	protocolGroupProtocolValue OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The protocol value of protocol group table."
        ::= { protocolGroupEntry 3 }

    protocolGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status of protocol group table."
        ::= { protocolGroupEntry 99 }   
              
    
    -- -----------------------------------------------------------------------------
	-- The Protocol Vlan Table
	-- -----------------------------------------------------------------------------
	protocolVlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ProtocolVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control protocol vlan features of the device."
        ::= { companyProtocolVlan 3 }
        
    protocolVlanEntry OBJECT-TYPE
        SYNTAX ProtocolVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in protocol vlan table for each interface 
 	        in the system."    
 	    INDEX {protocolVlanPort, protocolVlanVID, protocolVlanGroupID}
        ::= { protocolVlanTable 1 }
  
    ProtocolVlanEntry ::= 
        SEQUENCE {  
           protocolVlanPort
              Integer32,
           protocolVlanVID
              Integer32, 
           protocolVlanGroupID 
              Integer32,
           protocolVlanRowStatus 
              RowStatus       
        }
    
    protocolVlanPort OBJECT-TYPE
        SYNTAX      Integer32 (1..28)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The interface number of protocol vlan table."
        ::= { protocolVlanEntry 1 }

    protocolVlanVID OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The vlan ID of protocol vlan table."
        ::= { protocolVlanEntry 2 }

    protocolVlanGroupID OBJECT-TYPE
        SYNTAX      Integer32 (1..16)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The group ID of protocol vlan table."
        ::= { protocolVlanEntry 3 }

    protocolVlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status of protocol vlan table."
        ::= { protocolVlanEntry 99 }


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

    macNotifyState 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 }        
             
    macNotifyInterval OBJECT-TYPE
	    SYNTAX  INTEGER (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 }    

    macNotifyHistorySize OBJECT-TYPE
	    SYNTAX  INTEGER (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    
    macNotifyCtrlTable 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 { macNotifyCtrlIndex }
       ::= { macNotifyCtrlTable 1 }
       
    MacNotifyCtrlEntry ::= 
       SEQUENCE { 
          macNotifyCtrlIndex
             Integer32, 
          macNotifyPortStatus 
             INTEGER
      }
    
    macNotifyCtrlIndex OBJECT-TYPE 
       SYNTAX      Integer32 (1..28)
       MAX-ACCESS  read-only 
       STATUS      current 
       DESCRIPTION 
          "The interface index of the port for which the configuration
          in this entry applies.
          For all machines give maximum port number."
       ::= { 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 loopback detection 
            function. Default is disabled."
       DEFVAL  { disabled }
       ::= { macNotifyCtrlEntry 2 }
       
    macNotifyInfo  OBJECT IDENTIFIER ::= {  companyMacNotify 5 } 

    macNotifyInfoDiscription   OBJECT-TYPE
        SYNTAX          OCTET STRING(SIZE (1..1024))
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
			"This object indicates the information for the device MAC address changes. And the detailed information include:
      		Operation Code + MAC address + Box ID + Port Number + Zero...

      		Operation Code: 1, 2 and 3
                 1 means learned a new MAC address
                 2 means deleted an old MAC address.
				3 means station movement.

      			Box ID: The switch box ID, for standalone device, it always 1.
      			Port Number: The port number learned or deleted for the box.
      			Zero: Used to separate each message (Operate Code + MAC address + Box ID + Port Number)."
        ::= { macNotifyInfo 1 }

	companyMacFlap  OBJECT IDENTIFIER ::= { companyMacNotify 6 }

	macFlapState OBJECT-TYPE
		SYNTAX  INTEGER {
			enabled(1),
			disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			"This object can enabled or disabled MAC Notification."
		::= { companyMacFlap 1 }

	macFlapInterval OBJECT-TYPE
	    SYNTAX  INTEGER (1..3600)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the time interval during which we judge it as mac flapping."
        --DEFVAL     { 1 }
	    ::= { companyMacFlap 2 }

	macFlapTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF MacFlapEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry appears in this table for each flapped MAC address"
		::= { companyMacFlap 3 }

	macFlapEntry OBJECT-TYPE
		SYNTAX      MacFlapEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry appears in this table for each flapped MAC address"
		INDEX { macFlapMacAddress }
		::= { macFlapTable 1 }

	MacFlapEntry ::=
		SEQUENCE {
			macFlapMacAddress
				MacAddress,
			macFlapVlanId
				Integer32,
			macFlapTotalTime
				Integer32,
			macFlapFlappedTimes
				Integer32,
			macFlapPortList
				PortList
		}

	macFlapMacAddress OBJECT-TYPE
		SYNTAX      MacAddress
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Flapped Mac Address"
		::= { macFlapEntry 1 }

	macFlapVlanId   OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Flapped Vlan Id"
		::= { macFlapEntry 2 }

	macFlapTotalTime OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Flapped total time"
		::= { macFlapEntry 3 }
	
	macFlapFlappedTimes OBJECT-TYPE
		SYNTAX      Integer32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Flap times during total time"
		::= { macFlapEntry 4 }

	macFlapPortList OBJECT-TYPE
		SYNTAX      PortList
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Specifies the port list on which the mac flapped"
		::= { macFlapEntry 5 }



    -- ------------------------------------------------------------------ 
    -- BPDU Attack Protection Group
    -- ------------------------------------------------------------------
    sysBPDUAttackStateEnable OBJECT-TYPE 
           SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Use this to enable BPDU attack protection.
                The BPDU Attack Protection function and Spanning Tree Protocol 
                for ports are mutually exclusive. When the STP function is enabled 
                on a particular port, BPDU Attack Protection cannot be enabled."
        
           DEFVAL  { disabled }
           ::= { companyBPDUAttack 1 }
                   
    sysBPDUAttackRecoverTime  OBJECT-TYPE
           SYNTAX      Integer32 (0 | 60..1000000)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "When a port enters under attack state, it can be disabled or blocked 
            based on the configuration. The state can be recovered manually or 
            by the auto recovery mechanism. This command is used to configure the 
            auto-recovery timer. To manually recover the port, the user needs to 
            disable and re-enable the port."  
           DEFVAL  { 60 }
           ::= { companyBPDUAttack 2 }       
        
        -- BPDUAttack Port Control Table
        
        sysBPDUAttackCtrlTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysBPDUAttackCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "A table to control BPDU Attack features either for 
              the entire switch or for each interface in the switch."
           ::= { companyBPDUAttack 3 }
        
        sysBPDUAttackCtrlEntry OBJECT-TYPE 
           SYNTAX      SysBPDUAttackCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface 
                in the system."
           INDEX { sysBPDUAttackCtrlIndex }
           ::= { sysBPDUAttackCtrlTable 1 }
           
        SysBPDUAttackCtrlEntry ::= 
           SEQUENCE {
              sysBPDUAttackCtrlIndex
                 Integer32,
              sysBPDUAttackPortState 
                 INTEGER,
              sysBPDUAttackPortMode 
                 INTEGER ,
              sysBPDUAttackPortStatus 
                 INTEGER
          }
        
        sysBPDUAttackCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index of the port for which the configuration
              in this entry applies.
              For all machines give maximum port number."
           ::= { sysBPDUAttackCtrlEntry 1 }
            
        sysBPDUAttackPortState OBJECT-TYPE 
           SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Used to configure the BPDU Attack Protection state of a port.
                The default state is disable."
           DEFVAL  { disabled }
           ::= { sysBPDUAttackCtrlEntry 2 }
        
        sysBPDUAttackPortMode OBJECT-TYPE 
           SYNTAX      INTEGER {
                       drop(1),
                       block(2),
                       shutdown(3)
                      }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Used to configure the BPDU Attack Protection mode of a port."
           ::= { sysBPDUAttackCtrlEntry 3 }

        sysBPDUAttackPortStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                       normal(1),
                       underAttack(2)
                       }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Use this to view per port BPDU attack protection status."
           DEFVAL  { normal }
           ::= { sysBPDUAttackCtrlEntry 4 }
           
	    sysBPDUAttackLog    OBJECT-TYPE
	           SYNTAX      INTEGER {
	                          none(1),
	                          attackDetected(2),
	                          attackCleared(3),
	                          both(4)
	                       }
	           MAX-ACCESS  read-write
	           STATUS      current
	           DESCRIPTION
	               "Used to configure log settings for BPDU attack protection events."
	
	           DEFVAL  { none }
	        ::= { companyBPDUAttack 4 }
    -- ---------------------------------------------------------------------
    -- VLAN Trunk Function
    -- ---------------------------------------------------------------------
      vlanTrunkSystem                OBJECT IDENTIFIER ::= { companyVLANTrunk 1 }
    -- ------------------------------------------------------------------
    -- The La System Group
    -- ------------------------------------------------------------------

      vlanTrunkGlobalStatus OBJECT-TYPE
           SYNTAX      INTEGER { enabled(1), disabled(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This indicates the global state of the VLAN trunking feature of the device."
           ::= { vlanTrunkSystem 1 }

    vlanTrunkTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF VlanTrunkConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "This table is used to manage the VLAN trunking feature of the device."
        ::= { vlanTrunkSystem 2 }

    vlanTrunkEntry OBJECT-TYPE
        SYNTAX     VlanTrunkConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created
               port-channel port."
        INDEX { vlanTrunkIfIndex }
        ::= { vlanTrunkTable 1 }

    VlanTrunkConfigEntry ::= 
            SEQUENCE {
              vlanTrunkIfIndex                InterfaceIndex,
              vlanTrunkState                  INTEGER
              }

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

    vlanTrunkState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the VLAN trunk status as enabled or disabled."
        ::= { vlanTrunkEntry 2 }

    -- ---------------------------------------------------------------------
    -- QinQ Function
    -- ---------------------------------------------------------------------
      qinqSystem                OBJECT IDENTIFIER ::= { companyQinQ 1 }
      qinqVLANTranslation       OBJECT IDENTIFIER ::= { companyQinQ 2 }
    -- ------------------------------------------------------------------
    -- 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."
        ::= { qinqSystem 1 }
                              
    qinqInnerTPID OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used to set the Q-in-Q inner TPID."
        ::= { qinqSystem 2 }

    qinqTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF QinQConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A table that contains Q-in-Q information about each port."
        ::= { qinqSystem 3 }

    qinqEntry OBJECT-TYPE
        SYNTAX     QinQConfigEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A list of Q-in-Q information for each port."
        INDEX { qinqIfIndex }
        ::= { qinqTable 1 }

    QinQConfigEntry ::= 
            SEQUENCE {
              qinqIfIndex                    InterfaceIndex,
              qinqRoleState                  INTEGER,
              qinqMissDropState              INTEGER,
              qinqOuterTPID                  Unsigned32,
              qinqAddInnerTagState           INTEGER,
              qinqAddInnerTagValue           Unsigned32
            }

    qinqIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The index of the port. "
        ::= { qinqEntry 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."
        ::= { qinqEntry 2 }

    qinqMissDropState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Miss Drop state as enabled or disabled."
        ::= { qinqEntry 3 }

    qinqOuterTPID OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Outer TPID value."
        ::= { qinqEntry 4 }

    qinqAddInnerTagState OBJECT-TYPE
       SYNTAX       INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Add Inner Tag state as enabled or disabled."
        ::= { qinqEntry 5 }

    qinqAddInnerTagValue OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the QinQ Add Inner Tag value."
        ::= { qinqEntry 6 }
        
    --
    -- Vlan Translation Table
    --
    qinqVlanTranslationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF QinQVlanTranslationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains VLAN translation information."
    ::= { qinqVLANTranslation 1 }

    qinqVlanTranslationEntry OBJECT-TYPE
    SYNTAX      QinQVlanTranslationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of VLAN translation information."
    INDEX   {qinqVlanTranslationIfIndex, qinqVlanTranslationCVID}
    ::= { qinqVlanTranslationTable 1 }

    QinQVlanTranslationEntry ::=
    SEQUENCE {
        qinqVlanTranslationIfIndex
            InterfaceIndex,
        qinqVlanTranslationCVID
            Unsigned32,
        qinqVlanTranslationSVID
            Unsigned32,    
        qinqVlanTranslationPriority
            Integer32,
        qinqVlanTranslationSVIDOperation
            INTEGER,
        qinqVlanTranslationRowStatus
            RowStatus
    }
    
    qinqVlanTranslationIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The interface index."
    ::= { qinqVlanTranslationEntry 1 }

    qinqVlanTranslationCVID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The customer VLAN identifier in a C-TAG."
    ::= { qinqVlanTranslationEntry 2 }

    qinqVlanTranslationSVID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write 
    STATUS      current
    DESCRIPTION
        "A VLAN identifier conveyed in an S-TAG."
    ::= { qinqVlanTranslationEntry 3 }

    qinqVlanTranslationPriority OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write 
    STATUS      current
    DESCRIPTION
        "The priority of TAG."
    ::= { qinqVlanTranslationEntry 4 }
    
    qinqVlanTranslationSVIDOperation OBJECT-TYPE
    SYNTAX      INTEGER {
                  add(1),
                  replace(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The 'add' action indicates to add a tag for the assigned SP-VLAN
        before the C-VLAN tag. If there is S-TAG in the packet, this rule
        will not take effect.
        The 'replace' action indicates to replace the C-VLAN in the tag by
        the SP-VLAN. If there is no C-TAG in the packet, this rule will not
        take effect."
    ::= { qinqVlanTranslationEntry 5 }

    qinqVlanTranslationRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry."
    ::= { qinqVlanTranslationEntry 99 }               
    
    -- ---------------------------------------------------------------------
    -- EOAM Function
    -- ---------------------------------------------------------------------
      eoamSystem                OBJECT IDENTIFIER ::= { companyEoam 1 }
      eoamLinkMonitor           OBJECT IDENTIFIER ::= { companyEoam 2 }
    -- ------------------------------------------------------------------
    -- The EOAM System Group
    -- ------------------------------------------------------------------

--    eoamGlobalStatus OBJECT-TYPE
--        SYNTAX      INTEGER { enabled(1), disabled(2) }
--        MAX-ACCESS  read-write
--        STATUS      current
--        DESCRIPTION
--            "This object is used to enable/disable the EOAM status."
--        ::= { eoamSystem 1 }

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

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

    EOAMConfigEntry ::= 
            SEQUENCE {
              eoamIfIndex                    InterfaceIndex,
              eoamState                      INTEGER,
              eoamMode                       INTEGER,
              eoamReceivedRemoteLoopback     INTEGER,
              eoamRemoteLoopback             INTEGER,
              eoamDyingGaspEnable            INTEGER,
              eoamCriticalEventEnable        INTEGER
              }

    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 }

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

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

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

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

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

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

    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
       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
       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       Unsigned32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol threshold."
        ::= { eoamLinkMonitorEntry 9 }

    errorFrameSecondsWindow OBJECT-TYPE
       SYNTAX       Unsigned32
       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
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "Sets the EOAM error symbol window."
        ::= { eoamLinkMonitorEntry 13 }

    -- ---------------------------------------------------------------------
    -- EOAM Function
    -- ---------------------------------------------------------------------
      duldSystem                OBJECT IDENTIFIER ::= { companyDuld 1 }

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

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

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

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

    duldLinkStatus OBJECT-TYPE
       SYNTAX       INTEGER { unknow(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 }

    duldRecoverTime  OBJECT-TYPE
        SYNTAX     Unsigned32 (0 | 60..1000000)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
           "Duld auto recover time."
        DEFVAL  { 60 }
        ::= { duldSystem 2 }

-- ----------------------------------------------------------
-- The companyDoSCtrl Groups
-- ----------------------------------------------------------
-- Dos prevention Group 
-- ----------------------------------------------------------
						
    doSCtrlTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF DoSCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that holds the DoS prevention settings of the device."
        ::= { companyDoSCtrl 1 }

    doSCtrlEntry OBJECT-TYPE
        SYNTAX  DoSCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of DoS prevention settings of the device."
        INDEX   { doSCtrlType }
        ::= { doSCtrlTable 1 }

    DoSCtrlEntry ::= 
        SEQUENCE {
			doSCtrlType
				INTEGER,
			doSCtrlState
				INTEGER,
			doSCtrlActionType
				INTEGER
        }
        
    doSCtrlType OBJECT-TYPE
    	SYNTAX INTEGER {
			land-attack(1),
			blat-attack(2),
			tcp-null-scan(4),
			tcp-xmascan(5),
			tcp-synfin(6),
			tcp-syn-srcport-less-1024(7),
			ping-death-attack(8),
			tcp-tiny-fragment(9)
   	    	}
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "This object indicates the DoS prevention type."
    ::= { doSCtrlEntry 1 }
    
	  doSCtrlState OBJECT-TYPE
        SYNTAX INTEGER {
                          disabled (0),
                          enabled  (1)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the DoS prevention type."
    ::= { doSCtrlEntry 2 }
       
    doSCtrlActionType OBJECT-TYPE
        SYNTAX  INTEGER {
               drop(0)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the action for the DoS prevention type. 
            If this object is set to 'mirror' and DoSCtrlState is set to 'enable', the configuration 
            will not take effect until a valid mirror port is specified. If mirror port is not valid
            the behavior will be the same as 'drop'"
        ::= { doSCtrlEntry 3 }

	dosCtrlTrapLogState OBJECT-TYPE 
           SYNTAX      INTEGER {
                          disabled (0),
                          enabled  (1)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enable/Disable Dos Trap Log function.
               Default is disabled."
                 
           DEFVAL  { disabled }
           ::= { companyDoSCtrl 2 }

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

	    swTimeRangeSettingTable OBJECT-TYPE
	       SYNTAX      SEQUENCE OF SwTimeRangeSettingEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	       DESCRIPTION
	           "A table to configure time Range in the system."
	       ::= { companyTimeRangeMgmt 1 }
	    
	    swTimeRangeSettingEntry OBJECT-TYPE
	       SYNTAX      SwTimeRangeSettingEntry
	       MAX-ACCESS  not-accessible
	       STATUS      current
	            DESCRIPTION
	                "A schedule entry to configure time Range in the system."     
	       INDEX { swTimeRangeIndex }
	       ::= { swTimeRangeSettingTable 1 }      
	       
	    SwTimeRangeSettingEntry ::=
	       SEQUENCE { 
	          	swTimeRangeIndex     	    Integer32,      
	          	swTimeRangeName	            DisplayString,
	          	swTimeRangeDate             INTEGER,          	          	
	            swTimeRangeStartYear		INTEGER,
	            swTimeRangeStartMonth		INTEGER,
	            swTimeRangeStartDay			Integer32,
	            swTimeRangeStartHour		Integer32,
	            swTimeRangeStartMinute    	Integer32,
	            swTimeRangeEndYear			INTEGER,
	            swTimeRangeEndMonth			INTEGER,
	            swTimeRangeEndDay			Integer32,
	            swTimeRangeEndHour			Integer32,
	            swTimeRangeEndMinute       	Integer32,          
	            swTimeRangeMonday          	INTEGER,
	            swTimeRangeTuesday         	INTEGER,
	            swTimeRangeWednesday       	INTEGER,
	            swTimeRangeThursday        	INTEGER,
	            swTimeRangeFriday          	INTEGER,
	            swTimeRangeSaturday        	INTEGER,
	            swTimeRangeSunday          	INTEGER,
	          	swTimeRangeRowStatus  		RowStatus             
	     } 
	
	    swTimeRangeIndex 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."
	       ::= { swTimeRangeSettingEntry 1 }
	    
	    swTimeRangeName 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')."
	       ::= { swTimeRangeSettingEntry 2}
	
	    swTimeRangeDate  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."
	        ::= { swTimeRangeSettingEntry 3}       
	       
		swTimeRangeStartYear  OBJECT-TYPE
	            SYNTAX INTEGER {
		               y2009(2009),
		               y2010(2010),
		               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),
		               y2030(2030),
		               y2031(2031),
		               y2032(2032),
		               y2033(2033),
		               y2034(2034),
		               y2035(2035),
		               y2036(2036),
		               y2037(2037)
	            }
				   MAX-ACCESS   read-write
				   STATUS       current
	            DESCRIPTION
	                "Start year of the Schedule entry."
	            ::= { swTimeRangeSettingEntry 4 }
	
		swTimeRangeStartMonth  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."
	            ::= { swTimeRangeSettingEntry 5 }
	
		swTimeRangeStartDay  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."
	            ::= { swTimeRangeSettingEntry 6 }
		   
		swTimeRangeStartHour  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."
	            ::= { swTimeRangeSettingEntry 7 }
		
		swTimeRangeStartMinute  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."
	            ::= { swTimeRangeSettingEntry 8 }	   
	
		swTimeRangeEndYear  OBJECT-TYPE
	            SYNTAX INTEGER {
		               y2009(2009),
		               y2010(2010),
		               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),
		               y2030(2030),
		               y2031(2031),
		               y2032(2032),
		               y2033(2033),
		               y2034(2034),
		               y2035(2035),
		               y2036(2036),
		               y2037(2037)
	            }
	   			MAX-ACCESS   read-write
	  			STATUS       current
	            DESCRIPTION
	                "End year of the Schedule entry."
	            ::= { swTimeRangeSettingEntry 9 }
	
		swTimeRangeEndMonth  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."
	            ::= { swTimeRangeSettingEntry 10 }
	
		swTimeRangeEndDay  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."
	            ::= { swTimeRangeSettingEntry 11 }
		   
		swTimeRangeEndHour  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."
	            ::= { swTimeRangeSettingEntry 12 }
		
		swTimeRangeEndMinute  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."
	            ::= { swTimeRangeSettingEntry 13 }

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

        swTimeRangeTuesday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Tuesday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 15 }         
            
        swTimeRangeWednesday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Wednesday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 16 } 
            
        swTimeRangeThursday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Thursday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 17 } 
            
        swTimeRangeFriday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Friday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 18 }
            
        swTimeRangeSaturday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Saturday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 19 }
            
        swTimeRangeSunday OBJECT-TYPE
			SYNTAX      INTEGER {
			            enable(1),
			            disable(2)
			           }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "Enable/Disble scheduling Sunday."
			  DEFVAL { disable }
			::= { swTimeRangeSettingEntry 20 }    
	
	    swTimeRangeRowStatus OBJECT-TYPE
	       SYNTAX      RowStatus
	       MAX-ACCESS  read-create
	       STATUS      current
	       DESCRIPTION
	             "The status of an entry in the Time Range Information Table.  Only a subset
	             of the rowstatus variables (active, notinservice, createAndWait, destroy) 
	             are available."
	       ::= { swTimeRangeSettingEntry 21 }            



    --
    -- LLDP  Settings
    --

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

       DEFVAL  { disable }
       ::= { companyLLDPSetting 1 }

    dlinklldpMsgHoldMultiplier OBJECT-TYPE
        SYNTAX      INTEGER (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 }

        ::= { companyLLDPSetting 2 }

    dlinklldpMsgTxInterval OBJECT-TYPE
        SYNTAX      INTEGER (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 }

        ::= { companyLLDPSetting 3 }

    dlinklldpReinitDelay OBJECT-TYPE
        SYNTAX      INTEGER (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 }

        ::= { companyLLDPSetting 4 }

    dlinklldpTxDelay OBJECT-TYPE
        SYNTAX      INTEGER (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 }

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

    dlinklldpConfigManAddrPortsTxEnable  OBJECT-TYPE
        SYNTAX        PortList
        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"

        ::= { companyLLDPSetting 6 }
 
      

	--
	-- D-Link Defined LLDP Port Configuration Table
	--	

	-- textual conventions	
	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)
    -- textual conventions end
    
	lldpPortConfigTable   OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpPortConfigEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls LLDP frame transmission on individual
	            ports."
	    ::= { companyLLDPSetting 11 }
	
	lldpPortConfigEntry   OBJECT-TYPE
	    SYNTAX      LldpPortConfigEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information for a particular port.
	            This configuration parameter controls the transmission and
	            the reception of LLDP frames on those ports whose rows are
	            created in this table."
	     INDEX  { lldpPortConfigPortNum }
	    ::= { lldpPortConfigTable 1 }
	
	LldpPortConfigEntry ::= SEQUENCE {
	      lldpPortConfigPortNum            LldpPortNumber,
	      lldpPortConfigAdminStatus        INTEGER,
	      lldpPortConfigNotificationEnable TruthValue,
	      lldpPortConfigTLVsTxEnable       BITS }
	
	lldpPortConfigPortNum   OBJECT-TYPE
	    SYNTAX      LldpPortNumber 
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The index value used to identify the port component
	            (contained in the local chassis with the LLDP agent)
	            associated with this entry.
	
	            The value of this object is used as a port index to the
	            lldpPortConfigTable."
	    ::= { lldpPortConfigEntry 1 }
	
	lldpPortConfigAdminStatus  OBJECT-TYPE 
	    SYNTAX INTEGER { 
	       txOnly(1), 
	       rxOnly(2),
	       txAndRx(3),
	       disabled(4)
	    }
	    MAX-ACCESS read-write 
	    STATUS     current 
	    DESCRIPTION 
	            "The administratively desired status of the local LLDP agent.
	
	            If the associated lldpPortConfigAdminStatus object has a
	            value of 'txOnly(1)', then LLDP agent will transmit LLDP
	            frames on this port and it will not store any information
	            about the remote systems connected.
	         
	            If the associated lldpPortConfigAdminStatus object has a
	            value of 'rxOnly(2)', then the LLDP agent will receive,
	            but it will not transmit LLDP frames on this port.
	
	            If the associated lldpPortConfigAdminStatus object has a
	            value of 'txAndRx(3)', then the LLDP agent will transmit
	            and receive LLDP frames on this port.
	
	            If the associated lldpPortConfigAdminStatus object has a
	            value of 'disabled(4)', then LLDP agent will not transmit or
	            receive LLDP frames on this port.  If there is remote systems
	            information which is received on this port and stored in
	            other tables, before the port's lldpPortConfigAdminStatus
	            becomes disabled, then the information will naturally age out."
	    REFERENCE 
	            "IEEE 802.1AB-2005 10.5.1"
	    DEFVAL  { txAndRx }    
	   ::= { lldpPortConfigEntry 2 } 
	
	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 }    
	   ::= { lldpPortConfigEntry 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, lldpConfigManAddrTable.
	
	            The default value for lldpPortConfigTLVsTxEnable object is
	            empty set, which means no enumerated values are set.
	
	            The value of this object must be restored from non-volatile
	            storage after a re-initialization of the management system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 10.2.1.1"
	--    DEFVAL  { { } }
	    ::= { lldpPortConfigEntry 4 } 


	--
	-- D-Link Defined LLDP Extension Dot3 MIB Objects
	--	
	lldpXdot3Objects    OBJECT IDENTIFIER ::= { companyLLDPSetting 12 }
	
	-- LLDP IEEE 802.3 extension MIB groups
	lldpXdot3Config     OBJECT IDENTIFIER ::= { lldpXdot3Objects 1 }
	lldpXdot3LocalData  OBJECT IDENTIFIER ::= { lldpXdot3Objects 2 }
	lldpXdot3RemoteData OBJECT IDENTIFIER ::= { lldpXdot3Objects 3 }
	
	-- textual conventions
	
	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)
	    }
	
	------------------------------------------------------------------------------
	-- 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.
	
	            This configuration object augments the lldpPortConfigEntry of
	            the LLDP-MIB, therefore it is only present along with the port
	            configuration defined by the associated lldpPortConfigEntry
	            entry.
	
	            Each active lldpXdot3PortConfigEntry must be from non-volatile
	            storage (along with the corresponding lldpPortConfigEntry)
	            after a re-initialization of the management system."
	    AUGMENTS { lldpPortConfigEntry }
	    ::= { lldpXdot3PortConfigTable 1 }
	
	LldpXdot3PortConfigEntry ::= SEQUENCE {
	      lldpXdot3PortConfigTLVsTxEnable  BITS
	}
	
	lldpXdot3PortConfigTLVsTxEnable  OBJECT-TYPE
	    SYNTAX      BITS {
	            macPhyConfigStatus(0),
	            powerViaMDI(1),
	            linkAggregation(2),
	            maxFrameSize(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	            "The lldpXdot3PortConfigTLVsTxEnable, defined as a bitmap,
	            includes the IEEE 802.3 organizationally defined set of LLDP
	            TLVs whose transmission is allowed on the local LLDP agent by
	            the network management.  Each bit in the bitmap corresponds
	            to an IEEE 802.3 subtype associated with a specific IEEE
	            802.3 optional TLV.  The bit 0 is not used since there is
	            no corresponding subtype.
	
	            The bit 'macPhyConfigStatus(0)' indicates that LLDP agent
	            should transmit 'MAC/PHY configuration/status TLV'.
	
	            The bit 'powerViaMDI(1)' indicates that LLDP agent should
	            transmit 'Power via MDI TLV'.
	
	            The bit 'linkAggregation(2)' indicates that LLDP agent should
	            transmit 'Link Aggregation TLV'.
	
	            The bit 'maxFrameSize(3)' indicates that LLDP agent should
	            transmit 'Maximum-frame-size TLV'.
	
	            The default value for lldpXdot3PortConfigTLVsTxEnable object
	            is an empty set, which means no enumerated values are set.
	
	            The value of this object must be restored from non-volatile
	            storage after a re-initialization of the management system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 10.2.1.1"
	--    DEFVAL  { { } }
	    ::= { lldpXdot3PortConfigEntry  1 }
	
	
	------------------------------------------------------------------------------
	-- 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   { lldpXdot3LocPortAutoNegSupported }
	    ::= { lldpXdot3LocPortTable 1 }
	
	LldpXdot3LocPortEntry ::= SEQUENCE {
	              lldpXdot3LocPortAutoNegSupported     TruthValue,
	              lldpXdot3LocPortAutoNegEnabled       TruthValue,
	              lldpXdot3LocPortAutoNegAdvertisedCap OCTET STRING,
	              lldpXdot3LocPortOperMauType          Integer32
	} 
	
	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 1 }
	
	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 2 }
	
	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 3 }
	
	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 4 }
	
	---
	---
	--- lldpXdot3LocPowerTable: Power Ethernet Information Table
	---
	---
	lldpXdot3LocPowerTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3LocPowerEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port of power ethernet 
	            information (as a part of the LLDP 802.3 organizational
	            extension) on the local system known to this agent."
	    ::= { lldpXdot3LocalData 2 }
	
	lldpXdot3LocPowerEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3LocPowerEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Information about a particular port component."
	    INDEX   { lldpXdot3LocPowerPortClass }
	    ::= { lldpXdot3LocPowerTable 1 }
	
	LldpXdot3LocPowerEntry ::= SEQUENCE {
	              lldpXdot3LocPowerPortClass           LldpPowerPortClass,
	              lldpXdot3LocPowerMDISupported        TruthValue,
	              lldpXdot3LocPowerMDIEnabled          TruthValue,
	              lldpXdot3LocPowerPairControlable     TruthValue,
	              lldpXdot3LocPowerPairs               Integer32,
	              lldpXdot3LocPowerClass               Integer32
	} 
	
	lldpXdot3LocPowerPortClass  OBJECT-TYPE
	    SYNTAX      LldpPowerPortClass
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The value that identifies the port Class of the given port
	            associated with the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.1"
	    ::= { lldpXdot3LocPowerEntry 1 }
	
	lldpXdot3LocPowerMDISupported  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether the MDI power is
	            supported on the given port associated with the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.1"
	    ::= { lldpXdot3LocPowerEntry 2 }
	
	lldpXdot3LocPowerMDIEnabled  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to identify whether MDI power is
	            enabled on the given port associated with the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.1"
	    ::= { lldpXdot3LocPowerEntry 3 }
	
	lldpXdot3LocPowerPairControlable  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value is derived from the value of
	            pethPsePortPowerPairsControlAbility object (defined in IETF
	            RFC 3621) and is used to indicate whether the pair selection
	            can be controlled on the given port associated with the
	            local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.1"
	    ::= { lldpXdot3LocPowerEntry 4 }
	
	lldpXdot3LocPowerPairs  OBJECT-TYPE
	    SYNTAX      Integer32(1|2)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object contains the value of the pethPsePortPowerPairs
	            object (defined in IETF RFC 3621) which is associated with
	            the given port on the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.2"
	    ::= { lldpXdot3LocPowerEntry 5 }
	
	lldpXdot3LocPowerClass  OBJECT-TYPE
	    SYNTAX      Integer32(1|2|3|4|5)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object contains the value of the
	            pethPsePortPowerClassifications object (defined in IETF
	            RFC 3621) which is associated with the given port on the
	            local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.3.3"
	    ::= { lldpXdot3LocPowerEntry 6 }
	
	---
	---
	--- lldpXdot3LocLinkAggTable: Link Aggregation Information Table
	---
	---
	lldpXdot3LocLinkAggTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot3LocLinkAggEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one row per port of link aggregation 
	            information (as a part of the LLDP 802.3 organizational
	            extension) on the local system known to this agent."
	    ::= { lldpXdot3LocalData 3 }
	
	lldpXdot3LocLinkAggEntry OBJECT-TYPE
	    SYNTAX      LldpXdot3LocLinkAggEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Link Aggregation information about a particular port
	            component."
	    INDEX   { lldpXdot3LocLinkAggStatus }
	    ::= { lldpXdot3LocLinkAggTable 1 }
	
	LldpXdot3LocLinkAggEntry ::= SEQUENCE {
	              lldpXdot3LocLinkAggStatus       LldpLinkAggStatusMap,
	              lldpXdot3LocLinkAggPortId       Integer32
	} 
	
	lldpXdot3LocLinkAggStatus OBJECT-TYPE
	    SYNTAX      LldpLinkAggStatusMap
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The bitmap value contains the link aggregation capabilities
	            and the current aggregation status of the link."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.4.1"
	    ::= { lldpXdot3LocLinkAggEntry 1 }
	
	lldpXdot3LocLinkAggPortId OBJECT-TYPE
	    SYNTAX 	    Integer32(0|1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "This object contains the IEEE 802.3 aggregated port
	            identifier, aAggPortID (IEEE 802.3-2002, 30.7.2.1.1),
	            derived from the ifNumber of the ifIndex for the port
	            component in link aggregation.
	
	            If the port is not in link aggregation state and/or it
	            does not support link aggregation, this value should be set
	            to zero."
	    REFERENCE 
	            "IEEE 802.1AB-2005 G.4.2"
	    ::= { lldpXdot3LocLinkAggEntry 2 }
	
	---
	---
	--- 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   { lldpXdot3LocMaxFrameSize }
	    ::= { lldpXdot3LocMaxFrameSizeTable 1 }
	
	LldpXdot3LocMaxFrameSizeEntry ::= SEQUENCE {
	              lldpXdot3LocMaxFrameSize   Integer32
	} 
	
	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 1 }
	
	
	------------------------------------------------------------------------------
	-- 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   { lldpXdot3RemPortAutoNegSupported }
	    ::= { lldpXdot3RemPortTable 1 }
	
	LldpXdot3RemPortEntry ::= SEQUENCE {
	              lldpXdot3RemPortAutoNegSupported     TruthValue,
	              lldpXdot3RemPortAutoNegEnabled       TruthValue,
	              lldpXdot3RemPortAutoNegAdvertisedCap OCTET STRING,
	              lldpXdot3RemPortOperMauType          Integer32
	} 
	
	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 1 }
	
	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 2 }
	
	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 3 }
	
	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 4 }
	
	---
	---
	--- 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   { lldpXdot3RemPowerPortClass}
	    ::= { lldpXdot3RemPowerTable 1 }
	
	LldpXdot3RemPowerEntry ::= SEQUENCE {
	              lldpXdot3RemPowerPortClass           LldpPowerPortClass,
	              lldpXdot3RemPowerMDISupported        TruthValue,
	              lldpXdot3RemPowerMDIEnabled          TruthValue,
	              lldpXdot3RemPowerPairControlable     TruthValue,
	              lldpXdot3RemPowerPairs               Integer32,
	              lldpXdot3RemPowerClass               Integer32
	} 
	
	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 1 }
	
	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 2 }
	
	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 3 }
	
	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 4 }
	
	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 5 }
	
	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 6 }
	
	---
	---
	--- 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   { lldpXdot3RemLinkAggStatus }
	    ::= { lldpXdot3RemLinkAggTable 1 }
	
	LldpXdot3RemLinkAggEntry ::= SEQUENCE {
	              lldpXdot3RemLinkAggStatus       LldpLinkAggStatusMap,
	              lldpXdot3RemLinkAggPortId       Integer32
	} 
	
	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 1 }
	
	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 2 }
	
	
	---
	---
	--- 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   { lldpXdot3RemMaxFrameSize }
	    ::= { lldpXdot3RemMaxFrameSizeTable 1 }
	
	LldpXdot3RemMaxFrameSizeEntry ::= SEQUENCE {
	              lldpXdot3RemMaxFrameSize   Integer32
	} 
	
	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 1 }

	
	--
	-- D-Link Defined LLDP Extension Dot1 MIB Objects
	--
	lldpXdot1Objects    OBJECT IDENTIFIER ::= { companyLLDPSetting 13 }

	-- LLDP IEEE 802.1 extension MIB groups
	lldpXdot1Config     OBJECT IDENTIFIER ::= { lldpXdot1Objects 1 }
	lldpXdot1LocalData  OBJECT IDENTIFIER ::= { lldpXdot1Objects 2 }
	lldpXdot1RemoteData OBJECT IDENTIFIER ::= { lldpXdot1Objects 3 }
	
	------------------------------------------------------------------------------
	-- IEEE 802.1 - Configuration
	------------------------------------------------------------------------------
	--
	-- lldpXdot1ConfigPortVlanTable : configure the transmission of the 
	--                                Port VLAN-ID TLVs on set of ports.
	--
	
	lldpXdot1ConfigPortVlanTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigPortVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "A table that controls selection of LLDP Port VLAN-ID TLVs
	            to be transmitted on individual ports."
	    ::= { lldpXdot1Config 1 }
	
	lldpXdot1ConfigPortVlanEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigPortVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that controls the
	            transmission of IEEE 802.1 organizationally defined Port
	            VLAN-ID TLV on LLDP transmission capable ports.
	
	            This configuration object augments the lldpPortConfigEntry of
	            the LLDP-MIB, therefore it is only present along with the port
	            configuration defined by the associated lldpPortConfigEntry
	            entry.
	
	            Each active lldpConfigEntry must be restored from non-volatile
	            storage (along with the corresponding lldpPortConfigEntry)
	            after a re-initialization of the management system."
	    AUGMENTS { lldpPortConfigEntry }
	    ::= { lldpXdot1ConfigPortVlanTable 1 }
	
	LldpXdot1ConfigPortVlanEntry ::= SEQUENCE {
	      lldpXdot1ConfigPortVlanTxEnable  TruthValue
	}
	
	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 1 }
	
	--
	-- 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   { lldpXdot1LocVlanId }
	    ::= { lldpXdot1LocVlanNameTable 1 }
	
	LldpXdot1LocVlanNameEntry ::= SEQUENCE {
	      lldpXdot1LocVlanId     VlanId,
	      lldpXdot1LocVlanName   SnmpAdminString
	}
	
	lldpXdot1LocVlanId  OBJECT-TYPE
	    SYNTAX      VlanId
	    MAX-ACCESS  not-accessible
	    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 1 }
	
	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 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.
	
	            This configuration object augments the lldpLocVlanEntry,
	            therefore it is only present along with the VLAN Name instance
	            contained in the associated lldpLocVlanNameEntry entry.
	
	            Each active lldpXdot1ConfigVlanNameEntry must be restored
	            from non-volatile storage (along with the corresponding
	            lldpXdot1LocVlanNameEntry) after a re-initialization of the
	            management system."
	    AUGMENTS { lldpXdot1LocVlanNameEntry }
	    ::= { lldpXdot1ConfigVlanNameTable 1 }
	
	LldpXdot1ConfigVlanNameEntry ::= SEQUENCE {
	      lldpXdot1ConfigVlanNameTxEnable  TruthValue 
	}
	
	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 1 }
	
	--
	-- lldpXdot1LocProtoVlanTable: Port and Protocol VLAN information 
	--
	
	lldpXdot1LocProtoVlanTable  OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1LocProtoVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This table contains one or more rows per Port and Protocol
	            VLAN information about the local system."
	    ::= { lldpXdot1LocalData 2 }
	
	lldpXdot1LocProtoVlanEntry OBJECT-TYPE
	    SYNTAX      LldpXdot1LocProtoVlanEntry 
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "Port and protocol VLAN ID Information about a particular
	            port component.  There may be multiple port and protocol VLANs,
	            identified by a particular lldpXdot1LocProtoVlanId, configured
	            on the given port."
	    INDEX   { lldpXdot1LocProtoVlanId }
	    ::= { lldpXdot1LocProtoVlanTable 1 }
	
	LldpXdot1LocProtoVlanEntry ::= SEQUENCE {
	      lldpXdot1LocProtoVlanId        Integer32,
	      lldpXdot1LocProtoVlanSupported TruthValue,
	      lldpXdot1LocProtoVlanEnabled   TruthValue
	}
	
	lldpXdot1LocProtoVlanId  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
	            local system.  A value of zero shall be used if the system
	            either does not know the protocol VLAN ID (PPVID) or does
	            not support port and protocol VLAN operation."
	    REFERENCE 
	            "IEEE 802.1AB-2005 F.3.2"
	    ::= { lldpXdot1LocProtoVlanEntry 1 }
	
	lldpXdot1LocProtoVlanSupported  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether the given port
	            (associated with the local system) supports port and protocol
	            VLANs."
	    REFERENCE 
	            "IEEE 802.1AB-2005 F.3.1"
	    ::= { lldpXdot1LocProtoVlanEntry 2 }
	
	lldpXdot1LocProtoVlanEnabled  OBJECT-TYPE
	    SYNTAX      TruthValue
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	            "The truth value used to indicate whether the port and
	            protocol VLANs are enabled on the given port associated with
	            the local system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 F.3.1"
	    ::= { lldpXdot1LocProtoVlanEntry 3 }
	
	--
	-- lldpXdot1ConfigProtoVlanTable : configure the transmission of the 
	--                                 protocol VLAN instances on set
	--                                 of ports.
	--
	
	lldpXdot1ConfigProtoVlanTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigProtoVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls selection of LLDP Port and Protocol
	            VLAN ID TLV instances to be transmitted on individual ports."
	    ::= { lldpXdot1Config 3 }
	
	lldpXdot1ConfigProtoVlanEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigProtoVlanEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that specifies the set of
	            ports (represented as a PortList) on which the Local System
	            Protocol VLAN instance will be transmitted.
	
	            This configuration object augments the lldpXdot1LocVlanEntry,
	            therefore it is only present along with the Port and
	            Protocol VLAN ID instance contained in the associated
	            lldpXdot1LocVlanEntry entry.
	
	            Each active lldpXdot1ConfigProtoVlanEntry must be restored
	            from non-volatile storage (along with the corresponding
	            lldpXdot1LocProtoVlanEntry) after a re-initialization of
	            the management system."
	
	    AUGMENTS { lldpXdot1LocProtoVlanEntry }
	    ::= { lldpXdot1ConfigProtoVlanTable 1 }
	
	LldpXdot1ConfigProtoVlanEntry ::= SEQUENCE {
	      lldpXdot1ConfigProtoVlanTxEnable   TruthValue
	}
	
	lldpXdot1ConfigProtoVlanTxEnable OBJECT-TYPE
	    SYNTAX        TruthValue
	    MAX-ACCESS    read-write
	    STATUS        current
	    DESCRIPTION
	            "The boolean value that indicates whether the corresponding
	            Local System Port and Protocol VLAN instance will
	            be transmitted on the port defined by the given
	            lldpXdot1LocProtoVlanEntry.
	
	            The value of this object must be restored from non-volatile
	            storage after a re-initialization of the management system."
	    REFERENCE 
	            "IEEE 802.1AB-2005 10.2.1.1"
	    DEFVAL  { false }
	    ::= { lldpXdot1ConfigProtoVlanEntry 1 }
	
	--
	-- 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   { lldpXdot1LocProtocolIndex }
	    ::= { lldpXdot1LocProtocolTable 1 }
	
	LldpXdot1LocProtocolEntry ::= SEQUENCE {
	      lldpXdot1LocProtocolIndex Integer32,
	      lldpXdot1LocProtocolId    OCTET STRING
	}
	
	lldpXdot1LocProtocolIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular protocol identity."
	    ::= { lldpXdot1LocProtocolEntry 1 }
	
	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 2 }
	
	--
	-- lldpXdot1ConfigProtocolTable : configure the transmission of the 
	--                                protocol instances on set
	--                                of ports.
	--
	
	lldpXdot1ConfigProtocolTable OBJECT-TYPE
	    SYNTAX      SEQUENCE OF LldpXdot1ConfigProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "The table that controls selection of LLDP Protocol 
	            TLV instances to be transmitted on individual ports."
	    ::= { lldpXdot1Config 4 }
	
	lldpXdot1ConfigProtocolEntry  OBJECT-TYPE
	    SYNTAX      LldpXdot1ConfigProtocolEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "LLDP configuration information that specifies the set of
	            ports (represented as a PortList) on which the Local System
	            Protocol instance will be transmitted.
	
	            This configuration object augments the lldpXdot1LocProtoEntry,
	            therefore it is only present along with the Protocol instance
	            contained in the associated lldpXdot1LocProtoEntry entry.
	
	            Each active lldpXdot1ConfigProtocolEntry must be restored
	            from non-volatile storage (along with the corresponding
	            lldpXdot1LocProtocolEntry) after a re-initialization of the
	            management system."
	    AUGMENTS { lldpXdot1LocProtocolEntry }
	    ::= { lldpXdot1ConfigProtocolTable 1 }
	
	LldpXdot1ConfigProtocolEntry ::= SEQUENCE {
	      lldpXdot1ConfigProtocolTxEnable   TruthValue
	}
	
	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 1 }
	
	------------------------------------------------------------------------------
	-- 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   { lldpXdot1LocPortVlanId }
	    ::= { lldpXdot1LocTable 1 }
	
	LldpXdot1LocEntry ::= SEQUENCE {
	              lldpXdot1LocPortVlanId         Integer32
	} 
	
	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 1 }
	
	------------------------------------------------------------------------------
	-- 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   { lldpXdot1RemPortVlanId }
	    ::= { lldpXdot1RemTable 1 }
	
	LldpXdot1RemEntry ::= SEQUENCE {
	              lldpXdot1RemPortVlanId         Integer32
	}
	
	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 1 }
	
	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   { lldpXdot1RemProtoVlanId }
	    ::= { lldpXdot1RemProtoVlanTable 1 }
	
	LldpXdot1RemProtoVlanEntry ::= SEQUENCE {
	      lldpXdot1RemProtoVlanId        Integer32,
	      lldpXdot1RemProtoVlanSupported TruthValue,
	      lldpXdot1RemProtoVlanEnabled   TruthValue
	}
	
	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 1 }
	
	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 2 }
	
	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 3 }
	
	
	-- 
	-- 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   { lldpXdot1RemVlanId }
	    ::= { lldpXdot1RemVlanNameTable 1 }
	
	LldpXdot1RemVlanNameEntry ::= SEQUENCE {
	      lldpXdot1RemVlanId     VlanId,
	      lldpXdot1RemVlanName   SnmpAdminString
	}
	
	lldpXdot1RemVlanId  OBJECT-TYPE
	    SYNTAX      VlanId
	    MAX-ACCESS  not-accessible
	    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 1 }
	
	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 2 }
	
	--
	-- 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   { lldpXdot1RemProtocolIndex }
	    ::= { lldpXdot1RemProtocolTable 1 }
	
	LldpXdot1RemProtocolEntry ::= SEQUENCE {
	      lldpXdot1RemProtocolIndex Integer32,
	      lldpXdot1RemProtocolId    OCTET STRING
	}
	
	lldpXdot1RemProtocolIndex  OBJECT-TYPE
	    SYNTAX      Integer32(1..2147483647)
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	            "This object represents an arbitrary local integer value used
	            by this agent to identify a particular protocol identity."
	    ::= { lldpXdot1RemProtocolEntry 1 }
	
	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 2 }

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

       DEFVAL  { disable }
       ::= { companyLLDPSetting 14 }
    -- ---------------------------------------------------------------------
    -- Green Function
    -- ---------------------------------------------------------------------

      dlinkGreenLEDShutoff              OBJECT IDENTIFIER ::= { companyGreenSetting 1 }
      dlinkGreenPortShutoff             OBJECT IDENTIFIER ::= { companyGreenSetting 2 }
      dlinkGreenSystemHibernation       OBJECT IDENTIFIER ::= { companyGreenSetting 4 }

    -- ---------------------------------------------------------------------
    -- Green Disable LED
    -- ---------------------------------------------------------------------

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

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

    ::= { dlinkGreenLEDShutoff 2 }
    
    dlinkGreenLEDShutoffTimeProfile1 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')."
    ::= { dlinkGreenLEDShutoff 3}

    dlinkGreenLEDShutoffTimeProfile2 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')."
    ::= { dlinkGreenLEDShutoff 4}
    -- ---------------------------------------------------------------------
    -- Green Disable Port
    -- ---------------------------------------------------------------------

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

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

    ::= { dlinkGreenPortShutoff 2 }
    
    dlinkGreenPortShutoffTimeProfile1 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')."
    ::= { dlinkGreenPortShutoff 3}
    
    dlinkGreenPortShutoffTimeProfile2 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')."
    ::= { dlinkGreenPortShutoff 4}

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

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

    ::= { dlinkGreenSystemHibernation 1 }
    
    dlinkGreenSystemHibernationTimeProfile1 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')."
    ::= { dlinkGreenSystemHibernation 2}

    dlinkGreenSystemHibernationTimeProfile2 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')."
    ::= { dlinkGreenSystemHibernation 3}
	
    dlinkPowerSavLinkStatusDetectState      OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Power Saving Link Status Detection.
            Default is disabled."

    DEFVAL  { disabled }
    ::= { companyGreenSetting 6 }
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    securityDhcpServerScreen                  OBJECT IDENTIFIER ::= { companySecurity 7 }
 -- dhcp Server Screen Group --------------------------------------------- --

    dhcpServerScreenEnablePortlist OBJECT-TYPE
       SYNTAX      PortList
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable DHCP Server Screening port list."
       ::= { securityDhcpServerScreen 1 }

    dhcpServerScreenEnableVlanlist OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable DHCP Server Screening vlan list."
       ::= { securityDhcpServerScreen 2 }
       
       
	dhcpServerScreenLogSuppressDuration OBJECT-TYPE 
           SYNTAX      INTEGER {
                          one-min (1),
                          five-min  (5),
                          thirty-min  (30)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "DSS Trap Log Suppress Duration."
                 
           ::= { securityDhcpServerScreen 3 }

       
	-- filterDHCPServer Table

	filterDHCPServerTable OBJECT-TYPE
	   SYNTAX      SEQUENCE OF FilterDHCPServerEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	      "A table to control filter DHCP Server for the entire
	       switch or for each interface in the switch."
	   ::= { securityDhcpServerScreen 4 }

	filterDHCPServerEntry OBJECT-TYPE
	   SYNTAX      FilterDHCPServerEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	       "An entry appears in this table for each interface
	        in the system."
	   INDEX { filterDHCPServerIpAddr, filterDHCPServerClientMacAddr }
	   ::= { filterDHCPServerTable 1 }

	FilterDHCPServerEntry ::=
	   SEQUENCE {
	      filterDHCPServerIpAddr
	         IpAddress,
	      filterDHCPServerClientMacAddr
	         MacAddress,
	      filterDHCPServerPortList
	         PortList,
	      filterDHCPServerVlanList
	         OCTET STRING,
	      filterDHCPServerRowStatus
	         RowStatus
	   }


	filterDHCPServerIpAddr OBJECT-TYPE
	   SYNTAX      IpAddress
	   MAX-ACCESS  not-accessible
	   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'."
	   ::= { filterDHCPServerEntry 1 }


	filterDHCPServerClientMacAddr OBJECT-TYPE
	   SYNTAX      MacAddress
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	      "Ethernet Mac Address."

	   DEFVAL  { '000102030405'h }
	   ::= { filterDHCPServerEntry 2 }

	filterDHCPServerPortList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Specifies the port numbers through which the authorized manager can
	        access the switch.

	        By default the authorized manager is allowed to access the switch
	        through all the ports.

	        If a set of ports are configured in the 'PortList', the manager can
	        access the switch only through the configured ports."
	   ::= { filterDHCPServerEntry 3 }
	   
	filterDHCPServerVlanList OBJECT-TYPE
	   SYNTAX       OCTET STRING
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Specifies the port numbers through which the authorized manager can
	        access the switch.

	        By default the authorized manager is allowed to access the switch
	        through all the ports.

	        If a set of ports are configured in the 'PortList', the manager can
	        access the switch only through the configured ports."
	   ::= { filterDHCPServerEntry 4 }

	filterDHCPServerRowStatus OBJECT-TYPE
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-create
	   STATUS      current
	   DESCRIPTION
	      "This object indicates the status of this entry."
	   ::= { filterDHCPServerEntry 99 }

    dhcpServerScreenEnableLog OBJECT-TYPE          
       SYNTAX       INTEGER {
                   	  enable(1),
                      disabled(2)
                		}
   		 MAX-ACCESS  read-write 
   	   STATUS      current 
       DESCRIPTION 
       		"To enable or disable DHCP Server Screening log function."

   		 DEFVAL  { enable } 
       ::= { securityDhcpServerScreen 5 } 

 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    securityDhcpv6ServerScreen                  OBJECT IDENTIFIER ::= { companySecurity 12 }
 -- dhcpv6 Server Screen Group --------------------------------------------- --

    dhcpv6ServerScreenEnablePortlist OBJECT-TYPE
       SYNTAX      PortList
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable DHCPv6 Server Screening port list."
       ::= { securityDhcpv6ServerScreen 1 }

    dhcpv6ServerScreenEnableLog OBJECT-TYPE          
       SYNTAX       INTEGER {
                   	  enable(1),
                      disabled(2)
                		}
   		 MAX-ACCESS  read-write 
   	   STATUS      current 
       DESCRIPTION 
       		"To enable or disable DHCPv6 Server Screening log function."

   		 DEFVAL  { enable } 
       ::= { securityDhcpv6ServerScreen 2 } 
  
--    Currently, trap function designed to be set in snmp trap function.
--    But it will change design in the future.  
--    dhcpv6ServerScreenEnableTrap OBJECT-TYPE          
--       SYNTAX       INTEGER {
--                   	  enable(1),
--                      disabled(2)
--                		}
--   		 MAX-ACCESS  read-write 
--   	   STATUS      current 
--       DESCRIPTION 
--       		"To enable or disable DHCPv6 Server Screening trap function."

--   		 DEFVAL  { disabled } 
--       ::= { securityDhcpv6ServerScreen 3 } 

       
	-- filterDHCPv6Server Table

	filterDHCPv6ServerTable OBJECT-TYPE
	   SYNTAX      SEQUENCE OF FilterDHCPv6ServerEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	      "A table to control filter DHCPv6 Server for the entire
	       switch or for each interface in the switch."
	   ::= { securityDhcpv6ServerScreen 4 }

	filterDHCPv6ServerEntry OBJECT-TYPE
	   SYNTAX      FilterDHCPv6ServerEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	       "An entry appears in this table for each interface
	        in the system."
	   INDEX { filterDHCPv6ServerIpAddr }
	   ::= { filterDHCPv6ServerTable 1 }

	FilterDHCPv6ServerEntry ::=
	   SEQUENCE {
	      filterDHCPv6ServerIpAddr
	         Ipv6Address,
	      filterDHCPv6ServerPortList
	         PortList,
	      filterDHCPv6ServerRowStatus
	         RowStatus
	   }


	filterDHCPv6ServerIpAddr OBJECT-TYPE
	   SYNTAX      Ipv6Address
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
	       "Specifies either the Network or Host address from which the switch
	        can be managed."
	   ::= { filterDHCPv6ServerEntry 1 }

	filterDHCPv6ServerPortList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Specifies the port numbers through which the authorized manager can
	        access the switch.

	        By default the authorized manager is allowed to access the switch
	        through all the ports.

	        If a set of ports are configured in the 'PortList', the manager can
	        access the switch only through the configured ports."
	   ::= { filterDHCPv6ServerEntry 2 }
	   
	filterDHCPv6ServerRowStatus OBJECT-TYPE
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-create
	   STATUS      current
	   DESCRIPTION
	      "This object indicates the status of this entry."
	   ::= { filterDHCPv6ServerEntry 99 }

 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    securityIcmpv6RaAllNode                 OBJECT IDENTIFIER ::= { companySecurity 13 }
 -- icmpv6 RA all node Group --------------------------------------------- --

    icmpv6RaAllNodeEnablePortlist OBJECT-TYPE
       SYNTAX      PortList
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable ICMPv6 RA All Node port list."
       ::= { securityIcmpv6RaAllNode 1 }

    icmpv6RaAllNodeEnableLog OBJECT-TYPE          
       SYNTAX       INTEGER {
                   	  enable(1),
                      disabled(2)
                		}
   		 MAX-ACCESS  read-write 
   	   STATUS      current 
       DESCRIPTION 
       		"To enable or disable ICMPv6 RA All Node log function."

   		 DEFVAL  { enable } 
       ::= { securityIcmpv6RaAllNode 2 }  
       
	-- filterICMPv6RaAllNode Table

	filterICMPv6RaAllNodeTable OBJECT-TYPE
	   SYNTAX      SEQUENCE OF FilterICMPv6RaAllNodeEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	      "A table to control filter ICMPv6 RA for the entire
	       switch or for each interface in the switch."
	   ::= { securityIcmpv6RaAllNode 4 }

	filterICMPv6RaAllNodeEntry OBJECT-TYPE
	   SYNTAX      FilterICMPv6RaAllNodeEntry
	   MAX-ACCESS  not-accessible
	   STATUS      current
	   DESCRIPTION
	       "An entry appears in this table for each interface
	        in the system."
	   INDEX { filterICMPv6RaAllNodeServerIpAddr }
	   ::= { filterICMPv6RaAllNodeTable 1 }

	FilterICMPv6RaAllNodeEntry ::=
	   SEQUENCE {
	      filterICMPv6RaAllNodeServerIpAddr
	         Ipv6Address,
	      filterICMPv6RaAllNodeServerPortList
	         PortList,
	      filterICMPv6RaAllNodeServerRowStatus
	         RowStatus
	   }


	filterICMPv6RaAllNodeServerIpAddr OBJECT-TYPE
	   SYNTAX      Ipv6Address
	   MAX-ACCESS  read-only
	   STATUS      current
	   DESCRIPTION
	       "Specifies either the Network or Host address from which the switch
	        can be managed."
	   ::= { filterICMPv6RaAllNodeEntry 1 }

	filterICMPv6RaAllNodeServerPortList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Specifies the port numbers through which the authorized manager can
	        access the switch.

	        By default the authorized manager is allowed to access the switch
	        through all the ports.

	        If a set of ports are configured in the 'PortList', the manager can
	        access the switch only through the configured ports."
	   ::= { filterICMPv6RaAllNodeEntry 2 }
	   
	filterICMPv6RaAllNodeServerRowStatus OBJECT-TYPE
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-create
	   STATUS      current
	   DESCRIPTION
	      "This object indicates the status of this entry."
	   ::= { filterICMPv6RaAllNodeEntry 99 }
	            	     
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    securityIpv6Filter                 OBJECT IDENTIFIER ::= { companySecurity 14 }

    ipv6FilterDHCPv6EnablePortlist OBJECT-TYPE
       SYNTAX      PortList
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable filter dhcpv6 port list."
       ::= { securityIpv6Filter 1 }

    ipv6FilterNANSEnablePortlist OBJECT-TYPE
       SYNTAX      PortList
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "To enable or disable filter ipv6 na ns  port list."
       ::= { securityIpv6Filter 2 }	     
    securityTrafficSeg                  OBJECT IDENTIFIER ::= { companySecurity 9}
  

    --
    -- Port Map Table
    --
    
    trafficSegTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF TrafficSegEntry 
        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"

        ::= { securityTrafficSeg 1 }

    trafficSegEntry OBJECT-TYPE
        SYNTAX     TrafficSegEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created
               port-channel port"

        INDEX { trafficSegIfIndex }
        ::= { trafficSegTable 1 }

    TrafficSegEntry ::= 
            SEQUENCE {
              trafficSegIfIndex                InterfaceIndex,
              trafficSegMemberList             PortList
              }

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

  	trafficSegMemberList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Port list of port channel."
	   ::= { trafficSegEntry 2 }

        
    
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------
    securityAAC                  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."
        ::= { securityAAC 1}


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

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

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

    aacAPAuthMethodGroup OBJECT IDENTIFIER ::= { securityAAC 4 }

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

    aacAPConsoleLoginMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 local
            console"

        ::= { aacAPLoginMethod 1 }

    aacAPTelnetLoginMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 }

    aacAPSSHLoginMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 SSH."

        ::= { aacAPLoginMethod 3 }

    aacAPHttpLoginMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 }

    aacAPConsoleEnableMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 local
            console."
        ::= { aacAPEnableMethod 1 }

    aacAPTelnetEnableMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 }

    aacAPSSHEnableMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 SSH."

        ::= { aacAPEnableMethod 3 }

    aacAPHttpEnableMethod OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        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 }


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

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

    AacServerGroupEntry ::=
        SEQUENCE {
            aacServerGroupIndex
                INTEGER,
            aacServerGroupName
                OCTET STRING,
            aacServersInGroup
                BITS,
            aacServerGroupRowStatus
                RowStatus
        }

    aacServerGroupIndex  OBJECT-TYPE
        SYNTAX     INTEGER (2..9)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that uniquely identifies this SwAACServerGroupEntry ."

        ::= { aacServerGroupEntry 1 }

    aacServerGroupName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method group.
             The name is writable only if Group is new created,
             which the value of aacServerGroupRowStatus is 'notReady'."

        ::= { aacServerGroupEntry 2 }


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

    aacServerGroupRowStatus 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
            be deleted when this object is SET 'destroy'."

        ::= { aacServerGroupEntry 4 }


-- -------------------------------------------------------------
-- IPv4
-- Authentication Server host setting
-- -------------------------------------------------------------

    iPv4aacServerInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IPv4AacServerInfoEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "A table that contains information about severs."
        ::= { securityAAC 6 }

    iPv4aacServerInfoEntry OBJECT-TYPE
        SYNTAX IPv4AacServerInfoEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "A list of the information of server ."
        INDEX { iPv4aacServerIndex }
        ::= { iPv4aacServerInfoTable 1 }

    IPv4AacServerInfoEntry ::=
        SEQUENCE {
            iPv4aacServerIndex
                INTEGER,
            iPv4aacServerIPAddr
                IpAddress,
            iPv4aacServerAuthProtocol
                INTEGER,
            iPv4aacServerAuthPort
                INTEGER,
            iPv4aacServerAuthKey
                OCTET STRING,
            iPv4aacServerTimeout
                INTEGER,
            iPv4aacServerRetryCount
                INTEGER,
            iPv4aacServerRowStatus
                RowStatus
        }

    iPv4aacServerIndex  OBJECT-TYPE
        SYNTAX     INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
            "A value that uniquely identifies this SwAACServerGroupEntry."

        ::= { iPv4aacServerInfoEntry 1 }

    iPv4aacServerIPAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "The IP address of Server"
        ::= { iPv4aacServerInfoEntry 2 }

    iPv4aacServerAuthProtocol OBJECT-TYPE
        SYNTAX      INTEGER{
                        tacacsPlus(1),
                        radius(2)
                    }
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "The authentication protocol provided by the Server."
        ::= { iPv4aacServerInfoEntry 3 }

    iPv4aacServerAuthPort OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "The TCP/IP port ."
        ::= { iPv4aacServerInfoEntry 4 }

    iPv4aacServerAuthKey OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..254))
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION
            "The key used while authentication process."

        ::= { iPv4aacServerInfoEntry 5 }

    iPv4aacServerTimeout OBJECT-TYPE
        SYNTAX      INTEGER(1..255)
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "Server response timeout ."
        ::= { iPv4aacServerInfoEntry 6 }

    iPv4aacServerRetryCount OBJECT-TYPE
        SYNTAX      INTEGER(1..255)
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "Client retry count .
             (-1: No retry mechanism)"
        ::= { iPv4aacServerInfoEntry 7 }

    iPv4aacServerRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      obsolete
        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'."

        ::= { iPv4aacServerInfoEntry 8 }

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

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

    AacServerInfoEntry ::=
        SEQUENCE {
            aacServerIndex
                INTEGER,
            aacServerIPType
                INTEGER,
            aacServerIPAddr
                Ipv6Address,
            aacServerInterfaceName
                OCTET STRING,
            aacServerAuthProtocol
                INTEGER,
            aacServerAuthPort
                INTEGER,
            aacServerAuthKey
                OCTET STRING,
            aacServerTimeout
                INTEGER,
            aacServerRetryCount
                INTEGER,
            aacServerAccountingPort
                INTEGER,
            aacServerRowStatus
                RowStatus
        }

    aacServerIndex  OBJECT-TYPE
        SYNTAX     INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that uniquely identifies this SwAACServerGroupEntry."

        ::= { aacServerInfoEntry 1 }

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

    aacServerIPAddr OBJECT-TYPE
        SYNTAX      Ipv6Address
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The IP address of Server"
        ::= { aacServerInfoEntry 3 }

    aacServerInterfaceName   OBJECT-TYPE
         SYNTAX      OCTET STRING
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
               "Specifies the interface name when the aacServerIPAddr is linklocal address."
         ::= { aacServerInfoEntry 4 } 
         
    aacServerAuthProtocol OBJECT-TYPE
        SYNTAX      INTEGER{
                        tacacsPlus(1),
                        radius(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The authentication protocol provided by the Server."
        ::= { aacServerInfoEntry 5 }

    aacServerAuthPort OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/IP port ."
        ::= { aacServerInfoEntry 6 }

    aacServerAuthKey OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..254))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The key used while authentication process."

        ::= { aacServerInfoEntry 7 }

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

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

    aacServerAccountingPort OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The accounting port ."
        ::= { aacServerInfoEntry 10 }

    aacServerRowStatus 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
            be deleted when this object is SET 'destroy'."

        ::= { aacServerInfoEntry 99 }

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

        ::= { securityAAC 8 }

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

        ::= { aacLoginMethodListTable 1 }

    AacLoginMethodListEntry ::=
        SEQUENCE {
            aacLoginMethodListIndex
                INTEGER,
            aacLoginMethodListName
                OCTET STRING,
            aacLoginMethod1
                INTEGER,
            aacLoginMethod2
                INTEGER,
            aacLoginMethod3
                INTEGER,
            aacLoginMethod4
                INTEGER,
            aacLoginMethodListRowStatus
                RowStatus

        }

    aacLoginMethodListIndex  OBJECT-TYPE
        SYNTAX     INTEGER (1..8)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that identifies this method list."

        ::= { aacLoginMethodListEntry 1 }

    aacLoginMethodListName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."

        ::= { aacLoginMethodListEntry 2 }

    aacLoginMethod1 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacLoginMethod2 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacLoginMethod3 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacLoginMethod4 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 6 }

    aacLoginMethodListRowStatus 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
            be deleted when this object is SET 'destroy'."

        ::= { aacLoginMethodListEntry 7 }

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

        ::= { securityAAC 9 }

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

        ::= { aacEnableMethodListTable 1 }

    AacEnableMethodListEntry ::=
        SEQUENCE {
            aacEnableMethodListIndex
                INTEGER,
            aacEnableMethodListName
                OCTET STRING,
            aacEnableMethod1
                INTEGER,
            aacEnableMethod2
                INTEGER,
            aacEnableMethod3
                INTEGER,
            aacEnableMethod4
                INTEGER,
            aacEnableMethodListRowStatus
                RowStatus
        }

    aacEnableMethodListIndex  OBJECT-TYPE
        SYNTAX     INTEGER (1..8)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that identifies this method list."

        ::= { aacEnableMethodListEntry 1 }

    aacEnableMethodListName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."

        ::= { aacEnableMethodListEntry 2 }

    aacEnableMethod1 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacEnableMethod2 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacEnableMethod3 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 }

    aacEnableMethod4 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        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 6 }

    aacEnableMethodListRowStatus 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
            be deleted when this object is SET 'destroy'."

        ::= { aacEnableMethodListEntry 7 }

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

    aacAccountingMethodListTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AacAccountingMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains information about Accounting authentication method
            lists."

        ::= { securityAAC 11 }

    aacAccountingMethodListEntry OBJECT-TYPE
        SYNTAX AacAccountingMethodListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of the Authentication methods."
        INDEX { aacAccountingMethodListIndex }

        ::= { aacAccountingMethodListTable 1 }

    AacAccountingMethodListEntry ::=
        SEQUENCE {
            aacAccountingMethodListIndex
                INTEGER,
            aacAccountingMethodListName
                OCTET STRING,
            aacAccountingMethod1
                INTEGER,
            aacAccountingMethod2
                INTEGER,
            aacAccountingMethod3
                INTEGER,
            aacAccountingMethod4
                INTEGER,
            aacAccountingMethodListRowStatus
                RowStatus

        }
    aacAccountingMethodListIndex  OBJECT-TYPE
        SYNTAX     INTEGER (1..8)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A value that identifies this method list."

        ::= { aacAccountingMethodListEntry 1 }

    aacAccountingMethodListName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."

        ::= { aacAccountingMethodListEntry 2 }

    aacAccountingMethod1 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Accounting method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."

        ::= { aacAccountingMethodListEntry 3 }

    aacAccountingMethod2 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Accounting method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."

        ::= { aacAccountingMethodListEntry 4 }

    aacAccountingMethod3 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Accounting method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."

        ::= { aacAccountingMethodListEntry 5 }

    aacAccountingMethod4 OBJECT-TYPE
        SYNTAX INTEGER {
                    none(-1),
                    local(0)
                    ,tacacsPlus(1)
                    ,radius(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The type of Accounting method list. Besides the pre-defined type, it
             also allow to be set user-defined group by aacServerGroupIndex."

        ::= { aacAccountingMethodListEntry 6 }

    aacAccountingMethodListRowStatus 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
            be deleted when this object is SET 'destroy'."

        ::= { aacAccountingMethodListEntry 7 }
-- -------------------------------------------------------------
--  Accounting Service Index
-- -------------------------------------------------------------
    aacAccountingServiceIndex      OBJECT IDENTIFIER ::= { securityAAC 12 }
    aacAccountingServiceNetwork OBJECT-TYPE
       SYNTAX      INTEGER {
                      radius-only              (0),
                      default-method-list      (1),
                      method-list-name         (2),
                      disabled	               (-1)
                   }
        MAX-ACCESS read-write 
        STATUS current
        DESCRIPTION
            "This object indicates aac Accounting Service Network is radius_only, default_method_list,
            method_list_name and disable about Accounting Service Network."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceIndex 1 }

    aacAccountingServiceShell OBJECT-TYPE
       SYNTAX      INTEGER {
                      radius-only              (0),
                      default-method-list      (1),
                      method-list-name         (2),
                      disabled	               (-1)
                   }
        MAX-ACCESS read-write 
        STATUS current
        DESCRIPTION
            "This object indicates aac Accounting Service Shell is radius_only, default_method_list,
            method_list_name and disable about Accounting Service Network."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceIndex 2 }

    aacAccountingServiceSystem OBJECT-TYPE
       SYNTAX      INTEGER {
                      radius-only              (0),
                      default-method-list      (1),
                      method-list-name         (2),
                      disabled	               (-1)
                   }
        MAX-ACCESS read-write 
        STATUS current
        DESCRIPTION
            "This object indicates aac Accounting System Shell is radius_only, default_method_list,
            method_list_name and disable about Accounting Service Network."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceIndex 3 }
-- -------------------------------------------------------------
--  Accounting Service Command
-- -------------------------------------------------------------
    aacAccountingServiceCommand      OBJECT IDENTIFIER ::= { securityAAC 13 }

    aacAccountingServiceCommandAdministrator OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-write 
        STATUS current
        DESCRIPTION
            "This object indicates which method list Accounting Admin Command Service uses.
            If the value is -1, it means disabled."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceCommand 1 }

    aacAccountingServiceCommandOperator  OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-write 
        STATUS current
        DESCRIPTION
            "This object indicates which method list Accounting Operator Command Service uses.
            If the value is -1, it means disabled."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceCommand 2 }

    aacAccountingServiceCommandPoweruser OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write 
        STATUS current
        DESCRIPTION
            "This object indicates which method list Accounting PowerUser Command Service uses.
            If the value is -1, it means disabled."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceCommand 3 }

    aacAccountingServiceCommandUser  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write 
        STATUS current
        DESCRIPTION
            "This object indicates which method list Accounting User Command Service uses.
            If the value is -1, it means disabled."

        DEFVAL  { -1 }
        ::= { aacAccountingServiceCommand 4 }                   
        
-- -------------------------------------------------------------
-- Server Password Encryption
-- -------------------------------------------------------------

   aacServerPasswordEncryption  OBJECT-TYPE
   SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                   }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is used to configure server password encryption status."
   ::= { securityAAC 14 }


        -- ----------------------------------------------------------------
        -- The STATIC ARP group
        -- ----------------------------------------------------------------

        staticARPTable OBJECT-TYPE
            SYNTAX SEQUENCE OF StaticARPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static MACs"
            ::= { companyStaticARP  2 }

        staticARPEntry OBJECT-TYPE
            SYNTAX StaticARPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static MAC entry containing the mac and forwarding port."
            INDEX { staticARPIP, staticARPMac}
            ::= { staticARPTable 1 }

        StaticARPEntry ::= SEQUENCE {
            staticARPIP     	    IpAddress,
            staticARPMac            MacAddress,
            staticARPRowStatus      RowStatus
        }

        staticARPIP OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The VLAN ID of the static ARP IP."
            ::= { staticARPEntry 2 }

         staticARPMac OBJECT-TYPE
           SYNTAX MacAddress
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The MAC address associated of the static ARP entry."
           ::= { staticARPEntry 3 }

         staticARPRowStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Static ARP Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available. The trunk member port can not set up static ARP."
            ::= { staticARPEntry 5 }



        sysGratuitousARPGlobalSettings         OBJECT IDENTIFIER ::= { companyGratuitousARP 1 }
        sysGratuitousARPSettings               OBJECT IDENTIFIER ::= { companyGratuitousARP 2 }

      -- ----------------------------------------------------------------
      -- The sysGratuitousARPGlobalSettings group
      -- ----------------------------------------------------------------
        sysGratuitousARPIPIfStatusUp  OBJECT-TYPE
           SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
           }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION 
            "This object indicates Send On IP Interface Status Up is enabled or disabled."
            DEFVAL { disable }
           ::= { sysGratuitousARPGlobalSettings 1 }
         
        sysGratuitousARPDuplicateIPDetected  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION 
            "This object indicates Send On Duplicate IP Detected is enabled or disabled."
            DEFVAL { disable }
            ::= { sysGratuitousARPGlobalSettings 2 }
          
        sysGratuitousARPLearning  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION 
            "This object indicates Gratuitous ARP Learning is enabled or disabled."
            DEFVAL { disable }
            ::= { sysGratuitousARPGlobalSettings 3 }  
			
		sysGratuitousARPLog  OBJECT-TYPE
            SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION 
            "This object indicates Gratuitous ARP Log is enabled or disabled."
            DEFVAL { disable }
            ::= { sysGratuitousARPGlobalSettings 4 } 

      -- ----------------------------------------------------------------
      -- The sysGratuitousARPSettings group
      -- ----------------------------------------------------------------
          
        sysGratuitousARPTable OBJECT-TYPE
           SYNTAX SEQUENCE OF SysGratuitousARPEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "Set/Add Gratuitous ARP interface name and interval time."
           ::= { sysGratuitousARPSettings 1 }

        sysGratuitousARPEntry OBJECT-TYPE
           SYNTAX      SysGratuitousARPEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "The entry of gratuitous ARP!"
           INDEX { sysGratuitousARPIFName }
           ::= { sysGratuitousARPTable 1 }   
           
        SysGratuitousARPEntry ::= SEQUENCE
            {
                sysGratuitousARPIFName          OCTET STRING,
                sysGratuitousARPInterval        Integer32
            }               

        sysGratuitousARPIFName OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE(1..24))
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Interface name."
            ::= { sysGratuitousARPEntry 1 }

        sysGratuitousARPInterval OBJECT-TYPE 
          SYNTAX      Integer32 (0..65535) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Gratuitous ARP interval time for each interface."
          DEFVAL  { 0 } 
          ::= { sysGratuitousARPEntry 2 } 
                  

    -- ---------------------------------------------------------------------
    -- IP Multi-Interface Function
    -- ---------------------------------------------------------------------
          
      ipv4multiIFInfo         OBJECT IDENTIFIER ::= { companyMultiIPInterface 1 }
 
        
      ipv4mulIfMainTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF Ipv4MulIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            obsolete
         DESCRIPTION
            "A list of interface entries."
         ::= { ipv4multiIFInfo 1 }

      ipv4mulIfMainEntry          OBJECT-TYPE
         SYNTAX            Ipv4MulIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            obsolete
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { ipv4mulifMainIndex, ipv4mulifVLANID }
         ::= { ipv4mulIfMainTable 1 }

      Ipv4MulIfMainEntry ::=
         SEQUENCE {
            ipv4mulifMainIndex               InterfaceIndex,
            ipv4mulifVLANID                  INTEGER,
            ipv4mulifName                    OCTET STRING,
            ipv4mulifVLANname                OCTET STRING,
            ipv4mulifIpAddr                  IpAddress,
            ipv4mulifIpSubnetMask            IpAddress,
            ipv4mulifMainAdminStatus         INTEGER,
            ipv4mulifMainOperStatus          INTEGER,
            ipv4mulifMainRowStatus           RowStatus              
            }

      ipv4mulifMainIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only 
         STATUS            obsolete
         DESCRIPTION
            "The index of this interface." 
         ::= { ipv4mulIfMainEntry 1 }

      ipv4mulifVLANID OBJECT-TYPE
            SYNTAX INTEGER (1..4094)
            MAX-ACCESS read-only
            STATUS obsolete
            DESCRIPTION
                "The ID of VLAN that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { ipv4mulIfMainEntry 2 }

      ipv4mulifName   OBJECT-TYPE
         SYNTAX      OCTET STRING
         MAX-ACCESS  read-write
         STATUS      obsolete
         DESCRIPTION
               "The Description for the interface."
         ::= { ipv4mulIfMainEntry 3 }         
         
      ipv4mulifVLANname   OBJECT-TYPE
         SYNTAX      OCTET STRING
         MAX-ACCESS  read-only
         STATUS      obsolete
         DESCRIPTION
               "The vlan name for the interface."
         ::= { ipv4mulIfMainEntry 4 }    

      ipv4mulifIpAddr             OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            obsolete
         DESCRIPTION
            "The ip address of this interface."
         DEFVAL { '00000000'H } 
         ::= { ipv4mulIfMainEntry 6 }

      ipv4mulifIpSubnetMask       OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            obsolete
         DESCRIPTION
            "The subnet mask of this interface."
         ::= { ipv4mulIfMainEntry 7 }

      ipv4mulifMainAdminStatus    OBJECT-TYPE
         SYNTAX            INTEGER {
                              enable(1), 
                              disable(2)
                              }
         MAX-ACCESS        read-create
         STATUS            obsolete
         DESCRIPTION
            "The desired state of the interface."
         DEFVAL { disable } 
         ::= { ipv4mulIfMainEntry 8 }


      ipv4mulifMainOperStatus     OBJECT-TYPE
         SYNTAX            INTEGER  {
                              linkup(1),    -- ready to pass packets
                              linkdown(2)
                              }
         MAX-ACCESS        read-only
         STATUS            obsolete
         DESCRIPTION
            "The current operational state of the interface."
         ::= { ipv4mulIfMainEntry 9 }

      ipv4mulifMainRowStatus      OBJECT-TYPE
         SYNTAX            RowStatus
         MAX-ACCESS        read-create
         STATUS            obsolete
         DESCRIPTION
            "The status of an entry in the Multi Interface Table.  Only a subset
             of the rowstatus variables (active, createAndWait, destroy) are available." 
         ::= { ipv4mulIfMainEntry 10 }                  

    -- ---------------------------------------------------------------------
    -- IPv6 Multi-Interface Function
    -- ---------------------------------------------------------------------
          
      multiIFSupportV4V6Info         OBJECT IDENTIFIER ::= { companyMultiIPInterface 2 }

    -- ---------------------------------------------------------------------    
    -- ---------------------------------------------------------------------
     
      mulIfSupportV4V6MainTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF MulIfSupportV4V6MainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of interface entries."
         ::= { multiIFSupportV4V6Info 1 }

      mulIfSupportV4V6MainEntry          OBJECT-TYPE
         SYNTAX            MulIfSupportV4V6MainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { mulifMainIndex, mulifVLANID }
         ::= { mulIfSupportV4V6MainTable 1 }

      MulIfSupportV4V6MainEntry ::=
         SEQUENCE {
                mulifMainIndex                  InterfaceIndex,
                mulifVLANID                     INTEGER,
                mulifName                       OCTET STRING,
                mulifVLANname                   OCTET STRING,
                mulifIpAddr                     IpAddress,
                mulifIpSubnetMask               IpAddress,
                mulifMainAdminStatus            INTEGER,
                mulifMainOperStatus             INTEGER,
                mulifv6GlobalStatus             INTEGER,         -- Support IPv6 or not.
                mulifv6DHCPStatus               INTEGER,         -- Support DHCPv6 or not.
                mulifv6AutolinkloStatus         INTEGER,         -- Automatic Link local Address Status.
                mulifv6NSRetransmitTime         INTEGER,         -- NS Retransmit Time Settings.
                mulifMainRowStatus              RowStatus        -- Entries Row status.
            }

      mulifMainIndex     OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only 
         STATUS            current
         DESCRIPTION
            "The index of this interface." 
         ::= { mulIfSupportV4V6MainEntry 1 }

      mulifVLANID         OBJECT-TYPE
            SYNTAX          INTEGER (1..4094)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
            "The ID of VLAN that you want this interface to be in. 
            It must be a exist vlan id."
        ::= { mulIfSupportV4V6MainEntry 2 }

      mulifName           OBJECT-TYPE
         SYNTAX             OCTET STRING
         MAX-ACCESS         read-write
         STATUS             current
         DESCRIPTION
               "The Description for the interface."
         ::= { mulIfSupportV4V6MainEntry 3 }         
         
      mulifVLANname       OBJECT-TYPE
         SYNTAX             OCTET STRING
         MAX-ACCESS         read-only
         STATUS             current
         DESCRIPTION
               "The vlan name for the interface."
         ::= { mulIfSupportV4V6MainEntry 4 }    

      mulifIpAddr         OBJECT-TYPE
         SYNTAX             IpAddress
         MAX-ACCESS         read-create
         STATUS             current
         DESCRIPTION
            "The ip address of this interface."
         DEFVAL { '00000000'H } 
         ::= { mulIfSupportV4V6MainEntry 5 }

      mulifIpSubnetMask   OBJECT-TYPE
         SYNTAX             IpAddress
         MAX-ACCESS         read-create 
         STATUS             current
         DESCRIPTION
            "The subnet mask of this interface."
         ::= { mulIfSupportV4V6MainEntry 6 }

      mulifMainAdminStatus    OBJECT-TYPE
         SYNTAX                 INTEGER {
                                    enable(1), 
                                    disable(2)
                                }
         MAX-ACCESS             read-create
         STATUS                 current
         DESCRIPTION
            "The desired state of the interface."
         DEFVAL { disable } 
         ::= { mulIfSupportV4V6MainEntry 7 }

      mulifMainOperStatus     OBJECT-TYPE
         SYNTAX                 INTEGER  {
                                    linkup(1),    -- ready to pass packets
                                    linkdown(2)
                                }
         MAX-ACCESS             read-only
         STATUS                 current
         DESCRIPTION
            "The current operational state of the interface."
         ::= { mulIfSupportV4V6MainEntry 8 }

      mulifv6GlobalStatus     OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-create
            STATUS              current
            DESCRIPTION
                "The ID of VLAN that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { mulIfSupportV4V6MainEntry 9 }

      mulifv6DHCPStatus       OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-create
            STATUS              current
            DESCRIPTION
                "The state of DHCPv6 that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { mulIfSupportV4V6MainEntry 10 }

      mulifv6AutolinkloStatus OBJECT-TYPE
            SYNTAX              INTEGER   {
                                  enable(1),    
                                  disable(2)
                                }
            MAX-ACCESS          read-create
            STATUS              current
            DESCRIPTION
                "The global state of link local that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { mulIfSupportV4V6MainEntry 11 }

      mulifv6NSRetransmitTime OBJECT-TYPE
            SYNTAX              INTEGER
            MAX-ACCESS          read-create
            STATUS              current
            DESCRIPTION
                "The NS's retransmit time that you want this interface to be in. 
                It must be a exist vlan id."
            ::= { mulIfSupportV4V6MainEntry 12 }

      mulifMainRowStatus      OBJECT-TYPE
         SYNTAX                 RowStatus
         MAX-ACCESS             read-create
         STATUS                 current
         DESCRIPTION
            "The status of an entry in the Multi Interface Table.  Only a subset
             of the rowstatus variables (active, createAndWait, destroy) are available." 
         ::= { mulIfSupportV4V6MainEntry 13 }     

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

      mulIfV6AddressTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF MulIfV6AddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of interface entries."
         ::= { multiIFSupportV4V6Info 2 }

      mulIfV6AddressEntry          OBJECT-TYPE
         SYNTAX            MulIfV6AddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { mulifV6AddressMainIndex, mulifV6AddressIpAddr, mulifV6AddressIpPrefix }
         ::= { mulIfV6AddressTable 1 }

      MulIfV6AddressEntry ::=
         SEQUENCE {
                mulifV6AddressMainIndex              InterfaceIndex,
                mulifV6AddressIpAddr                 Ipv6Address,     -- IPv6 Address.
                mulifV6AddressIpPrefix               INTEGER,         -- IPv6 Address Prefix.
                mulifV6AddressIpType                 INTEGER,         -- IP type (Link-local, Global, anycast).
                mulifV6AddressRowStatus              RowStatus        -- IPv6 Address entries row status.
            }

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

      mulifV6AddressIpAddr       OBJECT-TYPE
         SYNTAX                 Ipv6Address
         MAX-ACCESS             read-only
         STATUS                 current
         DESCRIPTION
            "The ip address of this IPv6 entry."
         DEFVAL { '00000000'H } 
         ::= { mulIfV6AddressEntry 2 }
              
      mulifV6AddressIpPrefix     OBJECT-TYPE
            SYNTAX              INTEGER (1..128)
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
            "The ip prefix of this IPv6 entry."
        ::= { mulIfV6AddressEntry 3 } 

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

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

      ipv4mulIfTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF Ipv4MulIfEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of interface entries."
         ::= { multiIFSupportV4V6Info 3 }

      ipv4MulIfEntry          OBJECT-TYPE
         SYNTAX            Ipv4MulIfEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
               to a particular interface."
         INDEX { ipv4multiIfIndex }
         ::= { ipv4mulIfTable 1 }

      Ipv4MulIfEntry ::=
         SEQUENCE {
		    ipv4multiIfIndex                 InterfaceIndex,
            ipv4multiIfVLANname        OCTET STRING
            }
			
      ipv4multiIfIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only 
         STATUS            current
         DESCRIPTION
            "The index of this interface." 
         ::= { ipv4MulIfEntry 1 }
		 
     ipv4multiIfVLANname   OBJECT-TYPE
         SYNTAX      OCTET STRING
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
               "The vlan name for the interface."
         ::= { ipv4MulIfEntry 2 }   


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

      staticRouteTable OBJECT-TYPE
            SYNTAX SEQUENCE OF StaticRouteEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static Route Table."
            ::= { companyStaticRoute 1 }

        staticRouteEntry OBJECT-TYPE
            SYNTAX StaticRouteEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static route entry maintain by the IP Address, netmask and gateway."
            INDEX { staticRouteIpAddr, staticRouteNetmask, staticRouteGateway}
            ::= { staticRouteTable 1 }

        StaticRouteEntry ::= SEQUENCE {
            staticRouteInterfaceID   INTEGER,
            staticRouteIpAddr     	 IpAddress,
            staticRouteNetmask       IpAddress,
            staticRouteGateway       IpAddress,
            staticRouteMetric        INTEGER,
            staticRouteProtocol      INTEGER,
            staticRouteBackup        INTEGER,
            staticRouteActiveStatus  INTEGER,
            staticRouteRowStatus     RowStatus
        }
        
        staticRouteInterfaceID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The InterfaceID of the static Route entry."
            ::= { staticRouteEntry 1 }

        staticRouteIpAddr  OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of an IP address that will be a static entry into
               the Switch's Routing Table."
           ::= { staticRouteEntry 2 }
        
        staticRouteNetmask  OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of a subnet mask corresponding to the IP address above."
           ::= { staticRouteEntry 3 }
    
        staticRouteGateway  OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of an IP address of a gateway for the IP address above."
           ::= { staticRouteEntry 4 }

        staticRouteMetric OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Allows the entry of a routing protocol metric representing the number of 
                 routers between the Switch and the IP address above.(1-65535)"
            ::= { staticRouteEntry 5 }

        staticRouteProtocol OBJECT-TYPE
           SYNTAX  INTEGER {
                       default(0),
                       static(1)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The route protocol of the static route entry."
            ::= { staticRouteEntry 6 }

        staticRouteBackup OBJECT-TYPE
           SYNTAX  INTEGER {
                       primary(0),
                       backup(1)
                   }
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The primary/backup status of the static route entry."
           ::= { staticRouteEntry 7 }

        staticRouteActiveStatus OBJECT-TYPE
           SYNTAX  INTEGER {
                       active(0),
                       inactive(1)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The active/inactive status of the static route entry."
           ::= { staticRouteEntry 8 }

        staticRouteRowStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Static Route Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { staticRouteEntry 9 }

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

      staticRouteV6Table OBJECT-TYPE
            SYNTAX SEQUENCE OF StaticRouteV6Entry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A list of the Static Route Table."
            ::= { companyStaticRoute 2 }

        staticRouteV6Entry OBJECT-TYPE
            SYNTAX StaticRouteV6Entry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Static route entry maintain by the IP Address, netmask and gateway."
            INDEX { staticRouteV6IpAddr, staticRouteV6Prefix, staticRouteV6NextHop}
            ::= { staticRouteV6Table 1 }

        StaticRouteV6Entry ::= SEQUENCE {
            staticRouteV6InterfaceID   INTEGER,
            staticRouteV6IpAddr        Ipv6Address,
            staticRouteV6Prefix        INTEGER,
            staticRouteV6NextHop       Ipv6Address,
            staticRouteV6Metric        INTEGER,
            staticRouteV6Protocol      INTEGER,
            staticRouteV6Backup        INTEGER,
            staticRouteV6ActiveStatus  INTEGER,
            staticRouteV6RowStatus     RowStatus
        }
        
        staticRouteV6InterfaceID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The InterfaceID of the static Route entry."
            ::= { staticRouteV6Entry 1 }

        staticRouteV6IpAddr  OBJECT-TYPE
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of an IP address that will be a static entry into
               the Switch's Routing Table."
           ::= { staticRouteV6Entry 2 }
        
        staticRouteV6Prefix  OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of a subnet mask corresponding to the IP address above."
           ::= { staticRouteV6Entry 3 }
    
        staticRouteV6NextHop  OBJECT-TYPE
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION 
              "Allows the entry of an IP address of a gateway for the IP address above."
           ::= { staticRouteV6Entry 4 }

        staticRouteV6Metric OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Allows the entry of a routing protocol metric representing the number of 
                 routers between the Switch and the IP address above.(1-65535)"
            ::= { staticRouteV6Entry 5 }

        staticRouteV6Protocol OBJECT-TYPE
           SYNTAX  INTEGER {
                       default(0),
                       static(1)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The route protocol of the static route entry."
            ::= { staticRouteV6Entry 6 }

        staticRouteV6Backup OBJECT-TYPE
           SYNTAX  INTEGER {
                       primary(0),
                       backup(1)
                   }
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The primary/backup status of the static route entry."
           ::= { staticRouteV6Entry 7 }

        staticRouteV6ActiveStatus OBJECT-TYPE
           SYNTAX  INTEGER {
                       active(0),
                       inactive(1)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The active/inactive status of the static route entry."
           ::= { staticRouteV6Entry 8 }

        staticRouteV6RowStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "The status of an entry in the Static Route Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { staticRouteV6Entry 9 }


-- start DLINK_AGENT_BACIC_INFO

        agentCPUutilization                   OBJECT IDENTIFIER ::= { companyAgentBasicInfo  1 }
        agentMEMutilization                   OBJECT IDENTIFIER ::= { companyAgentBasicInfo  2 }
      -- ----------------------------------------------------------------
      -- The agentCPUutilization group
      -- ----------------------------------------------------------------
        agentCPUutilizationIn5sec OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 5 second intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentCPUutilization 1 }
 
       agentCPUutilizationIn1min OBJECT-TYPE
        SYNTAX  Integer32
 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 1 minute intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentCPUutilization 2 }
 
     agentCPUutilizationIn5min OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 5 minute intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentCPUutilization 3 }

      -- ----------------------------------------------------------------
      -- The agentMEMutilization group
      -- ----------------------------------------------------------------
        agentMEMutilizationIn5sec OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 5 second intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentMEMutilization 1 }
 
       agentMEMutilizationIn1min OBJECT-TYPE
        SYNTAX  Integer32
 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 1 minute intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentMEMutilization 2 }
 
     agentMEMutilizationIn5min OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The time scale is set at 5 minute intervals.
             The value will be between 0% (idle) and 100% (very busy)."
        ::= { agentMEMutilization 3 }

-- end DLINK_AGENT_BACIC_INFO

    agentPORTutilizationTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF AgentPORTutilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { companyAgentBasicInfo 3 }
        
    agentPORTutilizationEntry OBJECT-TYPE
        SYNTAX AgentPORTutilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        INDEX { agentPORTutilizationPortIndex }
        ::= { agentPORTutilizationTable 1 }
  
    AgentPORTutilizationEntry ::= 
           SEQUENCE { 
              agentPORTutilizationPortIndex 
                 Integer32, 
              agentPORTutilizationPortTX5sec
                 Integer32, 
              agentPORTutilizationPortRX5sec 
                 Integer32,
              agentPORTutilizationPortUtil5sec 
                 Integer32,  
              agentPORTutilizationPortUtil1min 
                 Integer32,
              agentPORTutilizationPortUtil5min 
                 Integer32                                    
          }
        
         agentPORTutilizationPortIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              ""
           ::= { agentPORTutilizationEntry 1 }
            
        
         agentPORTutilizationPortTX5sec OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              ""
           ::= { agentPORTutilizationEntry 2 }
        
         agentPORTutilizationPortRX5sec OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              ""
           ::= { agentPORTutilizationEntry 3 }
           
         agentPORTutilizationPortUtil5sec OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              ""
           ::= { agentPORTutilizationEntry 4 }  
           
         agentPORTutilizationPortUtil1min OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              ""
           ::= { agentPORTutilizationEntry 5 } 
           
         agentPORTutilizationPortUtil5min OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              ""
           ::= { agentPORTutilizationEntry 6 }          

 -- ----------------------------------------------------------
 -- The companyL2PT  Groups
 -- ----------------------------------------------------------
 -- L2PT Group --------------------------------------------- --
-- -----------------------------------------------------------------------------
-- swL2PTState
-- -----------------------------------------------------------------------------
    l2PTState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the global state of Layer 2 protocol tunneling."
    	::= { companyL2PT 1 }
-- -----------------------------------------------------------------------------
-- L2PTPortTable
-- -----------------------------------------------------------------------------
         l2PTPortTable OBJECT-TYPE 
           SYNTAX SEQUENCE OF L2PTEntry
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "A table that cont
              ains the cable situation for each port."
           ::= { companyL2PT 2 }     
    
         l2PTEntry OBJECT-TYPE 
           SYNTAX      L2PTEntry  
           MAX-ACCESS  not-accessible
           STATUS      current 
           DESCRIPTION 
              "A list of cable situations for each port on the device."
            INDEX { l2PTPortIndex }
            ::= { l2PTPortTable 1 }

        L2PTEntry ::= 
          SEQUENCE {
                l2PTPortIndex
                  INTEGER,
			    l2PTPortType
				  INTEGER,
			    l2PTProtocol
				  BITS
            }


        l2PTPortIndex OBJECT-TYPE
            SYNTAX  INTEGER (1..28)
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
        	    "This object indicates the port number.
                 For all machines give maximum port number."
    	    ::= { l2PTEntry 1 }

        l2PTPortType OBJECT-TYPE
            SYNTAX INTEGER {
                none(1),
                uni(2),
                nni(3)
                }
         MAX-ACCESS  read-write
            STATUS current
            DESCRIPTION
                "This object indicates the Layer 2 protocol tunneling port type.

		        The 'none' value indicates that the port is normal. Layer 2 protocol tunneling
		        is disabled on this port.
	
		        The 'uni' value indicates that the port is connected to the customer site. 
                A Layer 2 PDU received on a UNI port can be tunneled to a remote customer site across the provider network.
	
		        The 'nni' value indicates that the port is connected to the provider network. 
                A Tunneled Layer 2 PDU received on an NNI port will be restored to its original format."
	        DEFVAL { none }
    	    ::= { l2PTEntry 2 }

        l2PTProtocol  OBJECT-TYPE
		    SYNTAX BITS {
				    stp(0),
				    gvrp(1),
    		    	macCC(2),
		    	    macCD(3)
		         }
		    MAX-ACCESS read-write
		    STATUS     current
		    DESCRIPTION  
		        "This object indicates the tunneled protocols on this port.
		        This object can only be applied on a UNI port. 
		    
		        If the 'stp' BIT is set, the STP BPDU will be tunneled.
	
		        If the 'gvrp' BIT is set, the GVRP PDU will be tunneled.
		    	    
		         If the 'mac-01-00-0C-CC-CC-CC' BIT is set, the PDU with the	            
                 destination MAC address 01-00-0C-CC-CC-CC will be tunneled .
	
		        If the 'mac-01-00-0C-CC-CC-CD' BIT is set, then the PDU with the
	            destination MAC address 01-00-0C-CC-CC-CD will be tunneled."
		    ::= { l2PTEntry 3 }
-- -----------------------------------------------------------------------------
-- L2PTThresholdTable
-- -----------------------------------------------------------------------------
    l2PTThresholdTable OBJECT-TYPE
    	SYNTAX     SEQUENCE OF L2PTThresholdEntry
    	MAX-ACCESS not-accessible
    	STATUS     current
    	DESCRIPTION 
    	    "This table contains the protocol tunneling threshold of a UNI port."
    	::= { companyL2PT 3}

    l2PTThresholdEntry OBJECT-TYPE
        SYNTAX  L2PTThresholdEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list with the Layer2 Protocol tunneling threshold."
        INDEX   { l2PTPortIndex, l2PTProtocolIndex }
        ::= { l2PTThresholdTable 1 }
     
   
     L2PTThresholdEntry ::=
        SEQUENCE {
                l2PTProtocolIndex
            	    INTEGER,
                l2PTDropThreshold       
            	    INTEGER
                } 
        
    l2PTProtocolIndex   OBJECT-TYPE
		SYNTAX     INTEGER {
					stp(1),
					gvrp(2),
			    	macCC(3),
			    	macCD(4)	
			    }		
		MAX-ACCESS  not-accessible
		STATUS     current
		DESCRIPTION  
		    "This object indicates the tunneled protocol of the port."
		::= { l2PTThresholdEntry 1 }

    l2PTDropThreshold  OBJECT-TYPE
		SYNTAX     INTEGER (0..65535)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION  
		    "This object indicates the drop threshold for a given protocol on a UNI port.
	            If the arrival rate of a tunneled protocol has reached its threshold, the received
	            PDUs of this protocol will be dropped. 
	            The value 0 indicates there is no threshold for the protocol."
		DEFVAL { 0 }
		::= { l2PTThresholdEntry 2 }
-- ----------------------------------------------------------
-- The companyCpuProtect Groups
-- ----------------------------------------------------------
						
	  cpuProtectState OBJECT-TYPE
        SYNTAX INTEGER {
                          disabled (0),
                          enabled  (1)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the cpu protect."
    ::= { companyCpuProtect 1 }
    
    cpuProtectTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpuProtectEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that holds the cpu protect settings of the device."
        ::= { companyCpuProtect 2 }

    cpuProtectEntry OBJECT-TYPE
        SYNTAX  CpuProtectEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of cpu protect settings of the device."
        INDEX   { cpuProtectType }
        ::= { cpuProtectTable 1 }

    CpuProtectEntry ::= 
        SEQUENCE {
			cpuProtectType
				INTEGER,
			cpuProtectPPS
				INTEGER,
			cpuProtectPortList
				PortList
        }
        
    cpuProtectType OBJECT-TYPE
    	SYNTAX INTEGER {
			arp(1),
			bpdu(2),
			icmp(3),
			igmp(4),
			snmp(5),
			dhcp(6)
   	    	}
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "This object indicates the Cpu protect type."
    ::= { cpuProtectEntry 1 }
       
    cpuProtectPPS OBJECT-TYPE
    	SYNTAX INTEGER (-1..65535)
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Specify the threshold as packet count per second at which traffic is received on the CPU port.
             If value set to -1, it means no threshold."
    ::= { cpuProtectEntry 2 }

    cpuProtectPortList OBJECT-TYPE
    	SYNTAX PortList
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Specify the ingress ports from which traffic is received and protected on the CPU port."
    ::= { cpuProtectEntry 3 }


    -- ------------------------------------------------------------------
    -- The SMTP Group
    -- ------------------------------------------------------------------

      ipv4smtpState OBJECT-TYPE
           SYNTAX      INTEGER {  disabled(0),enabled(1) }
           MAX-ACCESS  read-write
           STATUS      obsolete
           DESCRIPTION
               "Enable or Disable SMTP function."

           ::= { companySMTP 1 }

      ipv4smtpServerAddr  OBJECT-TYPE
           SYNTAX      IpAddress
           MAX-ACCESS  read-write
           STATUS      obsolete
           DESCRIPTION
              "SMTP Server's IP Address"
            ::= { companySMTP 2 }

      ipv4smtpServerPort OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "SMTP Server's port"
            ::= { companySMTP 3}

      ipv4smtpSelfMailAddr OBJECT-TYPE
            SYNTAX      OCTET STRING
            MAX-ACCESS  read-write
            STATUS      obsolete
            DESCRIPTION
                "The sender's (DUT) mail address ."
            ::= { companySMTP  4 }
        
        

    -- ------------------------------------------------------------------
    -- smtpRecvMailAddrTable
    -- ------------------------------------------------------------------
    
    ipv4smtpRecvMailAddrTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF Ipv4SmtpRecvMailAddrEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "Receivers' mail address table."

        ::= { companySMTP 5 }

    ipv4smtpRecvMailAddrEntry OBJECT-TYPE
        SYNTAX     Ipv4SmtpRecvMailAddrEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "Receivers' mail address entry."

        INDEX { ipv4smtpRecvMailAddrIndex }
        ::= { ipv4smtpRecvMailAddrTable 1 }

    Ipv4SmtpRecvMailAddrEntry  ::= 
            SEQUENCE {
              ipv4smtpRecvMailAddrIndex          INTEGER,
              ipv4smtpRecvMailAddr               OCTET STRING,
              ipv4smtpRecvMailAddrStatus         RowStatus
              }

    ipv4smtpRecvMailAddrIndex OBJECT-TYPE
       SYNTAX       INTEGER (1..8)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Receivers' mail address index (1~8)." 
        ::= { ipv4smtpRecvMailAddrEntry  1 }

    ipv4smtpRecvMailAddr OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "Receivers' mail address."
        ::= { ipv4smtpRecvMailAddrEntry  2 }
        
    ipv4smtpRecvMailAddrStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Rowstatus of the receiver's mail address."
       ::= { ipv4smtpRecvMailAddrEntry 3 }
       
--IPv6 smtp server Group

	  sysSMTPServerGroup OBJECT IDENTIFIER ::= { companySMTP  6 }
              
      smtpState OBJECT-TYPE
           SYNTAX      INTEGER {  disabled(0),enabled(1) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Enable or Disable SMTP function."

           ::= { sysSMTPServerGroup 1 }

      smtpServerAddr  OBJECT-TYPE
           SYNTAX      Ipv6Address
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "SMTP Server's IP Address"
            ::= { sysSMTPServerGroup 2 }

      smtpServerAddrType OBJECT-TYPE
            SYNTAX    INTEGER {
                      iPv4 (1),
                      iPv6 (2)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "SMTP Server's Address type."
            ::= { sysSMTPServerGroup 3 }

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

      smtpServerPort OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "SMTP Server's port"
            ::= { sysSMTPServerGroup 5}

      smtpSelfMailAddr OBJECT-TYPE
            SYNTAX      OCTET STRING
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The sender's (DUT) mail address ."
            ::= { sysSMTPServerGroup  6 }
        
        

    -- ------------------------------------------------------------------
    -- smtpRecvMailAddrTable
    -- ------------------------------------------------------------------
    
    smtpRecvMailAddrTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF SmtpRecvMailAddrEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "Receivers' mail address table."

        ::= { sysSMTPServerGroup 7 }

    smtpRecvMailAddrEntry OBJECT-TYPE
        SYNTAX     SmtpRecvMailAddrEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "Receivers' mail address entry."

        INDEX { smtpRecvMailAddrIndex }
        ::= { smtpRecvMailAddrTable 1 }

    SmtpRecvMailAddrEntry  ::= 
            SEQUENCE {
              smtpRecvMailAddrIndex          INTEGER,
              smtpRecvMailAddr               OCTET STRING,
              smtpRecvMailAddrStatus         RowStatus
              }

    smtpRecvMailAddrIndex OBJECT-TYPE
       SYNTAX       INTEGER (1..8)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Receivers' mail address index (1~8)." 
        ::= { smtpRecvMailAddrEntry  1 }

    smtpRecvMailAddr OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "Receivers' mail address."
        ::= { smtpRecvMailAddrEntry  2 }
        
    smtpRecvMailAddrStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "Rowstatus of the receiver's mail address."
       ::= { smtpRecvMailAddrEntry 3 }    

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

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

    IgmpMulticastVlanEntry ::= 
        SEQUENCE {
            igmpMulticastVlanid
                INTEGER,
            igmpMulticastVlanName
                DisplayString,
            igmpMulticastVlanSourcePort
                PortList,
            igmpMulticastVlanMemberPort
                PortList,
            igmpMulticastVlanTagMemberPort
            	PortList,
            igmpMulticastVlanUntaggedSourcePort
            	PortList,
            igmpMulticastVlanState
            	INTEGER,
            igmpMulticastVlanReplaceSourceIp
            	IpAddress,
			igmpMulticastVlanRemapPriority
				INTEGER,
			igmpMulticastVlanReplacePriority
				INTEGER,
			igmpMulticastVlanSrcPortDymLearn
				INTEGER,
			igmpMulticastVlanReplaceCVID
				INTEGER,
            igmpMulticastVlanRowStatus
                RowStatus
        }
        
    igmpMulticastVlanid OBJECT-TYPE
        SYNTAX  INTEGER (2..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN ID of the IGMP snooping multicast 
             VLAN entry."
        ::= { igmpMulticastVlanEntry 1 }
        
    igmpMulticastVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN name of the IGMP snooping multicast 
             VLAN entry."
        ::= { igmpMulticastVlanEntry 2 }   
            
    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."
        ::= { igmpMulticastVlanEntry 3 }   

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

    igmpMulticastVlanUntaggedSourcePort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the untag source ports of the IGMP 
             snooping multicast VLAN."
        ::= { igmpMulticastVlanEntry 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."
        ::= { igmpMulticastVlanEntry 7 }
            
    igmpMulticastVlanReplaceSourceIp OBJECT-TYPE
    	SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement source IP of this multicast VLAN."
        ::= { igmpMulticastVlanEntry 8 }
        
    igmpMulticastVlanRemapPriority OBJECT-TYPE
    	SYNTAX  INTEGER (-1..7)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The remap priority of this multicast VLAN."
		DEFVAL  { -1 }
        ::= { igmpMulticastVlanEntry 9 }
        
    igmpMulticastVlanReplacePriority OBJECT-TYPE
    	SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                   }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement priority of this multicast VLAN."
		DEFVAL  { disabled }
        ::= { igmpMulticastVlanEntry 10 }

    igmpMulticastVlanSrcPortDymLearn OBJECT-TYPE
    	SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                   }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The source port dynamical learn of this multicast VLAN."
		DEFVAL  { disabled }
        ::= { igmpMulticastVlanEntry 11 }
    igmpMulticastVlanReplaceCVID OBJECT-TYPE
    	SYNTAX  INTEGER (-1..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement cvid of this multicast VLAN."
		DEFVAL  { -1 }
        ::= { igmpMulticastVlanEntry 12 }
    igmpMulticastVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { igmpMulticastVlanEntry 13 }         
          
    -- -----------------------------------------------------------------------------
    --  igmpMulticastVlanGroupTable	
    -- -----------------------------------------------------------------------------   
    igmpMulticastVlanGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IgmpMulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table containing the IGMP snooping multicast VLAN group information"
        ::= { companyISMVLAN 3 }

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

    IgmpMulticastVlanGroupEntry ::= 
        SEQUENCE {
            igmpMulticastVlanGroupVid
                INTEGER,
            igmpMulticastVlanGroupFromIp
                IpAddress,
            igmpMulticastVlanGroupToIp
                IpAddress,                
            igmpMulticastVlanGroupStatus
                RowStatus
        }
    
    igmpMulticastVlanGroupVid	OBJECT-TYPE
	SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the IGMP snooping multicast VLAN group."
        ::= { igmpMulticastVlanGroupEntry 1 }
    
    igmpMulticastVlanGroupFromIp	OBJECT-TYPE
    	SYNTAX      IpAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { igmpMulticastVlanGroupEntry 2  }
    		
    igmpMulticastVlanGroupToIp	OBJECT-TYPE
    	SYNTAX      IpAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { igmpMulticastVlanGroupEntry 3  }
    	
    igmpMulticastVlanGroupStatus	OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
        	"This object indicates the status of this entry."		
        ::= { igmpMulticastVlanGroupEntry 4 }
    


     -- ----------------------------------------------------------
     -- multicastVlanTable Table 
     -- ----------------------------------------------------------
    
     multicastVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF MulticastVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the IGMP/MLD snooping multicast VLAN table."
        ::= { companyISMVLAN 4 }
    
     multicastVlanEntry OBJECT-TYPE
        SYNTAX  MulticastVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry of multicastVlanTable."
        INDEX  { multicastVlanid}
        ::= { multicastVlanTable 1 }

    MulticastVlanEntry ::= 
        SEQUENCE {
            multicastVlanid
                INTEGER,
            multicastVlanName
                DisplayString,
            multicastVlanSourcePort
                PortList,
            multicastVlanMemberPort
                PortList,
            multicastVlanTagMemberPort
            	PortList,
            multicastVlanUntaggedSourcePort
            	PortList,
            multicastVlanState
            	INTEGER,
            multicastVlanIgmpReplaceSourceIp
            	IpAddress,
            multicastVlanMldReplaceSourceIp
            	Ipv6Address,
			multicastVlanRemapPriority
				INTEGER,
			multicastVlanReplacePriority
				INTEGER,
			multicastVlanSrcPortDymLearn
				INTEGER,
			multicastVlanReplaceCVID
				INTEGER,
            multicastVlanRowStatus
                RowStatus
        }
        
    multicastVlanid OBJECT-TYPE
        SYNTAX  INTEGER (2..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN ID of the IGMP/MLD snooping  
             multicast VLAN entry."
        ::= { multicastVlanEntry 1 }
        
    multicastVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN name of the IGMP/MLD snooping
             multicast VLAN entry."
        ::= { multicastVlanEntry 2 }   
            
    multicastVlanSourcePort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the source ports of the  
             IGMP/MLD snooping multicast VLAN. The source ports will be set as 
             tag ports of the VLAN entry and the IGMP control messages received 
             from themember ports will be forwarded to the source ports."
        ::= { multicastVlanEntry 3 }   

    multicastVlanMemberPort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the member ports of the 
             IGMP/MLD snooping multicast VLAN. The source ports will be set as
             untagged ports of the VLAN entry and the IGMP control messages 
             received from themember ports will be forwarded to the source ports."
        ::= { multicastVlanEntry 4 }      
        
    multicastVlanTagMemberPort 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/MLD snooping multicast VLAN."
        ::= { multicastVlanEntry 5 }

    multicastVlanUntaggedSourcePort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the untag source ports of the 
             IGMP/MLD snooping multicast VLAN."
        ::= { multicastVlanEntry 6 }
        	
    multicastVlanState 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/MLD snooping 
             multicast VLAN."
        ::= { multicastVlanEntry 7 }
            
    multicastVlanIgmpReplaceSourceIp OBJECT-TYPE
    	SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement source IP of this IGMP snooping multicast VLAN."
        ::= { multicastVlanEntry 8 }

    multicastVlanMldReplaceSourceIp OBJECT-TYPE
    	SYNTAX  Ipv6Address
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement source IP of this MLD snooping multicast VLAN."
        ::= { multicastVlanEntry 9 }

    multicastVlanRemapPriority OBJECT-TYPE
    	SYNTAX  INTEGER (-1..7)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The remap priority of this multicast VLAN."
		DEFVAL  { -1 }
        ::= { multicastVlanEntry 10 }
        
    multicastVlanReplacePriority OBJECT-TYPE
    	SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                   }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement priority of this multicast VLAN."
		DEFVAL  { disabled }
        ::= { multicastVlanEntry 11 }

    multicastVlanSrcPortDymLearn OBJECT-TYPE
    	SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                   }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The source port dynamical learn of this multicast VLAN."
		DEFVAL  { disabled }
        ::= { multicastVlanEntry 12 }

    multicastVlanReplaceCVID OBJECT-TYPE
    	SYNTAX  INTEGER (-1..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement cvid of this multicast VLAN."
		DEFVAL  { -1 }
        ::= { multicastVlanEntry 13 }

    multicastVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { multicastVlanEntry 14 }         

    -- -----------------------------------------------------------------------------
    --  igmpMulticastVlanGroupTable	
    -- -----------------------------------------------------------------------------   
    multicastVlanGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF MulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table containing the IGMP/MLD snooping multicast VLAN group information"
        ::= { companyISMVLAN 5 }

    multicastVlanGroupEntry OBJECT-TYPE
        SYNTAX  MulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry of multicastVlanGroupTable."
        INDEX  { multicastVlanGroupVid, multicastVlanGroupIpType, multicastVlanGroupFromIp, multicastVlanGroupToIp }
        ::= { multicastVlanGroupTable 1 }

    MulticastVlanGroupEntry ::= 
        SEQUENCE {
            multicastVlanGroupVid
                INTEGER,
          	multicastVlanGroupIpType
             		INTEGER,                
            multicastVlanGroupFromIp
                Ipv6Address,
            multicastVlanGroupToIp
                Ipv6Address,                
            multicastVlanGroupStatus
                RowStatus
        }
    
    multicastVlanGroupVid	OBJECT-TYPE
				SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the IGMP/MLD snooping multicast VLAN group."
        ::= { multicastVlanGroupEntry 1 }

    multicastVlanGroupIpType OBJECT-TYPE
        SYNTAX    INTEGER {
               iPv4             (1),
               iPv6	            (2)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Type of specifies the multicast address list for this VLAN."
        ::= { multicastVlanGroupEntry 2 }
    
    multicastVlanGroupFromIp	OBJECT-TYPE
    	SYNTAX      Ipv6Address
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { multicastVlanGroupEntry 3  }
    		
    multicastVlanGroupToIp	OBJECT-TYPE
    	SYNTAX      Ipv6Address
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
       		"Specifies the multicast address list for this VLAN."
    	::= { multicastVlanGroupEntry 4  }
    	
    multicastVlanGroupStatus	OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS read-create
        STATUS   current
        DESCRIPTION
        	"This object indicates the status of this entry."		
        ::= { multicastVlanGroupEntry 5 }          
 
	-- -----------------------------------------------------------------------------
	-- The Guest Vlan Group
	-- -----------------------------------------------------------------------------
	pppoeGlobalState OBJECT-TYPE
	    SYNTAX INTEGER  {
        	 disabled (0),
        	 enabled (1)
        }
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"PPPoE global state"
	    ::= { companyPPPoE 1 }

	pppoePortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PppoePortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control PPPoE features of the device."
        ::= { companyPPPoE 2 }
        
    pppoePortEntry OBJECT-TYPE
        SYNTAX PppoePortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in PPPoE table for each interface 
 	        in the system."    
 	    INDEX {pppoePortIndex}
        ::= { pppoePortTable 1 }
  
    PppoePortEntry ::= 
        SEQUENCE {  
           pppoePortIndex
              Integer32,
           pppoePortState
              INTEGER, 
           pppoePortCircuitIDType 
              INTEGER,
           pppoePortUDFString 
              DisplayString,
           pppoePortCircuitIDVendor3String
              DisplayString,
           pppoePortRemoteIDType
              INTEGER,
           pppoePortRemoteIDVendor3String
              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  {
        	 disabled (0),
        	 enabled (1)
        }
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"PPPoE per port state"
	    ::= { pppoePortEntry 2 } 
	    
	pppoePortCircuitIDType OBJECT-TYPE
	    SYNTAX INTEGER  {
        	 ip (0),
        	 mac (1),
        	 udf (2),
             vendor2 (3),
             vendor3 (4),
             vendor5 (5)
        }
        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 }    
	    
    pppoePortCircuitIDVendor3String OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"PPPoE per port circuit ID vendor3 string"
	    ::= { pppoePortEntry 5 }    
	    
	pppoePortRemoteIDType OBJECT-TYPE
	    SYNTAX INTEGER  {
        	 default (0),
        	 vendor2 (1),
        	 vendor3 (2)
        }
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"PPPoE per port remote ID type"
	    ::= { pppoePortEntry 6 }
     
    pppoePortRemoteIDVendor3String OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
		"PPPoE per port remote ID vendor3 string"
	    ::= { pppoePortEntry 7 }    
	    
        -- ----------------------------------------------------------------
        -- The RMON group
        -- ----------------------------------------------------------------
      rmonGlobalState 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 }

     rmonStatistics        OBJECT IDENTIFIER ::= { companyRMON 2 }
     rmonHistory           OBJECT IDENTIFIER ::= { companyRMON 3 }
     rmonAlarm             OBJECT IDENTIFIER ::= { companyRMON 4 }
     rmonEvent             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."
     ::= { rmonStatistics 1 }

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

 RmonStatsEntry ::= SEQUENCE {
     rmonStatsIndex                    Integer32,
     rmonStatsDataSource               OBJECT IDENTIFIER,
     rmonStatsOwner                    OwnerString,
     rmonStatsStatus                   RmonStatus
 }

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

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

 -- 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."
     ::= { rmonHistory 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-create
     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..65535)
     MAX-ACCESS read-create
     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-create
     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-create
     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-create
     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."
     ::= { rmonAlarm 1 }

 rmonAlarmEntry OBJECT-TYPE
     SYNTAX     RmonAlarmEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A list of parameters that set up a periodic checking
         for alarm conditions.  For example, an instance of the
         alarmValue object might be named alarmValue.8"
     INDEX { rmonAlarmIndex }
     ::= { rmonAlarmTable 1 }

 RmonAlarmEntry ::= SEQUENCE {
     rmonAlarmIndex                    Integer32,
     rmonAlarmInterval                 Integer32,
     rmonAlarmVariable                 OBJECT IDENTIFIER,
     rmonAlarmSampleType               INTEGER,
     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-create
     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-create
     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-create
     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-create
     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-create
     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-create
     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-create
     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-create
     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-create
     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."
     ::= { rmonEvent 1 }

 rmonEventEntry OBJECT-TYPE
     SYNTAX     RmonEventEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A set of parameters that describe an event to be generated
         when certain conditions are met.  As an example, an instance
         of the eventLastTimeSent object might be named
         eventLastTimeSent.6"
     INDEX { rmonEventIndex }
     ::= { rmonEventTable 1 }

 RmonEventEntry ::= SEQUENCE {
     rmonEventIndex          Integer32,
     rmonEventDescription    DisplayString,
     rmonEventType           INTEGER,
     rmonEventCommunity      OCTET STRING,
     rmonEventOwner          OwnerString,
     rmonEventStatus         RmonStatus
 }

 rmonEventIndex OBJECT-TYPE
     SYNTAX     Integer32 (1..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An index that uniquely identifies an entry in the
         event table.  Each such entry defines one event that
         is to be generated when the appropriate conditions
         occur."
     ::= { rmonEventEntry 1 }

 rmonEventDescription OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..127))
     MAX-ACCESS read-create
     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-create
     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     OCTET STRING (SIZE (0..127))
     MAX-ACCESS read-create
     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-create
     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-create
     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 }
                  

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

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

        neighborEntry OBJECT-TYPE
            SYNTAX NeighborEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Neighbor cache entry containing the ifindex and ipv6 addr."
            INDEX { neighborIfindex, neighborIPv6Addr, neighborMACAddr}
            ::= { neighborTable 1 }

        NeighborEntry ::= SEQUENCE {
            neighborIfindex         INTEGER,
            neighborIPv6Addr        Ipv6Address,
            neighborMACAddr         MacAddress,
            neighborType            INTEGER,
            neighborCacheState      INTEGER,
            neighborActiveStatus    INTEGER,
            neighborRowStatus       RowStatus
        }

         neighborIfindex OBJECT-TYPE
           SYNTAX  INTEGER (1..255)
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The interface index of the Neighbor entry.
               Must be conform to the existing interface name."
           ::= { neighborEntry 1 }

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

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

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

         neighborCacheState 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."
           ::= { neighborEntry 5 }

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

         neighborRowStatus 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, createAndGo, destroy) are available."
            ::= { neighborEntry 7 }


        dhcpv6RelayControl                   OBJECT IDENTIFIER ::= { companyDHCPv6Relay 1 }
        dhcpv6RelayManagement                OBJECT IDENTIFIER ::= { companyDHCPv6Relay 2 }
        dhcpv6RelayOption37                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 3 }
        dhcpv6RelayOption38                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 4 }
        dhcpv6RelayOption18                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 5 }
        -- ----------------------------------------------------------
		-- 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."
            ::= { dhcpv6RelayControl 1 }

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

            dhcpv6RelayEnablePortlist OBJECT-TYPE 
               SYNTAX      PortList
               MAX-ACCESS  read-write 
             STATUS      current 
             DESCRIPTION 
                 "This object indicates DHCPv6 relay function is enabled or disabled by portlist."
             ::= { dhcpv6RelayControl 3 }

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

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

            dhcpv6RelayInterfaceSettingsEntry OBJECT-TYPE
                SYNTAX  DHCPv6RelayInterfaceSettings
                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  { dhcpv6RelayInterface,  dhcpv6RelayServerIP}
            ::= { dhcpv6RelayInterfaceSettingsTable 1 }

            DHCPv6RelayInterfaceSettings ::=
                SEQUENCE {
                    dhcpv6RelayInterface
                        DisplayString,
                    dhcpv6RelayServerIP
                        Ipv6Address,
                    dhcpv6RelayInterfaceSettingsRowStatus
                        RowStatus
                }
            dhcpv6RelayInterface OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..12))
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object indicates the maximum number of router hops that the DHCPv6 packets can cross."
            ::= { dhcpv6RelayInterfaceSettingsEntry 1 }
            
            dhcpv6RelayServerIP OBJECT-TYPE
                SYNTAX Ipv6Address
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                    "This object indicates the DHCP server IP address."
            ::= { dhcpv6RelayInterfaceSettingsEntry 2 }

            dhcpv6RelayInterfaceSettingsRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS  current
                DESCRIPTION
                    "This object indicates the status of this entry."
            ::= { dhcpv6RelayInterfaceSettingsEntry 99 }


		-- The DHCPv6 Relay Option37

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

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

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

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

    dhcpv6RelayOpt38Table     OBJECT-TYPE
        SYNTAX SEQUENCE OF Dhcpv6RelayOpt38Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control port security features of the device."
        ::= { dhcpv6RelayOption38 1 }
        
    dhcpv6RelayOpt38Entry OBJECT-TYPE
        SYNTAX Dhcpv6RelayOpt38Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in port security table for each interface 
 	        in the system."
        INDEX { dhcpv6RelayOpt38PortIndex }
        ::= { dhcpv6RelayOpt38Table 1 }
  
    Dhcpv6RelayOpt38Entry ::= 
           SEQUENCE { 
              dhcpv6RelayOpt38PortIndex 
                 Integer32, 
              dhcpv6RelayOpt38PortState 
                 INTEGER, 
              dhcpv6RelayOpt38PortType 
                 INTEGER, 
              dhcpv6RelayOpt38PortID 
                 DisplayString             
          }
        
               
         dhcpv6RelayOpt38PortIndex OBJECT-TYPE 
           SYNTAX      Integer32 (1..28)
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies.
              For all machines give maximum port number."
           ::= { dhcpv6RelayOpt38Entry 1 }
            
        
         dhcpv6RelayOpt38PortState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Enable / disable option 38 port state."
        
           ::= { dhcpv6RelayOpt38Entry 2 }
        
        
        dhcpv6RelayOpt38PortType OBJECT-TYPE 
           SYNTAX INTEGER  {
        		  default (0), user-defined (1)
            }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configure option 38 port Type."
        
           ::= {dhcpv6RelayOpt38Entry 3}

        dhcpv6RelayOpt38PortID OBJECT-TYPE 
           SYNTAX      DisplayString
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configure option 38 port ID. Only works when type is user-defined"
        
           ::= {dhcpv6RelayOpt38Entry 4}
           
		-- The DHCPv6 Relay Option18

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

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

	        dhcpv6RelayOption18InterfaceIDType OBJECT-TYPE
                SYNTAX  INTEGER {
                    default(0),
                    cid(1),
                    vendor1(2)
                }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object indicates the type of Interface ID."
            ::= { dhcpv6RelayOption18 3 }
           
    -- -----------------------------------------------------------------
    -- 1. MAC-based Access Control Settings
    -- -----------------------------------------------------------------
    macBasedCtrlGroup   OBJECT IDENTIFIER ::= { companyMacAuthGroup 1 }
    --------------------------------------------

    macBasedCtrlState   OBJECT-TYPE
        SYNTAX          INTEGER {
                            enabled(1),
                            disabled(2)
                            }
        MAX-ACCESS 	    read-write
        STATUS          current
        DESCRIPTION
        "Enable/Disable MAC-based Access Control Global Settings."
        ::= { macBasedCtrlGroup 1 }

    macBasedMethod      OBJECT-TYPE 
        SYNTAX          INTEGER {
                          radius(1),
                          local(2)
                       }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
        "Select MAC-based Access Control Methods."
        DEFVAL  { radius }
        ::= { macBasedCtrlGroup 2 }

    macBasedRadiusPassword      OBJECT-TYPE
        SYNTAX                  DisplayString (SIZE(1..32))
        MAX-ACCESS              read-write
        STATUS                  current
        DESCRIPTION
        "Set the password about the method Mac-Based Authentication, 
         the maximum length are 32 chars."
        ::=  { macBasedCtrlGroup 3 }

    macBasedRadiusAuthStatus    OBJECT-TYPE
        SYNTAX                  INTEGER   {
                                    enable(1),    
                                    disable(2)
                                }
        MAX-ACCESS              read-write
        STATUS                  current
        DESCRIPTION
        "The state of Radius Authorization. "
        ::= { macBasedCtrlGroup 4 }

    macBasedLocalAuthStatus    OBJECT-TYPE
        SYNTAX                 INTEGER   {
                                  enable(1),    
                                  disable(2)
                               }
        MAX-ACCESS             read-write
        STATUS                 current
        DESCRIPTION
        "The state of Local Authorization. "
        ::= { macBasedCtrlGroup 5 }

    macBasedTrapStatus    OBJECT-TYPE
        SYNTAX            INTEGER   {
                            enable(1),    
                            disable(2)
                          }
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION
        "The state of Trap of MAC-based Authorization."
        ::= { macBasedCtrlGroup 6 }

    macBasedLogStatus    OBJECT-TYPE
        SYNTAX           INTEGER   {
                              enable(1),    
                              disable(2)
                         }
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
        ""
        ::= { macBasedCtrlGroup 7 }

    macBasedMaxUsr    OBJECT-TYPE
        SYNTAX        Integer32 (1..1000)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
        ""  
        DEFVAL  { 128 }
        ::= { macBasedCtrlGroup 8 }

    macBasedPortCtrlTable   OBJECT-TYPE 
        SYNTAX              SEQUENCE OF MacBasedPortCtrlEntry
        MAX-ACCESS          not-accessible 
        STATUS              current 
        DESCRIPTION 
        ""
           ::= { macBasedCtrlGroup 11 }
        
    macBasedPortCtrlEntry   OBJECT-TYPE 
           SYNTAX           MacBasedPortCtrlEntry
           MAX-ACCESS       not-accessible 
           STATUS           current 
           DESCRIPTION 
           ""
           INDEX { macBasedPortCtrlIndex }
           ::= { macBasedPortCtrlTable 1 }

    MacBasedPortCtrlEntry ::= 
           SEQUENCE { 
              macBasedPortCtrlIndex          Integer32, 
              macBasedPortCtrlState          INTEGER, 
              macBasedPortCtrlAgingTime      Integer32,
              macBasedPortCtrlBlockTime      Integer32
          }

    macBasedPortCtrlIndex   OBJECT-TYPE 
        SYNTAX              Integer32 (1..65535)
        MAX-ACCESS          read-only 
        STATUS              current 
        DESCRIPTION 
        ""
        ::= { macBasedPortCtrlEntry 1 }

    macBasedPortCtrlState   OBJECT-TYPE
        SYNTAX              INTEGER   {
                                enable(1),    
                                disable(2)
                            }
        MAX-ACCESS          read-create
        STATUS              current
        DESCRIPTION
        ""
        ::= { macBasedPortCtrlEntry 2 }

    macBasedPortCtrlAgingTime   OBJECT-TYPE
        SYNTAX                  Integer32 (1..1440)
        MAX-ACCESS              read-write
        STATUS                  current
        DESCRIPTION
        ""  
        ::= { macBasedPortCtrlEntry 3 }

    macBasedPortCtrlBlockTime   OBJECT-TYPE
        SYNTAX                  Integer32 (0..300)
        MAX-ACCESS              read-write
        STATUS                  current
        DESCRIPTION
        ""  
        ::= { macBasedPortCtrlEntry 4 }

    -- -----------------------------------------------------------------
    -- 2. MAC-based Access Control Local Settings 
    -- -----------------------------------------------------------------
    macBasedCtrlLocalGroup   OBJECT IDENTIFIER ::= { companyMacAuthGroup 2 }
    --------------------------------------------
 
    macBasedCtrlLocalTable      OBJECT-TYPE 
        SYNTAX                  SEQUENCE OF MacBasedCtrlLocalEntry
        MAX-ACCESS              not-accessible 
        STATUS                  current 
        DESCRIPTION 
        ""
           ::= { macBasedCtrlLocalGroup 1 }
        
    macBasedCtrlLocalEntry      OBJECT-TYPE 
           SYNTAX               MacBasedCtrlLocalEntry
           MAX-ACCESS           not-accessible 
           STATUS               current 
           DESCRIPTION 
           ""
           INDEX { macBasedCtrlLocalMacAddress, macBasedCtrlLocalVID }
           ::= { macBasedCtrlLocalTable 1 }

    MacBasedCtrlLocalEntry ::= 
           SEQUENCE { 
              macBasedCtrlLocalMacAddress    MacAddress, 
              macBasedCtrlLocalVID           INTEGER, 
              macBasedCtrlLocalVlanName      SnmpAdminString,
              macBasedCtrlLocalRowStatus     RowStatus 
           }

    macBasedCtrlLocalMacAddress     OBJECT-TYPE
        SYNTAX                      MacAddress
        MAX-ACCESS                  read-only
        STATUS                      current
        DESCRIPTION
        "The MacAddress of the MAC-based Access Control Local Setting Table."
        ::= { macBasedCtrlLocalEntry 1 }

    macBasedCtrlLocalVID        OBJECT-TYPE
        SYNTAX                  INTEGER (1..4094)
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
        "The VLAN ID of the MAC-based Access Control Local Setting entry."
        ::= { macBasedCtrlLocalEntry 2 }

    macBasedCtrlLocalVlanName       OBJECT-TYPE
        SYNTAX                      SnmpAdminString (SIZE (0..20))
        MAX-ACCESS                  read-only
        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"
        ::= { macBasedCtrlLocalEntry 3 }

    macBasedCtrlLocalRowStatus    OBJECT-TYPE
        SYNTAX                    RowStatus
        MAX-ACCESS                read-write
        STATUS                    current
        DESCRIPTION
        "The  Row status of an entry in the MAC-based Access Control Local Setting Table.
         Only a subset of the rowstatus variables (active, createAndGo, destroy) are available"
        ::= { macBasedCtrlLocalEntry 4 }
   
    -- -----------------------------------------------------------------
    -- 3. MAC-based Access Control Authentication State 
    -- -----------------------------------------------------------------
    macBasedCtrlAuthGroup   OBJECT IDENTIFIER ::= { companyMacAuthGroup 3 }
    --------------------------------------------

    macBasedCtrlAuthTable   OBJECT-TYPE 
        SYNTAX              SEQUENCE OF MacBasedCtrlAuthEntry
        MAX-ACCESS          not-accessible 
        STATUS              current 
        DESCRIPTION 
        ""
           ::= { macBasedCtrlAuthGroup 1 }
        
    macBasedCtrlAuthEntry   OBJECT-TYPE 
           SYNTAX           MacBasedCtrlAuthEntry
           MAX-ACCESS       not-accessible 
           STATUS           current 
           DESCRIPTION 
           ""
           INDEX { macBasedCtrlAuthPort, macBasedCtrlAuthMacAddress, macBasedCtrlAuthRxVID }
           ::= { macBasedCtrlAuthTable 1 }

    MacBasedCtrlAuthEntry ::= 
           SEQUENCE {
              macBasedCtrlAuthPort          Integer32,
              macBasedCtrlAuthMacAddress    MacAddress,
              macBasedCtrlAuthRxVID         INTEGER,
              macBasedCtrlAuthState         INTEGER,
              macBasedCtrlAuthVID           INTEGER,
              macBasedCtrlAuthPriority      INTEGER,
              macBasedCtrlAuthAgingTime     INTEGER,
              macBasedCtrlAuthBlockTime     INTEGER
           }

    macBasedCtrlAuthPort        OBJECT-TYPE 
        SYNTAX                  Integer32 (1..28)
        MAX-ACCESS                  read-only
        STATUS                      current
        DESCRIPTION
        "For all machines give maximum port number."
        ::= { macBasedCtrlAuthEntry 1 }

    macBasedCtrlAuthMacAddress      OBJECT-TYPE
        SYNTAX                      MacAddress
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
        "The MacAddress of the MAC-based Access Control Authentication State Table."
        ::= { macBasedCtrlAuthEntry 2 }

    macBasedCtrlAuthRxVID       OBJECT-TYPE
        SYNTAX                  INTEGER (1..4094)
        MAX-ACCESS              read-only 
        STATUS                  current 
        DESCRIPTION 
        ""
        ::= { macBasedCtrlAuthEntry 3 }

    macBasedCtrlAuthState   OBJECT-TYPE
        SYNTAX              INTEGER {
                                authenticating(1), 
                                authenticated(2), 
                                blocked(3) 
                            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        ""
        ::= { macBasedCtrlAuthEntry 4 }

    macBasedCtrlAuthVID     OBJECT-TYPE
        SYNTAX              INTEGER
        MAX-ACCESS          read-only
        STATUS              current
        DESCRIPTION
        ""
        ::= { macBasedCtrlAuthEntry 5 }

    macBasedCtrlAuthPriority    OBJECT-TYPE
        SYNTAX                  INTEGER
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
        ""
        ::= { macBasedCtrlAuthEntry 6 }

    macBasedCtrlAuthAgingTime   OBJECT-TYPE
        SYNTAX                  INTEGER
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
        ""
        ::= { macBasedCtrlAuthEntry 7 }

    macBasedCtrlAuthBlockTime   OBJECT-TYPE
        SYNTAX                  INTEGER
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
        ""
        ::= { macBasedCtrlAuthEntry 8 }

     
	-- ----------------------------------------------------------------------------
	-- The Vlan Mac Map Table
	-- ---------------------------------------------------------------------------- 
	 
	macBasedVlanTable OBJECT-TYPE 
	   SYNTAX      SEQUENCE OF MacBasedVlanEntry 
	   MAX-ACCESS  not-accessible 
	   STATUS      current 
	   DESCRIPTION 
	      "A table that contains information on Vlan-MAC address 
	      mapping." 
	   ::= { companyMacBasedVlan 1 } 
	 
	macBasedVlanEntry OBJECT-TYPE
	   SYNTAX      MacBasedVlanEntry
	   MAX-ACCESS  not-accessible 
	   STATUS      current 
	   DESCRIPTION 
	      "Entry that contains Vlan-MAC address mapping." 
	   INDEX { vlanMacMapIndex }
	   ::= { macBasedVlanTable 1 }
	    
        MacBasedVlanEntry ::=
            SEQUENCE {
                vlanMacMapIndex
                    Integer32,            
                vlanMacMapAddr
                    MacAddress,          
                vlanMacMapAddrMask
                    MacAddress,
                vlanMacMapVid
                    VlanIndex,
                vlanMacStatus
                    DisplayString,
                vlanMacType
                    DisplayString,
                vlanMacMapRowStatus
                    RowStatus
            }

	vlanMacMapIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..128) 
       MAX-ACCESS  read-only 
       STATUS      current 
       DESCRIPTION 
        "Index of cmMacBasedVlanEntry. This object indicates the mac vlan entry for which 
        the configurations in cmMacBasedVlanEntry is to be done." 
   	   ::= { macBasedVlanEntry 1 }	

	vlanMacMapAddr OBJECT-TYPE
	   SYNTAX      MacAddress  
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
	      "The Mac address for which the Vlan mapping is present in the entry." 
	      
	   ::= { macBasedVlanEntry 2 }
	vlanMacMapAddrMask OBJECT-TYPE
	   SYNTAX      MacAddress  
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
	      "The Mac address for which the Vlan mapping is present in the entry." 
	   ::= { macBasedVlanEntry 3 }
	 
	vlanMacMapVid OBJECT-TYPE
	   SYNTAX      VlanIndex 
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
	      "The Vlan to which the mac address of this entry is mapped to." 
	   ::= { macBasedVlanEntry 4 }
	 
	vlanMacStatus OBJECT-TYPE
	   SYNTAX      DisplayString 
	   MAX-ACCESS  read-only
	   STATUS      current 
	   DESCRIPTION 
	      "The status given to the mac-vlan entry." 
	   ::= { macBasedVlanEntry 5 }
	   
	vlanMacType OBJECT-TYPE
	   SYNTAX      DisplayString 
	   MAX-ACCESS  read-only
	   STATUS      current 
	   DESCRIPTION 
	      "The type given to the mac-vlan entry." 
	   ::= { macBasedVlanEntry 6 }

	 
	vlanMacMapRowStatus OBJECT-TYPE
	   SYNTAX      RowStatus 
	   MAX-ACCESS  read-write 
	   STATUS      current 
	   DESCRIPTION 
	      "The row status of the entry."  
	   ::= { macBasedVlanEntry 99 }
    
	macBasedVlanMethod OBJECT-TYPE 
       SYNTAX      INTEGER {
                    single(1),
                    range(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
	   DESCRIPTION 
	      "A method of Vlan-MAC address mapping." 
	   ::= { companyMacBasedVlan 2 } 


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

            sfpVendorInfoEntry OBJECT-TYPE
                SYNTAX  SfpVendorInfoEntry
                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  { sfpPortIndex }
            ::= { sfpVendorInfoTable 1 }

            SfpVendorInfoEntry ::= 
                   SEQUENCE { 
                      sfpPortIndex 
                         Integer32, 
                      sfpConnectorType 
                         DisplayString, 
                      sfpTranceiverCode
                         DisplayString, 
                      sfpBaudRate
                         DisplayString, 
                      sfpVendorName
                         DisplayString, 
                      sfpVendorOui
                         DisplayString, 
                      sfpVendorPn
                         DisplayString, 
                      sfpVendorRev
                         DisplayString, 
                      sfpWavelength
                         DisplayString, 
                      sfpVendorSn
                         DisplayString, 
                      sfpDateCode
                         DisplayString
                  }
            

                 sfpPortIndex     OBJECT-TYPE 
                   SYNTAX      Integer32 (1..28)
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      "The available of index for fiber ports."
                   ::= { sfpVendorInfoEntry 1 }

                sfpConnectorType OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 2}

                sfpTranceiverCode OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 3}

                sfpBaudRate OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 4}

                sfpVendorName OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 5}

                sfpVendorOui OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 6}

                sfpVendorPn OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 7}

                sfpVendorRev OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 8}

                sfpWavelength OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 9}

                sfpVendorSn OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 10}

                sfpDateCode OBJECT-TYPE 
                   SYNTAX      DisplayString
                   MAX-ACCESS  read-only 
                   STATUS      current 
                   DESCRIPTION 
                      ""
                   ::= {sfpVendorInfoEntry 11}


-- --------------------------------------------------------------------------
    ddmCtrl	            OBJECT IDENTIFIER ::={companyDDM 1}
    ddmInfo	            OBJECT IDENTIFIER ::={companyDDM 2}
-- --------------------------------------------------------------------------
--  DdmCtrl
-- --------------------------------------------------------------------------

    ddmPowerUnit    OBJECT-TYPE
        SYNTAX  INTEGER {
                         mw(0),
                         dbm(1)
                        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the TX/RX power global unit."
        DEFVAL{mw}
            ::= {ddmCtrl 1}
        		
--ddmActionMgmt
 
    ddmActionMgmtTable	OBJECT-TYPE
    		SYNTAX  SEQUENCE OF DdmActionMgmtEntry
    		MAX-ACCESS  not-accessible
        STATUS  obsolete
        DESCRIPTION
                "This table contains the configuration of the action taken 
                when any parameter exceeds its threshold."
            ::= {ddmCtrl 2}
          
    ddmActionMgmtEntry	OBJECT-TYPE
    		SYNTAX	DdmActionMgmtEntry
    		MAX-ACCESS  not-accessible
        STATUS  obsolete
        DESCRIPTION
          "This is an entry of the swDdmConfigActionTable."
        INDEX  {ddmActionPort }
          ::= {ddmActionMgmtTable 1}
    
    DdmActionMgmtEntry ::=
        SEQUENCE {
              ddmActionPort
                    INTEGER,
              ddmActionState
                    INTEGER,
              ddmActionShutdown
                    INTEGER
                 }  
                 
    ddmActionPort	OBJECT-TYPE
    		SYNTAX  INTEGER (1..28)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port.
            The available of index for fiber ports."
            ::= {ddmActionMgmtEntry 1}	
    
    
    ddmActionState OBJECT-TYPE
    		SYNTAX  INTEGER {
    					disable(0),
    					enable(1)
    					}
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "This object indicates the action type."
            ::= {ddmActionMgmtEntry 2} 
    
    ddmActionShutdown OBJECT-TYPE
    		SYNTAX  INTEGER {
    		            none(0),
    					alarm(1),
    					warning(2)
    					}
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "This object indicates the action type."
            ::= {ddmActionMgmtEntry 3} 
  

--ddmThresholdMgmt

    ddmThresholdMgmtTable	OBJECT-TYPE
    		SYNTAX  SEQUENCE OF DdmThresholdMgmtEntry
    		MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "This table contains DDM temperature configuration information."
            ::= {ddmCtrl 3}
            
    ddmThresholdMgmtEntry OBJECT-TYPE
    		SYNTAX  DdmThresholdMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
          "This is an entry of the swDdmConfigThresholdTable."
        INDEX  {ddmThresholdPort ,ddmThresholdType}
          ::= {ddmThresholdMgmtTable 1}
    
    DdmThresholdMgmtEntry	::=
        SEQUENCE {
                  ddmThresholdPort
                      INTEGER,
                  ddmThresholdType
                      INTEGER,
                  ddmHighAlarm
                      DisplayString,
                  ddmLowAlarm
                      DisplayString,
                  ddmHighWarning
                      DisplayString,
                  ddmLowWarning
                      DisplayString
                  }
            
    ddmThresholdPort	OBJECT-TYPE
    		SYNTAX  INTEGER (1..28)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port.
            The available of index for fiber ports."
            ::= {ddmThresholdMgmtEntry 1}	
    
    ddmThresholdType	OBJECT-TYPE
    		SYNTAX	INTEGER{
                     	temperature(0),
                    	voltage(1),
                    	bias(2),
                    	txPower(3),
                    	rxPower(4)
                  }  
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the threshold type."
            ::= {ddmThresholdMgmtEntry 2}  
            
    ddmHighAlarm	OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the high alarm threshold value to be configured. As the 
            value is a floating point data type, the DisplayString type is used to define this parameter."
            ::= {ddmThresholdMgmtEntry 3}  
            
    ddmLowAlarm 	OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the low alarm threshold value to be configured. As the
             value is a floating data type, the DisplayString type is used to define this parameter."
            ::= {ddmThresholdMgmtEntry 4}  
                             
    ddmHighWarning	OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the high warning threshold value to be configured. As 
            the value is a floating data type, the DisplayString type is used to define this parameter."
            ::= {ddmThresholdMgmtEntry 5} 
            
    ddmLowWarning  OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the low warning threshold value to be configured. As 
            the value is a floating data type, the DisplayString type is used to define this parameter."
            ::= {ddmThresholdMgmtEntry 6}     



-- --------------------------------------------------------------------------
-- DdmInfo
-- --------------------------------------------------------------------------
    ddmStatus  OBJECT IDENTIFIER ::= { ddmInfo 1 }

--DdmStatus
    ddmStatusTable	OBJECT-TYPE
    		SYNTAX	SEQUENCE OF DdmStatusEntry
    		MAX-ACCESS  not-accessible
    		STATUS  current
        DESCRIPTION
                "This table contains the DDM status information."
            ::= {ddmStatus 1}
            
    ddmStatusEntry OBJECT-TYPE
    		SYNTAX	DdmStatusEntry
    		MAX-ACCESS  not-accessible
    		STATUS	current
    		DESCRIPTION
    				"This is an entry of the ddmStatusTable."
    		INDEX  {ddmStatusPort}
    				::= {ddmStatusTable 1}
    
    DdmStatusEntry ::=
    		SEQUENCE {
    				ddmStatusPort
                    INTEGER,
    				ddmTemperature
    							DisplayString,
    				ddmVoltage
    							DisplayString,
    				ddmBiasCurrent
    							DisplayString,
    				ddmTxPower
    							DisplayString,
    				ddmRxPower
    							DisplayString
    				}

    ddmStatusPort	OBJECT-TYPE
    		SYNTAX  INTEGER (1..28)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port.
            The available of index for fiber ports."
            ::= {ddmStatusEntry 1}	
            				 
    ddmTemperature OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the real time value of the temperature. As the value 
             is a floating point data type, the DisplayString type is used to define this parameter."
            ::= {ddmStatusEntry 2}  
            
    ddmVoltage OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the real time value of the supply voltage. As the value 
             value is a floating point data type, the DisplayString type is used to define this parameter."
            ::= {ddmStatusEntry 3} 
            
    ddmBiasCurrent OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the real time value of the tx bias."
            ::= {ddmStatusEntry 4} 
            
    ddmTxPower OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the real time value of the tx power. As the value 
             is a floating point data type, the DisplayString type is used to define this parameter."
            ::= {ddmStatusEntry 5} 
            
    ddmRxPower OBJECT-TYPE
    		SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the real time value of the rx power. As the value is 
            a floating data type, the DisplayString type is used to define this parameter."
            ::= {ddmStatusEntry 6} 
      


        -- -------------------------------------------------------------------------
        -- companyFTPGroup         
        -- -------------------------------------------------------------------------
          ftpFwTable       OBJECT IDENTIFIER ::= { companyFTPGroup 1 }
          ftpConfigTable       OBJECT IDENTIFIER ::= { companyFTPGroup 2 }

        ftpFwServerIpAddress OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
              STATUS obsolete
              DESCRIPTION
              "The FTP server's IPv4 address or IPv6 address is used to upload or
  		        download firmware."
              ::= { ftpFwTable 1}
                          
        ftpFwImageFileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
              "Firmware file name used to upload or download firmware."
             ::= { ftpFwTable 2 }

        ftpFwUsername OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..20))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
              "FTP username to login FTP."
             ::= { ftpFwTable 3}
  
          ftpFwPassword OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..20))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
             "FTP password to login FTP."
             ::= { ftpFwTable 4 }
   
           ftpFwPath OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
             "FTP path can find file folder."
             ::= { ftpFwTable 5}            
   
             ftpFwPort OBJECT-TYPE
             SYNTAX  Integer32 (1..65535) 
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
             "FTP port to login FTP."
             ::= { ftpFwTable 6}
             
           ftpFwImageID OBJECT-TYPE
             SYNTAX INTEGER {
                    imageID1(1),
                    imageID2(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
             "Select image id for upload the FW."
             ::= { ftpFwTable 7 }
             
 
        ftpFwFTPOperation OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    download(1),
                    upload(2)
             }
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
              "The FTP operates to perform downloading the firmware image
              to the unit. This object is used in conjunction with FTP settings"
             ::= { ftpFwTable 8 }

        ftpFwFTPOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3),
                    transmit(4)
             }
             MAX-ACCESS read-only
             STATUS obsolete
             DESCRIPTION
            "The FTP operation status represent firmware backup or upgrade status."
             ::= { ftpFwTable 9 }
           ftpFwBootUp OBJECT-TYPE
             SYNTAX INTEGER {
                    true(1),
                    false(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
             "If true using download image to bootup."
             ::= { ftpFwTable 10 }
        ftpConfigServerIpAddress OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
              STATUS obsolete
              DESCRIPTION
              "The FTP server's IPv4 address or IPv6 address is used to upload or
  		        download firmware."
              ::= { ftpConfigTable 1 }
                          
        ftpConfigFileName OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
              "Config file name used to upload or download Config."
             ::= { ftpConfigTable 2}

        ftpConfigUsername OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..20))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
            "FTP username to login FTP."
             ::= { ftpConfigTable 3}
  
          ftpConfigPassword OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..20))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
            "FTP password to login FTP."
             ::= { ftpConfigTable 4}
   
           ftpConfigPath OBJECT-TYPE
             SYNTAX DisplayString (SIZE(1..64))
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
             "FTP path can find file folder."
             ::= { ftpConfigTable 5}            
 
             ftpConfigPort OBJECT-TYPE
             SYNTAX  Integer32 (1..65535) 
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
             "FTP port to login FTP."
             ::= { ftpConfigTable 6}
             
             ftpConfigConfigID OBJECT-TYPE
             SYNTAX INTEGER {
                    configID1(1),
                    configID2(2)
             }
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
             "Config image id can select imageid1 or imageid2 to flash"
             ::= { ftpConfigTable 7 }
 
        ftpConfigFTPOperation OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    download(1),
                    upload(2)
             }
             MAX-ACCESS read-write
             STATUS obsolete
             DESCRIPTION
              "The FTP operates to perform downloading the config image
              to the unit. This object is used in conjunction with FTP settings"
             ::= { ftpConfigTable 8 }

        ftpConfigFTPOperationStatus OBJECT-TYPE
             SYNTAX INTEGER {
                    none(0),
                    success(1),
                    fail(2),
                    progressing(3),
                    transmit(4)
             }
             MAX-ACCESS read-only
             STATUS obsolete
             DESCRIPTION
             "The FTP operation status represent config backup or upgrade status."
             ::= { ftpConfigTable 9}
	

        erpsState OBJECT-TYPE
         SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
             "This object indicates the status of the ERPS state."
        ::= { companyERPSGroup 1 }

        erpsLog OBJECT-TYPE
         SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
             "This object indicates the status of the ERPS log."
        ::= { companyERPSGroup 2 }

        erpsTrap OBJECT-TYPE
         SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
             "This object indicates the status of the ERPS trap."
        ::= { companyERPSGroup 3 }

        erpsInfoTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ErpsInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the ERPS configuration information."
        ::= { companyERPSGroup 4 }

         erpsInfoEntry OBJECT-TYPE
           SYNTAX      ErpsInfoEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
            "A list of the ERPS configuration information."
           INDEX { erpsRAPSVLANID}
           ::= { erpsInfoTable 1 }

        ErpsInfoEntry ::= 
        SEQUENCE {
            erpsRAPSVLANID
                INTEGER,
            erpsRingStatus
                INTEGER,
            erpsAdminWestPort
                INTEGER,
            erpsAdminWestPortState
                INTEGER,
            erpsAdminEastPort
                INTEGER,
            erpsAdminEastPortState
                INTEGER,
            erpsAdminRPLPort
                INTEGER,
            erpsRPLOwner
                INTEGER,
            erpsProtectedAddVlanList
                OCTET STRING,
            erpsProtectedDelVlanList
                OCTET STRING,   
            erpsProtectedVlanList1k
                OCTET STRING,
            erpsProtectedVlanList2k
                OCTET STRING,
            erpsProtectedVlanList3k
                OCTET STRING,
            erpsProtectedVlanList4k	
                OCTET STRING,
            erpsRingMEL
                INTEGER,
            erpsHoldoffTime
                INTEGER,
            erpsGuardTime
                INTEGER,
            erpsWTRTime
                INTEGER,
            erpsRevertive
                INTEGER,
            erpsCurrentRingState
                INTEGER,
            erpsRowStatus
                RowStatus
        }
        
           erpsRAPSVLANID OBJECT-TYPE
           SYNTAX INTEGER
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The RAPS VLAN is an index of the configuration."
           ::= { erpsInfoEntry 1 }

           erpsRingStatus OBJECT-TYPE
           SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
                "This indicates the administrative state of the ring."
           ::= { erpsInfoEntry 2 }
 
           erpsAdminWestPort OBJECT-TYPE
           SYNTAX INTEGER {
                          virtual_channle (-1)
           }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates actual running ring west port.
                The value 0 indicates the west port is a virtual channel."
            ::= { erpsInfoEntry 3 }

           erpsAdminWestPortState OBJECT-TYPE
           SYNTAX  INTEGER {
                fowarding(1),
                blocking(2),
                signal-fail(3)
           }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
              "This is the west port state. The state may change occasionally. 
              When the east port is configured on a virtual channel, the east 
              port state is always forwarding."
           ::= { erpsInfoEntry 4 }
        
           erpsAdminEastPort OBJECT-TYPE
           SYNTAX INTEGER {
                          virtual_channle (-1)
           }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates actual running ring east port.
                The value 0 indicates the east port is a virtual channel."
            ::= { erpsInfoEntry 5 }

           erpsAdminEastPortState OBJECT-TYPE
           SYNTAX  INTEGER {
                fowarding(1),
                blocking(2),
                signal-fail(3)
           }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
              "This is the east port state. The state may change occasionally. 
              When the east port is configured on a virtual channel, the east 
              port state is always forwarding."
           ::= { erpsInfoEntry 6 }
           
        erpsAdminRPLPort OBJECT-TYPE
         SYNTAX INTEGER {
                          none (0),
                          west (1),
                          east (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
            "When the port enable state is enabled, the RPL port's current 
            port role is defined by the ERPS application."
        ::= { erpsInfoEntry 7 }

        erpsRPLOwner OBJECT-TYPE
         SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
            "The administrative value of the RPL owner state. 
             The RPL owner is an Ethernet Ring Node adjacent to the RPL that 
             is responsible for blocking its end of the RPL under normal 
             conditions."
        ::= { erpsInfoEntry 8 }
        
        erpsProtectedAddVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "This object is add protect VLAN list"
        ::= { erpsInfoEntry 9}

        erpsProtectedDelVlanList OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..512))
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "This object is delete protect VLAN list"
        ::= { erpsInfoEntry 10}

         erpsProtectedVlanList1k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "A string of octets containing one bit per VLAN. The
                first octet corresponds to VLANs with VlanIndex values
                1 through 8; the second octet to VLANs 9 through
                16 etc.  The most significant bit of each octet
                corresponds to the lowest VlanIndex value in that octet.
 	
                For each VLAN that is mapped to this protected vlan,
                the bit corresponding to that VLAN is set to '1'. "
            ::= { erpsInfoEntry 11}

         erpsProtectedVlanList2k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "A string of octets containing one bit per VLAN for
                VLANS with VlanIndex values 1025 through 2048.
                The most significant bit of each
                octet corresponds to the lowest VlanIndex value in that
                 octet.
 	
                For each VLAN that is mapped to this protected vlan,
                the bit corresponding to that VLAN is set to '1'."
            ::= { erpsInfoEntry 12}

         erpsProtectedVlanList3k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "A string of octets containing one bit per VLAN for
                VLANS with VlanIndex values 2049 through 3072.
                The most significant bit of each
                octet corresponds to the lowest VlanIndex value in that
                octet.
 	
                For each VLAN that is mapped to this  protected vlan,
                the bit corresponding to that VLAN is set to '1'."
            ::= { erpsInfoEntry 13}
 
          erpsProtectedVlanList4k OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (0..128))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "A string of octets containing one bit per VLAN for
                  VLANS with VlanIndex values 3073 through 4094.
                The most significant bit of each
                octet corresponds to the lowest VlanIndex value in that
                  octet.
 	
                For each VLAN that is mapped to this  protected vlan,
                the bit corresponding to that VLAN is set to '1'.
 	
                This object is only instantiated on devices with 
                support for VlanIndex values up to 4094."
            ::= { erpsInfoEntry 14}

           erpsRingMEL OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The ring MEL is the maintenance entity group (MEG) level that 
                provides a communication channel for the ring automatic protection 
                switching (RAPS) information."
            ::= { erpsInfoEntry 15 }

           erpsHoldoffTime OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "In order to coordinate the timing of protection switches at multiple layers."
            ::= { erpsInfoEntry 16 }
            
           erpsGuardTime OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This is used to prevent ring nodes from receiving outdated RAPS messages."
            ::= { erpsInfoEntry 17 }
            
            erpsWTRTime OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "When revertive is enabled, this is used to prevent frequent 
                operation of the protection switch due to an intermittent defect. 
                A failed working transport entity must become stable in a fault-free state."
            ::= { erpsInfoEntry 18 }
            
            erpsRevertive OBJECT-TYPE
            SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                "The object is used to enable or disable the revertive operation of a special 
                ring. When revertive is disabled, the traffic link is allowed to use the RPL, 
                after revovering from a failure. When revertive is enabled, the traffic 
                link is restored to the working transport link."
            ::= { erpsInfoEntry 19 }
           
            erpsCurrentRingState OBJECT-TYPE
             SYNTAX    INTEGER {
                    deactivated   (0),
                    idle          (1),
                    protection    (2),
                    manualswitch  (3),
                    forcedswitch  (4),
                    pending       (5)
            }
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "This indicates the state of the ring."
            ::= { erpsInfoEntry 20 }        
            
            erpsRowStatus OBJECT-TYPE
            SYNTAX     RowStatus
            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
                "This object indicates the RowStatus of this entry."
            ::= { erpsInfoEntry 21}    
            
        erpsSubRingTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ErpsSubRingEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the ERPS sub-ring configuration information."
        ::= { companyERPSGroup 5 }

         erpsSubRingEntry OBJECT-TYPE
           SYNTAX      ErpsSubRingEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "A list of the ERPS sub-ring configuration information."
           INDEX {erpsSubRingRAPSVLANID,  erpsSubRingVlanID}
           ::= { erpsSubRingTable 1 }
           
        ErpsSubRingEntry ::= 
        SEQUENCE {
			erpsSubRingRAPSVLANID
				INTEGER,
            erpsSubRingVlanID
                INTEGER,
			erpsSubRingTCPropagationState
				INTEGER,
            erpsSubRingRowStatus
                RowStatus
	     }
	     
        erpsSubRingRAPSVLANID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "The RAPS VLAN is an index of the configuration."
         ::= { erpsSubRingEntry 1 }

        erpsSubRingVlanID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "This indicates the ring control VLAN-ID of the sub-ring which 
               connects to another ring."
         ::= { erpsSubRingEntry 2}
         
        erpsSubRingTCPropagationState OBJECT-TYPE
         SYNTAX INTEGER {
                           enabled (1),
                           disabled (2)
               }
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
             "This indicates the state of the sub-ring topology change propagation."
        ::= { erpsSubRingEntry 3 }

        erpsSubRingRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
           "This object indicates the status of this entry."
        ::= { erpsSubRingEntry 4 }
            
    powerTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF PowerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "A list of temperature."
        ::= { companyEquipmentGroup 1 }

    powerEntry OBJECT-TYPE
        SYNTAX          PowerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "A entry of Power information."
        INDEX           { powerID }
        ::= { powerTable 1 }

    PowerEntry ::= SEQUENCE {
                powerID	                  INTEGER,
                powerStatus   			  INTEGER
                }

    powerID OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        	"Indicates ID of the power
            1 : main power (internal)
            2 : redundant power (external)"
        ::= { powerEntry 1 }

    powerStatus OBJECT-TYPE
           SYNTAX  INTEGER {
              other(1),
              lowVoltage(2),
              overCurrent(3),
              working(4),
              fail(5),
              connect(6),
              disconnect(7),
              charging(8)
     }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "Indicates status of the power 
            lowVoltage : The voltage of the power unit is too low.
            overCurrent : The current of the power unit is too high.
            working : The power unit is working normally.
            fail : The power unit has failed.
            connect : The power unit is connected but not powered on.
            disconnect : The power unit is not connected."
        ::= { powerEntry 2 }





cfmGlobalStatus OBJECT-TYPE 
  SYNTAX      INTEGER  { enabled(1), disabled(2) } 
  MAX-ACCESS  read-write
  STATUS      current 
  DESCRIPTION 
     "The administrative module status of Ethernet CFM module. 
      This enables or disables ECFM in the system. A value of 
      'enabled' (1) indicates that ECFM is enabled in the device.
      A value of 'disabled' (2) indicates that ECFM is disabled 
      in the device ." 
  DEFVAL  { disabled }
  ::= { companyCFMGroup 1}

cfmAisTrapStatus OBJECT-TYPE 
  SYNTAX      INTEGER  { enabled(1), disabled(2) } 
  MAX-ACCESS  read-write
  STATUS      current 
  DESCRIPTION 
     "This enables or disables in AIS trap" 
  DEFVAL  { disabled }
  ::= { companyCFMGroup 2}

cfmLckTrapStatus OBJECT-TYPE 
  SYNTAX      INTEGER  { enabled(1), disabled(2) } 
  MAX-ACCESS  read-write
  STATUS      current 
  DESCRIPTION 
     "This enables or disables in LCK trap" 
  DEFVAL  { disabled }
  ::= { companyCFMGroup 3}

cfmMPsReplyLTRsStatus OBJECT-TYPE 
  SYNTAX      INTEGER  { enabled(1), disabled(2) } 
  MAX-ACCESS  read-write
  STATUS      current 
  DESCRIPTION 
    "According to IEEE 802.1ag, a Bridge replies with one LTR to an LTM.
    This object can make all MPs on an LTMs forwarding path reply with LTRs,
    whether they are on a Bridge or not.
    " 
  DEFVAL  { disabled }
  ::= { companyCFMGroup 4}

-- ----------------------------------------------------------------------------  
-- The Maintenance Domain Table - Start
-- ----------------------------------------------------------------------------  

cfmMdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table. Each row in the table
        represents a different Maintenance Domain.

        A Maintenance Domain is described in 802.1ag (3.22) as the
        network or the part of the network for which faults in
        connectivity are to be managed. The boundary of a Maintenance
        Domain is defined by a set of DSAPs, each of which can become
        a point of connectivity to a service instance.
       "
    REFERENCE
       "802.1ag clauses 3.22 and 18.1"
    ::= { companyCFMGroup 5}

cfmMdEntry OBJECT-TYPE
    SYNTAX      CfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table entry. This entry is not lost
        upon reboot. It is backed up by stable storage.
       "
    INDEX { cfmMdIndex }
    ::= { cfmMdTable 1 }

CfmMdEntry ::= SEQUENCE {
      cfmMdIndex                Unsigned32,
      cfmMdFormat               CfmMaintDomainNameType,
      cfmMdName                 CfmMaintDomainName,
      cfmMdMdLevel              CfmMDLevel,
      cfmMdMhfCreation          CfmMhfCreation,
      cfmMdMhfIdPermission      CfmIdPermission,
      cfmMdMaTableNextIndex     CfmIndexIntegerNextFree,
      cfmMdRowStatus            RowStatus
    }

cfmMdIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index to the Maintenance Domain table.

        cfmMdTableNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is required i.e. the index needs to be
        persistent upon a reboot or restart of a device.  The index
        can never be reused for other Maintenance Domain.  The index
        value should keep increasing up to the time that they wrap
        around. This is to facilitate access control based on OID.
       "
    ::= { cfmMdEntry 1 }

cfmMdFormat OBJECT-TYPE
    SYNTAX      CfmMaintDomainNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Domain Name."
    REFERENCE
       "802.1ag clause 21.6.5.1"
    DEFVAL { charString }
    ::= { cfmMdEntry 2 }

cfmMdName OBJECT-TYPE
    SYNTAX      CfmMaintDomainName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain name. The type/format of this object
        is determined by the value of the cfmMdNameType object.
          
        Each Maintenance Domain has unique name amongst all those
        used or available to a service provider or operator.  It
        facilitates easy identification of administrative
        responsibility for each Maintenance Domain.

        Clause 3.24 defines a Maintenance Domain name as the
        identifier, unique over the domain for which CFM is to
        protect against accidental concatenation of Service
        Instances, of a particular Maintenance Domain.
       "
    REFERENCE
       "802.1ag clauses 3.24, 12.14.5, and 21.6.5.3"
    DEFVAL { "DEFAULT" }
    ::= { cfmMdEntry 3 }

cfmMdMdLevel OBJECT-TYPE
    SYNTAX      CfmMDLevel
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain Level."
    REFERENCE
       "802.1ag clause 12.14.5.1.3:b"
    DEFVAL { 0 }
    ::= { cfmMdEntry 4 }

cfmMdMhfCreation OBJECT-TYPE
    SYNTAX      CfmMhfCreation
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating whether the management entity can
        create MHFs (MIP Half Function) for this Maintenance Domain.
       "
    REFERENCE
       "802.1ag clause 12.14.5.1.3:c"
    DEFVAL { defMHFnone }
    ::= { cfmMdEntry 5 }

cfmMdMhfIdPermission OBJECT-TYPE
    SYNTAX      CfmIdPermission
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this Maintenance Domain.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value sendIdDefer takes the meaning of sendIdChassisManage.
       "
    REFERENCE
       "802.1ag clause 12.14.5.1.3:d"
    DEFVAL { sendIdNone }
    ::= { cfmMdEntry 6 }


cfmMdMaTableNextIndex OBJECT-TYPE
    SYNTAX      CfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value to be used as the index of the MA table entries for
        this Maintenance Domain when the management entity wants to
        create a new row in the MA table.
       "
   ::= { cfmMdEntry 7 }

cfmMdRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { cfmMdEntry 8 }
-- ----------------------------------------------------------------------------  
-- The Maintenance Domain Table - End
-- ----------------------------------------------------------------------------  

-- ----------------------------------------------------------------------------  
-- The Maintenance Association (MA) Table - Start
-- ----------------------------------------------------------------------------  

cfmMaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association table.  Each row in the table
        represents an MA.  An MA is a set of MEPs, each configured
        with a single service instance.

        Creation of a Service Instance establishes a connectionless
        association among the selected DSAPs.  Configuring a
        Maintenance association End Point (MEP) at each of the
        DSAPs creates a Maintenance Association (MA) to monitor
        that connectionless connectivity.  The MA is identified by a
        Short MA Name that is unique within the Maintenance Domain
        and chosen to facilitate easy identification of the Service
        Instance.  Together, the Maintenance Domain Name and the
        Short MA Name form the Maintenance Association Identifier
        (MAID) that is carried in CFM Messages to identify
        incorrect connectivity among Service Instances.  A small
        integer, the Maintenance association End Point Identifier
        (MEPID), identifies each MEP among those configured on a
        single MA (802.1ag clauses 3.17 and 18.2).

        This table uses two indices, first index is the index of the
        Maintenance Domain table.

       The writable objects in this table need to be persistent
       upon reboot or restart of a device.

       "
    REFERENCE
       "802.1ag clause 18.2"
    ::= { companyCFMGroup 6}

cfmMaEntry OBJECT-TYPE
    SYNTAX      CfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MA table entry."
    INDEX {cfmMdIndex, cfmMaIndex }
    ::= { cfmMaTable 1 }

CfmMaEntry ::= SEQUENCE {
      cfmMaIndex                   Unsigned32,
      cfmMaPrimaryVlanId           VlanIdOrNone,
      cfmMaFormat                  CfmMaintAssocNameType,
      cfmMaName                    CfmMaintAssocName,
      cfmMaMhfCreation             CfmMhfCreation,
      cfmMaIdPermission            CfmIdPermission,
      cfmMaCcmInterval             CfmCcmInterval,
      cfmMaNumberOfVids            Unsigned32,
      cfmMaRowStatus               RowStatus
    }

cfmMaIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

       "Index of the MA table cfmMdMaTableNextIndex needs to
        be inspected to find an available index for row-creation.
       "
    ::= { cfmMaEntry 1 }

cfmMaPrimaryVlanId OBJECT-TYPE
    SYNTAX      VlanIdOrNone
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Primary VLAN ID with which the Maintenance Association is
        associated, or 0 if the MA is not attached to any VID.  If
        the MA is associated with more than one VID, the
        cfmVlanTable lists them.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:b"
    ::= { cfmMaEntry 2 }

cfmMaFormat OBJECT-TYPE
    SYNTAX      CfmMaintAssocNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Association
        Name.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.4"
    ::= { cfmMaEntry 3 }

cfmMaName OBJECT-TYPE
    SYNTAX      CfmMaintAssocName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Short Maintenance Association name. The type/format of
        this object is determined by the value of the
        cfmMaNameType object.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.6, and Table 21-20"
    ::= { cfmMaEntry 4 }

cfmMaMhfCreation OBJECT-TYPE
    SYNTAX      CfmMhfCreation
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Indicates if the Management entity can create MHFs (MIP Half
        Function) for this MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:c"
    DEFVAL { defMHFdefer }
    ::= { cfmMaEntry 5 }

cfmMaIdPermission OBJECT-TYPE
    SYNTAX      CfmIdPermission
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:d"
    DEFVAL { sendIdDefer }
    ::= { cfmMaEntry 6 }

cfmMaCcmInterval OBJECT-TYPE
    SYNTAX      CfmCcmInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Interval between CCM transmissions to be used by all MEPs
        in the MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:e"
    DEFVAL { interval1s }
    ::= { cfmMaEntry 7 }

cfmMaNumberOfVids OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of VIDs associated with the MA.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:b"
    ::= { cfmMaEntry 8 }

cfmMaRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
    ::= { cfmMaEntry 9 }
-- ----------------------------------------------------------------------------  
-- The Maintenance Association (MA) Table - End
-- ----------------------------------------------------------------------------  

-- ----------------------------------------------------------------------------  
-- The list of known MEPs for a given MA - Start
-- ----------------------------------------------------------------------------  

cfmMaMepListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "List of MEPIDs (in any bridge) that belong to the same MA.
 
        Clause 12.14.6.1.3 specifies that a list of MEPIDs in all
        bridges in that MA, but since SNMP SMI does not allow to
        state in a MIB that an object in a table is an array, the 
        information has to be stored in another table with two
        indices, being the first index, the index of the table that 
        contains the list or array.
       "
    REFERENCE
       "802.1ag clause 12.14.6.1.3:g"
    ::= { companyCFMGroup 7}

cfmMaMepListEntry OBJECT-TYPE
    SYNTAX      CfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The known MEPS table entry."
    INDEX { cfmMdIndex,
            cfmMaIndex,
            cfmMaMepListIdentifier
          }
    ::= { cfmMaMepListTable 1 }

CfmMaMepListEntry ::= SEQUENCE {
      cfmMaMepListIdentifier  CfmMepId,
      cfmMaMepListRowStatus   RowStatus
    }

cfmMaMepListIdentifier OBJECT-TYPE
    SYNTAX      CfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "MEPID"
    REFERENCE
       "802.1ag clause 12.14.6.1.3:g"
    ::= { cfmMaMepListEntry 1 }

cfmMaMepListRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row. Read SNMPv2-TC (RFC1903) for an
        explanation of the possible values this object can take.
       "
    ::= { cfmMaMepListEntry 2 }
-- ----------------------------------------------------------------------------  
-- The list of known MEPs for a given MA - End
-- ----------------------------------------------------------------------------  

-- ----------------------------------------------------------------------------  
-- The MEP Table - Start
-- ----------------------------------------------------------------------------  

cfmMepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association End Point (MEP) table.

        Each row in the table represents a different MEP.  A MEP is
        an actively managed CFM entity, associated with a specific
        DSAP of a Service Instance, which can generate and receive
        CFM PDUs and track any responses.  It is an end point of a
        single Maintenance Association, and is an endpoint of a
        separate Maintenance Entity for each of the other MEPs in
        the same Maintenance Association (802.1ag clause 3.18).

        This table uses three indices. The first two indices are the
        indices of the Maintenance Domain and MA tables, the reason
        being that a MEP is always related to an MA and Maintenance
        Domain.

        The Transmit Loopback table.  Entries in this table are
        created/removed at the same time than entries in the MEP
        table are created/removed.

        The MEP table also stores all the managed objects for sending
        LBM and LTM.

        *LBM Managed objects

        LBM Managed objects in the MEP table 
        enables the management entity to initiate
        transmission of Loopback messages.  It will signal the MEP
        that it should transmit some number of Loopback messages
        and detect the detection (or lack thereof) of the
        corresponding Loopback messages.
 
        Steps to use entries in this table:

        1) Wait for cfmMepTransmitLbmStatus value to be
           'ready'.  To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and
              cfmMepTransmitLbmStatus objects (in same SNMP
              PDU).
           b. Check if value for cfmMepTransmitLbmStatus is
              'ready'
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go
                to step 2) below
        2) Change cfmMepTransmitLbmStatus value from 'ready' to
           'notReady' to ensure no other management entity will use
           the service. In order to not disturb a possible other NMS
           do this by sending an SNMP SET for both SnmpSetSerialNo 
           and cfmMepTransmitLbmStatus objects (in same SNMP
           PDU,  and make sure SNmpSetSerialNo is the first varBind).
           For the SnmpSetSerialNo varBind, use the value that you
           obtained in step 1)a.. This ensures that two cooperating
           NMSes will not step on each others toes.
        3) Setup the different data to be sent (number of messages,
           optional TLVs,...).
        4) Record the current values of cfmMepLbrIn,
           cfmMepLbrInOutOfOrder, and cfmMepLbrBadMsdu.
        6) Change cfmMepTransmitLbmStatus value from 'notReady'
           to 'transmit' to initiate transmission of Loopback
           messages.
        7) Check the value of cfmMepTransmitLbmResultOK to
           find out if the operation was successfully initiated or
           not.
        8) Monitor the value of cfmMepTransmitLbmMessages.
           When it reaches 0, the last LBM has been transmitted.
           Wait an additional 5 seconds to ensure that all LBRs have
           been returned.
        9) Compare cfmMepLbrIn, cfmMepLbrInOutOfOrder,
           and cfmMepLbrBadMsdu to their old values from step
           4, above, to get the results of the test.
       10) Change the cfmMepTransmitLbmStatus value back to
           'ready' to allow other management entities to use the
           table.

        *LTM Managed objects
        The LTM Managed objects in the MEP table are used in a manner
        similar to that described for LBM transmission, above.  Upon
        successfully initiating the transmission, the variables
        cfmMepTransmitLtmSeqNumber and
        cfmMepTransmitLtmEgressIdentifier return the information
        required to recover the results of the LTM from the
        cfmLtrTable.
       "
    REFERENCE
       "802.1ag clauses 12.14.7 and 19.2"
    ::= { companyCFMGroup 8}
cfmMepEntry OBJECT-TYPE
    SYNTAX      CfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP table entry"
    INDEX {  cfmMdIndex,
            cfmMaIndex,
            cfmMepIdentifier
          }
    ::= { cfmMepTable 1 }

CfmMepEntry ::= SEQUENCE {
      cfmMepIdentifier                   CfmMepId,
      cfmMepIfIndex                      InterfaceIndexOrZero,
      cfmMepDirection                    CfmMpDirection,
      cfmMepPrimaryVid                   Unsigned32,
      cfmMepActive                       TruthValue,
      cfmMepFngState                     CfmFngState,
      cfmMepCciEnabled                   TruthValue,
      cfmMepCcmLtmPriority               Unsigned32,
      cfmMepMacAddress                   MacAddress,
      cfmMepLowPrDef                     CfmLowestAlarmPri,
      cfmMepFngAlarmTime                 TimeInterval,
      cfmMepFngResetTime                 TimeInterval,
      cfmMepHighestPrDefect              CfmHighestDefectPri,
      cfmMepCcmSequenceErrors            Unsigned32,
      cfmMepCciSentCcms                  Unsigned32,
      cfmMepNextLbmTransId               Unsigned32,
      cfmMepLbrIn                        Unsigned32,
      cfmMepLbrInOutOfOrder              Unsigned32,
      cfmMepLtmNextSeqNumber             Unsigned32,
      cfmMepUnexpLtrIn                   Unsigned32,
      cfmMepLbrOut                       Unsigned32,
      cfmMepTransmitLbmStatus            CfmTransmitStatus,
      cfmMepTransmitLbmDestMacAddress    MacAddress,
      cfmMepTransmitLbmDestMepId         CfmMepIdOrZero,
      cfmMepTransmitLbmDestIsMepId       TruthValue,
      cfmMepTransmitLbmMessages          Integer32,
      cfmMepTransmitLbmDataTlv           OCTET STRING,
      cfmMepTransmitLbmVlanPriority      Integer32,
      cfmMepTransmitLbmResultOK          TruthValue,
      cfmMepTransmitLbmSeqNumber         Unsigned32,
      cfmMepTransmitLtmStatus            CfmTransmitStatus,
      cfmMepTransmitLtmFlags             BITS,
      cfmMepTransmitLtmTargetMacAddress  MacAddress,
      cfmMepTransmitLtmTargetMepId       CfmMepIdOrZero,
      cfmMepTransmitLtmTargetIsMepId     TruthValue,
      cfmMepTransmitLtmTtl               Unsigned32,
      cfmMepTransmitLtmResult            TruthValue,
      cfmMepTransmitLtmSeqNumber         Unsigned32,
      cfmMepCcmOffload                   INTEGER,
      cfmMepName                           CfmMaintAssocName,
      cfmMepCciAisTx                      Unsigned32,
      cfmMepCciAisRx                      Unsigned32,
      cfmMepCciLckTx                      Unsigned32,
      cfmMepCciLckRx                      Unsigned32,
      cfmMepAisCapability                 FsY1731EnabledStatus,
      cfmMepAisCondition                  TruthValue,
      cfmMepAisInterval                   FsY1731AisLckInterval,
      cfmMepAisPriority                   Integer32,
      cfmMepLckCapability                 TruthValue,
      cfmMepLckCondition                  TruthValue,
      cfmMepLckInterval                   FsY1731AisLckInterval,
      cfmMepLckPriority                   Integer32,
      cfmMepXconCcm                  Unsigned32,
      cfmMepErrorCcm                  Unsigned32,
      cfmMepNormalCcm               Unsigned32,
      cfmMepRowStatus                     RowStatus
    }

cfmMepIdentifier OBJECT-TYPE
    SYNTAX      CfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Integer that is unique among all the MEPs in the same MA.
        Other definition is: a small integer, unique over a given
        Maintenance Association, identifying a specific Maintenance
        association End Point (3.19).

        MEP Identifier is also known as the MEPID.
       "
    REFERENCE
       "802.1ag clauses 3.19, 19.2 and 12.14.7"
    ::= { cfmMepEntry 1 }

cfmMepIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the interface index of the interface either a
        bridge port, or an aggregated IEEE 802.1 link within a bridge
        port, to which the MEP is attached.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL set this variable to 0.

        For MPLS-TP based MEPs this object is not configurable and the ifIndex 
        shall remain as zero.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:b"
    ::= { cfmMepEntry 2 }

cfmMepDirection OBJECT-TYPE
    SYNTAX      CfmMpDirection
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The direction in which the MEP faces on the Bridge port."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:c and 19.2"
    ::= { cfmMepEntry 3 }

cfmMepPrimaryVid OBJECT-TYPE
    SYNTAX      Unsigned32(0..16777215)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer indicating the Primary VID of the MEP, always
        one of the VIDs assigned to the MEP's MA.  The value 0
        indicates that either the Primary VID is that of the
        MEP's MA, or that the MEP's MA is associated with no VID."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:d"
   DEFVAL { 0 }
    ::= { cfmMepEntry 4 }

cfmMepActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Administrative state of the MEP

        A Boolean indicating the administrative state of the MEP.

        True indicates that the MEP is to function normally, and
        false that it is to cease functioning."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:e and 20.9.1"
   DEFVAL { false }
   ::= { cfmMepEntry 5 }

cfmMepFngState OBJECT-TYPE
    SYNTAX      CfmFngState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Current state of the MEP Fault Notification Generator
        State Machine.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:f and 20.35"
    DEFVAL { fngReset }
    ::= { cfmMepEntry 6 }

cfmMepCciEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "If set to true, the MEP will generate CCM messages."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:g and 20.10.1"
    DEFVAL { false }
    ::= { cfmMepEntry 7 }

cfmMepCcmLtmPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The priority value for CCMs and LTMs transmitted by the MEP.
        Default Value in the highest priority value allowed to pass
        through the bridge port for any of this MEPs VIDs.
        The management entity can obtain the default value for this 
        variable from the priority regeneration table by extracting the 
        highest priority value in this table on this MEPs bridge port.
        (1 is lowest, then 2, then 0, then 3-7).
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:h"
    ::= { cfmMepEntry 8 }

cfmMepMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address of the MEP. For MEPs that do not possess a MAC address
        this value will be all zeros. Such a MEP will be present in the
        MPLS TP transport networks."
    REFERENCE
      "802.1ag clause 12.14.7.1.3:i and 19.4"
    ::= { cfmMepEntry 9 }

cfmMepLowPrDef OBJECT-TYPE
    SYNTAX      CfmLowestAlarmPri
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer value specifying the lowest priority defect 
        that is allowed to generate fault alarm.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:k and 20.9.5 and Table 20-1"
    DEFVAL { macRemErrXcon }
    ::= { cfmMepEntry 10}

cfmMepFngAlarmTime OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects must be present before a Fault Alarm is
        issued (fngAlarmTime. 20.33.3) (default 2.5s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:l and 20.33.3"
    DEFVAL { 250 }
    ::= { cfmMepEntry 11 }

cfmMepFngResetTime OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects must be absent before re-enabling a
        Fault Alarm (fngResetTime, 20.33.4) (default 10s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:m and 20.33.4"
    DEFVAL { 1000 }
    ::= { cfmMepEntry 12 }
   
cfmMepHighestPrDefect OBJECT-TYPE
    SYNTAX   CfmHighestDefectPri
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The highest priority defect that has been present since the
        MEPs Fault Notification Generator State Machine was last in
        the FNG_RESET state.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:n  20.33.9 and Table 21-1"
    ::= { cfmMepEntry 13 }

cfmMepCcmSequenceErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The total number of out-of-sequence CCMs received from all
        remote MEPs.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:v and 20.16.12"
    ::= { cfmMepEntry 14 }

cfmMepCciSentCcms OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Total number of Continuity Check messages transmitted."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:w and 20.10.2"
    ::= { cfmMepEntry 15 }

cfmMepNextLbmTransId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next sequence number/transaction identifier to be sent in a
        Loopback message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:x and 20.28.2"
    ::= { cfmMepEntry 16 }

cfmMepLbrIn OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Total number of valid, in-order Loopback Replies received."
    REFERENCE
       "802.1ag clause 12.14.7.1.3:y and 20.31.1"
    ::= { cfmMepEntry 17 }

cfmMepLbrInOutOfOrder OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The total number of valid, out-of-order Loopback Replies
        received.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:z and 20.31.1"
    ::= { cfmMepEntry 18 }

cfmMepLtmNextSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next transaction identifier/sequence number to be sent in a
        Linktrace message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ab and 20.36.1"
    ::= { cfmMepEntry 19 }

cfmMepUnexpLtrIn OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The total number of unexpected LTRs received (20.39.1).
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ac  20.39.1"
    ::= { cfmMepEntry 20 }

cfmMepLbrOut OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Total number of Loopback Replies transmitted."
    REFERENCE
       "802.1ag clause 12.14.7.1.3:ad and 20.26.2"
    ::= { cfmMepEntry 21 }

cfmMepTransmitLbmStatus OBJECT-TYPE
   SYNTAX      CfmTransmitStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Enumerated value set to 'transmit'to initiate LBM transmission.
       Set to 'ready' or 'notReady' by the MEP Loopback Initiator State Machine."
   DEFVAL { ready }
   ::= { cfmMepEntry 22 }

cfmMepTransmitLbmDestMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        cfmMepTransmitLbmDestIsMepId is 'false'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { cfmMepEntry 23 }

cfmMepTransmitLbmDestMepId OBJECT-TYPE
    SYNTAX      CfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance association End Point Identifier of another
        MEP in the same Maintenance Association to which the LBM is
        to be sent.
        This address will be used if the value of the column
        cfmMepTransmitLbmDestIsMepId is 'true'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { cfmMepEntry 24 }

cfmMepTransmitLbmDestIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Loopback transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= {cfmMepEntry 25 }

cfmMepTransmitLbmMessages OBJECT-TYPE
    SYNTAX      Integer32(1..1024)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The number of Loopback messages to be transmitted."
    REFERENCE
       "802.1ag clause 12.14.7.3.2:c"
    DEFVAL { 1 }
    ::= {cfmMepEntry 26 }

cfmMepTransmitLbmDataTlv OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..1500))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An arbitrary amount of data to be included in the Data TLV,
        if the Data TLV is selected to be sent.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:d"
    ::= { cfmMepEntry 27 }

cfmMepTransmitLbmVlanPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Priority. 3 bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        The default value is CCM priority.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:e"
    ::= { cfmMepEntry 28 }

cfmMepTransmitLbmResultOK OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true       The Loopback Message(s) will be
                     (or has been) sent.
        - false      The Loopback Message(s) will not
                     be sent.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.3:a"
    DEFVAL { true }
    ::= { cfmMepEntry 29 }

cfmMepTransmitLbmSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Loopback Transaction Identifier
       (cfmMepNextLbmTransId) of the first LBM (to be) sent.
        The value returned is undefined if
        cfmMepTransmitLbmResultOK is false.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.3:a"
    ::= { cfmMepEntry 30 }

cfmMepTransmitLtmStatus OBJECT-TYPE
   SYNTAX      CfmTransmitStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Enumerated value set to 'transmit' to initiate LTM transmission. 
       Set to 'ready' or 'notReady' by the MEP Linktrace Initiator State 
       Machine.
      "
   DEFVAL { ready }
   ::= { cfmMepEntry 31 }

cfmMepTransmitLtmFlags OBJECT-TYPE
    SYNTAX      BITS {
                  useFDBonly   (0)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The flags field for LTMs transmitted by the MEP."
    REFERENCE
       "802.1ag clause 12.14.7.4.2:b and 20.37.1"
    --DEFVAL {0}
    ::= { cfmMepEntry 32 }

cfmMepTransmitLtmTargetMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        cfmMepTransmitLtmTargetIsMepId is 'false'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { cfmMepEntry 33 }

cfmMepTransmitLtmTargetMepId OBJECT-TYPE
    SYNTAX      CfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An indication of the Target MAC Address Field to be
        transmitted:
        The Maintenance association End Point Identifier of
        another MEP in the same Maintenance Association
        This address will be used if the value of the column
        cfmMepTransmitLtmTargetIsMepId is 'true'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { cfmMepEntry 34 }

cfmMepTransmitLtmTargetIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Linktrace transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:c"
    ::= { cfmMepEntry 35 }

cfmMepTransmitLtmTtl OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The LTM TTL field. Default value, if not specified, is 64.
        The TTL field indicates the number of hops remaining to the
        LTM.  Decremented by 1 by each Linktrace Responder that
        handles the LTM.  The value received in the LTM is returned
        in the LTR.  If 0 on input, the LTM is not transmitted to the
        next hop.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.2:d and 21.8.4"
    DEFVAL {64}
    ::= { cfmMepEntry 36 }

cfmMepTransmitLtmResult OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true    The Linktrace Message will be (or has been) sent.
        - false   The Linktrace Message will not be sent"
    REFERENCE
       "802.1ag clause 12.14.7.4.3:a"
    DEFVAL { true }
    ::= { cfmMepEntry 37 }

cfmMepTransmitLtmSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The LTM Transaction Identifier
        (cfmMepLtmNextSeqNumber) of the LTM sent.
        The value returned is undefined if
        cfmMepTransmitLtmResult is false.
       "
    REFERENCE
       "802.1ag clause 12.14.7.4.3:a"
    ::= { cfmMepEntry 38 }

cfmMepCcmOffload OBJECT-TYPE
        SYNTAX      INTEGER  { enabled(1), disabled(2) }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
             "The administrative MEP CCMOffloading status.
              when value 'enabled' (1) is set The CCM Offloading starts for 
              the MEP in the system.when value 'disabled' (2) is set then 
              CCMOffloading will disabled for the MEP in system.
              By Default CCMOffloading is disabled."
          DEFVAL  { disabled }
          ::= { cfmMepEntry 39 }
   
cfmMepName OBJECT-TYPE
    SYNTAX      CfmMaintAssocName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Short Maintenance Association name.
       "
          ::= { cfmMepEntry 40 }

cfmMepCciAisTx OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "Identifies the number of AIS transmitted."
        ::= { cfmMepEntry 41 }
        
cfmMepCciAisRx OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "Identifies the number of AIS receive."
        ::= { cfmMepEntry 42 }
        
cfmMepCciLckTx OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "Identifies the number of LCK transmitted."
        ::= { cfmMepEntry 43 }

cfmMepCciLckRx OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "Identifies the number of LCK receive."
        ::= { cfmMepEntry 44}

cfmMepAisCapability OBJECT-TYPE
    SYNTAX      FsY1731EnabledStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The administrative status of  AIS capability.This enables or disables 
        transmission of AIS frames.  
        
        A value of 'enabled' (1) indicates AIS frames will be transmitted when 
        MEP is in AIS/LCK condition determined by cfmMepAisCondition and
        cfmMepLckCondition objects respectively or dot1agCfmMepDefects
        shows any defect. 
        A value of 'disabled' (2) indicates AIS frames will not be transmitted.
       
        If cfmMepAisPeriod is provided then it will be enabled for that
        period only.
        cfmMepAisClientMacAddress in needs to be configured incase user
        needs to send AIS frame(s) as unicast or cfmMegClientMEGLevel
        in case of AIS frames needs to be sent as multicast in prior to
        enabling of cfmMepAisCapability.
       "
 
    DEFVAL { disabled }
    ::= { cfmMepEntry 45 }
    
    cfmMepAisCondition OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates MEP is in AIS condition.
        AIS condition occurs when it receives an AIS frame.
       "
    DEFVAL { false }
    ::= { cfmMepEntry 46 }

cfmMepAisInterval OBJECT-TYPE
    SYNTAX      FsY1731AisLckInterval
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Interval between two successive AIS transmissions.
       "
    DEFVAL { interval1s }
    ::= { cfmMepEntry 47 }

cfmMepAisPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Mib object is used for configuring AIS Priority for the Ethernet 
        and the MPLS-TP (LSP/PW) based MEPs.

        For Ethernet: 
            The Priority is a 3-bit priority value to be used in the VLAN tag,
            if present in the transmitted AIS frame. The default value is 7.

        For MPLS-TP (LSP/PW): 
            This indicates the 3-bit EXP value that needs to be used in the 
            MPLS header of AIS frame.
            The default EXP value is 7. The range is (0..7).
            Note: Diff-serv based EXP field mapping is not supported.
       "
   DEFVAL { 7 }
    ::= { cfmMepEntry 48 }
    

cfmMepLckCapability OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A Boolean indicating the administrative service that is being or to be 
        performed.
        true indicates operation needs to be performed Out-of-service 
        and false indicates operation needs to be performed In-service.
       "
    ::= { cfmMepEntry 49}
    
cfmMepLckCondition OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates if MEP is in LCK condition.
        LCK condition occurs when it receives a LCK frame.
       "
    DEFVAL { false }
    ::= { cfmMepEntry 50 }

cfmMepLckInterval OBJECT-TYPE
    SYNTAX      FsY1731AisLckInterval
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Interval between two successive LCK transmissions to be 
        used by the MEP.
       "
    DEFVAL { interval1s }
    ::= { cfmMepEntry 51 }


cfmMepLckPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Priority. 3 bit value to be used in the VLAN tag, if present
        in the transmitted LCK frame.
       "
   DEFVAL { 7 }
    ::= { cfmMepEntry 52 }
    
cfmMepXconCcm OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "This object indicates how many Cross-connect CCMs have been received 
             on the MEP."
        ::= { cfmMepEntry 53}

cfmMepErrorCcm OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "This object indicates how many invalid CCMs have been received 
             on the MEP."
        ::= { cfmMepEntry 54}

cfmMepNormalCcm OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "This object indicates how many normal CCMs have been received 
             on the MEP."
        ::= { cfmMepEntry 55}
        
cfmMepRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
   ::= { cfmMepEntry 99 }

-- ----------------------------------------------------------------------------  
-- The MEP Table - End
-- ----------------------------------------------------------------------------  

-- ----------------------------------------------------------------------------  
-- The Linktrace Reply Table - Start
-- ----------------------------------------------------------------------------  

cfmLtrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table extends the MEP table and contains a list of
        Linktrace replies received by a specific MEP in response to
        a linktrace message.

        SNMP SMI does not allow to state in a MIB that an object in
        a table is an array.  The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5"
    ::= { companyCFMGroup 9}

cfmLtrEntry OBJECT-TYPE
    SYNTAX      CfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Linktrace Reply table entry."
    INDEX { cfmMdIndex,
            cfmMaIndex,
            cfmMepIdentifier,
            cfmLtrSeqNumber,
            cfmLtrReceiveOrder
          }
    ::= { cfmLtrTable 1 }

CfmLtrEntry ::= SEQUENCE {
      cfmLtrSeqNumber            Unsigned32,
      cfmLtrReceiveOrder         Unsigned32,
      cfmLtrTtl                  Unsigned32,
      cfmLtrForwarded            TruthValue,
      cfmLtrTerminalMep          TruthValue,
      cfmLtrLastEgressIdentifier OCTET STRING,
      cfmLtrNextEgressIdentifier OCTET STRING,
      cfmLtrRelay                CfmRelayActionFieldValue,
      cfmLtrIngress              CfmIngressActionFieldValue,
      cfmLtrIngressMac           MacAddress,
      cfmLtrIngressPortIdSubtype LldpPortIdSubtype,
      cfmLtrIngressPortId        LldpPortId,
      cfmLtrEgress               CfmEgressActionFieldValue,
      cfmLtrEgressMac            MacAddress,
      cfmLtrEgressPortIdSubtype  LldpPortIdSubtype,
      cfmLtrEgressPortId         LldpPortId
    }

cfmLtrSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Transaction identifier/Sequence number returned by a previous
        transmit linktrace message command, indicating which LTM's
        response is going to be returned.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5.2:b"
    ::= { cfmLtrEntry 1}

cfmLtrReceiveOrder OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to distinguish among multiple LTRs with the same LTR
        Transaction Identifier field value.  cfmLtrReceiveOrder
        are assigned sequentially from 1, in the order that the
        Linktrace Initiator received the LTRs.
       "
    REFERENCE
       "802.1ag clause 12.14.7.5.2:c"
    ::= { cfmLtrEntry 2 }

cfmLtrTtl OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "TTL field value for a returned LTR."
    REFERENCE
       "802.1ag clause 12.14.7.5 and 20.36.2.2"
    ::= { cfmLtrEntry 3 }

cfmLtrForwarded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates if a LTM was forwarded by the responding MP, as
        returned in the 'FwdYes' flag of the flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:c and 20.36.2.1"
    ::= { cfmLtrEntry 4 }

cfmLtrTerminalMep OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A boolean value stating whether the forwarded LTM reached a
        MEP enclosing its MA, as returned in the Terminal MEP flag of
        the Flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:d and 20.36.2.1"
    ::= { cfmLtrEntry 5 }

cfmLtrLastEgressIdentifier OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Last Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.
        The Last Egress Identifier identifies the MEP Linktrace 
        Initiator that originated, or the Linktrace Responder that 
        forwarded, the LTM to which this LTR is the response.  This
        is the same value as the Egress Identifier TLV of that LTM.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:e and 20.36.2.3"
    ::= { cfmLtrEntry 6 }

cfmLtrNextEgressIdentifier OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Next Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.  The Next Egress
        Identifier Identifies the Linktrace Responder that
        transmitted this LTR, and can forward the LTM to the next
        hop.  This is the same value as the Egress Identifier TLV of
        the forwarded LTM, if any. If the FwdYes bit of the Flags
        field is false, the contents of this field are undefined,
        i.e. any value can be transmitted, and the field is ignored
        by the receiver.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:f and 20.36.2.4"
    ::= { cfmLtrEntry 7 }

cfmLtrRelay OBJECT-TYPE
    SYNTAX      CfmRelayActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value returned in the Relay Action field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g and 20.36.2.5"
    ::= { cfmLtrEntry 8 }

cfmLtrIngress OBJECT-TYPE
    SYNTAX      CfmIngressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Ingress Action Field of the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:k and 20.36.2.6"
    ::= { cfmLtrEntry 9 }

cfmLtrIngressMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the ingress MAC address field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:l and 20.36.2.7"
    ::= { cfmLtrEntry 10 }

cfmLtrIngressPortIdSubtype OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the Ingress Port ID."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:m and 20.36.2.8"
   ::= { cfmLtrEntry 11 }

cfmLtrIngressPortId OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Ingress Port ID. The format of this object is determined by
        the value of the cfmLtrIngressPortIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:n and 20.36.2.9"
    ::= { cfmLtrEntry 12 }

cfmLtrEgress OBJECT-TYPE
    SYNTAX      CfmEgressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Egress Action Field of the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:o and 20.36.2.10"
    ::= { cfmLtrEntry 13 }

cfmLtrEgressMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the egress MAC address field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:p and 20.36.2.11"
    ::= { cfmLtrEntry 14 }

cfmLtrEgressPortIdSubtype OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the egress Port ID."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:q and 20.36.2.12"
    ::= { cfmLtrEntry 15 }

cfmLtrEgressPortId OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Egress Port ID. The format of this object is determined by
        the value of the cfmLtrEgressPortIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:r and 20.36.2.13"
    ::= { cfmLtrEntry 16 }

-- ----------------------------------------------------------------------------  
-- The Linktrace Reply Table - End
-- ----------------------------------------------------------------------------  


-- ----------------------------------------------------------------------------  
-- The MEP Database Table - Start
-- ----------------------------------------------------------------------------  

cfmMepDbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database. A database, maintained by every MEP, that
        maintains received information about other MEPs in the
        Maintenance Domain.

        The SMI does not allow to state in a MIB that an object in
        a table is an array. The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "802.1ag clause 19.2.15"
    ::= { companyCFMGroup 10 }

cfmMepDbEntry OBJECT-TYPE
    SYNTAX      CfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database table entry."
    INDEX { cfmMdIndex,
            cfmMaIndex,
            cfmMepIdentifier,
            cfmMepDbRMepIdentifier
          }
    ::= { cfmMepDbTable 1 }

CfmMepDbEntry ::= SEQUENCE {
      cfmMepDbRMepIdentifier         CfmMepId,
      cfmMepDbRMepState              CfmRemoteMepState,
      cfmMepDbRMepFailedOkTime       TimeStamp,
      cfmMepDbMacAddress             MacAddress,
      cfmMepDbRdi                    TruthValue,
      cfmMepDbPortStatusTlv          CfmPortStatus,
      cfmMepDbInterfaceStatusTlv     CfmInterfaceStatus,
      cfmMepDbLastCCMSerialNum             Unsigned32,
      cfmMepDbRMepFailedOkTimePoint     DisplayString
    }

cfmMepDbRMepIdentifier OBJECT-TYPE
    SYNTAX      CfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier of a remote MEP
        whose information from the MEP Database is to be returned.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.2:b"
    ::= { cfmMepDbEntry 1 }

cfmMepDbRMepState OBJECT-TYPE
    SYNTAX      CfmRemoteMepState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The operational state of the remote MEP IFF State machines."
    REFERENCE
       "802.1ag clause 12.14.7.6.3:b and 20.22"
    ::= { cfmMepDbEntry 2}

cfmMepDbRMepFailedOkTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time (SysUpTime) at which the IFF Remote MEP state machine
        last entered either the RMEP_FAILED or RMEP_OK state.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:c"
    ::= { cfmMepDbEntry 3 }

cfmMepDbMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The MAC address of the remote MEP."
    REFERENCE
       "802.1ag clause 12.14.7.6.3:d and 20.19.7"
    ::= { cfmMepDbEntry 4 }

cfmMepDbRdi OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
       "State of the RDI bit in the last received CCM (true for
        RDI=1), or false if none has been received.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:e and 20.19.2"
    ::= { cfmMepDbEntry 5 }

cfmMepDbPortStatusTlv OBJECT-TYPE
    SYNTAX      CfmPortStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Port status TLV received in the
        last CCM from the remote MEP or the default value
        psNoPortStateTLV indicating either no CCM has been received,
        or that nor port status TLV was received in the last CCM.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:f and 20.19.3"
    DEFVAL { psNoPortStateTLV }
    ::= { cfmMepDbEntry 6}
   
cfmMepDbInterfaceStatusTlv OBJECT-TYPE
    SYNTAX      CfmInterfaceStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Interface status TLV received
        in the last CCM from the remote MEP or the default value
        isNoInterfaceStatus TLV indicating either no CCM has been
        received, or that no interface status TLV was received in
        the last CCM.
       "
    REFERENCE
       "802.1ag clause 12.14.7.6.3:g and 20.19.4"
    DEFVAL { isNoInterfaceStatusTLV }
    ::= { cfmMepDbEntry 7}

cfmMepDbLastCCMSerialNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the last CCM receive packet number.
       "
    ::= { cfmMepDbEntry 8 }
    
cfmMepDbRMepFailedOkTimePoint OBJECT-TYPE
    SYNTAX       DisplayString(SIZE(0..32))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
       "The time (System time) at which the IFF Remote MEP state machine
        last entered either the RMEP_FAILED or RMEP_OK state.
       "
    ::= { cfmMepDbEntry 9 }    
    
-- ----------------------------------------------------------------------------  
-- The MEP Database Table - End
-- ----------------------------------------------------------------------------  

-- -------------------------------------
-- cfmMipCcmDbTable - Start
-- -------------------------------------
      cfmMipCcmDbTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CfmMipCcmDbEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
       "It is a list of every distinct {FID, source_address, 
        IfIndex} triple from all of the CCMs presented
        to all of the Bridge.s MPs. Continuity Check Receivers
        since the Bridge was last reset. Entries in the MIP CCM
        Database are timed out very slowly, on the order of one day,
        so that their information is available for fault isolation long 
        after the information is no longer used for frame forwarding."
        
        ::= { companyCFMGroup 11 }

       cfmMipCcmDbEntry OBJECT-TYPE
         SYNTAX       CfmMipCcmDbEntry
         MAX-ACCESS   not-accessible
         STATUS       current
         DESCRIPTION
           "The MIP CCM DB table entry"
         INDEX {  cfmMipCcmFid, cfmMipCcmSrcAddr }
          ::= { cfmMipCcmDbTable 1 }

       CfmMipCcmDbEntry ::= SEQUENCE {
              cfmMipCcmFid             Unsigned32,
              cfmMipCcmSrcAddr         MacAddress,
              cfmMipCcmMAName    CfmMaintAssocName,
              cfmMipCcmIfIndex         InterfaceIndex
                }

         cfmMipCcmFid OBJECT-TYPE
         SYNTAX        Unsigned32 (1..4094)
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
        "The Filtering database id (FID) is the VLAN ID of MEP from which
         CCM is recieved, that will be used along with source MacAddress for
         frame forwarding."
        ::= { cfmMipCcmDbEntry 1 }
         
         cfmMipCcmSrcAddr OBJECT-TYPE
         SYNTAX        MacAddress
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
          "Mac Address of the MEP from which CCM is recieved."
        ::= { cfmMipCcmDbEntry 2 }
 
        cfmMipCcmMAName OBJECT-TYPE
        SYNTAX      CfmMaintAssocName
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Short Maintenance Association name.
        "
          ::= { cfmMipCcmDbEntry 3 }
          
         cfmMipCcmIfIndex  OBJECT-TYPE
         SYNTAX        InterfaceIndex
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
          " Index of interface through which CCM is recieved."
        ::= { cfmMipCcmDbEntry 4 }

-- -------------------------------------
-- cfmMipCcmDbTable - End
-- -------------------------------------


-- ----------------------------------------------------------------------------
-- ECFM Per Context Statistics Table - Start
-- ----------------------------------------------------------------------------

cfmStatsTable       OBJECT IDENTIFIER ::= { companyCFMGroup 12 }

cfmTxCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs transmitted."
        ::= { cfmStatsTable 1 }

cfmTxCcmCount OBJECT-TYPE 
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CCMs transmitted."
        ::= { cfmStatsTable 2 }

cfmTxLbmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBMs transmitted."
        ::= { cfmStatsTable 3 }

cfmTxLbrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBRs transmitted."
        ::= { cfmStatsTable 4 }

cfmTxLtmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTMs transmitted."
        ::= { cfmStatsTable 5 }

cfmTxLtrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTRs transmitted."
        ::= { cfmStatsTable 6 }

cfmTxFailedCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDU tranmission failed."
        ::= { cfmStatsTable 7 }

cfmRxCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs received."
        ::= { cfmStatsTable 8 }

cfmRxCcmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CCMs received."
        ::= { cfmStatsTable 9 }

cfmRxLbmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBMs received."
        ::= { cfmStatsTable 10 }

cfmRxLbrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBRs received."
        ::= { cfmStatsTable 11 }

cfmRxLtmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTMs received."
        ::= { cfmStatsTable 12 }

cfmRxLtrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTRs received."
        ::= { cfmStatsTable 13 }

cfmRxBadCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of Bad CFM-PDUs received."
        ::= { cfmStatsTable 14 }

cfmFrwdCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs forwarded."
        ::= { cfmStatsTable 15 }

cfmDsrdCfmPduCount OBJECT-TYPE 
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs discarded."
        ::= { cfmStatsTable 16 }

-- ----------------------------------------------------------------------------
-- ECFM Per Context Statistics Table - End
-- ----------------------------------------------------------------------------
  
-- ----------------------------------------------------------------------------  
-- cfmPortTable - Start
-- ----------------------------------------------------------------------------  
cfmPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CfmPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Port Table"
    REFERENCE
       "802.1ag clauses 12.14.2"
    ::= { companyCFMGroup 13}

cfmPortEntry OBJECT-TYPE
    SYNTAX      CfmPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       " List of Port related Parameters for ecfm module."
    INDEX { cfmPortIfIndex }
    ::= { cfmPortTable 1 }

CfmPortEntry ::= SEQUENCE {
      cfmPortIfIndex           InterfaceIndex,
      cfmPortLLCEncapStatus    TruthValue,
      cfmPortModuleStatus      INTEGER,    
      cfmPortTxCfmPduCount     Unsigned32,
      cfmPortTxCcmCount        Unsigned32,
      cfmPortTxLbmCount        Unsigned32,
      cfmPortTxLbrCount        Unsigned32,
      cfmPortTxLtmCount        Unsigned32,
      cfmPortTxLtrCount        Unsigned32,
      cfmPortTxFailedCount     Unsigned32,
      cfmPortRxCfmPduCount     Unsigned32,
      cfmPortRxCcmCount        Unsigned32,
      cfmPortRxLbmCount        Unsigned32,
      cfmPortRxLbrCount        Unsigned32,
      cfmPortRxLtmCount        Unsigned32,
      cfmPortRxLtrCount        Unsigned32,
      cfmPortRxBadCfmPduCount  Unsigned32,
      cfmPortFrwdCfmPduCount   Unsigned32,
      cfmPortDsrdCfmPduCount   Unsigned32,
      cfmPortMacAddress           MacAddress
     }
cfmPortIfIndex OBJECT-TYPE
  SYNTAX        InterfaceIndex
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION
      "Interface Index of the Bridge port."
  ::= { cfmPortEntry 1 }

cfmPortLLCEncapStatus OBJECT-TYPE
  SYNTAX      TruthValue               
  MAX-ACCESS  read-write           
   STATUS      current
   DESCRIPTION
      "Indicates the LLC encapsulation status. 
       If set to true then LLC SNAP header shall be added to the
       transmitted CFM PDUs. Otherwise, LLC SNAP header shall not
       be added."
   DEFVAL { false }
   ::= { cfmPortEntry 2 }

cfmPortModuleStatus OBJECT-TYPE
   SYNTAX      INTEGER { enabled(1), disabled(2) } 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative module status of Ethernet CFM module.
       This enables or disables ECFM in the system.
       If set to enable, enables the ECFM for a
       particular port. Otherwise, disables  ECFM for a particular
       port."
   DEFVAL { disabled }
   ::= { cfmPortEntry 3 }

cfmPortTxCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs transmitted."
        ::= { cfmPortEntry 4 }

cfmPortTxCcmCount OBJECT-TYPE 
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CCMs transmitted"
        ::= { cfmPortEntry 5 }

cfmPortTxLbmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBMs transmitted"
        ::= { cfmPortEntry 6 }

cfmPortTxLbrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBRs transmitted"
        ::= { cfmPortEntry 7 }

cfmPortTxLtmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTMs transmitted"
        ::= { cfmPortEntry 8 }

cfmPortTxLtrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTRs transmitted"
        ::= { cfmPortEntry 9 }

cfmPortTxFailedCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDU tranmission failed"
        ::= { cfmPortEntry 10 }

cfmPortRxCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs received"
        ::= { cfmPortEntry 11 }

cfmPortRxCcmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CCMs received"
        ::= { cfmPortEntry 12 }

cfmPortRxLbmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBMs received"
        ::= { cfmPortEntry 13 }

cfmPortRxLbrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LBRs received"
        ::= { cfmPortEntry 14 }

cfmPortRxLtmCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTMs received"
        ::= { cfmPortEntry 15 }

cfmPortRxLtrCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of LTRs received"
        ::= { cfmPortEntry 16 }

cfmPortRxBadCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of Bad CFM-PDUs received"
        ::= { cfmPortEntry 17 }

cfmPortFrwdCfmPduCount OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs forwarded"
        ::= { cfmPortEntry 18 }

cfmPortDsrdCfmPduCount OBJECT-TYPE 
         SYNTAX        Unsigned32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "Identifies the number of CFM-PDUs discarded"
        ::= { cfmPortEntry 19 }

cfmPortMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Identifies the mac address of port."
        ::= { cfmPortEntry 20 }
        
-- ----------------------------------------------------------------------------  
-- cfmPortTable - End
-- ----------------------------------------------------------------------------  

-- -------------------------------------
-- cfmMipTable - Start
-- -------------------------------------
       cfmMipTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CfmMipEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
       "The Maintenance Intermediate Point (MIP) table.

        Each row in the table represents a different MIP. 
        A MIP consists two MIP Half Functions (MHFs) on a 
        single Bridge Port, an Up MHF and a Down MHF."
        
        ::= { companyCFMGroup 14 }

       cfmMipEntry OBJECT-TYPE
         SYNTAX       CfmMipEntry
         MAX-ACCESS   not-accessible
         STATUS       current
         DESCRIPTION
           "The MIP table entry"
         INDEX { cfmMipIfIndex,
                 cfmMipMdLevel,
                 cfmMipVid
               }
          ::= { cfmMipTable 1 }

       CfmMipEntry ::=
       SEQUENCE {
              cfmMipIfIndex   InterfaceIndex,
              cfmMipMdLevel   Integer32 ,
              cfmMipVid       VlanId,     
              cfmMipActive    TruthValue,     
              cfmMipRowStatus RowStatus     
             }
         cfmMipIfIndex OBJECT-TYPE
         SYNTAX        InterfaceIndex
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
         "This object is the interface index of the interface either a
          bridge port, or an aggregated IEEE 802.1 link within a bridge
          port, to which the MIP is attached."
        ::= { cfmMipEntry 1 }
         
         cfmMipMdLevel OBJECT-TYPE
         SYNTAX        Integer32 (0..7)
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
          "The Maintenance Domain Level at which MIP is configured."
        ::= { cfmMipEntry 2 }
         
         cfmMipVid  OBJECT-TYPE
         SYNTAX        VlanId
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
          " Vlan Identifier to which MIP is attached."
        ::= { cfmMipEntry 3 }
         
         cfmMipActive  OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
         "Administrative state of the MIP

         A Boolean indicating the administrative state of the MIP.

         True indicates that the MIP is to function normally, and
         false that it is to cease functioning."

        ::= { cfmMipEntry 4 }
        
        cfmMipRowStatus  OBJECT-TYPE
         SYNTAX        RowStatus
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
         "The status of the row.

         The writable columns in a row can not be changed if the row
         is active. All columns must have a valid value before a row
         can be activated.
        "

        ::= { cfmMipEntry 5 }
 
 
-- -------------------------------------
-- cfmMipTable - End
-- -------------------------------------
-- -------------------------------------
-- cfmLtmTable - Start
-- -------------------------------------

       cfmLtmTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CfmLtmEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
       "This table contains a list of parameters with which the linktrace
       messages were transmitted/initiated by MEP"

        ::= { companyCFMGroup 15 }

       cfmLtmEntry OBJECT-TYPE
         SYNTAX       CfmLtmEntry
         MAX-ACCESS   not-accessible
         STATUS       current
         DESCRIPTION
           "The Linktrace Message table entry."
           
         INDEX { 
                 cfmMdIndex, 
                 cfmMaIndex, 
                 cfmMepIdentifier,
                 cfmLtmSeqNumber
               }
          ::= { cfmLtmTable 1 }

       CfmLtmEntry ::=
       SEQUENCE {
              cfmLtmSeqNumber Unsigned32,
              cfmLtmTargetMacAddress MacAddress,
              cfmLtmTtl Unsigned32,
              cfmLtmStartTime DisplayString
             }

       cfmLtmSeqNumber OBJECT-TYPE
       SYNTAX      Unsigned32 (0..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
         "Transaction identifier/Sequence number returned by a previous
          transmit linktrace message command, indicating which LTM's
          response is going to be returned.
         "
         ::= { cfmLtmEntry 1}

       cfmLtmTargetMacAddress OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Target MAC Address of MP for which LTM has been initiated :
          A unicast destination MAC address.
          "
        ::= { cfmLtmEntry 2 }

       cfmLtmTtl OBJECT-TYPE
       SYNTAX      Unsigned32 (0..255)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The LTM TTL field, with which LTM has been initiated.
           The TTL field indicates the number of hops expected to be covered
           by the LTM, decremented by 1 by each Linktrace Responder that 
           handles the LTM. The value received in the LTM is returned
           in the LTR.  
           "
        ::= { cfmLtmEntry 3 }

        cfmLtmStartTime OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
           "This object indicates the link trace start time.
           "
        ::= { cfmLtmEntry 4 }    
-- -------------------------------------
-- cfmLtmTable - End
-- -------------------------------------

-- -----------------------------------------------------------------------------
-- cfmNotify - Start
-- -----------------------------------------------------------------------------	
    cfmNotify		        OBJECT IDENTIFIER ::= { companyCFMGroup 16 }
	cfmNotifyPrefix		OBJECT IDENTIFIER ::= { cfmNotify 0 }

	cfmAISOccurred	NOTIFICATION-TYPE
        OBJECTS	  {
					cfmMdIndex,
					cfmMaIndex,
					cfmMepIdentifier	}
        STATUS  	current
        DESCRIPTION
            "A notification is generated when local MEP enters AIS status."
        ::= { cfmNotifyPrefix 1 }
        
    cfmAISCleared	NOTIFICATION-TYPE
        OBJECTS	  {
					cfmMdIndex,
					cfmMaIndex,
					cfmMepIdentifier	}
        STATUS  	current
        DESCRIPTION
            "A notification is generated when local MEP exits AIS status."
        ::= { cfmNotifyPrefix 2 }
        
	 cfmLockOccurred	NOTIFICATION-TYPE
        OBJECTS	  {
					cfmMdIndex,
					cfmMaIndex,
					cfmMepIdentifier	}
        STATUS  	current
        DESCRIPTION
            "A notification is generated when local MEP enters lock status."
        ::= { cfmNotifyPrefix 3 }
        
    cfmLockCleared	NOTIFICATION-TYPE
        OBJECTS	  {
					cfmMdIndex,
					cfmMaIndex,
					cfmMepIdentifier	}
        STATUS  	current
        DESCRIPTION
            "A notification is generated when local MEP exits lock status."
        ::= { cfmNotifyPrefix 4 }    

    cfmFaultAlarm NOTIFICATION-TYPE
        OBJECTS     { 
                    cfmMepHighestPrDefect }
        STATUS      current
        DESCRIPTION
       "A MEP has a persistent defect condition. A notification
        (fault alarm) is sent to the management entity with the OID
        of the MEP that has detected the fault.

        Whenever a MEP has a persistent defect,
        it may or may not generate a Fault Alarm to warn the system
        administrator of the problem, as controlled by the MEP
        Fault Notification Generator State Machine and associated
        Managed Objects. Only the highest-priority defect, as shown
        in Table 20-1, is reported in the Fault Alarm.

        If a defect with a higher priority is raised after a Fault
        Alarm has been issued, another Fault Alarm is issued.

        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the MEP reporting the defect
        by the indices in the OID of the dot1agCfmMepHighestPrDefect
        variable in the notification:

           dot1agCfmMdIndex - Also the index of the MEP's
                              Maintenance Domain table entry
                              (dot1agCfmMdTable).
           dot1agCfmMaIndex - Also an index (with the MD table index)
                              of the MEP's Maintenance Association
                              network table entry
                              (dot1agCfmMaNetTable), and (with the MD
                              table index and component ID) of the
                              MEP's MA component table entry
                              (dot1agCfmMaCompTable).
           dot1agCfmMepIdentifier - MEP Identifier and final index
                              into the MEP table (dot1agCfmMepTable).
       "
    ::= { cfmNotifyPrefix 5 }
    
-- -----------------------------------------------------------------------------
-- cfmNotify - End 
-- -----------------------------------------------------------------------------	

-- ----------------------------------------------------------
-- The companyLedPanel Groups
-- ----------------------------------------------------------      	
   swLedPanelstate                  OBJECT IDENTIFIER ::= { companyswLedPanel 1 }

	swLedInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwLedInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the LED information."
        ::= { swLedPanelstate 1 }
        
	swLedInfoEntry OBJECT-TYPE
        SYNTAX  SwLedInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of front panel LED information for each unit in the system."
        INDEX  { swLedInfoUnitId }
        ::= { swLedInfoTable 1 }
        
	SwLedInfoEntry ::=
        SEQUENCE {
				swLedInfoUnitId
					INTEGER,
				swLedInfoFrontPanelLedStatus					
					OCTET STRING
		}

	swLedInfoUnitId OBJECT-TYPE
        SYNTAX  INTEGER (1..2)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The object indicates the unit ID."
        ::= { swLedInfoEntry 1 }
        
	swLedInfoFrontPanelLedStatus OBJECT-TYPE
        SYNTAX  OCTET STRING 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
				"This object is a set of system LED indicators. The first 32 octets are 
				defined as next, and following octets are for logical port LED.
				
				Octet 1 is console LED:
						0x01 = a user is login through console
						0x02 = no user is login through console

				Octet 2 is RPS LED:
						0x00 = RPS not support 
						0x01 = RPS power on
						0x02 = RPS power off

				Octet 3-32 are reserved."
        ::= { swLedInfoEntry 2 }
	statisticsClearPortList OBJECT-TYPE
			SYNTAX      PortList
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
            "This object allow the user to set the port list for Statistics."
			::= { companyStatistics 1 }
		
    statisticsClear OBJECT-TYPE 
			SYNTAX      TruthValue 
			MAX-ACCESS  read-write 
			STATUS      current 
			DESCRIPTION 
			"This object allows the user to clear Statistics entry.
			Setting  a value of 'true' causes the Statistics entry to 
			be cleared."
			DEFVAL  { false }
           ::= { companyStatistics 2 }

        privateVlanMgmt 		OBJECT IDENTIFIER ::= { companyPrivateVLAN 3 }

    privateVlanTrunkPromiscuousPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Used to configure the private VLAN trunk promiscuous ports."
           ::= { companyPrivateVLAN 1 }
           
    privateVlanTrunkSecondaryPortList OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Used to configure the private VLAN trunk secondary ports."
           ::= { companyPrivateVLAN 2 }
-- -----------------------------------------------------------------------------
-- privateVlanMgmt
-- -----------------------------------------------------------------------------

	privateVlanTable OBJECT-TYPE
            SYNTAX SEQUENCE OF PrivateVlanEntry
	    MAX-ACCESS not-accessible
            STATUS current
	    DESCRIPTION
	        "A table containing current private VLAN information."

	    ::= { privateVlanMgmt 1 }

	privateVlanEntry OBJECT-TYPE
	    SYNTAX PrivateVlanEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "The management information of a private VLAN domain."
	    INDEX { privateVlanId }

	    ::= { privateVlanTable 1 }

	PrivateVlanEntry ::=
	    SEQUENCE {
	    	privateVlanId
            Integer32,
	        privateVlanName
            SnmpAdminString,
	        privateVlanPromiscuousPorts
            PortList,
            privateVlanRowStatus
            RowStatus
	    }

    	privateVlanId OBJECT-TYPE
        	SYNTAX  Integer32 (1..4094)
        	MAX-ACCESS  read-only
        	STATUS  current
        	DESCRIPTION
            		"The VLAN-ID referring to the private VLAN of the private VLAN domain. 
            		A private VLAN is the unique and common VLAN identifier of the whole 
            		private VLAN domain. Every port in a private VLAN is a member of the 
            		private VLAN. The IP subnet of the private VLAN shall be associated with the 
            		private VLAN. Only the private VLAN is visible outside of the domain."
        	::= { privateVlanEntry 1 }

    	privateVlanName OBJECT-TYPE
        	SYNTAX  SnmpAdminString (SIZE (0..20))
        	MAX-ACCESS  read-create
        	STATUS  current
        	DESCRIPTION
            		"An administratively assigned string which may be used
			to identify the private VLAN."
        	::= { privateVlanEntry 2 }
        	
        privateVlanPromiscuousPorts OBJECT-TYPE
	    	SYNTAX      PortList
	    	MAX-ACCESS  read-write
	    	STATUS      current
	    	DESCRIPTION
	        	"The promiscuous port has the ability to communicate with any 
	        	port within the private VLAN. A promiscuous port is
	        	an untagged member of the private VLAN."
	    	::= { privateVlanEntry 3 }
	    
	privateVlanRowStatus	OBJECT-TYPE
	    	SYNTAX      RowStatus
	    	MAX-ACCESS  read-create
	    	STATUS      current
	    	DESCRIPTION
	        	"This object indicates the status of this entry."
	    	::= { privateVlanEntry 4 }

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

	secondaryVlanTable OBJECT-TYPE
		SYNTAX SEQUENCE OF SecondaryVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
	    DESCRIPTION
	        "A table containing current secondary VLAN information."

	    ::= { privateVlanMgmt 2 }

	secondaryVlanEntry OBJECT-TYPE
	    SYNTAX SecondaryVlanEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "The management information of a secondary VLAN of a private VLAN domain."
	    INDEX { privateVlanId,
	    	secondaryVlanId }

	    ::= { secondaryVlanTable 1 }

	SecondaryVlanEntry ::=
	    SEQUENCE {
	    	secondaryVlanId  Integer32,
            secondaryVlanType  INTEGER,
	        secondaryVlanPorts  PortList,  	           				
            secondaryVlanRowStatus  RowStatus
	    }

    	secondaryVlanId OBJECT-TYPE
        	SYNTAX  Integer32 (1..4094)
        	MAX-ACCESS  read-only
        	STATUS  current
        	DESCRIPTION
            		"The VLAN-ID referring to this SecondaryVLANEntry."
        	::= { secondaryVlanEntry 1 }
	    
        secondaryVlanType OBJECT-TYPE
	    	SYNTAX      INTEGER { isolated(1), community(2) }
	    	MAX-ACCESS  read-create
	    	STATUS      current
	    	DESCRIPTION
	        	"An isolated VLAN is a secondary VLAN whose distinctive 
	        	characteristic is that all hosts connected to its ports are isolated at Layer 2. 
	        	A private VLAN has only one isolated VLAN. If the privateVlanIsolatedVlanIndex 
	        	has a value of zero, this indicates there are no associated isolated VLANs in the private
	            	VLAN domain. Otherwise, it is the associated isolated VLAN ID.
	            	
	            	A community VLAN is a secondary VLAN that is associated with a 
	            	group of ports that connects to a certain 'community' of end devices with mutual
	        	trust relationships. There can be multiple distinct community VLANs in a 
	        	private VLAN domain."
	    	::= { secondaryVlanEntry 2 }	
	    		    
        secondaryVlanPorts OBJECT-TYPE
	    	SYNTAX      PortList
	    	MAX-ACCESS  read-write
	    	STATUS      current
	    	DESCRIPTION
	        	"If SecondaryVlanType is isolated, the ports in the isolated VLAN of the private VLAN have complete Layer 2 separation from other ports within the same private 
	        	VLAN, except for the promiscuous and trunk ports.
	        	
	        	If SecondaryVlanType is community, the ports can communicate with other ports 
	        	in the same Secondary VLAN and with promiscuous ports."
	    	::= { secondaryVlanEntry 3 }	

	secondaryVlanRowStatus	OBJECT-TYPE
	    	SYNTAX      RowStatus
	    	MAX-ACCESS  read-create
	    	STATUS      current
	    	DESCRIPTION
	        	"This object indicates the status of this entry."
	    	::= { secondaryVlanEntry 4 }

                      
    -- ------------------------------------------------------------------ 
    -- companysFlow
    -- ------------------------------------------------------------------
    
      sFlowAgent OBJECT IDENTIFIER ::= { companysFlow 1 }

      SFlowReceiver ::= TEXTUAL-CONVENTION
              STATUS       current
              DESCRIPTION
                "Identify the sFlow receiver associated with this resource.

                 A value of zero indicates that this resource is available.
                 If non-zero the value must correspond to a valid, active 
                 sFlowRcvrIndex.

                 If the value is currently zero it may be set to any
                 active entry in the sFlowRcvrTable. If the value is
                 not zero then a set to anything other than zero or
                 its current value will result in an SNMP error (bad value).

                 Setting to zero frees the resource and returns all the
                 values in this entry to their default values.

                 If an entry in the sFlowRcvrTable expires, either
                 because the sFlowRcvrOwner is set to the empty
                 string or because the sFlowRcvrTimeout reaches zero, then
                 the agent must mark all associated resources as available
                 (by setting the associated sFlowReceiver entry to zero)
                 and all values in these records must be restored to their
                 default values.

                 This mechanism provides no enforcement and relies on the
                 cooperation of management entities in order to ensure that
                 competition for a resource is fairly resolved. A management
                 entity should not make any changes to a resource
                 without first aquiring it by successfully writing its
                 sFlowRcvrIndex value as the sFlowReceiver for the resource."
              SYNTAX       Integer32
      --
      -- add to controle the disable/enable for sFlow function
      --       
      sFlowAdminStatus OBJECT-TYPE 
  			SYNTAX     INTEGER {
           				 disable(2),
           				 enable(1)
         				 }
  			MAX-ACCESS read-write 
  			STATUS     current 
  			DESCRIPTION 
   				"This object is to set enable status of sFlow function."
  			DEFVAL { 2 }  
	  		::= { sFlowAgent 1 }   
	  		
      sFlowVersion OBJECT-TYPE
              SYNTAX      SnmpAdminString
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "Uniquely identifies the version and implementation of this MIB.
                 The version string must have the following structure:
                    <MIB Version>;<Organization>;<Software Revision>
                 where:
                    <MIB Version>  must be '1.3', the version of this MIB.
                    <Organization> the name of the organization responsible
                                     for the agent implementation.
                    <Revision>     the specific software build of this agent.

                 As an example, the string '1.3;InMon Corp.;2.1.1' indicates
                 that this agent implements version '1.2' of the sFlow MIB, that
                 it was developed by 'InMon Corp.' and that the software build
                 is '2.1.1'.

                 The MIB Version will change with each revision of the sFlow
                 MIB.

                 Management entities must check the MIB Version and not attempt
                 to manage agents with MIB Versions greater than that for which
                 they were designed.

                 Note: The sFlow Datagram Format has an independent version
                       number which may change independently from <MIB Version>.
                       <MIB Version> applies to the structure and semantics of
                       the sFlow MIB only."
              DEFVAL { "1.3;;" }
              ::= { sFlowAgent 2 }

      sFlowAgentAddressType OBJECT-TYPE
              SYNTAX      InetAddressType
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "The address type of the address associated with this agent.
                 Only ipv4 and ipv6 types are supported."
              ::= { sFlowAgent 3 }

      sFlowAgentAddress OBJECT-TYPE
              SYNTAX      InetAddress
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "The IP address associated with this agent. In the case of a
                 multi-homed agent, this should be the loopback address of the
                 agent. The sFlowAgent address must provide SNMP connectivity
                 to the agent. The address should be an invariant that does not
                 change as interfaces are reconfigured, enabled, disabled,
                 added or removed. A manager should be able to use the 
                 sFlowAgentAddress as a unique key that will identify this
                 agent over extended periods of time so that a history can
                 be maintained."
             ::= { sFlowAgent 4 }             

      -- 
      -- Receiver Table
      --

      sFlowRcvrTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF SFlowRcvrEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table of the receivers of sFlow information."
              ::= { sFlowAgent 5 }

      sFlowRcvrEntry OBJECT-TYPE
              SYNTAX      SFlowRcvrEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of an sFlow Receiver."
              INDEX { sFlowRcvrIndex }
              ::= { sFlowRcvrTable 1 }

      SFlowRcvrEntry ::= SEQUENCE {
              sFlowRcvrIndex                    Integer32,
              sFlowRcvrOwner                    OwnerString,
              sFlowRcvrTimeout                  Integer32,
              sFlowRcvrMaximumDatagramSize      Integer32,
              sFlowRcvrAddressType              InetAddressType,
              sFlowRcvrAddress                  InetAddress,
              sFlowRcvrPort                     Integer32,
              sFlowRcvrRowStatus				RowStatus
      }

      sFlowRcvrIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Index into sFlowReceiverTable."
              ::= { sFlowRcvrEntry 1 }

      sFlowRcvrOwner OBJECT-TYPE
              SYNTAX      OwnerString
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The entity making use of this sFlowRcvrTable entry. The empty
                 string indicates that the entry is currently unclaimed.
                 An entity wishing to claim an sFlowRcvrTable entry must ensure
                 that the entry is unclaimed before trying to claim it.
                 The entry is claimed by setting the owner string. The entry
                 must be claimed before any changes can be made to other sampler
                 objects.

                 In order to avoid a race condition, the entity taking control
                 of the sampler must set both the owner and a value for
                 sFlowRcvrTimeout in the same SNMP set request.

                 When a management entity is finished using the sampler,
                 it should set the value of sFlowRcvrOwner back to unclaimed. 
                 The agent must restore all other entities this row to their
                 default values when the owner is set to unclaimed. It must
                 also free all other resources associated with this 
                 sFlowRcvrTable entry.

                 This mechanism provides no enforcement and relies on the
                 cooperation of management entities in order to ensure that
                 competition for a receiver entry is fairly resolved."
              DEFVAL { "" }
              ::= { sFlowRcvrEntry 2 }

      sFlowRcvrTimeout OBJECT-TYPE
              SYNTAX      Integer32 (-1|0..2000000)
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The time (in seconds) remaining before the sampler is released
                 and stops sampling. When set, the owner establishes control
                 for the specified period. When read, the remaining time in the
                 interval is returned.

                 A management entity wanting to maintain control of the sampler
                 is responsible for setting a new value before the old one
                 expires.

                 When the interval expires, the agent is responsible for 
                 restoring all other entities in this row to their default 
                 values. It must also free all other resources associated with
                 this sFlowRcvrTable entry.

                 If the value is zero, indicates the stop sampling.                 
                 If the value is -1, the sampler's time-out interval never elapses."
              DEFVAL { 0 }
              ::= { sFlowRcvrEntry 3 } 

      sFlowRcvrMaximumDatagramSize OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                 "The maximum number of data bytes that can be sent in a single
                  sample datagram. The manager should set this value to avoid
                  fragmentation of the sFlow datagrams."
              DEFVAL { 1400 }
              ::= { sFlowRcvrEntry 4 }

      sFlowRcvrAddressType OBJECT-TYPE
              SYNTAX      InetAddressType
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The type of sFlowRcvrCollectorAddress."
              DEFVAL { ipv4 }
              ::= { sFlowRcvrEntry 5 }

      sFlowRcvrAddress OBJECT-TYPE
              SYNTAX      InetAddress
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The IP address of the sFlow collector.
                 If set to 0.0.0.0 not sFlow datagrams will be sent."
              DEFVAL { '00000000'h }  -- 0.0.0.0
              ::= { sFlowRcvrEntry 6 }

      sFlowRcvrPort OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The destination port for sFlow datagrams."
              DEFVAL { 6343 }
              ::= { sFlowRcvrEntry 7 }
                             
        sFlowRcvrRowStatus OBJECT-TYPE 
             SYNTAX      RowStatus 
             MAX-ACCESS  read-write 
             STATUS      current 
             DESCRIPTION  
                   " The activation of a row adds Rcvr entry. The destruction of a row 
                removes Rcvr entry" 
             ::= {sFlowRcvrEntry 8}
      -- 
      -- Flow Sampling Table
      --

      sFlowFsTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF SFlowFsEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table of the flow samplers within a device."
              ::= { sFlowAgent 6 }

      sFlowFsEntry OBJECT-TYPE
              SYNTAX      SFlowFsEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of a flow sampler."
              INDEX { sFlowFsDataSource }
              ::= { sFlowFsTable 1 }

      SFlowFsEntry ::= SEQUENCE {
              sFlowFsDataSource               Integer32,
              sFlowFsReceiver                 SFlowReceiver,
              sFlowFsPacketSamplingRxRate     Integer32,
              sFlowFsPacketSamplingTxRate     Integer32,
              sFlowFsMaximumHeaderSize        Integer32, 
              sFlowFsRowStatus				  RowStatus
      }

      sFlowFsDataSource OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "sFlowDataSource for this flow sampler."
              ::= { sFlowFsEntry 1 }

      sFlowFsReceiver OBJECT-TYPE
              SYNTAX      SFlowReceiver
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The sFlowReceiver for this flow sampler."
              DEFVAL { 0 }
              ::= { sFlowFsEntry 2 } 

      sFlowFsPacketSamplingRxRate OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The statistical sampling rate for Rx packet sampling from this
                 source. 

                 Set to N to sample 1/Nth of the packets in the monitored flows.
                 An agent should choose its own algorithm to introduce variance
                 into the sampling so that exactly every Nth packet is not
                 counted. A sampling rate of 1 counts all packets. A sampling
                 rate of 0 disables sampling.
                 
                 The agent is permitted to have minimum and maximum allowable
                 values for the sampling rate. A minimum rate lets the agent
                 designer set an upper bound on the overhead associated with
                 sampling, and a maximum rate may be the result of hardware
                 restrictions (such as counter size). In addition not all values
                 between the maximum and minimum may be realizable as the 
                 sampling rate (again because of implementation considerations).

                 When the sampling rate is set the agent is free to adjust the
                 value so that it lies between the maximum and minimum values
                 and has the closest achievable value.

                 When read, the agent must return the actual sampling rate it
                 will be using (after the adjustments previously described). The
                 sampling algorithm must converge so that over time the number
                 of packets sampled approaches 1/Nth of the total number of
                 packets in the monitored flows."
              DEFVAL { 0 }
              ::= { sFlowFsEntry 3 }

      sFlowFsPacketSamplingTxRate OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The statistical sampling rate for Tx packet sampling from this
                 source. 

                 Set to N to sample 1/Nth of the packets in the monitored flows.
                 An agent should choose its own algorithm to introduce variance
                 into the sampling so that exactly every Nth packet is not
                 counted. A sampling rate of 1 counts all packets. A sampling
                 rate of 0 disables sampling.
                 
                 The agent is permitted to have minimum and maximum allowable
                 values for the sampling rate. A minimum rate lets the agent
                 designer set an upper bound on the overhead associated with
                 sampling, and a maximum rate may be the result of hardware
                 restrictions (such as counter size). In addition not all values
                 between the maximum and minimum may be realizable as the 
                 sampling rate (again because of implementation considerations).

                 When the sampling rate is set the agent is free to adjust the
                 value so that it lies between the maximum and minimum values
                 and has the closest achievable value.

                 When read, the agent must return the actual sampling rate it
                 will be using (after the adjustments previously described). The
                 sampling algorithm must converge so that over time the number
                 of packets sampled approaches 1/Nth of the total number of
                 packets in the monitored flows."
              DEFVAL { 0 }
              ::= { sFlowFsEntry 4 }

      sFlowFsMaximumHeaderSize OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The maximum number of bytes that should be copied from a
                 sampled packet. The agent may have an internal maximum and
                 minimum permissible sizes. If an attempt is made to set this 
                 value outside the permissible range then the agent should 
                 adjust the value to the closest permissible value."
              DEFVAL { 128 }
              ::= { sFlowFsEntry 5 } 
              
       sFlowFsRowStatus OBJECT-TYPE
             SYNTAX      RowStatus 
             MAX-ACCESS  read-write 
             STATUS      current 
             DESCRIPTION  
                   " The activation of a row adds flow sampler entry. The destruction of a row 
                removes flow sampler entry" 
             ::= {sFlowFsEntry 6}
            --
      -- Counter Polling Table
      --
      

      sFlowCpTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF SFlowCpEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table of the counter pollers within a device."
              ::= { sFlowAgent 7 }

      sFlowCpEntry OBJECT-TYPE
              SYNTAX      	SFlowCpEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of a counter poller."
              INDEX { sFlowCpDataSource }
              ::= { sFlowCpTable 1 }

      SFlowCpEntry ::= SEQUENCE {
              sFlowCpDataSource               Integer32,
              sFlowCpReceiver                 SFlowReceiver,
              sFlowCpInterval                 Integer32,
              sFlowCpRowStatus                RowStatus  
      }

      sFlowCpDataSource OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Identifies the source of the data for the counter poller."
              ::= { sFlowCpEntry 1 }

      sFlowCpReceiver OBJECT-TYPE
              SYNTAX      SFlowReceiver
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The sFlowReciever associated with this counter poller."
              DEFVAL { 0 }
              ::= { sFlowCpEntry 2 }

      sFlowCpInterval OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The maximum number of seconds between successive samples of the
                 counters associated with this data source. A sampling interval 
                 of 0 disables counter sampling.

                 The agent is permitted to have minimum and maximum allowable
                 values for the counter polling interval. A minimum interval
                 lets the agent designer set an upper bound on the overhead
                 associated with polling, and a maximum interval may be the
                 result of implementation restrictions (such as counter size).
                 In addition not all values between the maximum and minimum may
                 be realizable as the sampling interval (again because of
                 implementation considerations).

                 When the sampling rate is set the agent is free to adjust the
                 value so that it lies between the maximum and minimum values
                 and has the closest achievable value.

                 When read, the agent must return the actual sampling interval
                 it will be using (after the adjustments previously described).
                 The sampling algorithm must converge so that over time the
                 number of packets sampled approaches 1/Nth of the total number
                 of packets in the monitored flows."
              DEFVAL { 0 }
              ::= { sFlowCpEntry 3 }
              
        sFlowCpRowStatus OBJECT-TYPE
             SYNTAX      RowStatus 
             MAX-ACCESS  read-write 
             STATUS      current 
             DESCRIPTION  
                   " The activation of a row adds counter poller entry. The destruction of a row 
                removes counter poller entry" 
  			DEFVAL { 2 }
 
             ::= {sFlowCpEntry 4}   
    -- ---------------------------------------------------------------------
    -- ErrPort Function
    -- ---------------------------------------------------------------------

    errPortTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ErrPortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "A table to display ports errors."
        ::= { companyErrPort 1}

    errPortEntry OBJECT-TYPE
        SYNTAX         ErrPortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "An entry appears in this table for each error."
        INDEX { errPortIndex }
        ::= { errPortTable 1}

    ErrPortEntry ::=
        SEQUENCE {
            errPortIndex
                INTEGER,
            errPortCRCErrorRX
                Integer32,
            errPortUndersizeRX
                Integer32,
            errPortOversizeRX
                Integer32,
            errPortFragmentRX
                Integer32,
            errPortJabberRX
                Integer32,
            errPortBufferFullDropRX
                Integer32,
            errPortVLANIngressDropRX
                Integer32,
            errPortSTPDropRX
                Integer32,
            errPortExcessiveDeferralTX
                Integer32,
            errPortCRCErrorTx
                Integer32,
            errPortLateCollisionTX
                Integer32,
            errPortExcessiveCollisionTX
                Integer32,
            errPortSingleCollisionTX
                Integer32,
            errPortBufferFullDropTX
                Integer32
        }

    errPortIndex OBJECT-TYPE
        SYNTAX         INTEGER (1..28)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "The interface index of the port for which the configuration
            in this entry applies.For all machines give maximum port number."
        ::= { errPortEntry 1 }

    errPortCRCErrorRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of CRC error in RX frames."
        ::= { errPortEntry 2 }

    errPortUndersizeRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the undersize of RX frames."
        ::= { errPortEntry 3 }

    errPortOversizeRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the oversize of RX frames."
        ::= { errPortEntry 4 }

    errPortFragmentRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of fragment packages of RX frames."
        ::= { errPortEntry 5 }

    errPortJabberRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the jabber of RX frames."
        ::= { errPortEntry 6 }

    errPortBufferFullDropRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of dropped packages due to
            buffer full in RX frames."
        ::= { errPortEntry 7 }

    errPortVLANIngressDropRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of dropped packages due to
            vlan ingression in RX frames."
        ::= { errPortEntry 8 }

    errPortSTPDropRX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of dropped packages due to
            port stp in RX frames."
        ::= { errPortEntry 9 }

    errPortExcessiveDeferralTX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the excessive deferral of TX frames."
        ::= { errPortEntry 10 }

    errPortCRCErrorTx OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of CRC error in TX frames."
        ::= { errPortEntry 11 }

    errPortLateCollisionTX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of late collision packages in TX frames."
        ::= { errPortEntry 12 }

    errPortExcessiveCollisionTX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of excessive collision packages in TX frames."
        ::= { errPortEntry 13 }

    errPortSingleCollisionTX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of single collision packages in TX frames."
        ::= { errPortEntry 14 }

    errPortBufferFullDropTX OBJECT-TYPE
        SYNTAX         Integer32 (1..2147483647)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "This object indicates the quantity of dropped packages due to
            buffer full in TX frames."
        ::= { errPortEntry 15 }

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